actor WindCycloneWep_NormalBar : NormalBar{args 213,217}
actor WindCycloneWep : BaseMM8BDMWep
{
//$Category MM8BDME-Weapons
//$Title Wind Cyclone
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 2
Inventory.Pickupmessage "$PU_WINDCYCLONE"
Obituary "$OB_WINDCYCLONE"
Tag "$TAG_WINDCYCLONE"
weapon.ammotype "WindCycloneAmmo"
inventory.icon "WCYCICON"
States
{
SpawnLoop:
WCYC A 1
loop
Ready:
WCYC I 0 ACS_NamedExecuteWithResult("core_weaponcolor",CLR_WINDCYCLONE)
WCYC I 1 A_WeaponReady
Goto Ready+1
ReadyC:
Goto Ready+1
Deselect:
WCYC I 0
goto DeselectSwap
Select:
WCYC I 0
goto SelectSwap

Fire:
WCYC I 0 A_JumpIfInventory("IsSpecialBot", 1 ,"AirconManCheck")
WCYC I 0 A_JumpIfNoAmmo("NoAmmo")
WCYC I 0 A_PlaySoundEx("weapon/bwindjet", "weapon")
WCYC J 0 A_FireCustomMissile("WindCyclone",0,1,0,0)
WCYC J 3 A_FireCustomMissile("WindCyclone2",0,0,0,0)
WCYC JJKK 3
WCYC I 8
Goto Ready+1
AirconManCheck:
BWIN A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_radiuspull", 0, 300, 0)>0, 1)
Goto Fire+1
BWIN A 1 A_GiveInventory("BarrierWindWep",1)
BWIN A 1 A_SelectWeapon("BarrierWindWep")
Goto Fire+1

NoAmmo:
WCYC I 1 ACS_NamedExecute("core_noammo",0)
Goto Ready+1
}
}

actor WindCycloneAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor WindCyclone : BasicProjectile
{
PROJECTILE
damagetype "WindCyclone"
Obituary "$OB_WINDCYCLONE"
Accuracy 1
+Ripper
damage (0)
Radius 8
Height 8
speed 12.5
scale 2.5
States
{
Spawn:
TNT1 A 0
WCYC B 1 A_Weave(4.5*Accuracy, 0.0, 4, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC B 1 A_Weave(4.5*Accuracy, 0.0, 4, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC B 1 A_Weave(4.5*Accuracy, 0.0, 4, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC C 1 A_Weave(4.5*Accuracy, 0.0, 4, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC C 1 A_Weave(4.5*Accuracy, 0.0, 4, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC C 1 A_Weave(4.5*Accuracy, 0.0, 4, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC D 1 A_Weave(4.5*Accuracy, 0.0, 4, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC D 1 A_Weave(4.5*Accuracy, 0.0, 4, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC D 1 A_Weave(4.5*Accuracy, 0.0, 4, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC D 0 A_ScaleVelocity(2.0)
SpawnLoop:
WCYC B 1 A_Weave(4.25*Accuracy, 0.0, 4.5, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC B 1 A_Weave(4.25*Accuracy, 0.0, 4.5, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC B 1 A_Weave(4.25*Accuracy, 0.0, 4.5, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
TNT1 A 0 A_SpawnItemEx("WindCycloneSmoke", -momx+random(-8, 8), -momy+random(-8, 8), -momz+random(-8, 8), 0, 0, 0, 0, SXF_ABSOLUTEPOSITION)
WCYC C 1 A_Weave(4.25*Accuracy, 0.0, 4.5, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC C 1 A_Weave(4.25*Accuracy, 0.0, 4.5, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC C 1 A_Weave(4.25*Accuracy, 0.0, 4.5, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
TNT1 A 0 A_SpawnItemEx("WindCycloneSmoke", -momx+random(-8, 8), -momy+random(-8, 8), -momz+random(-8, 8), 0, 0, 0, 0, SXF_ABSOLUTEPOSITION)
WCYC D 1 A_Weave(4.25*Accuracy, 0.0, 4.5, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC D 1 A_Weave(4.25*Accuracy, 0.0, 4.5, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
WCYC D 1 A_Weave(4.25*Accuracy, 0.0, 4.5, 0.0) WCYC B 0 A_SpawnItemEx("PropBlowerEffect") WCYC B 0 A_Explode(CallACS("vile_cbm_damage",7),24,0,0,24)
TNT1 A 0 A_SpawnItemEx("WindCycloneSmoke", -momx+random(-8, 8), -momy+random(-8, 8), -momz+random(-8, 8), 0, 0, 0, 0, SXF_ABSOLUTEPOSITION)
loop
Death:
WCYC MNO 1 A_SpawnItemEx("PropBlowerEffect")
stop
}
}

actor WindCyclone2 : WindCyclone
{
Accuracy -1
}

actor WindCycloneSmoke : BarrierWindSmoke {Translation "4:4=4:4"}   

actor WindCycloneKnockback : EncoreKnockbackHelper
{
Mass -4
Accuracy 20
}