95 lines
2.0 KiB
Ucode
95 lines
2.0 KiB
Ucode
class Combo extends Info;
|
|
|
|
// ifndef _RO_
|
|
//#exec OBJ LOAD FILE=GameSounds.uax
|
|
|
|
var localized string ExecMessage;
|
|
var float AdrenalineCost;
|
|
var float Duration;
|
|
var Sound ActivateSound;
|
|
var Material Icon;
|
|
var class<xEmitter> ActivationEffectClass;
|
|
var sound ComboAnnouncement; // OBSOLETE
|
|
var name ComboAnnouncementName;
|
|
var int keys[4];
|
|
var class<SpeciesType> species;
|
|
|
|
// CK_Up = 1;
|
|
// CK_Down = 2;
|
|
// CK_Left = 4;
|
|
// CK_Right = 8;
|
|
|
|
function PostBeginPlay()
|
|
{
|
|
local xPawn P;
|
|
|
|
P = xPawn(Owner);
|
|
if (P == None)
|
|
{
|
|
Destroy();
|
|
return;
|
|
}
|
|
|
|
if (ActivateSound != None)
|
|
PlaySound(ActivateSound, SLOT_None, 2*TransientSoundVolume);
|
|
|
|
if (ActivationEffectClass != None)
|
|
Spawn(ActivationEffectClass, P,, P.Location, P.Rotation); // it's responsible for killing itself
|
|
|
|
StartEffect(P);
|
|
}
|
|
|
|
// called when Adrenaline has been drained empty
|
|
function AdrenalineEmpty()
|
|
{
|
|
Destroy();
|
|
}
|
|
|
|
function Destroyed()
|
|
{
|
|
local xPawn P;
|
|
P = xPawn(Owner);
|
|
|
|
if (P != None)
|
|
{
|
|
StopEffect(P);
|
|
|
|
if (P.CurrentCombo == self)
|
|
P.CurrentCombo = None;
|
|
}
|
|
}
|
|
|
|
function StartEffect(xPawn P);
|
|
function StopEffect(xPawn P);
|
|
|
|
simulated function Tick(float DeltaTime)
|
|
{
|
|
local Pawn P;
|
|
|
|
P = Pawn(Owner);
|
|
|
|
if ( (P == None) || (P.Controller == None) )
|
|
{
|
|
Destroy();
|
|
return;
|
|
}
|
|
if ( (P.Controller.PlayerReplicationInfo != None) && (P.Controller.PlayerReplicationInfo.HasFlag != None) )
|
|
DeltaTime *= 2;
|
|
P.Controller.Adrenaline -= AdrenalineCost*DeltaTime/Duration;
|
|
if (P.Controller.Adrenaline <= 0.0)
|
|
{
|
|
P.Controller.Adrenaline = 0.0;
|
|
Destroy();
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
Duration=30
|
|
AdrenalineCost=100
|
|
// ifndef _RO_
|
|
//ActivateSound=Sound'GameSounds.ComboActivated'
|
|
// Temp commented out - Ramm
|
|
//ActivationEffectClass=class'xEffects.ComboActivation'
|
|
}
|