diff --git a/source/units/bipeds.c b/source/units/bipeds.c index 876603e0..b6476acb 100644 --- a/source/units/bipeds.c +++ b/source/units/bipeds.c @@ -277,6 +277,10 @@ symbols in this file: #include "structures/structure_bsp_definitions.h" #include "network_coop.h" /* port: port/linux/game/network_coop.c */ +/* port: port/linux/game/network_objects.c's (a client deletes the host's +objects on the host's word alone) */ +boolean network_objects_may_delete(long object_index); + /* port: an unarmed player's melee's length, in ticks (a weapon's is about this: its first person melee animation, sped up a quarter) */ #define UNARMED_MELEE_TICKS 16 @@ -830,9 +834,12 @@ static void biped_falling_damage( object_cause_damage(&damage, biped_index, NONE, NONE, NONE, NULL); } + /* (port: not the host's biped on a client, which the host erases: + the delete was refused, and logged as done) */ if (!game_engine_running() && TEST_FLAG(biped->object.flags, _object_outside_of_map_bit) && - player_index_from_unit_index(biped_index) == NONE) + player_index_from_unit_index(biped_index) == NONE && + network_objects_may_delete(biped_index)) { long actor_index = biped->unit.swarm_actor_index;