//===========================================================================
//
//  Hunter
//
//===========================================================================

ACTOR "Hunter" : PlayerPawn 
{ 
	Speed 1
    Health 100
    Radius 16
    Height 56
    Mass 100
    PainChance 256
	Player.ForwardMove 1.03
    Player.SideMove 1.03
    Player.ColorRange 112, 127
    Player.DisplayName "Hunter"
    Player.SoundClass "Cleric"
	Player.StartItem "HunterArrows", 50
	Player.StartItem "HeroBow", 1
	Player.StartItem "Bow Upgrade", 1
	Player.StartItem "HunterDagger", 1
	Player.StartItem "ClassID", 6	
	Player.StartItem "HunterToken", 1
	Player.WeaponSlot 1, "HunterDagger"
	Player.WeaponSlot 2, "HeroBow"
	DamageFactor "Player", 0
	Scale 0.92
    States
    {
    Spawn:
        GHHE A -1 
        Loop
    See:
        GHHE ABCD 4
        Loop
    Missile:
        GHHE E 21 
        Goto Spawn
    Melee:
        GHHE F 8
        Goto Missile
    Pain:
        GHHE G 4
        GHHE G 4 A_Pain
        Goto Spawn
	Pain.WhirlWind:
        GHHE 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:
        GHHE G 2
        TNT1 A 0 acs_executealways(616, 0, 30)
        Goto Pain
    Pain.DeathKnightAssassinate:
        GHHE 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:
        GHHE G 2
	    TNT1 A 0 acs_terminate(616, 0)
	    TNT1 A 0 acs_execute(618, 0)
        Goto Pain
	Pain.SlimeSpit:
		GHHE G 0  
		GHHE G 0 A_JumpIfInventory("SlimerSpitWindow",1,"Pain") 		
		GHHE G 0 A_GiveInventory("SlimerSpitWindow",1)
        GHHE G 1 ACS_NamedExecuteAlways("Slimer Spit",0)
        Goto Pain	
   Death:
		GHHE H 6 A_PlayerScream
		GHHE I 6 
		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)
		GHHE H 6
		GHHE I 6 
		GHHE JK 6
		GHHE L 6 A_NoBlocking
		GHHE MNO 6
		GHHE P -1
		Stop
	XDeath:
	    GHHE 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
        }
}