Update FlagEscortFix.cs

This commit is contained in:
ChocoTaco 2020-02-29 15:45:07 -05:00
parent e1b047e1ac
commit 52ca4b60c1

View file

@ -1,48 +1,41 @@
package FlagEscortFix package FlagEscortFix
{ {
function CTFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc) function CTFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc){
{
parent::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc); parent::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc);
//if victim is carrying a flag and is not on the attackers team, mark the attacker as a threat for x seconds(for scoring purposes)
if ((%clVictim.player.holdingFlag !$= "") && (%clVictim.team != %clAttacker.team)) if ((%clVictim.player.holdingFlag !$= "") && (%clVictim.team != %clAttacker.team))
{ %clAttacker.dmgdFlagTime = getSimTime();
%clAttacker.dmgdFlagCarrier = true; }
cancel(%clAttacker.threatTimer); //restart timer function CTFGame::testEscortAssist(%game, %victimID, %killerID){
%clAttacker.threatTimer = schedule(%game.TIME_CONSIDERED_FLAGCARRIER_THREAT,0,"dmgFlagReset",%clAttacker); if((getSimTime() - %victimID.dmgdFlagTime) < %game.TIME_CONSIDERED_FLAGCARRIER_THREAT)
} return true;
return false;
} }
function SCtFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc) function SCtFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc){
{
parent::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc); parent::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc);
//if victim is carrying a flag and is not on the attackers team, mark the attacker as a threat for x seconds(for scoring purposes)
if ((%clVictim.player.holdingFlag !$= "") && (%clVictim.team != %clAttacker.team)) if ((%clVictim.player.holdingFlag !$= "") && (%clVictim.team != %clAttacker.team))
{ %clAttacker.dmgdFlagTime = getSimTime();
%clAttacker.dmgdFlagCarrier = true; }
cancel(%clAttacker.threatTimer); //restart timer function SCtFGame::testEscortAssist(%game, %victimID, %killerID){
%clAttacker.threatTimer = schedule(%game.TIME_CONSIDERED_FLAGCARRIER_THREAT,0,"dmgFlagReset",%clAttacker); if((getSimTime() - %victimID.dmgdFlagTime) < %game.TIME_CONSIDERED_FLAGCARRIER_THREAT)
} return true;
return false;
} }
function PracticeCTFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc) function PracticeCTFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc){
{
parent::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc); parent::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc);
//if victim is carrying a flag and is not on the attackers team, mark the attacker as a threat for x seconds(for scoring purposes)
if ((%clVictim.player.holdingFlag !$= "") && (%clVictim.team != %clAttacker.team)) if ((%clVictim.player.holdingFlag !$= "") && (%clVictim.team != %clAttacker.team))
{ %clAttacker.dmgdFlagTime = getSimTime();
%clAttacker.dmgdFlagCarrier = true; }
cancel(%clAttacker.threatTimer); //restart timer function PracticeCTFGame::testEscortAssist(%game, %victimID, %killerID){
%clAttacker.threatTimer = schedule(%game.TIME_CONSIDERED_FLAGCARRIER_THREAT,0,"dmgFlagReset",%clAttacker); if((getSimTime() - %victimID.dmgdFlagTime) < %game.TIME_CONSIDERED_FLAGCARRIER_THREAT)
} return true;
return false;
} }
}; };
function dmgFlagReset(%clAttacker){
%clAttacker.dmgdFlagCarrier = false;
}
// Prevent package from being activated if it is already // Prevent package from being activated if it is already
if (!isActivePackage(FlagEscortFix)) if (!isActivePackage(FlagEscortFix))
activatePackage(FlagEscortFix); activatePackage(FlagEscortFix);