This commit is contained in:
ineedbots 2021-11-16 14:28:21 -06:00
parent 7f9f9d0eb6
commit d5cdb98ffb
2 changed files with 41 additions and 20 deletions

View File

@ -2,6 +2,8 @@ init()
{
level.clientid = 0;
level.allowPrintDamage = true;
level thread onPlayerConnect();
wait 1;
@ -20,5 +22,7 @@ onPlayerConnect()
player.clientid = level.clientid;
level.clientid++; // Is this safe? What if a server runs for a long time and many people join/leave
player.printDamage = true;
}
}

View File

@ -6230,6 +6230,8 @@ removeBlockedAnims( array )
doPrintDamage(dmg, hitloc)
{
self endon( "disconnect" );
huddamage = newclienthudelem(self);
huddamage.alignx = "center";
huddamage.horzalign = "center";
@ -6239,9 +6241,15 @@ doPrintDamage(dmg, hitloc)
huddamage.font = "objective";
huddamage setvalue(dmg);
if (hitloc == "head")
if ((flags & level.iDFLAGS_RADIUS) != 0)
huddamage.color = (0.25, 0.25, 0.25);
if ((flags & level.iDFLAGS_PENETRATION) != 0)
huddamage.color = (1, 1, 0.25);
if (hitloc == "head")
huddamage.color = (1, 0.25, 0.25);
huddamage moveovertime(1);
huddamage fadeovertime(1);
huddamage.alpha = 0;
@ -6255,15 +6263,24 @@ doPrintDamage(dmg, hitloc)
wait 1;
if ( isDefined( huddamage ) )
huddamage destroy();
}
finishPlayerDamageWrapper( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime )
{
if ( isDefined( eAttacker ) && isPlayer( eAttacker ) )
eAttacker thread doPrintDamage(iDamage, sHitLoc);
else if( isDefined( eAttacker.owner ) && isPlayer( eAttacker.owner ) )
eAttacker.owner thread doPrintDamage(iDamage, sHitLoc);
if( isDefined( level.allowPrintDamage ) && level.allowPrintDamage )
{
if ( !isDefined( eAttacker ) )
{
if ( !isDefined( eInflictor ) )
self thread doPrintDamage( iDamage, sHitLoc, iDFlags );
}
else if ( isPlayer( eAttacker ) && isDefined( eAttacker.printDamage ) && eAttacker.printDamage )
eAttacker thread doPrintDamage( iDamage, sHitLoc, iDFlags );
else if( isDefined( eAttacker.owner ) && isPlayer( eAttacker.owner ) && isDefined( eAttacker.owner.printDamage ) && eAttacker.owner.printDamage )
eAttacker.owner thread doPrintDamage( iDamage, sHitLoc, iDFlags );
}
self finishPlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime );