//Fixed Wrong Sprite States

ACTOR NewHomingRocketZombie : HomingRocketZombie Replaces HomingRocketZombie
{
   States
   {
   Spawn:
    MMGY A 10 A_Look
	MMGI A 10 A_Look
    Loop
   See:
	MMGY AABB 3 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    MMGY CCDD 3 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
   Missile:
    MMGY E 14 A_FaceTarget
    MMGY F 6 Bright A_CustomMissile("ZombieHomingRocket", 50, 0, 0)
	MMGY E 20 A_PlaySound("rocket/drumspin")
    Goto See
   Pain:
	  MMGY G 2
	  MMGY G 2 A_Pain
	  Goto See
   Death:
	  MMGY H 4
	  MMGY I 4 A_Scream
	  MMGY J 4 A_SpawnItem("BodyCrash",0,0,0,0)
	  MMGY K 4 A_Fall
	  MMGY L -1
	  Stop
   XDeath:
      MMGY N 5
	  MMGY M 5 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	  MMGY O 5 A_XScream
	  MMGY P 5
	  MMGY Q 5 A_Fall
	  MMGY RSTU 5
	  MMGY U -1
	  Stop
   Raise:
      TNT1 A 0
	  TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	  MMGY LLKJI 5
	  Goto See
   }
}

ACTOR DemonTechTrooper 28913
{ 
Health 180
Radius 20
Height 56
Speed 8
Mass 100
PainChance 70
Alpha 0.26
Renderstyle Translucent
PainChance "RedZombieDemonTech", 0
DropItem "StimKit" 80
DropItem "ArmorBooster" 80
DropItem "AmmoPack" 65
DropItem "HandGrenadeAmmo" 150 1
DropItem "MineAmmo" 75 1
DropItem "DemonAmmo" 162 80
DamageFactor "RedZDemonTechProjectile", 0.0
MONSTER 
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
AttackSound "Null"
SeeSound "superzombie/sight"
PainSound "superzombie/pain"
DeathSound "superzombie/death"
ActiveSound "superzombie/active"
Obituary "%o was silenced by a Demon Tech Trooper."
Tag "\cgDemon Tech Trooper"
States
{
Spawn:
    HTWA A 10 A_Look
    Loop
See:
    HTWA AABB 2 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	ZMCH A 0 A_JumpIfTargetInLOS("Strafing")
    HTWA CCDD 2 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    Loop
Strafing:
		HTWA A 0 A_SpawnItem("FootStep",0,0,0,0)
		TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
		HTWA AABB 3 A_GiveInventory("DTZombieStrafing",1)
		HTWA C 0 A_SpawnItem("FootStep",0,0,0,0)
		TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
        HTWA CCDD 3 A_GiveInventory("DTZombieStrafing",1)
		Goto See
Pause:
    TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
	HTF1 A 20 A_PlaySound("weapons/demontechsteam")
	Goto See
Missile: 
    TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
    HTF1 A 2 A_FaceTarget
    TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile", 35, 0, random(-8, 8), 0)
	HTF1 B 2 Bright A_PlaySoundEx("weapons/demontechfire","Weapon")
	TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
	TNT1 A 0 A_Jump(20,"Pause")
    TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
	TNT1 A 0 A_SpidRefire
	Goto Missile+1
	Pain:
	    TNT1 A 0 A_Jump(87,"PainMissile")
		TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
		HTPA A 3 A_Pain
		Goto See
	PainMissile:
	    HTPA A 3
		HTPA A 3 A_Pain
		Goto Missile
Death:
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(298) == 1, "AlwaysDrop")
	TNT1 A 0 A_Jump(224,2)
	TNT1 A 0 A_SpawnItem("Demon Tech Rifle",0,12)
    HTZA H 5 A_Scream
    HTZA I 5 A_Fall
    HTZA J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    HTZA J 5
    HTZA L -1
    Stop
XDeath:
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(298) == 1, "XAlwaysDrop")
	TNT1 A 0 A_Jump(224,2)
	TNT1 A 0 A_SpawnItem("Demon Tech Rifle",0,12)
    HTD1 A 3 A_XScream
    HTD1 B 3 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
    HTD1 A 3 A_Fall
    HTD1 CDE 3
    HTD1 F -1
    Stop
AlwaysDrop:
	TNT1 A 0 A_SpawnItem("Demon Tech Rifle",0,12)
	Goto Death+3
XAlwaysDrop:
	TNT1 A 0 A_SpawnItem("Demon Tech Rifle",0,12)
	Goto XDeath+3	
Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    HTZA LJJIH 5
    Goto See
    }
}

ACTOR RedZDemonTechProjectile
{
   Height 4
   Radius 4
   Speed 40
   Damage 5
   Scale 0.06
   PROJECTILE
   +FORCERADIUSDMG
   DeathSound "weapons/demontechex"
   DamageType "RedZombieDemonTech"
   Decal RedDTRScorch
   States
   {
   Spawn:
	  TNT1 A 0
	  TNT1 A 0 A_Jump(128,"Spawn2")
   Normal:
   	  TNT1 A 0 A_Jump(128,"NormalFX")
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Loop
   NormalFX:
	  TNT1 A 0 A_SpawnItemEx("RDTechLightning",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
	  TNT1 A 0 A_SpawnItemEx("RDTechLightning2",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Goto Normal
   Spawn2:
	  TNT1 A 0 A_Jump(128,"Spawn2FX")
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail2",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Loop
   Spawn2FX:
	  TNT1 A 0 A_SpawnItemEx("RDTechLightning",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
	  TNT1 A 0 A_SpawnItemEx("RDTechLightning2",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Goto Spawn2  
   Death:
      TNT1 A 0
	  TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawnerDT", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 A 0 Bright A_SpawnItemEx("RedZDemonTechEx",0,0,0,0,0,0,0,128,0)
	  TNT1 AAA 0 A_CustomMissile("RedDTKaboom", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 AAAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 A 1 Bright A_Explode(6,48)
      Stop
	  }
}
ACTOR RDTechLightning : DTBFGLightningRed
{
Scale 0.03
}
ACTOR RDTechLightning2 : DTBFGLightningRed
{
Scale 0.06
}

ACTOR EnergyProjectileSparkRedDT : EnergyProjectileSparkGreen
{
States
{
Spawn:
SPKR A 2 Bright A_FadeOut(0.08)
Loop
}
}
ACTOR EPSR7 : EnergyProjectileSparkRedDT
{
Scale 0.040
}

ACTOR EPSR8 : EnergyProjectileSparkRedDT
{
Scale 0.035
}

ACTOR EPSR9 : EnergyProjectileSparkRedDT
{
Scale 0.030
}

ACTOR EPSR10 : EnergyProjectileSparkRedDT
{
Scale 0.025
}

ACTOR EPSR11 : EnergyProjectileSparkRedDT
{
Scale 0.020
}

ACTOR EPSR12 : EnergyProjectileSparkRedDT
{
Scale 0.015
}

ACTOR RedParticleSpawnerDT : RedParticleSpawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    TNT1 A 0 A_SpawnItemEx("EPSR7",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("EPSR8",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 0 A_SpawnItemEx("EPSR9",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("EPSR10",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 0 A_SpawnItemEx("EPSR11",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("EPSR12",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 1
    Stop
  }
}
ACTOR RedZDemonTechEx
{
RenderStyle Add
Alpha 0.75
Scale 0.45
PROJECTILE
+NOCLIP
States
{
Spawn:
RFRG ABCDEFGH 2 Bright A_FadeOut(0.1)
Stop
}
}

ACTOR RedZDemonTechTrail : BFG9500Trail
{
Scale 0.04
Alpha 0.65
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 2
    RDTI AAAAAABBBBBBBB 1 Bright A_FadeOut(0.05)
    Stop
Toaster:
	TNT1 A 0
	Stop
    }
}

ACTOR RedZDemonTechTrail2 : RedZDemonTechTrail
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 2
    RDTI AAAAAACCCCCCCC 1 Bright A_FadeOut(0.05)
    Stop
    }
}

Actor DTZombieStrafing : CustomInventory
{
  +INVENTORY.QUIET
  +INVENTORY.UNDROPPABLE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.AUTOACTIVATE       
  +COUNTITEM
  Inventory.Amount 1
  Inventory.MaxAmount 0
  States
  {
  Pickup:
    NULL A 1 
	NULL A 1 A_Jump(188,2)
	NULL A 1 A_GiveInventory("DTZombieJumping",1)
	NULL A 1 A_JumpIf(velx != 0 || vely != 0,2)
	NULL A 1 A_Jump(256,2)
	NULL A 1 A_Jump(235,5)
	NULL A 1 A_JumpIfInventory("DTStrafeSens",1,3)
	NULL A 1 A_GiveInventory("DTStrafeSens",1)
	NULL A 1 A_Jump(256,2)	
	NULL A 1 A_TakeInventory("DTStrafeSens",1)
	NULL A 1 A_JumpIfInventory("DTStrafeSens",1,3)
	NULL A 1 ThrustThing(angle*256/360+38.7,3,0,0)
	NULL A 1 A_Jump(256,2)	
	NULL A 1 ThrustThing(angle*256/360+38.7,-3,0,0)
    NULL A 1 A_FaceTarget
	NULL A 1 A_Jump(24,2)
	NULL A 1 A_JumpIfCloser(300,2)
	NULL A 1 A_Recoil(-1)
    Stop
	NULL A 1 A_Recoil(1)
    Stop	
  }
}

Actor DTZombieJumping : DTZombieStrafing
{
  States
  {
  Pickup:
    NULL A 1 
    NULL A 1 A_CheckFloor(1)
    Stop
	NULL A 1 A_Jump(242,2)
	NULL A 1 ThrustThingZ(0,25,0,1)
    Stop
	NULL A 1
    Stop
  }
}

ACTOR DTStrafeSens : Inventory{Inventory.MaxAmount 1}

ACTOR DTShotgunZombie 
{ 
Health 199
Radius 20
Height 56
Speed 8
Mass 100
PainChance 50
DropItem "PortableMedkit" 166
DropItem "ArmorPlate" 166
DropItem "AmmoPack" 108
DropItem "HandGrenadeAmmo" 200 1
DropItem "MineAmmo" 200 1
DropItem "NewShell" 256 
DropItem "Demon Tech Shotgun" 125 1
DropItem "BackPack" 155 1
DropItem "NewShellBox" 138 
DamageFactor "DTZPuff", 0.0
DamageFactor "RedZombieDemonTech", 0.25
MONSTER 
+FLOORCLIP
+MISSILEMORE
+MissileEvenMore
+QUICKTORETALIATE
SeeSound "superzombie/sight"
PainSound "superzombie/pain"
DeathSound "superzombie/death"
ActiveSound "superzombie/active"
AttackSound ""
Obituary "%o was pulverised by a Demon Tech Shotgunner."
Tag "\cgDemon Tech Shotgunner"
States
{
Spawn:
    ZPS1 A 10 A_Look
    Loop
See:
    ZPS1 AABB 3 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    ZPS1 CCDD 3 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    Loop
Missile:
    TNT1 A 0 A_JumpIfCloser(350,"BurstShot")
 Spread:
    ZPS1 E 15 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/ErasusFire")
	TNT1 A 0 Bright A_CustomMissile("RedZDemonTechProjectile2",28,0,0)
	TNT1 A 0 Bright A_CustomMissile("RedZDemonTechProjectile2",28,0,2)
	TNT1 A 0 Bright A_CustomMissile("RedZDemonTechProjectile2",28,0,-2)
	TNT1 A 0 Bright A_CustomMissile("RedZDemonTechProjectile2",28,0,3)
	TNT1 A 0 Bright A_CustomMissile("RedZDemonTechProjectile2",28,0,-3)
	TNT1 A 0 Bright A_CustomMissile("RedZDemonTechProjectile2",28,0,4)
	TNT1 A 0 Bright A_CustomMissile("RedZDemonTechProjectile2",28,0,-4)
	TNT1 A 0 Bright A_CustomMissile("RedZDemonTechProjectile2",28,0,5)
	TNT1 A 0 Bright A_CustomMissile("RedZDemonTechProjectile2",28,0,-5)
    ZPS1 F 5 Bright
    ZPS1 E 10 A_FaceTarget
	ZPS1 E 8 A_PlaySound("Weapons/ErasusPump")
    TNT1 A 0 A_SpawnItemEx("ShellCasing", -8, 0, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	ZPS1 E 8
    Goto See
	BurstShot:
    ZPS1 E 15 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/ErasusFire")
	TNT1 AAAAAAAA 0 Bright A_CustomMissile("RedDemonTechTracer",Random(28,34),0,Random(6,-6),0)
    ZPS1 F 5 Bright A_CustomBulletAttack(15.4,10.6,24,Random(1,4)*3,"ZDemonShotgunPuff")
    ZPS1 E 10 A_FaceTarget
	ZPS1 E 8 A_PlaySound("Weapons/ErasusPump")
    TNT1 A 0 A_SpawnItemEx("ShellCasing", -8, 0, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	ZPS1 E 8
    Goto See
Pain:
    ZPS1 G 6 A_Pain
    Goto See
Death:
    ZPS1 H 5 A_Scream
    ZPS1 I 5 A_Fall
    ZPS1 J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    ZPS1 KLM 5
    ZPS1 N -1
    Stop
XDeath:
    ZPS1 P 3 A_XScream
    ZPS1 Q 3 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
    ZPS1 R 3 A_Fall
    ZPS1 S 3
    ZPS1 T -1 
    Stop
Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    ZPS1 NMLKJIH 5
    Goto See
    }
}

Actor ZDemonShotgunPuff : DemonShotgunPuff
{
Damagetype "DTZPuff"
Obituary "%o was pulverised by a Demon Tech Shotgunner."
}

ACTOR RedZDemonTechProjectile2
{
   Height 4
   Radius 4
   Speed 40
   Damage 5
   Scale 0.06
   PROJECTILE
   +FORCERADIUSDMG
   DamageType "ZombieDemonTech"
   DeathSound "weapons/demontechex"
   DamageType "DTZPuff"
   Decal RedDTRScorch
   States
   {
   Spawn:
	  TNT1 A 0
	  TNT1 A 0 A_Jump(128,"Spawn2")
   Normal:
   	  TNT1 A 0 A_Jump(128,"NormalFX")
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Loop
   NormalFX:
	  TNT1 A 0 A_SpawnItemEx("RDTechLightning",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
	  TNT1 A 0 A_SpawnItemEx("RDTechLightning2",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Goto Normal
   Spawn2:
	  TNT1 A 0 A_Jump(128,"Spawn2FX")
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail2",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Loop
   Spawn2FX:
	  TNT1 A 0 A_SpawnItemEx("RDTechLightning",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
	  TNT1 A 0 A_SpawnItemEx("RDTechLightning2",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      RDTR A 1 Bright A_SpawnItemEx("RedZDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Goto Spawn2  
   Death:
      TNT1 A 0
	  TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawnerDT", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 A 0 Bright A_SpawnItemEx("RedZDemonTechEx",0,0,0,0,0,0,0,128,0)
	  TNT1 AAA 0 A_CustomMissile("RedDTKaboom", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 AAAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 A 1 Bright A_Explode(18,48)
      Stop
	  }
}
