actor PowerStoneBoss : MegaBuster 
{
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Weapon.SlotNumber 1
Obituary "%o was slammed by %k's Power Stone."
weapon.ammotype "StoneBossAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
POWB E 0 ACS_ExecuteAlways(998,0,40)
POWB E 1 A_WeaponReady(WRF_NOSWITCH)
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
POWB E 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
POWB E 1 A_Raise
Loop
Fire:
//POWB E 0 A_JumpIfNoAmmo("NoAmmo")
POWB E 0 A_PlaySoundEx("weapon/powerstone","Weapon")
POWB E 1 A_FireCustomMissile("PowerStoneMan",0,0,8,0)
POWB E 1 A_FireCustomMissile("PowerStoneMan",180,1,8,0)
POWB F 4
POWB G 4
POWB F 4
POWB E 14
POWB E 0 A_Refire
Goto Ready+1
Altfire:
POWB E 0 A_JumpIf(z-floorz!=0,"NoAmmo")
HEAA A 0 //A_GiveInventory("StunArmor",1)
POWB A 0 A_Recoil(-25)
POWB E 10 ThrustThingZ(0, 80,0,0)
POWB F 2 A_Stop
POWB F 0 A_SpawnItemEx("StoneCrush",0,0,-64,0,0,-60)
POWB G 1 ThrustThingZ(0,120,1,0)
POWB G 5 A_JumpIf(z-floorz==0, "Shockland")
POWB G 1 ThrustThingZ(0,120,1,0)
POWB G 5 A_JumpIf(z-floorz==0, "Shockland")
POWB G 1 ThrustThingZ(0,120,1,0)
POWB G 5 A_JumpIf(z-floorz==0, "Shockland")
POWB G 1 ThrustThingZ(0,120,1,0)
POWB G 5 A_JumpIf(z-floorz==0, "Shockland")
POWB G 1 ThrustThingZ(0,120,1,0)
POWB G 5 A_JumpIf(z-floorz==0, "Shockland")
POWB G 1 ThrustThingZ(0,120,1,0)
POWB G 5 A_JumpIf(z-floorz==0, "Shockland")
POWB G 1 ThrustThingZ(0,120,1,0)
POWB G 5 A_JumpIf(z-floorz==0, "Shockland")
Shockland:
POWB G 0 A_PlaySoundEX("misc/hugequake","Weapon")
POWB F 1 A_FireCustomMissile ("StoneQuakeDamage",0,0,0,0)
POWB F 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
POWB E 1 A_Stop
HEAA A 0 //A_TakeInventory("StunArmor",999)
POWB E 15 
NoAmmo:
POWB E 0
//POWB E 1 ACS_Execute(979,0)
Goto Ready+1
}
}

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

actor PowerStoneMan
{
PROJECTILE
+NOCLIP
Radius 38
Height 10
scale 2.5
damagetype "Stone"
damage (25)
speed 0
States
{
Spawn:
POWB A 0 
POWB A 0 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Recoil(-30)
POWB A 1 //ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Recoil(-30)
POWB A 1 //ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_ChangeFlag("NOCLIP",0)
POWB A 0 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Recoil(-30)
POWB A 1 //ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Recoil(-30)
POWB B 1 //ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB B 1 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB B 1 //ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB C 1 //ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB C 1 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB C 1 //ACS_ExecuteAlways(989,0)
POWB A 0 A_Recoil(-30)
POWB D 1 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1 ACS_ExecuteAlways(990,0,1)
POWB A 0 A_Stop
POWB A 0 A_Recoil(-30)
POWB D 1// ACS_ExecuteAlways(989,0)
POWB A 0 A_Stop
stop
Death:
POWS A 0
stop
}
}

actor StoneCrush
{
PROJECTILE
damage (100)
Radius 15
Height 2
Obituary "%o was stone stomped by %k."
renderstyle none
States
{
Spawn:
PLAY A 35
stop
}
}

actor StoneQuakeDamage
{
+NOGRAVITY
+MISSILE
+SKYEXPLODE
+NOINTERACTION
height 1
radius 96
damage (33)
damagetype "NeutralShock"
Obituary "%o was stone stomped by %k."
-SOLID
States
{
Spawn:
TNT1 A 1
stop
}
}