Actor FrozenBaka : GenericBoss
{
	Health 3411
	BloodColor "Blue"
	Speed 20
	+MISSILEMORE
	+MISSILEEVENMORE
	+Boss
	+NOICEDEATH
	MeleeRange 60
	DamageFactor 0.9
	DamageFactor "Ice", 0
	DamageFactor "Legendary", 0.5
	DamageFactor "SuccubusThunder", 0
	DamageFactor "ShadowFire", 0
	DropItem "BossLifeEssence" 255 25
	DropItem "BossArmorBonusMax" 255 1
	DropItem "NewCell" 128 
	DropItem "Freezer Rifle" 80
	DropItem "DemonicChalice" 128
	DropItem "SkullOfPower" 128
	Tag "Frozen Baka Cirno"
	Obituary "%o was placed into a -999 degree deep freeze by Cirno."
	HITObituary "%o learned that getting too close to Cirno didnt equal anything close to 9."
	Deathsound "Realdead"
	var int user_music;
	States
	{
	Spawn:
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Disable2hu") == 1, "Remove")
	Idle:
	    CIRN AAAABBBBCCCCDDDDEEEEFFFF 2 A_Look
		Loop
	Remove:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx("Cacodemon~",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
		TNT1 A 0
		Stop
	See:
	    TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIf(user_music == 1,3)
		TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,117)
		TNT1 A 0 A_SetUserVar("user_music",1)
		CIRN ABC 3 A_Chase
		CIRN DEF 3 A_Chase
        Loop
	Melee:
	    TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		CIRN J 4 
		CIRN K 4 A_SkelWhoosh
		CIRN L 4 A_FaceTarget
		CIRN M 4 A_CustomMeleeAttack(6+Random(13,25),"Skeleton/Melee")
		CIRN N 1
		CIRN N 1 A_Pain
		Goto See
	Missile:
	    TNT1 A 0 A_JumpIfCloser(150,"FrzFireSpread")
	    TNT1 A 0 A_Jump(128,"IceCometSingle","Frzbombshot")
		TNT1 A 0 A_Jump(70,"FrzFireSpread")
		TNT1 A 0 A_Jump(60,"FrzFireTightSpread","SpreadComet")
	FrzFire:
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		CIRN G 4 
		CIRN H 4 A_FaceTarget
		CIRN I 4 A_CustomMissile("CirnoFireBurst",32,-5,0)
		TNT1 A 0 A_Jump(128,"FrzFire")
		Goto See
	FrzFireSpread:
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		CIRN G 4 
		CIRN H 4 A_FaceTarget
		TNT1 A 0 A_CustomMissile("CirnoFireBurst",32,-5,10)
		TNT1 A 0 A_CustomMissile("CirnoFireBurst",32,-5,0)
		CIRN I 4 A_CustomMissile("CirnoFireBurst",32,-5,-10)
		Goto See
	FrzFireTightSpread:
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		CIRN G 4 
		CIRN H 4 A_FaceTarget
		TNT1 A 0 A_CustomMissile("CirnoFireBurst",32,-5,9)
		TNT1 A 0 A_CustomMissile("CirnoFireBurst",32,-5,5)
		TNT1 A 0 A_CustomMissile("CirnoFireBurst",32,-5,0)
		TNT1 A 0 A_CustomMissile("CirnoFireBurst",32,-5,-5)
		CIRN I 4 A_CustomMissile("CirnoFireBurst",32,-5,-9)
		Goto See	
	Frzbombshot:   
		TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		CIRN J 4
		CIRN K 4
		CIRN L 4 A_FaceTarget
		CIRN M 4 A_CustomMissile("CirnoFrzShot",32,-5,0)
		TNT1 A 0 A_Jump(80,"Frzbombshot")
		Goto See
	IceCometSingle:
        TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
		CIRN O 4
		CIRN P 4
		CIRN Q 4 A_FaceTarget
		CIRN R 4 A_CustomMissile("CirnoComet",32,-5,0)
		TNT1 A 0 A_Jump(128,"IceCometSingle")
		TNT1 A 0 A_Jump(50,"SpreadComet")
		Goto See
	SpreadComet:
	    TNT1 A 0 A_SpawnItem("FRZRAGFlameSpawner",0,0,0,0)
	    CIRN N 8
		CIRN JJJJJJ 6 A_FaceTarget
		CIRN P 3
		CIRN Q 3
		TNT1 A 0 A_CustomMissile("CirnoComet",45,0,-10,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_CustomMissile("CirnoComet",45,0,-20,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_CustomMissile("CirnoComet",45,0,-30,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_CustomMissile("CirnoComet",45,0,0,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_CustomMissile("CirnoComet",45,0,10,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_CustomMissile("CirnoComet",45,0,20,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		CIRN R 8 A_CustomMissile("CirnoComet",45,0,30,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		Goto See
	Pain:
		CIRN U 4 A_Pain
		Goto See
	XDeath:
	Death:
		CIRN V 30 A_Scream
		TNT1 A 0 A_ChangeFlag("LOWGRAVITY",1)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY",0)
		TNT1 A 0 A_ChangeFlag("FLOAT",0)
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",CHAN_AUTO,1.0,0)
		CIRN UU 1 Bright A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))  
		CIRN UU 1 Bright A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",CHAN_AUTO,1.0,0)
		CIRN UU 1 Bright A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))  
		CIRN UU 1 Bright A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",CHAN_AUTO,1.0,0)
		CIRN UU 1 Bright A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))  
		CIRN UU 1 Bright A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",CHAN_AUTO,1.0,0)
		CIRN UU 1 Bright A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))  
		CIRN UU 1 Bright A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",CHAN_AUTO,1.0,0)
		CIRN UU 1 Bright A_CustomMissile("BlueKaboomage",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))  
		CIRN UU 1 Bright A_CustomMissile("BlueKaboomage",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AA 0 A_CustomMissile("BlueKaboomage",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AA 0 A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))  
		TNT1 AA 0 A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AA 0 A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		CIRN UU 1 Bright A_CustomMissile("Kaboom6",Random(10,50),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		CIRN U 1 A_ICEGUYDIE
		Wait
	}
}	

Actor CirnoFrzShot : FRZRPoltBomb
{
    +NOTIMEFREEZE
    Scale 1.1
	Speed 30
}	

Actor CirnoComet : HomingComet
{
	-SEEKERMissile
	+NOTIMEFREEZE
	Damage 18
	ExplosionDamage 20
    ExplosionRadius 90
	DamageType "Ice"
	Speed 30
}

Actor CirnoFireBurst : LegAvaFireBall
{
    +NOTIMEFREEZE
	Translation "Ice"
	DamageType "Ice"
	States
	{
	Spawn:
      BRB2 AB 1 BRIGHT A_SpawnItemEx("FrzPyroTail", 0, 0, 0, 0, 0, 0, 0, 128)
      Loop
	Death:
      BRBA KLMNOPQRSTUVWX 3 BRIGHT A_Die
      Stop
	}
}

Actor FrzPyroTail : AvaPyroTail
{
    +NOTIMEFREEZE
	Translation Ice
}	

	