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,40 +6230,57 @@ removeBlockedAnims( array )
doPrintDamage(dmg, hitloc)
{
self endon( "disconnect" );
huddamage = newclienthudelem(self);
huddamage.alignx = "center";
huddamage.horzalign = "center";
huddamage.x = 10;
huddamage.y = 235;
huddamage.fontscale = 1.6;
huddamage.font = "objective";
huddamage setvalue(dmg);
huddamage.alignx = "center";
huddamage.horzalign = "center";
huddamage.x = 10;
huddamage.y = 235;
huddamage.fontscale = 1.6;
huddamage.font = "objective";
huddamage setvalue(dmg);
if (hitloc == "head")
huddamage.color = (1, 1, 0.25);
if ((flags & level.iDFLAGS_RADIUS) != 0)
huddamage.color = (0.25, 0.25, 0.25);
huddamage moveovertime(1);
huddamage fadeovertime(1);
huddamage.alpha = 0;
huddamage.x = randomIntRange(25, 70);
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;
huddamage.x = randomIntRange(25, 70);
val = 1;
if (cointoss())
val = -1;
huddamage.y = 235 + randomIntRange(25, 70) * val;
huddamage.y = 235 + randomIntRange(25, 70) * val;
wait 1;
wait 1;
huddamage destroy();
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 );