actor Tornadoman_W : BaseMM8BDMWep_CBM
{
tag "$TAGC_9B"
dropitem "TornadoBlowWep"
Weapon.AmmoUse 7
Weapon.AmmoGive 56
Obituary "$OB_TORNADOMAIN"
Inventory.Pickupmessage "You got the power of the winds!"
weapon.ammotype "GoneWithTheWindAmmo"//RashidoooooAmmo
weapon.ammotype2 "DoTheTwistAmmo"
States
{
Spawn:
C_09 B 1
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")
goto DeselectSwap
Select:
TORG A 0
goto SelectSwap

Ready:
TORG A 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_TORNADOMAN)
TORG A 0 A_GunFlash("Flash",1)
goto Ready1
Ready1:
TORG A 0 A_JumpIfInventory("GoneWithTheWindAmmo",7,"Ready2")
TORG A 3 A_WeaponReady(WRF_NOPRIMARY)
TORG A 0 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("DoTheTwistAmmo",1)
TORG A 0
loop
Ready2:
TORG A 3 A_WeaponReady
TORG A 0 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG A 0 A_JumpIfInventory("TornadoHoverActive",1,2)
TORG A 0 A_GiveInventory("DoTheTwistAmmo",1)
TORG A 0
loop

Fire:
TORG B 0 A_JumpIfInventory("IsBot",1,"BotFire")
TORG BC 2
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("GoneWithTheWindAmmo",28)
goto Fire+1

NoAmmoM:
TORG CB 2
Goto Ready1

FireCheck:
TORG D 0 A_JumpIfNoAmmo("NoAmmoM")
TORG D 0 A_PlaySoundEx("weapon/tornadoshoot","Weapon")
TORG D 0 A_FireCustomMissile("TornadoShotX",0,1,8,0)
TORG D 1
goto EndFire

EndFire:
TORG E 1 A_JumpIfInventory("PlayerPropertyRage",1,2)
TORG DE 1
TORG D 1 A_JumpIfInventory("PlayerPropertyRage",1,2)
TORG ED 1
TORG E 1 A_JumpIfInventory("PlayerPropertyRage",1,2)
TORG DE 1
TORG F 0 A_Refire("FireCheck")
TORG CB 2
Goto Ready1

AltFire:
TORG G 0 A_GiveInventory("WeaponCharge",1)
TORG F 3
TORG G 0 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG GHI 2
TORG J 0 A_PlaySoundEx("weapon/tornadoblow","Weapon")
goto AltFire1
AltFire1:
TORG J 0 A_SpawnItemEx("TornadoDamagerC")
TORG J 0 A_GiveInventory("TornadoBlowThrust_P",1)
TORG J 3 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG K 0 A_SpawnItemEx("TornadoDamagerC")
TORG K 0 A_GiveInventory("TornadoBlowThrust_P",1)
TORG K 3
TORG J 0 A_SpawnItemEx("TornadoDamagerC")
TORG J 0 A_GiveInventory("TornadoBlowThrust_P",1)
TORG J 3 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG K 0 A_SpawnItemEx("TornadoDamagerC")
TORG K 0 A_GiveInventory("TornadoBlowThrust_P",1)
TORG K 3
TORG K 0 A_Refire("AltFireH1")
goto AltFireEnd1

AltFireH1:
TORG J 0 //A_SpawnItemEx("TornadoDamagerC2")
TORG J 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG J 3 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG K 0 A_Refire("AltFireH2")
goto AltFireEnd2
AltFireH2:
TORG K 0 A_SpawnItemEx("TornadoDamagerC2")
TORG K 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG K 3
TORG K 0 A_Refire("AltFireH1")
goto AltFireEnd1

AltFireEnd1:
TORG J 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG J 3 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG K 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG K 3
goto AltFireEnd
AltFireEnd2:
TORG K 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG K 3 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG J 0 A_GiveInventory("TornadoBlowThrust_P2",1)
TORG J 3
goto AltFireEnd

AltFireEnd:
TORG I 0 A_TakeInventory("WeaponCharge")
TORG I 0 A_TakeInventory("CutterFlag")
TORG I 0 A_GiveInventory("TornadoM_StaminaFlag",random(42,53))
TORG I 3 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG I 3 A_GiveInventory("TornadoM_StaminaFlag",random(42,53))

TORG I 0 A_GiveInventory("GoneWithTheWindAmmo",1)
TORG IHG 2 A_GiveInventory("TornadoM_StaminaFlag",random(42,53))

TORG L 0 A_GiveInventory("TornadoM_StaminaFlag",500)
TORG L 3 A_GiveInventory("GoneWithTheWindAmmo",1)
Goto Ready1

Flash:
TNT1 A 1 A_JumpIfInventory("TornadoHoverActive",1,1)
loop
TNT1 A 0 A_JumpIfInventory("DoTheTwistAmmo",1,2)
TNT1 A 1 A_TakeInventory("TornadoHoverActive")
loop
TNT1 A 1 A_GiveInventory("TornadoHoverFlash_P",1)
loop
}
}

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

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

actor TornadoM_StaminaFlag : Inventory
{
inventory.amount 1
inventory.maxamount 500
}

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,5)
TNT1 A 0 A_GiveInventory("TornadoHoverDelay",1)
TNT1 A 0 A_JumpIfInventory("EndlessAmmoCycle_F",1,"Endless")
TNT1 A 0 A_GiveInventory("EndlessAmmoCycle_F",1)
TNT1 A 0 A_TakeInventory("DoTheTwistAmmo",1)
TNT1 A 0 A_JumpIfInventory("TornadoHoverActive",1,"P_Hover")
stop
Endless:
TNT1 A 0 A_TakeInventory("EndlessAmmoCycle_F")
TNT1 A 0 A_TakeInventory("DoTheTwistAmmo",1,1)
TNT1 A 0 A_JumpIfInventory("TornadoHoverActive",1,"P_Hover")
stop
P_Hover:
TNT1 A 0 A_JumpIfInventory("PlayerPropertyGrounded",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(CallACS("cbm_GetPointerButtonInput",0,true) & BT_JUMP,"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 ThrustThingZ(0,3,1,0)
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 : BasicClassItem
{
inventory.icon "TORNAHOV"
inventory.pickupmessage "\cdGreen eyes are the new blue."
Tag "Tornado Hover Toggle"
states
{
Spawn:
TORG Z 1
wait
UseCBM:
TNT1 A 0 A_PlaySoundEx("item/ItemUseMM9","SoundSlot7")
TNT1 A 0 A_JumpIfInventory("TornadoHoverActive",1,"UseTake")
TNT1 A 0 A_JumpIfInventory("DoTheTwistAmmo",4,"Use2")
fail
Use2:
TNT1 A 0 A_TakeInventory("DoTheTwistAmmo",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 : ProjSpawnFuncActor
{
var int user_TranslateWhiteColors;
PROJECTILE
DamageType "TornadoM_Shot"
Obituary "$OB_TORNADOMAIN"
+RIPPER
+SKYEXPLODE
+EXPLODEONWATER
+DONTREFLECT
+NOTARGETSWITCH
damage (60)
Radius 9
Height 9
speed 40
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,1,2,3,4)
9P_B RSTU 2
goto Spawn+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:
9P_B NNO 1 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B O 0 A_JumpIfInventory("ClashLaunched4",1,"WallWait4")
9P_B O 0 A_JumpIfInventory("ClashLaunched3",1,"WallWait3")
9P_B O 0 A_JumpIfInventory("ClashLaunched2",1,"WallWait2")
9P_B O 0 A_JumpIfInventory("ClashLaunched1",1,"WallWait1")
goto WallWait1
WallWait1:
9P_B O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B O 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B P 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B P 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B Q 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B Q 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B N 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"XDeath")
9P_B N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B N 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B N 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B O 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
loop
WallWait2:
9P_B O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B O 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B P 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B P 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B Q 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B Q 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B N 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"XDeath")
9P_B N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B N 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B N 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B O 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
loop
WallWait3:
9P_B O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B O 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B P 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B P 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B Q 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B Q 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B N 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"XDeath")
9P_B N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B N 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B N 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B O 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
loop
WallWait4:
9P_B O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B O 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B P 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B P 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B P 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B Q 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B Q 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B Q 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B N 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"XDeath")
9P_B N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B N 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B N 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B N 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B O 0 A_JumpIfInTargetInventory("WeaponCharge",1,"WallFire")
9P_B O 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
loop
WallFire:
TNT1 A 0 A_SpawnItemEX("HorizontalTornadoBlow")
goto XDeath

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

Ceiling:
9P_B VVW 1 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B W 0 A_JumpIfInventory("ClashLaunched4",1,"Ceiling4")
9P_B W 0 A_JumpIfInventory("ClashLaunched3",1,"Ceiling3")
9P_B W 0 A_JumpIfInventory("ClashLaunched2",1,"Ceiling2")
9P_B W 0 A_JumpIfInventory("ClashLaunched1",1,"Ceiling1")
goto Ceiling1
Ceiling1:
9P_B W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B W 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B X 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B X 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B Y 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B Y 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B V 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"XDeath")
9P_B V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B V 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B V 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
9P_B W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B W 1 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath1")
loop
Ceiling2:
9P_B W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B W 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B X 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B X 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B Y 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B Y 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B V 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"XDeath")
9P_B V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B V 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B V 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
9P_B W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B W 1 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath2")
loop
Ceiling3:
9P_B W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B W 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B X 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B X 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B Y 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B Y 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B V 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"XDeath")
9P_B V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B V 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B V 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
9P_B W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B W 1 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath3")
loop
Ceiling4:
9P_B W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B W 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B X 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B X 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B X 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B Y 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B Y 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B Y 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B V 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"XDeath")
9P_B V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B V 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B V 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B V 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
9P_B W 0 A_JumpIfInTargetInventory("WeaponCharge",1,"CeilingFire")
9P_B W 1 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath4")
loop
CeilingFire:
TNT1 A 0 A_SpawnItemEX("CeilingTornadoBlow")
goto XDeath

Crash:
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 TornadoBlowThrustTeam : CustomInventory
{
States
{
Pickup2:
TNT1 A 0 A_JumpIf(z-floorz<5,"No")
TNT1 A 0 A_JumpIf(!(CallACS("cbm_GetPointerButtonInput",0,true) & BT_JUMP),"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(CallACS("core_getplayerteam",-1)==0,"Pickup2")
stop
}
}
actor TornadoBlowThrustTeam_R : TornadoBlowThrustTeam
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(CallACS("core_getplayerteam",-1)==1,"Pickup2")
stop
}
}
actor TornadoBlowThrustTeam_O : TornadoBlowThrustTeam
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(CallACS("core_getplayerteam",-1)==2,"Pickup2")
stop
}
}
actor TornadoBlowThrustTeam_P : TornadoBlowThrustTeam
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(CallACS("core_getplayerteam",-1)==3,"Pickup2")
stop
}
}


actor Tornadoman_TeamThrust_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_Jumpifintargetinventory("LightTeamFlag",1,"TeamBlue")
TNT1 A 0 A_Jumpifintargetinventory("WilyTeamFlag",1,"TeamRed")
TNT1 A 0 A_Jumpifintargetinventory("CossackTeamFlag",1,"TeamGreen")
TNT1 A 0 A_Jumpifintargetinventory("KingTeamFlag",1,"TeamGold")
TNT1 A 0
stop
TeamBlue:
TNT1 A 0 A_RadiusGive("TornadoBlowThrustTeam_B",192,2)//RGF_PLAYERS = 2|RGF_NOTARGET = 64
goto Done
TeamRed:
TNT1 A 0 A_RadiusGive("TornadoBlowThrustTeam_R",192,2)
goto Done
TeamGreen:
TNT1 A 0 A_RadiusGive("TornadoBlowThrustTeam_O",192,2)
goto Done
TeamGold:
TNT1 A 0 A_RadiusGive("TornadoBlowThrustTeam_P",192,2)
goto Done
}
}


actor TornadoBlowThrust_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("TornadoBlowThrustHelper")
TNT1 A 0 A_GiveInventory("Tornadoman_TeamThrust_P")
TNT1 A 0 A_JumpIf(z-floorz<5,"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("TornadoM_StaminaFlag",1,"Success")
goto No
Success:
TNT1 A 0 A_TakeInventory("TornadoM_StaminaFlag",1)
TNT1 A 0 A_SpawnItemEx("TornadoBlowThrustHelper")
TNT1 A 0 A_GiveInventory("Tornadoman_TeamThrust_P")
TNT1 A 0 A_JumpIf(z-floorz<5,"No")
TNT1 A 0 ThrustThingZ(0,3,0,1)
stop
}
}

actor TornadoBlowThrustHelper : BasicExplosion//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 : BasicImplosion
{
damagetype "TornadoM_Blow"
Obituary "$OB_TORNADOBLOW"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(50+CallACS("core_checkrune",RUNE_SPREAD,2)*100,96,0,0,97)
stop
}
}

actor TornadoDamagerC2 : BasicImplosion
{
damagetype "TornadoM_Blow2"
Obituary "$OB_TORNADOBLOW"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(20+CallACS("core_checkrune",RUNE_SPREAD,2)*40,96,0,0,97)
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 : BasicGraphicEffect
{
var int user_TranslateWhiteColors;
Scale 2.25
States
{
SpawnFrame:
TNT1 A 0
TNT1 A 0 A_Jump(256,"Spawn1","Spawn2","Spawn3")
Spawn1:
9P_B KLM 3
stop
Spawn2:
9P_B L 4
9P_B M 3
stop
Spawn3:
9P_B K 1
9P_B L 3
9P_B M 4
stop
}
}

actor TornadoBlowThrustFX2 : TornadoBlowThrustFX1
{
var int user_TranslateWhiteColors;
States
{
SpawnFrame:
TNT1 A 0
TNT1 A 0 A_Jump(256,"Spawn1","Spawn2","Spawn3")
Spawn1:
9P_B KKKLLLMMM 1 A_ScaleVelocity(1.025)
stop
Spawn2:
9P_B LLLLMMM 1 A_ScaleVelocity(1.035)
stop
Spawn3:
9P_B KLLLMMMM 1 A_ScaleVelocity(1.030)
stop
}
}



actor FloorTornadoBlow : ProjSpawnFuncActor
{
var int user_TranslateWhiteColors;
var int user_P;
PROJECTILE
damagetype "TornadoM_Lift"
Obituary "$OB_TORNADOBLOW"
+THRUACTORS
+DONTREFLECT
damage 0
radius 4
height 4
Scale 2.5
States
{
Spawn:
9P_B B 0
9P_B B 0 ThrustThingZ(0,5,0,0)
9P_B B 0 A_Explode(30,96,0,0,97)
9P_B BC 2
9P_B B 0 ThrustThingZ(0,10,0,1)
9P_B B 0 A_Explode(30,96,0,0,97)
9P_B DE 2
9P_B B 0 ThrustThingZ(0,10,0,1)
9P_B B 0 A_Explode(30,96,0,0,97)
9P_B BC 2
9P_B B 0 ThrustThingZ(0,15,0,1)
9P_B B 0 A_Explode(30,96,0,0,97)
9P_B DE 2
9P_B B 0 ThrustThingZ(0,15,0,1)
9P_B B 0 A_Explode(30,96,0,0,97)
Spawn2:
9P_B BC 2
9P_B B 0 A_Explode(60+user_P,96,0,0,97)
9P_B DE 2
9P_B B 0 A_SetUserVar("user_P",user_P+10)
9P_B B 0 A_Explode(60+user_P,96,0,0,97)
9P_B BC 2
9P_B B 0 A_Explode(60+user_P,96,0,0,97)
9P_B DE 2
9P_B B 0 A_Explode(60+user_P,96,0,0,97)
loop
}
}

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

actor CeilingTornadoBlow : ProjSpawnFuncActor
{
var int user_TranslateWhiteColors;
var int user_P;
PROJECTILE
damagetype "TornadoM_Slam"
Obituary "$OB_TORNADOBLOW"
+THRUACTORS
+DONTREFLECT
damage 0
radius 4
height 4
Scale 2.5
States
{
Spawn:
9P_B V 0
9P_B V 0 ThrustThingZ(0,-5,0,0)
9P_B V 0 A_Explode(60,96,0,0,97)
9P_B VW 2
9P_B X 0 ThrustThingZ(0,-10,0,1)
9P_B XY 2
9P_B V 0 ThrustThingZ(0,-10,0,1)
9P_B V 0 A_Explode(60,96,0,0,97)
9P_B VW 2
9P_B X 0 ThrustThingZ(0,-15,0,1)
9P_B XY 2
9P_B V 0 ThrustThingZ(0,-15,0,1)
9P_B V 0 A_Explode(60,96,0,0,97)
Spawn2:
9P_B VWXY 2
9P_B V 0 A_SetUserVar("user_P",user_P+10)
9P_B V 0 A_Explode(60+user_P,96,0,0,97)
9P_B VWXY 2
9P_B V 0 A_Explode(60+user_P,96,0,0,97)
loop
}
}

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


actor PainTornadoM_SlamHit : BasicPain_SlamHit//Tornadoman
{
States
{
Collide:
TNT1 A 2 A_SpawnItemEX("G_TornadoSlamCollide",0,0,28,0,0,0,0,SXF_TRANSFERSPECIAL)
TNT1 A 2 A_TakeInventory("BeingTornadoM_Slammed",9,0,8)
stop
CollideX:
TNT1 A 2 A_SpawnItemEX("G_TornadoSlamCollideX",0,0,28,0,0,0,0,SXF_TRANSFERSPECIAL)
TNT1 A 2 A_TakeInventory("BeingTornadoM_Slammed",9,0,8)
stop
}
}


actor G_TornadoSlamCollide : BasicCollideSlam
{
damagetype "TornadoM_Dunked"
Obituary "$OB_TORNADOSMASH"
Meleerange 15
}

actor G_TornadoSlamCollideX : BasicCollideSlam
{
damagetype "TornadoM_Dunked"
Obituary "$OB_TORNADOSMASHX"
Meleerange 15
}

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

actor HorizontalTornadoBlow : ProjSpawnFuncActor
{
var int user_TranslateWhiteColors;
PROJECTILE
Obituary "$OB_TORNADOBLOW_W"
DamageType "TornadoM_Wall"
+THRUACTORS
+DONTREFLECT
damage 0
radius 4
height 4
Scale 2.5
States
{
Spawn:
9P_B N 0 A_ChangeVelocity(2,0,0,1)//ThrustThing(angle*256/360,2,1,0)
9P_B N 0
9P_B NO 2 A_Explode(40,96,0,0,96+CallACS("cbm_TornadoRF_Push",160,160,18))//196,196,64)
9P_B P 0 A_ChangeVelocity(4,0,0,1)
9P_B PQ 2 A_Explode(40,96,0,0,96+CallACS("cbm_TornadoRF_Push",160,160,18))
9P_B N 0 A_ChangeVelocity(4,0,0,1)
9P_B NO 2 A_Explode(40,96,0,0,96+CallACS("cbm_TornadoRF_Push",160,160,18))
9P_B P 0 A_ChangeVelocity(6,0,0,1)
9P_B PQ 2 A_Explode(40,96,0,0,96+CallACS("cbm_TornadoRF_Push",160,160,18))
9P_B N 0 A_ChangeVelocity(6,0,0,1)
Spawn2:
9P_B NOPQ 2 A_Explode(40,96,0,0,96+CallACS("cbm_TornadoRF_Push",160,160,18))
loop
}
}


actor PainTornadoM_LeapHit : BasicWatcher
{
States
{
Spawn:
TNT1 A 0 nodelay A_GiveToTarget("TornadoM_Leap_Hit_P",1,AAPTR_TARGET)
stop
}
}

actor TornadoLeapCrush
{
PROJECTILE
damagetype "TornadoM_Leap"
Obituary "$OB_TORNADOSTOMP"
+DONTBLAST
+DONTREFLECT
+THRUGHOST
renderstyle none
damage (250+CallACS("core_checkrune",RUNE_SPREAD,2)*500)//400
Radius 26//32
Height 4//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)
TNT1 A 1 //A_SpawnItemEx("BasicBoom6FX_Y3",0,0,0,0,0,0,0,1+32)
stop
}
}

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

actor TornadoM_Leap_Hit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/ToadCrush","SoundSlot7")
TNT1 A 0 ThrustThingZ(0,48+((CallACS("cbm_GetPointerButtonInput",0,false) & BT_JUMP)>0)*24,0,0)
stop
}
}


actor Tornadoman_W_NormalBar : NormalBar {Args 4,109}
actor Tornadoman_W_SecondBar : SecondBar {Args 88,95}
actor Tornadoman_W_ScriptBar : ScriptBar {}