actor DemoBrotherASG : GenericHumanScum 
{

  //----------------------------COMPLEX DOOM COMPATIBILITY DROPS------------------------
 	   
	DropItem "HealthFlask" 40
	DropItem "ArmorCharge" 40
	DropItem "AmmoPack" 20
	DropItem "HandGrenadeAmmo" 50 1
	DropItem "MineAmmo" 25 1
	DropItem "Assault Shotgun", 150

  scale 1.0
  obituary "%o has discovered how much democracy this gott-dam' automatic shotgun was containing. Liberty brothers is a big deal, ya know"
  health 169
  radius 15
  height 54
  mass 100
  speed 11
    Species "Knecht"
	Species "Squad"
  +THRUSPECIES 	
  +DONTHARMSPECIES
  painchance 150
  Translation "5:8=9:12", "112:127=121:127", "192:207=152:159"
  SeeSound "DemoBrother/see"
  PainSound "DemoBrother/pain"
  DeathSound "DEM1DE01"
  ActiveSound "DemoBrother/Active" 
  dropitem "Shotgun"
  Tag "ASG 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.03, 0.03), scaleY+frandom(-0.08,0.08))
	TNT1 A 0 A_SpawnItemEx ("HumanTrails", 0, 0, 0)
  Spawn2:
    CON2 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 ("ShotgunShotCounter", 10, "Reload")
	TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
	TNT1 A 0 A_JumpIfInventory ("LibertyBroDed", 1, "Enraged")
    CON2 AABBCCDD 3 A_Chase
	TNT1 A 0
    loop
  CheckReload:
    TNT1 A 0 A_Jump (150, "CheckReload2")
 	Goto SeeLoop+1
  CheckReload2:
    TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "Reload")
	Goto SeeLoop+1
  Enraged:
    CON2 G 15 A_PlaySound ("DEM1AC10", CHAN_VOICE)
   Goto BerserkSee	
  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    CON2 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))
	    CON2 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))
	    CON2 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
	    CON2 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)) 
	    CON2 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)) 
	    CON2 AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	NotToday:
	   TNT1 A 0
	   TNT1 A 0 A_ChangeFlag ("Missilemore", true)
	   TNT1 A 0 A_ChangeFlag ("MissileEvenmore", true)
	   CON2 B 3 A_PlaySound ("DEM1SE02", CHAN_VOICE)
	  AgressiveChase:
	   CON2 AABBCCDD 2 A_Chase ("", "")
	   TNT1 A 0 A_JumpIfTargetInLos ("MissileCheck", 0, 0, 750, 0)
	  Loop
  MissileCheck:
    TNT1 A 0 A_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_Jump ( 175, "GranataCheck")
    TNT1 A 0 A_JumpIfTargetInLos ("Missile", 0, JLOSF_DEADNOJUMP)
	Goto SeeLoop		
  Missile:
    TNT1 A 0
	TNT1 A 0 A_TakeInventory ("GrenadeCoolDown", 1)
    TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "Reload")
    CON2 E 7 A_FaceTarget
	TNT1 A 0 A_JumpIfTargetInLos ("RapidFire", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 750, 420)
	TNT1 A 0 A_JumpIfTargetInLos ("FiveShot", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 751)
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 A 0 A_PlaySound ("DBSHOFRF", 6, 0.5, 0)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (-5,3))
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "Reload")
	CON2 F 3 BRIGHT 
    CON2 E 7 A_FaceTarget
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 A 0 A_PlaySound ("DBSHOFRF", 6, 0.5, 0)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (-3,5))
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "Reload")
	CON2 F 3 BRIGHT
	Goto SeeLoop
  RapidFire:
    CON2 E 4 A_FaceTarget
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 A 0 A_PlaySound ("DBSHOFRF", 6, 0.5, 0)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (-4,4))
	CON2 F 3 BRIGHT A_FaceTarget
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "Reload")
	TNT1 A 0 A_FaceTarget
	CON2 E 2 A_MonsterRefire (40, "SeeLoop")
	Loop
  FiveShot:
    CON2 E 4 A_FaceTarget
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 A 0 A_PlaySound ("DBSHOFRF", 6, 0.5, 0)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (-5,5))
	CON2 F 3 BRIGHT A_FaceTarget
	TNT1 A 0 A_GiveInventory ("ShotCounter", 1)
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "Reload")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_JumpIfInventory ("ShotCounter", 5, "ContinueChase")
	CON2 E 2 A_MonsterRefire (40, "SeeLoop")
	Loop
  ContinueChase:
    TNT1 A 0
	TNT1 A 0 A_TakeInventory ("ShotCounter", 5)
	Goto SeeLoop
  GranataCheck:
	TNT1 A 0 
    TNT1 A 0 A_JumpIfTargetInLos ("Granata", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 700, 300)
	Goto MissileCheck+2
  Granata:
    //TNT1 A 0 A_Print ("Granata")
    CON2 D 10 A_FaceTarget
	TNT1 A 0 A_Jump (100, "Molly")
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile ("M67Grenade", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (12, 17)) 
	CON2 CE 6 
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 2)
	Goto SeeLoop
  Molly:
    TNT1 A 0
	TNT1 A 0 A_PlaySound ("DEM1SE17", CHAN_VOICE)
    CON2 D 4 A_FaceTarget
    TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile ("Molotow1", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (12, 17)) 
	CON2 CE 6 
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 2)
	Goto SeeLoop
  Reload: 
	CON2 DEC 18 A_Playsound ("ASGOUT")
	TNT1 A 0 A_TakeInventory ("ShotgunShotCounter", 10)
	CON2 DE 34 A_Playsound ("ASGIN")
	TNT1 A 0 A_JumpIfInTargetLos ("MissileCheck", 1, JLOSF_DEADNOJUMP, 600, 0) 
	Goto SeeLoop	
  Pain:
    CON2 G 3
    CON2 G 3 A_Pain
	TNT1 A 0 A_JumpIfInventory ("LibertyBroDed", 1, "BerserkSee")
	TNT1 A 0 A_Jump (125, "NotToday")
    goto SeeLoop
	
	
	BerserkSee:
    TNT1 A 0 A_CheckSight ("BerserkCheckReload")
    TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "Reload")
	TNT1 A 0 A_Jump (199, "BerserkDodgeLeftF", "BerserkDodgeRightF")
    CON2 AABBCCDD 3 A_Chase ("", "BerserkMissile")
    loop
  BerserkCheckReload:
    TNT1 A 0 A_Jump (150, "CheckReload2")
 	Goto BerserkSee+1
  BerserkCheckReload2:
    TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "BerserkReload")
	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))
	    CON2 AABBCCDD 2 ThrustThing(angle*256/360+192, 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)) 
	    CON2 AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "BerserkMissileCheck")
		Goto BerserkSee+1
  BerserkMissileCheck:
    TNT1 A 0 A_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_Jump ( 175, "BerserkGranataCheck")
    TNT1 A 0 A_JumpIfTargetInLos ("BerserkMissile", 0, JLOSF_DEADNOJUMP)
	Goto BerserkSee		
  BerserkMissile:
    TNT1 A 0
	TNT1 A 0 A_TakeInventory ("GrenadeCoolDown", 1)
    TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "BerserkReload")
	TNT1 A 0 A_Jump (189, 2)
	TNT1 A 0 A_PlaySound ("DEM1SE16", CHAN_VOICE)
    CON2 E 14 A_FaceTarget
	TNT1 A 0 A_JumpIfTargetInLos ("ActionShot", 1, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 0, 750)
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 A 0 A_PlaySound ("DBSHOFRF", 6, 0.5, 0)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (-4,4))
	CON2 F 3 BRIGHT A_FaceTarget
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "BerserkReload")
	TNT1 A 0 A_FaceTarget
	CON2 E 2 A_MonsterRefire (40, "SeeLoop")
	Loop
  ActionShot:
    CON2 E 6 A_FaceTarget
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 A 0 A_PlaySound ("DBSHOFRF", 6, 0.5, 0)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (-12,-8))
	CON2 F 3 BRIGHT A_FaceTarget
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "BerserkReload")
	TNT1 A 0 A_FaceTarget
	CON2 E 4 A_FaceTarget
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 A 0 A_PlaySound ("DBSHOFRF", 6, 0.5, 0)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (-4,2))
	CON2 F 3 BRIGHT A_FaceTarget
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "BerserkReload")
	TNT1 A 0 A_FaceTarget
	CON2 E 4 A_FaceTarget
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 A 0 A_PlaySound ("DBSHOFRF", 6, 0.5, 0)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (2,8))
	CON2 F 3 BRIGHT A_FaceTarget
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "BerserkReload")
	TNT1 A 0 A_FaceTarget
	CON2 E 4 A_FaceTarget
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 A 0 A_PlaySound ("DBSHOFRF", 6, 0.5, 0)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (8,12))
	CON2 F 3 BRIGHT A_FaceTarget
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "BerserkReload")
	TNT1 A 0 A_FaceTarget
	Goto BerserkSee
  BerserkGranataCheck:
	TNT1 A 0 
    TNT1 A 0 A_JumpIfTargetInLos ("BerserkGranata", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 700, 300)
	Goto BerserkMissileCheck+2
  BerserkGranata:
    //TNT1 A 0 A_Print ("Granata")
    CON2 D 10 A_FaceTarget
	TNT1 A 0 A_Jump (100, "BerserkMolly", "ComboNades", "OneOfEverything")
	TNT1 A 0 A_Playsound ("DemoBrother/Grenade", CHAN_VOICE)
	TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile ("M67Grenade", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (12, 17)) 
	CON2 CE 6 
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 2)
	Goto BerserkSee
  BerserkMolly:
    TNT1 A 0
	TNT1 A 0 A_PlaySound ("DEM1SE17", CHAN_VOICE)
    CON2 D 4 A_FaceTarget
    TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile ("Molotow1", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (12, 17)) 
	CON2 CE 6 
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 2)
	Goto BerserkSee
  ComboNades:
    TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile ("M67Grenade", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (12, 17)) 
	CON2 CE 6 
	CON2 D 10 A_FaceTarget
	TNT1 A 0
	TNT1 A 0 A_PlaySound ("DEM1SE17", CHAN_VOICE)
    CON2 D 4 A_FaceTarget
    TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile ("Molotow1", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (12, 17)) 
	CON2 CE 6 
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 2)
	Goto BerserkSee
  OneOfEverything:
    TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile ("M67Grenade", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (12, 17))
	TNT1 A 0 A_PlaySound ("DEM1SE16", CHAN_VOICE)
	CON2 CE 6 
	CON2 D 10 A_FaceTarget
	TNT1 A 0
	TNT1 A 0 A_PlaySound ("DEM1SE17", CHAN_VOICE)
    CON2 D 4 A_FaceTarget
    TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile ("Molotow1", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (12, 17)) 
	CON2 CE 6 
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 2)
	CON2 E 14 A_FaceTarget
	TNT1 A 0 A_JumpIfTargetInLos ("ActionShot", 1, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 0, 750)
	TNT1 A 0 A_PlaySound ("ASSASG", CHAN_WEAPON)
	TNT1 AAAAAAAA 0 A_CustomMissile ("ShotgunTracer", 32, 9, random (-4,4))
	CON2 F 3 BRIGHT A_FaceTarget
	TNT1 A 0 A_GiveInventory ("ShotgunShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotgunShotCounter", 10, "BerserkReload")
	Goto BerserkSee	
  BerserkReload: 
	CON2 DEC 15
	TNT1 A 0 A_TakeInventory ("ShotgunShotCounter", 10)
	CON2 DE 24
	TNT1 A 0 A_JumpIfInTargetLos ("BerserkMissileCheck", 1, JLOSF_DEADNOJUMP, 600, 0) 
	Goto BerserkSee
	
	
  Death:
    CON2 H 5  A_Scream
    CON2 I 5 A_NoBlocking
    CON2 J 5 A_RadiusGive ("LibertyBroDed", 1250, RGF_MONSTERS, 1)
    CON2 KLM 5
    CON2 N -1
    stop
  XDeath:
    TNT1 A 0
    TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
    CON2 O 5 A_RadiusGive ("LibertyBroDed", 800, RGF_MONSTERS, 1)
    CON2 P 5 A_XScream
    CON2 Q 5 A_NoBlocking
    CON2 RSTUV 5
    CON2 W -1
    Stop
  Raise:
    TNT1 A 0 
	TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	CON2 LKJIH 5
   Goto See	
  Idle:
    CON2 AA 4 A_Wander
    CON2 A 0 A_Look
    CON2 BB 4 A_Wander
    CON2 A 0 A_Look
    CON2 CC 4 A_Wander
    CON2 A 0 A_Look
    CON2 DD 4 A_Wander
    CON2 A 0 A_Look
    loop
  }
}



	