Actor LegendarySSSuperSoldierPyroCannon
{
Monster
Health 4500
Height 64
Radius 24
Scale 1.25
Mass 5000
Speed 8
PainChance 20
Species "SS"
DamageType "SS"
DamageFactor "SS", 0.0
DamageFactor "PlayerPyro", 0.05
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "Legendary1", 0.0
DamageFactor "PDTBFG", 0.25
DamageFactor "PDTBFGTracer", 0.25
DamageFactor "PlayerDevBall", 0.025
DamageFactor "PlayerDevBall2", 0.025
DamageFactor "PlayerDTBFGRailgunSlug", 0.025
DamageFactor "PlayerDevTracer", 0.025
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "PlayerDTRG", 0.5
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor 0.8
RadiusDamageFactor 0.25
DropItem "PortableMedCell", 200, 1
DropItem "PortableMedkit", 200
DropItem "ArmorPlate", 200
DropItem "LegendaryBossArmorBonusMax" 256
DropItem "HandGrenadeAmmo", 200, 1
DropItem "MineAmmo", 200, 1
DropItem "AmmoPack", 150
DropItem "ExtraArmor" 256 1
DropItem "PyroCannon", 32
DropItem "BigGas", 200
DropItem "LegendarySyringe", 80, 1
SeeSound "supersoldier/see"
PainSound "supersoldier/pain"
DeathSound "supersoldier/death"
ActiveSound "supersoldier/idle"
Obituary "%o was terminated by a legendary super soldier."
Tag "\c[z3]Legendary SS SuperSoldier with Pyro Cannon\c-"
+NOTIMEFREEZE
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+NOICEDEATH
+NODROPOFF
+DONTGIB
+NOTARGET
+NORADIUSDMG
+DONTHARMSPECIES
+NOFEAR
+LOOKALLAROUND
States
{
  Spawn:
	LNS2 A 10 A_Look
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	Loop
  See:
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	LNS2 AAAABBBB 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	LNS2 CCCCDDDD 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
  Missile:
	TNT1 A 0
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_CheckFlag(FRIENDLY,6)
	TNT1 A 0 A_TakeInventory("ProjHitCheck",1)
	TNT1 A 0 A_TakeInventory("ProjMissCheck",1)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("ss-hit-testing",40,20,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
	TNT1 A 0 A_CustomMissile("ss-hit-testing",40,-20,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
	LNS2 EEEE 5 A_FaceTarget
	TNT1 A 0 A_CheckFlag(FRIENDLY,"PyroCannon")
	TNT1 A 0 A_JumpIfInventory("ProjHitCheck",1,"PyroCannon")
	TNT1 A 0 A_JumpIfInventory("ProjMissCheck",1,"See")
	TNT1 A 0 A_Jump(256,"See")
  PyroCannon:
	TNT1 AAA 0 A_ChangeFlag(NOPAIN,1)
	LNS2 EEEEEEE 4 A_FaceTarget
	LNS2 F 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/PCNNF",CHAN_WEAPON)
	LNS2 G 4 Bright A_CustomMissile("LegSSPyroShot",40,20,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("LegSSPyroShot",40,-20,0,CMF_TRACKOWNER)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam",6)
	TNT1 AAA 0 A_ChangeFlag(NOPAIN,0)
	LNS2 E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	LNS2 E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	LNS2 E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	Goto See
  Pain:
	TNT1 AAA 0 A_ChangeFlag(NOPAIN,1)
	LNS2 E 6 A_Pain
	TNT1 A 0 A_Jump(48,"PainAttack")
	Goto See
  PainAttack:
	TNT1 A 0 A_JumpIfTargetInLos("PyroCannon",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS)
	Goto See
  Death:
	TNT1 A 0
	LNS2 P 5 A_SpawnItemEx("LegBlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	LNS2 Q 5 A_ScreamAndUnblock
	LNS2 R 5 A_SpawnItemEx("LegBlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	LNS2 S 5 //A_BossDeath
	LNS2 TU 5
	LNS2 V -1 A_NoBlocking
	Stop
	}
}

Actor LegSSPyroShot : LegendaryRSTPyroShot
{
DamageType "SS"
States
{
  Death:
	TNT1 A 0
	TNT1 A 0 Radius_Quake(15,20,0,20,0)
	GDWO D 0 A_CustomMissile("LegSSFuelExplosion01",0,0,0,6)
    GDWO D 0 A_CustomMissile("LegSSFuelExplosion01",0,0,45,6)
    GDWO D 0 A_CustomMissile("LegSSFuelExplosion01",0,0,90,6)
    GDWO D 0 A_CustomMissile("LegSSFuelExplosion01",0,0,135,6)
    GDWO D 0 A_CustomMissile("LegSSFuelExplosion01",0,0,180,6)
    GDWO D 0 A_CustomMissile("LegSSFuelExplosion01",0,0,225,6)
    GDWO D 0 A_CustomMissile("LegSSFuelExplosion01",0,0,270,6)
    GDWO D 0 A_CustomMissile("LegSSFuelExplosion01",0,0,315,6)
    GDWO D 0 A_Mushroom("LegSSMushroomFireballs",8)
	TNT1 A 0 A_Explode(1000,400)
    GDWO DEFGHIJKLMN 1 BRIGHT 
	TNT1 A 0 A_SpawnItemEx("LegPyroShotEx",0,0,0,0,0,0,0)
	Stop
	}
}

Actor LegSSFuelExplosion01 : LegRSTFuelExplosion01
{
DamageType "SS"
States
{
  Spawn:
	TNT1 A 0
	TNT1 AAAAA 4 A_SpawnItemEx("LegSSFuelExplosion02",0,0,0,0,0,0,0,SXF_SETMASTER,0)
	Stop
	}
}

Actor LegSSFuelExplosion02 : LegRSTFuelExplosion02 { DamageType "SS" }

Actor LegSSMushroomFireballs : LegRSTMushroomFireballs
{
DamageType "SS"
States
{
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(60, 160)//Damage, Radius
	TNT1 A 0 A_SpawnItemEx("LCABaseScorch", 0, 0, 0, 0, 0, 0, Random(0,359))
	TNT1 AAAAAA 0 A_CustomMissile ("OrangeParticleSpawner", 0, 0, random (0, 360), 2, random (0, 180))
	TNT1 A 0 A_SpawnItemEx("BHellionSmokeSpawner",0,0,0,0,0,0,0,128,0)
	EXPL A 0 Radius_Quake(15,20,0,20,0)
	TNT1 AAAA 0 A_SpawnItemEx("BHellionSmokeSpawner", 0, 0, 0, 0.01 * Random(-125, 125), 0.01 * Random(-125, 125), 0.01 * Random(25, 245), 0, 128, 0)
	G8F4 ABCDEFGHIJKLMNOP 2 BRIGHT
	Stop
	}
}
