… | |
… | |
1136 | { |
1136 | { |
1137 | CLEAR_FLAG (this, FLAG_APPLIED); |
1137 | CLEAR_FLAG (this, FLAG_APPLIED); |
1138 | tmp->container = 0; |
1138 | tmp->container = 0; |
1139 | } |
1139 | } |
1140 | |
1140 | |
1141 | tmp->contr->socket->update_look = 1; |
1141 | tmp->contr->socket->floorbox_update (); |
1142 | } |
1142 | } |
1143 | |
1143 | |
1144 | /* See if player moving off should effect something */ |
1144 | /* See if player moving off should effect something */ |
1145 | if (check_walk_off |
1145 | if (check_walk_off |
1146 | && ((move_type & tmp->move_off) |
1146 | && ((move_type & tmp->move_off) |
1147 | && (move_type & ~tmp->move_off & ~tmp->move_block) == 0)) |
1147 | && (move_type & ~tmp->move_off & ~tmp->move_block) == 0)) |
1148 | { |
1148 | { |
1149 | move_apply (tmp, this, 0); |
1149 | move_apply (tmp, this, 0, false); |
1150 | |
1150 | |
1151 | if (destroyed ()) |
1151 | if (destroyed ()) |
1152 | LOG (llevError, "BUG: remove_ob(): name %s, destroyed leaving object\n", tmp->debug_desc ()); |
1152 | LOG (llevError, "BUG: remove_ob(): name %s, destroyed leaving object\n", tmp->debug_desc ()); |
1153 | } |
1153 | } |
1154 | |
1154 | |
… | |
… | |
1483 | * it, so save a few ticks and start from there. |
1483 | * it, so save a few ticks and start from there. |
1484 | */ |
1484 | */ |
1485 | if (!(flag & INS_MAP_LOAD)) |
1485 | if (!(flag & INS_MAP_LOAD)) |
1486 | for (tmp = floor ? floor : GET_MAP_OB (op->map, op->x, op->y); tmp != NULL; tmp = tmp->above) |
1486 | for (tmp = floor ? floor : GET_MAP_OB (op->map, op->x, op->y); tmp != NULL; tmp = tmp->above) |
1487 | if (tmp->type == PLAYER) |
1487 | if (tmp->type == PLAYER) |
1488 | tmp->contr->socket->update_look = 1; |
1488 | tmp->contr->socket->floorbox_update (); |
1489 | |
1489 | |
1490 | /* If this object glows, it may affect lighting conditions that are |
1490 | /* If this object glows, it may affect lighting conditions that are |
1491 | * visible to others on this map. But update_all_los is really |
1491 | * visible to others on this map. But update_all_los is really |
1492 | * an inefficient way to do this, as it means los for all players |
1492 | * an inefficient way to do this, as it means los for all players |
1493 | * on the map will get recalculated. The players could very well |
1493 | * on the map will get recalculated. The players could very well |
… | |
… | |
1501 | |
1501 | |
1502 | /* updates flags (blocked, alive, no magic, etc) for this map space */ |
1502 | /* updates flags (blocked, alive, no magic, etc) for this map space */ |
1503 | update_object (op, UP_OBJ_INSERT); |
1503 | update_object (op, UP_OBJ_INSERT); |
1504 | |
1504 | |
1505 | /* Don't know if moving this to the end will break anything. However, |
1505 | /* Don't know if moving this to the end will break anything. However, |
1506 | * we want to have update_look set above before calling this. |
1506 | * we want to have floorbox_update called before calling this. |
1507 | * |
1507 | * |
1508 | * check_move_on() must be after this because code called from |
1508 | * check_move_on() must be after this because code called from |
1509 | * check_move_on() depends on correct map flags (so functions like |
1509 | * check_move_on() depends on correct map flags (so functions like |
1510 | * blocked() and wall() work properly), and these flags are updated by |
1510 | * blocked() and wall() work properly), and these flags are updated by |
1511 | * update_object(). |
1511 | * update_object(). |
… | |
… | |
1918 | |
1918 | |
1919 | /* Basically same logic as above, except now for actual apply. */ |
1919 | /* Basically same logic as above, except now for actual apply. */ |
1920 | if ((!op->move_type && tmp->move_on & MOVE_WALK) || |
1920 | if ((!op->move_type && tmp->move_on & MOVE_WALK) || |
1921 | ((op->move_type & tmp->move_on) && (op->move_type & ~tmp->move_on & ~tmp->move_block) == 0)) |
1921 | ((op->move_type & tmp->move_on) && (op->move_type & ~tmp->move_on & ~tmp->move_block) == 0)) |
1922 | { |
1922 | { |
1923 | move_apply (tmp, op, originator); |
1923 | move_apply (tmp, op, originator, true); |
1924 | |
1924 | |
1925 | if (op->destroyed ()) |
1925 | if (op->destroyed ()) |
1926 | return 1; |
1926 | return 1; |
1927 | |
1927 | |
1928 | /* what the person/creature stepped onto has moved the object |
1928 | /* what the person/creature stepped onto has moved the object |