1 #using scripts\codescripts\struct;
3 #using scripts\shared\callbacks_shared;
4 #using scripts\shared\gameobjects_shared;
5 #using scripts\shared\system_shared;
6 #using scripts\shared\util_shared;
8 #insert scripts\shared\shared.gsh;
10 #using scripts\mp\gametypes\_globallogic_utils;
12 #precache( "objective", "headicon_dead" );
14 #namespace deathicons;
26 if ( !isdefined( level.ragdoll_override ) )
36 self.selfDeathIcons = [];
45 if ( !level.teambased )
48 iconOrg = entity.origin;
50 dyingplayer endon(
"spawned_player");
51 dyingplayer endon(
"disconnect");
56 assert(isdefined( level.teams[team] ));
57 assert(isdefined( level.teamIndex[team] ));
59 if ( GetDvarString(
"ui_hud_showdeathicons" ) ==
"0" )
62 if ( level.hardcoreMode )
66 objective_add( deathIconObjId,
"active", iconOrg, &
"headicon_dead" );
67 objective_team( deathIconObjId, team );
76 objective_state( deathIconObjId,
"done" );
80 objective_delete( deathIconObjId );
85 function ragdoll_override( iDamage, sMeansOfDeath, sWeapon, sHitLoc, vDir, vAttackerOrigin, deathAnimDuration, eInflictor, ragdoll_jib, body )
87 if ( sMeansOfDeath ==
"MOD_FALLING" &&
self IsOnGround() ==
true )
91 if ( !isDefined(
self.switching_teams ) )
92 thread
add( body,
self,
self.team, 5.0 );