onKilled OOB damage cancel

This commit is contained in:
ChocoTaco 2021-08-18 16:00:30 -04:00
parent e13310b8e4
commit 224c5b2d1e

View file

@ -1668,7 +1668,10 @@ function LakRabbitGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageTy
function LakRabbitGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc)
{
// borlak - make sure victim isn't killer
//Make sure OOB damage is cancelled
cancel(%clVictim.player.alertThread);
// borlak - make sure victim isn't killer
if(%clKiller != %clVictim)
{
%clKiller.kills++;
@ -1682,7 +1685,8 @@ function LakRabbitGame::onClientKilled(%game, %clVictim, %clKiller, %damageType,
if(Game.duelMode && %killer.player.holdingFlag && %damageType != $DamageType::Missile)
duelBonus(%killer);
}
// borlak -- flag bug fix
// borlak -- flag bug fix
%clVictim.flagDeny = schedule(2500, 0, setFlagDeny, %clVictim, 0);
DefaultGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc);
@ -1765,11 +1769,11 @@ function LakRabbitGame::playerDroppedFlag(%game, %player)
%flag.searchSchedule = Game.schedule(10, "startFlagCollisionSearch", %flag);
%game.updateFlagTransform(%flag); // z0dd - ZOD, 8/4/02, Call to KineticPoet's flag updater
// borlak -- timer fix and re-catch fix
// borlak -- timer fix and re-catch fix
%player.client.flagDeny = schedule(2500, 0, setFlagDeny, %player.client, 0);
cancel(%player.client.duelTimer);
// borlak -- give bonus for duel mode
// borlak -- give bonus for duel mode
if(%game.duelMode)
{
if(%player.lastDamageType == $DamageType::Suicide)
@ -1861,7 +1865,7 @@ function LakRabbitGame::playerTouchFlag(%game, %player, %flag)
if(%flag.carrier $= "")
{
// borlak cancel flag search and remove free diskjump
// borlak cancel flag search and remove free diskjump
cancel(%flag.searchSchedule);
cancel(%game.updateFlagThread[%flag]); // z0dd - ZOD, 8/4/02. Cancel this flag's thread to KineticPoet's flag updater
%player.freeDJ = 0;
@ -1885,7 +1889,7 @@ function LakRabbitGame::playerTouchFlag(%game, %player, %flag)
%flag.isHome = false;
$flagStatus = %client.name;
// borlak -- points for MA flag grabs
// borlak -- points for MA flag grabs
%mask = $TypeMasks::StaticShapeObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType;
%rayStart = %player.getWorldBoxCenter();
%rayEnd = getWord(%rayStart, 0) SPC getWord(%rayStart, 1) SPC getWord(%rayStart, 2) - 5;