actor SuperArmBoss : MegaBuster 20044
{
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Weapon.SlotNumber 1
Obituary "%o was crushed by %k's Super Arm."
weapon.ammotype "GutsArmAmmo"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
GUTP A 0 ACS_ExecuteAlways(998,0,67)
GUTP A 10 A_WeaponReady(WRF_NOSWITCH)
//GUTP A 0 A_GiveInventory("GutsArmAmmo",1)
Goto Ready+1
Deselect:
GUTP A 0 A_JumpIfInventory("SuperArmTemp",1,24)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
GUTP A 1 A_Lower
Goto Deselect+1
GUTP A 0
//GUTP A 0 A_FireCustomMissile("GutRock2",0,4,0,56)
GUTP A 0 A_TakeInventory("SuperArmTemp",1)
Goto Deselect+1
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
GUTP A 1 A_Raise
Loop
Fire:
TNT1 A 0 A_JumpIfInventory("SuperArmTemp",1,"Throw")
TNT1 A 0 A_JumpIfInventory("IsBotFlag",1,"BotFire")
//GUTP A 1 A_JumpIfNoAmmo("NoAmmo")
GUTP A 0 A_JumpIf(z-floorz==0, "GrabBlock")
GUTP A 0 A_JumpIf(momz==0, "MomZVerify")
goto NoAmmo
MomZVerify:
GUTP A 1
GUTP A 0 A_JumpIf(z-floorz==0, "GrabBlock")
GUTP A 0 A_JumpIf(momz==0, "GrabBlock")
goto NoAmmo
GrabBlock:
GUTP A 0 A_Stop
GUTP A 0 A_GiveInventory("SuperArmTemp",1)
GUTP A 0 SetPlayerProperty(0,1,0)
TNT1 A 0 ACS_ExecuteAlways(648,0,1)
GUTP A 0 A_PlaySoundEx("misc/hugequake2","Weapon")
GUTP B 1 A_SpawnItemEx("TempGutrock2",32,0,420,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP B 1 A_SpawnItemEx("TempGutrock2",32,0,394,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP B 1 A_SpawnItemEx("TempGutrock2",32,0,368,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP C 1 A_SpawnItemEx("TempGutrock2",32,0,342,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP C 1 A_SpawnItemEx("TempGutrock2",32,0,316,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP C 1 A_SpawnItemEx("TempGutrock2",32,0,290,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP D 1 A_SpawnItemEx("TempGutrock2",32,0,264,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP D 1 A_SpawnItemEx("TempGutrock2",32,0,238,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP D 1 A_SpawnItemEx("TempGutrock2",32,0,212,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP E 1 A_SpawnItemEx("TempGutrock2",32,0,186,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP E 1 A_SpawnItemEx("TempGutrock2",32,0,160,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP E 1 A_SpawnItemEx("TempGutrock2",32,0,134,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP E 1 A_SpawnItemEx("TempGutrock2",32,0,108,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP E 1 A_SpawnItemEx("TempGutrock2",32,0,82,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP E 1 A_SpawnItemEx("TempGutrock2",32,0,56,0,0,0,0,SXF_NOCHECKPOSITION)
GUTP D 0 SetPlayerProperty(0,0,0)
TNT1 A 0 ACS_ExecuteAlways(648,0,0)
TNT1 AAAAAAAA 1 A_SpawnItemEx("TempGutrock2",0,0,56,0,0,0,0,0,0)
Goto Holding
Holding:
TNT1 A 0 A_SpawnItemEx("TempGutrock2",0,0,56,0,0,0,0,0,0)
TNT1 A 1 A_WeaponReady(WRF_NOSWITCH)
loop
Throw:
GUTP A 0 A_FireCustomMissile("GutRock2",0,0,0,56)//A_SpawnItemEx("GutRock",0,0,56,20,0,-4,0,0,0)
GUTP A 0 A_TakeInventory("SuperArmTemp",1)
//GUTP A 0 A_TakeInventory("GutsArmAmmo",4)
GUTP FGHIJK 3
TNT1 A 9
GUTP LMA 3
Goto Ready+1
Hold:
GUTP A 1 ACS_Execute(979,0)
Goto Ready+1
Altfire:
TNT1 A 0 A_JumpIfInventory("SuperArmTemp",1,"Throw")
//GUTP A 0 A_JumpIfNoAmmo("NoAmmo")
GUTP A 0 A_FireCustomMissile("GutPunch",0,0,8,0)
//GUTP A 0 A_PlaySoundEx("Weapon/napalm","Weapon")
GUTP A 0 A_PlaySoundEx("Weapon/GutMelee","Weapon")
GUTP NO 5
GUTP O 10
Goto Ready+1
NoAmmo:
GUTP A 0 ACS_Execute(979,0)
Goto Hold

BotFire:
TNT1 A 0 A_JumpIfCloser(200,"BotAltFire")
goto Fire+2
BotAltFire:
GUTP A 0 A_GiveInventory("BotHugFlag",1)
GUTP A 0 A_FireCustomMissile("GutPunch",0,0,8,0)
//GUTP A 0 A_PlaySoundEx("Weapon/napalm","Weapon")
GUTP A 0 A_PlaySoundEx("Weapon/GutMelee","Weapon")
GUTP NO 5
GUTP O 10
GUTP A 0 A_TakeInventory("BotHugFlag",999)
Goto Ready+1
}
}

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

actor GutPuncher
{
PROJECTILE
Radius 7
Height 7
scale 2.5
damage (45)
damagetype "Punch"
Obituary "%o was punched by %k."
speed 40
States
{
Spawn:
TNT1 A 3 A_RadiusThrust (120000, 1, 0)
stop
}
}

actor GutPunch : SlashClaw
{
damagetype "Punch"
Obituary "%o was punched by %k."
damage (9)
States
{
Spawn:
TNT1 AAAA 1 A_Explode(15,75,0)
//SCLA L 1 A_Explode(5,90,0)
stop
}
}

actor TempGutrock2 : TempGutrock
{
States
{
Spawn:
GUTP PP 1
stop
}
}

actor Gutrock2 : GutrockC
{
States
{
Spawn:
GUTP P 0
GUTP P 0 ThrustThingZ(0,20,0,1)
GUTP P 1
Goto Spawn+2
Death:
GUTP P 0 A_SpawnItemEx("GutrockDebris2", -16, -16, 16, 20, 0, 0, 0, 0)
GUTP P 0 A_SpawnItemEx("GutrockDebris2", -16, 16, 16, 30, 0, 0, 0, 0)
GUTP P 0 A_SpawnItemEx("GutrockDebris2", 16, -16, 16, 30, 0, 6, 0, 0)
GUTP P 0 A_SpawnItemEx("GutrockDebris2", 16, 16, 16, 20, 0, 3, 0, 0)
TNT1 A 2 A_PlaySoundEx("weapon/superarmhit", "Voice")
stop
}
}

actor GutrockDebris2 : GutrockDebrisC
{
States
{
Spawn:
GUTP Q 1
loop
}
}