ACTOR HellfrostCardihilator : Cardihilator
{ 
  Health 7000
  Speed 14
  PainChance 15
  PainChance "PDTBFG", 10
  PainChance "SoulToxic", 3
  PainChance "FatFlamer", 3
  PainChance "FiendFire", 3
  PainChance "Explosion", 35
  Damagefactor "Acid", 0.01
  Damagefactor "Fire", 0.1
  Damagefactor "Electric", 0.01
  Damagefactor "Disintegrate", 0.001
  DamageFactor "BFG9500Ball", 0.5
  DamageFactor "BFGSplash", 0.5
  Damagefactor "Poison", 0.0
  Damagefactor "PoisonCloud", 0.0
  Damagefactor "Explosion", 0.3
  Damagefactor "Mine", 0.3
  DamageFactor "Extreme", 0.0
  DamageFactor "Player", 0.01
  DamageFactor "PDTPuff", 0.0
  DamageFactor "PyroShot", 0.001
  DamageFactor "PlayerPyro", 0.01
  DamageFactor "PDTBFG", 0.03
  DamageFactor "PDTBFGTracer", 0.03
  DamageFactor "Players", 0.02
  DamageFactor "PlayerDevBall", 0.02
  DamageFactor "PlayerDevBall2", 0.02
  DamageFactor "PlayerDevTracer", 0.02
  DamageFactor "PlayerBHole", 0.025
  DamageFactor "DBFG2", 0.0
  DamageFactor "DBFG10K2", 0.0
  DamageFactor "DBFGSplash2", 0.0
  DamageFactor "PlayerDBFG2", 0.65
  DamageFactor "PlayerDBFG10K2", 0.65
  DamageFactor "PlayerDBFGSplash2", 0.65
  DamageFactor "Legendary", 0.015
  DamageFactor "LegendaryPlayer", 0.015
  DamageFactor "PlayerHellfire", 0.1
  DamageFactor "SuperWeapon", 0.0
  DamageFactor "LegendaryGuruPlayer", 0.015
  DamageFactor "Ice", 0.0
  DamageFactor 0.45
  DropItem "BossLifeEssence" 256 25
  DropItem "BossArmorBonusMax" 256 1
  DropItem "DemonAmmoBox" 128 200
  DropItem "DemonicChalice" 128
  DropItem "SkullOfPower" 128
  DropItem "FreezerBFG" 256
  DropItem "Freezer Rifle" 256
  DropItem "LegendaryUltrasphere" 64
  DropItem "LifeLegendaryRune" 64
  DropItem "D-BFG" 256
  Dropitem "DCellPack" 256 32
  Dropitem "DCellPack" 128 24
  Dropitem "DCell" 256 10
  Dropitem "DCell" 256 10
  Dropitem "DCell" 256 10
  SeeSound "FreezedCyberDemon/See"
  PainSound "BlueCardinal/Pain"
  ActiveSound "BlueCardinal/Active"
  DeathSound "BlueCardinal/Death"
  BloodColor "DarkBlue"
  +NOTIMEFREEZE
  +NOICEDEATH
  +BRIGHT
  Obituary "%o had the ice age brought to %h by the Hellfrost Cardihilator." 
  Tag "\c[o7]Hellfrost Cardihilator\c-"
  var int user_script;
  var int user_music;
  var int user_taunt;
  States 
  { 
  Spawn:
	TNT1 A 0 A_JumpIf(user_script == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("FrozenCardihilatorFire",0)
	TNT1 A 0 A_SetUserVar("user_script",1)
	TNT1 A 0 A_SpawnItemEx("FreezedCyberFlameSpawner")
	FCAR ABAB 2 A_Look
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_script == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("FrozenCardihilatorFire",0)
	TNT1 A 0 A_SetUserVar("user_script",1)
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,803)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_JumpIf(user_taunt == 0,"Seeloop")
	TNT1 A 0 A_PlaySound("FreezedCyberDemon/Active",2,1.0,0,ATTN_NONE)
	TNT1 A 0 A_SetUserVar("user_taunt",0)
  SeeLoop:
	FCAR AB 2 A_Chase
	TNT1 A 0 A_Jump(16,"Rush")
	Loop	
  Rush:
	TNT1 A 0 A_SpawnItemEx("FrozenCardGhostA")
	TNT1 A 0 A_Chase
	FCAR A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FrozenCardGhostA")
	TNT1 A 0 A_Chase
	FCAR A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FrozenCardGhostB")
	TNT1 A 0 A_Chase
	FCAR B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FrozenCardGhostB")
	TNT1 A 0 A_Chase
	FCAR B 1 A_Chase
	TNT1 A 0 A_Jump(16,"SeeLoop")
	Loop
  Missile:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(128,"Seekers","Railgun","BFG10K","DTBFG10K","FreezeRifle","DBFG","FreezeBFG")
  Normal:
	FCAR C 6 A_FaceTarget 	
	TNT1 A 0 A_CustomMissile("FreezedCyberRocket",45,-26,Random(-6,6))
	FCAR D 6 A_CustomMissile("FreezedCyberRocket",45,26,Random(-6,6))
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberRocket",45,-26,Random(-6,6))
	FCAR D 6 A_CustomMissile("FreezedCyberRocket",45,26,Random(-6,6))
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberRocket",45,-26,Random(-6,6))
	FCAR D 6 A_CustomMissile("FreezedCyberRocket",45,26,Random(-6,6))
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberRocket",45,-26,Random(-6,6))
	FCAR D 6 A_CustomMissile("FreezedCyberRocket",45,26,Random(-6,6))
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberRocket",45,-26,Random(-6,6))
	FCAR D 6 A_CustomMissile("FreezedCyberRocket",45,26,Random(-6,6))
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberRocket",45,-26,Random(-6,6))
	FCAR D 6 A_CustomMissile("FreezedCyberRocket",45,26,Random(-6,6))
	FCAR CC 6
	TNT1 A 0 A_Jump(128,"Seekers","Railgun","BFG10K","DTBFG10K")
	Goto See
  Seekers:
	FCAR C 6 A_FaceTarget 	
	TNT1 A 0 A_CustomMissile("FreezedCyberHomer",45,-26)
	FCAR D 6 A_CustomMissile("FreezedCyberHomer",45,26)
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberHomer",45,-26)
	FCAR D 6 A_CustomMissile("FreezedCyberHomer",45,26)
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberHomer",45,-26)
	FCAR D 6 A_CustomMissile("FreezedCyberHomer",45,26)
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberHomer",45,-26)
	FCAR D 6 A_CustomMissile("FreezedCyberHomer",45,26)
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberHomer",45,-26)
	FCAR D 6 A_CustomMissile("FreezedCyberHomer",45,26)
	FCAR C 6 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FreezedCyberHomer",45,-26)
	FCAR D 6 A_CustomMissile("FreezedCyberHomer",45,26)
	FCAR CC 6
	TNT1 A 0 A_Jump(128,"Railgun","BFG10K","DTBFG10K")
	Goto See
  Railgun:
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
	FCAR CCCCC 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("BlueAnniRail",45,-26,0)
	FCAR D 5 A_CustomMissile("BlueAnniRail",45,26,0)
	FCAR CC 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("BlueAnniRail",45,-26,0)
	FCAR D 5 A_CustomMissile("BlueAnniRail",45,26,0)
	FCAR CC 5
	TNT1 A 0 A_Jump(128,"BFG10K","DTBFG10K")
	Goto See	
  BFG10K:
	TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2")
	FCAR CCCCC 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	TNT1 A 0 A_CustomMissile("T3DBFG10kShot",45,-26,Random(4,-4))
	FCAR D 3 A_CustomMissile("T3DBFG10kShot",45,26,Random(4,-4))
	FCAR C 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	TNT1 A 0 A_CustomMissile("T3DBFG10kShot",45,-26,Random(4,-4))
	FCAR D 3 A_CustomMissile("T3DBFG10kShot",45,26,Random(4,-4))
	FCAR C 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	TNT1 A 0 A_CustomMissile("T3DBFG10kShot",45,-26,Random(4,-4))
	FCAR D 3 A_CustomMissile("T3DBFG10kShot",45,26,Random(4,-4))
	FCAR C 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	TNT1 A 0 A_CustomMissile("T3DBFG10kShot",45,-26,Random(4,-4))
	FCAR D 3 A_CustomMissile("T3DBFG10kShot",45,26,Random(4,-4))
	FCAR C 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	TNT1 A 0 A_CustomMissile("T3DBFG10kShot",45,-26,Random(4,-4))
	FCAR D 3 A_CustomMissile("T3DBFG10kShot",45,26,Random(4,-4))
	FCAR C 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	TNT1 A 0 A_CustomMissile("T3DBFG10kShot",45,-26,Random(4,-4))
	FCAR D 3 A_CustomMissile("T3DBFG10kShot",45,26,Random(4,-4))
	TNT1 A 0 A_PlaySound("weapons/bfg15kcooldown",CHAN_AUTO)
	FCAR CCCCC 4
	TNT1 A 0 A_Jump(128,"DTBFG10K")
	Goto See	
  DTBFG10K:
  	TNT1 A 0 A_PlaySound("Cardinal/9k")
	FCAR CCCCCC 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("T3DBFG10KBall",45,-26,0)
	FCAR D 8 A_CustomMissile("T3DBFG10KBall",45,26,0)
  	TNT1 A 0 A_PlaySound("Cardinal/9k")
	FCAR CCCCCC 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("T3DBFG10KBall",45,-26,0)
	FCAR D 8 A_CustomMissile("T3DBFG10KBall",45,26,0)
	FCAR CC 4
	Goto See
  FreezeRifle:
	FCAR CC 5 A_FaceTarget 	
	TNT1 A 0 A_CustomMissile("FrozenCardinalFreezeBlast",45,-26,Random(-6,6))
	FCAR D 3 A_CustomMissile("FrozenCardinalFreezeBlast",45,26,Random(-6,6))
	FCAR C 3 A_FaceTarget
	TNT1 A 0 A_Jump(4,"See")
	TNT1 A 0 A_MonsterRefire(200,"See")
	Goto FreezeRifle+2
  DBFG:
    TNT1 A 0 A_PlaySound("Weapons/dbfgcharge")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	FCAR CCCCCCCCCCCCCCCCCCCCCCC 5 A_FaceTarget
    TNT1 AA 0 A_PlaySound("Weapons/dbfgfire", CHAN_AUTO)
	TNT1 A 0 A_CustomMissile("T3DBFGBall",45,-26,0,CMF_AIMOFFSET)
	FCAR D 8 A_CustomMissile("T3DBFGBall",45,26,0,CMF_AIMOFFSET)
    TNT1 A 0 A_PlaySound("Weapons/dbfgcooldown")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	FCAR CCCCC 4
	Goto See
  FreezeBFG:
    TNT1 A 0 A_PlaySound("devastator/charge")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	FCAR CCCCCCCCCCCCCCCCCCC 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("devastator/fire",1)
	TNT1 A 0 A_CustomMissile("MonsterFreezerBall",45,-26,0,CMF_AIMOFFSET)
	FCAR D 8 A_CustomMissile("MonsterFreezerBall",45,26,0,CMF_AIMOFFSET)
	TNT1 A 0 A_SetUserVar("user_taunt",1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	FCAR CCCCC 4
	Goto See
	
  Pain:
	FCAR E 6 A_Pain
	TNT1 A 0 A_Jump(128,"Missile","Summon")
	Goto See
  Summon:
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_SpawnItemEx("FreezedCyberInvilFlameSpawner")
	TNT1 A 0 A_Jump(100,"CryoDemons","FreezerBehemoths")
	FCAR E 1 A_CustomMissile("CryoImpSummoner",58,-26,-45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 3 A_FaceTarget
	FCAR E 1 A_CustomMissile("CryoImpSummoner",58,-26,-22,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 3 A_FaceTarget
	FCAR E 1 A_CustomMissile("CryoImpSummoner",58,-26,22,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 3 A_FaceTarget
	FCAR E 1 A_CustomMissile("CryoImpSummoner",58,-26,45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 25 A_SpawnItemEx("FreezedCyberInvilFlameSpawner")
	TNT1 A 0 A_UnSetInvulnerable
	Goto See
  CryoDemons:
	FCAR E 1 A_CustomMissile("CryoDemonSummoner",58,-26,-45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 3 A_FaceTarget
	FCAR E 1 A_CustomMissile("CryoDemonSummoner",58,-26,-22,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 3 A_FaceTarget
	FCAR E 1 A_CustomMissile("CryoDemonSummoner",58,-26,22,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 3 A_FaceTarget
	FCAR E 1 A_CustomMissile("CryoDemonSummoner",58,-26,45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 25 A_SpawnItemEx("FreezedCyberInvilFlameSpawner")
	TNT1 A 0 A_UnSetInvulnerable
	Goto See
  FreezerBehemoths:
	FCAR E 1 A_CustomMissile("FreezerBehemothSummoner",58,-26,-45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 3 A_FaceTarget
	FCAR E 1 A_CustomMissile("FreezerBehemothSummoner",58,-26,45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	FCAR E 25 A_SpawnItemEx("FreezedCyberInvilFlameSpawner")
	TNT1 A 0 A_UnSetInvulnerable
	Goto See
  Death: 
	FCAR E 10 A_Scream
	FCAR F 10 A_NoBlocking
	TNT1 AA 0 A_SpawnItemEx("BlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigBlueBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	FCAR GGGGG 2 A_CustomMissile("BlueKaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("BlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigBlueBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	FCAR HHHHH 2 A_CustomMissile("BlueKaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("BlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigBlueBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))	
	FCAR IIIII 2 A_CustomMissile("BlueKaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("BlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)	
	TNT1 AAA 0 A_CustomMissile("BigBlueBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	FCAR JJJJJ 1 A_CustomMissile("BlueKaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("BlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigBlueBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	FCAR KKKKK 1 A_CustomMissile("BlueKaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_SpawnItemEx("BlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAAAAA 0 A_CustomMissile("BigBlueBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	TNT1 AAAAAAAA 0 A_CustomMissile("SmokeFX3", Random(20,80), 0, random(0,360), 2, random(0,360))	
	FCAR L 2
	FCAR M 3
	TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("CyberIceSpike",random(-256,256),random(-256,256),0,0,0,0,0,SXF_ABSOLUTEPOSITION|SXF_NOCHECKPOSITION,0)
	TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("CyberIceSpike",random(-256,256),random(-256,256),0,0,0,0,0,SXF_ABSOLUTEPOSITION|SXF_NOCHECKPOSITION,0)
	TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("CyberIceSpike",random(-256,256),random(-256,256),0,0,0,0,0,SXF_ABSOLUTEPOSITION|SXF_NOCHECKPOSITION,0)
	TNT1 A -1 A_KillMaster
	Stop
	} 
}

ACTOR MonsterFreezerBall : FreezerBallBase
{
Obituary "%o had the ice age brought to %h by the Hellfrost Cardihilator." 
States
	{
	Spawn:
		TNT1 A 0 Bright 
		TNT1 A 0 Bright A_PlaySound("devastator/fly",CHAN_VOICE,1.0,1)
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGBolt",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		ICBL A 1 Bright A_SpawnItemEx("ProjectileTrailParticleBlue",random(-12,12),random(-12,12),random(-12,12),random(-2,2),random(-2,2),random(-2,2),random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("FreezeBFGLightning",random(-6,6),random(-6,6),random(-6,6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		ICBL A 1 Bright A_CustomMissile("MonsterFreezeBFGProjectileAttack",random(-8,8),random(-10,10),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("FreezeBFGTrail",0,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGFlame",0,0,random(-16,16),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-8,8))
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGBolt",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeLiteShot",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		ICBL B 1 Bright A_SpawnItemEx("ProjectileTrailParticleBlue",random(-12,12),random(-12,12),random(-12,12),random(-2,2),random(-2,2),random(-2,2),random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("FreezeBFGLightning2",random(-6,6),random(-6,6),random(-6,6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		ICBL B 1 Bright A_CustomMissile("MonsterFreezeBFGProjectileAttack",random(-8,8),random(-10,10),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGFlame",0,0,random(-16,16),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-8,8))
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGBolt",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeLiteShot",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		ICBL C 1 Bright A_SpawnItemEx("ProjectileTrailParticleBlue",random(-12,12),random(-12,12),random(-12,12),random(-2,2),random(-2,2),random(-2,2),random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("FreezeBFGLightning",random(-6,6),random(-6,6),random(-6,6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		ICBL C 1 Bright A_CustomMissile("MonsterFreezeBFGProjectileAttack",random(-8,8),random(-10,10),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("FreezeBFGTrail",0,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGFlame",0,0,random(-16,16),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-8,8))
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGBolt",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		ICBL D 1 Bright A_SpawnItemEx("ProjectileTrailParticleBlue",Random(-12,12),Random(-12,12),Random(-12,12),random(-2,2),random(-2,2),random(-2,2),random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("FreezeBFGLightning2",random(-6,6),random(-6,6),random(-6,6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		ICBL D 1 Bright A_CustomMissile("MonsterFreezeBFGProjectileAttack",random(-8,8),random(-10,10),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGFlame",0,0,random(-16,16),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-8,8))
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 AAA 0 Bright A_SpawnItemEx("MonsterFreezeBFGSpike",random(-50,50),random(-100,100),-9999,0,0,0,0,SXF_NOCHECKPOSITION,96)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 AAAAAAAAAAAAAAAAAAAA 0 Bright A_SpawnItemEx("CyberIceSpike",random(-256,256),random(-256,256),0,0,0,0,0,SXF_ABSOLUTEPOSITION|SXF_NOCHECKPOSITION,0)
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 Bright A_SpawnItemEx("CyberIceSpike",random(-256,256),random(-256,256),0,0,0,0,0,SXF_ABSOLUTEPOSITION|SXF_NOCHECKPOSITION,0)
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 Bright A_SpawnItemEx("CyberIceSpike",random(-256,256),random(-256,256),0,0,0,0,0,SXF_ABSOLUTEPOSITION|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SetTranslucent(0.75,1)
		TNT1 A 0 Bright Radius_Quake(3,35,0,10,0)
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,10,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,20,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,30,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,40,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,50,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,60,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,70,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,80,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,100,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,110,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,120,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,130,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,140,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,150,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,160,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,170,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,190,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,200,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,210,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,220,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,230,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,240,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,250,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,260,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,280,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,290,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,300,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,310,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,320,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,330,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,340,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("MonsterFreezeBFGTracer",0,0,350,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_SpawnItemEx("FreezeBFGLightningSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)	
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL A 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL B 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL C 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL D 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL A 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL B 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL C 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL D 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL A 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL B 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL C 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		ICBL D 6 Bright A_SpawnItemEx("FreezeBFGShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright A_Explode(128,1024,0,0)
		TNT1 A 0 Bright A_Explode(230,640,0,0)
		TNT1 AAA 0 Bright A_StopSound(CHAN_VOICE)
		TNT1 A 0 Bright Radius_Quake(20,12,0,12,0)
		TNT1 A 0 Bright A_PlaySound("icefurry",CHAN_WEAPON,1.0,0)
		TNT1 A 0 Bright A_SpawnItemEx("FreezeBFGShockWave2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("MonsterFreezeBFGFlame",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		TNT1 AAAA 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAAAAAAAAAA 0 Bright A_SpawnItemEx("BlueKaboom3",0,0,0,random(-20,20),random(-20,20),random(-20,20),0,SXF_CLIENTSIDE,0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 Bright A_SpawnItemEx("MonsterFreezeBFGFlame2",random(-3,3),random(-3,3),random(-3,3),random(-6,6),random(-6,6),random(-3,3),0,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 35 Bright
		Stop
	}
}

Actor MonsterFreezeBFGBolt : FreezeBFGBoltBase
{
+NOTIMEFREEZE
}

Actor MonsterFreezeLiteShot : FreezeLiteShotBase
{
+NOTIMEFREEZE
}

Actor MonsterFreezeBFGProjectileAttack : FreezeBFGProjectileAttackBase
{
+NOTIMEFREEZE
Obituary "%o had the ice age brought to %h by the Hellfrost Cardihilator." 
States
	{
	Attack:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_FaceTarget
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 1 Bright A_CustomRailgun(random(4,8),0,None,"Sky Blue",RGF_SILENT|RGF_FULLBRIGHT|RGF_NOPIERCING,0,2,"IcePuff")
		Goto Death
	}
}

Actor MonsterFreezeBFGFlame : PlayerFreezeBFGFlame
{
Species "Cybers"
States
	{
	Death:
		TNT1 A 0 Bright
		TNT1 AA 0 Bright A_CustomMissile("MonsterFreezeBFGFlame2",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		TNT1 A 1 Bright
		Stop
	}
}

Actor MonsterFreezeBFGFlame2 : MonsterFreezeBFGFlame
{
Damage 4
States
	{
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

Actor MonsterFreezeBFGSpike : PlayerFreezeBFGSpike
{
Species "Cybers"
}

Actor MonsterFreezeBFGTracer : PlayerFreezeBFGTracer
{
Species "Cybers"
}

ACTOR FrozenCardinalFreezeBlast : NewZombieFreezeBlast
{
  Damagetype "Cybers"
  Radius 4
  Speed 40
  Damage 8 //>max 96 on a zombie
  RenderStyle Add //why are the zombie's projectiles translucent, and the player's additive?
  Scale 2.0 //why are the zombie's projectiles scale 0.9, and the player's 1.0?
  States
  {
  Spawn:
	TNT1 A 0 A_SpawnItemEx("ICBTrail",frandom(-2,2),frandom(-2,2),frandom(-2,2))
	ISHR A 1 Bright A_SpawnItemEx("ProjectileTrailParticleBlue",0,0,0,frandom(-2,2),frandom(-2,2),frandom(-2,2))
	TNT1 A 0 A_SpawnItemEx("ICBTrail",frandom(-2,2),frandom(-2,2),frandom(-2,2))
	ISHR B 1 Bright A_SpawnItemEx("ProjectileTrailParticleBlue",0,0,0,frandom(-2,2),frandom(-2,2),frandom(-2,2))
	Loop
  Death:
	TNT1 A 0 A_SetTranslucent(1.0,1)
	TNT1 AAA 0 A_CustomMissile("Kaboom6F", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_SpawnItemEx("IceDebris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
	TNT1 AAA 0 A_CustomMissile("Kaboom6F", 0, 0, random(0,360), 2, random(0,360))
	SHEX ABCDE 4 Bright
	Stop
	}
}

ACTOR FrozenCardinalFireSpawner : RedParticleSpawner
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
   TNT1 A 0
	TNT1 A 0 A_PlaySound("monster/ambientfire3")
	TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	TNT1 A 0 A_SpawnItemEx("FrozenCardinalFireEx",random(8,-8),random(4,-4),random(70,80),0,0,random(-4,-6),0,128,0)	
   TNT1 AAAA 0 A_SpawnItemEx("FrozenCardinalFire",random(18,-18),random(14,-14),random(70,80),0,0,random(-6,-8),0,128,0)
   TNT1 A 1
   Stop
  }
}

ACTOR FrozenCardinalFireEx : Kaboom6
{
+NOTIMEFREEZE
Speed 0
Scale 0.85
}

ACTOR FrozenCardinalFire : CardinalFire
{
+NOTIMEFREEZE
States
{
Spawn:
BMKE ABCDEFGHIJKL 2 Bright A_FadeOut
Stop
}
}

ACTOR FrozenCardGhostA : BlueCyberGhostA
{
States
	{
	Spawn:
	TNT1 A 1 Bright
	FCAR A 2 A_FadeOut(0.18,1)
	Wait
	}
}

ACTOR FrozenCardGhostB : FrozenCardGhostA
{
States
	{
	Spawn:
	TNT1 A 1 Bright
	FCAR B 2 A_FadeOut(0.18,1)
	Wait
	}
}