ACTOR ZenSMG : Weapon
{
+AMMO_OPTIONAL
Weapon.SelectionOrder 400
Inventory.PickupSound "weapons/zenreload1"
Inventory.PickupMessage "You got the Zen-II SMG!"
Weapon.AmmoType "Clip"
Weapon.AmmoGive 60
Weapon.AmmoUse 1
Weapon.Kickback 40
AttackSound "weapons/zenfire"
States
{
Spawn:
ZSMG A -1
Loop
Ready:
ZENG A 0
ZENG A 1 A_WeaponReady
ZENG A 0 A_JumpIfInventory("ZenSMGInClip", 30, 2)
ZENG A 0 A_JumpIfInventory("IsReloading", 1, 2)
ZENG A 1 A_WeaponReady
Loop
//Reload:
ZENG A 0 A_JumpIfInventory("Clip", 1, 1) //So it won't reload without any spare ammo.

goto Ready
ZENG A 2 A_PlaySound("weapons/zenreload2")
ZENG D 2
ZENG E 2
ZENG F 2
ZENG G 2 A_FireCustomMissile("SpentClip3", 3, 0, 3, 3)
ZENG H 2
ZENG I 6
ZENG J 2
ZENG K 2
ZENG L 2
ZENG M 2
ZENG NOPQ 2
ZENG R 2 A_PlaySound("weapons/zenreload1")
ZENG S 2
ZENG T 2 ACS_Execute(778,0,4,0,0) //Zen-II Reload Script
ZENG UVWXYZ 2
ZENG "[" 2
ZENG "" 2 A_TakeInventory("IsReloading",1)
ZENG A 1 A_WeaponReady
Goto Ready
Deselect:
ZENG A 1 A_Lower
Loop
Select:
ZENG A 0 ACS_Execute(779,0,4,0,0) //Zen-II Raise Script
ZENG A 1 A_Raise
Goto Select+1
Fire:
ZENG A 0 A_JumpIfInventory("ZenSMGInClip", 1, 2)
ZENG A 1
goto Ready+5
//True Fire:
ZENG A 0 A_GunFlash
ZENG A 0 A_TakeInventory("ZenSMGInClip",1)
ZENG A 0 A_TakeInventory("CurrentAmmo",1)
ZENG A 0 A_FireCustomMissile("9mmCasingSpawner", 3, 0, 3, 3)
ZENG B 1 BRIGHT A_FireBullets(4,4,1,5,0,0) //Doesn't use ammo, for scripting purposes.
ZENG C 1 BRIGHT
ZENF C 1
ZENG A 8 A_ReFire
goto Ready
Flash:
ZENF E 2 BRIGHT A_Light2
ZENF E 2 BRIGHT A_Light1
ZENF E 2 BRIGHT A_Light0
Stop
}
}