Actor "Freezer Rifle" : Weapon 16652
{
//$Category Weapons/LCA
//$Sprite RIPGA0
//$Title "Freezer Rifle"
  SpawnID 30
  Weapon.PreferredSkin "Ionspray-Marine"
  Weapon.SelectionOrder 110
  Weapon.AmmoUse 1
  Weapon.AmmoUse2 1
  Weapon.AmmoGive 40
  Weapon.AmmoType "NewCell"
  Weapon.AmmoType2 "NewCell"
  Inventory.PickupMessage "Freezer Rifle"
  Inventory.PickupSound "freeze/pickup"
  Weapon.UpSound "freeze/up"
  Obituary "%o couldn't handle k's chilled weaponry."
  +INVENTORY.UNDROPPABLE
  Scale 0.8
  States
  {
  Spawn:
	RIPG A -1 
	Stop
  Ready:
    RIPE A 0 A_StopSound(CHAN_WEAPON)
    RIPR ABCD 4 A_WeaponReady
    Loop
  Deselect:
    TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	TNT1 A 0 A_TakeInventory("MineAction",1)
	TNT1 A 0 A_TakeInventory("RailgunAction",1)
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
    RIPR A 1 A_Lower
    Loop
  Select:
    RIPR A 1 A_Raise
	Loop
  Fire:
    TNT1 A 0 A_GunFlash
    TNT1 A 0 A_PlaySound("weapons/iceshot",5)
	TNT1 A 0 A_FireCustomMissile("NewFreezeBlast2",0.0,0)
	RIPE A 2 A_FireCustomMissile("NewFreezeBlast",0.0)
    RIPE B 2 
	RIPE C 2 
	TNT1 D 0 A_PlaySound("weapons/chill",5,1.0)
	RIPE EFGHI 6 A_Refire
    Goto Ready
  AltFire: 
    RIPE A 0 A_StopSound(CHAN_WEAPON)
    RIPE A 0 A_PlaySound ("freeze/altfire",6)
	RIPE A 1 BRIGHT A_FireCustomMissile("FlameShot",0,14,0,4,0)
    RIPE A 0 A_PlaySound("freeze/althold",CHAN_WEAPON,1.0,True)
	Goto AltHold
  AltHold:
	RIPE CDE 1 BRIGHT A_FireCustomMissile("FlameShot",0,14,0,4,0)
	TNT1 A 0 A_JumpIfNoAmmo("Empty")
	RIPE A 0 A_Refire
    RIPE A 0 A_StopSound(CHAN_WEAPON)
	RIPE A 0 A_PlaySound("freeze/altstop",CHAN_WEAPON)
	RIPE EFGHI 5 A_WeaponReady
	Goto Ready
  "Empty":
    RIPE A 0 A_StopSound(CHAN_WEAPON)
	RIPE EFGHI 5 A_WeaponReady
	Goto Ready
  Flash:
    RIPE A 3 Bright A_Light1
    Goto LightDone
    RIPE B 3 Bright A_Light1
    Goto LightDone
  Spawn:
    RIPG A -1
    Stop
  }
}

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 8
Radius 3
Speed 25
Scale 0.5
RenderStyle Add
Alpha 0.66
//Decal "FlameScorch"
Damage 4
+RANDOMIZE
+NOBOSSRIP
-BLOODSPLATTER
+BLOODLESSIMPACT
+MTHRUSPECIES
DeathSound ""//weapons/flamehit"
Obituary "%o was freezed by %k."//Obituary "$OB_MPFLAMETHROWER"
DamageType "Ice"
States
	{
	Spawn:
		TNT1 A 0 Bright// A_PlaySound("weapons/flamehit")
		TNT1 AAAA 1 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,Random(-1,1)+MOMX,Random(-1,1)+MOMY,Random(-1,1)+MOMZ,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 1 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,Random(-2,2)+MOMX,Random(-2,2)+MOMY,Random(-2,2)+MOMZ,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 0 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,Random(-3,3)+MOMX,Random(-3,3)+MOMY,Random(-3,3)+MOMZ,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 1 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,Random(-3,3)+MOMX,Random(-3,3)+MOMY,Random(-3,3)+MOMZ,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 0 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,Random(-3,3)+MOMX,Random(-3,3)+MOMY,Random(-3,3)+MOMZ,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 1 Bright A_SpawnItemEx("FlameStreamTrail",0,0,0,Random(-4,4)+MOMX,Random(-4,4)+MOMY,Random(-4,4)+MOMZ,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 ABC 6 Bright
		Stop
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

Actor ZombieFlameShot : FlameShot
{
Species ""
-THRUSPECIES
States
{
Death:
		TNT1 A 0
		stop
	}
}

Actor FRZRFlameShot : FlameShot
{
Species "Fatsos"
+THRUSPECIES
States
{
Death:
		TNT1 A 0
		stop
	}
}

Actor PoltFlameShot : FlameShot
{
Species "Imps"
+THRUSPECIES
States
{
Death:
		TNT1 A 0
		stop
	}
}

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

Actor NewZombieFreezeBlast
{
	PROJECTILE
    +RANDOMIZE
    Radius 13
    Height 8
    Speed 55
    Damage 12
	RenderStyle Translucent
	Scale 0.9
	Alpha 0.75
	 SeeSound "weapons/iceshot2"
    DeathSound "weapons/icehit2"
    DamageType "Ice"
	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))
		Stop
	}
}

Actor NewFreezeBlast
{
	PROJECTILE
    +RANDOMIZE
	+THRUSPECIES
	Species "Player"
    Radius 13
    Height 8
    Speed 55
    Damage 12
	RenderStyle add
	Alpha 0.75
	 SeeSound "weapons/iceshot2"
    DeathSound "weapons/icehit2"
    DamageType "Ice"
	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))
		Stop
	}
}

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

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

ACTOR ICBTrail
{
  Radius 8
  Height 16
  Scale 0.30
  RenderStyle Add
  Alpha 0.67
  PROJECTILE
  +CLIENTSIDEONLY
  +Randomize
  states
  {
  Spawn:
  	TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    PLSS JKLMNOPQRSTUVWXYZ 2 Bright A_FadeOut
    goto death
  Death:
    TNT1 A 0 A_SpawnItemEx("IceSparkle", 0, 0, 0, random(-2, 2), random(-2, 2), random(-1, 1),0,128)
    TNT1 A 0 A_SpawnItemEx("IceSparkle", 0, 0, 0, random(-2, 2), random(-2, 2), random(-1, 1),0,128)
    TNT1 A 0 A_SpawnItemEx("IceSparkle", 0, 0, 0, random(-2, 2), random(-2, 2), random(-1, 1),0,128)
    PLSS JKLMNOPQRSTUVWXYZ 2 Bright A_FadeOut(0,05)
    goto death+3
  Toaster:
    TNT1 A 0
	Stop		
  }
}

Actor IceSparkle
{
  renderstyle translucent
  alpha 0.5
  radius 0
  height 0
  +NOGRAVITY
  +NOBLOCKMAP
  +NOLIFTDROP
  +NOTARGET
  +DONTSQUASH
  +NOTELEOTHER
  +NONSHOOTABLE
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    ICE2 A 0
    ICE2 A 0 
    ICE2 ABC 4 A_FadeOut(0.10)
    Goto Spawn+1
  }
}
Actor FrozenWind
{
+MISSILE
+DONTSPLASH
+CLIENTSIDEONLY
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
+FORCEXYBILLBOARD
+THRUACTORS
RenderStyle Add
Scale 0.4
States
{
Spawn:
PLSS JKLMNOPQRSTUVWXYZ 2 Bright A_FadeOut
	}
}

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