Actor Homodox : Heterodox
{
//Creator: Complex Doom CF 3.0 team
//Origin: Complex Doom CF 3.0 Aprilfools
//Sprite: HMOW
//Title: "Homodox"
Health 1800
Species "Nobles"
DamageFactor "Hell", 0.0
DamageFactor "NobleComet", 0.0
Obituary "%o was profaned by a Homodox."
HitObituary "%o was slayed by a Homodox."
Tag "\c[o7]Homodox\c-"
States
	{
	Spawn:
		HMOW A 10 A_Look
		Loop
	See:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("Tic",999)
		HMOW AAAABBBB 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		HMOW CCCCDDDD 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		TNT1 A 0 A_Jump(67,"Rush")
		Loop
	Rush:
		HMOW A 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_FastChase
		HMOW A 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase("Melee","")
		HMOW A 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase
		HMOW B 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase
		HMOW B 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase("Melee","")
		HMOW B 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		HMOW C 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase
		HMOW C 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase("Melee","")
		HMOW C 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase("Melee","")
		HMOW D 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase
		HMOW D 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		HMOW D 1 A_SpawnItemEx("HomoFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_Chase("Melee","")
		TNT1 A 0 A_Jump(34,"See")
		Loop
	Melee:
		HMOA AAABBBCC 1 A_FaceTarget
		TNT1 A 0 A_GiveToTarget("HeterodoxCurse")
		TNT1 A 0 A_MeleeAttack
		HMOA CCCCC 1 A_JumpIfCloser(64,"Alt")
		HMOA BAA 3
		GoTo See
	Alt:
		HMOA DDDDEEEFF 1 A_FaceTarget
		TNT1 A 0 A_MeleeAttack
		TNT1 A 0 A_JumpIfInventory("Tic",15,"AltEnd")
		TNT1 A 0 A_GiveInventory("Tic",1)
		HMOA FFFF 1 A_JumpIfCloser(64,"Melee")
	AltEnd:
		HMOA EDD 3
		GoTo See
	Missile:
		TNT1 A 0 A_TakeInventory("Tic",999)
		TNT1 A 0 A_Jump(64,"FunZone")
		TNT1 A 0 A_Jump(128,"RightMissile")
	LeftMissile:
		HMOA D 4 A_FaceTarget
		HMOA E 4 A_FaceTarget
		HMOA F 7 A_CustomMissile("HomoMissile1",32,-5,0)
		GoTo See
	RightMissile:
		HMOA A 4 A_FaceTarget
		HMOA B 4 A_FaceTarget
		HMOA C 7 A_CustomMissile("HomoMissile2",32,-5,0)
		GoTo See
    FunZone:
		TNT1 A 0 A_FaceTarget
		HMOA D 5 A_SpawnItemEx("HomoMissileDual1Fake",10,-20,60,0,0,0,32)
		HMOA E 5 A_SpawnItemEx("HomoMissileDual1Fake",10,-9,46,0,0,0,32)
		HMOA F 6 A_SpawnItemEx("HomoMissileDual1Fake",10,4,28,0,0,0,32)
		TNT1 A 0 A_FaceTarget
		HMOA A 5 A_SpawnItemEx("HomoMissileDual2Fake",10,20,60,0,0,0,32)
		HMOA B 5 A_SpawnItemEx("HomoMissileDual2Fake",10,9,46,0,0,0,32)
		HMOA C 6 A_SpawnItemEx("HomoMissileDual2Fake",10,-4,28,0,0,0,32)
		TNT1 A 0 A_FaceTarget
		HMOA D 5 A_CustomMissile("HomoMissileDual1Real",60,-20,0)
		HMOA E 5 A_CustomMissile("HomoMissileDual1Real",46,-9,0)
		HMOA F 6 A_CustomMissile("HomoMissileDual1Real",28,4,0)
		TNT1 A 0 A_FaceTarget
		HMOA A 5 A_CustomMissile("HomoMissileDual2Real",60,20,0)
		HMOA B 5 A_CustomMissile("HomoMissileDual2Real",46,9,0)
		HMOA C 6 A_CustomMissile("HomoMissileDual2Real",28,-4,0)
		Goto see  
	Pain:
		TNT1 A 0
		HMOP A 2 A_Pain
		HMOP A 3
		GoTo See
	Death:
		TNT1 A 0
		HMOD A 2
		TNT1 A 0 A_SpawnItemEx("BlackGibbedGenerator",0,0,32)
		HMOD B 5 A_Scream
		HMOD C 5 A_Fall
		HMOD D 4
		HMOD E 4 A_BossDeath
		HMOD F 3 A_RemoveChildren
		TNT1 A 0 A_KillMaster
		HMOD G -1
		Stop
	Raise:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		HMOD GFEDCBA 5
		GoTo See
	}
}

Actor HomoMissile1
{
	Projectile
	Radius 8
	Height 16
	Speed 22
	Damage 19
	Scale 0.65
	RenderStyle Add
	Damagetype "NobleComet"
	SeeSound "AttackCharge"
	DeathSound "HellStaff/Explode"
	Decal PlasmaScorchLower
	States
	{
	Spawn:
		HMOB AAA 1 Bright A_CustomMissile("SLM1Trail",random(-5,5),random(8,-8),0)
		HMOB BBB 1 Bright A_CustomMissile("SLM1Trail",random(-5,5),random(8,-8),0)
		HMOB CCC 1 Bright A_CustomMissile("SLM1Trail",random(-5,5),random(8,-8),0)
		Loop
	Death:
		TNT1 A 0 A_SpawnItemEx("RedParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("Kaboom10",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		HMOB DEFG 3 Bright
		Stop
	}
}

Actor SLM1Trail
{
	-NOGRAVITY
	Gravity 0.4
	+NOCLIP
	+CLIENTSIDEONLY
	RenderStyle Add
	Alpha 0.8
	Scale 0.5
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 ThrustThingZ(0,random(-3,8),0,1)
		SHTY ABCDDE 3 Bright
		SHTY F 1 Bright A_FadeOut(0.1)
		Wait
	}
}

Actor HomoMissile2
{
	Speed 14
	damage 15
	scale 0.35
	radius 6
	height 12
	RENDERSTYLE ADD
	Alpha 0.75
	Damagetype "NobleComet"
	PROJECTILE
	+SEEKERMISSILE
	seesound "Soul/Fire"
	deathsound "Soul/Hit"
	states
	{
	Spawn:
		PSMM A 2 Bright A_SeekerMissile(25,10)
		TNT1 A 0 A_CustomMissile("BFlanSoulWeakTrail",0,0,0)
		PSMM A 2 Bright A_SeekerMissile(25,10)
		TNT1 A 0 A_CustomMissile("BFlanSoulWeakTrail",0,0,0)
		PSMM B 2 Bright A_SeekerMissile(25,10)
		TNT1 A 0 A_CustomMissile("BFlanSoulWeakTrail",0,0,0)
		PSMM B 2 Bright A_SeekerMissile(25,10)
		TNT1 A 0 A_CustomMissile("BFlanSoulWeakTrail",0,0,0)
		PSMM C 2 Bright A_SeekerMissile(25,10)
		TNT1 A 0 A_CustomMissile("BFlanSoulWeakTrail",0,0,0)
		PSMM C 2 Bright A_SeekerMissile(25,10)
		TNT1 A 0 A_CustomMissile("BFlanSoulWeakTrail",0,0,0)
		PSMM D 2 Bright A_SeekerMissile(25,10)
		TNT1 A 0 A_CustomMissile("BFlanSoulWeakTrail",0,0,0)
		PSMM E 2 Bright A_SeekerMissile(25,10)
		TNT1 A 0 A_CustomMissile("BFlanSoulWeakTrail",0,0,0)
		PSMM F 2 Bright A_SeekerMissile(25,10)
		TNT1 A 0 A_CustomMissile("BFlanSoulWeakTrail",0,0,0)
		goto Spawn+12
	Death:
		TNT1 AA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
		PSMM GGHHIIJJKKLLMM 2 Bright A_FadeOut(0.05)
		stop
	}
}

Actor HomoMissileDual1Fake
{
	Projectile
	Speed 0
	Scale 0.34
	RenderStyle Add
	SeeSound "DBish/Atk1"
	States
	{
	Spawn:
		MSP2 ABCD 2
		MSP2 ABCD 2
		MSP2 ABCD 2
		MSP2 ABCD 2
		Stop
	Death:
		TNT1 A 1
		Stop
	}
}
Actor HomoMissileDual1Real
{
	Projectile
	Speed 28
	Scale 0.34
	RenderStyle Add
	Damage 16
	Radius 6
	height 12
	Damagetype "NobleComet"
	SeeSound "AttackCharge"
	DeathSound "HellStaff/Explode"
	Decal DoomImpScorch
	States
	{
	Spawn:
		MSP2 A 1 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		TNT1 AA 0 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		MSP2 A 1 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		TNT1 AA 0 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		MSP2 B 1 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		TNT1 AA 0 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		MSP2 B 1 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		TNT1 AA 0 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		MSP2 C 1 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		TNT1 AA 0 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		MSP2 C 1 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		TNT1 AA 0 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		MSP2 D 1 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		TNT1 AA 0 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		MSP2 D 1 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		TNT1 AA 0 A_CustomMissile("SLMD1RTrail",random(-5,5),random(8,-8),0)
		Loop
	Death:
		TNT1 A 0 A_SpawnItemEx("RedParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("Kaboom10",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		ICYX BCDEFGHIJ 2
		Stop
	}
}
Actor SLMD1RTrail
{
	-NOGRAVITY
	Gravity 0.4
	+NOCLIP
	+CLIENTSIDEONLY
	RenderStyle Add
	Alpha 0.8
	Scale 0.3
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 ThrustThingZ(0,random(-3,5),0,1)
		SHTY ABCDDE 3 Bright
		SHTY F 1 Bright A_FadeOut(0.1)
		Wait
	}
}

Actor HomoMissileDual2Fake
{
	Projectile
	Speed 0
	Scale 0.8
	RenderStyle Add
	Alpha 0.75
	SeeSound "AttackCharge"
	Translation "112:127=80:111"
	States
	{
	Spawn:
		CSSF DEDEDEDEDEDEDEDE 2 Bright
		Stop
	Death:
		TNT1 A 1
		Stop
	}
}
Actor HomoMissileDual2Real
{
	Projectile
	Speed 18
	Radius 6
	Damage 12
	Scale 0.8
	RenderStyle Add
	Alpha 0.75
	+SeekerMissile
	Damagetype "NobleComet"
	SeeSound "Acid/Fire"
	DeathSound "Acid/Hit"
	height 12
	Decal PlasmaScorchLower
	States
	{
	Spawn:
		CSSF D 1 Bright A_SeekerMissile(10,10)
		TNT1 AAA 0 A_CustomMissile("SLMD2RTrail",random(5,-5),random(5,-5),0)
		CSSF D 1 Bright A_SeekerMissile(10,10)
		TNT1 AAA 0 A_CustomMissile("SLMD2RTrail",random(5,-5),random(5,-5),0)
		CSSF E 1 Bright A_SeekerMissile(10,10)
		TNT1 AAA 0 A_CustomMissile("SLMD2RTrail",random(5,-5),random(5,-5),0)
		CSSF E 1 Bright A_SeekerMissile(10,10)
		TNT1 AAA 0 A_CustomMissile("SLMD2RTrail",random(5,-5),random(5,-5),0)
		Loop
	Death:
		TNT1 AA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
		CSSF GHI 4 Bright 
		CSSF I 1 Bright A_FadeOut
		Wait
	}
}
Actor SLMD2RTrail
{
	+NOINTERACTION
	+CLIENTSIDEONLY
	+NOCLIP
	RenderStyle Add
	Alpha 0.5
	Scale 0.25
	States
	{
	Spawn:
		PUF2 BCDEFGHIJKL 1 
		PUF2 L 1 A_FadeOut(0.2)
		Wait
	}
}

ACTOR HomoFX : AzFX
{
States
	{
	Spawn:
		TNT1 A 1 Bright
		HMOW AABBCCDD 1 A_FadeOut(0.09,0)
		HMOW D 1 A_FadeOut(0.09,1)
		Wait
	}
}