// Decorate code for Phazon
Actor Phazon : PlayerPawn
{

+NOSKIN
+NOICEDEATH
+NODAMAGETHRUST
+QUICKTORETALIATE
+GHOST
  Speed 1
  Health 100
  Player.Maxhealth 100
  Radius 16
  Height 56
  Mass 700
  PainChance 120
  PainChance "CreepStun", 256
  PainChance "RavagerBall", 256
  Player.WeaponSlot 1, PhazonPlasmaRifle
  Player.WeaponSlot 2, PhazonShield
  Player.ColorRange 112, 127
  Player.DisplayName "Phazon"
  Player.CrouchSprite "PLYC"
  Player.StartItem "GreenArmor", 1
  Player.StartItem "Cell2", 200
  Player.StartItem "PhazonPlasmaRifle", 1
  Player.StartItem "SpecialAbility", 1
  Player.StartItem "FullAutoCheck", 1
  Player.StartItem "IsHuman", 1
  Player.StartItem "Screamer", 0
  Player.ForwardMove 1.0, 1.0
  Player.SideMove 0.90, 0.90
  Player.SoundClass "Phazon"
  Player.ScoreIcon "PHAZST"
  Damagefactor "AntiAirbolt", 0.0
  Damagefactor "Sentinel", 0.0
  Damagefactor "Justicar", 1.2
  Damagefactor "GraveStalkerLure", 2.0
  Damagefactor "ZombiePoison", 1.3
  Damagefactor "ZombieIce", 1.1
  Damagefactor "Sentinel", 0.0
  Damagefactor "BlueFire", 1.5
  Damagefactor "normal", 1.0
  Damagefactor "Hellzone", 2.0
  Damagefactor "MechPewPews", 0.0
  Damagefactor "MacheteSlicerino", 0.0
  Damagefactor "GasterSmokeHurt", 0.0
  Damagefactor "StrifeSuit", 0.0
  LimitedToTeam 0
  States
  {
  Spawn:
	VSHP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
    VSHP A 45 Setplayerproperty(0,0,0)
    Loop
  See:
	VSHP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
	VSHP A 0 A_JumpIfHealthLower(75,"INeedHealingSee")
    VSHP A 5
    VSHP B 5 A_SpawnItemEx ("PhazonStomp", 0, 0, 0, 0, 0, -20, 0,0, 0) 
    VSHP C 5
    VSHP D 5 A_SpawnItemEx ("PhazonStomp", 0, 0, 0, 0, 0, -20, 0,0, 0) 
    Goto Spawn  
  INeedHealingSee:
	VSHP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
	VSHP A 0 A_SpawnItemEx("INeedHealingTrail",random(-20,20),random(-20,20),0,0,0,10)
    VSHP A 5
    VSHP B 5 A_SpawnItemEx ("PhazonStomp", 0, 0, 0, 0, 0, -20, 0,0, 0) 
    VSHP C 5
    VSHP D 5 A_SpawnItemEx ("PhazonStomp", 0, 0, 0, 0, 0, -20, 0,0, 0) 
    Goto Spawn
  Missile:
	VSHP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
    VSHP F 6 Bright
    Goto Spawn
  Melee:
	VSHP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
    VSHP F 6 Bright
    Goto Spawn
	Pain.TeleOtherPlant:
	TNT1 A 0 A_GiveInventory("TeleOtherPlanted",1)
	Goto Pain
	Pain.TeleOtherActivateDamage:
	TNT1 A 0 A_JumpIfInventory("TeleOtherPlanted",1,"TeleOtherSend")
	Goto Pain	
	TeleOtherSend:
	TNT1 A 0 A_TakeInventory("TeleOtherPlanted",1)
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_7,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	TNT1 A 0 ACS_ExecuteAlways(466,0,2)
	VSHP G 1 A_PlaySound("TeleOther/activate",CHAN_6,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	Goto Pain
	Death.TeleOtherActivateDamage:
	TNT1 A 0 A_JumpIfInventory("TeleOtherPlanted",1,"TeleOtherSplode")
	TNT1 A 0 A_TakeInventory("TeleOtherPlanted",1)
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_7,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	TNT1 A 0 A_GiveToTarget("KilledMe",1)
	VSHP G 1 A_PlaySound("Gibbage/XSplat")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
	TeleOtherSplode:
	TNT1 A 0 A_TakeInventory("TeleOtherPlanted",1)
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_7,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	TNT1 A 0 ACS_ExecuteAlways(466,0,2)
	TNT1 A 0 A_GiveToTarget("KilledMe",1)
	VSHP G 1 A_PlaySound("Gibbage/XSplat")
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_6,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
  Pain.Choke:
	TNT1 A 0 A_GiveToTarget("Health",2)
	TNT1 A 0 A_GiveToTarget("ChokeCharging",1)
	Goto Pain
  Pain.JusticarSpike:
	TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
	TNT1 A 0 A_GiveToTarget("Health",2)
  Pain:
	VSHP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
    VSHP G 4
    VSHP G 4 A_Pain
    Goto Spawn
	Pain.LoonaClawing:
	TNT1 A 0 A_GiveToTarget("Health",6)
	VSHP G 20 Setplayerproperty(0,1,0)
	VSHP G 2 Setplayerproperty(0,0,0)
	Goto Spawn
	Pain.LoonaClawingLightSFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",5)
	VSHP G 20 Setplayerproperty(0,1,0)
	VSHP G 2 Setplayerproperty(0,0,0)
	Goto Spawn
	Pain.LoonaClawingHeavySFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",8)
	VSHP G 20 Setplayerproperty(0,1,0)
	VSHP G 2 Setplayerproperty(0,0,0)
	Goto Spawn
	Death.LoonaClawing:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death.Jitter
	Death.LoonaClawingLightSFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death.Jitter
	Death.LoonaClawingHeavySFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death.Jitter
	Pain.GloomWatcherLure:
	TNT1 A 0 ACS_ExecuteAlways(134)
	TNT1 A 0 A_Playsound("GloomWatcher/FeintAttack",CHAN_7)
	Goto pain
	Death.GloomWatcherlure:
	TNT1 A 0 ACS_ExecuteAlways(134)
	TNT1 A 0 A_Playsound("GloomWatcher/FeintAttack",CHAN_7)
	Goto Death.Jitter
	GloomDeath:
	TNT1 A 1 Damagething(99999,18)
	Goto Death
	Death.Fleshbent:
	TNT1 A 0 A_GiveToTarget("TentacleAmmo",2)
	TNT1 A 0 A_GiveToTarget("Soulscepter1",15)
	TNT1 A 0 A_GiveToTarget("Soulscepter2",50)
	Goto Death.Jitter
	Pain.BastetClawing:
		TNT1 A 0 A_GiveToTarget("Health",4)
		Goto Pain
	Pain.BastetClawingLightSFX:
		TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_5)
		TNT1 A 0 A_GiveToTarget("Health",3)
		Goto Pain
	Pain.BastetClawingHeavySFX:
		TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_5)
		TNT1 A 0 A_GiveToTarget("Health",6)
		Goto Pain
	Pain.Sickle:
		TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
	Pain.Wendigo:
		TNT1 A 0 A_PlaySound("RAVEN1",CHAN_5)
		TNT1 A 0 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), 0, 0, random(2,4), random(0,360), 128)
		TNT1 A 0 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), 0, 0, random(2,4), random(0,360), 128)
		Goto Pain
	Pain.Justicar:
	TNT1 A 0 A_custommissile("Justicarattack",14,0,random(0,360))
	TNT1 A 0 A_GiveToTarget("Health",1)
	TNT1 A 0 A_GiveToTarget("JusticarSecondaryAmmo",1)
	Goto pain
  Pain.Creepstun:
    VSHP G 0 A_Pain
	VSHP G 0 A_GiveToTarget("health",5)
	VSHP G 40 Setplayerproperty(0,1,0)
	VSHP G 2 Setplayerproperty(0,0,0)
	Goto Spawn
  Death.Creeper:
	VSHP A 0 A_PlaySoundEx("creeperattack", "Body")
	VSHP A 0 A_SpawnItemEx("CreeperPopUp",0,0,10)
	TNT1 A 0 A_GiveToTarget("GhoulAmmo",1)
	VSHP A 0 A_GiveToTarget("Creeperheal",1)
    VSHP A 0 ACS_ExecuteAlways(997,0,1)
	goto DeathAnimAlt
  Death.Creepstun:
	VSHP A 0 A_GiveToTarget("Unlock13",1)
	VSHP A 0 A_GiveToTarget("CreepGotya",1)
	goto DeathAnimAlt
  Death.SjasScream:
  Death.FrostbiteWind:
  Death.EmtalicSaw:
  Death.LichFire:
    VSHP A 0 A_GiveToTarget("KilledJ",1)
    Goto DeathAnim
  Death:
  DeathAnim:
	VSHP A 0 A_GiveToTarget("KillBeep",1)
	VSHP A 0 A_GiveInventory("ItemDeath",1)
	VSHP A 0 A_TakeInventory("KilledCount",999)
    VSHP A 0 A_GiveToTarget("KilledMe",1)
    VSHP A 0 A_GiveToTarget("KilledPhazon",1)
    VSHP H 8 A_StopSoundEx ("SoundSlot5")
    VSHP I 8 A_PlayerScream
    VSHP J 8 A_NoBlocking
    VSHP KLM 8
    VSHP N -1
    Stop
  DeathAnimAlt:
	VSHP A 0 A_GiveToTarget("KillIndicator",1)
	VSHP A 0 A_GiveInventory("ItemDeath",1)
	VSHP A 0 A_TakeInventory("KilledCount",999)
    VSHP A 0 A_GiveToTarget("KilledMe",1)
    VSHP A 0 A_GiveToTarget("KilledPhazon",1)
    VSHP H 8 A_StopSoundEx ("SoundSlot5")
    VSHP I 8 A_PlayerScream
    VSHP J 8 A_NoBlocking
    VSHP KLM 8
    VSHP N -1
    Stop
	Death.GhoulChainSaw:
	TNT1 A 0 A_GiveToTarget("Health",50)
	TNT1 A 0 A_GiveToTarget("BearTarpsAmmo",1)
	TNT1 A 0 A_GiveToTarget("SawyerRageammo",10)
	TNT1 A 0 A_GiveToTarget("DUMMY_SawyerBloodyChainsaw", 1)
	Goto Death.Jitter
	Death.BastetClawing:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",30)
	Goto Death.Jitter
	Death.BastetClawingLightSFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",30)
	Goto Death.Jitter
	Death.BastetClawingHeavySFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",30)
	Goto Death.Jitter
	Death.Choke:
		TNT1 A 0 A_GiveToTarget("Health",25)
		TNT1 A 0 A_GiveToTarget("ChokeCharging",40)
	Goto Death.Jitter
	Death.JusticarSpike:
		TNT1 A 0 A_GiveToTarget("Health",15)
	Goto Death.Jitter
	Death.Sinistar:
		TNT1 A 0 A_GiveToTarget("SiniPrimary",1)
	Goto Death.Jitter
  Death.MapGibber:
		TNT1 A 0 A_PlaySound("car/hit",chan_auto)
  Death.MapGibber2:
  Death.Jitter:
	VSHP A 0 A_GiveToTarget("KillBeep",1)
	VSHP A 0 A_GiveInventory("ItemDeath",1)
    VSHP A 0 A_GiveToTarget("Crunched",1)
	VSHP A 0 A_GiveToTarget("KilledMe",1)
	VSHP A 0 A_GiveToTarget("KilledPhazon",1)
	VSHP G 1 A_PlaySound("gibbage/xsplat")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
  Death.JitterAlt:
	VSHP A 0 A_GiveToTarget("KillIndicator",1)
	VSHP A 0 A_GiveInventory("ItemDeath",1)
    VSHP A 0 A_GiveToTarget("Crunched",1)
	VSHP A 0 A_GiveToTarget("KilledMe",1)
	VSHP A 0 A_GiveToTarget("KilledPhazon",1)
	VSHP G 1 A_PlaySound("gibbage/xsplat")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
	Death.Harvester:
		TNT1 A 0 A_GiveToTarget("SoulHarvesterFragment",1)
		TNT1 A 0 A_GiveToTarget("KilledJ",1)
		Goto Death.Jitter
	Death.HarvesterRock:
		TNT1 A 0 ACS_NamedExecute("SilverFieldsBell",55)
		Goto DeathAnim
	Death.HarvesterAlt:
		TNT1 A 0 A_GiveToTarget("Crunched2",1)
		TNT1 A 0 ACS_NamedExecute("SilverFieldsBell",55)
		Goto Death.Jitter
  Death.Ravager:
		VSHP A 0 A_GiveToTarget("KilledR",1)
		VSHP A 0 A_GiveToTarget("Health",100)
		VSHP A 0 ACS_ExecuteAlways(997,0,2)
		VSHP A 0 A_PlaySoundEx("RavagerAttack","Body")
		VSHP A 0 A_SpawnItemEx("RavagerHit",0,0,32)
		Goto DeathAnimAlt
	Death.RavagerBall:
		VSHP A 0 A_GiveToTarget("RavagerGotYa",1)
		VSHP A 0 A_GiveToTarget("KilledJ",1)
		Goto DeathAnimAlt
	Death.Yurei:
		VSHP A 0 A_GiveToTarget("KilledY",1)
		VSHP A 0 A_PlaySoundEx("YureiKill1","Body",0,1)
		VSHP A 0 ACS_ExecuteAlways(997,0,3)
		Goto DeathAnimAlt
	Death.YureiBall:
		VSHP A 0 A_GiveToTarget("Health",10)
		VSHP A 0 A_SpawnItemEx("BallFire")
		Goto Death.SjasScream
	Death.UboaRawrScream:
		Goto DeathAnimAlt
	Death.Misty:
	Death.Whiteface:
		VSHP A 0 A_GiveToTarget("KillBeep",1)
		VSHP A 0 A_GiveInventory("ItemDeath",1)
		VSHP A 0 A_GiveToTarget("KilledMe",1)
		VSHP A 0 A_GiveToTarget("KilledM",1)
		VSHP HHHH 2 A_FadeOut(0.1)
		VSHP A 0 A_PlayerScream
		VSHP IIIIJJ 2 A_FadeOut(0.1)
		VSHP A 0 A_NoBlocking
		NULL A -1
		Stop
	Death.Clowny:
		VSHP A 0 ACS_ExecuteAlways(997,0,4)
		VSHP A 0 A_GiveToTarget("KilledC",1)
		VSHP A 0 A_GiveToTarget("ClownyAmmo",5)
		Goto DeathAnim
	Death.Mohoph:
		TNT1 A 0 A_GiveToTarget("MorphAmmo", 1)
		VSHP A 0 A_GiveToTarget("TransPhazon",1)
		VSHP A 0 A_PlaySoundEx("MohophKill","Body")
		VSHP A 0 ACS_ExecuteAlways(997,0,5)
		Goto DeathAnim
	Death.EmtalicWeak:
		VSHP A 0 A_PlaySoundEx("RamSuccess","Body")
		Goto DeathAnim
	Death.Emtalic:
		VSHP A 0  A_PlaySoundEx("RamSuccess","Body")
		Goto Death.Jitter
	Death.I1:
		VSHP A 0 A_SpawnItemEx("Heart",0,0,32,random(2,3),momy,random(8,12),random(-180,180))
		VSHP A 0 A_GiveToTarget("KilledI1",1)
		Goto DeathAnim
	Death.I2:
		VSHP A 0 A_GiveToTarget("KillBeep",1)
		VSHP A 0 A_GiveInventory("ItemDeath",1)
		VSHP A 0 A_GiveToTarget("KilledMe",1)
		VSHP A 0 A_GiveToTarget("KilledI2",1)
		VSHP A 0 A_GiveToTarget("Clip",1)
		VSHP G 0 SetPlayerProperty(0,1,4)
		VSHP G 0 A_Stop
		VSHP GGGGGGGGGGGGGG 5 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		NULL A 0 A_PlayerScream
		NULL A 0 ACS_ExecuteAlways(997,0,6)
		NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
		NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
		NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
		NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
		NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		NULL A 1 A_SpawnItemEx("SkullGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL A 1 A_SpawnItemEx("ChestGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AA 1 A_SpawnItemEx("ArmGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AA 1 A_SpawnItemEx("HandGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL A 1 A_SpawnItemEx("CoccyxGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AA 1 A_SpawnItemEx("LegGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AAAAAA 1 A_SpawnItemEx("BoneGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL A -1 A_NoBlocking
		Stop
	Death.I3:
		VSHP A 0 A_GiveToTarget("KillBeep",1)
		VSHP A 0 A_GiveInventory("ItemDeath",1)
		VSHP A 0 A_GiveToTarget("KilledMe",1)
		VSHP A 0 A_GiveToTarget("KilledI3",1)
		VSHP HHHHHHHH 1 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		VSHP I 0 A_PlayerScream
		VSHP IIIIIIII 1 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		VSHP J 0 A_NoBlocking
		VSHP JJJJJJJJKKKKKKKKLLLLLLLLMMMMMMMM 1 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		VSHP NNNNNNN 3 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		VSHP N -1
		Stop
	Death.I4:
		VSHP A 0 A_GiveToTarget("KilledI4",1)
		Goto DeathAnim
	Death.I5:
		VSHP A 0 A_GiveToTarget("KilledI5",1)
		Goto DeathAnim
	Pain.RavagerBall:
		VSHP A 0 ACS_ExecuteAlways(920,0)
		Goto Pain
	Pain.YureiBall:
		VSHP A 0 A_GiveToTarget("Health",10)
		VSHP A 0 A_SpawnItemEx("BallFire")
		Goto Pain
	Pain.Emtalic:
		VSHP A 0 A_PlaySoundEx("RamSuccess","Body")
		Goto Pain
	Pain.EmtalicWeak:
		VSHP A 0 A_PlaySoundEx("RamSuccess","Body")
		Goto Pain
	Death.Tenebra:
		TNT1 A 0 A_GiveToTarget("Health",20)
		Goto DeathAnim
	Death.TenebraRail:
	Death.Telefrag:
	Death.Grenade:
	Death.Termissiles:
	Death.ChaosExpl12:
	Death.KarenExplo:
	Death.IlluNukeKABUUM:
	Death.CalebDynamite:
	Death.Wendigo:
	Death.MorphRipperGib:
	Death.DarkVortex:
	Death.ImpostorJitter:
	Death.PuppetStrings:
	Death.LichIce:
	Death.LichLightning:
	Death.AsylumCannonBall:
		Goto Death.Jitter
	Death.TrueDivine:
		TNT1 A 0 A_PlaySoundEx("SoulSnatchStinger",CHAN_AUTO,0,1)
		TNT1 A 0 A_SpawnItemEx("SoulSnatch")
		Goto Death.JitterAlt
	Death.Judgement:
		TNT1 A 0 A_SpawnItemEx("StellarisThunderFX")
		Goto Death.JitterAlt
	Death.VoltMelee:
	Death.AmperRail:
		TNT1 A 0 A_GiveToTarget("VoltRingAmmo",2)
		TNT1 A 0 A_GiveToTarget("AmperSpeedTokenCheck",1)
		Goto Death.Jitter
	Pain.FrostbiteWind:
	Pain.Ravager:
	Pain.Juglava:
	Pain.HarvesterRock:
	Pain.EmtalicSaw:
	Pain.MorphRipper:
	Pain.MorphRipperGib:
	Pain.I1:
	Pain.I3:
	Pain.ZombiePoison:
	Pain.Asylum:
	Pain.AsylumCannonBall:
	Pain.FleshlingMissile:
	Pain.DarkVortex:
	Pain.ImpostorJitter:
	Pain.BlueFire:
	Pain.PuppetStrings:
	Pain.LichFire:
	Pain.LichIce:
	Pain.LichLightning:
	Pain.Whiteface:
		TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
		Goto Pain
	}
}


Actor PhazonPlasmaRifle : Weapon
    {
      Weapon.SelectionOrder 100
      Weapon.AmmoUse 0
      Weapon.AmmoGive 40
      Weapon.AmmoType "Cell2"
      Inventory.PickupMessage "Picked up Phazon's plasma rifle!"
      Inventory.icon "TNT1A0"
      States
      {
      Ready:
		PLSG A 0 A_StopSoundEx("SoundSlot5")
        PLSG A 3 A_WeaponReady
        PLSG A 0 A_GiveInventory("Cell2",1)
		PLSG A 0 A_JumpIfInventory("CyborgDashCheck",1,"SwitchFireMode")
        Goto Ready
      Deselect:
		PLSG A 0 A_StopSoundEx("SoundSlot5")
        PLSG A 1 A_Lower
        Loop
      Select:
		PLSG A 0 A_StopSoundEx("SoundSlot5")
        PLSG A 1 A_Raise
        Loop
      Fire:
			PLSG A 0 A_JumpIfInventory("BurstFireCheck",1,"BurstFire")
			PLSG A 0 A_JumpIfInventory("SingleFireCheck",1,"SingleFire")
			PLSG A 0 A_JumpIfInventory("Cell2",2,"Fire2")
			Goto Ready
	  Fire2:
            PLSG A 0 A_PlayWeaponSound("phazon/fire")
            PLSG A 0 A_GunFlash
			PLSG A 6
			PLSG A 0 A_TakeInventory("Cell2",2)
            PLSG A 0 A_FireCustomMissile("PhazonPlasmaBall",  0, 0, 0, 0, 0)
            PLSG A 0 A_FireCustomMissile("PhazonPlasmaBall", -3, 0, 0, 0, 0)
            PLSG A 0 A_FireCustomMissile("PhazonPlasmaBall",  3, 0, 0, 0, 0)
            PLSG B 1 A_ReFire
            PLSG DEF 1
            PLSG GF 3
            PLSG EDCBA 2
            Goto Ready
	  BurstFire:
			PLSG A 0 A_JumpIfInventory("Cell2",15,"BurstFire2")
			Goto Ready
	  BurstFire2:
			PLSG A 0 A_TakeInventory("Cell2",15)
		    PLSG A 0 A_PlayWeaponSound("phazon/fire")
			//PLSG A 0 A_PlaySound("phazon/fire",CHAN_AUTO)
            PLSF A 1
			PLSF B 1 A_FireCustomMissile("PhazonPlasmaBall3",  0, 0, 0, 0, 0)
		    PLSG A 0 A_PlayWeaponSound("phazon/fire")
			//PLSG A 0 A_PlaySound("phazon/fire",CHAN_AUTO)
            PLSF A 1
			PLSF B 1 A_FireCustomMissile("PhazonPlasmaBall3",  0, 0, 0, 0, 0)
		    PLSG A 0 A_PlayWeaponSound("phazon/fire")
			//PLSG A 0 A_PlaySound("phazon/fire",CHAN_AUTO)
            PLSF A 1
			PLSF B 1 A_FireCustomMissile("PhazonPlasmaBall3",  0, 0, 0, 0, 0)
			PLSG A 0 A_PlayWeaponSound("phazon/fire")
			//PLSG A 0 A_PlaySound("phazon/fire",CHAN_AUTO)
            PLSF A 1
			PLSF B 1 A_FireCustomMissile("PhazonPlasmaBall3",  0, 0, 0, 0, 0)
			PLSG A 0 A_PlayWeaponSound("phazon/fire")
			//PLSG A 0 A_PlaySound("phazon/fire",CHAN_AUTO)
            PLSF A 1
			PLSF B 1 A_FireCustomMissile("PhazonPlasmaBall3",  0, 0, 0, 0, 0)
			PLSG A 0 A_PlayWeaponSound("phazon/fire")
			//PLSG A 0 A_PlaySound("phazon/fire",CHAN_AUTO)
            PLSF A 1
			PLSF B 1 A_FireCustomMissile("PhazonPlasmaBall3",  0, 0, 0, 0, 0)
            PLSG DEF 1
            PLSG GF 2
            PLSG EDCBA 2
			PLSG A 1 A_ReFire
			Goto Ready
	  SingleFire:
			PLSG A 0 A_JumpIfInventory("Cell2",40,"SingleFire2")
			Goto Ready
	  SingleFire2:
			PLSG A 0 A_TakeInventory("Cell2",40)
			PLSG A 0 A_PlayWeaponSound("phazon/singlecharge")
			XLSF A 25
			XLSF B 0 A_PlayWeaponSound("phazon/singlefire")
			XLSF B 0 A_PlaySound("phazon/singleend",CHAN_AUTO)
			XLSF B 6 A_FireCustomMissile("PhazonPlasmaBall4",  0, 0, 0, 0, 0)
            PLSG DEFG 3
			PLSG G 15
			PLSG GF 2
            PLSG EDCBA 2
			PLSG A 1 A_ReFire
			Goto Ready
            altfire:
        PLSG A 1
        PLSG A 0 A_JumpIfInventory("Cell2",1,"PhazonShieldActivate")
        goto Ready
		PhazonShieldActivate:
            PLSG A 1 Offset (0,36)
            PLSG A 0 Offset (2,40)
            PLSG A 0 Offset (4,44)
            PLSG A 0 Offset (6,48)
            PLSG A 1 Offset (8,52)
            PLSG A 0 Offset (10,56)
            PLSG A 0 Offset (12,60)
            PLSG A 0 Offset (14,64)
            PLSG A 1 Offset (14,68)
            PLSG A 0 Offset (14,72)
            PLSG A 0 Offset (14,76)
            HEXH A 1 Offset (14,76)
            HEXH A 0 Offset (14,72)
            HEXH A 0 Offset (14,68)
            HEXH A 1 Offset (14,64)
            HEXH A 0 Offset (12,60)
            HEXH A 0 Offset (10,56)
            HEXH A 1 Offset (8,52)
            HEXH A 0 Offset (6,48)
            HEXH A 1 Offset (4,44)
            HEXH A 0 Offset (2,40)
            HEXH A 1 Offset (0,36)
            HEXH A 32 A_PlayWeaponSound ("ForceBarrier/On")
            althold:
        PLSG A 0 A_JumpIfInventory("Cell2",1,"PhazonShieldSpawn")
        goto altdone
        PhazonShieldSpawn:
		HEXH A 0 A_TakeInventory("Cell2",7)
        HEXH A 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 140, 0, 0, 0, 0, -270, 32)
        HEXH A 0 bright A_PlaySoundEx ("ForceBarrier/Loop", "SoundSlot5", 1)
        HEXH AA 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 140, 0, 0, 0, 0, -270, 32)
		HEXH A 0 Damagething(1)
        HEXH A 0 bright A_FireCustomMissile ("AmmoCounter")
		HEXH A 0 A_PlaySound("phazon/fire",CHAN_7)
		//HEXH A 0 A_TakeInventory("Cell2",2)
		HEXH F 0 A_FireCustommissile("PhazonPlasmaBall2",0,0,80)
	    HEXH F 0 A_FireCustommissile("PhazonPlasmaBall2",0,0,-80)
		HEXH A 0 A_PlaySound("phazon/fire",CHAN_7)
	    HEXH F 0 A_FireCustommissile("PhazonPlasmaBall2",0,0,40,30)
	    HEXH F 0 A_FireCustommissile("PhazonPlasmaBall2",0,0,-40,30)
		HEXH A 0 A_PlaySound("phazon/fire",CHAN_7)
	    HEXH F 0 A_FireCustommissile("PhazonPlasmaBall2",0,0,0,50)
	    HEXH F 0 A_FireCustommissile("PhazonPlasmaBall2",0,0,40,50)
		HEXH A 0 A_PlaySound("phazon/fire",CHAN_7)
	    HEXH F 0 A_FireCustommissile("PhazonPlasmaBall2",0,0,-40,50)
        HEXH A 0 A_Refire
        goto altdone
        altdone:
        HEXH A 0 A_StopSoundEx ("SoundSlot5")
        HEXH A 32 A_PlayWeaponSound ("ForceBarrier/Off")
            HEXH A 1 Offset (0,36)
            HEXH A 0 Offset (2,40)
            HEXH A 0 Offset (4,44)
            HEXH A 1 Offset (6,48)
            HEXH A 0 Offset (8,52)
            HEXH A 0 Offset (10,56)
            HEXH A 1 Offset (12,60)
            HEXH A 0 Offset (14,64)
            HEXH A 0 Offset (14,68)
            HEXH A 1 Offset (14,72)
            HEXH A 1 Offset (14,76)
            PLSG A 1 Offset (14,76)
            PLSG A 1 Offset (14,72)
            PLSG A 0 Offset (14,68)
            PLSG A 0 Offset (14,64)
            PLSG A 1 Offset (12,60)
            PLSG A 0 Offset (10,56)
            PLSG A 0 Offset (8,52)
            PLSG A 1 Offset (6,48)
            PLSG A 0 Offset (4,44)
            PLSG A 0 Offset (2,40)
            PLSG A 1 Offset (0,36)
			TNT1 A 0 A_ClearRefire
        goto Ready
		SwitchFireMode:
		PLSG A 0 A_TakeInventory("CyborgDashCheck",999)
		PLSG A 0 A_JumpIfInventory("FullAutoCheck",1,"BurstMode")
		PLSG A 0 A_JumpIfInventory("BurstFireCheck",1,"SingleMode")
		PLSG A 0 A_JumpIfInventory("SingleFireCheck",1,"FullAutoMode")
		Goto Ready
		BurstMode:
		PLSG A 0 A_TakeInventory("FullAutoCheck",1)
		PLSG A 0 A_TakeInventory("SingleFireCheck",1)
		PLSG A 0 A_GiveInventory("BurstFireCheck",1)
		PLSG A 0 A_PlaySound("phazon/mode",CHAN_ITEM)
		PLSG A 4 A_Print("Burst Fire",2)
		Goto Ready
		SingleMode:
		PLSG A 0 A_TakeInventory("FullAutoCheck",1)
		PLSG A 0 A_TakeInventory("BurstFireCheck",1)
		PLSG A 0 A_GiveInventory("SingleFireCheck",1)
		PLSG A 0 A_PlaySound("phazon/mode",CHAN_ITEM)
		PLSG A 4 A_Print("Single Fire",2)
		Goto Ready
		FullAutoMode:
		PLSG A 0 A_TakeInventory("SingleFireCheck",1)
		PLSG A 0 A_TakeInventory("BurstFireCheck",1)
		PLSG A 0 A_GiveInventory("FullAutoCheck",1)
		PLSG A 0 A_PlaySound("phazon/mode",CHAN_ITEM)
		PLSG A 4 A_Print("Full Auto",2)
		Goto Ready
		Flash:
		PLSF A 0 A_JumpIfInventory("SingleFireCheck",1,"Flash2")
        PLSF B 2 Bright A_Light0
        PLSF A 1 Bright A_Light2
        Goto LightDone
		Flash2:
        XLSF B 2 Bright A_Light0
        XLSF A 1 Bright A_Light2
        Goto LightDone
      Spawn:
        PLAS A -1
        Stop
      }
    }
	
Actor FullAutoCheck : Inventory
{
	Inventory.MaxAmount 1
}
	
Actor BurstFireCheck : Inventory
{
	Inventory.MaxAmount 1
}

Actor SingleFireCheck : Inventory
{
	Inventory.MaxAmount 1
}

Actor PhazonStomp : CyborgStomp
{
	DeathSound "PhazonStep"
}

Actor PhazonPlasmaBall
{
  Radius 13
  Height 8
  Speed 40
  Damage (4)
  Damagetype "MirabelPlasma"
  Projectile
  +RANDOMIZE
  +BLOODLESSIMPACT
  +HITTRACER
  RenderStyle Add
  Alpha 0.75
  DeathSound "weapons/plasmax"
  Obituary "%o tried to dodge %k's phazonbolts."
  States
  {
  Spawn:
	PLSS B 1 bright A_SpawnItemEx("PhazonTrailz")
	PLSS A 1 bright A_SpawnItemEx("CyborgPlasmaTrailPews",random(-10,10),random(-10,10),random(-10,10),0,0,0)
    loop
  XDeath:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
    TNT1 A 0 A_JumpIfInventory("BloodCurseItem",1,"Death",AAPTR_TARGET)
	TNT1 A 0 A_JumpIfInventory("IsGhoul",1,"Hit",AAPTR_TRACER)
	Goto Death
  Hit:
	TNT1 A 0 A_GiveToTarget("Health",1)
	Goto Death
  Death:
    PLSE ABCDE 4 bright
    stop
  }
}

Actor PhazonPlasmaBall3 : PhazonPlasmaBall
{
	Speed 75
	Damage (9)
}

Actor PhazonPlasmaBall4 : PhazonPlasmaBall
{
  Speed 20
  Damage (12)
  Scale 1.6
  Radius 16
  Height 10
  +RIPPER
  +SEEKERMISSILE
  PainType "Ice2"
  Translation "192:207=176:191"
  SeeSound "phazon/singlesee"
  States
  {
  Spawn:
	PLSS B 1 bright A_Explode(15,80,0)
	PLSS A 1 bright A_Explode(15,80,0)
	PLSS A 0 bright A_PlaySound("phazon/singlesee",CHAN_VOICE,1,1,1.4)
    loop
  XDeath: 
    TNT1 A 0 A_GiveToTarget("HitBeep",1)
    TNT1 A 0 A_Jump(256,"DeathCont")
    Goto DeathCont
  Death:
  	TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
    TNT1 A 0 A_Stop
    TNT1 A 0 A_SeekerMissile(0,0,SMF_LOOK|SMF_CURSPEED,256)
    TNT1 A 0 A_JumpIfTargetInLOS("SplashBeep",360,JLOSF_PROJECTILE,141)
    TNT1 A 0 A_Jump(256,"DeathCont")
    Goto DeathCont
  SplashBeep:
    TNT1 A 0 A_GiveToTarget("HitBeep",1)
    TNT1 A 0 A_Jump(256,"DeathCont")
	Goto DeathCont
  DeathCont:
	PLSE A 0 A_SpawnItemEx("PhazonPlasmaBall4Death")
	PLSE A 0 A_Explode(100,100,0)
	PLSE A 0 A_PlaySound("weapons/plasmax",CHAN_VOICE)
    PLSE ABCDE 4 bright
    stop
  }
}

Actor PhazonPlasmaBall2
{
  Radius 13
  Height 8
  Speed 17
  Damage (2)
  Damagetype "Plasma"
  Projectile
  +RANDOMIZE
  +seekermissile
  +THRUSPECIES
  Species "Shield"
  RenderStyle Add
  Alpha 0.75
  DeathSound "weapons/plasmax"
  Obituary "%o tried to dodge %k's phazonbolts."
  States
  {
  Spawn:
	PLSS A 0 A_SeekerMissile(45, 45,SMF_PRECISE|SMF_LOOK,192,3)
	PLSS B 1 bright
	PLSS A 1 bright
	//PLSS B 1 bright A_SpawnItemEx("PhazonTrailz")
	//PLSS A 1 bright A_SpawnItemEx("CyborgPlasmaTrailPews",random(-10,10),random(-10,10),random(-10,10),0,0,0)
    loop
  XDeath:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	Goto Death
  Death:
    PLSE ABCDE 4 bright
    stop
  }
}


Actor PhazonPlasmaBall4Death
  {
  +NOGRAVITY
  +NOBLOCKMAP
  +CLIENTSIDEONLY
  +NOINTERACTION
  RenderStyle Add
  Translation "112:127=176:191"
  states
  {
  Spawn:
    DBFE AB 4 bright
    DBFE C 4 bright
    DBFE DEF 4 bright
	Stop
  Death:
	TNT1 A 1
	Stop
  }
}


Actor PhazonTrailz
{   
  Radius 2
  Height 2
  Damage 0
  Scale 0.75
  Projectile
  -BloodSplatter
  +BloodlessImpact
  +CLIENTSIDEONLY
  RenderStyle Add
  Alpha 0.9
  States
  {
  Spawn:
    PLSS AB 1 Bright A_fadeout (0.1)
    loop
  }
}

// Unused for now
Actor PhazonPlasmaBallRed : PhazonPlasmaBall
{
	Translation "192:207=176:191"
}

actor Cell2 : Cell replaces Cell
{
inventory.amount 200
inventory.maxamount 200
ammo.backpackmaxamount 0
}

actor ShieldPart
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "ShieldHit"
  Species "Shield"
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  +SOLID
  //+REFLECTIVE
  States
  {
  Spawn:
    XEHS A 2 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor ShieldPartVisual
{
  Radius 10
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  Species "Shield"
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    XEHS A 2 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor ShieldSpawner
{
  Radius 1
  Height 1
  Species "Shield"
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner4up", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner5up", 24, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner5up", -24, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner4up", 48, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner4up", -48, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner3up", 72, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner3up", -72, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner2up", 96, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner2up", -96, 0, 0, 0, 0, 0, 0, 32)
    stop
  }
}

actor ShieldSpawner5up
{
  Radius 1
  Height 1
  Species "Shield"
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor ShieldSpawner4up
{
  Radius 1
  Height 1
  Species "Shield"
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor ShieldSpawner3up
{
  Radius 1
  Height 1
  Species "Shield"
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}


actor ShieldSpawner2up
{
  Radius 1
  Height 1
  Species "Shield"
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    stop
  }
}

actor ShieldHit
{
  Radius 1
  Height 1
  Scale 0.5
  Renderstyle Add
  Species "Shield"
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  +CLIENTSIDEONLY
  +NOBLOCKMAP
  States
  {
  Spawn:
    FHIT A 0 bright
    FHIT A 1 bright A_Stop
    FHIT A 0 bright A_PlaySound("ForceBarrier/Hit",CHAN_BODY)
    FHIT BCDEFGH 1 bright
    stop
  }
}

ACTOR PortShCount : Inventory
{
  Inventory.MaxAmount 400
  Inventory.Amount 1
}


	actor PShieldPart
{
  Radius 10
  Height 16
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "PShieldHit"
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +NORADIUSDMG
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  +SOLID
  //+REFLECTIVE
  States
  {
  Spawn:
    HEXA A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor PShieldPartVisual
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    HEXA A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor PShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor PShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor PShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}

actor PShieldHit
{
  Radius 1
  Height 1
  Scale 0.5
  Renderstyle Add
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  +CLIENTSIDEONLY
  +NOBLOCKMAP
  States
  {
  Spawn:
    FHIT A 0 bright
    FHIT A 1 bright A_Stop
    FHIT A 0 bright A_PlaySound("ForceBarrier/Hit",CHAN_BODY)
    FHIT BCDEFGH 1 bright
    stop
  }
}

//33% red part//

actor RedAPShieldPart
{
  Radius 10
  Height 16
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "RedAPShieldHit"
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +NORADIUSDMG
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  +SOLID
  //+REFLECTIVE
  States
  {
  Spawn:
    HEXS A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedAPShieldPartVisual
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    HEXS A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedAPShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedAPShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedAPShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedAPShieldHit
{
  Radius 1
  Height 1
  Scale 0.5
  Renderstyle Add
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  +CLIENTSIDEONLY
  +NOBLOCKMAP
  States
  {
  Spawn:
    FHIP A 0 bright
    FHIP A 1 bright A_Stop
    FHIP A 0 bright A_PlaySound("ForceBarrier/Hit",CHAN_BODY)
    FHIP BCDEFGH 1 bright
    stop
  }
}

//66% red part//

actor RedBPShieldPart
{
  Radius 10
  Height 16
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "RedBPShieldHit"
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +NORADIUSDMG
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  +SOLID
  //+REFLECTIVE
  States
  {
  Spawn:
    HEXQ A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedBPShieldPartVisual
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    HEXQ A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedBPShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedBPShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedBPShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedBPShieldHit
{
  Radius 1
  Height 1
  Scale 0.5
  Renderstyle Add
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  +CLIENTSIDEONLY
  +NOBLOCKMAP
  States
  {
  Spawn:
    FHIQ A 0 bright
    FHIQ A 1 bright A_Stop
    FHIQ A 0 bright A_PlaySound("ForceBarrier/Hit",CHAN_BODY)
    FHIQ BCDEFGH 1 bright
    stop
  }
}

//100% red part//

actor RedPShieldPart
{
  Radius 10
  Height 16
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "RedPShieldHit"
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +NORADIUSDMG
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  +SOLID
  //+REFLECTIVE
  States
  {
  Spawn:
    HEXR A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedPShieldPartVisual
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    HEXR A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedPShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedPShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedPShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedPShieldHit
{
  Radius 3
  Height 3
  Scale 0.5
  Renderstyle Add
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  +CLIENTSIDEONLY
  +NOBLOCKMAP
  States
  {
  Spawn:
    FHIR A 0 bright
    FHIR A 1 bright A_Stop
    FHIR A 0 bright A_PlaySound("ForceBarrier/Hit",CHAN_BODY)
    FHIR BCDEFGH 1 bright
    stop
  }
}

actor ShieldSpawner2
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner5up", 8, 0, 0)
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner4up", 8, 24, 0)
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner4up", 8, -24, 0)
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner3up", 8, 48, 0)
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner3up", 8, -48, 0)
    stop
  }
}

actor RedShieldSpawner2
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner5up", 8, 0, 0)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner4up", 8, 24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner4up", 8, -24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner3up", 8, 48, 0)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner3up", 8, -48, 0)
    stop
  }
}

actor RedAShieldSpawner2
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner5up", 8, 0, 0)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner4up", 8, 24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner4up", 8, -24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner3up", 8, 48, 0)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner3up", 8, -48, 0)
    stop
  }
}

actor RedBShieldSpawner2
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner5up", 8, 0, 0)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner4up", 8, 24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner4up", 8, -24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner3up", 8, 48, 0)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner3up", 8, -48, 0)
    stop
  }
}

actor AmmoCounter
{
  +NOINTERACTION
  
  
  States
  {
  Spawn:
    TNT1 A 1
    stop
  }
}
