actor xenopaletine : XenoDrone replaces BaronOfHell
{
 bloodcolor gold
 species Xenomorph
 bloodtype BoilerBlood
 health 180
 meleerange 90
 radius 30
 height 58
 mass 200
 painchance 20
 scale 1.0
 speed 18
 maxstepheight 54
 monster
 +BOSS
 +BOSSDEATH
 +FLOAT
 +FLOORCLIP
 +DONTHARMSPECIES
 +DONTHURTSPECIES
 +FASTER
 +FASTMELEE
 +CANBLAST
 +QUICKTORETALIATE
 seesound "xeno/sight"
 deathsound "xeno/death"
 painsound "xeno/pain"
 meleesound "xeno/attack"
 damagefactor "PulseRifle", 0.8
 painchance "PulseRifle", 20
 Obituary "%o was ground into dust by the Paletine."
 states
 {
  Spawn:
		TNT1 A 1
		// ExecuteAlways, 802, 0, <Threat Level>
		// 1 - Small blip
		// 2 - Medium blip
		// 3 - Large blip
		TNT1 A 0 ACS_ExecuteAlways(802, 0, 2)
		Goto Idle
	Idle:
	BLIN A 4
	TNT1 A 0 A_Look
	BLIN A 4
	TNT1 A 0 A_Look
	BLIN A 4
	TNT1 A 0 A_Look
	BLIN A 4
	TNT1 A 0 A_Look
	BLIN A 4
	TNT1 A 0 A_Jump(18, 4)
	TNT1 A 0 A_Jump(186, 7)
	BLIN A 6
	loop
	BLIN A 4 A_Look
	BLIN A 1 A_PlaySound("xeno/active")
	loop
	BLIN A 1 A_Look
  Stand:
	TNT1 A 0 A_ChangeFlag("lookallaround",1)
	TNT1 A 0 A_Look
	BLIN AB 4 A_SetAngle(angle+random(-2, 2))
	TNT1 A 0 A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_Jump(248, 2)
	TNT1 A 0 A_PlaySound("xeno/active")
	BLIN CD 4 A_SetAngle(angle+random(-2, 2))
	TNT1 A 0 A_Wander
	TNT1 A 0 A_ChangeFlag("lookallaround",0)
	goto Idle
  See:
	TNT1 A 0 A_ChangeFlag("lookallaround",0)
	TNT1 A 0 A_JumpIfTargetInLOS("ChaseHard")
	BLIN AB 3 A_Chase
	TNT1 A 0 A_JumpIfTargetInLOS("ChaseHard")
	BLIN CD 3 A_Chase
	TNT1 A 0 A_JumpIfTargetInLOS("ChaseHard")
	BLIN AB 3 A_Chase
	TNT1 A 0 A_JumpIfTargetInLOS("ChaseHard")
	BLIN CD 3 A_Chase
	TNT1 A 0 A_Jump(248, 2)
	TNT1 A 0 A_PlaySound("xeno/active")
	TNT1 A 0
	loop
  ChaseHard:
	ALIN A 0 A_Chase
	BLIN AB 2 A_Chase
	TNT1 A 0 A_JumpIfCloser(220, "jumpcheck")
	ALIN A 0 A_Chase
	BLIN CD 2 A_Chase
	TNT1 A 0 A_JumpIfCloser(220, "jumpcheck")
	ALIN A 0 A_Chase
	BLIN AB 2 A_Chase
	TNT1 A 0 A_JumpIfCloser(220, "jumpcheck")
	ALIN A 0 A_Chase
	BLIN CD 2 A_Chase
	TNT1 A 0 A_JumpIfCloser(220, "jumpcheck")
	TNT1 A 0 A_Jump(248, 2)
	TNT1 A 0 A_PlaySound("xeno/active")
	TNT1 A 0
	goto see
  jumpcheck:
	TNT1 A 0 A_JumpIfTargetinLOS("JumpCheck2")
	goto see
  jumpcheck2:
	TNT1 A 0 A_JumpIfCloser(100, "melee")
	TNT1 A 0 A_CheckSight("see")
  pounce:
	BLIN S 2 A_FaceTarget
    ALIN A 0 A_PlaySound ("xeno/attack")
    ALIN A 0 ThrustThingZ (0, 34, 0, 0)
    ALIN A 0 ThrustThing (angle*256/360, 34, 0, 0)
	ALIN A 0 A_CustomMeleeAttack(random(3, 6)*3, "xeno/hack", "xeno/claw")
  JumpUp:
    BLIN T 1
  JumpDown:
	TNT1 A 0 A_JumpIfCloser(100, "tailmelee")
    BLIN U 1 A_CheckFloor ("Land")
    loop
  Land:
    BLIN V 2 A_Stop
    goto see
  melee:
	TNT1 A 0 A_Jump(120, "TailMelee")
    BLIN EF 8 A_FaceTarget
	TNT1 A 0 A_Recoil(-18)
	BLIN G 6 A_CustomMeleeAttack(random(3, 6)*3, "xeno/hack", "xeno/claw")
	goto see
  tailmelee:
	BLIN H 6 A_FaceTarget
	TNT1 A 0 A_Recoil(-18)
	BLIN I 4 A_CustomMeleeAttack(random(3, 6)*3, "xeno/hack", "xeno/claw")
	goto see
  pain:
	BLIN J 2 A_Pain
	TNT1 A 0 A_AlertMonsters //alerting the horde
	goto see
  Pain.KickDamage:
	ALIN H 2 A_Pain
	goto see
  death.PulseRifle:
  death:
  xdeath:
	BLIN K 6 A_PlaySound("xeno/crack")
	BLIN L 5 A_Scream
	BLIN M 4 
	BLIN N 3
	BLIN O 2
	BLIN P 1 A_NoBlocking
	BLIN Q 1 A_BossDeath
	BLIN R -1
	stop
  }
}