Actor RitualLord : BaronOfHell
{
//Creator: Complex Doom CF 3.0 team
//Origin: Complex Doom CF 3.0 Aprilfools
//Sprite: RLRD
//Title: "Ritual Lord"
Health 2000
Scale 1.2
Speed 16
PainChance 20
MinMissileChance 160
Species "Nobles"
DamageFactor "NobleComet", 0
BloodColor "Blue"
DropItem "BossLifeEssence" 200
DropItem "BossArmorBonusMax" 200
SeeSound "Painlord/Sight" 
ActiveSound "Painlord/Active"
PainSound "Painlord/Pain"
DeathSound "Painlord/Death"
MeleeSound "baron/melee"
Obituary "%o felt the real pain by the Ritual Lord."
Tag "\chRitual Lord\c-"
+DONTHARMSPECIES
+MISSILEMORE
+MISSILEEVENMORE
States
{
  Spawn:
    RLRD A 10 A_Look
    Loop
  See:
	RLRD AABB 3 Bright A_Chase
    TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
	RLRD CCDD 3 Bright A_Chase
    TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
    Loop
  Melee:
    TNT1 A 0
	Goto Missile
  Missile:
    RLRD E 0 A_Jump(100,"Missile2","Missile3")
	RLRD E 0 A_Jump(68,"Missile1","Missile4")
	RLRD E 0 A_Jump(100,"ExplosiveWave")
	Goto See
  Missile1:
    RLRD E 5 Bright
    RLRD EF 0 A_FaceTarget
	RLRD G 1 Bright
    RLRD H 2 Bright A_CustomMissile("NKamehameha",38,0)
	RLRD G 1 Bright
    RLRD H 2 Bright A_CustomMissile("NKamehameha",38,0)
    RLRD EF 0 A_FaceTarget
	RLRD G 1 Bright
    RLRD H 2 Bright A_CustomMissile("NKamehameha",38,0)
	RLRD G 1 Bright
    RLRD H 2 Bright A_CustomMissile("NKamehameha",38,0)
	RLRD EF 0 A_FaceTarget
    RLRD G 1 Bright
	RLRD H 2 Bright A_CustomMissile("NKamehameha",38,0)
    RLRD G 1 Bright
	RLRD H 2 Bright A_CustomMissile("NKamehameha",38,0)
    RLRD EF 0 A_FaceTarget
    RLRD G 1 Bright
	RLRD H 10 A_CustomMissile("NKamehameha",38,0)
	//TNT1 A 0 A_Jump(32,"Rush")
    goto see
  Missile2:
    RLRD EF 0 A_FaceTarget
	RLRD G 1 Bright
	RLRD H 4 Bright A_CustomMissile("Kiblast",38,0,15)
	RLRD EF 0 A_FaceTarget
	RLRD G 1 Bright
	RLRD H 4 Bright A_CustomMissile("Kiblast",38,0,-15)
	RLRD EF 0 A_FaceTarget
	RLRD G 1 Bright
	RLRD H 4 Bright A_CustomMissile("Kiblast",38,0,15)
	RLRD EF 0 A_FaceTarget
	RLRD G 1 Bright
	RLRD H 4 Bright A_CustomMissile("Kiblast",38,0,-15)
	RLRD EF 0 A_FaceTarget
	RLRD G 1 Bright
	RLRD H 4 Bright A_CustomMissile("Kiblast",38,0,15)
	TNT1 A 0 A_Jump(84, "Missile1")
	goto see
  Missile3:
    RLRD EF 4 Bright A_FaceTarget
    RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,-10)
    RLRD EF 0 A_FaceTarget
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,-8)    
    RLRD EF 0 A_FaceTarget    
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,-6)	
    RLRD EF 0 A_FaceTarget    
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,-4)	
    RLRD EF 0 A_FaceTarget    
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,-2)	
    RLRD EF 0 A_FaceTarget    
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,0)	
    RLRD EF 0 A_FaceTarget    
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,2)
    RLRD EF 0 A_FaceTarget   
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,4)    
    RLRD EF 0 A_FaceTarget   
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,6)	
    RLRD EF 0 A_FaceTarget    
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,8)	
    RLRD EF 0 A_FaceTarget    
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("PBaronBall",32,0,10)	
	goto See
  Missile4:
    RLRD EF 4 Bright A_FaceTarget
	RLRD G 1 Bright
	RLRD H 1 Bright A_CustomMissile("KiblastBig",32,0,0)
	Goto See
  ExplosiveWave:
    RLRD EF 15 Bright
	RLRD G 1 Bright
	RLRD H 2 Bright A_CustomMissile("ExplosiveWave")
	Goto See
  Pain:
    RLRD Q 10 A_Pain
    Goto See
  Death:
    RLRD Q 70 Bright A_Scream
	RLRD Q 2 Bright A_SpawnItemex("ExplosiveWave")
	TNT1 A 0 A_BossDeath
	RLRD Q 1 Bright A_FadeOut(0.05)
    Wait
  }
}

actor NKamehameha //Normal
{
  obituary "%o was annihilated."
  radius 13
  height 8
  speed 90
  damage 5
  renderstyle Add
  translation "160:167=197:205" , "224:231=192:201" 
  alpha 0.75
  deathsound "weapons/bfgx"
  PROJECTILE
  -RANDOMIZE
  +FORCERADIUSDMG
  DamageType "NobleComet"
  Scale 0.75
  states
  {
  Spawn:
    KLS1 A 1 Bright A_SpawnItemEx("GFlameDebris", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 0 A_SpawnItemEx("GCannonMove", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    KLS1 B 1 Bright A_SpawnItemEx("GFlameDebris", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 1 Bright A_SpawnItemEx("GFlameDebris", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 0 A_SpawnItemEx("GCannonMove", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    KLS1 B 1 Bright A_SpawnItemEx("GFlameDebris", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 1 Bright A_SpawnItemEx("GFlameDebris", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 0 A_SpawnItemEx("GCannonMove", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    Loop
  Death:
    KLE1 A 4
    KLE1 C 0 A_Explode(3,128,0)
    KLE1 A 4 Bright A_Explode(2,256)
    KLE1 B 8 Bright
    KLE1 C 0 A_SpawnItemEx("GFlameDebris2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLE1 C 0 A_SpawnItemEx("GFlameDebris2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLE1 C 0 A_SpawnItemEx("GFlameDebris2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLE1 C 4 Bright 
    KLE1 C 4 Bright A_Explode(10,256,0)
    KLE1 DEF 8 Bright
    stop
  }
}

actor GCannonMove
{
  RenderStyle None
  -RANDOMIZE
  +NOCLIP
  +FORCERADIUSDMG
  PROJECTILE
  translation "160:167=197:205" , "224:231=192:201" 
  Speed 1
  Damage 0
  Scale 0.7
  Obituary "%o couldn't bare the thought of %k's incoming Plasma Ball."
  DamageType "NobleComet"
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 A 5 Bright A_Explode(5,32,0)
    stop
  }  
}

actor GFlameDebris
{
  radius 13
  height 8
  speed 0
  damage 0
  renderstyle Add
  translation "160:167=197:205" , "224:231=192:201" 
  alpha 0.75
  PROJECTILE
  -RANDOMIZE
  Scale 0.5
  states
  {
  Spawn:
  	TNT1 A 0
    KLCX A 0 
    KLCX A 0 A_CustomMissile("GFlame",0,0,random(-8,-6),2,random(-4,6))
    KLCX J 2 Bright A_CustomMissile("GFlame",0,0,random(6,8),2,random(-4,6))
    stop
  Death:
    KLCX ABCDEF 3 Bright
    stop
  }
}

actor GFlameDebris2
{
  radius 13
  height 8
  speed 0
  damage 0
  renderstyle Add
  translation "160:167=197:205" , "224:231=192:201" 
  alpha 0.75
  PROJECTILE
  -RANDOMIZE
  Scale 0.5
  states
  {
  Spawn:
  	TNT1 A 0
    KLCX A 0 
    KLCX A 0 A_CustomMissile("GFlame",0,0,random(-180,180),2,random(21,90))
    KLCX A 0 A_CustomMissile("GFlame",0,0,random(-180,180),2,random(21,90))
    KLCX J 1 Bright A_CustomMissile("GFlame",0,0,random(-180,180),2,random(21,90))
    stop
  Death:
    KLCX ABCDEF 3 Bright
    stop
  }
}

actor GFlame
{
  obituary "%o got too close to %k's Plasma ball."
  radius 13
  height 8
  speed 10
  damage (20)
  renderstyle Add
  translation "160:167=197:205" , "224:231=192:201" 
  alpha 0.75
  PROJECTILE
  -RANDOMIZE
 //-NOGRAVITY
 //+LOWGRAVITY
  Scale 0.4
  DamageType "NobleComet"
  states
  {
  Spawn:
    TNT1 A 0
    KLCX AAABCDEF 3 Bright
    stop
  Death:
    KLCX ABCDEF 4 Bright
    stop
  }
}

actor ExplosiveWave
{
Speed 0
+MISSILE
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SetAngle(0)
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/16))
	TNT1 A 1 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	Goto Death
  Death:
	TNT1 A 0
	stop
    }
}

actor Kiblast
{
  obituary "%o was annihilated."
  radius 6
  height 4
  speed 35
  damage 7
  translation "160:167=197:205" , "224:231=192:201" 
  renderstyle Add
  scale 0.25
  alpha 0.75
  deathsound "Ki/hit"
  PROJECTILE
  -RANDOMIZE
  +SEEKERMISSILE
  DamageType "NobleComet"
  states
  {
  Spawn:
    KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 0 A_SpawnItemEx("GCannonMove2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 AB 1 Bright
	KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 0 A_SpawnItemEx("GCannonMove2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 AB 1 Bright
	KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 0 A_SpawnItemEx("GCannonMove2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 AB 1 Bright
    KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 0 A_SpawnItemEx("GCannonMove2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 AB 1 Bright
  Fly:
    KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 0 A_SpawnItemEx("GCannonMove2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    KLS1 A 0 A_SpawnItemEx("GFlameDebris3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    KLS1 A 1 Bright A_SeekerMissile(15,3)
    KLS1 B 1 Bright
    Loop	
  Death:
    KLE1 A 4
    KLE1 C 0 A_Explode(5,12,0)
    KLE1 A 4 Bright A_Explode(5,64)
    KLE1 B 8 Bright
    KLE1 C 4 Bright 
    KLE1 DEF 8 Bright
    stop
  }
}

actor GCannonMove2
{
  RenderStyle None
  -RANDOMIZE
  +NOCLIP
  +FORCERADIUSDMG
  PROJECTILE
  Speed 1
  Damage 0
  Scale 0.7
  Obituary "%o couldn't bare the thought of %k's incoming Plasma Ball."
  DamageType "NobleComet"
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 A 5 Bright A_Explode(5,32,0)
    stop
  }  
}

actor GFlameDebris3
{
  radius 13
  height 8
  speed 0
  damage 0
  translation "160:167=197:205" , "224:231=192:201" 
  renderstyle Add
  alpha 0.35
  PROJECTILE
  -RANDOMIZE
  +RIPPER
  Scale 0.5
  states
  {
  Spawn:
  	TNT1 A 0
    KLCX A 0 A_CustomMissile("GFlameSm",0,0,random(0,0),2,random(0,0))
    KLCX J 2 Bright A_CustomMissile("GFlameSm",0,0,random(0,0),2,random(0,0))
    stop
  Death:
    KLCX ABCDEF 3 Bright
    stop
  }
}

actor GFlameSm
{
  obituary "%o got destoryed."
  radius 13
  height 8
  speed 10
  damage (2)
  translation "160:167=197:205" , "224:231=192:201" 
  renderstyle Add
  alpha 0.25
  PROJECTILE
  -RANDOMIZE
  Scale 0.10
  DamageType "NobleComet"
  states
  {
  Spawn:
    TNT1 A 0
    KLCX AAABCDEF 3 Bright
    stop
  Death:
    KLCX ABCDEF 4 Bright
    stop
  }
}

actor ExplosiveWave2
{
Speed 0
+MISSILE
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SetAngle(0)
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/4))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/4))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	TNT1 A 0 A_SetAngle(angle+(360/4))
	TNT1 A 0 A_CustomMissile("NKamehameha", 0, 0, 0, CMF_AIMDIRECTION|CMF_TRACKOWNER)
	Goto Death
  Death:
	TNT1 A 0
	stop
    }
}
		
actor RitualLordGhost
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
States
{
Spawn:
    TNT1 A 1
    RLRD A 2 A_FadeOut(0.10)
    Goto Spawn+1
    }
}

Actor PBaronBall : BaronBall
{
Damage 8
DamageType "NobleComet"
Speed 32
Species "Nobles"
+DONTHARMSPECIES
States
{
Spawn:
    LBAQ AB 1 Bright A_SpawnItemEx("LegNobleBall2Trail",0,0,0,0,0,0,0,128,0)
    Loop
Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("Kaboom6", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
    LBAQ CDE 3 Bright
    Stop
    }
}

actor KiblastBig
{
  obituary "%o was annihilated."
  radius 12
  height 8
  speed 18
  damage (35)
  translation "160:167=197:205" , "224:231=192:201" 
  renderstyle Add
  scale 0.75
  alpha 0.75
  deathsound "Ki/hit"
  PROJECTILE
  -RANDOMIZE
  +SEEKERMISSILE
  +FORCERADIUSDMG
  DamageType "NobleComet"
  states
  {
  Spawn:
    KLS1 A 1 Bright A_SeekerMissile(15,0)
    KLS1 B 1 Bright
    goto Spawn
  Death:
    KLE1 A 4
    KLE1 C 0 A_Explode(5,12,0)
	KLE1 A 0 A_CustomMissile("MiniBluePlasmaBall",15,0,0)
	KLE1 A 0 A_CustomMissile("MiniBluePlasmaBall",15,0,40)
	KLE1 A 0 A_CustomMissile("MiniBluePlasmaBall",15,0,80)
	KLE1 A 0 A_CustomMissile("MiniBluePlasmaBall",15,0,120)
	KLE1 A 0 A_CustomMissile("MiniBluePlasmaBall",15,0,160)
	KLE1 A 0 A_CustomMissile("MiniBluePlasmaBall",15,0,200)
	KLE1 A 0 A_CustomMissile("MiniBluePlasmaBall",15,0,240)
	KLE1 A 0 A_CustomMissile("MiniBluePlasmaBall",15,0,280)
	KLE1 A 0 A_CustomMissile("MiniBluePlasmaBall",15,0,320)
	DBAL C 0 A_Burst("MiniBluePlasmaBall2")
    KLE1 A 4 Bright A_Explode(5,64)
    KLE1 B 8 Bright
    KLE1 C 4 Bright 
    KLE1 DEF 8 Bright
    stop
  }
}

actor MiniBluePlasmaBall : Kiblast
{
  Scale 0.25
  Damage 4
}  

actor MiniBluePlasmaBall2 : Kiblast
{
  Scale 0.25
  Damage 4
  +LOWGRAVITY
  -NOGRAVITY
  alpha 0.4
  renderstyle Translucent
} 