62 lines
1.5 KiB
Ucode
62 lines
1.5 KiB
Ucode
//Controller class for Gorefast ✓
|
|
class ControllerGorefastOS extends KFMonsterControllerOS;
|
|
|
|
var bool bDoneSpottedCheck;
|
|
|
|
//Fixes slow charge for charging zeds
|
|
//Credits:NikC for forum link, aleat0r for the code
|
|
state WaitForAnim
|
|
{
|
|
ignores SeePlayer,HearNoise,Timer,EnemyNotVisible,NotifyBump,Startle;
|
|
|
|
function EndState()
|
|
{
|
|
if (Pawn != None)
|
|
{
|
|
Pawn.AccelRate = Pawn.Default.AccelRate;
|
|
Pawn.GroundSpeed = ZombieGorefastOS(Pawn).GetOriginalGroundSpeed();
|
|
}
|
|
bUseFreezeHack = False;
|
|
}
|
|
}
|
|
|
|
//Ditto
|
|
state DoorBashing
|
|
{
|
|
ignores EnemyNotVisible,SeeMonster;
|
|
|
|
function EndState()
|
|
{
|
|
if (Pawn != None)
|
|
{
|
|
Pawn.AccelRate = Pawn.Default.AccelRate;
|
|
Pawn.GroundSpeed = ZombieGorefastOS(Pawn).GetOriginalGroundSpeed();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Players that spot a Gorefast will have a 25% chance to call him out
|
|
state ZombieHunt
|
|
{
|
|
event SeePlayer(Pawn SeenPlayer)
|
|
{
|
|
if ( !bDoneSpottedCheck && PlayerController(SeenPlayer.Controller) != none )
|
|
{
|
|
if ( !KFGameType(Level.Game).bDidSpottedGorefastMessage && FRand() < 0.25 )
|
|
{
|
|
PlayerController(SeenPlayer.Controller).Speech('AUTO', 13, "");
|
|
KFGameType(Level.Game).bDidSpottedGorefastMessage = true;
|
|
}
|
|
|
|
bDoneSpottedCheck = true;
|
|
}
|
|
|
|
global.SeePlayer(SeenPlayer);
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
StrafingAbility=0.500000
|
|
}
|