Actor NewDarkImp : DarkImp replaces DarkImp
{
	Meleerange 48
	States
	{
	Spawn:
		DIMP A 0
		DIMP A 0 ACS_ExecuteAlways(913,0,120,8,0)//increase health on higher difficulties
		DIMP AB 10 A_Look
		Loop
	Idle:
		DIMP 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
	Melee:
	Missile:
		DIMP EF 8 A_FaceTarget
		DIMP G 6 A_CustomComboAttack("DarkImpBall", 32, (3 * random(1, 8)) + (ACS_ExecuteWithResult(912,1,0,0)), "imp/melee")
		Goto See
	Death:
		DIMP A 0 ACS_ExecuteAlways(914,0,25)
		Goto Super::Death
	Burn:
		BURN A 0 ACS_ExecuteAlways(914,0,25)
		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:
		DIMP A 0 ACS_ExecuteAlways(914,0,25)
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_PlaySound("gibbage/xsplat")
		TNT1 A 1 A_SpawnItemEx("ZDARKIMPHEAD",0, 0, 50, random(4,6), random(4,6), random(4,6), random(0,360), 128)
		TNT1 A 1 A_SpawnItem("GIBBER")
		TNT1 AA 1 A_SpawnItemEx("DARKIMPCLAW",0, 0, 50, random(4,6), random(4,6), random(4,6), random(0,360), 128)
		Stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,25)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

actor NewDarkImpBall : DarkImpBall replaces DarkImpBall 
{
	Damage ((3 * random(1, 8)) + (ACS_ExecuteWithResult(912,1,0,0)))
}

actor ZDARKIMPHEAD
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    +NOBLOCKMAP
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    bouncefactor 0.6
    Decal BloodSplat
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
        DIMH A 0 
        DIMH A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
    See:
        DIMH A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
        DIMH B 5 ThrustThingZ(0,6,1,1)
        DIMH C 5 
        DIMH ABC 5 
        loop
    Death:
        DIMH C 0 A_Jump (32,3)
        DIMH C 0 A_Jump (64,3)
        DIMH C 0 A_Jump (128,3)
        DIMH A 1050 
        Stop
        DIMH B 1050 
        Stop
        DIMH C 1050
        Stop        
    }
}

actor DARKIMPCLAW
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    +NOBLOCKMAP
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    bouncefactor 0.4
    Decal BloodSplat
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
        DIMC A 0 
        DIMC A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
    See:
        DIMC A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
        DIMC B 5 ThrustThingZ(0,6,1,1)
        DIMC C 5 
        DIMC ABC 5 
        loop
    Death:
        DIMC C 0 A_Jump (128,3)
        DIMC C 0 A_Jump (128,3)
        DIMC C 0 A_Jump (128,3)
        DIMC A 1050
        Stop
        DIMC B 1050 
        Stop
        DIMC C 1050 
        Stop                
    }
}

Actor NewCacolantern : Cacolantern Replaces Cacolantern
{
	BloodColor "Blue"
	Meleerange 84
	States
	{
	Spawn:
		HED2 A 0
		HED2 A 0 ACS_ExecuteAlways(913,0,800,20,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 BC 5 A_FaceTarget
		HED2 D 5 A_CustomComboAttack("NewCacolanternBall", 32, (8 * random(1, 8)) + (ACS_ExecuteWithResult(912,1,0,0)))
		Goto See
	Death:
		HED2 A 0 ACS_ExecuteAlways(914,0,60)
		HED2 G 8 A_Scream
		HED2 H 6
		HED2 H 0 A_SpawnItem("BLUEDOOMGIBBER")
		HED2 H 2
		HED2 I 5
		//HED2 I 0 A_SpawnItem("BLUEDOOMGIBBER")
		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
	}
}

Actor NewCacolanternBall : CacolanternBall replaces CacolanternBall
{
	Damage ((random(1,8)*5)+(ACS_ExecuteWithResult(912,2,0,0)))
}

Actor NewAbaddon : Abaddon Replaces Abaddon
{
	Meleerange 84
	States
	{
	Spawn:
		HED3 A 0
		HED3 A 0 ACS_ExecuteAlways(913,0,1200,25,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:
	Missile:
		HED3 BC 5 A_FaceTarget
		HED3 D 5 A_CustomComboAttack("NewAbaddonBall", 32, (8 * random(1, 8)) + (ACS_ExecuteWithResult(912,3,0,0)))
		HED3 BC 5 A_FaceTarget
		HED3 D 5 A_CustomComboAttack("NewAbaddonBall", 32, (8 * random(1, 8)) + (ACS_ExecuteWithResult(912,3,0,0)))
		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 I 0 A_SpawnItem("GIBBER")
		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
	}
}

Actor NewAbaddonBall : AbaddonBall replaces AbaddonBall
{
	Damage ((random(1,8)*10)+(ACS_ExecuteWithResult(912,4,0,0)))
}

Actor NewBelphegor : Belphegor Replaces Belphegor
{
	BloodColor "0 78 0"
	Meleerange 84
	States
	{
	Spawn:
		BOS3 A 0
		BOS3 A 0 ACS_ExecuteAlways(913,0,1500,60,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:
	Missile:
		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
	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
	}
}

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

Actor NewBloodDemon : BloodDemon replaces BloodDemon
{
	Meleerange 76
	States
	{
	Spawn:
		SRG2 A 0
		SRG2 A 0 ACS_ExecuteAlways(913,0,300,13,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
	}
}

Actor NewHectebus : Hectebus replaces Hectebus
{
	States
	{
	Spawn:
		HECT A 0
		HECT A 0 ACS_ExecuteAlways(913,0,1200,25,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
	}
}

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

Actor NewSuperShotgunGuy : SuperShotgunGuy replaces SuperShotgunGuy
{
	DropItem ""
	States
	{
	Spawn:
		GPOS A 0
		GPOS A 0 ACS_ExecuteAlways(913,0,120,8,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
	}
}

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
	}
}