   Actor DemoBrotherRifle : GenericHumanScum 
       {
  scale 1.0
  obituary "%o was liberated from enslaved life by the liberty brother with liberating assault rifle"
  health 169
  radius 15
  height 54
  mass 100
  speed 12
    Species "KNIGHT"
  Species "Squad"
  +THRUSPECIES 	
  +DONTHARMSPECIES 	
  painchance 185
  SeeSound "DemoBrother/See"
  PainSound "DemoBrother/pain"
  DeathSound "DEM1DE01"
  ActiveSound "DemoBrother/Active"
  Tag "AR Liberty Brother"
  MONSTER
  +FLOORCLIP
  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)
  Spawn2:
    CONT A 10 A_Look
    loop
  STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUDemoBrother")
	 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", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
	TNT1 A 0 A_Jump (180, "MissileCheck")
  SeeLoop:
    TNT1 A 0 A_CheckSight ("CheckReload")
    TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
    CONT AABBCCDD 3 A_Chase
	TNT1 A 0 A_JumpIfInventory ("LibertyBroDed", 1, "Enraged")
	TNT1 A 0
    loop
  Enraged:
    CONT G 15 A_PlaySound ("DEM1AC10", CHAN_VOICE)
   Goto BerserkSee	
  CheckReload:
    TNT1 A 0 A_Jump (150, "CheckReload2")
 	Goto SeeLoop+1
  CheckReload2:
    TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	Goto SeeLoop+1
  DodgeCheck:
     TNT1 A 0
     TNT1 A 0 A_Jump (255, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
    Goto SeeLoop+1
  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "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))
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0) 
		TNT1 A 0 A_Jump (228, "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))
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRight:
	    TNT1 A 0 A_FaceTarget
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "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)) 
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "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)) 
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
  MissileCheck:
	TNT1 A 0
	TNT1 A 0 A_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_JumpIfTargetInLos ("40mm", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 1200, 500)
    TNT1 A 0 A_JumpIfTargetInLos ("Missile", 0, JLOSF_DEADNOJUMP)
	Goto SeeLoop
  Missile:
    TNT1 A 0 A_ChangeFlag ("FRIGHTENED", false)
    TNT1 A 0 A_TakeInventory ("GrenadeCoolDown", 1)
    CONT E 9 A_FaceTarget
	TNT1 A 0 A_JumpIfTargetInLos ("QuickBurst", 0, JLOSF_DEADNOJUMP, 350)
	TNT1 A 0 A_JumpIfTargetInLos ("Precision", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 900)
  MissileLoop:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_Jump (190, "Granata")
	CONT E 2 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	CONT F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-4,4))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	TNT1 A 0 A_MonsterRefire (40, "SeeLoop")
   Loop
  QuickBurst:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_Jump (188, "GranataPrank")
    CONT E 2 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	CONT F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-3,1))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	CONT E 2 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	CONT F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-3,3))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	CONT E 2 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	CONT F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-3,5))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	TNT1 A 0 A_Jump (188, "GranataPrank")
	Goto DodgeCheck
  Precision:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_Jump (190, "40mm")
    CONT E 7 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	CONT F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-2,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	CONT E 2 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	CONT F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-3,1))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	TNT1 A 0 A_MonsterRefire (40, "SeeLoop")
   Loop
  Granata:
    //TNT1 A 0 A_Print ("Granata")
	TNT1 A 0 A_Playsound ("DemoBrother/Grenade", CHAN_VOICE) 
    CONT D 11 A_FaceTarget
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	CONT E 3 A_CustomMissile ("M67Grenade", 42, 0, random (-3,3), CMF_OFFSETPITCH, random (10, 14))
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 2)
	Goto SeeLoop
  GranataPrank:
    //TNT1 A 0 A_Print ("Granata")
	TNT1 A 0 A_Playsound ("DemoBrother/Grenade", CHAN_VOICE) 
    CONT D 11 A_FaceTarget
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	CONT E 3 A_CustomMissile ("M67Grenade", 42, 0, random (-3,3), CMF_OFFSETPITCH, random (-2, 0))
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 2)
	Goto PrankRetreat
  PrankRetreat:
    TNT1 A 0
	TNT1 A 0 A_ChangeFlag ("FRIGHTENED", true)
	CONT AABBCCDDAABBCCDDAABBCCDDAABBCCDD 2 A_Chase
	Goto MissileCheck
  40mm:
    CONT E 8 A_FaceTarget
	TNT1 A 0 A_Playsound ("DemoBrother/Grenade", CHAN_VOICE)
	TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
	CONT F 2 BRIGHT A_CustomMissile ("Grenade40mm", 32, 9, random (-3,3), CMF_OFFSETPITCH, random (14, 20))
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 3)
	Goto SeeLoop	
  Reload:  
    CONT D 26 A_Playsound ("RIFOUT")
	TNT1 A 0 A_TakeInventory ("AKShotCounter", 30)
	CONT E 30 A_Playsound ("RIFIN")
	CONT D 24 A_Playsound ("RIFREAD")
	Goto SeeLoop
  Pain:
    TNT1 A 0
    CONT G 3
    CONT G 3 A_Pain
	TNT1 A 0 A_JumpIfInventory ("LibertyBroDed", 1, "BerserkSee")
    goto SeeLoop


  BerserkSee:
    TNT1 A 0 A_CheckSight ("BerserkSeeCheckReload")
    TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "BerserkSeeReload")
	TNT1 A 0 A_Jump (199, "BerserkDodgeLeft", "BerserkDodgeRight", "BerserkDodgeLeftF", "BerserkDodgeLeftB", "BerserkDodgeRightF", "BerserkDodgeRightB")
    CONT AABBCCDD 3 A_Chase ("", "BerserkMissile")
    loop
  BerserkCheckReload:
    TNT1 A 0 A_Jump (150, "BerserkCheckReload2")
 	Goto BerserkSee+1
  BerserkCheckReload2:
    TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "BerserkReload")
	Goto BerserkSee+1	
  BerserkDodgeLeft:
        TNT1 A 0 A_FaceTarget
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "BerserkMissileCheck")
		TNT1 A 0 A_Jump (50, "BerserkDodgeRight")
		Goto BerserkSee+1
	BerserkDodgeLeftF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (-8,-3))
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0) 
		TNT1 A 0 A_Jump (228, "BerserkMissileCheck")
		Goto BerserkSee+1
    BerserkDodgeLeftB:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (3,8))
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "BerserkMissileCheck")
		Goto BerserkSee+1
	BerserkDodgeRight:
	    TNT1 A 0 A_FaceTarget
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "BerserkMissileCheck")
		Goto BerserkSee+1
	BerserkDodgeRightF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (-8,-3)) 
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "BerserkMissileCheck")
		Goto BerserkSee+1
	BerserkDodgeRightB:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (3,8)) 
	    CONT AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "BerserkMissileCheck")
		Goto BerserkSee+1
	BerserkMissileCheck:
	TNT1 A 0
	TNT1 A 0 A_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_JumpIfTargetInLos ("Berserk40mm", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 1200, 500)
    TNT1 A 0 A_JumpIfTargetInLos ("BerserkMissile", 0, JLOSF_DEADNOJUMP)
	Goto SeeLoop
  BerserkMissile:
    TNT1 A 0 A_ChangeFlag ("FRIGHTENED", false)
    TNT1 A 0 A_TakeInventory ("GrenadeCoolDown", 1)
    CONT E 9 A_FaceTarget
  BerserkMissileLoop:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_Jump (135, "BerserkGranataCheck")
	CONT E 2 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	CONT F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-4,4))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "BerserkReload")
	TNT1 A 0 A_GiveInventory ("ShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotCounter", 10, "BerserkMissileLoopGL")
	TNT1 A 0 A_MonsterRefire (40, "SeeLoop")
   Loop
  BerserkMissileLoopGL:
    TNT1 A 0
	TNT1 A 0 A_TakeInventory ("ShotCounter", 10)
    TNT1 A 0 A_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_JumpIfTargetInLos ("Berserk40mm", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 1200, 500)
	CONT E 2 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	CONT F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-4,4))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "BerserkReload")
	TNT1 A 0 A_MonsterRefire (40, "SeeLoop")
	Loop
  BerserkGranataCheck:
	TNT1 A 0 
    TNT1 A 0 A_JumpIfTargetInLos ("BerserkGranata", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 700, 300)
	Goto BerserkMissileLoop+4	  
  BerserkGranata:
    //TNT1 A 0 A_Print ("Granata")
	TNT1 A 0 A_Jump (120, "BerserkTriNade")
	TNT1 A 0 A_Playsound ("DemoBrother/Grenade", CHAN_VOICE) 
    CONT D 9 A_FaceTarget
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	CONT E 3 A_CustomMissile ("M67Grenade", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (10, 14))
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 2)
	Goto BerserkSee
  BerserkTriNade:
    TNT1 A 0 A_PlaySound ("DEM1SE08", CHAN_VOICE)
    CONT D 10 A_FaceTarget
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	CONT E 3 A_CustomMissile ("M67Grenade", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (10, 14))
	CONT D 10 A_FaceTarget
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	CONT E 3 A_CustomMissile ("M67Grenade", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (10, 14))
	CONT D 10 A_FaceTarget
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	CONT E 3 A_CustomMissile ("M67Grenade", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (10, 14))
	Goto BerserkSee
  Berserk40mm:
    CONT E 8 A_FaceTarget
	TNT1 A 0 A_Playsound ("DemoBrother/Grenade", CHAN_VOICE)
	TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
	CONT F 2 BRIGHT A_CustomMissile ("Grenade40mm", 32, 0, random (-3,3), CMF_OFFSETPITCH, random (14, 20))
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 3)
	Goto BerserkSee	
  BerserkReload:  
    CONT D 10
	TNT1 A 0 A_TakeInventory ("AKShotCounter", 30)
	CONT E 10
	CONT D 6
	Goto BerserkSee
  BerserkPain:
    CONT G 3
    CONT G 3 A_Pain
    goto BerserkSee	


	
  Death:
  	//TNT1 A 0 A_Jump(20, "Suren")
    CONT H 5 A_Scream
    CONT I 5 A_RadiusGive ("LibertyBroDed", 1250, RGF_MONSTERS, 1)
    CONT J 5 A_NoBlocking
    CONT KLM 5
    CONT N -1
    stop
  XDeath:
    TNT1 A 0
	TNT1 A 0 A_RadiusGive ("LibertyBroDed", 800, RGF_MONSTERS, 1)
    TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
    PGIB A 1 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)
	CONT NMLKJIH 5
   Goto See	
  Idle:
    CONT AA 4 A_Wander
    CONT A 0 A_Look
    CONT BB 4 A_Wander
    CONT A 0 A_Look
    CONT CC 4 A_Wander
    CONT A 0 A_Look
    CONT DD 4 A_Wander
    CONT A 0 A_Look
    loop
  }
	   
	   
	   }
	   
	   
	   
	  Actor LibertyBroDed : Inventory 
	   {
	    Inventory.MaxAmount 1
	   }