ACTOR ExplosiveRailgunZombie
{
//Creator: High Councilor
//Origin: Nexus Infinity
//Sprite: EXRZ
//Title: "Explosive Railgun Zombie"
  Health 250
  Radius 20
  Height 56
  Speed 10
  Mass 100
  PainChance 60
  PainChance "ZombieDemonTech", 0
  DropItem "ExplosiveRailgun" 90 3
  DropItem "StimKit" 150
  DropItem "ArmorBooster" 150
  DropItem "HandGrenadeAmmo" 150 1
  DropItem "MineAmmo" 100 1
  DropItem "AmmoPack" 100
  DropItem "BackPack" 50 1
  DropItem "NewCell" 256 80
  Species "EliteZombies"
  Damagefactor 0.75
  Damagefactor "RedZombieDemonTech", 0
  Damagefactor "ZombieRocket", 0
  Damagefactor "ZombieDemonTech", 0
  DamageFactor "RedZDemonTechProjectile", 0.0
  Damagefactor "GeneralTracer", 0
  DamageFactor "EMGEx", 0
  DamageFactor "RST", 0.0
  DamageFactor "SoulToxic", 0.0
  DamageFactor "BeheComet", 0.0
  DamageFactor "FatFlamer", 0.0
  Damagefactor "HTZombie", 0.0
  DamageFactor "MiniRocket", 0.0
  DamageFactor "ZombieCannon", 0.0
  Damagefactor "ZExplosiveBullets", 0.0
  Damagefactor "ZGrenade", 0.0
  MONSTER
  +FLOORCLIP
  +MISSILEMORE
  +MISSILEEVENMORE
  +AVOIDMELEE
  +NODROPOFF
  +DONTHARMSPECIES
  SeeSound "grunt/sight"
  AttackSound "Null"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/active"
  Tag "\c[g5]Explosive Railgun Zombie\c-"
  Obituary "%o was seared by a Explosive Railgun Zombie."
  States
    {
  Spawn:
    EXRZ A 10 A_Look
    Loop
  See:
	EXRZ AABB 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,2,0,0,-20)
	EXRZ CCDD 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,2,0,0,-20)
	TNT1 A 0 A_Jump(64,"DodgeSee")
    TNT1 A 0 A_JumpIfHealthLower(250,1)
    TNT1 A 0 A_Jump(12,"Heal1")
    Loop
  Idle:
 	TNT1 A 0 A_Look
	EXRZ AABB 3 A_Wander
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,2,0,0,-20)
	TNT1 A 0 A_Look
	EXRZ CCDD 3 A_Wander
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,2,0,0,-20)
    TNT1 A 0 A_JumpIfHealthLower(250,1)
    TNT1 A 0 A_Jump(32,"Heal1")
	Loop
  Heal1:
    TNT1 A 0 A_Jump(32,"Heal2")
	EXRZ A 5
	TNT1 A 0 HealThing(5)
	TNT1 A 0 A_PlaySound("pickups/flask",0,1.0,0)
	GoTo See
  Heal2:
	EXRZ A 5
	TNT1 A 0 HealThing(15)
	TNT1 A 0 A_PlaySound("pickups/flask",0,1.0,0)
	GoTo See
  Dodge:
	TNT1 A 0
	TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
	TNT1 A 0 A_Jump(64,"See")
	Goto Missile
  DodgeSee:
	TNT1 A 0
	TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
	Goto See
  Missile:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("ExplosiveRailgun/Charge")
	TNT1 A 0 A_JumpIfTargetInLOS("SniperShot",90,JLOSF_CLOSENOJUMP|JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,1000)
	EXRZ EEEEEEEEEE 4 Bright A_FaceTarget(45)
    //TNT1 A 0 A_CustomMissile("ZExplosiveRailgunImpact",30,0,0)
    //TNT1 A 0 A_CustomMissile("ZCardinalRail",30,0,0)
    TNT1 A 0 A_CustomRailgun(50,0,None,None,RGF_SILENT,1,0,"BruiserRailPuff",0,0,0,0,40,0,"ZExplosiveRailgunTrail")
    EXRZ F 4 Bright A_PlaySound("ExplosiveRailgun/Fire")
	EXRZ EEEE 4 Bright A_FaceTarget
    TNT1 A 0 A_JumpIfHealthLower(250,1)
    TNT1 A 0 A_Jump(12,"Heal1")
	Goto See
  SniperShot:
	TNT1 A 0 A_PlaySound("ExplosiveRailgun/Charge")
	EXRZ E 1 A_MonsterRefire(0,"DodgeSee")
	TNT1 A 0 A_Jump(96,2)
	EXRZ EE 6 A_FaceTarget
	EXRZ E 1 A_MonsterRefire(0,"DodgeSee")
	TNT1 A 0 A_Jump(96,2)
	EXRZ EE 6 A_FaceTarget
	EXRZ E 1 A_MonsterRefire(0,"DodgeSee")
	TNT1 A 0 A_Jump(96,2)
	EXRZ EE 6 A_FaceTarget
	EXRZ E 1 A_MonsterRefire(0,"DodgeSee")
	TNT1 A 0 A_Jump(96,2)
	EXRZ EE 6 A_FaceTarget
	EXRZ E 1 A_MonsterRefire(0,"DodgeSee")
	TNT1 A 0 A_Jump(96,2)
	EXRZ EE 6 A_FaceTarget
	TNT1 A 0 A_Jump(96,2)
	EXRZ EE 6 A_FaceTarget
    //TNT1 A 0 A_CustomMissile("ZExplosiveRailgunImpact",30,0,0)
    //TNT1 A 0 A_CustomMissile("ZCardinalRail",30,0,0)
    TNT1 A 0 A_CustomRailgun(50,0,None,None,RGF_SILENT,1,0,"BruiserRailPuff",0,0,0,0,40,0,"ZExplosiveRailgunTrail")
    EXRZ F 4 Bright A_PlaySound("ExplosiveRailgun/Fire")
	EXRZ EEEE 4 Bright A_FaceTarget
    TNT1 A 0 A_JumpIfHealthLower(250,1)
    TNT1 A 0 A_Jump(12,"Heal1")
	Goto See
  Pain:
    TNT1 A 0 A_Jump(12,"Heal1")
	TNT1 A 0 A_Jump(87,"PainMissile")
	EXRZ G 3 A_Pain
	Goto See
  PainMissile:
	EXRZ G 3 A_Pain
	Goto Missile
  Death:
    EXRZ H 5
    EXRZ I 5 A_Scream 
    EXRZ J 5 A_Fall
    EXRZ K 5 A_SpawnItem("BodyCrash",0,0,0,0)
    EXRZ LM 5
    EXRZ N -1
    Stop
  XDeath:
	TNT1 A 0 A_PlaySound("gibbage/xsplat")
	EXRZ O 3 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	EXRZ P 3 A_XScream
	EXRZ Q 3 A_Fall
	EXRZ RSTUV 3
	EXRZ W -1
    Stop
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	EXRZ MLKJIH 5
	Goto See
	}
}

ACTOR ZCardinalRail : CardinalRail
{
DamageType "ZExplosiveBullets"
MissileType "CardinalRailTrail"
//Damage (Random(30,40))
States
{
Spawn:
    DCRP A 1 Bright
    Loop
Death:
    TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("BFGShockwaveRed", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAA 0 A_CustomMissile("Kaboom14", 0, 0, random(0,360), 2, random(0,360))
	TNT1 A 1 A_SpawnItem("RailgunImpactEffectRed")
	Stop
	}
}

ACTOR ZExplosiveRailgunImpact : ExplosiveRailgunImpact
{
MissileType "ZExplosiveRailgunTrailExplodeSpawner"
}

ACTOR ZExplosiveRailgunTrail : ExplosiveRailgunTrail
{
  -CLIENTSIDEONLY
  Scale 0.8
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("ZExplosiveRailgunTrailExplode",random(0,4),0,0,random(0,4),0,random(-4,4),random(0,360),0,128)
	RGPR ABCDEFGHIJKLMNOP 2 A_FadeOut(0.04)
	Stop
  }
}

ACTOR ZExplosiveRailgunTrailExplodeSpawner
{
  States
  {
  Spawn:
	TNT1 A 1 Nodelay A_SpawnItemEx("ZExplosiveRailgunTrailExplode",random(0,4),0,0,random(0,4),0,random(-4,4),random(0,360))
	Stop
  }
}

ACTOR ZExplosiveRailgunTrailExplode : ExplosiveRailgunTrailExplode
{
  Damagetype "ZExplosiveBullets"
  Species "EliteZombies"
  Tag "\c[g5]Explosive Railgun Zombie\c-"
  Obituary "%o was seared by a Explosive Railgun Zombie."
  States
  {
  Spawn:
	TNT1 A 0
	FXPO AB 2 Bright A_FadeOut(0.05)
	TNT1 A 0 A_Explode(30,128,0,0,40)
	FXPO CD 1 Bright A_FadeOut(0.05)
	TNT1 A 0 A_Explode(30,128,0,0,40)
	FXPO EF 1 Bright A_FadeOut(0.05)
	TNT1 A 0 A_Explode(30,128,0,0,40)
	FXPO GHIJKLM 1 Bright A_FadeOut(0.05)
	Stop
  }
}