actor BaldJohnWick : GenericHumanScum 
{

   //----------------------------COMPLEX DOOM COMPATIBILITY DROPS------------------------

DropItem "HealthFlask" 40
DropItem "ArmorCharge" 40
DropItem "AmmoPack" 20
DropItem "HandGrenadeAmmo" 50 1
DropItem "MineAmmo" 25 1

  scale 1.0
  obituary "%o was perforated with bullets by the bald John Wick Cosplayer"
  health 33
  radius 15
  height 54
  Species "Z"
  +DOHARMSPECIES
  mass 100
  speed 9
  Damage 1
  painchance 200
  SeeSound "HBydlo/see"
  PainSound "HBydlo/pain"
  DeathSound "HBydlo/Death"
  ActiveSound "HBydlo/active" 
  dropitem "Clip"
  Tag "Bald John Wick Cosplayer"
  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.08, 0.08), 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, 69)
  Spawn2:
    MUS1 T 10 A_Look
    loop
   STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUHBydlo")
	 Goto Spawn+2
  VanJump:
	 TNT1 A 0
	 TNT1 A 0  NODELAY ACS_NamedExecuteAlways ("VanillaHeights")
	Goto Spawn+3	 
  See:
    "####" A random(1,6)
    TNT1 A 0 A_Jump (70, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
	TNT1 A 0 A_Jump (30, "MissileCheck")
    MUS1 EF 10
SeeLoop:
    //TNT1 A 0 A_JumpIfCloser (450, "CheckDodge")
	TNT1 A 0 A_Jump (100, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
    MUS1 AABBCCDD 3 A_Chase
	TNT1 A 0 A_CheckSight ("CheckReload")
    loop
CheckReload:
    TNT1 A 0 A_Jump (50, "CheckReload2")
 	Goto SeeLoop
CheckReload2:
    TNT1 A 0 A_JumpIfInventory ("LightPistolShotCounter", 16, "Reload")
	Goto SeeLoop
CheckDodge:
    TNT1 A 0 A_Jump (221, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
	Goto SeeLoop+1
    DodgeLeft:
	    TNT1 A 0 A_FaceTarget
	    MUS1 AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (20, "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))
	    MUS1 AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (20, "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))
	    MUS1 AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (20, "MissileCheck")
		Goto SeeLoop+1
	DodgeRight:
	    TNT1 A 0 A_FaceTarget
	    MUS1 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)) 
	    MUS1 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)) 
	    MUS1 AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (100, "MissileCheck")
		Goto SeeLoop+1
  MissileCheck:
    TNT1 A 0 A_JumpIfTargetInLos ("Missile")
    Goto SeeLoop+1
  Missile:
    TNT1 A 0 A_JumpIfInventory ("LightPistolShotCounter", 16, "Reload")
    MUS1 E 12 A_FaceTarget
	TNT1 A 0 A_Jump (100, "RapidFire")
	TNT1 A 0 A_Playsound ("BYPFR")
	TNT1 A 0 A_PlaySound ("BYPFRF", 6, 0.5, 0)
	MUS1 F 6 BRIGHT A_CustomMissile ("LightPistolTracer",45,9,random (-5,5))
	TNT1 A 0 A_GiveInventory ("LightPistolShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("LightPistolShotCounter", 16, "Reload")
	TNT1 A 0 A_Playsound ("BYPFR")
	TNT1 A 0 A_PlaySound ("BYPFRF", 6, 0.5, 0)
    MUS1 G 6 BRIGHT A_CustomMissile ("LightPistolTracer",45,-9,random (-5,5))
	TNT1 A 0 A_GiveInventory ("LightPistolShotCounter", 1)
	TNT1 A 0 A_Jump (75, "Seeloop")
	TNT1 A 0 A_MonsterRefire (40, "SeeLoop")
    Loop
  RapidFire:
    MUS1 E 8 A_FaceTarget
    TNT1 A 0 A_JumpIfInventory ("LightPistolShotCounter", 16, "Reload")
	TNT1 A 0 A_Playsound ("BYPFR")
	TNT1 A 0 A_PlaySound ("BYPFRF", 6, 0.5, 0)
	MUS1 F 4 BRIGHT A_CustomMissile ("LightPistolTracer",45,9,random (-8,8))
	TNT1 A 0 A_GiveInventory ("LightPistolShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("LightPistolShotCounter", 16, "Reload")
	TNT1 A 0 A_Playsound ("BYPFR")
	TNT1 A 0 A_PlaySound ("BYPFRF", 6, 0.5, 0)
	TNT1 A 0 A_JumpIfInventory ("LightPistolShotCounter", 16, "Reload")
	MUS1 G 4 BRIGHT A_CustomMissile ("LightPistolTracer",45,-9,random (-8,8))
	TNT1 A 0 A_GiveInventory ("LightPistolShotCounter", 1)
	TNT1 A 0 A_MonsterRefire (40, "SeeLoop")
   Loop
  Reload:
    MUS1 E 12
	TNT1 A 0 A_PlaySound ("LPISOUT")
	MUS1 D 17
	TNT1 A 0 A_PlaySound ("LPISIN")
	TNT1 A 0 A_TakeInventory ("LightPistolShotCounter", 16)
	MUS1 D 25
	TNT1 A 0 A_PlaySound ("LPISIN")
	MUS1 E 15
    TNT1 A 0 A_JumpIfCloser (450, "RapidFireCheck")
	Goto SeeLoop
  RapidFireCheck:
    TNT1 A 0 A_JumpIfTargetInLos ("RapidFireCheck2")
   Goto SeeLoop 	
  RapidFireCheck2:	
    TNT1 A 0 A_Jump (88, "RapidFire")
	TNT1 A 0 A_Jump (150, "DodgeLeftB", "DodgeRightB")
	Goto SeeLoop
  Pain:
    MUS1 H 3
    MUS1 H 3 A_Pain
    goto SeeLoop
  Death:
	//TNT1 A 0 A_Jump(40, "Suren")
    MUS1 J 5 A_NoBlocking
    MUS1 K 5 A_Scream
    MUS1 L 5 A_Playsound ("FallingBodyLight", CHAN_BODY)
    MUS1 M -1
    stop
  Death.WEAK:
    MUS1 O 5
    MUS1 P 5 A_PlaySound("Baddy/pain")
    MUS1 Q 5 A_NoBlocking
    MUS1 R 5
    MUS1 S -1
    stop
  XDeath:
    TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
    MUS1 U 5
    MUS1 V 2 A_XScream
	MUS1 W 2
    BGIB A 5 A_NoBlocking
    BGIB BCD 5
    BGIB E -1
    Stop
  Raise:
    TNT1 A 0 
    TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	MUS1 MLKJ 5
   Goto See	
  Suren:
    GOS1 A 5 A_PlaySound("Baddy/Surren")
    GOS1 B 5
    GOS1 C 5 A_NoBlocking
    GOS1 C 5 A_SpawnItem("Goon1wimp",0,0)
    stop
  //Idle:
   // MUS1 AA 4 A_Wander
   // MUS1 A 0 A_Look
  //  MUS1 BB 4 A_Wander
  //  MUS1 A 0 A_Look
  //  MUS1 CC 4 A_Wander
  //  MUS1 A 0 A_Look
   // MUS1 DD 4 A_Wander
   // MUS1 A 0 A_Look
   // loop
  }
}



