    Actor GrenadeMilitarist : GenericHumanScum
{
Monster
Health 80
Radius 20
Height 56
Speed 13
PainChance 105
Species "Spectre"
+DONTHARMSPECIES
seesound "SlavMil/See"
painsound "SlavMil/Pain"
deathsound "SlavMil/Death"
activesound "SlavMil/Active"
Tag "Grenade Militarist"
scale 1.0
Obituary "%o' was blown up to kingdom come by the agressive militarist"
HitObituary "%o' had a beef with the agressive militarist" 
//+DROPOFF
  States
	{
 Spawn:
    TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("STFUCheck") == 1, "STFU")
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult ("VanJumpCheck") == 1, "VanJump")
	TNT1 A 0 A_SetScale (scaleX+frandom(-0.02, 0.02), scaleY+frandom(-0.08,0.08)) 
	TNT1 A 0 A_SpawnItemEx ("HumanTrails", 0, 0, 0)
	TNT1 A 0 A_SpawnItemEx ("BydloWRITER", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 100)
  Spawn2:	
	ED4A T 10 A_Look
	loop
  STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUSlavMil")
	 Goto Spawn+2
  VanJump:
	 TNT1 A 0
	 TNT1 A 0  NODELAY ACS_NamedExecuteAlways ("VanillaHeights")
	Goto Spawn+3	 
	See:
	 "####" A random(1,5)
	 TNT1 A 0 A_Jump (70, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeRightF")
	 TNT1 A 0 A_Jump (180, "MissileCheck")
	 TNT1 A 0 A_GiveInventory ("WaitForGrenade", 3)
	SeeLoop:
	 TNT1 A 0 A_Jump (170, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeRightF")
	 ED4A AABBCCDD 3 A_Chase
	 TNT1 A 0 A_TakeInventory ("WaitForGrenade", 1)
	Loop		
   MissileCheck:
	TNT1 A 0 A_JumpIfTargetInLos ("Missile", 50)
	Goto SeeLoop
  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    ED4A AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (120, "MissileCheck")
		TNT1 A 0 A_Jump (50, "DodgeRight")
		Goto SeeLoop+1
	DodgeLeftF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (-8,-3))
	    ED4A AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (120, "MissileCheck")
		Goto SeeLoop+1
    DodgeLeftB:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (3,8))
	    ED4A AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (120, "MissileCheck")
		Goto SeeLoop+1
	DodgeRight:
	    TNT1 A 0 A_FaceTarget
	    ED4A AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (100, "MissileCheck")
		Goto SeeLoop+1
	DodgeRightF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (-8,-3)) 
	    ED4A AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (100, "MissileCheck")
		Goto SeeLoop+1
	DodgeRightB:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (3,8)) 
	    ED4A AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (100, "MissileCheck")
		Goto SeeLoop+1
 Melee:
    TNT1 A 0 A_TakeInventory ("ArtCoolDown", 1)
    ED4A DE 3 A_FaceTarget
	TNT1 A 0 A_Recoil (random (-8,-5))
	TNT1 A 0 A_PlayWeaponSound ("Fist/swing") 
    ED4A F 4 A_CustomMeleeAttack ((6), "Fist/Hit", "Fist/Swing")
	ED4A ED 3 A_Jump (10, "DodgeLeftF", "DodgeRightF")
	TNT1 A 0 A_JumpIfTargetInLos ("TossRetreat", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 250, 175)
	TNT1 A 0 A_MonsterRefire (0, "SeeLoop")
    Loop		
 Missile:
	TNT1 A 0
	TNT1 A 0 A_TakeInventory ("ArtCoolDown", 1)
	TNT1 A 0 A_JumpIfInventory ("WaitForGrenade", 5, "SeeLoop")
	TNT1 A 0 A_JumpIfTargetInLos ("Toss", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 700, 250)
	Goto SeeLoop
 Toss:
    TNT1 A 0
	TNT1 A 0 A_JumpIfInventory ("ArtCoolDown", 1, "SeeLoop")
	ED4A D 5 A_FaceTarget
	ED4A E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	ED4A F 5 A_CustomMissile ("GreenHandGrenade", 42, 0, random (-7,7), CMF_OFFSETPITCH, random (10, 16))
	TNT1 A 0 A_GiveInventory ("ArtCoolDown", 2)
   Goto SeeLoop
 TossRetreat:
	ED4A D 3 A_FaceTarget
	ED4A E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	ED4A F 5 A_CustomMissile ("GreenHandGrenade", 42, 0, random (-7,7), CMF_OFFSETPITCH, random (3, 7))
	ED4A AABBCCDDAABBCCDD 3 A_Recoil (random(4,8))
	Goto MissileCheck
 Pain:
	ED4A H 3
	ED4A H 3 A_Pain
	Goto SeeLoop
 Death:
	ED4A I 3  A_NoBlocking
	ED4A JK 5 A_Scream
	ED4A L 5 A_Playsound ("FallingBodyLight", CHAN_BODY)
	ED4A M -1
	Stop
  XDeath:
    TNT1 A 0
    ED4A U 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
    ED4A V 0  A_XScream
    PGIB A 5 A_NoBlocking
    PGIB BCD 5
    PGIB E -1
    Stop
  Raise:
    TNT1 A 0 
	TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	ED4A MLKJI 5
   Goto See	
    }
}	




	Actor WaitForGrenade : Inventory
		{
		 Inventory.MaxAmount 15
		}

    