52 lines
935 B
Ucode
52 lines
935 B
Ucode
class ACTION_FireWeapon extends ScriptedAction;
|
|
|
|
var(Action) bool bPressFire;
|
|
var(Action) bool bPressAltFire;
|
|
|
|
function bool InitActionFor(ScriptedController C)
|
|
{
|
|
local vector ShootLoc;
|
|
|
|
if ( (C.Pawn == None) || (C.Pawn.Weapon == None) )
|
|
return false;
|
|
|
|
if ( bPressFire )
|
|
{
|
|
if ( C.Pawn.Weapon.IsA('BallLauncher') )
|
|
{
|
|
if ( C.Target != None )
|
|
ShootLoc = C.Target.Location;
|
|
else
|
|
ShootLoc = C.Pawn.Location + 1500 * vector(C.Pawn.Rotation);
|
|
C.Pawn.Weapon.ShootHoop(C,ShootLoc);
|
|
}
|
|
else
|
|
{
|
|
C.Pawn.Weapon.StartFire(0);
|
|
C.bFire = 1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
C.Pawn.Weapon.StopFire(0);
|
|
C.bFire = 0;
|
|
}
|
|
|
|
if ( bPressAltFire )
|
|
{
|
|
C.Pawn.Weapon.StartFire(1);
|
|
C.bAltFire = 1;
|
|
}
|
|
else
|
|
{
|
|
C.Pawn.Weapon.StopFire(1);
|
|
C.bAltFire = 0;
|
|
}
|
|
C.bFineWeaponControl = bPressFire || bPressAltFire;
|
|
return false;
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
ActionString="fire weapon"
|
|
} |