… | |
… | |
186 | bool object::can_merge_slow (object *ob1, object *ob2) |
186 | bool object::can_merge_slow (object *ob1, object *ob2) |
187 | { |
187 | { |
188 | /* A couple quicksanity checks */ |
188 | /* A couple quicksanity checks */ |
189 | if (ob1 == ob2 |
189 | if (ob1 == ob2 |
190 | || ob1->type != ob2->type |
190 | || ob1->type != ob2->type |
191 | || fabs (ob1->speed - ob2->speed) < MIN_ACTIVE_SPEED |
191 | || fabs (ob1->speed - ob2->speed) >= MIN_ACTIVE_SPEED |
192 | || ob1->value != ob2->value |
192 | || ob1->value != ob2->value |
193 | || ob1->name != ob2->name) |
193 | || ob1->name != ob2->name) |
194 | return 0; |
194 | return 0; |
195 | |
195 | |
196 | /* Do not merge objects if nrof would overflow, assume nrof |
196 | /* Do not merge objects if nrof would overflow, assume nrof |
… | |
… | |
230 | || ob1->move_block != ob2->move_block |
230 | || ob1->move_block != ob2->move_block |
231 | || ob1->move_allow != ob2->move_allow |
231 | || ob1->move_allow != ob2->move_allow |
232 | || ob1->move_on != ob2->move_on |
232 | || ob1->move_on != ob2->move_on |
233 | || ob1->move_off != ob2->move_off |
233 | || ob1->move_off != ob2->move_off |
234 | || ob1->move_slow != ob2->move_slow |
234 | || ob1->move_slow != ob2->move_slow |
235 | || fabs (ob1->move_slow_penalty - ob2->move_slow_penalty) < (1.f / 1024.f) |
235 | || fabs (ob1->move_slow_penalty - ob2->move_slow_penalty) >= (1.f / 1024.f) |
236 | || memcmp (&ob1->resist, &ob2->resist, sizeof (ob1->resist)) |
236 | || memcmp (&ob1->resist, &ob2->resist, sizeof (ob1->resist)) |
237 | || memcmp (&ob1->stats , &ob2->stats , sizeof (ob1->stats))) |
237 | || memcmp (&ob1->stats , &ob2->stats , sizeof (ob1->stats))) |
238 | return 0; |
238 | return 0; |
239 | |
239 | |
240 | if ((ob1->flag ^ ob2->flag) |
240 | if ((ob1->flag ^ ob2->flag) |