Actor TrueLegendaryProShotgunner : LegendaryProShotgunner
{
//Creator: Dr. Sticky
//Origin: Nexus Infinity
//Sprite: TPSG
//Title: "True Legendary Pro Shotgunner"  
Health 2550
GibHealth 130
Height 56
Radius 20
Speed 13
FastSpeed 16
PainChance 12
Species "UltimateLegendary"
DamageFactor 0.5
DamageFactor "PlayerNemesisPlasma", 0.4
DamageFactor "LegMind", 0.0
DamageFactor "VileFires", 0.0
DamageFactor "Baby15K", 0.0
DamageFactor "SoulToxic", 0.0
DamageFactor "BombBreath", 0.0
DamageFactor "CacoComet", 0.0
DamageFactor "CadaverRocket", 0.0
DamageFactor "BeheComet", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "Hell", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "TrueLegendaryDamage", 0.0
DamageFactor "TrueLegendaryPlayer", 0.0
DropItem "LegendaryBossLifeEssence" 256
DropItem "LegendaryBossArmorBonusMax" 256 
DropItem "LegendaryArmor" 120 1 
DropItem "LegAmmoSphere" 128 1
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 235 2
DropItem "Backpack" 198 1
DropItem "Armorplate" 205 1
DropItem "Portablemedkit" 210 1
DropItem "LegendaryShell" 256 4
DropItem "LegendaryShellBox" 130
DropItem "LegendaryRune" 65 1
DropItem "Legendary Assault Shotgun" 256 1
DropItem "LegendaryPowerShard" 65 1
DropItem "LegendaryCell" 180
DropItem "LegendaryCellPack" 150
DropItem "TrueLegUpgradeSpawnerWeak" 150 1
DropItem "TrueLegendaryRune" 10 1
DropItem "TrueLegTimeFreezeSphere" 100 1
DropItem "TrueLegAmmoSphere" 128 1
DropItem "TrueLegendaryArmor" 120 1
DropItem "LegendaryFusionCell" 55 1
DropItem "LegendaryorTrueSyringe" 100 1
SeeSound "lasgguy/sight"
AttackSound "weapons/12gaugefire"
PainSound "lasgguy/pain"
DeathSound "lasgguy/death"
ActiveSound "lasgguy/active"
Obituary "A True Legendary Pro Shotgunner was just wayy too skilled for %o."
Tag "\c[l5]True\c- \c[z3]Legendary Pro Shotgunner \c-"
States
{
  Spawn:
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    TPSG A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2100)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    TPSG AA 4 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG BB 4 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG CC 4 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG DD 4 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(64,"Mine")
	TPSG A 0 A_Jump(64,"Rush")
	TNT1 A 0 A_Jump(64,"DodgeLeft","DodgeRight","DodgeGo")
	TNT1 A 0 A_Jump(64,"Chase")
	Loop
  Rush:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TruePSGZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TPSG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TruePSGZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TPSG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TruePSGZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TPSG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TruePSGZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TPSG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TruePSGZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TPSG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TruePSGZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TPSG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TruePSGZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TPSG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TruePSGZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TPSG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(85,"See")
	TNT1 A 0 A_Jump(200,"DodgeGo")
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	Loop
  Chase:
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG AA 1 Bright A_FastChase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG A 0 A_JumpIfCloser(130,"Dodge")
	TPSG AA 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG A 0 A_JumpIfCloser(130,"Dodge")
	TPSG BB 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG A 0 A_JumpIfCloser(130,"Dodge")
	TPSG BB 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	TPSG A 0 A_JumpIfCloser(150,"Dodge")
	TPSG CC 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG A 0 A_JumpIfCloser(150,"Dodge")
	TPSG CC 1 Bright A_FastChase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG A 0 A_JumpIfCloser(130,"Dodge")
	TPSG DD 1 Bright A_FastChase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG A 0 A_JumpIfCloser(130,"Dodge")
	TPSG DD 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	TNT1 A 0 A_Jump(95,"Mine")
	TPSG A 0 A_Jump(128,"Dodge")
	TPSG A 0 A_Jump(180,"DodgeGo")
	Loop
  SeeNoDodge:
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG AABB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	TPSG CCDD 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	TPSG AABB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	TPSG CCDD 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	TPSG AABB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	TPSG CCDD 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	Goto Chase
  Dodge:
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG A 1 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG E 0 ThrustThingZ(0, 20, 0, 0)
	TPSG A 0 A_Jump(256, "DodgeRight", "DodgeLeft","DodgeGo")
  DodgeLeft:
	TPSG E 0 ThrustThing(angle*256/360+192, 15, 0, 0)
	Goto SeeNoDodge
  DodgeRight:
	TPSG E 0 ThrustThing(angle*256/360+64, 15, 0, 0)
	Goto SeeNoDodge
  DodgeGo:
	TPSG E 4 A_FaceTarget
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
	TNT1 A 0 ThrustThingZ(0,20,0,1)
	TNT1 A 0 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"LegModdedBulletPuff")
	TNT1 AAAA 0 A_CustomMissile("TrueLegendaryExplosiveTracer",random(28,34),0,random(-6,6),0)
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",-8,0,30,Random(2,6),0,Random(1,3),Random(-80,-90),SXF_CLIENTSIDE,0)
	TPSG E 2 A_Recoil(-36)
	TNT1 A 0 A_PlaySound("weapons/12gsgcock")
	TPSG E 6 A_CustomMissile("PinkyLunge")
	TPSG E 2  A_ScaleVelocity(0.2)
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
	TPSG E 1 A_ScaleVelocity(0)
	Goto Missile
  Mine:
	TPSG C 1 Bright
	TPSG C 12 Bright A_CustomMissile("TrueLACThrownMine",32,0,0,5,15)
	TPSG C 12 Bright A_CustomMissile("TrueLACThrownMine",32,0,0,-5,15)
	TPSG E 12 Bright
	TPSG C 3 Bright
	Goto See
  Missile:
	TPSG E 6 A_FaceTarget
	TPSG FF 1 Bright A_FaceTarget
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
	TNT1 A 0 ThrustThingZ(0,20,0,1)
	TNT1 A 0 ThrustThing(angle*256/360+random(192.0,64.0),15,0,0)
	TNT1 A 0 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"LegModdedBulletPuff")
	TNT1 AAAA 0 A_CustomMissile("TrueLegendaryExplosiveTracer",random(28,34),0,random(-6,6),0)
	TPSG E 6 A_FaceTarget
	TPSG E 4 A_PlaySound("weapons/12gsgcock")
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",-8,0,30,Random(2,6),0,Random(1,3),Random(-80,-90),SXF_CLIENTSIDE,0)
	TPSG E 2  A_ScaleVelocity(0.2)
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
	TPSG E 4 Bright A_FaceTarget
	TNT1 A 0 A_CPosRefire
    TNT1 A 0 A_Jump(40,"Mine")
	TPSG A 0 A_Jump(180,"DodgeGo")
	Goto Missile
  Pain:
	TNT1 A 0
	TNT1 A 0 A_Jump(20,"Dodge")
	TNT1 A 0 A_Jump(192,"PainMissile")
	TNT1 A 0 A_Jump(30,"Mine")
	Goto See
  PainMissile:
    TPSG G 3 Bright
    TPSG G 3 Bright A_Pain
    Goto Missile	
  Death:
	TNT1 A 0 A_Jump(36,"TrueLegendarySoul")
	TNT1 A 0 A_ChangeFlag("BRIGHT",0)
	TNT1 A 0 A_StopSound(6)
	TPSG H 5 A_Scream
	TPSG I 5 A_Fall
	TPSG J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TPSG K 5
	TPSG L 63000 CanRaise
	Stop
  TrueLegendarySoul:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_ChangeFlag("BRIGHT",0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    TPSG H 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    TPSG I 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    TPSG J 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    TPSG K 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TPSG L 140
	TPSG L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	TPSG LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TPSG LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TPSG LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("INFTrueLegendarySoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
    TPSG L -1
    Stop
  XDeath:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_ChangeFlag("BRIGHT",0)
	TPSG G 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	TPSG H 3 A_XScream
	TPSG I 3 A_Fall
	TPSG PQRSTUV 3
	TPSG W 63000 CanRaise
	Stop
	}
}

ACTOR TruePSGZombieGhostA
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
+NOINTERACTION
+NOTIMEFREEZE
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    TPSG A 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR TruePSGZombieGhostB : TruePSGZombieGhostA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    TPSG B 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR TruePSGZombieGhostC : TruePSGZombieGhostA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    TPSG C 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR TruePSGZombieGhostD : TruePSGZombieGhostA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    TPSG D 2 A_FadeOut(0.10)
    Wait
    }
}