actor TornadoBlowBoss : BaseMM8BDMWep_CBM
{
Tag "$TAGC_9B"
dropitem "TornadoBlowWepCDropped"
Weapon.AmmoUse 7
Weapon.AmmoGive 56
Obituary "$OB_TORNADOMAIN"
Inventory.Pickupmessage "You got the power of the winds!"
weapon.ammotype "TornadoBlowBossAmmo"
weapon.ammotype2 "TornadoHoverAmmo"
States
{
Spawn:
C_09 B 1
loop
Ready:
TORG A 0 ACS_ExecuteAlways(998,0,DYE_TORNADOMAN)
TORG A 0 A_GunFlash
goto Ready1
Ready1:
TORG A 0 A_JumpIfInventory("TornadoBlowBossAmmo",7,"Ready2")
TORG A 3 A_WeaponReady(WRF_NOPRIMARY)
TORG A 0 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG A 0
loop
Ready2:
TORG A 3 A_WeaponReady
TORG A 0 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG A 0
loop

Deselect:
TORG A 0 A_GiveInventory("ClashFlag1")
TORG A 0 A_GiveInventory("ClashFlag2")
TORG A 0 A_GiveInventory("ClashFlag3")
TORG A 0 A_GiveInventory("ClashFlag4")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TORG A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
TORG A 1 A_Raise
Loop

Fire:
TORG B 0 A_JumpIfInventory("IsBot",1,"BotFire")
TORG B 2 Offset(-2,30)
TORG C 1 Offset(-6,26)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG C 1 Offset(-6,26)
goto FireCheck

BotFire:
TORG B 0 A_Jump(198,1)
goto AltFire+1
TORG B 0 A_Jump(32,1)
goto Fire+1
TORG B 0 A_GiveInventory("TornadoBlowBossAmmo",28)
goto Fire+1

NoAmmoM:
TORG C 2 Offset(-3,29)
TORG B 1 Offset(-1,31)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG B 1 Offset(-1,31)
Goto Ready1

FireCheck:
TORG D 0 A_JumpIfNoAmmo("NoAmmoM")
//TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,3)
TORG D 0 A_PlaySoundEx("weapon/tornadoshoot","Weapon")
TORG D 0 A_GiveInventory("TornadomanMain_CI",1)
TORG D 1
goto EndFire

EndFire:
TORG E 0 A_JumpIfInventory("PowerRage_ST",1,5)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG EDE 1 Offset(-10,22)
TORG A 0 //A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 //A_GiveInventory("TornadoHoverAmmo",1)
TORG DED 1 Offset(-10,22)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG EDE 1 Offset(-10,22)
TORG A 0 //A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 //A_GiveInventory("TornadoHoverAmmo",1)
TORG F 0 A_Refire("FireCheck")
TORG C 2 Offset(-3,29)
TORG B 1 Offset(-1,31)
Goto Ready1

AltFire:
TORG G 0 Offset(5,30)A_GiveInventory("WeaponCharge",1)
TORG A 2 Offset(15,15)
TORG G 0 Offset(10,33)
TORG F 1 Offset(12,28)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG J 0 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG G 1 Offset(14,28)
TORG H 1 Offset(16,27)
TORG H 1
TORG J 0 A_PlaySoundEx("weapon/tornadoblowboss","Weapon")
goto AltFire1
AltFire1:
TORG J 0 A_SpawnItemEx("TornadoDamagerC",0,0,0,0,0,0,0,1)
TORG J 0 A_GiveInventory("TornadoBlowThrust_P",1)
TORG A 0 //A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 //A_GiveInventory("TornadoHoverAmmo",1)
TORG I 1 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG IJ 1
TORG K 0 A_SpawnItemEx("TornadoDamagerC",0,0,0,0,0,0,0,1)
TORG K 0 A_GiveInventory("TornadoBlowThrust_P",1)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG IJI 1
TORG J 0 A_SpawnItemEx("TornadoDamagerC",0,0,0,0,0,0,0,1)
TORG J 0 A_GiveInventory("TornadoBlowThrust_P",1)
TORG A 0 //A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 //A_GiveInventory("TornadoHoverAmmo",1)
TORG J 1 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG IJ 1
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG K 0 A_SpawnItemEx("TornadoDamagerC",0,0,0,0,0,0,0,1)
TORG K 0 A_GiveInventory("TornadoBlowThrust_P",1)
TORG IJI 1
TORG K 0 A_Refire("AltFireH1")
goto AltFireEnd1

AltFireH1:
TORG J 0 //A_SpawnItemEx("TornadoDamagerC2",0,0,0,0,0,0,0,1)
TORG J 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG I 1 A_GiveInventory("TornadoBlowBossAmmo",1)
TNT1 A 0 A_PlaySoundEx("weapon/tornadoblowhold","SoundSlot7")
TORG JI 1
TORG K 0 A_Refire("AltFireH2")
goto AltFireEnd2
AltFireH2:
TORG K 0 A_SpawnItemEx("TornadoDamagerC2",0,0,0,0,0,0,0,1)
TORG K 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG I 0 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG J 1 A_PlaySoundEx("weapon/tornadoblowhold","SoundSlot7")
TORG I 1
TORG J 1 A_PlaySoundEx("weapon/tornadoblowhold","SoundSlot7")
TORG K 0 A_Refire("AltFireH1")
goto AltFireEnd1

AltFireEnd1:
TORG J 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG A 0 //A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 //A_GiveInventory("TornadoHoverAmmo",1)
TORG I 1 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG J 0 A_PlaySoundEx("weapon/tornadoblowend","Weapon")
TORG JI 1
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG I 0 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG K 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG J 1
TORG I 1 
TORG J 1 Offset(20,27)
TORG A 0 //A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 //A_GiveInventory("TornadoHoverAmmo",1)
TORG I 0 A_GiveInventory("TornadoBlowBossAmmo",1)
goto AltFireEnd
AltFireEnd2:
TORG K 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG J 0 A_PlaySoundEx("weapon/tornadoblowend","Weapon")
TORG A 0 //A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 //A_GiveInventory("TornadoHoverAmmo",1)
TORG J 1 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG IJ 1
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG A 0 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG J 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG I 1 
TORG J 1 
TORG I 1 Offset(20,27)
TORG A 0 //A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 ///A_GiveInventory("TornadoHoverAmmo",1)
TORG A 0 A_GiveInventory("TornadoBlowBossAmmo",1)
goto AltFireEnd

AltFireEnd:
TORG I 0 A_TakeInventory("WeaponCharge",999)
TORG I 0 A_TakeInventory("CutterFlag",999)
TORG I 0 A_GiveInventory("StaminaFlag",random(42,53))
TORG I 1 Offset(24,28) 
TORG I 1 Offset(28,29) A_GiveInventory("StaminaFlag",random(42,53))
TORG I 1 A_GiveInventory("StaminaFlag",random(42,53))
TORG I 0 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG I 1 Offset(32,30)
TORG H 1 A_GiveInventory("StaminaFlag",random(42,53))
TORG H 1 Offset(36,39)
TORG I 0 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG A 0 //A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 //A_GiveInventory("TornadoHoverAmmo",1)
TORG G 1 A_GiveInventory("StaminaFlag",random(42,53))
TORG G 1 Offset(56,52)
TORG L 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
TORG L 0 Offset(2,45)A_GiveInventory("StaminaFlag",500)
TORG L 1 A_GiveInventory("TornadoBlowBossAmmo",1)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("TornadoHoverAmmo",1)
TORG A 2 Offset(1,34)
Goto Ready1

Flash:
TNT1 A 1 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("TornadoHoverActive",1,1)
loop
TNT1 A 0 A_JumpIfInventory("TornadoHoverAmmo",1,2)
TNT1 A 0 A_TakeInventory("TornadoHoverActive",9)
loop
TNT1 A 0 A_GiveInventory("TornadoHoverFlash_P",1)
loop
}
}

actor TornadoBlowBossAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor TornadoHoverAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor TornadoShotFlag1 : OnceC {}
actor TornadoShotFlag2 : OnceC {}
actor TornadoShotFlag3 : OnceC {}
actor TornadoShotFlag4 : OnceC {}

actor TornadoShotDetonate_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("TornadoShotFlag1")
TNT1 A 0 A_TakeInventory("TornadoShotFlag2")
TNT1 A 0 A_TakeInventory("TornadoShotFlag3")
TNT1 A 0 A_TakeInventory("TornadoShotFlag4")
stop
}
}

actor TornadoHoverActive : OnceC {}

actor TornadoHoverDelay : Powerup
{
powerup.duration 4
}

actor TornadoHoverSpeed : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration 3
speed 1.5
}

actor TornadoHoverSpeed2 : TornadoHoverSpeed
{
speed 1.95
}

actor TornadoHoverSnd : Powerup
{
powerup.duration 5
}

actor TornadoHoverFlash_P : CustomInventory
{
States
{
Pickup:
//TNT1 A 0 A_JumpIf(momz<0,"Hover")
TNT1 A 0 A_JumpIfInventory("TornadoHoverDelay",1,3)
TNT1 A 0 A_GiveInventory("TornadoHoverDelay",1)
TNT1 A 0 A_TakeInventory("TornadoHoverAmmo",1)
TNT1 A 0 A_JumpIfInventory("TornadoHoverActive",1,"P_Hover")
stop
P_Hover:
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,"End")
TNT1 A 0 A_JumpIf(momz>=0,"End")
TNT1 A 0 A_SpawnItemEx("TornadoLeapCrush",0,0,-16,momx,momy,-10,0,8)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_JAX_CHECK_JUMP)==1,"P_HoverJ")
goto End
P_HoverJ:
TNT1 A 0 A_JumpIf(momz<0,"P_HoverX")
goto End
P_HoverX:
TNT1 A 0 A_JumpIfInventory("TornadoHoverSnd",1,3)
TNT1 A 0 A_GiveInventory("TornadoHoverSnd")
TNT1 A 0 A_PlaySoundEx("classes/TornadoFly","Body")
TNT1 A 0 A_ChangeVelocity(momx,momy,-0.5,CVF_REPLACE)
TNT1 A 0 //A_ScaleVelocity(1.03)
TNT1 A 0 A_GiveInventory("TornadoHoverSpeed2",1)
goto End
End:
TNT1 A 0 A_GiveInventory("TornadoHoverSpeed",1)
stop
}
}


actor TornadoHoverToggle : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "TORNAHOV"
Tag "$TAGC_9B2"
inventory.pickupmessage "\cdGreen eyes are the new blue."
scale 2.0
+INVBAR
states
{
Spawn:
TORG Z 1
wait
Use:
TNT1 A 0 A_PlaySoundEx("item/ItemUseMM9","SoundSlot6")
TNT1 A 0 A_JumpIfInventory("TornadoHoverActive",1,"UseTake")
TNT1 A 0 A_JumpIfInventory("TornadoHoverAmmo",4,"Use2")
fail
Use2:
TNT1 A 0 A_TakeInventory("TornadoHoverAmmo",1)
TNT1 A 0 A_GiveInventory("TornadoHoverActive",1)
fail
UseTake:
TNT1 A 0 A_TakeInventory("TornadoHoverActive",999)
TNT1 A 0 A_TakeInventory("TornadoHoverSpeed",9)
TNT1 A 0 A_TakeInventory("TornadoHoverSpeed2",9)
fail
}
}

actor TornadoShotX
{
Translation "192:192=168:168", "198:198=128:128"
PROJECTILE
DamageType "TornadoM_Shot"
Obituary "$OB_TORNADOMAIN"
+RIPPER
+SKYEXPLODE
+DONTREFLECT
+NOTARGETSWITCH
damage (5)//12
Radius 9
Height 9
speed 45
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 0 A_Jump(256,1,2,3,4)
TORG RSTU 2
goto Spawnloop+2

Death:
TNT1 A 0 A_JumpIfInTargetInventory("ClashLaunched1",1,1)
goto Bomb1
TNT1 A 0 A_JumpIfInTargetInventory("ClashLaunched2",1,1)
goto Bomb2
TNT1 A 0 A_JumpIfInTargetInventory("ClashLaunched3",1,1)
goto Bomb3
TNT1 A 0 A_JumpIfInTargetInventory("ClashLaunched4",1,"Bomb1")
goto Bomb4
Bomb1:
TNT1 A 0 A_TakeFromTarget("ClashLaunched2",1)
TNT1 A 0 A_GiveToTarget("ClashLaunched1",1)
TNT1 A 0 A_GiveToTarget("ClashFlag1",1)
TNT1 A 0 A_GiveInventory("ClashLaunched1",1)
goto WallCheck
Bomb2:
TNT1 A 0 A_TakeFromTarget("ClashLaunched3",1)
TNT1 A 0 A_GiveToTarget("ClashLaunched2",1)
TNT1 A 0 A_GiveToTarget("ClashFlag2",1)
TNT1 A 0 A_GiveInventory("ClashLaunched2",1)
goto WallCheck
Bomb3:
TNT1 A 0 A_TakeFromTarget("ClashLaunched4",1)
TNT1 A 0 A_GiveToTarget("ClashLaunched3",1)
TNT1 A 0 A_GiveToTarget("ClashFlag3",1)
TNT1 A 0 A_GiveInventory("ClashLaunched3",1)
goto WallCheck
Bomb4:
TNT1 A 0 A_TakeFromTarget("ClashLaunched1",1)
TNT1 A 0 A_GiveToTarget("ClashLaunched4",1)
TNT1 A 0 A_GiveToTarget("ClashFlag4",1)
TNT1 A 0 A_GiveInventory("ClashLaunched4",1)
goto WallCheck

WallCheck:
//TNT1 A 0 A_PlaySound("weapon/crashland")
TNT1 A 0 A_Stop
//TNT1 A 0 A_JumpIf(z-floorz<8,"Floor")
TNT1 A 0 A_JumpIf(z-floorz<=0,"Floor")
TNT1 A 0 A_JumpIf(z-ceilingz==0-9,"Ceiling")
TNT1 A 0 A_SetAngle(angle+180.0)
goto WallWait

WallWait:
TORG NNO 1 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG O 0 A_JumpIfInventory("ClashLaunched4",1,"WallWait4")
TORG O 0 A_JumpIfInventory("ClashLaunched3",1,"WallWait3")
TORG O 0 A_JumpIfInventory("ClashLaunched2",1,"WallWait2")
TORG O 0 A_JumpIfInventory("ClashLaunched1",1,"WallWait1")
goto WallWait1
WallWait1:
TORG O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG O 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG P 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG P 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG Q 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG Q 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG N 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
TORG N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG N 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG N 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG O 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
loop
WallWait2:
TORG O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG O 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG P 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG P 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG Q 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG Q 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG N 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
TORG N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG N 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG N 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG O 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
loop
WallWait3:
TORG O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG O 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG P 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG P 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG Q 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG Q 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG N 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
TORG N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG N 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG N 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG O 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
loop
WallWait4:
TORG O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG O 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG P 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG P 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG Q 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG Q 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG N 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
TORG N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG N 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG N 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
TORG O 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
loop
WallFire:
TNT1 A 0 A_SpawnItemEX("HorizontalTornadoBlow",0,0,0,0,0,0,0,1)
goto XDeath

Floor:
X_9B BBC 1 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B C 0 A_JumpIfInventory("ClashLaunched4",1,"Floor4")
X_9B C 0 A_JumpIfInventory("ClashLaunched3",1,"Floor3")
X_9B C 0 A_JumpIfInventory("ClashLaunched2",1,"Floor2")
X_9B C 0 A_JumpIfInventory("ClashLaunched1",1,"Floor1")
goto Floor1
Floor1:
X_9B C 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B C 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
X_9B D 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B D 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
X_9B D 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B D 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
X_9B E 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B E 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
X_9B E 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B E 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
X_9B B 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
X_9B B 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B B 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
X_9B B 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B B 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
X_9B C 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B C 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
loop
Floor2:
X_9B C 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B C 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
X_9B D 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B D 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
X_9B D 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B D 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
X_9B E 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B E 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
X_9B E 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B E 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
X_9B B 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
X_9B B 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B B 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
X_9B B 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B B 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
X_9B C 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B C 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
loop
Floor3:
X_9B C 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B C 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
X_9B D 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B D 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
X_9B D 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B D 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
X_9B E 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B E 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
X_9B E 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B E 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
X_9B B 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
X_9B B 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B B 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
X_9B B 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B B 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
X_9B C 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B C 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
loop
Floor4:
X_9B C 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B C 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
X_9B D 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B D 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
X_9B D 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B D 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
X_9B E 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B E 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
X_9B E 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B E 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
X_9B B 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
X_9B B 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B B 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
X_9B B 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B B 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
X_9B C 0 A_JumpIfInTargetInventory("WeaponCharge",1,"FloorFire")
X_9B C 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
loop
FloorFire:
TNT1 A 0 A_SpawnItemEX("FloorTornadoBlow",0,0,0,0,0,0,0,1)
goto XDeath

Ceiling:
X_9B VVW 1 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
X_9B W 0 A_JumpIfInventory("ClashLaunched4",1,"Ceiling4")
X_9B W 0 A_JumpIfInventory("ClashLaunched3",1,"Ceiling3")
X_9B W 0 A_JumpIfInventory("ClashLaunched2",1,"Ceiling2")
X_9B W 0 A_JumpIfInventory("ClashLaunched1",1,"Ceiling1")
goto Ceiling1
Ceiling1:
TORG W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG W 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG X 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG X 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG Y 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG Y 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG V 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
TORG V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG V 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG V 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
TORG W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG W 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
loop
Ceiling2:
TORG W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG W 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG X 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG X 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG Y 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG Y 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG V 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
TORG V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG V 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG V 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
TORG W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG W 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
loop
Ceiling3:
TORG W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG W 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG X 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG X 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG Y 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG Y 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG V 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
TORG V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG V 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG V 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
TORG W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG W 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
loop
Ceiling4:
TORG W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG W 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG X 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG X 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG Y 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG Y 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG V 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"XDeath")
TORG V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG V 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG V 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
TORG W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
TORG W 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
loop
CeilingFire:
TNT1 A 0 A_SpawnItemEX("CeilingTornadoBlow",0,0,0,0,0,0,0,1)
goto XDeath

XDeath:
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("TornadoBlowThrustFX1",random(2,12),0,random(-8,8),random(0,1),0,random(-1,1),random(0,359),1)
TNT1 A 1
stop

XDeath1:
TNT1 A 0 A_TakeFromTarget("ClashFlag1",1)
goto XDeath
XDeath2:
TNT1 A 0 A_TakeFromTarget("ClashFlag2",1)
goto XDeath
XDeath3:
TNT1 A 0 A_TakeFromTarget("ClashFlag3",1)
goto XDeath
XDeath4:
TNT1 A 0 A_TakeFromTarget("ClashFlag4",1)
goto XDeath

}
}

actor TornadoShotXB : TornadoShotX{Translation"192:192=205:205","198:198=74:74"}
actor TornadoShotXR : TornadoShotX{Translation"192:192=171:171","198:198=41:41"}
actor TornadoShotXO : TornadoShotX{Translation"192:192=104:104","198:198=128:128"}
actor TornadoShotXP : TornadoShotX{Translation"192:192=229:229","198:198=232:232"}

actor TornadoShotXFast : TornadoShotX
{
Speed 79
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
//TORG RRSSTTUU 1 A_SpawnItemEx("BubProjFX",0,0,0,random(-1,-4),random(2,-2),random(2,-2),0,1)
TORG RRSSTTUU 1 A_SpawnItemEx("TornadoBlowThrustFX1",random(2,12),0,random(-8,8),random(0,1),0,random(-1,1),random(0,359),1)
goto Spawnloop+2
}
}

actor TornadoShotXFastB : TornadoShotXFast{Translation"192:192=205:205","198:198=74:74"}
actor TornadoShotXFastR : TornadoShotXFast{Translation"192:192=171:171","198:198=41:41"}
actor TornadoShotXFastO : TornadoShotXFast{Translation"192:192=104:104","198:198=128:128"}
actor TornadoShotXFastP : TornadoShotXFast{Translation"192:192=229:229","198:198=232:232"}

actor TornadoBlowThrustTeam : CustomInventory
{
States
{
Pickup2:
TNT1 A 0
TNT1 A 0 A_JumpIf(z-floorz<5,"No")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_JAX_CHECK_JUMP)==0,"No")
TNT1 A 0 ThrustThingZ(0,9,0,1)
stop
No:
TNT1 A 0
stop
}
}


actor TornadoBlowThrustTeam_B : TornadoBlowThrustTeam
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_getplayerteam",-1)==0,"Pickup2")
stop
}
}
actor TornadoBlowThrustTeam_R : TornadoBlowThrustTeam
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_getplayerteam",-1)==1,"Pickup2")
stop
}
}
actor TornadoBlowThrustTeam_O : TornadoBlowThrustTeam
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_getplayerteam",-1)==2,"Pickup2")
stop
}
}
actor TornadoBlowThrustTeam_P : TornadoBlowThrustTeam
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_getplayerteam",-1)==3,"Pickup2")
stop
}
}


actor TornadoBlowThrust_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("TornadoBlowThrustHelper",0,0,0,0,0,0,0,1)
TNT1 A 0 A_GiveInventory("TornadomanOther_CI",1)
TNT1 A 0 A_JumpIf(z-floorz<5,"No")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_JAX_CHECK_JUMP)==0,"No")
TNT1 A 0 ThrustThingZ(0,9,0,1)
stop
No:
TNT1 A 0
stop
}
}
actor TornadoBlowThrust_P2 : TornadoBlowThrust_P
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("StaminaFlag",1,"Success")
goto No
Success:
TNT1 A 0 A_TakeInventory("StaminaFlag",1)
TNT1 A 0 A_SpawnItemEx("TornadoBlowThrustHelper",0,0,0,0,0,0,0,1)
TNT1 A 0 A_GiveInventory("TornadomanOther_CI",1)
TNT1 A 0 A_JumpIf(z-floorz<5,"No")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_JAX_CHECK_JUMP)==0,"No")
TNT1 A 0 ThrustThingZ(0,3,0,1)
stop
}
}


actor TornadoBlowThrustHelper : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 AAA 0 A_SpawnItemEX("TornadoBlowThrustFX",0,0,random(-32,32),0,0,0,0,1)
TNT1 A 1
stop
}
}

actor TornadoDamagerC : BasicExplosion
{
damagetype "TornadoM_Blow"//uppies
Obituary "$OB_TORNADOBLOW"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(6,100,0,0,101)
stop
}
}

actor TornadoDamagerC2 : BasicExplosion
{
damagetype "TornadoM_Blow2"
Obituary "$OB_TORNADOBLOW"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(2,100,0,0,101)
stop
}
}

actor TornadoBlowThrustFX : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 AAAA 0 A_SpawnItemEX("TornadoBlowThrustFX2",random(32,192),0,random(-32,32),0,0,random(12,14),random(0,359),1)
TNT1 A 1
stop
}
}

actor TornadoBlowThrustFX1 : BasicClientSide
{
Scale 2.25
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"Spawn1","Spawn2","Spawn3")
Spawn1:
TBLO QRS 3
stop
Spawn2:
TBLO R 4
TBLO S 3
stop
Spawn3:
TBLO Q 1
TBLO R 3
TBLO S 4
stop
}
}

actor TornadoBlowThrustFX2 : BasicClientSide
{
Scale 2.25
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"Spawn1","Spawn2","Spawn3")
Spawn1:
TBLO QQQRRRSSS 1 A_ScaleVelocity(1.025)
stop
Spawn2:
TBLO RRRRSSS 1 A_ScaleVelocity(1.035)
stop
Spawn3:
TBLO QRRRSSSS 1 A_ScaleVelocity(1.030)
stop
}
}


ACTOR TornadoManLmaoEffect
{
  +CLIENTSIDEONLY
  +NOINTERACTION 
  Renderstyle "translucent"
  alpha 0.3
  Scale 2.5
  States
  {  
  Spawn:  
    M9TW A 2  
    M9TW A 2 
    TNT1 A 0 A_FadeIn(0.35)
	TNT1 A 0 A_SetScale(2.0) 
    M9TW B 2 
    M9TW B 2 
    TNT1 A 0 A_FadeOut(0.20)
	TNT1 A 0 A_SetScale(1.5) 
    M9TW A 2  
    M9TW A 2  
    TNT1 A 0 A_FadeOut(0.20)
	TNT1 A 0 A_SetScale(1.0)
    M9TW B 2  
    M9TW B 2 
    TNT1 A 0 A_FadeOut(0.20) 
	TNT1 A 0 A_SetScale(0.5)
    M9TW A 2 
    M9TW A 2 
	Stop
  }
} 
 
ACTOR TornadoManLmaoEffectUp
{
  +CLIENTSIDEONLY
  +NOINTERACTION 
  Renderstyle "translucent"
  alpha 0.3
  Scale 2.5
  States
  {  
  Spawn:  
    M9TW C 2  
    M9TW C 2 
    TNT1 A 0 A_FadeIn(0.35)
	TNT1 A 0 A_SetScale(2.0) 
    M9TW D 2 
    M9TW D 2 
    TNT1 A 0 A_FadeOut(0.20)
	TNT1 A 0 A_SetScale(1.5) 
    M9TW C 2  
    M9TW C 2  
    TNT1 A 0 A_FadeOut(0.20)
	TNT1 A 0 A_SetScale(1.0)
    M9TW D 2  
    M9TW D 2 
    TNT1 A 0 A_FadeOut(0.20) 
	TNT1 A 0 A_SetScale(0.5)
    M9TW C 2 
    M9TW C 2 
	Stop
  }
} 
 
ACTOR TornadoManLmaoEffectDown
{
  +CLIENTSIDEONLY
  +NOINTERACTION 
  Renderstyle "translucent"
  alpha 0.3
  Scale 2.5
  States
  {  
  Spawn:  
    M9TW E 2  
    M9TW E 2 
    TNT1 A 0 A_FadeIn(0.35)
	TNT1 A 0 A_SetScale(2.0) 
    M9TW F 2 
    M9TW F 2 
    TNT1 A 0 A_FadeOut(0.20)
	TNT1 A 0 A_SetScale(1.5) 
    M9TW E 2  
    M9TW E 2  
    TNT1 A 0 A_FadeOut(0.20)
	TNT1 A 0 A_SetScale(1.0)
    M9TW F 2  
    M9TW F 2 
    TNT1 A 0 A_FadeOut(0.20) 
	TNT1 A 0 A_SetScale(0.5)
    M9TW E 2 
    M9TW E 2 
	Stop
  }
} 
 
ACTOR TornadoManLmaoEffectSpammer
{
  +CLIENTSIDEONLY
  +NOINTERACTION 
  States
  {
  Spawn:
    TNT1 AAA 1 A_SpawnItemEx("TornadoManLmaoEffect",0,0,0,0,0,0,0,1)
	Stop
  }
}

ACTOR TornadoManLmaoEffectSpammerUp
{
  +CLIENTSIDEONLY
  +NOINTERACTION 
  States
  {
  Spawn:
    TNT1 AAA 1 A_SpawnItemEx("TornadoManLmaoEffectUp",0,0,0,0,0,0,0,1)
	Stop
  }
}

ACTOR TornadoManLmaoEffectSpammerDown
{
  +CLIENTSIDEONLY
  +NOINTERACTION 
  States
  {
  Spawn:
    TNT1 AAA 1 A_SpawnItemEx("TornadoManLmaoEffectDown",0,0,0,0,0,0,0,1)
	Stop
  }
}

actor FloorTornadoBlow
{
var int user_P;
PROJECTILE
damagetype "TornadoM_Lift"
Obituary "$OB_TORNADOBLOW"
+THRUACTORS
damage 0
radius 4
height 4
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
TNT1 A 0 A_PlaySound("weapon/tornadoblowhold",CHAN_BODY,0.25,1)
SpawnLOOP:
X_9B B 0
X_9B B 0 ThrustThingZ(0,5,0,0)
X_9B B 0 A_Explode(3,80,0,0,81)
X_9B B 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B C 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B B 0 ThrustThingZ(0,10,0,1)
X_9B B 0 A_Explode(3,80,0,0,81)
X_9B D 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B E 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B B 0 ThrustThingZ(0,10,0,1)
X_9B B 0 A_Explode(3,80,0,0,81)
X_9B B 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B C 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B B 0 ThrustThingZ(0,15,0,1)
X_9B B 0 A_Explode(3,80,0,0,81)
X_9B D 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B E 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B B 0 ThrustThingZ(0,15,0,1)
X_9B B 0 A_Explode(3,80,0,0,81)
Spawn2:
X_9B B 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B C 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B B 0 A_Explode(6+user_P,80,0,0,81)
X_9B D 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B E 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B B 0 A_SetUserVar("user_P",user_P+1)
X_9B B 0 A_Explode(6+user_P,80,0,0,81)
X_9B B 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B C 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B B 0 A_Explode(6+user_P,80,0,0,81)
X_9B D 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B E 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerUp",Random(-70,70),Random(-70,70),Random(0,210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
X_9B B 0 A_Explode(6+user_P,80,0,0,81)
loop

Death:
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("TornadoBlowThrustFX1",random(2,12),0,random(-8,8),random(0,1),0,random(-1,1),random(0,359),1)
stop
}
}

actor TornadoM_LiftProtect : PowerProtection
{
Powerup.Duration 6
DamageFactor "TornadoM_Lift", 0.0
}

actor CeilingTornadoBlow
{
var int user_P;
PROJECTILE
damagetype "TornadoM_Slam"
Obituary "$OB_TORNADOBLOW"
+THRUACTORS
damage 0
radius 4
height 4
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
TNT1 A 0 A_PlaySound("weapon/tornadoblowhold",CHAN_BODY,0.25,1)
SpawnLOOP:
TORG V 0
TORG V 0 ThrustThingZ(0,-5,0,0)
TORG V 0 A_Explode(6,80,0,0,81)
TORG V 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY) 
TORG W 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG X 0 ThrustThingZ(0,-10,0,1) 
TORG X 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG Y 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG V 0 ThrustThingZ(0,-10,0,1)
TORG V 0 A_Explode(6,80,0,0,81)
TORG V 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY) 
TORG W 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG X 0 ThrustThingZ(0,-15,0,1)
TORG X 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG Y 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-140),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG V 0 ThrustThingZ(0,-15,0,1)
TORG V 0 A_Explode(6,80,0,0,81)
Spawn2:
TORG V 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY) 
TORG W 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY) 
TORG X 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY) 
TORG Y 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG V 0 A_SetUserVar("user_P",user_P+1)
TORG V 0 A_Explode(6+user_P,80,0,0,81)
TORG V 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY) 
TORG W 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY) 
TORG X 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY) 
TORG Y 2 A_SpawnItemEx("TornadoManLmaoEffectSpammerDown",Random(-70,70),Random(-70,70),Random(0,-210),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG V 0 A_Explode(6+user_P,80,0,0,81)
loop

Death:
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("TornadoBlowThrustFX1",random(2,12),0,random(-8,8),random(0,1),0,random(-1,1),random(0,359),1)
stop
}
}

actor TornadoM_SlamProtect : PowerProtection
{
Powerup.Duration 4
DamageFactor "TornadoM_Slam", 0.0
}

// [BG] Quick rundown on these things
// Meleerange --> Base damage regardless of height
// Args[0]	  --> Height damage divided by 8 so the max dmg output is around 38~40

// [NF] seethe

actor BeingTornadoM_Slammed : Powerup
{
Powerup.Duration 35
}

actor G_TornadoSlamCollide : BasicCollideSlam
{
damagetype "TornadoM_Dunked"
Obituary "$OB_TORNADOSMASH"
Mass 1
Meleerange 17

states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(Meleerange+Args[0]/8,15,0,0,15)
TNT1 A 3
stop
}
}

actor G_TornadoSlamCollideX : BasicCollideSlam
{
damagetype "TornadoM_Dunked"
Obituary "$OB_TORNADOSMASHX"
Mass 1
Meleerange 13
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(Meleerange+Args[0]/8,15,0,0,15)
TNT1 A 3
stop
}
}

actor TornadoM_WallProtect : PowerProtection
{
Powerup.Duration 6
DamageFactor "TornadoM_Wall", 0.0
}

actor HorizontalTornadoBlow
{
PROJECTILE
Obituary "$OB_TORNADOBLOW_W"
DamageType "TornadoM_Wall"
+THRUACTORS
damage 0
radius 4
height 4
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
TNT1 A 0 A_PlaySound("weapon/tornadoblowhold",CHAN_BODY,0.25,1)
SpawnLOOP:
TORG N 0 A_ChangeVelocity(2,0,0,1)//ThrustThing(angle*256/360,2,1,0)
TORG N 0 A_Explode(4,80,0,0,81)
TORG N 0 ACS_ExecuteAlways(347,0,120,120,18)//196,196,64)
TORG N 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG O 0 A_Explode(4,80,0,0,81)
TORG O 0 ACS_ExecuteAlways(347,0,120,120,18)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG O 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG P 0 A_Explode(4,80,0,0,81)
TORG P 0 ACS_ExecuteAlways(347,0,120,120,18)
TORG P 0 A_ChangeVelocity(4,0,0,1)
TORG P 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(-70,70),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG Q 0 A_Explode(4,80,0,0,81)
TORG Q 0 ACS_ExecuteAlways(347,0,120,120,18)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,140),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG Q 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,140),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY) 
TORG N 0 A_ChangeVelocity(4,0,0,1)
TORG N 0 A_Explode(4,80,0,0,81)
TORG N 0 ACS_ExecuteAlways(347,0,120,120,18)
TORG N 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,140),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG O 0 A_Explode(4,80,0,0,81)
TORG O 0 ACS_ExecuteAlways(347,0,120,120,18)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,140),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG O 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,140),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG P 0 A_Explode(4,80,0,0,81)
TORG P 0 ACS_ExecuteAlways(347,0,120,120,18)
TORG P 0 A_ChangeVelocity(6,0,0,1)
TORG P 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,210),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG Q 0 A_Explode(4,80,0,0,81)
TORG Q 0 ACS_ExecuteAlways(347,0,120,120,18)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,210),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG Q 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,210),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG N 0 A_Explode(4,80,0,0,81)
TORG N 0 ACS_ExecuteAlways(347,0,120,120,18)
TORG N 0 A_ChangeVelocity(6,0,0,1)
Spawn2:
TORG N 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,210),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG O 0 A_Explode(4,80,0,0,81)
TORG O 0 ACS_ExecuteAlways(347,0,120,120,18)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,210),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG O 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,210),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG P 0 A_Explode(4,80,0,0,81)
TORG P 0 ACS_ExecuteAlways(347,0,120,120,18)
TORG P 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,210),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG Q 0 A_Explode(4,80,0,0,81)
TORG Q 0 ACS_ExecuteAlways(347,0,120,120,18)
TNT1 A 0 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,210),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG Q 2 A_SpawnItemEx("TornadoManLmaoEffectSpammer",Random(0,210),Random(-70,70),Random(-70,70),-momx/2,-momy/2,-momz/2,0,1|SXF_ABSOLUTEVELOCITY)
TORG N 0 A_Explode(4,80,0,0,81)
TORG N 0 ACS_ExecuteAlways(347,0,120,120,18)
loop

Death:
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("TornadoBlowThrustFX1",random(2,12),0,random(-8,8),random(0,1),0,random(-1,1),random(0,359),1)
stop
}
} 

actor TornadoLeapCrush
{
PROJECTILE
damagetype "TornadoM_Leap"
Obituary "$OB_TORNADOSTOMP"
+DONTBLAST
+DONTREFLECT
+THRUGHOST
renderstyle none
damage (25)//40
Radius 26//32
Height 5//25
States
{
Spawn:
TNT1 A 1
stop
Spawn2:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("classes/TornadoFly","Weapon")
TNT1 AAA 1
stop
Death:
TNT1 A 0
stop
XDeath:
TNT1 A 0 //A_GiveToTarget("TornadoStompBounce",1)
TN_B FGHIJKLMNOPQRS 2
stop
}
}

actor TornadoM_LeapProtect : PowerProtection
{
Powerup.Duration 6
DamageFactor "TornadoM_Leap", 0.0
}

actor TornadoM_Leap_Pickup : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/ToadCrush","Voice")
goto PickupT
PickupT:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_JAX_CHECK_JUMP)==1,"PickupT2")
goto PickupT1
PickupT1:
TNT1 A 0 ThrustThingZ(0,48,0,0)
stop
PickupT2:
TNT1 A 0 ThrustThingZ(0,72,0,0)
stop
}
}

actor TornadoSlowGFX
{
+NOGRAVITY
+THRUACTORS
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
+MISSILE
Damage(0)
Height 2
Radius 2
Scale 0.75
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,1,3,5,7)
goto Spawn2
Spawn2:
X_9B B 2 A_Fadeout(0.085)
X_9B C 0 ThrustThingZ(0,random(1,3),0,1)
X_9B C 2 A_Fadeout(0.085)
X_9B D 0 ThrustThingZ(0,random(1,3),0,1)
X_9B D 2 A_Fadeout(0.085)
X_9B E 0 ThrustThingZ(0,random(1,3),0,1)
X_9B E 2 A_Fadeout(0.085)
X_9B B 0 ThrustThingZ(0,random(1,3),0,1)
loop
}
}



actor TornadomanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("TornadoShotX",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("TornadoShotXB",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("TornadoShotXR",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("TornadoShotXO",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("TornadoShotXP",0,1,8,0)
goto Done
}
}

actor TornadomanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("TornadoShotXFast",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("TornadoShotXFastB",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("TornadoShotXFastR",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("TornadoShotXFastO",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("TornadoShotXFastP",0,1,8,0)
goto Done
}
}


actor TornadomanOther_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 //A_RadiusGive("TornadoBlowThrustTeam",192,2)
goto Done
FireB:
TNT1 A 0 A_RadiusGive("TornadoBlowThrustTeam_B",192,2)//RGF_PLAYERS = 2|RGF_NOTARGET = 64
goto Done
FireR:
TNT1 A 0 A_RadiusGive("TornadoBlowThrustTeam_R",192,2)
goto Done
FireO:
TNT1 A 0 A_RadiusGive("TornadoBlowThrustTeam_O",192,2)
goto Done
FireP:
TNT1 A 0 A_RadiusGive("TornadoBlowThrustTeam_P",192,2)
goto Done
}
}
