… | |
… | |
248 | * Improvements made with merge: Better checking on potion, and also |
248 | * Improvements made with merge: Better checking on potion, and also |
249 | * check weight |
249 | * check weight |
250 | */ |
250 | */ |
251 | bool object::can_merge_slow (object *ob1, object *ob2) |
251 | bool object::can_merge_slow (object *ob1, object *ob2) |
252 | { |
252 | { |
253 | /* A couple quicksanity checks */ |
253 | /* A couple quick sanity checks */ |
254 | if (ob1 == ob2 |
254 | if (ob1 == ob2 |
255 | || ob1->type != ob2->type |
255 | || ob1->type != ob2->type |
256 | || fabs (ob1->speed - ob2->speed) >= MIN_ACTIVE_SPEED |
|
|
257 | || ob1->value != ob2->value |
256 | || ob1->value != ob2->value |
258 | || ob1->name != ob2->name) |
257 | || ob1->name != ob2->name |
|
|
258 | || fabs (ob1->speed - ob2->speed) >= MIN_ACTIVE_SPEED) |
259 | return 0; |
259 | return 0; |
260 | |
260 | |
261 | /* Do not merge objects if nrof would overflow, assume nrof |
261 | /* Do not merge objects if nrof would overflow, assume nrof |
262 | * is always 0 .. 2**31-1 */ |
262 | * is always 0 .. 2**31-1 */ |
263 | if (ob1->nrof > 0x7fffffff - ob2->nrof) |
263 | if (ob1->nrof > 0x7fffffff - ob2->nrof) |
… | |
… | |
284 | || ob1->magic != ob2->magic |
284 | || ob1->magic != ob2->magic |
285 | || ob1->slaying != ob2->slaying |
285 | || ob1->slaying != ob2->slaying |
286 | || ob1->skill != ob2->skill |
286 | || ob1->skill != ob2->skill |
287 | || ob1->value != ob2->value |
287 | || ob1->value != ob2->value |
288 | || ob1->animation_id != ob2->animation_id |
288 | || ob1->animation_id != ob2->animation_id |
289 | || (ob1->face != ob2->face && !ob1->animation_id) // face and animation are dependent on each other |
289 | || (ob1->face != ob2->face && !ob1->animation_id) // face and animation are dependend on each other |
290 | || ob1->client_type != ob2->client_type |
290 | || ob1->client_type != ob2->client_type |
291 | || ob1->material != ob2->material |
291 | || ob1->material != ob2->material |
292 | || ob1->lore != ob2->lore |
292 | || ob1->lore != ob2->lore |
293 | || ob1->subtype != ob2->subtype |
293 | || ob1->subtype != ob2->subtype |
294 | || ob1->move_type != ob2->move_type |
294 | || ob1->move_type != ob2->move_type |