siren won't scream at low hp zeds, will melee
This commit is contained in:
parent
01882bdecf
commit
4325a34acf
@ -77,20 +77,23 @@ function DiscardCurrentScreamBall(){
|
||||
currScreamTiming = -1;
|
||||
}
|
||||
}
|
||||
|
||||
function RangedAttack(Actor A)
|
||||
{
|
||||
local int LastFireTime;
|
||||
local float Dist;
|
||||
if ( bShotAnim )
|
||||
|
||||
if (bShotAnim)
|
||||
return;
|
||||
Dist = VSize(A.Location - Location);
|
||||
if ( Physics == PHYS_Swimming )
|
||||
|
||||
if (Physics == PHYS_Swimming)
|
||||
{
|
||||
SetAnimAction('Claw');
|
||||
bShotAnim = true;
|
||||
LastFireTime = Level.TimeSeconds;
|
||||
}
|
||||
else if(Dist < MeleeRange + CollisionRadius + A.CollisionRadius && A != Self)
|
||||
else if (Dist < MeleeRange + CollisionRadius + A.CollisionRadius && A != Self)
|
||||
{
|
||||
bShotAnim = true;
|
||||
LastFireTime = Level.TimeSeconds;
|
||||
@ -98,16 +101,17 @@ function RangedAttack(Actor A)
|
||||
Controller.bPreparingMove = true;
|
||||
Acceleration = vect(0,0,0);
|
||||
}
|
||||
else if( Dist <= ScreamRadius && !bDecapitated && !bZapped )
|
||||
// ok se we DO NOT want to scream at other nice zeds
|
||||
else if (!bNotAHuman() && Dist <= ScreamRadius && !bDecapitated && !bZapped)
|
||||
{
|
||||
bShotAnim=true;
|
||||
bShotAnim = true;
|
||||
SetAnimAction('Siren_Scream');
|
||||
if(screamStartTime > 0)
|
||||
if (screamStartTime > 0)
|
||||
DiscardCurrentScreamBall();
|
||||
currScreamTiming = 0;
|
||||
screamStartTime = Level.TimeSeconds;
|
||||
// Only stop moving if we are close
|
||||
if( Dist < ScreamRadius * 0.25 )
|
||||
if (Dist < ScreamRadius * 0.25)
|
||||
{
|
||||
Controller.bPreparingMove = true;
|
||||
Acceleration = vect(0,0,0);
|
||||
@ -119,6 +123,16 @@ function RangedAttack(Actor A)
|
||||
Acceleration.Z = FMin(Acceleration.Z, 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
final private function bool bNotAHuman()
|
||||
{
|
||||
if (Controller == none || Controller.Enemy == none)
|
||||
return false;
|
||||
|
||||
// log("Zed enemy classname was " $ Controller.Enemy.class);
|
||||
return ClassIsChildOf(Controller.Enemy.class, class'NiceMonster');
|
||||
}
|
||||
|
||||
simulated function int DoAnimAction( name AnimName )
|
||||
{
|
||||
if( AnimName=='Siren_Scream' || AnimName=='Siren_Bite' || AnimName=='Siren_Bite2' )
|
||||
|
Loading…
Reference in New Issue
Block a user