117 lines
2 KiB
Text
117 lines
2 KiB
Text
Class UFlakBox : Ammo
|
|
{
|
|
Default
|
|
{
|
|
Tag "Flak Shell Box";
|
|
Inventory.Icon "I_Flak";
|
|
Inventory.PickupMessage "You picked up 10 Flak Shells.";
|
|
Inventory.Amount 10;
|
|
Inventory.MaxAmount 50;
|
|
Ammo.BackpackAmount 5;
|
|
Ammo.BackpackMaxAmount 100;
|
|
Ammo.DropAmount 5;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
FBOX A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class UFlakAmmo : UFlakBox
|
|
{
|
|
Default
|
|
{
|
|
Tag "Flak Shell";
|
|
Inventory.Icon "I_Flak";
|
|
Inventory.PickupMessage "You picked up a Flak Shell.";
|
|
Inventory.Amount 1;
|
|
Ammo.DropAmount 1;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
FSHL B -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class UFlakCannon : UnrealWeapon
|
|
{
|
|
bool bLoaded;
|
|
action void A_Loading( bool first = false )
|
|
{
|
|
invoker.bLoaded = true;
|
|
if ( first ) A_PlaySound("uflak/load",CHAN_WEAPON);
|
|
else A_PlaySound("uflak/reload",CHAN_6);
|
|
}
|
|
Default
|
|
{
|
|
Tag "Flak Cannon";
|
|
Inventory.PickupMessage "You got the Flak Cannon.";
|
|
Weapon.UpSound "uflak/select";
|
|
Weapon.SlotNumber 6;
|
|
Weapon.SelectionOrder 4;
|
|
Weapon.AmmoType "UFlakBox";
|
|
Weapon.AmmoUse 1;
|
|
Weapon.AmmoType2 "UFlakBox";
|
|
Weapon.AmmoUse2 1;
|
|
Weapon.AmmoGive 10;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
FLKP A -1;
|
|
Stop;
|
|
FLKP B -1;
|
|
Stop;
|
|
Select:
|
|
FLKS A 1 A_Raise(int.max);
|
|
Wait;
|
|
Ready:
|
|
FLKS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WeaponReady(WRF_NOFIRE);
|
|
FLS2 ABCD 1 A_WeaponReady(WRF_NOFIRE);
|
|
FLKL A 1 A_Loading(true);
|
|
FLKL BCEFGIJKMNO 1;
|
|
Goto Idle;
|
|
Loading:
|
|
FLKL A 1 A_Loading();
|
|
FLKL BCEFGIJKMNO 1;
|
|
Goto Idle;
|
|
Idle:
|
|
FLKI A 1
|
|
{
|
|
A_CheckReload();
|
|
A_WeaponReady();
|
|
}
|
|
Wait;
|
|
Idle2:
|
|
FLI2 A 1
|
|
{
|
|
A_CheckReload();
|
|
A_WeaponReady();
|
|
}
|
|
Wait;
|
|
Fire:
|
|
FLKI A 0 A_JumpIf(!invoker.bLoaded,"Loading");
|
|
FLKF ABCDEFGHIJ 1;
|
|
FLKE ABCDEFGHIJKLMNS 1;
|
|
FLKE S 0 A_JumpIfNoAmmo("Idle2");
|
|
Goto Loading;
|
|
AltFire:
|
|
FLKI A 0 A_JumpIf(!invoker.bLoaded,"Loading");
|
|
FLKA ABCDEFGHIJK 2;
|
|
FLKA K 0 A_JumpIfNoAmmo("Idle2");
|
|
Goto Loading;
|
|
Deselect:
|
|
FLKD A 0 A_JumpIfNoAmmo("Deselect2");
|
|
FLKD ABCDEF 1;
|
|
FLKD F 1 A_Lower(int.max);
|
|
Wait;
|
|
Deselect2:
|
|
FLD2 ABCDEF 1;
|
|
FLD2 F 1 A_Lower(int.max);
|
|
Wait;
|
|
}
|
|
}
|