//===========================================================================
//
//  Huntsman
//
//===========================================================================

ACTOR "Huntsman" : PlayerPawn
{
	Speed 1
	Health 100
	Radius 16
	Height 56
	Mass 100
	PainChance 255
	DamageFactor "Normal", 1.05
	DamageFactor "Boss", 1.05
	DamageFactor "Fire", 1.05
	DamageFactor "Ice", 1.05
	Player.DisplayName "Huntsman"
	Player.SoundClass "Jerico"
	Player.StartItem "ClassID", 5
	Player.StartItem "HuntsmanToken", 1	
	Player.StartItem "HuntsmanGhost", 1
	Player.StartItem "Sawedoff", 1
	Player.StartItem "Shell3", 50
	Player.StartItem "Axe", 1
	Player.StartItem "Grenade2", 20
	Player.StartItem "RiotMode", 1
    DamageFactor "Player", 0
	Player.ForwardMove 0.98
	Player.SideMove 0.98
    Player.WeaponSlot 1, "Axe"
	Player.WeaponSlot 2, "Sawedoff"
	Player.ColorRange 112, 127
	Scale 0.92
	States
	{
	Spawn:
		HUNT A -1
		Loop
	See:
		HUNT ABCD 5
		Loop
	Missile:
		HUNT E 12
		Goto Spawn
	Melee:
		HUNT F 5 Bright
		Goto Missile
	Pain:
		HUNT G 4
		HUNT G 4 A_Pain
		Goto Spawn
	Pain.WhirlWind:
        HUNT G 2
        TNT1 A 0 ThrustThing(random(0, 360)*256/360, random(-8, 8), 0, 0)
        TNT1 A 0 ThrustThingZ(0, random(0, 4), random(0,1), 1)
        TNT1 A 0 A_SetAngle(angle+random(-1,1)*random(25,50))
        TNT1 A 0 A_SetBlend("10 10 10", 0.6, 24)
        Goto Pain
    Pain.DeathKnightStun:
        HUNT G 2
        TNT1 A 0 acs_executealways(616, 0, 30)
        Goto Pain
    Pain.DeathKnightAssassinate:
        HUNT G 2
	    TNT1 A 0 acs_terminate(616, 0)
	    TNT1 A 0 a_takeinventory("armor", 250)
        TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
	    TNT1 A 0 SetPlayerProperty(0, 1, 4)
	    TNT1 A 0 A_SetGravity(0.75)
        TNT1 A 0 ThrustThingZ(0, 64, 0, 0)
	    TNT1 A 0 a_spawnitemex("deathknightassassinate2")
        Goto Pain
    Pain.DeathKnightDash:
        HUNT G 2
	    TNT1 A 0 acs_terminate(616, 0)
	    TNT1 A 0 acs_execute(618, 0)
        Goto Pain
	Pain.SlimeSpit:
		HUNT G 0  
		HUNT G 0 A_JumpIfInventory("SlimerSpitWindow",1,"Pain") 		
		HUNT G 0 A_GiveInventory("SlimerSpitWindow",1)
        HUNT G 1 ACS_NamedExecuteAlways("Slimer Spit",0)
        Goto Pain	
	Death:
		HUNT H 5 A_PlayerScream
		HUNT I 5 
		TNT1 H 0 a_spawnitemex("AmmoPack2", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 255)
		TNT1 H 0 a_spawnitemex("AmmoPack2", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 55)
		TNT1 H 0 a_spawnitemex("StimPack2C", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 255)
		TNT1 H 0 a_spawnitemex("StimPack2C", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 200)
		TNT1 H 0 a_spawnitemex("StimPack2C", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 150)
		TNT1 H 0 a_spawnitemex("StimPack2C", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 100)
		HUNT J 5 A_NoBlocking
		HUNT KLM 5
		HUNT N -1
		Stop
	XDeath:
	    HUNT G 2 A_XScream
	    TNT1 AAAAAA 0 A_CustomMissile("CeilBloodLauncherLong",0,0,Random(0,360),2,Random(50,130))
		TNT1 AA 0 A_CustomMissile("XDeath1",32,0,Random(0,360),2,Random(0,160))
		TNT1 AA 0 A_CustomMissile("XDeath2",32,0,Random(0,360),2,Random(0,160))
		TNT1 AA 0 A_CustomMissile("XDeath3",32,0,Random(0,360),2,Random(0,160))
		TNT1 AA 0 A_CustomMissile("XDeath4",32,0,Random(0,360),2,Random(0,160))
		TNT1 AA 0 A_CustomMissile("XDeath5",32,0,Random(0,360),2,Random(0,160))
		TNT1 AAAAAAAA 0 A_CustomMissile("SuperWallRedBlood",40,0,Random(0,360),2,Random(-5,5))
		TNT1 AAAA 0 A_CustomMissile("Instestin",32,0,Random(0,360),2,Random(0,160))
	    TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("Brutal_FlyingBlood",35,0,Random(0,360),2,Random(0,160))
	    TNT1 AAAAAA 0 A_CustomMissile("SuperGoreSpawner",32,0,Random(0,360),2,Random(50,130))
		TNT1 A -1
		Stop
	}
}