//WEAPON BY MEGAVILE
//REWRITE BY CLOCK
actor ScrambleThunderWepC : BaseMM8BDMWep
{
dropitem "ScrambleThunderWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 28
Weapon.SlotNumber 6
Inventory.Pickupmessage "$PU_SCRAMBLETHUNDER"
Obituary "$OB_SCRAMBLETHUNDER"
Tag "$TAG_SCRAMBLETHUNDER"
weapon.ammotype "ScrambleThunderAmmo"
inventory.icon "STHUICON"
States
{
Spawn:
11WP B 1
loop
Ready:
STHU A 0 ACS_ExecuteAlways(998,0,DYE_SCRAMBLETHUNDER)
STHU A 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
STHU A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
STHU A 1 A_Raise
Loop
Fire:
STHU A 0 A_JumpIfNoAmmo("NoAmmo")
STHU A 0 A_PlaySound("weapon/scrambleshot","Weapon")
BBLL A 0 A_FireCustomMissile("ScrambleThunderBall",0,1,8,0)
STHU ABC 3
STHU A 0
STHU CB 3
STHU A 0 A_Refire
Goto Ready+1
NoAmmo:
STHU A 1 ACS_Execute(979,0)
Goto Ready+1
ReadyC:
Goto Ready+1
}
}

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

actor ScrambleThunderBall
{
Translation "192:192=212:212","198:198=228:228"
PROJECTILE
damagetype "ScrambleThunder"
Obituary "$OB_SCRAMBLETHUNDER"
+RIPPER
+BRIGHT
Damage (8)
Speed 50
Radius 8
Height 8
Scale 2.5
reactiontime 175
States
{
Spawn:
TNT1 AA 0 
SpawnLoop:
FSST ABCB 2 A_SpawnItemEx("ScrambleThunderBallFX",0,0,0,0,0,0,0,1)
loop
Death:
TNT1 A 0 A_PlaySound("fuseman/hvoltage","Weapon")
SCTH A 0 A_CheckFloor("SplitFloor")
TNT1 A 0 A_SpawnItemEx("ScrambleThunderFall",0,0,0,0,0,-35,0,1)
stop
SplitFloor:
TNT1 A 0 A_SpawnItemEx("ScrambleThunderSplitFloor",0,0,0,35,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ScrambleThunderSplitFloor",0,0,0,35,0,0,180,1)
stop
}
}

actor ScrambleThunderFall : ScrambleThunderBall
{
States
{
Spawn:
TNT1 AA 0 
SpawnLoop:
FSSI XYZY 2
loop
Death:
TNT1 A 0 A_PlaySound("fuseman/hvoltage","Weapon")
TNT1 A 0 A_SpawnItemEx("ScrambleThunderSplitFloor",0,0,0,35,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ScrambleThunderSplitFloor",0,0,0,35,0,0,180,1)
stop
}
}

actor ScrambleThunderSplitFloor
{
damagetype "DMGNoHitstun"
Obituary "$OB_SCRAMBLETHUNDER"
PROJECTILE
Radius 12
Height 12
scale 2.5
damage (0)
+BRIGHT
+FLOORHUGGER
+FORCEXYBILLBOARD
gravity 2
speed 50
reactiontime 175
States
{
Spawn:
TNT1 A 0 A_PlaySoundEx("weapon/scrambletravel","Weapon")
11FS ABCD 2 A_SpawnItemEx("FuseM_ThunderFX",0,0,0,0,0,0,0,1)
loop
XDeath:
TNT1 A 0 A_StopSoundEx("Weapon")
TNT1 A 0 A_SpawnItemEx("ScrambleThunderOrb",0,0,0,0,0,0,0,1)
stop
Death:
MMFX A 0 A_Stop
MMFX A 0 A_SetScale(3.5)
TNT1 A 0 A_StopSoundEx("Weapon")
X_2E D 0 A_PlaySound("weapon/blastpuff",0,0.5)
MMFX BCDE 2
stop
}
}

actor ScrambleThunderOrb
{
PROJECTILE
+BRIGHT
damagetype "DMGNoHitstun"
Obituary "$OB_SCRAMBLETHUNDER"
speed 0
Scale 2.5
+FORCEXYBILLBOARD
States
{
Spawn:
11FS A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySound("weapon/scrambleboom","Weapon")
11FS H 2 A_Explode(4, 128, 0,0,128)
11FS I 2 A_Stop
11FS J 2 A_Explode(4, 128, 0,0,128)
11FS K 2 A_Stop
11FS J 2 A_Explode(4, 128, 0,0,128)
11FS L 2 A_Stop
11FS J 2 A_Explode(4, 128, 0,0,128)
11FS M 2 A_Stop
stop
}
}

actor ScrambleThunderBallFX
{
+NOINTERACTION
Scale 2
+NOGRAVITY
+FORCEXYBILLBOARD
States
{
Spawn:
TNT1 AA 0
FSST DE 2
stop
}
}