… | |
… | |
1331 | * Passing 0 for flag gives proper default values, so flag really only needs |
1331 | * Passing 0 for flag gives proper default values, so flag really only needs |
1332 | * to be set if special handling is needed. |
1332 | * to be set if special handling is needed. |
1333 | * |
1333 | * |
1334 | * Return value: |
1334 | * Return value: |
1335 | * new object if 'op' was merged with other object |
1335 | * new object if 'op' was merged with other object |
1336 | * NULL if 'op' was destroyed |
1336 | * NULL if there was an error (destroyed, blocked etc.) |
1337 | * just 'op' otherwise |
1337 | * just 'op' otherwise |
1338 | */ |
1338 | */ |
1339 | object * |
1339 | object * |
1340 | insert_ob_in_map (object *op, maptile *m, object *originator, int flag) |
1340 | insert_ob_in_map (object *op, maptile *m, object *originator, int flag) |
1341 | { |
1341 | { |
… | |
… | |
2693 | |
2693 | |
2694 | insert (force); |
2694 | insert (force); |
2695 | } |
2695 | } |
2696 | } |
2696 | } |
2697 | |
2697 | |
|
|
2698 | void object::change_move_type (MoveType mt) |
|
|
2699 | { |
|
|
2700 | if (move_type == mt) |
|
|
2701 | return; |
|
|
2702 | |
|
|
2703 | if (is_on_map ()) |
|
|
2704 | { |
|
|
2705 | // we are on the map, so handle move_on/off effects |
|
|
2706 | remove (); |
|
|
2707 | move_type = mt; |
|
|
2708 | map->insert (this, x, y, this); |
|
|
2709 | } |
|
|
2710 | else |
|
|
2711 | move_type = mt; |
|
|
2712 | } |
|
|
2713 | |