actor TomahawkTalbain : BasisForHales
{
player.soundclass "BOSS017"
player.forwardmove 0.80, 0.80
player.sidemove 0.79, 0.79
player.jumpz 18
player.viewheight 47 // Yeah he's slightly taller
ProjectilePassHeight 62
scale 2.75
//-NOBLOOD // O_____________O
player.morphweapon "TomahawkTalbainBossWeapon"
States
{
Spawn:
TMTB A 0
TMTB B 1
TMTB A 1
Goto Spawn+2
See:
TMTB BCDC 4
Goto Spawn
Pain.RNCZaWarudo:
Pain.TimeStopper:
TNT1 A 0 SetPlayerProperty(0,1,4) TNT1 A 0 A_SpawnItem("ZaWarudoHaleFix")
TMTB AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
TMTB A 1 SetPlayerProperty(0,0,4)
Goto Spawn

Missile:
TMTB F 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB F 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
TMTB F 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB F 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
TMTB F 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB F 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
TMTB F 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB F 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
TMTB F 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB F 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
TMTB F 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB G 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
TMTB F 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB G 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
TMTB F 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB G 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
TMTB F 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB G 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
goto Spawn
Tomahaaaaaaaawk:
TMTB F 2
TMTB F 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Tomahaaaaaaaawk")
TMTB G 7
goto Spawn
Tomahaaaaaaaawk2:
TMTB F 2
TMTB F 1 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk2", 1, "Tomahaaaaaaaawk2")
goto Spawn

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

Death:
SX11 H 0 ACS_ExecuteAlways(720,0,15)
SX11 H 0 SetPlayerProperty(0,0,4)  
SX11 H 0 A_NoBlocking
SX11 H 0 A_GiveInventory("CutterFlag",999)
SX11 H 0 A_Stop
TMTB H 1 A_GiveToTarget("KilledMe",1)
TMTB H 18
SX11 H 0 ACS_ExecuteAlways(400,0,437)
SX11 H 0 SetPlayerProperty(0,0,4)
SX11 H 0 A_PlayerScream
PLAY H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 32)
PLAY Z 1 A_CheckPlayerDone
wait
}
}

actor TTWWOn : Inventory // TTWW stands for "Tomahawk Talbain WereWolf" by the way
{
inventory.amount 1
inventory.maxamount 1
}

actor TTWWOff : Inventory // TTWW stands for "Tomahawk Talbain WereWolf" by the way
{
inventory.amount 1
inventory.maxamount 1
}

actor DragonCannonRelic : TTWWOff
{
}

actor WerewolfTomahawkRelic : TTWWOff
{
}

actor TomahawkSwingRelic : TTWWOff
{
}

actor MirageBodyRelic : TTWWOff
{
}

actor QuickHopItem : SaxtonJumpItem
{
inventory.icon "SXISIF"
tag "-==Quick Hop==-"
states
{
Spawn:
TNT1 A 0
loop
Use:
TNT1 A 0 //A_JumpIfInventory("DisableHopping", 1, "Failure")
TNT1 A 0 A_JumpIfInventory("InBoat",1,2)
TNT1 A 0 A_JumpIfInventory("BossJumpCharge",48,"Jump")
Failure:
TNT1 A 0
fail
Jump:
TNT1 A 0 A_CheckFloor("JumpForSure")
goto Use+2 // a.k.a fail
JumpForSure:
TNT1 A 0 A_JumpIfInventory("TomahawkTomahawkTomahawkTomahawkTomahawk", 1, "Failure")
JumpForVerySure:
TNT1 A 0 ThrustThingZ(0,34,0,0)
TNT1 A 0 ACS_ExecuteAlways(400, 0, 234)
TNT1 A 0 A_SpawnItemEx("TTWWHopControl")
goto Finish
HighJumpYes:
TNT1 A 0 ThrustThingZ(0, 100, 0, 1)
TNT1 A 0 A_TakeInventory("BossJumpCharge", 999)
Finish:
TNT1 A 0 A_Jump(64, 2)
TNT1 A 0 A_PlaySoundEx("TomahawkTalbain/HopVoice", "Voice")
TNT1 A 0 A_PlaySoundEx("TomahawkTalbain/Hop","Item")
TNT1 A 1 A_TakeInventory("JumpCancler",1)
fail
}
}

actor TTWWHopControl
{
PROJECTILE
+NOINTERACTION
states
{
Spawn:
TNT1 A 2
TNT1 A 0 A_TakeFromTarget("BossJumpCharge",48)
stop
}
}

actor TomahawkTotalDark : Powerup
{
Powerup.Duration -90
Powerup.Color 0 0 0, 1.0
}

actor DragonCannonKit : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("DragonCannonRelic", 1)
TNT1 A 0 ACS_ExecuteAlways(400, 0, 250)
TNT1 A 0 A_PlaySoundEx("TomahawkTalbain/Prayer", "SoundSlot7")
stop
}
}

actor TomahawkSwingKit : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("TomahawkSwingRelic", 1)
TNT1 A 0 ACS_ExecuteAlways(400, 0, 251)
TNT1 A 0 A_PlaySoundEx("TomahawkTalbain/Prayer", "SoundSlot7")
stop
}
}

actor MirageBodyKit : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("MirageBodyRelic", 1)
TNT1 A 0 ACS_ExecuteAlways(400, 0, 252)
TNT1 A 0 A_PlaySoundEx("TomahawkTalbain/Prayer", "SoundSlot7")
stop
}
}



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