ACTOR BrutalGuncastPainElemental : PainElemental1 replaces PainElemental1
{
	//Loot
	DropItem "Emerald"
	
	//Resists & Weaknesses
	
	//They are spitting flaming skulls at you. Pretty obvious about the resistance
	//they have, I hope? Ice is a weapon of choice, especially that it causes
	//no spawning of the lost souls after it died. Again, can be cheesed with melee
	//and tearing damage.
	
	DamageFactor Fire, 0.7
	DamageFactor Meteorfist, 0.8

	DamageFactor CloseCombat, 1.25
	DamageFactor Shoelaces, 1.25
	DamageFactor SuperCloseCombat, 1.25
	DamageFactor SuperShoelaces, 1.25
	DamageFactor SuperMidasCloseCombat, 1.25
	DamageFactor SuperMidasShoelaces, 1.25
	
	DamageFactor Manuel, 1.25
	DamageFactor Crow, 1.25
	DamageFactor Crow2, 1.25
	DamageFactor Ice, 1.25
	
	//PAAAAAIN
	PainChance 128
	PainChance Crow, 2
	PainChance Crow2, 2
	
	//Guaranteed Effects
	
	PainChance SuperCloseCombat, 256
	PainChance SuperShoelaces, 256
	PainChance SuperMidasCloseCombat, 256
	PainChance SuperMidasShoelaces, 256
	PainChance Acid, 256
	PainChance Meteorfist, 256
	
	//Chance Effects
	PainChance Lightning, 128
	PainChance LightningBlue, 24
	PainChance Manuel, 192
	PainChance Fire, 20
	
	var int User_DeathByFire;
	var int User_DeathByTiberium;
	var int User_DeathByBlueTiberium;
	var int User_LightningLock;
	
	States
	{
	
	//Melee
	Pain.SuperCloseCombat:
	Pain.SuperMidasCloseCombat:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-8.0,-10.0),0,frandom(1.0,3.0),CVF_RELATIVE)
		Goto Pain
	Pain.SuperShoelaces:
	Pain.SuperMidasShoelaces:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-15.0,-20.0),0,frandom(10.0,15.0),CVF_RELATIVE)
		Goto Pain
	Death.SuperCloseCombat:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-8.0,-10.0),0,frandom(1.0,3.0),CVF_RELATIVE)
		Goto XDeath
	Death.SuperShoelaces:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-15.0,-20.0),0,frandom(10.0,15.0),CVF_RELATIVE)
		Goto XDeath
	Death.MidasCloseCombat:
	Death.MidasShoelaces:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_NoBlocking
		"####" "#" 0 A_JumpIfInTargetInventory("Mana",0,2)
		"####" "#" 0 A_DropItem("MajorManaPod",-1,224)
		TNT1 A 0 A_Pain
		TNT1 A 0 A_PlaySound("Midas/Touched")
		TNT1 A 5 A_SpawnItemEx("Midas_Statue_Painis",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_TRANSFERSCALE) //SXF_TRANSFERSPRITEFRAME|SXF_SETMASTER)
		Stop
	Death.SuperMidasCloseCombat:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_NoBlocking
		"####" "#" 0 A_JumpIfInTargetInventory("Mana",0,2)
		"####" "#" 0 A_DropItem("MajorManaPod",-1,224)
		TNT1 A 0 A_Pain
		TNT1 A 0 A_PlaySound("Midas/Touched")
		TNT1 A 0 A_SpawnItemEx("Midas_Statue_Painis",0,0,0,frandom(-8.0,-10.0),0,frandom(1.0,3.0),0,SXF_TRANSFERPOINTERS|SXF_SETMASTER|SXF_TRANSFERSCALE)
		TNT1 A 10 A_KillChildren
		stop
	Death.SuperMidasShoelaces:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_NoBlocking
		"####" "#" 0 A_JumpIfInTargetInventory("Mana",0,2)
		"####" "#" 0 A_DropItem("MajorManaPod",-1,224)
		TNT1 A 0 A_Pain
		TNT1 A 0 A_PlaySound("Midas/Touched")
		TNT1 A 0 A_SpawnItemEx("Midas_Statue_Painis",0,0,0,frandom(-15.0,-20.0),0,frandom(10.0,15.0),0,SXF_TRANSFERPOINTERS|SXF_SETMASTER|SXF_TRANSFERSCALE)
		TNT1 A 10 A_KillChildren
		Stop
		
	//Standard death stuff
	Crush:
		TNT1 AAAAAAAAAA 0 A_CustomMissile ("BloodTr255", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_PlaySound("misc/xdeath4")
		XMED EEEEE 1 A_CustomMissile ("CeilBloodLauncherLong", 0, 0, random (0, 360), 2, random (50, 130))
		TNT1 A 0 A_CustomMissile ("GiantBloodSpot", 4, 0, random (0, 360), 2, random (0, 160))
		XMED E -1
		Stop
	Death:
	XDeath:
		"####" "#" 0 A_StopSound(5)
		PAIN H 8 BRIGHT
		PAIN I 8 BRIGHT A_Scream
		TNT1 A 0 A_Explode (50,220)
		TNT1 A 0 A_SpawnItemEx("PainGibbed",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
		TNT1 AAAAAA 0 A_CustomMissile ("FireworkSFXType1", 0, 0, random (0, 360), 2, random (10, 80))
		TNT1 AAAAAA 0 bright A_CustomMissile ("SuperGoreSpawner", 5, 0, random (0, 360), 2, random (30, 180))
		TNT1 AAAAAAAAA 0 A_CustomMissile ("CeilBloodLauncherLong", 0, 0, random (0, 360), 2, random (50, 130))
		TNT1 A 0 A_CustomMissile ("GC_XDeathBrain1", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("GC_XDeathBrain2", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAA 0 A_CustomMissile ("GC_XDeathPainElementalNew1", 32, 0, random (0, 360), 2, random (60, 90))
        TNT1 AAA 0 A_CustomMissile ("GC_XDeathPainElementalNew2", 32, 0, random (0, 360), 2, random (60, 90))
		TNT1 AAAAAAAA 0 A_CustomMissile ("Brutal_FlyingBlood", 32, 0, random (0, 360), 2, random (0, 160))
		EXPL A 0 A_SpawnItemEx("ExplosionParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
		EXPL AAAAAAAAAAAAAAAAA 0 A_CustomMissile ("FireBallExplosion", 6, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 BRIGHT A_PainDie
		"####" "#" 0 A_JumpIfInTargetInventory("Mana",0,2)
		"####" "#" 0 A_DropItem("MajorManaPod",-1,224)
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 4 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 6 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 6 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 6 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 6 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (70, 110))
		TNT1 AAA 6 A_CustomMissile ("RealFlameTrailsSmallLong", 1, 0, random (0, 360), 2, random (70, 110))
		Stop
		
	//Gumpop
	Pain.Acid:
		"####" "#" 0 A_JumpIfInventory("PowerGumpopDamage",1,2)
		"####" "#" 0 A_SpawnItemEx("GumpopIndicator",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR|SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE)
		"####" "#" 0 A_SpawnItemEx("GumpopGlow",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR)
		"####" "#" 0 A_Jump(50,"Pain")
		Goto See
	Death.Acid:
		PAIN G 1 A_ChangeFlag("SOLID",0)
		"####" "#" 1 A_Playsound("Gumpop/Expand",5)
		"####" "###################################" 1 A_SetScale(ScaleX+frandom(0.01,0.025))
		"####" "#" 1 A_Playsound("Gumpop/Pop",5)
		Goto XDeath
		
	//Dreadful
	Death.Tiberium:
		TNT1 A 0 A_SetUserVar("User_DeathByTiberium", 1)
		TNT1 A 0 ACS_NamedExecuteAlways("Toxic Avenger")
		TNT1 A 0 A_GiveInventory("TibDeathCounter")
		Goto Death
	Death.BlueTiberium:
		TNT1 A 0 A_SetUserVar("User_DeathByBlueTiberium", 1)
		TNT1 A 0 ACS_NamedExecuteAlways("Blue Oyster Cult")
		TNT1 A 0 A_GiveInventory("BlueTibDeathCounter")
		Goto Death
		
	//Threadcutter
	Pain.Manuel:
		"####" "#" 0 A_Jump(128,1)
		Goto Pain
		"####" "#" 0 A_GiveInventory("BleedItem")
		"####" "#" 0 A_SpawnItemEx("BrutalBleedIndicator",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR)
		Goto Pain
		
	//Thunderstruck
	Pain.Lightning:
		"####" "#" 0 A_Jump(164,1)
		Goto Pain
		PAIN G 0 A_ChangeFlag("NOPAIN",1)
		"####" "#" 0 A_SetUserVar("User_LightningLock", User_LightningLock + 10)
	LightningLock:
		"####" "#" 0 A_SetUserVar("User_LightningLock", User_LightningLock - 1)
		"####" "#" 0 A_Pain
		"####" "#" 0 A_PlaySound("Thunderstruck/Shocked",5,0.6,1)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty")
		"####" "###" 2 A_SpawnItemEx("MonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty")
		"####" "###" 2 A_SpawnItemEx("MonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty")
		"####" "###" 2 A_SpawnItemEx("MonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "#" 0 A_JumpIf(User_LightningLock >= 1, "LightningLock")
		"####" "#" 0 A_StopSound(5)
		"####" "#" 0 A_ChangeFlag("NOPAIN",0)
		Goto See
		
	//Cauterizer
	Pain.LightningBlue:
		"####" "#" 0 A_Jump(48,1)
		Goto Pain
		PAIN G 0 A_ChangeFlag("NOPAIN",1)
		"####" "#" 0 A_SetUserVar("User_LightningLock", User_LightningLock + 10)
	BlueLightningLock:
		"####" "#" 0 A_SetUserVar("User_LightningLock", User_LightningLock - 1)
		"####" "#" 0 A_Pain
		"####" "#" 0 A_PlaySound("Thunderstruck/Shocked",5,0.6,1)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty Blue")
		"####" "###" 2 A_SpawnItemEx("CauterMonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty Blue")
		"####" "###" 2 A_SpawnItemEx("CauterMonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty Blue")
		"####" "###" 2 A_SpawnItemEx("CauterMonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "#" 0 A_JumpIf(User_LightningLock >= 1, "BlueLightningLock")
		"####" "#" 0 A_StopSound(5)
		"####" "#" 0 A_ChangeFlag("NOPAIN",0)
		Goto See
		
	//Fire
	Pain.Meteorfist:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-15.0,-20.0),0,frandom(10.0,15.0),CVF_RELATIVE)
		"####" "#" 0 A_Jump(256,2) //Guaranteed "On Fire!" effect, heeeh.
	Pain.Fire:
		"####" "#" 0 A_Jump(16,1)
		Goto Pain
		"####" "#" 0 A_JumpIfInventory("PowerOnFire",1,"Pain")
		"####" "#" 0 A_GiveInventory("OnFireItem")
		"####" "#" 0 A_SpawnItemEx("OnFireIndicator",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR)
		Goto Pain
	Death.Meteorfist:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-15.0,-20.0),0,frandom(10.0,15.0),CVF_RELATIVE)
		Goto Death
		
	//Scourgebreath
	Death.Breath:
		"####" "#" 0 A_JumpIfInTargetInventory("Mana",0,2)
		"####" "#" 0 A_DropItem("MajorManaPod",-1,224)
		"####" "#" 0 ACS_NamedExecuteAlways("Extra Crispy")
		"####" "#" 0 A_Scream
		"####" "#" 0 A_NoBlocking
		"####" "#" 0 A_SpawnItemEx("BreathSoulburst",0,0,0,0,0,0,0,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERPOINTERS)
	DeathBreathLoop:
		"####" "#" 0 A_SpawnItemEx("BreathDisintegration",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
		"####" "#" 0 A_JumpIf(ScaleX <= 0, "Null")
		"####" "#" 0 A_FadeOut(0.05)
		"####" "#" 1 A_SetScale(ScaleX - 0.03, ScaleY - 0.005)
		Loop
		
	//Ice
	GenericFreezeDeath:
	Death.Ice:
	Death.Freeze:
	Death.Frost:
	Death.DukeIce:
		"####" "#" 0 A_JumpIfInTargetInventory("Mana",0,2)
		"####" "#" 0 A_DropItem("MajorManaPod",-1,224)
		TNT1 A 0 A_JumpIfInventory("ChillgraspTrigger",1,4)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFlag("SOLID", 0)
		TNT1 A 0 A_SpawnItem("FrozenPainElemental")
		Stop	
		FZDP A 5 A_FreezeDeath
		"----" A 0 A_SpawnItemEx("ChillgraspBlast",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
		"----" A 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR GC_PEPart1: PEPart1 replaces PEPart1
{
    Radius 8
    Height 8
    Speed 12
    Scale 1.5
	Mass 1
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +RIPPER
    +BLOODLESSIMPACT 
    +DOOMBOUNCE
	+SKYEXPLODE
    BounceFactor 0.5
damagetype Blood
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath1"
	Decal BloodSuper
	var int User_DeathByFire;
	var int User_DeathByTiberium;
	var int User_DeathByBlueTiberium;
	var int User_LightningLock;
    States
    {
    Spawn:
		ID22 A 0 NoDelay A_SetInvulnerable
	TrueSpawn:
		"####" "#" 0 A_JumpIfInTargetInventory("TibDeathCounter",1,"TibSpawn")
		"####" "#" 0 A_JumpIfInTargetInventory("BlueTibDeathCounter",1,"BlueTibSpawn") 
		"####" "#" 0
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	TibSpawn:
		"####" "#" 0 ACS_NamedExecuteAlways("Toxic Avenger")
		"####" "#" 0 A_SetUserVar("User_DeathByTiberium",1)
		"####" "#" 0 A_UnSetInvulnerable
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	BlueTibSpawn:
		"####" "#" 0 ACS_NamedExecuteAlways("Blue Oyster Cult")
		"####" "#" 0 A_SetUserVar("User_DeathByBlueTiberium",1)
		"####" "#" 0 A_UnSetInvulnerable
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	Continue:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        ID22 A 2 A_CustomMissile("BloodTrails",0,0,180,2)
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
        ID22 B 2 A_CustomMissile("BloodTrails",0,0,180,2)
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
        ID22 C 2 A_CustomMissile("BloodTrails",0,0,180,2)
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
        ID22 D 2 A_CustomMissile("BloodTrails",0,0,180,2)
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
        Loop
    Death:
        ID22 F -1
        Stop
	Splash:
        TNT1 A 0
        Stop
    }
}


ACTOR GC_PEPart2: PEPart2 replaces PEPart1
{
    Radius 8
    Height 8
    Speed 16
    Scale 1.5
	Mass 1
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +RIPPER
    +BLOODLESSIMPACT 
    +DOOMBOUNCE
	+SKYEXPLODE
    BounceFactor 0.5
damagetype Blood
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath1"
	Decal BloodSuper
	var int User_DeathByFire;
	var int User_DeathByTiberium;
	var int User_DeathByBlueTiberium;
	var int User_LightningLock;
    States
    {
    Spawn:
		ID22 A 0 NoDelay A_SetInvulnerable
	TrueSpawn:
		"####" "#" 0 A_JumpIfInTargetInventory("TibDeathCounter",1,"TibSpawn")
		"####" "#" 0 A_JumpIfInTargetInventory("BlueTibDeathCounter",1,"BlueTibSpawn") 
		"####" "#" 0
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	TibSpawn:
		"####" "#" 0 ACS_NamedExecuteAlways("Toxic Avenger")
		"####" "#" 0 A_SetUserVar("User_DeathByTiberium",1)
		"####" "#" 0 A_UnSetInvulnerable
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	BlueTibSpawn:
		"####" "#" 0 ACS_NamedExecuteAlways("Blue Oyster Cult")
		"####" "#" 0 A_SetUserVar("User_DeathByBlueTiberium",1)
		"####" "#" 0 A_UnSetInvulnerable
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	Continue:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        ID22 A 2 A_CustomMissile("BloodTrails",0,0,180,2)
		TNT1 A 0 bright A_SpawnItem("YellowFlare",0,2)
		TNT1 A 0 A_SPawnItem("PlasmaSmoke")
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
	
        ID22 B 2 A_CustomMissile("BloodTrails",0,0,180,2)
		TNT1 A 0 bright A_SpawnItem("YellowFlare",0,2)
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
        
		ID22 C 2 A_CustomMissile("BloodTrails",0,0,180,2)
		TNT1 A 0 bright A_SpawnItem("YellowFlare",0,2)
        TNT1 A 0 A_SPawnItem("PlasmaSmoke")
		TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
        
		ID22 D 2 A_CustomMissile("BloodTrails",0,0,180,2)
		TNT1 A 0 bright A_SpawnItem("YellowFlare",0,2)
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
        Loop
    Death:
        ID22 F 1 A_SpawnItem("Brutal_FlyingBlood",0,5,0,1)
		TNT1 A 0 A_SpawnItem("100SmallFireFocusSpawnerz")
		ID22 F -1
        Stop
	Splash:
        TNT1 A 0
        Stop
    }
}

Actor GC_PEPart2SuperFast: GC_PEPart2 replaces PEPart2SuperFast
{
	Speed 22
	States
    {
    Continue:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        ID22 A 1 A_CustomMissile("BloodTrails",0,0,180,2)
		TNT1 A 0 bright A_SpawnItem("YellowFlare",0,2)
		
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
	
        ID22 B 1 A_CustomMissile("BloodTrails",0,0,180,2)
		TNT1 A 0 bright A_SpawnItem("YellowFlare",0,2)
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
        
		ID22 C 1 A_CustomMissile("BloodTrails",0,0,180,2)
		TNT1 A 0 bright A_SpawnItem("YellowFlare",0,2)
        
		TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
        
		ID22 D 1 A_CustomMissile("BloodTrails",0,0,180,2)
		TNT1 A 0 bright A_SpawnItem("YellowFlare",0,2)
        TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (0, 360), 2, random (70, 110))
		Loop
	}	
}

Actor GC_FatalizedPE: FatalizedPE replaces FatalizedPE
{
    Radius 12
    Height 18
    Scale 1.2
    +SHOOTABLE
    -SOLID
    +NOTELEPORT
    +MOVEWITHSECTOR
	+ISMONSTER
    +CORPSE
    Mass 1000
    Health 200
    damagefactor "Blood", 0.0
    damagefactor "Trample", 0.0
	var int User_DeathByTiberium;
	var int User_DeathByBlueTiberium;
	States
    {
    Spawn:
		PA1F U 0 NoDelay A_SetInvulnerable
	TrueSpawn:
		"####" "#" 0 A_JumpIfInventory("TibDeathCounter",1,"TibSpawn")
		"####" "#" 0 A_JumpIfInventory("BlueTibDeathCounter",1,"BlueTibSpawn") 
		"####" "#" 1 A_UnSetInvulnerable
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	TibSpawn:
		"####" "#" 1 ACS_NamedExecuteAlways("Toxic Avenger")
		"####" "#" 0 A_SetUserVar("User_DeathByTiberium",1)
		"####" "#" 0 A_UnSetInvulnerable
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	BlueTibSpawn:
		"####" "#" 1 ACS_NamedExecuteAlways("Blue Oyster Cult")
		"####" "#" 0 A_SetUserVar("User_DeathByBlueTiberium",1)
		"####" "#" 0 A_UnSetInvulnerable
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	Continue:
		"####" "#" 0 A_JumpIfInventory("CorpseTrigger2",1,"CorpseBlastB")
		"####" "#" 1 CanRaise A_JumpIfInventory("CorpseTrigger",1,"CorpseBlastA")
		"####" "#" 0 A_JumpIf(User_DeathByTiberium == 1, "TiberiumMelt")
		"####" "#" 0 A_JumpIf(User_DeathByBlueTiberium == 1, "BlueTiberiumMelt")
		Loop
	CorpseBlastA:
		TNT1 A 0 A_SpawnItemEx("ArachnotronBlast",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
		Goto Death
	CorpseBlastB:
		"####" "#" 0 A_ResetHealth
		"####" "#" 0 A_SetInvulnerable
		"####" "#" 0 A_SpawnItemEx("ArachnotronBlast",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
		"####" "#" 0 A_UnSetInvulnerable
		"####" "#" 0 A_TakeInventory("CorpseTrigger2",1)
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	TiberiumMelt:
		"####" "#" 0 A_JumpIf(ScaleX > 1.755, "EndOfMelt")
		"####" "#" 0 ACS_NamedExecuteAlways("Toxic Avenger")
		"####" "#" 1 A_SetScale(ScaleX + frandom(0.002,0.003),ScaleY - frandom(0.003,0.004))
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	BlueTiberiumMelt:
		"####" "#" 0 A_JumpIf(ScaleX > 1.755, "EndOfMelt")
		"####" "#" 0 ACS_NamedExecuteAlways("Blue Oyster Cult")
		"####" "#" 1 A_SetScale(ScaleX + frandom(0.002,0.003),ScaleY - frandom(0.003,0.004))
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
	EndOfMelt:
		"####" "#" 0 A_SetUserVar("User_DeathByTiberium", 0)
		"####" "#" 0 A_SetUserVar("User_DeathByBlueTiberium", 0)
		"####" "#" 0 A_Jump(256,"Continue")
		Goto Continue
    Death:
		"####" "#" 1
		TNT1 AAA 0 A_CustomMissile ("GC_XDeath1", 5, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAA 0 A_CustomMissile ("GC_XDeath2", 5, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAA 0 A_CustomMissile ("GC_XDeath3", 5, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAA 0 A_CustomMissile ("GC_XDeath4", 5, 0, random (0, 360), 2, random (0, 160))
		Stop
	}
}