ACTOR HellfrostBFGZombie Replaces CryoCannonZombie
{
//Creator: Makarov and Fluffy
//Origin: Nexus Infinity
//Sprite: PCRY
//Title: "Cryo Cannon Zombie"
Health 1500
Speed 20
Damagefactor 0.6
Damagefactor "Ice", 0.0
DamageFactor "FreezerBurn", 0.0
Damagefactor "Fire", 1.0
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "PlayerDTRG", 0.5
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.2
DamageFactor "PlayerDTRG", 0.4
DamageFactor "DTRailgun", 0.4
DamageFactor "PDTPuff", 0.4
DamageFactor "RailG", 0.3
DamageFactor "VileFires", 0.0
DamageFactor "DarkDemoEx", 0.0
DropItem "PortableMedkit" 190
DropItem "ArmorSphere", 96
DropItem "BackPack" 55
DropItem "PlasmaEnergy" 256 60
DropItem "GreaterPlasmaEnergy" 200
DropItem "PlasmaEnergy" 256 20
DropItem "GreaterPlasmaEnergy" 250
DropItem "Freezer Rifle" 150 1
DropItem "FreezerBFG" 192 //DJB
DropItem "MarineDBFGBeacon" 15 1
Species "Zombie"
SeeSound "fzombie/sight"
PainSound "fzombie/pain"
DeathSound "fzombie/death"
ActiveSound "fzombie/active"
Tag "\c[o7]HellFrost BFG Zombie\c-"
Obituary "%o was sent to the ice age by the \c[o7]HellFrost BFG Zombie\c-."
States
{
  Spawn:
	PCRY A 10 A_Look
	Loop
  Idle:
	PCRY AA 3 A_Wander
	TNT1 A 0 A_look
	PCRY BB 3 A_Wander
	TNT1 A 0 A_look
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	PCRY CC 3 A_Wander
	TNT1 A 0 A_look
	PCRY DD 3 A_Wander
	TNT1 A 0 A_look
	TNT1 A 0 A_JumpIf(user_mine == 0,3)
	TNT1 A 0 A_JumpIf(user_minecount == 0,2)
	TNT1 A 0 A_Jump(10,"ThrowMineIdle")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
  ThrowMineIdle:
	TNT1 A 0 A_SetAngle(Angle+Random(0,360))
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",4)
	TNT1 A 0 A_SetUserVar(user_minecount,user_minecount-1)
	PCRY E 12 A_CustomMissile("CryoCannonZombieMine",32,0,0,2,15)
	TNT1 A 0 A_look
	Goto Idle
  See:
	TNT1 A 0 A_SetTranslucent(1,0)
	PCRY AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	PCRY CCDD 3 A_Chase
	TNT1 A 0 A_JumpIf(user_mine == 0,2)
	PCRY A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_Jump(10,"ThrowMine")
	TNT1 A 0 A_Jump(30,"Teleport")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
  Rush:
    PCRY A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HellFrostBFGZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	PCRY A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellFrostBFGZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	PCRY A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellFrostBFGZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	PCRY B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellFrostBFGZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	PCRY B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HellFrostBFGZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	PCRY C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellFrostBFGZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	PCRY C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellFrostBFGZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	PCRY D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellFrostBFGZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	PCRY D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Jump(84,"See")
	Loop
  Teleport:
	PCRY A 1 A_UnSetShootable
	TNT1 A 0 A_SetTranslucent(1,1)
	TNT1 A 0 A_SpawnItemEx("NemesisZombieTeleportEffect",0,0,35)
	PCRX ABCDE 1
	PCRX EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 0 A_Wander
	PCRX EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 0 A_Wander
	PCRX E 0 A_PlaySound("loper/tele")
	TNT1 A 0 A_SpawnItemEx("NemesisZombieTeleportEnd",0,0,35)
	PCRX EDCBA 1
	TNT1 A 0 A_SetTranslucent(1,0)
	PCRY A 1 A_SetShootable
	Goto See
  ThrowMine:
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",4)
	PCRY E 12 A_CustomMissile("CryoCannonZombieMine",32,0,0,2,15)
	Goto See
  Missile:
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	TNT1 A 0 A_JumpIf(user_mine == 1,3)
	TNT1 A 0 A_SetUserVar(user_minecount,Random(0,3))
	TNT1 A 0 A_SetUserVar(user_mine,1)
	PCRY EEEEEEE 4 A_FaceTarget
	//TNT1 A 0 A_Jump(136,2)
	TNT1 A 0 A_CheckSight("MLG")
	PCRY E 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/PCNNF",CHAN_WEAPON)
	PCRY F 4 Bright A_CustomMissile("ZombieCryoShot",40,20,0,CMF_TRACKOWNER)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam",6)
	TNT1 AAA 0 A_ChangeFlag(NOPAIN,0)
	PCRY E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	PCRY E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	PCRY E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	Goto See
  MLG:
    TNT1 A 0 A_SetTranslucent(1,1)
	TNT1 A 0 A_SpawnItemEx("NemesisZombieTeleportEffect",0,0,35)
    PCRZ ABCDE 2 A_FaceTarget
	TNT1 A 0 ThrustThingZ(0,400,0,1)
	PCRZ E 0 A_PlaySound("loper/tele")
    PCRZ E 4 A_FaceTarget
	PCRZ E 0 A_Stop
	PCRZ E 1 ThrustThingZ(0,15,0,1)
	TNT1 A 0 A_SpawnItemEx("NemesisZombieTeleportEnd",0,0,35)
	PCRZ EDCBA 2 A_FaceTarget
	TNT1 A 0 A_SetTranslucent(1,0)
	TNT1 A 0 A_CheckSight("MLG2")
	PCRY E 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/PCNNF",CHAN_WEAPON)
	PCRY F 4 Bright A_CustomMissile("ZombieCryoShot",40,20,0,CMF_TRACKOWNER)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam",6)
	TNT1 AAA 0 A_ChangeFlag(NOPAIN,0)
	PCRY E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	PCRY E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	PCRY E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	Goto See
  MLG2:
    TNT1 A 0 A_SetTranslucent(1,1)
	TNT1 A 0 A_SpawnItemEx("NemesisZombieTeleportEffect",0,0,35)
    PCRZ ABCDE 2 A_FaceTarget
	TNT1 A 0 ThrustThingZ(0,400,0,1)
	PCRZ E 0 A_PlaySound("loper/tele")
    PCRZ E 4 A_FaceTarget
	PCRZ E 0 A_Stop
	PCRZ E 1 ThrustThingZ(0,15,0,1)
	TNT1 A 0 A_SpawnItemEx("NemesisZombieTeleportEnd",0,0,35)
	PCRZ EDCBA 2 A_FaceTarget
	TNT1 A 0 A_SetTranslucent(1,0)
	TNT1 A 0 A_CheckSight("See")
	PCRY E 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/PCNNF",CHAN_WEAPON)
	PCRY F 4 Bright A_CustomMissile("ZombieCryoShot",40,20,0,CMF_TRACKOWNER)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam",6)
	TNT1 AAA 0 A_ChangeFlag(NOPAIN,0)
	PCRY E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	PCRY E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	PCRY E 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",40,20,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCannonSmoke",40,-20,0)
	Goto See
  Pain:
    TNT1 A 0 A_Jump(10,"PainMissile")
    PCRY G 6 A_Pain
    Goto See
  PainMissile:
    PCRY G 6 A_Pain
	Goto Missile
  Death:
    PCRY H 5
	TNT1 A 0 A_CustomMissile("SuicideBomb",24,0,0,CMF_AIMDIRECTION) 
    TNT1 AAA 0 A_CustomMissile("BlueKaboom3",24,0,random(0,360),2,random(0,360))
	TNT1 AAAA 0 A_SpawnItemEx("BlueParticleSpawner",0,0,24,0,0,0,0,0,128)
	TNT1 AAA 0 A_CustomMissile("SmokeFX2",24,0,random(0,360),2,random(0,360))
    TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,24,Random(4,-4),Random(4,-4),Random(4,8),0,128)
    TNT1 A 0 A_SpawnItem("BlueRocketEx",0,24)
	TNT1 A 0 A_PlaySound("weapons/rocklx",CHAN_BODY)
    PCRY I 5 A_Scream
    PCRY J 5 A_Fall
    PCRY KLM 5
    PCRY N 0 A_SpawnItem("BodyCrash",0,0,0,0)
    PCRY N -1
    Stop
  XDeath:
    PCRY O 3
	TNT1 A 0 A_SpawnItemEx("ZombieCryoExplosion",0,0,36)
	TNT1 A 0 ThrustThingZ(0,40,0,1)
	TNT1 A 0 ThrustThing(Random(0,360),random(15,20))
    PCRY P 3 A_XScream
    PCRY Q 3 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
    PCRY R 3 A_Fall
    PCRY STUV 3
    PCRY W -1
    Stop
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    PCRY MLKJIH 5
    Goto See
    }
}

ACTOR HellFrostBFGZombieGhostA
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
+NONETID
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	PCRZ A 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1
	Stop
	}
}

ACTOR HellFrostBFGZombieGhostB : HellFrostBFGZombieGhostA
{   
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	PCRZ B 2 A_FadeOut(0.1,1)
	Loop
  }
}

ACTOR HellFrostBFGZombieGhostC : HellFrostBFGZombieGhostA
{   
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	PCRZ C 2 A_FadeOut(0.1,1)
	Loop
  }
}

ACTOR HellFrostBFGZombieGhostD : HellFrostBFGZombieGhostA
{   
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	PCRZ D 2 A_FadeOut(0.1,1)
	Loop
  }
}