Actor NewDarkImp : DarkImp replaces DarkImp
{
	Meleerange 48
	Health 180
	+NODAMAGETHRUST
	Species "DoomImp"
	States
	{
	Spawn:
		DRKV A 0
		DRKV A 0 ACS_ExecuteAlways(913,0,180,9,0)
	Idle:
		DRKV AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,70),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,9),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,25)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	See:
        DRKV AABBCCDD 3 A_Chase
        Loop
	Pain:
        DRKV H 2
        DRKV H 2 A_Pain
        Goto See
	Melee:
	Missile:
		DRKV E 0 A_Jump(64,"Teleport")
		DRKV E 0 A_Jump(64,4)
        DRKV EF 8 A_FaceTarget
        DRKV G 6 A_CustomComboAttack("NewDarkImpBall", 32, (3 * random(1, 8)) + (ACS_ExecuteWithResult(912,1,0,0)), "imp/melee")
        Goto Missile+8
        DRKV IJ 8 Bright A_FaceTarget
        DRKV K 6 Bright A_CustomComboAttack("DarkImpBallStrong", 32, (6 * random(1, 8)) + (ACS_ExecuteWithResult(912,2,0,0)), "imp/melee")
        DRKV E 0 A_Jump(64,4)
        DRKV EF 8 A_FaceTarget
        DRKV G 6 A_CustomComboAttack("NewDarkImpBall", 32, (3 * random(1, 8)) + (ACS_ExecuteWithResult(912,1,0,0)), "imp/melee")
        Goto See
        DRKV IJ 8 Bright A_FaceTarget
        DRKV K 6 Bright A_CustomComboAttack("DarkImpBallStrong", 32, (6 * random(1, 8)) + (ACS_ExecuteWithResult(912,2,0,0)), "imp/melee")
        Goto See
	Death:
		DRKV A 0 ACS_ExecuteAlways(914,0,25)
		DRKV L 8
        DRKV M 8 A_Scream
        DRKV N 5
        DRKV O 5 A_Fall
        DRKV P -1
        Stop
	Teleport:
		DRKV E 0 A_UnsetShootable
		DRKV E 0 A_PlaySound("DarkImp/teleport")
		DRKV E 1 A_SetTranslucent(0.9,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.8,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.7,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.6,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.5,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.4,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.3,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.2,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.1,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.0,0)
		DRKV E 0 A_FaceTarget
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		DRKV E 0 A_PlaySound("DarkImp/teleport")
		DRKV E 1 A_SetTranslucent(0.1,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.2,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.3,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.4,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.5,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.6,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.7,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.8,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(0.9,0)
		DRKV E 0 A_FaceTarget
		DRKV E 1 A_SetTranslucent(1.0,0)
		DRKV E 0 A_SetShootable
		Goto See
	Burn:
		BURN A 0 ACS_ExecuteAlways(WOC_MONSTERXPSCRIPT,0,400)
		BURN A 3 Bright A_PlaySound("monster/burndeath")
		BURN B 3 Bright A_Wander
		BURN C 3 Bright A_Pain
		BURN D 3 Bright A_NoBlocking
		BURN E 5 Bright A_Pain
		BURN FGH 5 Bright A_Wander
		BURN I 5 Bright A_Pain
		BURN JKL 5 Bright A_Wander
		BURN M 5 Bright A_Pain
		BURN NOP 5 Bright
		BURN Q 5 Bright A_Pain
		BURN PQ 5 Bright
		BURN R 7 Bright A_Scream
		BURN STU 7 Bright
		BURN V -1
		Stop
	XDeath:
		DRKI A 0 ACS_ExecuteAlways(WOC_MONSTERXPSCRIPT,0,400)
		DRKI N 5
        DRKI O 5 A_XScream
        DRKI P 5
        DRKI Q 5 A_Fall
        DRKI RST 5
        DRKI U -1
        Stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(WOC_MONSTERXPSCRIPT,0,400)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	Raise:
		DRKV A 0 ACS_ExecuteAlways(913,0,180,9,0)//increase health on higher difficulties
        DRKV PO 8
        DRKV NML 6
        Goto See
	}
}

actor NewDarkImpBall replaces DarkImpBall 
{
	Radius 8
    Height 6
    Speed 20
	Damage ((random(3, 24)) + ACS_ExecuteWithResult(WOC_MONSTERSCALE,3,TARGET,0))
	Damagetype "Shadow"
    PROJECTILE
	+NODAMAGETHRUST
    RENDERSTYLE ADD
    ALPHA 0.67
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
    States
    {
    Spawn:
        DKB1 AB 4 Bright
        Loop
    Death:
        DKB1 CDE 4 Bright
        Stop
    }
}

actor DarkImpBallStrong
{
    Radius 8
    Height 6
    Speed 20
    Damage ((random(17, 37)) + ACS_ExecuteWithResult(WOC_MONSTERSCALE,6,TARGET,0))
    Damagetype "Shadow"
	PROJECTILE
	+NODAMAGETHRUST
	+SEEKERMISSILE
    RENDERSTYLE ADD
    ALPHA 0.67
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
    States
    {
    Spawn:
		DKB2 A 0 A_SeekerMissile(8,8)
        DKB2 AAAABBBB 1 Bright A_SpawnItemEx("DarkTail", 0, 0, 0, 0, 0, 0, 0, 128)
        Loop
    Death:
        DKB2 CDE 4 Bright
        Stop
    }
}

actor DarkTail
{
    PROJECTILE
    RENDERSTYLE ADD
    +NOCLIP
    ALPHA 0.5
    States
    {
    Spawn:
        DKBT ABCDEF 2 Bright
        Stop
    }
}

Actor NewCacolantern : Cacolantern Replaces Cacolantern
{
	BloodColor "EB 6F 0F"
	Meleerange 84
	+NODAMAGETHRUST
	DropItem "AccessoryRandomSpawner" 8
	Species "Cacodemon"
	States
	{
	Spawn:
		HED2 A 0 A_JumpIf(Acs_ExecuteWithResult(542),2)
		HED2 A 0 ACS_ExecuteAlways(913,0,800,40,0)//increase health on higher difficulties
		HED2 A 10 A_Look
		Loop
	Idle:
		HED2 A 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,70),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,7),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,60)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
	Missile:
		HED2 B 0 A_JumpIfCloser(400,"MissileBreath")
		HED2 BC 5 A_FaceTarget
		HED2 D 5 A_CustomComboAttack("NewCacolanternBall", 32, (8 * random(1, 8)) + (ACS_ExecuteWithResult(912,3,0,0)))
		Goto See	
    MissileBreath:
        HED2 B 3 A_FaceTarget
        HED2 C 3 A_FaceTarget
        HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
        HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
        HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
        HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
        HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
        HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
		HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
        HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
		HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
        HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
        HED2 D 0 A_Custommissile ("CacoLanternFlame",32,0,0)
        HED2 D 2 A_FaceTarget
        HED2 C 3 A_FaceTarget
        HED2 B 3 A_FaceTarget
        Goto See
    Death:
        HED2 A 0 ACS_ExecuteAlways(914,0,60)
        HED2 G 8 A_Scream
		HED2 H 6
		HED2 H 0 A_SpawnItem("GIBBERLANTERN")
		HED2 H 2
		HED2 I 5
		HED2 J 4 A_NoBlocking
		HED2 K 4
		HED2 L -1 A_SetFloorClip
        Stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,60)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	Raise:
		HED2 S 0 ACS_ExecuteAlways(913,0,800,40,0)
		HED2 L 8 A_UnSetFloorClip
		HED2 KJIHG 8
		Goto See
	}
}

ACTOR NewCacoLanternBall replaces CacoLanternBall
{
    Radius 8
    Height 6
    Speed 20
    Damage ((random(1,8)*5)+(ACS_ExecuteWithResult(912,2,0,0)))
	PROJECTILE
	+NODAMAGETHRUST
	RENDERSTYLE ADD
	SeeSound "caco/attack"
	DeathSound "caco/shotx"
	Decal CacoScorch
	States
	{
	Spawn:
	   BAL8 AB 4 BRIGHT
	   Loop
	Death:
	   BAL8 CDE 6 BRIGHT
	   Stop
	}
}

ACTOR CacoLanternFlame
{
	Radius 4
	Height 6
	Speed 15
	Damage ((random(1,8)*3)+(ACS_ExecuteWithResult(912,1,0,0)))
	PROJECTILE
	+NODAMAGETHRUST
	RENDERSTYLE ADD
	ALPHA 0.8
	SeeSound "CacoFlame/attack"
	States
	{
	Spawn:
       CLBR ABCDEFGH 3 BRIGHT
    Death:
       CLBR IJKLMNOP 3 BRIGHT
       Stop
	}
}

Actor NewAbaddon : Abaddon Replaces Abaddon
{
	Meleerange 84
	+NODAMAGETHRUST
	SeeSound "Abaddon/See"
	ActiveSound "Caco/Active"
	PainSound "Abaddon/Pain"
	DeathSound "Caco/Death"
    MeleeSound "Caco/Melee"
	DropItem "AccessoryRandomSpawner" 8
	Species "Cacodemon"
	States
	{
	Spawn:
		HED3 A 0 A_JumpIf(Acs_ExecuteWithResult(542),2)
		HED3 A 0 ACS_ExecuteAlways(913,0,1200,60,0)//increase health on higher difficulties
		HED3 A 10 A_Look
		Loop
	Idle:
		HED3 A 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,85),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,7),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,80)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
		HED3 BC 5 A_FaceTarget
		HED3 D 5 A_CustomMeleeAttack((8 * random(1, 8)) + (ACS_ExecuteWithResult(912,3,0,0)))
		Goto See
	Missile: 
		HED3 A 0 A_Jump(56,9)
		HED3 A 0 A_Jump(72,13)
		HED3 B 5 A_FaceTarget
		HED3 C 5 bright A_FaceTarget
		HED3 D 5 A_FaceTarget 
		HED3 B 0 bright A_CustomMissile("NewAbaddonball", 32, 0, 0, 1)
		HED3 B 0 bright A_CustomMissile("NewAbaddonball", 32, 0, -8, 1)
		HED3 B 5 bright A_CustomMissile("NewAbaddonball", 32, 0, 8, 1)
		Goto See 
		HED3 B 5 A_FaceTarget
		HED3 C 5 bright A_CustomMissile("AbaddonSoul", 32, 0, 0, 1)
		HED3 D 5 bright A_facetarget
		HED3 B 5 bright
		Goto See
		HED3 B 5 A_FaceTarget
		HED3 C 2 bright A_CustomMissile("NewAbaddonball", 32, 0, 16, 1)
		HED3 C 2 bright A_CustomMissile("NewAbaddonball", 32, 0, 12, 1)
		HED3 B 0 A_FaceTarget
		HED3 C 2 bright A_CustomMissile("NewAbaddonball", 32, 0, 8, 1)
		HED3 C 2 bright A_CustomMissile("NewAbaddonball", 32, 0, 4, 1)
		HED3 B 0 A_FaceTarget
		HED3 D 2 bright A_CustomMissile("NewAbaddonball", 32, 0, 0, 1)
		HED3 D 2 bright A_CustomMissile("NewAbaddonball", 32, 0, -4, 1)
		HED3 B 0 A_FaceTarget
		HED3 D 2 bright A_CustomMissile("NewAbaddonball", 32, 0, -8, 1)
		HED3 D 2 bright A_CustomMissile("NewAbaddonball", 32, 0, -12, 1)
		HED3 B 0 A_FaceTarget
		HED3 B 2 bright A_CustomMissile("NewAbaddonball", 32, 0, -16, 1)
		HED3 B 4 bright
		Goto See
	Death:
		HED3 A 0 ACS_ExecuteAlways(914,0,80)
		HED3 G 8 A_Scream
		HED3 H 6
		HED3 H 0 A_SpawnItem("GIBBER")
		HED3 H 2
		HED3 I 5
		HED3 J 4 A_NoBlocking
		HED3 K 4
		HED3 L -1 A_SetFloorClip
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,80)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	Raise:
		HED3 S 0 ACS_ExecuteAlways(913,0,1200,60,0)
		HED3 L 8 A_UnSetFloorClip
		HED3 KJIHG 8
		Goto See
	}
}

Actor NewAbaddonBall replaces AbaddonBall
{
	Damage ((random(1,8)*10)+(ACS_ExecuteWithResult(912,4,0,0)))
	Radius 8
    Height 6
    Speed 15
    PROJECTILE
	+NODAMAGETHRUST
	RENDERSTYLE ADD
	ALPHA 0.8
	SeeSound "abaddonball/see"
	DeathSound "abaddonball/death"
	States
	{
	Spawn:
	   BAL3 AAAABBBB 1 BRIGHT A_SpawnItemEx("NewAbaddonBallTrail", 0, 0, 0, 0, 0, 0, 0, 128)
	   Loop
	Death:
	   BAL3 CDE 6 BRIGHT
	   Stop
	}
}

Actor NewAbaddonBallTrail
{
    Radius 1
    Height 1
    +NOCLIP
    +NOGRAVITY
    +FLOAT
    Renderstyle ADD
    Alpha 0.5
    States
    {
    Spawn:
        BAL3 AB 2 Bright A_FadeOut (0.1)
        loop
    }
}

Actor AbaddonSoul : NewAbaddonBall
{
    Radius 12
    Height 24
    Speed 20
	+NODAMAGETHRUST
    Damage ((random(1,8)*20)+(ACS_ExecuteWithResult(912,8,0,0)))
    SeeSound "AbaddonSoul/see"
    DeathSound "AbaddonSoul/death"
    States
    {
    Spawn:
       SKUD CCCCDDDD 1 BRIGHT A_SpawnItemEx("AbaddonSoulTrail", 0, 0, 16, 0, 0, 0, 0, 128)
       Loop
    Death:
       SKUD H 4 BRIGHT A_Mushroom("NewAbaddonBall", 8)
       SKUD I 4 BRIGHT
       SKUD JK 4 BRIGHT
       stop
    }
}

Actor AbaddonSoulTrail
{
    Radius 1
    Height 1
    +NOCLIP
    +NOGRAVITY
    +FLOAT
    Renderstyle ADD
    Alpha 0.5
    States
    {
    Spawn:
        BAL3 A 0 A_CStaffMissileSlither
        BAL3 AB 4 BRIGHT A_FadeOut (0.1)
        loop
    }
}

Actor NewBelphegor : Belphegor Replaces Belphegor
{
	BloodColor "0 78 0"
	Meleerange 84
	+NODAMAGETHRUST
	DropItem "AccessoryRandomSpawner" 8
	Species "BaronOfHell"
	States
	{
	Spawn:
		BOS3 A 0 A_JumpIf(Acs_ExecuteWithResult(542),2)
		BOS3 A 0 ACS_ExecuteAlways(913,0,1500,75,0)//increase health on higher difficulties
		BOS3 AB 10 A_Look
		Loop
	Idle:
		BOS3 AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,90),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,9),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,120)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
		BOS3 EF 6 A_FaceTarget
		BOS3 G 6 A_CustomComboAttack("BelphegorBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		BOS3 EF 6 A_FaceTarget
		BOS3 G 6 A_CustomComboAttack("BelphegorBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		BOS3 EF 6 A_FaceTarget
		BOS3 G 6 A_CustomComboAttack("BelphegorBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		Goto See
	Missile:
		BOS3 E 0 A_Jump(128,"Missile2")
		BOS3 EF 6 A_FaceTarget
		BOS3 G 6 A_CustomComboAttack("BelphegorBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		BOS3 EF 6 A_FaceTarget
		BOS3 G 6 A_CustomComboAttack("BelphegorBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		BOS3 EF 6 A_FaceTarget
		BOS3 G 6 A_CustomComboAttack("BelphegorBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		Goto See
	Missile2:
		BOS3 EF 6 A_FaceTarget
		BOS3 G 0 A_CustomMissile("BelphegorBall",32,0,4)
		BOS3 G 0 A_CustomMissile("BelphegorBall",32,0,-4)
		BOS3 G 6 A_CustomMissile("BelphegorBall",32,0,0)
		Goto See
	Death:
		BOS3 A 0 ACS_ExecuteAlways(914,0,120)
		BOS3 I 8
		BOS3 J 8 A_Scream
		BOS3 K 0 A_SpawnItem("GREENDOOMGIBBER")
		BOS3 K 8
		BOS3 L 8 A_NoBlocking
		BOS3 M 8
		BOS3 N 8
		BOS3 O -1 A_BossDeath
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,120)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	Raise:
		BOS3 O 0 ACS_ExecuteAlways(913,0,1500,75,0)//increase health on higher difficulties
		BOS3 ONMLKJI 8
		Goto See
	}
}

Actor NewBelphegorBall : BelphegorBall replaces BelphegorBall
{
	Damage ((random(1,8)*8)+(ACS_ExecuteWithResult(912,3,0,0)))
	+NODAMAGETHRUST
}

Actor NewBloodDemon : BloodDemon replaces BloodDemon
{
	Meleerange 76
	+NODAMAGETHRUST
	Painchance 0
	Speed 15
	States
	{
	Spawn:
		SRG2 A 0 A_JumpIf(Acs_ExecuteWithResult(542),2)
		SRG2 A 0 ACS_ExecuteAlways(913,0,300,15,0)//increase health on higher difficulties
		SRG2 AB 10 A_Look
		Loop
	Idle:
		SRG2 AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,60),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,4),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,50)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
		SRG2 EF 8 A_FaceTarget
		SRG2 G 8 A_CustomMeleeAttack((4 * random(1, 10)) + (ACS_ExecuteWithResult(912,2,0,0)))
		Goto See
	Death:
		SRG2 A 0 ACS_ExecuteAlways(914,0,50)
		Goto Super::Death
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,50)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	Raise:
		SRG2 N 0 ACS_ExecuteAlways(913,0,300,15,0)
		SRG2 NMLKJI 5
		Goto See
	}
}

Actor NewHectebus : Hectebus replaces Hectebus
{
	DropItem "AccessoryRandomSpawner" 8
	Species "Fatso"
	+NODAMAGETHRUST
	States
	{
	Spawn:
		HECT A 0 A_JumpIf(Acs_ExecuteWithResult(542),2)
		HECT A 0 ACS_ExecuteAlways(913,0,1200,60,0)//increase health on higher difficulties
		HECT AB 15 A_Look
		Loop
	Idle:
		HECT AB 15 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,80),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,9),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,110)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Death:
		HECT A 0 ACS_ExecuteAlways(914,0,110)
		HECT KK 1 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		HECT K 4 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		HECT L 6 A_Scream
		HECT M 6 A_NoBlocking
		HECT N 6
		HECT O 6
		HECT PPPPPPP 1 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		HECT QQQQQQ 1 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		HECT RRRRRR 1 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		HECT S 6
		HECT T -1
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,110)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	Raise:
		HECT R 0 ACS_ExecuteAlways(913,0,1200,60,0)
		HECT RQPONMLK 5
		Goto See
	}
}

Actor NewHectShot : HectShot replaces HectShot
{
	Damage ((random(1,8)*12)+(ACS_ExecuteWithResult(912,4,0,0)))
	+NODAMAGETHRUST
}

Actor NewSuperShotgunGuy : SuperShotgunGuy replaces SuperShotgunGuy
{
	DropItem ""
	Species "ShotgunGuy"
	Health 180
	+NODAMAGETHRUST
	SEESOUND "SSGUNER/sight"
	ATTACKSOUND "SSGUNER/SSG"
	PAINSOUND "grunt/pain"
	DEATHSOUND "SSGUNER/death"
	ACTIVESOUND "SSGUNER/idle"
	States
	{
	Spawn:
		GPOS A 0 A_JumpIf(Acs_ExecuteWithResult(542),2)
		GPOS A 0 ACS_ExecuteAlways(913,0,180,9,0)//increase health on higher difficulties
		GPOS AB 10 A_Look
		Loop
	Idle:
		GPOS AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,60),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,3),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,30)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Missile:
		GPOS E 10 A_FaceTarget
		GPOS E 0 bright A_PlaySound("ssgguy/attack", CHAN_WEAPON)
		GPOS FFFFFF 0 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		GPOS F 10 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		GPOS E 10
		Goto See
	Death:
		GPOS A 0 ACS_ExecuteAlways(914,0,30)
		Goto Super::Death
	XDeath:
		GPOS A 0 ACS_ExecuteAlways(914,0,30)
		TNT1 A 0 A_SpawnItem("GIBBER")
		Goto Super::XDeath
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,30)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	Raise:
		GPOS L 0 ACS_ExecuteAlways(913,0,180,9,0)
        GPOS LKJIH 5
        Goto See
	}
}

Actor NewRedArmorSpot : CustomInventory replaces RedArmor
{
	Game Doom
	SpawnID 168
	Inventory.RespawnTics 0x7FFFFFFF
	+INVENTORY.QUIET
	+INVENTORY.ALWAYSPICKUP
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("NewGreenArmorSpot")
	TNT1 A 0 A_SpawnItem("NewGreenArmorSpot")
	TNT1 A 0 A_SpawnItem("NewGreenArmorSpot")
	TNT1 A -1
	Stop
	Pickup:
	TNT1 A 0 A_GiveInventory("DummiestItemEvar")
	Stop
	}
}

Actor NewMaxHealthBonusSpot : RandomSpawner replaces MaxHealthBonus
{
	Game Doom
	SpawnID 166
	Dropitem "ArtiGreenFlask"
	DropItem "ArtiRedFlask"
	DropItem "ArtiYellowFlask"
}

Actor NewMaxArmorBonusSpot : RandomSpawner replaces MaxArmorBonus
{
	Game Doom
	SpawnID 167
	Dropitem "NewArtiBlastRadius"
}

Actor NewMinigunSpot : CustomInventory replaces Minigun //Mana1(2)
{
	Game Doom
	SpawnID 214
	Inventory.RespawnTics 0x7FFFFFFF
	+INVENTORY.QUIET
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("MorningStarRGiver")
	TNT1 A 0 A_SpawnItem("GlacialCrossbowRGiver")
	TNT1 A 0 A_SpawnItem("DragonClawRGiver")
	TNT1 A 0 A_SpawnItem("JadeWandRGiver")
	TNT1 A 0 A_SpawnItem("NecroGauntletsRGiver")
	TNT1 A -1
	Stop
	Pickup:
	TNT1 A 0 A_GiveInventory("DummiestItemEvar")
	Stop
	}
}

Actor NewGrenadeLauncherSpot : CustomInventory replaces GrenadeLauncher //Mana2(1)
{
	Game Doom
	SpawnID 163
	Inventory.RespawnTics 0x7FFFFFFF
	+INVENTORY.QUIET
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("FirestormRGiver")
	TNT1 A 0 A_SpawnItem("EtherealCrossbowRGiver")
	TNT1 A 0 A_SpawnItem("HammerOfRetributionRGiver")
	TNT1 A 0 A_SpawnItem("ArcOfDeathRGiver")
	TNT1 A 0 A_SpawnItem("LichStaffRGiver")
	TNT1 A -1
	Stop
	Pickup:
	TNT1 A 0 A_GiveInventory("DummiestItemEvar")
	Stop
	}
}

Actor NewRailgunSpot : CustomInventory replaces Railgun //Mana2(2)
{
	Game Doom
	SpawnID 164
	Inventory.RespawnTics 0x7FFFFFFF
	+INVENTORY.QUIET
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("LightbringerRGiver")
	TNT1 A 0 A_SpawnItem("BlunderbussRGiver")
	TNT1 A 0 A_SpawnItem("VorpalBladeRGiver")
	TNT1 A 0 A_SpawnItem("SkullstaffRGiver")
	TNT1 A 0 A_SpawnItem("DarkPhoenixRodRGiver")
	TNT1 A -1
	Stop
	Pickup:
	TNT1 A 0 A_GiveInventory("DummiestItemEvar")
	Stop
	}
}

Actor NewBFG10KSpot : CustomInventory replaces BFG10K //Ultimates
{
	Game Doom
	SpawnID 165
	Inventory.RespawnTics 0x7FFFFFFF
	+INVENTORY.QUIET
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("WraithVergeRGiver")
	TNT1 A 0 A_SpawnItem("HFCannonRGiver")
	TNT1 A 0 A_SpawnItem("QuietusRGiver")
	TNT1 A 0 A_SpawnItem("BloodScourgeRGiver")
	TNT1 A 0 A_SpawnItem("RavenStaffGiverRGiver")
	TNT1 A -1
	Stop
	Pickup:
	TNT1 A 0 A_GiveInventory("DummiestItemEvar")
	Stop
	}
}