actor SaxtonHale : BasisForHales
{
player.soundclass "BOSS001"
player.forwardmove 0.78, 0.78
player.sidemove 0.78, 0.78
player.morphweapon "SaxtonBossWeapon"
States
{
Spawn:
SX10 A 0
SX10 B 1 A_JumpIf(z-floorz>0, "Jumping")
SX10 A 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn+2
Jumping:
SX10 M 1 A_JumpIf(z-floorz<=0, "Spawn")
wait
See:
SX10 BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn
Missile:
SX10 FFF 1 A_JumpIf(z-floorz>0, "JumpingMissile")
Missile2:
SX10 GGGGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile2")
goto Spawn+2

JumpingMissile:
SX10 NNN 1 A_JumpIf(z-floorz<=0, "Missile")
JumpingMissile2:
SX10 OOOOOO 1 A_JumpIf(z-floorz<=0, "Missile2")
Goto Jumping


BossPain:
SX10 H 0 A_PlaySound("misc/devilpain")
SX10 HHHHHHHHH 2 A_SpawnItem("PainFX",-3,25)
SX10 H 0 SetPlayerProperty(0,0,1)
Goto Spawn

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

Death:
SX10 H 0 ACS_ExecuteAlways(720,0,0)
SX10 H 0 SetPlayerProperty(0,0,4) 
SX10 H 0 A_NoBlocking
SX10 H 0 A_Stop
SX10 H 1 A_GiveToTarget("KilledMe",1)
SX10 H 18
SX10 H 0 ACS_ExecuteAlways(400,0,437)
SX10 H 0 SetPlayerProperty(0,0,4)
SX10 H 0 A_PlayerScream
SX10 H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 32)
PLAY Z -1
//PLAY Z 1 A_CheckPlayerDone
wait

CustomState1:
SX10 I 1 A_JumpIf(z-floorz<=0,"SaxtonGroundPound")
loop
SaxtonGroundPound:
SX10 I 2
SX10 J 50
goto Spawn
CustomState2:
SX10 F 2
SX10 K 35
goto Spawn
}
}



// Jump //

actor SaxtonJumpItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "SXISI1"
+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",125,"Jump")
TNT1 A 0
fail
Jump:
TNT1 A 0 A_TakeInventory("BossJumpCharge",125)
TNT1 A 1 ThrustThingZ(0,120,0,0)
TNT1 A 0 A_PlaySoundEx("Saxton/Jump","Item")
TNT1 A 1 A_TakeInventory("JumpCancler",1)
TNT1 A 0
}
}


// Rage //

actor HaleSuperArmor : PowerupGiver
{
+COUNTITEM
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0
Powerup.Type "PowerHalfDamage"
Powerup.Color 196 192 191, 0.25
Powerup.Duration -30
States
{
Spawn:
TNT1 A 1
Loop
}
}

actor HaleSuperArmor2 : HaleSuperArmor
{
Powerup.Color 235 219 87, 0.2
}


actor PowerHalfDamage : PowerProtection
{
 damagefactor "normal", 0.5
}