Actor Surrogate 27905
{ 
  Health 1800 
  PainChance 30
  Speed 12
  Radius 20 
  Height 56 
  Mass 320 
  Monster
  +FLOORCLIP
  +FLOAT
  +NOGRAVITY
  +DONTHARMSPECIES
  DropItem "BossLifeEssence" 200
  DropItem "BossArmorBonusMax" 200
  DropItem "PainLordSoul" 200
  DropItem "BigDustMana" 128 100
  DropItem "DustMana" 256 30
  Species "CacoDemon"
  DamageFactor "CacoComet", 0
  Obituary "%o was spirited away by a Surrogate."
  SeeSound "Surrogate/Sight" 
  ActiveSound "Surrogate/Active"
  PainSound "Surrogate/Pain" 
  DeathSound "Surrogate/Death" 
  Tag "\c[h2]Surrogate\c-"
  var int user_mode;
  States 
  { 
  Spawn: 
	TNT1 A 0 A_JumpIf(user_mode == 1,"Spawn.Black")
	SUR1 A 10 A_Look 
	Loop 
  Spawn.Black:
	SUR0 A 10 A_Look
	Loop
  See: 
	TNT1 A 0 A_JumpIf(user_mode == 1,"See.Black")
	SUR1 AAABBB 2 A_Chase
	Loop
  See.Black:
	SUR0 AAABBB 2 A_Chase
	Loop
  ChangeMode:
	TNT1 A 0 A_PlaySound("Surrogate/Sight",2)
	TNT1 A 0 A_JumpIf(user_mode == 1,"ChangeMode2")
	SUR1 DEF 10 Bright
	TNT1 A 0 A_PlaySound("boss/teleport")
	TNT1 A 0 A_SetUserVar("user_mode",1)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("NemesisKaboomNoSound",0,0,random(20,45),random(-5,5),random(-5,5),random(-5,5))
	SUR0 FED 10 Bright
	Goto See
  ChangeMode2:
	SUR0 DEF 10 Bright
	TNT1 A 0 A_PlaySound("boss/teleport")
	TNT1 A 0 A_SetUserVar("user_mode",0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("WhiteNemesisKaboomNoSound",0,0,random(20,45),random(-5,5),random(-5,5),random(-5,5))
	SUR1 FED 10 Bright
	Goto See
  Missile:
	TNT1 A 0 A_JumpIf(user_mode == 1,"Missile.Black")
	TNT1 A 0 A_Jump(64,"ChangeMode")
	TNT1 A 0 A_Jump(128,"PortalProjectiles","BigBall")
	Goto Normal
  Normal:
	TNT1 A 0 A_PlaySound("Surrogate/Attack",2)
	SUR1 DE 5 Bright A_FaceTarget
	SUR1 FFFF 3 Bright A_CustomMissile("DBishHornRodFXNotHoming",36,0,random(-8,8),CMF_OFFSETPITCH,random(-2,2))
	TNT1 A 0 A_FaceTarget
	SUR1 FFFF 3 Bright A_CustomMissile("DBishHornRodFXNotHoming",36,0,random(-8,8),CMF_OFFSETPITCH,random(-2,2))
	TNT1 A 0 A_FaceTarget
	SUR1 FFFF 3 Bright A_CustomMissile("DBishHornRodFXNotHoming",36,0,random(-8,8),CMF_OFFSETPITCH,random(-2,2))
	Goto See
  PortalProjectiles:
	TNT1 A 0 A_PlaySound("Surrogate/Attack",2)
	TNT1 A 0 A_SpawnItemEx("MainyuWhitePortal",0,0,36)
	SUR1 DE 7 Bright A_FaceTarget
	SUR1 FFFFFFFFFF 2 A_CustomMissile("SurrogatePortalProjectile",36,0,random(-15,15),CMF_OFFSETPITCH,random(-4,4)) 
	Goto See
  BigBall:
	TNT1 A 0 A_PlaySound("Surrogate/Attack",2)
	TNT1 A 0 A_PlaySound("Spellbook/Charge")
	TNT1 A 0 A_SpawnItemEx("MainyuWhitePortal",0,0,36)
	SUR1 DDDD 5 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("MainyuWhitePortal",0,0,36)
	SUR1 DDEE 5 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("MainyuWhitePortal",0,0,36)
	SUR1 FFF 7 A_CustomMissile("SurrogatePortalProjectileBig",36,0,random(-25,25),CMF_OFFSETPITCH,random(-4,4)) 
	Goto See
  Missile.Black:
	TNT1 A 0 A_Jump(128,"DarkMatter")
	Goto ElectricBall
  ElectricBall:
	TNT1 A 0 A_PlaySound("Surrogate/Attack",2)
	SUR0 DE 5 Bright A_FaceTarget
	SUR0 F 8 Bright A_CustomMissile("SurrogateElectricBall",36)
	TNT1 A 0 A_FaceTarget
	SUR0 F 8 Bright A_CustomMissile("SurrogateElectricBall",36)
	TNT1 A 0 A_FaceTarget
	SUR0 F 8 Bright A_CustomMissile("SurrogateElectricBall",36)
	TNT1 A 0 A_Jump(64,"ChangeMode")
	Goto See
  DarkMatter:
	TNT1 A 0 A_PlaySound("Surrogate/Attack",2)
	SUR0 DDEE 5 Bright A_FaceTarget
	SUR0 F 8 Bright A_CustomMissile("SurrogateDarkMatter",36)
	TNT1 A 0 A_FaceTarget
	SUR0 F 8 Bright A_CustomMissile("SurrogateDarkMatter",36)
	TNT1 A 0 A_FaceTarget
	SUR0 F 8 Bright A_CustomMissile("SurrogateDarkMatter",36)
	TNT1 A 0 A_Jump(128,"ChangeMode")
	Goto See
  Pain: 
	TNT1 A 0 A_JumpIf(user_mode == 1,"Pain.Black")
	SUR1 C 2 
	SUR1 C 2 A_Pain 
	Goto See 
  Pain.Black:
	SUR0 C 2 
	SUR0 C 2 A_Pain 
	Goto See 
  Death: 
	TNT1 A 0 A_JumpIf(user_mode == 1,"Death.Black")
	SUR1 G 8 Bright A_Scream 
	SUR1 HIJ 5 Bright
	SUR1 K 5 Bright A_NoBlocking 
	SUR1 LMNO 4 Bright  
	SUR1 P -1 
	Stop 
  Death.Black:
	SUR0 G 8 Bright A_Scream 
	SUR0 HIJ 5 Bright
	SUR0 K 5 Bright A_NoBlocking 
	SUR0 LMNO 4 Bright  
	SUR0 P -1 
	Stop 
  Raise: 
	TNT1 A 0 A_JumpIf(user_mode == 1,"Raise.Black")
	SUR1 PONMLKJIHG 4
	Goto See 
  Raise.Black: 
	SUR0 PONMLKJIHG 4
	Goto See 
   } 
}

ACTOR SurrogatePortalProjectile : MainyuPortalProjectile
{
  Damagetype "CacoComet"
}

ACTOR SurrogatePortalProjectileBig : MainyuPortalProjectileBig
{
  Damagetype "CacoComet"
}

ACTOR SurrogateElectricBall : MainyuSentientElectricProjectile
{
  Damagetype "CacoComet"
  Species "Cacodemon"
}

ACTOR SurrogateDarkMatter : PainLordDarkMatter
{
  Damagetype "CacoComet"
}