actor ScorchWheelWep : MegaBuster 10086
{
Weapon.AmmoUse 7
Weapon.AmmoGive 28
Weapon.SlotNumber 7
Obituary "%o was scorched by %k's Scorch Wheel."
Inventory.Pickupmessage "Power up! Scorch Wheel!"
weapon.ammotype "ScorchWheelAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
inventory.icon "SWHESI"
Scale 2.0
States
{
Spawn:
WEA3 M 1
loop
Ready:
SWHE G 0 ACS_ExecuteAlways(998,0,59)
TNT1 A 0 ACS_ExecuteAlways(191,0,0)
SWHE G 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
SWHE G 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SWHE G 1 A_Raise
Loop
Fire:
SWHE G 0 A_JumpIfNoAmmo("NoAmmo")
SWHE G 0 A_TakeInventory("BasicArmor",9999)
SWHE HIJKL 2
SWHE G 0 A_PlaySoundEx("weapon/scorchwheel","Weapon")
Goto Hold
Hold:
TNT1 A 0 ACS_ExecuteAlways(191,0,1)
TNT1 A 0 A_JumpIfInventory("WheelCount",15,"Throw")
TNT1 A 0 A_GiveInventory("WheelCount",1)
TNT1 AA 1 A_SpawnItemEx("ScorchWheelFX1",0,0,0,momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 AA 1 A_SpawnItemEx("ScorchWheelFX3",0,0,0,momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 AA 1 A_SpawnItemEx("ScorchWheelFX5",0,0,0,momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 0 A_Refire
Goto Throw
Throw:
TNT1 A 0 ACS_ExecuteAlways(191,0,0)
TNT1 A 0 A_TakeInventory("WheelCount",99)
TNT1 A 15 A_FireCustomMissile("ScorchWheel",0,1,0,0)
SWHE MN 2 A_ClearRefire
Goto Ready+1
NoAmmo:
SWHE G 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor WheelCount : Inventory
{
inventory.amount 1
inventory.maxamount 15
}

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

actor ScorchWheel
{
-SOLID
+MISSILE
+RIPPER
Radius 18
Height 40
scale 2.5
speed 16
damage 0
damagetype "Scorch"
maxstepheight 33
-NOGRAVITY
+DONTBLAST
+NOBLOOD
painchance 0
reactiontime 10
States
{
Spawn:
SWHE AB 2 A_Explode(19,128,0)
SWHE A 0 A_GiveInventory("Clip",1)
SWHE CDEF 2 A_Explode(4,100,0)
loop
Death:
TNT1 A 0 A_JumpIfInventory("Clip",1,"Continue")
TNT1 AAAA 0 A_SpawnItemEx("ScorchBit",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))
stop
Continue:
TNT1 A 0  A_CustomMissile("ScorchWheel",0,0,0,2,0)
TNT1 A 1
stop
}
}

actor WheelCheck
{
PROJECTILE
Damage 0
speed 60
radius 32
height 32
renderstyle none
States
{
Spawn:
PLAY A 4 
stop
Death:
PLAY H 0
PLAY H 20 A_SpawnItem("WheelBlocker")
stop
}
}

actor WheelBlocker
{
renderstyle none
+SOLID
+SHOOTABLE
+NOGRAVITY
+DONTRIP
Health 1
States
{
Spawn:
PLAY A 18
stop
Death:
PLAY A 1
stop
}
}

actor ScorchBit
{
damage 0
+RIPPER
-NOGRAVITY
+CLIENTSIDEONLY
-SOLID
scale 2.5
//+NOINTERACTION
Height 2
Radius 2
States
{
Spawn:
SWHE O 2
TNT1 A 2
SWHE O 2
TNT1 A 2
SWHE O 2
TNT1 A 2
SWHE O 2
TNT1 A 2
SWHE O 2
TNT1 A 2
stop
}
}

actor ScorchWheelFX1
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
SWHE A 1
SWHE A 1
stop
}
}

actor ScorchWheelFX2 : ScorchWheelFX1
{
States
{
Spawn:
SWHE B 1
SWHE B 1
stop
}
}

actor ScorchWheelFX3 : ScorchWheelFX1
{
States
{
Spawn:
SWHE C 1
SWHE C 1
stop
}
}

actor ScorchWheelFX4 : ScorchWheelFX1
{
States
{
Spawn:
SWHE D 1
SWHE D 1
stop
}
}

actor ScorchWheelFX5 : ScorchWheelFX1
{
States
{
Spawn:
SWHE E 1
SWHE E 1
stop
}
}

actor ScorchWheelFX6 : ScorchWheelFX1
{
States
{
Spawn:
SWHE F 1
SWHE F 1
stop
}
}
