actor PowerFistC : MegaBuster 
{
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Weapon.SlotNumber 1
Obituary "%o was punched by %k's Power Fist."
weapon.ammotype "PowerMeter"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
POWA A 0 ACS_ExecuteAlways(998,0,77)
POWA A 1 A_WeaponReady
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) 
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
POWA A 1 A_Lower
POWA A 0
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
POWA A 1 A_Raise
POWA A 1
Loop
Fire:
PROC D 0 A_TakeInventory("PowerMeter",999)
POWA A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) 
POWA F 3
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) 
POWA I 3
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) 
POWA A 0 A_FireCustomMissile("PowerShot",0,0,8,0)
POWA A 1
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA B 0 A_Refire
goto Ready+1
Hold:
POWA A 0 A_JumpIfInventory("PowerMeter",32,"Charge2")
POWA A 0 A_JumpIfInventory("PowerMeter",18,"Charge")
POWA B 1 A_GiveInventory("PowerMeter",1)
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA A 0 A_Refire
Goto Ready+1
Charge:
POWA A 0 A_JumpIfInventory("PowerMeter",32,"Charge2")
POWA A 0 A_JumpIfInventory("PowerMeter",19,"Charge1")
POWA B 1 
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA A 0 A_PlaySoundEx("weapon/coilstart","Weapon")
Goto Charge1
Charge1:
POWA A 0 A_JumpIfInventory("PowerMeter",32,"Charge2")
POWA A 0 
POWA A 0 ACS_ExecuteAlways(991,0,304)
POWA B 1 A_GiveInventory("PowerMeter",1)
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) 
POWA A 0 ACS_ExecuteAlways(991,0,305)
POWA C 1
POWA A 0 A_Refire
Goto Fire2
Charge2:
POWA A 0 A_PlaySoundEx("weapon/coilcharge","Weapon")
POWA A 0 ACS_ExecuteAlways(991,0,306)
POWA D 1
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA A 0 ACS_ExecuteAlways(991,0,307)
POWA E 2
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA A 0 A_Refire
Goto Fire3
Fire2:
PROC J 0 ACS_ExecuteAlways(991,0,77)
PROC D 0 A_TakeInventory("PowerMeter",999)
POWA A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) 
POWA F 2
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA I 2
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) 
POWA A 0 A_FireCustomMissile("PowerShot2",0,0,8,0)
POWA A 1
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA B 0 A_Refire
goto Ready+1
Fire3:
PROC J 0 ACS_ExecuteAlways(991,0,77)
PROC D 0 A_TakeInventory("PowerMeter",999)
POWA A 0 A_PlaySoundEx("weapon/napalm","Weapon")
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA F 2
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA I 2
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) 
POWA A 0 A_FireCustomMissile("PowerShot3",0,0,8,0)
POWA A 1
POWA A 0 A_SpawnItemEx("PowerAdaptor",0,-3,24,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
POWA B 0 A_Refire
goto Ready+1
}
}

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

actor PowerShot
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
damagetype "Buster"
//seesound "weapon/mbuster"
Speed 32
Damage (20)
radius 5
height 5
scale 2.5
States
{
Spawn:
POWW AB 15
POWW A 0 A_Stop
POWW CDEFG 3
stop
}
}

actor PowerShot2
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
damagetype "Buster"
//seesound "weapon/mbuster"
Speed 32
Damage (30)
radius 10
height 10
scale 2.5
States
{
Spawn:
POWW IH 7
POWW A 0 A_Stop
POWW CDEFG 3
stop
}
}

actor PowerShot3
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
damagetype "Buster"
//seesound "weapon/mbuster"
Speed 10
Damage (70)
radius 20
height 20
scale 2.5
States
{
Spawn:
POWW CDEFG 3
stop
}
}

actor PowerAdaptor
{
-SOLID
+NOGRAVITY
+NOBLOCKMAP
+FIXMAPTHINGPOS
Height 6
Radius 6
+MISSILE
damage 0
scale 2.5
+CLIENTSIDEONLY
//+NOINTERACTION
States
{
Spawn:
TNT1 A 0
POAD A 2
stop
}
}