actor GyroAttackWep : MegaBuster 10059
{
Weapon.AmmoUse 2
Weapon.AmmoGive 112
Weapon.SlotNumber 2
Obituary "%o was cut up by %k's Gyro Attack."
Inventory.Pickupmessage "Power up! Gyro Attack!"
weapon.ammotype "GyroAttackAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
inventory.icon "GYROSI"
Scale 2.0
States
{
Spawn:
WEA2 I 1
loop
Ready:
WOOD I 0 ACS_ExecuteAlways(998,0,28)
WOOD I 1 A_WeaponReady
Goto Ready+1
Deselect:
WOOD I 0 A_JumpIfInventory("GyroFlag",1,24)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
WOOD I 1 A_Lower
Goto Deselect+1
WOOD I 0 A_TakeInventory("GyroFlag",999)
WOOD I 10
Goto Deselect+1
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
WOOD I 1 A_Raise
Loop
Fire:
WOOD I 0 A_JumpIfInventory("GyroFlag",1,"Change")
WOOD I 0 A_JumpIfNoAmmo("NoAmmo")
//WOOD I 0 A_PlaySoundEx("weapon/ringboomerang","Weapon")
WOOD I 0 A_FireCustomMissile("GyroAttack",0,1,8,0)
WOOD I 0 A_GiveInventory("GyroFlag",1)
WOOD JJJJKKKK 1
WOOD IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 1 A_WeaponReady
WOOD IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 1 A_WeaponReady
WOOD IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 1 A_WeaponReady
WOOD I 0 A_TakeInventory("GyroFlag",999)
WOOD I 0 A_Refire
Goto Ready+1
Change:
WOOD I 10 A_GiveInventory("GyroFlag",1)
WOOD I 0 A_TakeInventory("GyroFlag",999)
WOOD I 0 A_Refire
Goto Ready+1
NoAmmo:
WOOD I 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor GyroAttackAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
}

actor GyroAttack
{
PROJECTILE
Radius 15
Height 8
scale 2.5
damage (27)
speed 35
States
{
Spawn:
GYRO A 0
GYRO A 0 A_PlaySoundEx("weapon/gyroattack","Auto")
GYRO A 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO A 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO B 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO B 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO C 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO C 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO D 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO D 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO A 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO A 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO B 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO B 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO C 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO C 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO D 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
GYRO D 1 A_JumpIfInTargetInventory("GyroFlag",2,"Up")
loop
Up:
GYRO A 0 A_CustomMissile("GyroAttack2",0,0,25,2,0)
GYRO A 0 A_CustomMissile("GyroAttack2",0,0,-25,2,0)
stop
Death:
GYRO A 0
stop
}
}


actor GyroAttack2 : GyroAttack
{
speed 25
States
{
Spawn:
GYRO A 0
GYRO A 0 A_PlaySoundEx("weapon/gyroattack","Auto")
GYRO ABCDABCD 2
loop
}
}

actor GyroFlag : Inventory
{
inventory.amount 1
inventory.maxamount 2
}