actor GolemPoundWep_NormalBar : NormalBar{args 87,198}
actor GolemPoundWep : BaseMM8BDMWep 
{
Weapon.AmmoUse 1
Weapon.AmmoGive 112
Weapon.SlotNumber 3
Inventory.Pickupmessage "$PU_GOLEMPOUND"
Obituary "$OB_GOLEMPOUND"
Tag "$TAG_GOLEMPOUND"
weapon.ammotype "GolemPoundAmmo"
inventory.pickupsound "weapon/weaponup"
inventory.icon "GPNDICON"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
SpawnLoop:
GPND Z 1
loop
Ready:
GPND A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_GOLEMPOUND)
GPND A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
GPND A 0 
goto DeselectSwap
Select:
GPND A 0 
goto SelectSwap
Fire:
GPND A 0 A_JumpIfNoAmmo("NoAmmo")
GPND A 0 A_JumpIfInventory("GolemPoundAmmo",14,1)
goto NoAmmo
GPND ABC 2
GPND Q 0 A_PlaySoundEx("weapon/superboost", "Weapon")
GPND D 0 A_TakeInventory("GolemPoundAmmo",14,TIF_NOTAKEINFINITE)
GPND D 2 ThrustThingZ(0,70,0,0)
GPND EFGIJK 2
GPND L 1 A_JumpIf(momz<1,1)
wait
GPND LMNO 1 ThrustThingZ(0,8,1,1)
Falling:
GPND P 1 ThrustThingZ(0,8,1,1)
GPND P 0 A_JumpIf(CallACS("core_CheckFooting"),"Pound")
loop
Pound:
GPND Q 0 A_PlaySoundEx("misc/mm10crsh", "Voice")
GPND Q 0 A_SpawnItemEx("GolemPoundExplode")
GPND Q 4
GPND QQQ 2 A_Refire("GolemGrind")
TNT1 A 35
GPND A 1 Offset(8,42)
GPND A 1 Offset(8,38)
GPND A 1 Offset(2,34)
GPND A 1 A_WeaponReady(14)
goto Ready+1
GolemGrind:
GPND Q 0 A_JumpIfNoAmmo("GolemEnd")
GPND Q 0 A_Recoil(-1)
GPND Q 0 A_PlaySoundEx("weapon/coilexplode", "Weapon")
TNT1 A 0 A_SpawnItemEx("WilyGolemGrindFX", 64, random(-64, 64), -28)
GPND Q 2 A_FireCustomMissile("GolemGrindDebris",frandom(-10,10),1,0,-12)
GPND Q 0 A_Recoil(-1)
GPND Q 0 A_PlaySoundEx("weapon/coilexplode", "Weapon")
TNT1 A 0 A_SpawnItemEx("WilyGolemGrindFX", 64, random(-64, 64), -28)
GPND Q 2 A_FireCustomMissile("GolemGrindDebris",frandom(-10,10),1,0,-12)
GPND Q 0 A_WeaponReady(14)
GPND Q 0 A_JumpIfNoAmmo("GolemEnd")
GPND Q 0 A_Refire("GolemGrind")
GolemEnd:
TNT1 A 35
GPND A 1 Offset(8,42)
GPND A 1 Offset(8,38)
GPND A 1 Offset(2,34)
GPND A 1 A_WeaponReady(14)
goto Ready+1
NoAmmo:
GPND A 0 ACS_NamedExecuteAlways("core_noammo",0)
Goto Ready+1
}
}

actor GolemPoundAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 112
+INVENTORY.IGNORESKILL
}

actor GolemPoundExplode : BasicExplosion
{
Obituary "$OB_GOLEMPOUND"
damagetype "GolemPound"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(CallACS("vile_cbm_damage",48),0,128,0,48)
stop
}
}

actor GolemGrindDebris : BasicProjectile
{
Obituary "$OB_GOLEMPOUND"
damagetype "GolemPound"
damage (CallACS("vile_cbm_damage",6))
scale 2.8
speed 30
-NOGRAVITY
states
{
Spawn:
WGOL H 0
WGOL H 0 ThrustThingZ(0, random(12,24), 0, 1)
WGOL H -1
loop
}
}
