ACTOR RevGhoul : Revenant
{
	//$Category Monsters
	//$Title Ghoul
	Health 400
	Radius 20
	Height 56
	Mass 500
	Speed 8
	PainChance 80
	Monster
	MeleeThreshold 196
	+DONTHARMCLASS
	+DONTHURTSPECIES
	+FLOORCLIP
	+MISSILEMORE
	SeeSound "RevGhoul/Sight"
	PainSound "RevGhoul/pain"
	DeathSound "RevGhoul/death"
	ActiveSound "RevGhoul/active"
	MeleeSound "RevGhoul/melee"
	HitObituary "$HOB_GHOUL"
	Obituary "OB_GHOUL"
	BloodColor Green
	DamageFactor "Poison",0
	DamageFactor "PoisonCloud",0
	DamageFactor "GhoulCloud",0
	PoisonDamage 128 //Poison Damage Duration from Melee About 4-5 Seconds
	Decal BaronScorch
	States
	{
	Spawn:
		GHUL AB 10 A_Look
		Loop
	See:
		GHUL AABBCCDDEEFF 2 A_Chase
		Loop
	Melee:
		GHUL G 1 A_FaceTarget
		GHUL G 6 A_StartSound ("RevGhoul/Swing")
		GHUL H 6 A_FaceTarget
		GHUL I 6 A_CustomMeleeAttack(random(1,8)*6,"RevGhoul/melee","")
		Goto See
	Missile:
		GHUL J 1 Bright A_FaceTarget
		GHUL J 9 Bright A_FaceTarget
		GHUL K 10 A_CustomMissile("GhoulMissile",62,11)
		GHUL K 10 A_FaceTarget
		Goto See
	Pain:
		GHUL L 5
		GHUL L 5 A_Pain
		Goto See
	Death:
		GHUL LM 7
		GHUL N 7 A_Scream
		TNT1 A 0 A_SpawnItemEX("GhoulDeathCloud",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION)
		GHUL O 7 A_NoBlocking
		GHUL P 7
		GHUL Q -1
		Stop
	Raise:
		GHUL Q 5
		GHUL PONML 5
		Goto See
	}
}

ACTOR GhoulMissile : RevenantTracer
{
	Radius 11
	Height 8
	Speed 12
	FastSpeed 15
	Damage 3
	Projectile
	+RANDOMIZE
	+SEEKERMISSILE
	SeeSound "RevGhoul/attack"
	DeathSound "RevGhoul/tracex"
	RenderStyle Add
	Decal BaronScorch
	States
	{
	Spawn:
		GASB ABC 3 BRIGHT A_Tracer
		TNT1 A 0 A_SpawnItemEx("GasTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("GhoulCloud",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,64)
		Loop
	Death:
		GASX ABC 1 BRIGHT
		TNT1 A 0 A_SpawnItemEx("GhoulCloud",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		TNT1 A 0 A_SpawnItemEx("GhoulDrip",Random(-56,56),Random(-48,48),Random(-48,48),0,0,0,0,SXF_NOCHECKPOSITION,128)
		GASX D 2 BRIGHT
		GASX E 2 BRIGHT
		GASX F 2 BRIGHT
		Stop
	}
}

ACTOR GasTrail
{
	Radius 8
	Height 6
	Speed 8
	FastSpeed 11
	RenderStyle Add
	Alpha 0.8
	Projectile
	+RANDOMIZE
	States
	{
	Spawn:
		GHBL ABCDEF 4 Bright
		Stop
	}
}

Actor GhoulDrip : Blood
{
	Translation "176:223=112:127"
	States
	{
	Spawn:
		BLUD ABCD 4
		Stop
	}
}

Actor GhoulCloud
{
	Radius 20
	Height 30
	Mass 0x7fffffff
	+BLOCKEDBYSOLIDACTORS
	+BLOODLESSIMPACT
	+BRIGHT
	+CANBLAST
	+DONTSPLASH
	+DROPOFF
	+FOILINVUL
	+FORCERADIUSDMG
	+NOBLOCKMAP
	+NODAMAGETHRUST
	+NOGRAVITY
	RenderStyle Add
	Alpha 0.6
	DeathSound "RevGhoul/cloud"
	DamageType PoisonCloud
	PoisonDamage 8
	states
	{
	Spawn:
		GHCL D 1
		GHCL D 1 A_Scream
		GHCL DEEEFFFGGGHHHIIEEEFFFGGGHHHII 2 A_Explode(1,40,false, false,40)
	Death:
		GHCL HG 7
		GHCL FD 6
		Stop
	}
}

Actor GhoulDeathCloud : GhoulCloud
{
	States
	{
	Spawn:
		GHCL D 1 Bright
		GHCL D 1 Bright A_Scream
		GHCL DEEEFFFGGGHHHIIEEEFFFGGGHHHII 2 Bright A_Explode(1,40,false,false,40)
		GHCL IIHHHGGGFFFEEEIIHHHGGGFFFEEE 2 Bright A_Explode(1,40,false,false,40)
		GHCL FFFGGGHHHIIEEEFFFGGGHHHII 2 Bright A_Explode(1,40,false,false,40)
	Death:
		GHCL HG 7 Bright
		GHCL FD 6 Bright
		Stop
	}
}

//Mostly inspired to DeVloek Volacubi one - Thankx to MagicWazard for suggestions!
ACTOR Haedexebus : Fatso
{
	//$Category Monsters
	//$Sprite UNMBA1
	//$Title "Haedexebus"
	PainChance 16
	Radius 72
	Height 88
	Health 3000
	Mass 600
	Speed 8
	+DONTHURTSPECIES
	+FLOATBOB
	+MISSILEMORE
	+NOINFIGHTING
	-FLOORCLIP
	SEESOUND "UNMNROAM"
	PAINSOUND "UNMNPAIN"
	DEATHSOUND "UNMNDYIN"
	Decal "RedPlasmaScorch"
	Obituary "$OB_HAEDX"
	States
	{
	Spawn:
		UNMB AABB 8 A_Look
		Loop
	See:
		UNMB AAAABBBB 4 A_Chase
		Loop
	Missile:
		UNMB C 5 A_FatRaise
		UNMB CD 5 A_FaceTarget
		UNMB D 0 A_Jump(80,"Missile2")
		UNMB E 0 Bright A_StartSound("UNMBWOSH")
		UNMB E 0 BRIGHT LIGHT(UNMNBALLR) A_CustomMissile("FatMace", 48, 32, random(-7,4))
		UNMB E 0 Bright A_StartSound("UNMBWOSH")
		UNMB E 5 BRIGHT LIGHT(UNMNBALLL) A_CustomMissile("FatMace", 48, -32, random(-4,7))
		UNMB CD 5 A_FaceTarget
		Goto See
	Missile2:
		"####" CD 2 A_FaceTarget
		"####" E 8 BRIGHT LIGHT(UNMNBALLR) A_SpawnProjectile("Harpoon",48,32,frandom(-2,2),CMF_CHECKTARGETDEAD)
		"####" CD 2 A_FaceTarget
		"####" E 8 BRIGHT LIGHT(UNMNBALLR) A_SpawnProjectile("Harpoon",48,-32,frandom(-2,2),CMF_CHECKTARGETDEAD)
		"####" CD 4 A_FaceTarget
		Goto See
	Pain:
		UNMB F 4
		UNMB F 4 A_Pain
		Goto See
	Death:
		TNT1 A 0 A_ChangeFlag(FLOATBOB, 0)
		UNMB G 7 A_SetFloorClip
		UNMB H 6 A_Scream
		UNMB I 6 A_NoBlocking
		UNMB JKLM 5 A_UnsetSolid
		UNMB N -1 A_BossDeath
		Stop
	XDeath: //new
		TNT1 A 0 A_ChangeFlag(FLOATBOB, 0)
		UNMB G 0 A_SpawnDebris("NashGore_Gib11",0)
		UNMB G 0 A_SpawnDebris("NashGore_Gib11",0)
		UNMB G 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		UNMB G 7 A_SetFloorClip
		UNMB H 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,2)
		UNMB H 6 A_Scream
		UNMB I 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,4)
		UNMB I 6 A_NoBlocking
		UNMB JKLM 5 A_UnsetSolid
		UNMB N -1 A_BossDeath
		Stop
	Raise:
		UNMB N 6 A_UnSetFloorClip
		UNMB MLKJIHG 6 A_SetSolid
		TNT1 A 0 A_ChangeFlag(FLOATBOB, 1)
		Goto See
	}
}

//Some Hellforge Cannon defs here - thankx to Eriance!
ACTOR RedPuff
{
	Radius 0
	Height 1
	+BRIGHT
	+FORCEXYBILLBOARD
	+NOBLOCKMAP
	+NOGRAVITY
	RENDERSTYLE ADD
	ALPHA 0.85
	States
	{
	Spawn:
		TNT1 A 3
		RPUF ABCDE 3
		Stop
	}
}

ACTOR FatMace
{
	Radius 8
	Height 8
	Speed 30
	Damage 4
	RENDERSTYLE Normal
	Damagetype Fire
	PROJECTILE
	+BRIGHT
	+FORCEXYBILLBOARD
	+THRUGHOST
	Seesound "UNMBMACI"
	DeathSound "UNMBMACX"
	States
	{
	Spawn:
		RIP1 ABC 3 A_SpawnItemEx("RedPuff",0,0,0,0,0,0,0,8)
		Loop
	Death:
		RIP1 D 0 A_SetTranslucent (0.75,1)
		RIP1 D 1 A_Explode(64,64,1)
		RIP1 D 0 A_SpawnItemEx("FatMace2",0,0,0,40,0,0,0,0,0)
		RIP1 D 0 A_SpawnItemEx("FatMace2",0,0,0,40,0,0,60,0,0)
		RIP1 D 0 A_SpawnItemEx("FatMace2",0,0,0,40,0,0,120,0,0)
		RIP1 D 0 A_SpawnItemEx("FatMace2",0,0,0,40,0,0,180,0,0)
		RIP1 D 0 A_SpawnItemEx("FatMace2",0,0,0,40,0,0,240,0,0)
		RIP1 D 0 A_SpawnItemEx("FatMace2",0,0,0,40,0,0,300,0,0)
		RIP1 DEFGH 3
		Stop
	}
}

ACTOR FatMace2
{
	Radius 5
	Height 5
	Damage 1
	PROJECTILE
	RENDERSTYLE Normal
	Damagetype Normal
	+BRIGHT
	+FORCEXYBILLBOARD
	+THRUGHOST
	DeathSound "UNMBFIR2"
	States
	{
	Spawn:
		RIP2 A 3
		RIP2 B 3
		Loop
	Death:
		RIP2 C 0 A_SetTranslucent (0.67,1)
		RIP2 CDEFG 3
		Stop
	}
}

ACTOR HFSpot
{
	Radius 4
	Height 4
	ReactionTime 35
	RENDERSTYLE ADD
	Alpha 0.80
	Scale 2.0
	+BRIGHT
	+CEILINGHUGGER
	+DROPOFF
	+MISSILE
	+NOBLOCKMAP
	+NOGRAVITY
	+NOTELEPORT
	+SPAWNCEILING
	States
	{
	Spawn:
		MPOR A 0
		MPOR A 0 ThrustThingZ(0,1024,0,0)
		MPOR A 2 ThrustThing(random(0,255),1,0,0)
		MPOR A 0 A_CustomMissile("FMaceBall",0,0,random(0,359),6,random(-90,-45))
		MPOR A 0 A_CustomMissile("FMaceBall",0,0,random(0,359),6,random(-90,-45))
		MPOR B 2 A_CountDown
		Loop
	Death:
		MPOR A 0 A_CustomMissile("FMaceBall",0,0,random(0,359),6,random(-90,-45))
		MPOR A 0 A_CustomMissile("FMaceBall",0,0,random(0,359),6,random(-90,-45))
		MPOR ABABAB 2 A_FadeOut(0.10)
		Stop
	}
}

ACTOR FMaceBall
{
	Radius 8
	Height 4
	Speed 12
	Damage 4
	RENDERSTYLE Normal
	PROJECTILE
	Damagetype Fire
	+BRIGHT
	+FORCEXYBILLBOARD
	+THRUGHOST
	-NOGRAVITY
	DeathSound "UNMBOOOM"
	States
	{
	Spawn:
		RIP1 ABC 3 A_SpawnItemEx("RedPuff",0,0,0,0,0,0,0,8)
		Loop
	Death:
		MACX A 0 A_SetTranslucent (0.80,1)
		MACX A 3
		MACX B 3 A_Explode(32,64,1)
		MACX CDEFGHIJ 3
		Stop
	}
}