ACTOR TechVulcanZombie
{
//Creator: Titanium
//Origin: TXS
//Sprite: TVUZ/TVUI
//Title: "Tech Vulcan Zombie"
MONSTER
Health 160
Radius 20
Height 56
PainChance 100
Speed 7
Mass 100
DropItem "StimKit" 180
DropItem "ArmorBooster" 180
DropItem "AmmoPack" 165
DropItem "HandGrenadeAmmo" 250 1
DropItem "MineAmmo" 180 1
DropItem "DemonAmmo" 250 60
DropItem "DemonAmmoBox" 105
DropItem "Armorplate" 215 1
DropItem "Portablemedkit" 230 1
DropItem "Backpack" 80 1
DropItem "Tech Vulcan" 72
DamageFactor "VulcanZombie", 0.0
SeeSound "superzombie/sight"
PainSound "superzombie/pain"
DeathSound "superzombie/death"
ActiveSound "superzombie/active"
AttackSound ""
Obituary "%o got plasmaficated by a Tech Vulcan Zombie."
Tag "\crTech Vulcan Zombie\c-"
+FLOORCLIP
+MISSILEMORE
+QUICKTORETALIATE
States
{
  Spawn:
    TVUZ A 10 A_Look
	TVUI A 10 A_Look
    Loop
  See:
    TVUZ AABB 3 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    TVUZ CCDD 3 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    Loop
  Missile:
    TNT1 A 0 A_Jump(150,"Missile2")
	TNT1 A 0 A_Jump(100,"Missile3")
	Goto See
  Missile2:
    TVUZ E 10 A_FaceTarget
	TNT1 A 0 A_PlaySound("vulcan/fire")
	TNT1 A 0 Radius_Quake(2,2,0,1,0)
	TNT1 A 0 A_SpawnItemEx("RedCasing", 12, 6, 28, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_CustomMissile("ZombieVulcanPlasmaPuff",Random(30,34),0,Random(15,-15),0)
    TVUZ E 3 Bright A_CPosAttack
	TNT1 A 0 A_PlaySound("vulcan/fire")
	TNT1 A 0 Radius_Quake(2,2,0,1,0)
	TNT1 A 0 A_SpawnItemEx("RedCasing", 12, 6, 28, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_CustomMissile("ZombieVulcanPlasmaPuff",Random(30,34),0,Random(15,-15),0)
	TVUZ E 3 Bright A_CPosAttack
	TNT1 A 0 A_PlaySound("vulcan/fire")
	TNT1 A 0 Radius_Quake(2,2,0,1,0)
	TNT1 A 0 A_SpawnItemEx("RedCasing", 12, 6, 28, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_CustomMissile("ZombieVulcanPlasmaPuff",Random(30,34),0,Random(15,-15),0)
    TVUZ F 3 Bright A_CPosAttack
	TNT1 A 0 A_StopSoundEx("Voice")
    TNT1 A 0 A_CPosRefire
    Goto Missile2+2
  Missile3:
    TVUZ E 10 A_FaceTarget
	TNT1 A 0 A_PlayWeaponSound("vulcan/altfire")
	TNT1 A 0 Radius_Quake(2,2,0,1,0)
	TNT1 AAA 0 A_SpawnItemEx("RedCasing",25,-8,25,Random(2,4),Random(-3,-6),Random(3,6),0)
	TVUZ F 0 A_CustomMissile("ZombieVulcanLazer", 32, 0, -8)
	TNT1 A 0 A_CustomMissile("ZombieVulcanLazer", 32, 0, 0)
	TNT1 A 0 A_CustomMissile("ZombieVulcanLazer", 32, 0, 8)
	TVUZ F 5 
	Goto See
  Pain:
    TVUZ G 6 A_Pain
    Goto See
  Death:
	TNT1 A 0 A_StopSoundEx("Voice")
    TVUZ H 5 A_Scream
    TVUZ I 5 A_Fall 
    TVUZ J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    TVUZ KLM 5
    TVUZ N -1
    Stop
  XDeath:
    TVUZ O 3 
    TVUZ P 3 A_XScream
    TVUZ Q 3 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
    TVUZ R 3 A_Fall 
    TVUZ STUV 3
	TVUZ W -1
    Stop
  Raise:
  	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    TVUZ VUTSRQPO 5
    Goto See
  }
}

Actor ZombieVulcanPlasmaPuff
{
  DamageType "VulcanZombie"
  Radius 6
  Height 6
  +THRUSPECIES
  scale 0.5 
  Renderstyle Add
  Alpha 0.75
  Decal Bulletchip
  Projectile
  States
  {
  Spawn:
	TNT1 A 1 Bright
	Loop
  Death:
    TNT1 A 0
  	TNT1 A 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("Kaboom10", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
    RFOG A 3 Bright A_Explode(26,48)
    RFOG BCDEF 3 Bright
    Stop
  }
}

Actor ZombieVulcanLazer : FastProjectile
{
  Radius 6
  Height 8
  Speed 75
  Damage 1
  Scale 0.45
  Species "VulcanZombie"
  RenderStyle Add
  DeathSound "monsters/newfireexplode"
  Decal DoomImpScorch
  MissileType "VulcanZombie"
  ReactionTime 35
  Projectile
  +RIPPER
  +BLOODLESSIMPACT
  +MTHRUSPECIES
  +THRUSPECIES
  States
  {
  Spawn:
    TNT1 A 1 A_CountDown
	TNT1 A 0 A_SpawnItemEX("VulcanLazerEffect", 0, 0, 0, 0, 0, 0, 0, 128)
    Loop
  Death:
	TNT1 A 0
  	TNT1 A 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 A 0 A_SpawnItemEX("VulcanLazerEffect", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAA 0 A_CustomMissile("Kaboom10", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
    TNT1 A 1
    Stop
  }
}