diff --git a/src/server/gamerules_multiplayer.qc b/src/server/gamerules_multiplayer.qc index 0d46859..f3ea17e 100644 --- a/src/server/gamerules_multiplayer.qc +++ b/src/server/gamerules_multiplayer.qc @@ -73,18 +73,8 @@ HLMultiplayerRules::PlayerDeath(base_player pl) if (pl.health < -50) { FX_GibHuman(pl.origin); } else { - /* Let's handle corpses on the clientside */ - entity corpse = spawn(); - setorigin(corpse, pl.origin + [0,0,32]); - setmodel(corpse, pl.model); - setsize(corpse, VEC_HULL_MIN, VEC_HULL_MAX); - corpse.movetype = MOVETYPE_TOSS; - corpse.solid = SOLID_TRIGGER; - corpse.modelindex = pl.modelindex; - corpse.frame = ANIM_DIESIMPLE; - corpse.angles = pl.angles; - corpse.velocity = pl.velocity; - corpse.colormap = pl.colormap; + NSRenderableEntity corpse = FX_Corpse_Spawn(pl); + corpse.SetFrame(ANIM_DIESIMPLE); } /* now let's make the real client invisible */ diff --git a/src/server/server.qc b/src/server/server.qc index dce1d5f..dead11c 100644 --- a/src/server/server.qc +++ b/src/server/server.qc @@ -35,4 +35,5 @@ Game_Worldspawn(void) precache_model("models/w_weaponbox.mdl"); Weapons_Init(); Player_Precache(); + FX_Corpse_Init(); } diff --git a/src/shared/include.src b/src/shared/include.src index e788976..68ee274 100644 --- a/src/shared/include.src +++ b/src/shared/include.src @@ -15,6 +15,7 @@ fx_breakmodel.qc fx_explosion.qc fx_gibhuman.qc ../../../base/src/shared/fx_spark.qc +../../../base/src/shared/fx_corpse.qc fx_impact.qc items.h