Actor EnragedLegendaryProShotgunner
{
//Creator: Dr. Sticky
//Origin: Nexus Infinity
//Sprite: EPSG
//Title: "Legendary Pro Shotgunner"  
MONSTER 
Health 2050
GibHealth 130
Height 56
Radius 20
Mass 150
Speed 14
FastSpeed 14
PainChance 15
+NOTIMEFREEZE
+BOSS
+BOSSDEATH
+FLOORCLIP
//+MISSILEMORE
//+MISSILEEVENMORE
+QUICKTORETALIATE
+NOICEDEATH
+NODROPOFF
+DONTGIB
+NOTARGET
+NORADIUSDMG
+FORCERADIUSDMG
+NOFEAR
+MissileMore
+MissileEvenMore
+QuickToRetaliate
+DONTHARMSPECIES
BloodColor "Red"
Species "Zombies"
DamageFactor "PDTBFG", 0.20
DamageFactor "PDTBFGTracer", 0.20
DamageFactor "PlayerDevBall", 0.120
DamageFactor "PlayerDevBall2", 0.120
DamageFactor "PlayerDTBFGRailgunSlug", 0.120
DamageFactor "PlayerDevTracer", 0.120
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "LACGrenade", 0.0
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "PlayerDTRG", 0.5
DamageFactor 0.70
DropItem "LegendaryBossLifeEssence" 256
DropItem "LegendaryBossArmorBonusMax" 256
DropItem "LegendaryBossLifeEssence" 128
DropItem "LegendaryBossArmorBonusMax" 128
DropItem "Enraged Legendary Assault Shotgun" 256
DropItem "EnragedLegendaryShell" 256 4
DropItem "EnragedLegendaryShellBox" 128
DropItem "LegAmmoSphere" 93 1
DropItem "EnragedLegendaryArmor" 85
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 240 2
DropItem "Backpack" 200 1
DropItem "Armorplate" 210 1
DropItem "Portablemedkit" 215 1
DropItem "StimKit" 220 3
DropItem "HealthFlask" 225 5
DropItem "LegendaryRune" 70 1
SeeSound "grunt/sight"
AttackSound "legendarypro/fire"
PainSound "grunt/pain"
DeathSound "grunt/death"
ActiveSound "grunt/active"
Obituary "%o was chopped down by a Enraged Legendary Pro Shotgunner."
Tag "\c[m6]Enraged\c- \c[z3]Legendary Pro Shotgunner\c-"
var int user_music;
States
	{
	Spawn:
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
        EPSG A 10 Bright A_Look
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG A 10 Bright A_Look
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
        Loop
	See:
	    TNT1 A 0 A_JumpIf(user_music == 1,3)
		TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,3114)
		TNT1 A 0 A_SetUserVar("user_music",1)
		TNT1 A 0 A_JumpIfInventory("RunesCheck",1,2)
	    TNT1 A 0 ACS_NamedExecuteWithResult("CheckRunes")
	    TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
        EPSG AAA 1 Bright A_Chase("","")
		EPSG A 1 A_Chase
		TNT1 A 0 A_JumpIfTargetInLOS("DogdeSee",50,JLOSF_TARGETLOS)
		EPSG AAA 1 Bright A_Chase("","")
		EPSG A 1 A_Chase
		TNT1 A 0 A_JumpIfTargetInLOS("DogdeSee",50,JLOSF_TARGETLOS)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG BBB 1 Bright A_Chase("","")
		EPSG B 1 A_Chase
		TNT1 A 0 A_JumpIfTargetInLOS("DogdeSee",50,JLOSF_TARGETLOS)
		EPSG BBB 1 Bright A_Chase("","")
		EPSG B 1 A_Chase
		TNT1 A 0 A_JumpIfTargetInLOS("DogdeSee",50,JLOSF_TARGETLOS)
		TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG CCC 1 Bright A_Chase("","")
		EPSG C 1 A_Chase
		TNT1 A 0 A_JumpIfTargetInLOS("DogdeSee",50,JLOSF_TARGETLOS)
		EPSG CCC 1 Bright A_Chase("","")
		EPSG C 1 A_Chase
		TNT1 A 0 A_JumpIfTargetInLOS("DogdeSee",50,JLOSF_TARGETLOS)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG DDD 1 Bright A_Chase("","")
		EPSG D 1 A_Chase
		TNT1 A 0 A_JumpIfTargetInLOS("DogdeSee",50,JLOSF_TARGETLOS)
		EPSG DDD 1 Bright A_Chase("","")
		EPSG D 1 A_Chase
		TNT1 A 0 A_JumpIfTargetInLOS("DogdeSee",50,JLOSF_TARGETLOS)
		TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_Jump(64,"Mine")
		EPSG A 0 A_Jump(64,"Rush")
		TNT1 A 0 A_Jump(64,"DodgeLeft","DodgeRight","DodgeGo")
		TNT1 A 0 A_Jump(64,"Chase")
		Loop
	 DogdeSee:
	    TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
		TNT1 A 0 A_FaceTarget
	    EPSG AAA 1 Bright A_Chase("","",CHF_FASTCHASE)
		EPSG A 1 A_Chase
		TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
		TNT1 A 0 A_CheckSight("See")
		TNT1 A 0 A_FaceTarget
		EPSG AAA 1 Bright A_Chase("","",CHF_FASTCHASE)
		EPSG A 1 A_Chase
		TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
		TNT1 A 0 A_CheckSight("See")
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_FaceTarget
		EPSG BBB 1 Bright A_Chase("","",CHF_FASTCHASE)
		EPSG B 1 A_Chase
		TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
		TNT1 A 0 A_CheckSight("See")
		TNT1 A 0 A_FaceTarget
		EPSG BBB 1 Bright A_Chase("","",CHF_FASTCHASE)
		EPSG B 1 A_Chase
		TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
		TNT1 A 0 A_CheckSight("See")
		TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_FaceTarget
		EPSG CCC 1 Bright A_Chase("","",CHF_FASTCHASE)
		EPSG C 1 A_Chase
		TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
		TNT1 A 0 A_CheckSight("See")
		TNT1 A 0 A_FaceTarget
		EPSG CCC 1 Bright A_Chase("","",CHF_FASTCHASE)
		EPSG C 1 A_Chase
		TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
		TNT1 A 0 A_CheckSight("See")
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_FaceTarget
		EPSG DDD 1 Bright A_Chase("","",CHF_FASTCHASE)
		EPSG D 1 A_Chase
		TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
		TNT1 A 0 A_CheckSight("See")
		TNT1 A 0 A_FaceTarget
		EPSG DDD 1 Bright A_Chase("","",CHF_FASTCHASE)
		EPSG D 1 A_Chase
		TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
		TNT1 A 0 A_CheckSight("See")
		TNT1 A 0 A_Jump(64,"Mine")
		EPSG 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("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("EnragedPSGZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		EPSG A 1 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("EnragedPSGZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		EPSG A 1 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("EnragedPSGZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		EPSG B 1 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("EnragedPSGZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		EPSG B 1 Bright A_Chase
		TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("EnragedPSGZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		EPSG C 1 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("EnragedPSGZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		EPSG C 1 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("EnragedPSGZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		EPSG D 1 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("EnragedPSGZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		EPSG D 1 Bright A_Chase
		TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_Jump(85,"See")
		TNT1 A 0 A_Jump(200,"DodgeGo")
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		Loop
	Chase:
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG AA 1 Bright A_FastChase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG A 0 A_JumpIfCloser(130,"Dodge")
		EPSG AA 1 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG A 0 A_JumpIfCloser(130,"Dodge")
		EPSG BB 1 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG A 0 A_JumpIfCloser(130,"Dodge")
		EPSG BB 1 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
		EPSG A 0 A_JumpIfCloser(150,"Dodge")
		EPSG CC 1 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG A 0 A_JumpIfCloser(150,"Dodge")
		EPSG CC 1 Bright A_FastChase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG A 0 A_JumpIfCloser(130,"Dodge")
		EPSG DD 1 Bright A_FastChase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG A 0 A_JumpIfCloser(130,"Dodge")
		EPSG DD 1 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
		TNT1 A 0 A_Jump(95,"Mine")
		EPSG A 0 A_Jump(128,"Dodge")
		EPSG A 0 A_Jump(180,"DodgeGo")
		Loop
	SeeNoDodge:
	    TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG AABB 2 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
		EPSG CCDD 2 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
		EPSG AABB 2 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
		EPSG CCDD 2 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
		EPSG AABB 2 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
		EPSG CCDD 2 Bright A_Chase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
		Goto Chase
	Dodge:
	    TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG A 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		EPSG E 0 ThrustThingZ(0, 25, 0, 0)
		EPSG A 0 A_Jump(256, "DodgeRight", "DodgeLeft","DodgeGo")
	DodgeLeft:
		EPSG E 0 ThrustThing(angle*256/360+192, 15, 0, 0)
		Goto SeeNoDodge
	DodgeRight:
		EPSG E 0 ThrustThing(angle*256/360+64, 15, 0, 0)
		Goto SeeNoDodge
	DodgeGo:
	    TNT1 A 0 A_CheckSight("Dodge")
		EPSG 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,"EnragedBulletPuff")
		TNT1 AAAA 0 A_CustomMissile("LegendaryRedTracer",random(28,34),0,random(-6,6),0)
		TNT1 A 0 A_SpawnItemEx("RedShellCasing",-8,0,30,Random(2,6),0,Random(1,3),Random(-80,-90),SXF_CLIENTSIDE,0)
	    EPSG E 2 A_Recoil(-36)
	    TNT1 A 0 A_PlaySound("legendarypro/cock")
	    EPSG E 6 A_CustomMissile("PinkyLunge")
	    EPSG E 2  A_ScaleVelocity(0.2)
	    TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
	    EPSG E 1 A_ScaleVelocity(0)
		Goto Missile
	Mine:
	    EPSG C 1 Bright
		EPSG C 12 Bright A_CustomMissile("ELACThrownMine",32,0,0,2,15)
		EPSG E 12 Bright
		EPSG C 3 Bright
		Goto See
	Missile:
		EPSG E 6 A_FaceTarget
		EPSG FF 1 Bright A_FaceTarget
		TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
		TNT1 A 0 ThrustThingZ(0,Random(20,40),0,1)
		TNT1 A 0 ThrustThing(angle*256/360+random(192.0,64.0),Random(15,30),0,0)
		TNT1 A 0 A_CustomBulletAttack(22.5,18.3,8,Random(5,15)*6,"EnragedBulletPuff")
		TNT1 AAAAAAAA 0 A_CustomMissile("LegendaryRedTracer",random(28,34),0,random(-6,6),0)
		EPSG E 6 A_FaceTarget
		EPSG E 4 A_PlaySound("legendarypro/cock")
		TNT1 A 0 A_SpawnItemEx("RedShellCasing",-8,0,30,Random(2,6),0,Random(1,3),Random(-80,-90),SXF_CLIENTSIDE,0)
		EPSG E 2  A_ScaleVelocity(0.2)
	    TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
		EPSG E 4 Bright A_FaceTarget
		TNT1 A 0 A_CPosRefire
		TNT1 A 0 A_JumpIfTargetInLOS("DogdeSee",50,JLOSF_TARGETLOS)
        TNT1 A 0 A_Jump(40,"Mine")
		EPSG 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:
        EPSG G 3 Bright
        EPSG G 3 Bright A_Pain
        Goto Missile
	Death:
	    TNT1 A 0 A_Jump(36,"LegendarySoul")
		TNT1 A 0 A_StopSound(6)
		EPSG H 5 A_Scream
		EPSG I 5 A_Fall
		EPSG J 5 A_SpawnItem("BodyCrash",0,0,0,0)
		EPSG K 5
		EPSG L 63000 CanRaise
		Stop
	LegendarySoul:
        TNT1 A 0 A_StopSound(6)
	    TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
	    EPSG H 5 A_Scream
	    TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
        EPSG I 5 A_Fall
	    TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
        EPSG J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	    TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
        EPSG K 5 
	    TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
        EPSG L 140
	    EPSG L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	    EPSG LLLLLLLLLLLLLLLLL 2 Bright A_SpawnItem("ELegSoulEventSmokeSpawner",1)
	    EPSG LLLLLLLLLLLLLLLLL 2 Bright A_SpawnItem("ELegSoulEventSmokeSpawner",1)
	    EPSG LLLLLLLLLLLLLLLLL 2 Bright A_SpawnItem("ELegSoulEventSmokeSpawner",1)
	    TNT1 A 0 A_SpawnItemEx("EnragedLegendarySoul",0,0,16,0,0,0,0,32)
	    TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	    EPSG L -1
	    Stop
	XDeath:
	    TNT1 A 0 A_StopSound(6)
		EPSG G 3 A_SpawnItemEx("EnragedGibbedGenerator",0,0,0,0,0,0,0,128,0)
		EPSG H 3 A_XScream
		EPSG I 3 A_Fall
		EPSG PQRSTUV 3
		EPSG W 63000 CanRaise
		Stop
	}
}

ACTOR EnragedPSGZombieGhostA
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    EPSG A 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR EnragedPSGZombieGhostB : EnragedPSGZombieGhostA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    EPSG B 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR EnragedPSGZombieGhostC : EnragedPSGZombieGhostA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    EPSG C 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR EnragedPSGZombieGhostD : EnragedPSGZombieGhostA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    EPSG D 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}