
Actor FreezeBlast
{
Projectile
Height 8
Radius 13
Speed 55
Scale 0.9
RenderStyle Add
Alpha 0.75
Damage 12
+RANDOMIZE
+THRUSPECIES
Species "Player"
DamageType "Ice"
SeeSound "weapons/iceshot"
DeathSound "weapons/icehit"
Obituary "%o got frozen solid by %k."
States
	{
	Spawn:
		FBLS A 6 Bright A_SpawnItemEx("FreezeBlastTrail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Loop
	Death:
		FBLS BCDE 4 Bright
		Stop
	}
}

Actor FreezeBlastTrail
{
Projectile
Radius 13
Height 8
Speed 20
Damage (0)
+RANDOMIZE
+NOINTERACTION
+CLIENTSIDEONLY
RenderStyle Add
Alpha 0.75
SeeSound "weapons/iceshot"
DeathSound "weapons/icehit"
Obituary "%o got frozen solid by %k."
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 1 Bright
	Fade:
		FRTR ABC 6 bright A_FadeOut(0.2,1)
		Loop
	Toaster:
		TNT1 A 1 Bright
		Stop		
	}
}

Actor RocketFire
{
Height 2
Radius 2
Speed 3
Scale 0.75
RenderStyle Add
Alpha 0.9
-NOCLIP
+RIPPER
+NOGRAVITY
+DONTSPLASH
+NOTELEPORT
+NOBLOCKMAP
+CANNOTPUSH
-BLOODSPLATTER
-ACTIVATEPCROSS
-ACTIVATEIMPACT
+BLOODLESSIMPACT
+FORCEXYBILLBOARD
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AA 0 Bright A_Jump(256,"Spawn1","Spawn2","Spawn3")
		Goto Spawn1
	Spawn1:
		64P1 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 Bright
		Stop
	Spawn2:
		64P2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 Bright
		Stop
	Spawn3:
		64P3 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 Bright
		Stop
	}
}

Actor FlameStreamTrail : RocketFire
{
Scale 0.36
Alpha 0.32
Damage (0)
+MISSILE
-ACTIVATEIMPACT
-ACTIVATEPCROSS
+THRUSPECIES
Species "Player"
DamageType "Ice"
States
	{
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

Actor FlameShot 
{
Projectile
Height 6
Radius 3
Speed 25
//Scale 0.5
//RenderStyle Add
//Alpha 0.66
Damage 4
+RANDOMIZE
+NOBOSSRIP
+NODAMAGETHRUST
-BLOODSPLATTER
+BLOODLESSIMPACT
+THRUSPECIES
Species "Player"
DamageType "Ice"
DeathSound ""
Obituary "%o was freezed by %k."
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AAAA 1 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,frandom(-1.0,1.0)+velx,frandom(-1.0,1.0)+vely,frandom(-1.0,1.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 1 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,frandom(-2.0,2.0)+velx,frandom(-2.0,2.0)+vely,frandom(-2.0,2.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 0 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,frandom(-3.0,3.0)+velx,frandom(-3.0,3.0)+vely,frandom(-3.0,3.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 1 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,frandom(-3.0,3.0)+velx,frandom(-3.0,3.0)+vely,frandom(-3.0,3.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 0 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,frandom(-3.0,3.0)+velx,frandom(-3.0,3.0)+vely,frandom(-3.0,3.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 1 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,frandom(-4.0,4.0)+velx,frandom(-4.0,4.0)+vely,frandom(-4.0,4.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 18 Bright
		Stop
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

Actor ZombieFlameShot : FlameShot
{
Species ""
-THRUSPECIES
States
	{
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

Actor FRZRFlameShot : FlameShot
{
+THRUSPECIES
Species "Fatsos"
States
	{
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

Actor PoltFlameShot : FlameShot
{
+THRUSPECIES
Species "Imps"
States
	{
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR FlameShot2 : FlameShot 
{
Speed 25
Decal ""
States
	{
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

Actor NewZombieFreezeBlast
{
PROJECTILE
Height 8
Radius 13
Speed 55
Scale 0.9
RenderStyle Translucent
Alpha 0.75
Damage 12
+RANDOMIZE
DamageType "Ice"
SeeSound "weapons/iceshot2"
DeathSound "weapons/icehit2"
States 
	{
	Spawn:
		TNT1 A 0 Bright A_CustomMissile("ICBTrail",Random(4,6),Random(-2,2))
		ISHR A 2 Bright A_CustomMissile("ProjectileTrailParticleBlue",Random(4,6),Random(-2,2))
		TNT1 A 0 Bright A_CustomMissile("ICBTrail",Random(4,6),Random(-2,2))	
		ISHR B 2 Bright A_CustomMissile("ProjectileTrailParticleBlue",Random(4,6),Random(-2,2))
		Loop
	Death:
		TNT1 A 0
		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 Bright A_CustomMissile("Kaboom6F",0,0,random(0,360),2,random(0,360))
		TNT1 A 1 Bright
		Stop
	}
}

Actor NewFreezeBlast
{
PROJECTILE
Height 8
Radius 13
Speed 55
Damage 12
RenderStyle add
Alpha 0.75
+RANDOMIZE
+THRUSPECIES
Species "Player"
DamageType "Ice"
SeeSound "weapons/iceshot2"
DeathSound "weapons/icehit2"
States 
	{
	Spawn:
		TNT1 A 0 Bright A_CustomMissile("ICBTrail",Random(4,6),Random(-2,2))
		ISHR A 2 Bright A_CustomMissile("ProjectileTrailParticleBlue",Random(4,6),Random(-2,2))
		TNT1 A 0 Bright A_CustomMissile("ICBTrail",Random(4,6),Random(-2,2))	
		ISHR B 2 Bright A_CustomMissile("ProjectileTrailParticleBlue",Random(4,6),Random(-2,2))
		Loop
	Death:
	    TNT1 A 0 Bright
		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,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom6F",0,0,random(0,360),2,random(0,360))
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR Kaboom6F : Kaboom6
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		FXPB AABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05,1)
		Stop
	}
}

ACTOR NewFreezeBlast2 : NewFreezeBlast 
{
Damage 1
DamageType "None"
States
	{
	Spawn:
		TNT1 A 1 Bright
		Loop
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR ICBTrail
{
PROJECTILE
Height 16
Radius 8
Scale 0.30
RenderStyle Add
Alpha 0.67
+RANDOMIZE
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		PLSS JKLMNOPQRSTUVWXYZ 2 Bright A_FadeOut(0.1,1)
		Goto Death
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 A_SpawnItemEx("IceSparkle",0,0,0,random(-2,2),random(-2,2),random(-1,1),0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_SpawnItemEx("IceSparkle",0,0,0,random(-2,2),random(-2,2),random(-1,1),0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_SpawnItemEx("IceSparkle",0,0,0,random(-2,2),random(-2,2),random(-1,1),0,SXF_CLIENTSIDE,0)
		PLSS JKLMNOPQRSTUVWXYZ 2 Bright A_FadeOut(0.05,1)
		Goto Death+4
	Toaster:
		TNT1 A 1 Bright
		Stop		
	}
}

Actor IceSparkle
{
Height 0
Radius 0
Renderstyle translucent
Alpha 0.5
+NOTARGET
+NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+NOLIFTDROP
+DONTSQUASH
+NOTELEOTHER
+NONSHOOTABLE
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		ICE2 ABC 4 A_FadeOut(0.1,1)
		Goto Spawn+1
	}
}

Actor FrozenWind
{
Scale 0.4
RenderStyle Add
+MISSILE
+NOGRAVITY
+DONTSPLASH
+NOBLOCKMAP
+NOTELEPORT
+THRUACTORS
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		PLSS JKLMNOPQRSTUVWXYZ 2 Bright A_FadeOut(0.1,1)
		Stop
	}
}

ACTOR IceDebris
{
Height 3
Radius 3
Scale 0.4
BounceCount 3
BounceFactor 0.4
WallBounceFactor 0.3
+MISSILE
+DROPOFF
+NOTELEPORT
+THRUACTORS
+DOOMBOUNCE
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		ICEC AB 2
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Jump(128,3,5)
		ICEC C 50
		ICEC C 5 A_FadeOut(0.1,1)
		Goto Death+3
		ICEC C 50
		ICEC C 5 A_FadeOut(0.1,1)
		Goto Death+5
		ICEC D 50
		ICEC D 5 A_FadeOut(0.1,1)
		Goto Death+7
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}