actor SuperMachoMan : BasisForHales
{
player.soundclass "BOSS018"
player.forwardmove 0.90, 0.90
player.sidemove 0.88, 0.88
scale 2.8
player.viewheight 60
ProjectilePassHeight 74
player.jumpz 12
player.morphweapon "SuperMachoManBossWeapon"
States
{
Spawn:
SMMN A 0
SMMN B 1 A_JumpIfInventory("MachoManPainFlag",1,"SpawnDead")
SMMN A 0 A_JumpIfInventory("RageDude", 3, "MachoDash")
SMMN A 0 A_JumpIfInventory("RageDude", 2, "MachoRage")
SMMN A 0 A_JumpIfInventory("RageDude", 1, "ReadyRage")
SMMN AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_JumpIfInventory("MachoManPainFlag",1,"SpawnDead")
SMMD QRRSTTUVV 7
goto Spawn+40
SpawnDead:
SMMD IJKL 2 A_JumpIfInventory("MachoManPainFlag2",1,"SpawnDown")
loop
SpawnDown:
SMMN Z 1
SMMN ZZ 1 A_JumpIfInventory("MachoManPainFlag2",1,"SpawnDead")
goto Spawn+2
See:
SMMN BBBBBCCCCCDDDDDEEEEE 1 A_JumpIfInventory("SuperMachoArmor", 1, "BlockingAttacks")
Goto Spawn
Missile:
SMMN FFFFF 1 A_JumpIfInventory("SuperMachoArmor", 1, "BlockingAttacks")
SMMN F 0 A_JumpIfInventory("ElbowFlag", 1, "ElbowMode")
SMMN FG 5
goto Spawn+2
ElbowMode:
SMMD FFFFF 1 A_JumpIfInventory("SuperMachoArmor", 1, "BlockingAttacks")
SMMD GGGG 1 A_JumpIfInventory("SuperMachoArmor", 1, "BlockingAttacks")
goto Spawn+2
MachoRage:
SMMT FG 5
goto PunchHold
PunchHold:
SMMT G 1 A_JumpIfInventory("RageDude", 3, "MachoDash")
SMMT G 1 A_JumpIfInventory("RageDude", 2, "PunchHold")
goto Spawn+2
ReadyRage:
SMMT BCDE 3
goto Spawn+2
MachoDash:
SMMT MN 3
goto Spawn+2
BlockingAttacks:
SMMT H 2
SMMT H 1 A_JumpIfInventory("SuperMachoArmor", 1, "BlockingAttacks")
goto Spawn+2

Pain.TimeStopper:
Pain.RNCZaWarudo:
TNT1 A 0 SetPlayerProperty(0,1,4) TNT1 A 0 A_GiveInventory("DioFlashTimeHUD", 1) TNT1 A 0 A_SpawnItem("ZaWarudoHaleFix")
SMMN AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
SMMN A 1 SetPlayerProperty(0,0,4)
Goto Spawn

BossPain:
SMMN H 1 //A_JumpIfHealthLower(1001,"RecoveringScene")
SMMN H 0 //A_JumpIfInventory("SuperMachoArmor", 1, 3)
SMMN H 0 //A_GiveInventory("BossRageCharge2",0)
SMMN H 0 A_PlaySound("misc/devilpain")
SMMN HHHHHHHHH 2 A_SpawnItem("EnemyHurtFX12NOSOUND",-4,30)
SMMN H 0 SetPlayerProperty(0,0,1)
Goto Spawn+2

RecoveringScene:
SMMN H 0 ACS_NamedExecuteAlways("sh_speeds", 0, 0)
SMMN H 0 A_TakeInventory("SuperMachoArmor", 999)
SMMN H 0 A_GiveInventory("SuperMachoDown", 1)
SMMN H 0 SetPlayerProperty(1,1,4)
SMMN I 0 A_ChangeFlag("NOPAIN", 1)
SMMN I 2 A_ChangeFlag("INVULNERABLE", 1)
SMMN H 0 ACS_ExecuteAlways(400, 0, 277)
SMMN H 0 ACS_ExecuteAlways(400, 0, 276)
SMMN H 0 A_GiveInventory("UselessBogusSpeed", 1)
SMMD KLIJKLIJKLIJKLIJKLI 2 A_Recoil(2)
SMMN H 0 SetPlayerProperty(1,1,4)
SMMD JKLIJK 2 A_Recoil(2)
SMMN I 0 ACS_ExecuteAlways(720,0,16)
SMMN I 0 SetPlayerProperty(1,1,4)
SMMN I 0 A_Stop
SMMN I 2 A_ChangeFlag("INVULNERABLE", 1)
SMMN I 4 // half sprite
SMMN I 0 A_PlaySoundEx("misc/hugequake2", "Voice")
SMMN I 0 ACS_ExecuteAlways(400, 0, 274)
SMMN I 69 // landed sprite
SMMN I 1 A_SpawnItemEx("SuperMachoDeathCamera", 325, 0, 50, 0, 0, 0)
StayDown:
SMMN I 2 A_ChangeFlag("INVULNERABLE", 1)
SMMN I 2 A_JumpIfInventory("MachoEnableRecover", 1, "StayDown")
goto SpawnOfResistance
SpawnOfResistance:
SMMN I 2 A_ChangeFlag("INVULNERABLE", 1)
SMMN I 1 A_JumpIfInventory("BogusKeepFrozen", 1, "SpawnOfResistance")
CleaningTheMess:
SMMN I 0 A_TakeInventory("SuperMachoDown", 999)
SMMN I 0 A_TakeInventory("MachoEnableRecover", 999)
SMMN I 0 A_TakeInventory("SuperMachoRecoverAmmo", 9999)
SMMN I 0 A_TakeInventory("BogusKeepFrozen", 999)
SMMN I 0 A_TakeInventory("SuperMachoDown", 999)
SMMN I 0 A_ChangeFlag("NOPAIN", 0)
SMMN I 4 A_ChangeFlag("INVULNERABLE", 0)
goto Spawn+2
GettingUp:
SMMN I 5 A_JumpIfInventory("MachoEnableRecover", 1, "StayDown")
goto SpawnOfResistance
DeathFake:
SMMN I 35
loop
Death:
SMMN Z 0 ACS_ExecuteAlways(720,0,17)
SMMN Z 0 SetPlayerProperty(0, 0, 4)  
SMMN Z 0 A_NoBlocking
SMMN Z 0 A_Stop
SMMN Z 1 A_GiveToTarget("KilledMe",1)
SMMN Z 18
SMMN Z 0 ACS_ExecuteAlways(400,0,437)
SMMN Z 0 SetPlayerProperty(0,0,4)
SMMN Z 0 //A_PlayerScream
SMMN Z 10 A_SpawnItemEx("SuperMachoManAfterfight")
SMMN Z 1 A_CheckPlayerDone
wait
}
}

actor SuperMachoManJumpItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "SXISIJ"
+INVENTORY.UNDROPPABLE
+COUNTITEM
+INVBAR
states
{
Spawn:
TNT1 A 0
loop
Use:
TNT1 A 0 A_JumpIfInventory("InBoat",1,2)
TNT1 A 0 A_JumpIfInventory("BossJumpCharge",96,"Jump")
TNT1 A 0
fail
Jump:
TNT1 A 0 A_TakeInventory("BossJumpCharge",96)
TNT1 A 1 ThrustThingZ(0,120,0,0)
TNT1 A 0 A_PlaySoundEx("SuperMachoMan/Jump","Item")
TNT1 A 1 A_TakeInventory("JumpCancler",1)
TNT1 A 0
}
}

actor MachDudeItem : SuperMachoManJumpItem
{
inventory.icon "SXISIK"
states
{
Spawn:
TNT1 A 0
loop
Use:
TNT1 A 0 A_JumpIfInventory("SuperMachoArmor", 1, 2)
TNT1 A 0 A_JumpIfInventory("BossJumpCharge",96,"GottaGoFast")
TNT1 A 0
fail
GottaGoFast:
TNT1 A 0 A_TakeInventory("BossJumpCharge",96)
TNT1 A 1 A_GiveInventory("MachDudeSpeed", 1)
TNT1 A 0 ACS_NamedExecuteAlways("sh_speeds", 0, 7)
TNT1 A 0 A_SpawnItemEx("MachDudeControl", 0, 0, 0)
TNT1 A 0 A_PlaySoundEx("SuperMachoMan/Jump","Item")
fail
}
}

actor MachDudeControl
{
PROJECTILE
+NOINTERACTION
reactiontime 50
states
{
Spawn:
TNT1 A 0
Going:
TNT1 A 1 A_CountDown
loop
Death:
TNT1 A 0 A_TakeFromTarget("MachDudeSpeed", 999)
TNT1 A 0 A_GiveToTarget("MachDudeNormal", 1)
stop
}
}

actor MachDudeNormal : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_NamedExecuteAlways("sh_speeds", 0, 0)
stop
}
}

actor MachDudeSpeed : PowerSpeed
{
Powerup.color 235 219 87, 0.25
Powerup.Duration -50
Speed 1.00
}

actor BogusStarter : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor ElbowFlag : BogusStarter
{
}

actor RageDude : Inventory
{
inventory.amount 1
inventory.maxamount 3
}

actor BogusGuarder : BogusStarter
{
}

actor BogusDie : BogusGuarder
{
}

actor SuperMachoDown : BogusGuarder
{
}

actor BogusKeepFrozen : BogusDie
{
}

actor BogusSpawnCamera : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("LookItsSuperMachoMan", 0, 0, 0, 1, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("BogusSpawnCameraRa", 200, 0, 40, 1, 0, 0, 0, SXF_ABSOLUTEPOSITION)
stop
}
}

actor BogusSpawnCameraRa // yu gi oh
{
PROJECTILE
+NOINTERACTION
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_ExecuteAlways(400, 0, 42)
TNT1 A 0 A_FaceTarget
TNT1 A 160
TNT1 AA 35
TNT1 A 0 A_Stop
TNT1 A 35
stop
}
}

actor LookItsSuperMachoMan
{
//+SOLID
radius 16
height 52
scale 2.8
+NOINTERACTION
+NOGRAVITY
speed 1
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_ExecuteAlways(991,0,528)
SMMN BCDEBCDEBCDEBCDE 10
SMMN B 0 A_Jump(256, "Shades", "Poses")
goto Poses
Shades:
SMMN J 20 A_Stop
SMMN KLM 3
SMMN N 20
SMMN OPPQRRSTT 7
stop
Poses:
SMMN U 10 A_Stop
SMMN UVVUU 2
SMMN W 3
SMMN XXYYX 4
SMMD QRRSTTUVV 7
stop
}
}

actor SuperMachoManAfterfight : LookItsSuperMachoMan
{
states
{
Spawn:
SMMN Z 0
SMMN Z 70 ACS_ExecuteAlways(991,0,528)
SleepWell:
SMMN Z 5
loop
}
}

actor RedGloveHappy : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(400, 0, 43)
stop
}
}

actor SuperMachoArmor : PowerProtection
{
powerup.duration -50000
powerup.color 255 255 255, 0.4
damagefactor "Normal", 0.20
}

actor BogusGuardAmmo : Inventory
{
inventory.amount 1
inventory.maxamount 150
}

actor MachoEnableRecover : BogusGuarder
{
}

actor SuperMachoDeathCamera
{
PROJECTILE
+NOINTERACTION
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_ExecuteAlways(400, 0, 49)
TNT1 A 0 A_FaceTarget
ContinueSpin:
TNT1 A 0 A_ChangeVelocity(0,3,0,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 2 A_SetAngle(angle-1)
loop
}
}


actor BogusKeepCamera : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(400, 0, 275)
stop
}
}

actor UselessBogusSpeed : PowerSpeed
{
Powerup.Duration -3
Speed 1.0 // : )
}

actor SuperMachoRecoverAmmo : Inventory
{
inventory.amount 1
inventory.maxamount 1300
}

actor JumpFireCheckerBogus : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(401, 0, 0)
TNT1 A 0 ACS_ExecuteAlways(401, 0, 1)
stop
}
}

actor PhotoOPItem : CustomInventory
{
states
{
Pickup:
SMMN H 0 //A_PlaySoundEx("SuperMachoMan/PhotoOP", "Voice")
stop
}
}

actor OkNoMoreInvisiblity : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SetTranslucent(1.0,0)
stop
}
}

actor MachoManIsHealed : OnceC {}
actor MachoManIsHealed2 : OnceC {}
