40 lines
1.2 KiB
Ucode
40 lines
1.2 KiB
Ucode
class NiceZombieBruteController extends NiceMonsterController;
|
|
var float RageAnimTimeout; // How long until the RageAnim is completed; Hack so the server doesn't get stuck in idle when its doing the Rage anim
|
|
var bool bDoneSpottedCheck;
|
|
var float RageFrustrationTimer; // Tracks how long we have been walking toward a visible enemy
|
|
var float RageFrustrationThreshhold; // Base value for how long the FP should walk torward an enemy without reaching them before getting frustrated and raging
|
|
function TimedFireWeaponAtEnemy()
|
|
{
|
|
if ( (Enemy == none) || FireWeaponAt(Enemy) )
|
|
SetCombatTimer();
|
|
else
|
|
SetTimer(0.01, True);
|
|
}
|
|
state ZombieCharge
|
|
{
|
|
function bool StrafeFromDamage(float Damage, class<DamageType> DamageType, bool bFindDest)
|
|
{
|
|
return false;
|
|
}
|
|
function bool TryStrafe(vector sideDir)
|
|
{
|
|
return false;
|
|
}
|
|
function Timer()
|
|
{
|
|
Disable('NotifyBump');
|
|
Target = Enemy;
|
|
TimedFireWeaponAtEnemy();
|
|
}
|
|
function BeginState()
|
|
{
|
|
super.BeginState();
|
|
|
|
RageFrustrationThreshhold = default.RageFrustrationThreshhold + (Frand() * 5);
|
|
}
|
|
}
|
|
defaultproperties
|
|
{
|
|
RageFrustrationThreshhold=10.000000
|
|
}
|