actor DropThunderWep_NormalBar : NormalBar{args 210, 75}
actor DropThunderWep : BaseMM8BDMWep
{
Weapon.AmmoUse 7
Weapon.AmmoGive 28
Weapon.SlotNumber 6
Inventory.Pickupmessage "$PU_DROPTHUNDER"
Obituary "$OB_DROPTHUNDER"
Tag "$TAG_DROPTHUNDER"
weapon.ammotype "DropThunderAmmo"
inventory.icon "DTHNICON"
States
{
SpawnLoop:
DTHN Z 1
loop
Ready:
DTHN A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_DROPTHUNDER)
DTHN A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
DTHN A 0
goto DeselectSwap
Select:
DTHN A 0
goto SelectSwap
Fire:
DTHN A 0 A_JumpIfNoAmmo("NoAmmo")
DTHN A 1 //A_Stop
DTHN A 0 A_ChangeVelocity(momx/2,momy/2,1+CallACS("CBM_FetchJumpZ"),2)
DTHN A 0 A_PlaySoundEx("weapon/thunderbolt","Weapon")
DTHN A 0 A_PlaySoundEx("weapon/junkshield","Voice")
DTHN A 0 A_TakeInventory("DropThunderAmmo",4,TIF_NOTAKEINFINITE)
DTHN A 0 A_SpawnItemEx("DropThunderSplit",0,0,0,0,0,-50)
DTHN AABBB 1
DTHN A 0 
DTHN A 0 
DTHN A 0 
FireEnd:
DTHN CB 7
DTHN A 15
DTHN A 0 A_Refire
Goto Ready+1
NoAmmo:
DTHN A 1 ACS_NamedExecute("core_noammo",0)
Goto Ready+1
}
}

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

actor DropThunderSplit : BasicProjectile
{
+BRIGHT
translation "197:197=210:210"
damagetype "DropThunder"
Obituary "$OB_DROPTHUNDER"
PROJECTILE
+RIPPER
Speed 50
radius 16
height 16
damage(CallACS("vile_cbm_damage",42))
scale 1.75
States
{
Spawn:
DTHN D 2
SpawnLoop:
DTHN DEDE 2
loop
Death:
WCPJ KLP 2
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,0)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 1)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 2)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 3)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 4)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 5)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 6)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 7)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 8)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 9)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 10)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 11)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 12)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 13)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 14)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 15)
WCPJ K 0 A_SpawnItemEx("DropThunderLit",0,0,0,20,0,0,22.5 * 16)

WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,0)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 1)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 2)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 3)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 4)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 5)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 6)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 7)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 8)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 9)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 10)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 11)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 12)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 13)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 14)
WCPJ J 0 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 15)
WCPJ J 1 A_SpawnItemEx("DropThunderLit",0,0,0,50,0,0,22.5 * 16)

WCPJ J 0
stop
}
}

actor DropThunderLit : BasicProjectile
{
+BRIGHT
translation "197:197=210:210"
PROJECTILE
Height 16
scale 1.25
Radius 16
gravity 100
-NOGRAVITY
+THRUACTORS
+NOEXPLODEFLOOR
+STEPMISSILE
maxstepheight 24
+RIPPER
damagetype "DropThunder"
Obituary "$OB_DROPTHUNDER"
Damage (CallACS("vile_cbm_damage",6))
Speed 50
States
{
Spawn:
WCPJ M 0
WCPJ M 1
WCPJ N 0 A_ChangeFlag("THRUACTORS",0)
Spawn2:
WCPJ NONM 2
loop
}
}

actor DropThunderProtect : PowerProtection
{
powerup.duration 2
damagefactor "DropThunder", 0.5
}