Actor PhaseCacodemon : Cacodemon~
{
  Health 900
  Speed 16
  PainChance 40
  MeleeDamage 7
  Species "Cacodemon"
  BloodColor "Purple"
  DropItem "LifeEssence" 60
  DropItem "ArmorBonusMax" 60
  SeeSound "monsters/watchersight"
  PainSound "monsters/watcherpain"
  DeathSound "monsters/watcherdeath"
  Obituary "%o was smitten by a Phase Cacodemon."
  HitObituary "%o became a Phase Cacodemon's dessert."
  Tag "\ctPhase Cacodemon\c-" 
  var int user_phased;
  States
  {
  Spawn:
	PHCC A 1 A_Look
	Loop
  See:
	PHCC A 3 A_Chase
	TNT1 A 0 A_Jump(10,"Evade")	
	TNT1 A 0 A_Jump(12,"Phase")		
	Loop
  Evade:
	TNT1 A 0 A_Jump(128,7)
	TNT1 A 0 ThrustThing(Angle*256/360+64,14,0,0)
	PHCC AAAA 3 A_Chase
	TNT1 A 0 A_Stop
	Goto See
	TNT1 A 0 ThrustThing(Angle*256/360+192,14,0,0)	
	PHCC AAAA 3 A_Chase
	TNT1 A 0 A_Stop	
	Goto See
  Phase:
	TNT1 A 0 A_JumpIf(user_phased == 1,"UnPhase")
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_SetUserVar("user_phased",1)
	PHCC A 2 A_FaceTarget
	PHCC A 1 A_SetTranslucent(0.75)
	PHCC A 1 A_SetTranslucent(0.55)
	PHCC A 1 A_SetTranslucent(0.35)
	PHCC A 1 A_SetTranslucent(0.15)
	Goto Phased
  Phased:
	PHCC AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_ExtChase(0,0)
	PHCC A 1 A_Chase
	TNT1 A 0 A_Jump(4,"UnPhase")
	Goto Phased+32
  UnPhase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_SetUserVar("user_phased",0)
	PHCC A 1 A_SetTranslucent(0.15)
	PHCC A 1 A_SetTranslucent(0.35)
	PHCC A 1 A_SetTranslucent(0.55)
	PHCC A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SetTranslucent(1)
	PHCC A 2 A_FaceTarget		
	Goto See
  Missile:
	TNT1 A 0 A_Jump(100,"Homing")
	PHCC BC 6 A_FaceTarget
	PHCC D 2 Bright A_FaceTarget
	PHCC D 1 Bright A_CustomMissile("PhaseBallNoHoming",24,0,0,0,0)
	TNT1 A 0 Bright A_CustomMissile("PhaseBallNoHoming",24,0,6,0,0)
	PHCC D 1 Bright A_CustomMissile("PhaseBallNoHoming",24,0,-6,0,0)
	PHCC CB 4 A_FaceTarget
	TNT1 A 0 A_JumpIf(user_phased == 1,"UnPhase")
	Goto See
  Homing:
    PHCC BC 6 A_FaceTarget
    PHCC D 0 A_CustomMissile("PhazoDemonBall",22,0,-3,0)
    PHCC D 8 A_CustomMissile("PhazoDemonBall",22,0,3,0)
	PHCC CB 5 A_FaceTarget
	TNT1 A 0 A_JumpIf(user_phased == 1,"UnPhase")
	Goto See
  Melee:
	PHCC BC 5 A_FaceTarget
	PHCC D 5 A_MeleeAttack
	PHCC CB 5 A_FaceTarget
	Goto See
  Pain:
	PHCC E 6 A_Pain
	PHCC F 6
	Goto See
  XDeath:
  Death:
	TNT1 A 0
	TNT1 A 0 A_SetTranslucent(1)
	PHCC G 7 A_Scream
	PHCC H 7 A_NoBlocking
	PHCC I 6
	PHCC J 5
	PHCC K 4
	PHCC L -1
	Stop
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	PHCC KJIHG 4
	Goto See
	}
}