ACTOR EmperorMorpher : PowerupGiver 
{
Scale 2
radius 48
height 128
powerup.type Emperor
inventory.pickupmessage ""
powerup.duration 99999999999999
states
{
Spawn:
TNT1 A 6
loop
 }
 }

actor PowerEmperor : PowerMorph
{
powerup.duration 99999999999999
PowerMorph.PlayerClass "EmperorPlayer"
}

Actor EmperorActCount : Inventory
{
	inventory.maxamount 100
	+IGNORESKILL
}

ACTOR EmperorPlayer : PlayerPawn
{
   Health 1500
  Radius 35
  Height 85
  Mass 99999
  Speed 0.9
  Player.viewheight 90
  DamageFactor "Boss", 0
  Player.JumpZ 12
  Player.MaxHealth 18000
  Player.DisplayName "Emperor"
  Player.SoundClass "Emperor"
  Player.MorphWeapon "EmperorWeapon0"
  Player.StartItem "Mana", 100
  painchance 0
  limitedtoteam 1
    SEESOUND "Emperor/Sight"
    DEATHSOUND "Emperor/Death"
	+NOSKIN
	+NOBLOOD
	+DONTTRANSLATE
	-PICKUP
  states
{
	Spawn:
		LIBE A 5
        Loop 
	See:	
		LIBE AB 6
		LIBE B 0 A_PlaySound("Emperor/Stomp",6) 
	    LIBE B 0 A_SpawnItemEx("UniversalStomp")
	    LIBE CD 6  
		LIBE D 0 A_PlaySound("Emperor/Stomp",6) 
	    LIBE D 0 A_SpawnItemEx("UniversalStomp")
	    Goto Spawn 
	Missile:
		LIBE AB 6
		LIBE B 0 A_PlaySound("Emperor/Stomp") 
	    LIBE B 0 A_SpawnItemEx("UniversalStomp")
	    LIBE CD 6  
		LIBE D 0 A_PlaySound("Emperor/Stomp") 
	    LIBE D 0 A_SpawnItemEx("UniversalStomp")
	    Goto Spawn 
	Projectiles:
        LIBE EE 1 A_JumpIf(Health<=0,"Death")
        LIBE FF 1 Bright A_JumpIf(Health<=0,"Death")
		LIBE EEEEEEEEEE 1 A_JumpIf(Health<=0,"Death")
		Goto Spawn
	Rockets:
		LIBE GGGGG 1 A_JumpIf(Health<=0,"Death")
		LIBE HHHHHH 1 Bright A_JumpIf(Health<=0,"Death")
		LIBE GGGGG 1 A_JumpIf(Health<=0,"Death")
		LIBE HHHHHH 1 Bright A_JumpIf(Health<=0,"Death")
		LIBE GGGGGGGGGG 1 A_JumpIf(Health<=0,"Death")
		Goto Spawn
	Grenades:
		LIBE GGGGG 1 A_JumpIf(Health<=0,"Death")
		LIBE HHHHHH 1 Bright A_JumpIf(Health<=0,"Death")
		LIBE GGGGG 1 A_JumpIf(Health<=0,"Death")
		LIBE HHHHHH 1 Bright A_JumpIf(Health<=0,"Death")
		LIBE GGGGGGGGGG 1 A_JumpIf(Health<=0,"Death")
		Goto Spawn
	Freezer:
		LIBE GG 1 A_JumpIf(Health<=0,"Death")
		LIBE RR 1 Bright A_JumpIf(Health<=0,"Death")
		LIBE GGGGGGGGGG 1 A_JumpIf(Health<=0,"Death")
		Goto Spawn	
	Freezer2:
		LIBE RR 1 Bright A_JumpIf(Health<=0,"Death")
		LIBE GGGGGGGGGGGG 1 A_JumpIf(Health<=0,"Death")
		Goto Spawn
	Hook:
	    LIBE EEEEEEEEEE 1 A_JumpIf(Health<=0,"Death")
		LIBE EEEEEEEEEE 1 A_JumpIf(Health<=0,"Death")
		Goto Spawn
	Death:
        TNT1 A 0 A_SpawnItem("EmperorDeath")
		TNT1 A 0 A_PlaySound("Emperor/Electro")
	    TNT1 A 1 A_Stop
	    TNT1 A 0 A_Givetotarget("BOSSKILLEDSTAT", 1)
	    TNT1 A 0 a_givetotarget("reward", 1)
        TNT1 A -1 
	    Stop 
    }
}

Actor EmperorDeath
{
	+NOINTERACTION
	-NOGRAVITY
	States
	{
	spawn:
       LIBE J 7 
       LIBE K 7 A_PlaySound("Emperor/Death")
	   LIBE L 7
	   LIBE M 7 
	   LIBE M 7
	   LIBE N 7 
	   LIBE O 7 
       LIBE P 7 
	   LIBE Q -1
	   Stop
	}
}

ACTOR EmperorWeapon0 : Weapon 
{
 Weapon.SelectionOrder 800
 Obituary "%o was raped by %k"
 Inventory.PickupMessage ""
 Inventory.PickupSound "misc/pk_up"
 Weapon.AmmoUse 0
 Weapon.AmmoGive 0
 Weapon.AmmoType "Mana"
 +WEAPON.NOAUTOAIM
  States
 {
  Spawn:
       TNT1 A -1
       Loop
  Ready:
       TNT1 A 1 A_WeaponReady
       goto AltFire
  Fire:
  TNT1 A 1
  goto AltFire
  Deselect:
       TNT1 A 1 A_Lower
       Loop
  Select:
       TNT1 A 0 A_Raise
       Loop
  AltFire:
       TNT1 A 0 A_GiveInventory("EmperorWeapon")
       TNT1 A 0 A_SelectWeapon("EmperorWeapon")
       TNT1 A 0 
       goto deselect
  Flash:
       SNIF F 3 Bright A_Light2
       SNIF F 3 Bright A_Light1
       SNIF F 0 Bright A_Light0
       Goto LightDone     
       }
}

actor Emperorattackmode1 : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

actor Emperorattackmode2 : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

actor Emperorattackmode3 : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

actor Emperorattackmode4 : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

actor EmperorFreezerOn : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

ACTOR EmperorWeapon : Weapon 
{
 Weapon.SelectionOrder 800
 Obituary "%o was raped by %k"
 Inventory.PickupMessage ""
 Inventory.PickupSound "misc/pk_up"
 Weapon.AmmoUse 0
 Weapon.AmmoGive 0
 Weapon.AmmoType "Mana"
 +WEAPON.NOAUTOAIM
 +INVENTORY.UNDROPPABLE
  States
 {
  Spawn:
       TNT1 A -1
       Loop
  Ready:
       CLA2 A 0
       CLA2 A 0 A_StopSoundEx("SoundSlot7")
       CLA2 A 0 A_StopSound(CHAN_WEAPON)
	   CLA2 A 0 A_JumpIfInventory("EmperorActCount", 100, "MakeNoise")
	   CLA2 AAAAAAAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	   CLA2 A 0 A_GiveInventory("EmperorActCount", 3)
	   Loop
  MakeNoise:
	   CLA2 A 0 A_TakeInventory("EmperorActCount", 999)
       CLA2 A 0 A_StopSound(CHAN_WEAPON)
	   CLA2 A 0 A_PlaySound("Emperor/Active", 3)
	   CLA2 A 1 
	   Goto Ready
  Deselect:
       CLA2 A 0 A_StopSoundEx("SoundSlot7")
       CLA2 A 0 A_StopSound(CHAN_WEAPON)
       CLA2 A 1 A_Lower
       Loop
  Select:
       CLA2 A 0 A_StopSoundEx("SoundSlot7")
       CLA2 A 0 A_StopSound(CHAN_WEAPON)
       CLA2 A 0 A_Raise
       Loop
  Fire:
       TNT1 A 0 A_jumpIfinventory("Emperorattackmode1", 1, "EmperorProjectilesFire")
       TNT1 A 0 A_jumpIfinventory("Emperorattackmode2", 1, "EmperorRocketsFire")
       TNT1 A 0 A_jumpIfinventory("Emperorattackmode3", 1, "EmperorGrenadesFire")
       TNT1 A 0 A_jumpIfinventory("Emperorattackmode4", 1, "EmperorFreezerFlame")
	   Goto ready
  AltFire:
  	   CLA3 A 1 ACS_execute(812)
       CLA3 A 2
       CLA3 A 15
       goto ready
  ProjectilesFire:
       TNT1 A 0 A_Takeinventory("mana", 5)
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,Emperor_Projectiles)
       CLA2 A 0 A_StopSound(CHAN_WEAPON)
       CLA2 A 1 
       CLA2 A 1 A_PlaySound ("Ripper/Shoot",5)
       CLA2 B 2 bright A_FireCustomMissile("RipperProjectile",0,0,10,30)
       CLA2 A 1 
       goto ready
  RocketsFire:
       TNT1 A 0 A_Takeinventory("mana", 20)
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,Emperor_Rockets)
       CLA2 A 0 A_StopSound(CHAN_WEAPON)
	   CLA2 A 0 A_PlaySound("EmpRocket/Fire",5)
	   CLA2 B 5 Bright A_FireCustomMissile("EmperorRocket",0,0,-15,36)
       CLA2 A 6
	   CLA2 A 0 A_PlaySound("EmpRocket/Fire",5)
	   CLA2 B 5 Bright A_FireCustomMissile("EmperorRocket",0,0,15,36)
	   CLA2 A 10 
       goto ready
  GrenadesFire:
       TNT1 A 0 A_Takeinventory("mana", 30)
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,Emperor_Grenades)
       CLA2 A 0 A_StopSound(CHAN_WEAPON)
	   CLA2 A 0 A_PlaySound("PoisonGrenades/Fire",5)
	   CLA2 B 5 Bright A_FireCustomMissile("EmperorPoisonedgrenades",0,0,-15,36)
       CLA2 A 6
	   CLA2 A 0 A_PlaySound("PoisonGrenades/Fire",5)
	   CLA2 B 5 Bright A_FireCustomMissile("EmperorPoisonedgrenades",0,0,15,36)
	   CLA2 A 10 
       goto ready
  FreezerFlame:
       TNT1 A 0 A_Takeinventory("mana", 2)
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,Emperor_Freezer)
       CLA2 A 0 A_StopSound(CHAN_WEAPON)
       CLA2 A 1 A_PlaySound("Freezerthrower/Fire",6) 
	   CLA2 A 1 A_PlaySound("Freezerthrower/Hold",CHAN_WEAPON,1.0,True)
	   CLA2 B 1 bright A_FireCustomMissile("EmperorFreezerShot",0,0,18,36,Random(4.000,-4.000))
	   CLA2 B 1 bright A_FireCustomMissile("EmperorFreezerShot",0,0,-18,36,Random(4.000,-4.000))
	   CLA2 A 1 A_Refire
	   CLA2 A 1 A_ClearRefire
	   CLA2 A 1 A_StopSound(CHAN_WEAPON) 
	   CLA2 A 8 A_PlaySound("Freezerthrower/Stop",5)
       goto ready
  Hold:
       TNT1 A 0 A_jumpIfinventory("mana", 3, 2)
       TNT1 A 0   
	   goto StopHold
       TNT1 A 0 A_Takeinventory("mana", 3)
	   TNT1 A 0
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,Emperor_Freezer2)
       CLA2 B 1 bright A_FireCustomMissile("EmperorFreezerShot",0,0,18,16,Random(4.000,-4.000))
	   CLA2 B 1 bright A_FireCustomMissile("EmperorFreezerShot",0,0,-18,16,Random(4.000,-4.000))
       CLA2 A 1 A_Refire
  StopHold:
	   CLA2 A 1 A_ClearRefire
	   CLA2 A 1 A_StopSound(CHAN_WEAPON) 
	   CLA2 A 8 A_PlaySound("Freezerthrower/Stop",5)
       goto ready
  Reload:  
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,Emperor_Hook)
       CLA2 A 0 A_StopSound(CHAN_WEAPON)
       CLA2 A 1 
       CLA2 A 1 A_PlaySound ("Emperor/Hook",5)
       CLA2 B 4 bright A_FireCustomMissile("EmperorLoreShot",0,0,10,30)
       CLA2 B 4 bright
	   CLA2 A 5
       Goto Ready
  EmperorProjectilesFire:
       TNT1 A 0 A_jumpIfinventory("mana", 5, "ProjectilesFire")
       goto ready
  EmperorRocketsFire:
       TNT1 A 0 A_jumpIfinventory("mana", 20, "RocketsFire")  
       goto ready
  EmperorGrenadesFire:
       TNT1 A 0 A_jumpIfinventory("mana", 30, "GrenadesFire")  
       goto ready 
  EmperorFreezerFlame:
       TNT1 A 0 A_jumpIfinventory("mana", 2, "FreezerFlame")  
       goto ready
       }
}

ACTOR RIPExplosionSprite
{
	Renderstyle Add
	Alpha 0.5
    +NOINTERACTION
	States
	{
	Spawn:
        TNT1 A 1
		TNT1 A 0 A_Jump(255,"Spawn1","Spawn2","Spawn3","Spawn4","Spawn5")
		Goto Spawn1
	Spawn1:
		M1EX ABCDEFGH 3 Bright
		Stop
	Spawn2:
		M2EX ABCDEFGH 3 Bright
		Stop
	Spawn3:
		M3EX ABCDEFGH 3 Bright
		Stop
	Spawn4:
		M4EX ABCDEFGH 3 Bright
		Stop
	Spawn5:
		M5EX ABCDEFGH 3 Bright
        Stop
    }
}

ACTOR RipperProjectile : FastProjectile
{
	Speed 62
	Radius 5
	Height 5
	Scale 0.4
	Damage 3
	RenderStyle Add
	DamageType "Boss"
	Decal "RipperProjectileDecal"
	DeathSound "Ripper/ProjectileExplode"
	+NOGRAVITY
	+FORCERADIUSDMG
	States
	{
	Spawn:
		RIPO ABCDEFGHIJK 1 Bright A_SpawnItemEx("RipperProjectileTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		Loop
	Death:
        TNT1 A 0 	
		TNT1 A 0 A_SetScale(0.95,0.95)
		TNT1 A 1 A_Jump(256,"Puff1","Puff2","Puff3","Puff4","Puff5")
	Puff1:
	    TNT1 A 0 
		TNT1 A 0 A_SpawnItemEx("RIPExplosionSmall",0,0,0,Random(-6,6),0,Random(-2,6),Random(0,360),0,16)
	    TNT1 A 0 A_Explode(34,73)
		M1EX ABCDEFGH 3 Bright
        Stop
	Puff2:
	    TNT1 A 0 
		TNT1 A 0 A_SpawnItemEx("RIPExplosionSmall",0,0,0,Random(-6,6),0,Random(-2,6),Random(0,360),0,16)
	    TNT1 A 0 A_Explode(34,73)
		M2EX ABCDEFGH 3 Bright
        Stop
	Puff3:
	    TNT1 A 0 
		TNT1 A 0 A_SpawnItemEx("RIPExplosionSmall",0,0,0,Random(-6,6),0,Random(-2,6),Random(0,360),0,16)
	    TNT1 A 0 A_Explode(34,73)
		M3EX ABCDEFGH 3 Bright
        Stop
	Puff4:
	    TNT1 A 0 
		TNT1 A 0 A_SpawnItemEx("RIPExplosionSmall",0,0,0,Random(-6,6),0,Random(-2,6),Random(0,360),0,16)
	    TNT1 A 0 A_Explode(34,73)
		M4EX ABCDEFGH 3 Bright
        Stop
	Puff5:
	    TNT1 A 0 
		TNT1 A 0 A_SpawnItemEx("RIPExplosionSmall",0,0,0,Random(-6,6),0,Random(-2,6),Random(0,360),0,16)
	    TNT1 A 0 A_Explode(34,73)
		M5EX ABCDEFGH 3 Bright
        Stop
	}
}

ACTOR RIPExplosionSmall 
{
	+NOINTERACTION
	States 
	{
	Spawn:
        TNT1 A 0
		TNT1 AAAA 1 A_SpawnItemEx("RIPExploSmall1",0.75*0.5*random(-32,32),0.75*0.5*random(-32,32),0.75*0.5*random(-32,32),0,0,0,0,32)
		TNT1 AAAA 1 A_SpawnItemEx("RIPExploSmall2",0,0,0,0.75*0.05*random(-30,30),0.75*0.05*random(-30,30),0.75*0.05*random(-30,30),random(0,359),32)
		TNT1 AAAA 1 A_SpawnItemEx("RIPExploSmall3",0,0,0,0.75*0.05*random(-15,15),0.75*0.05*random(-15,15),0.75*0.05*random(-15,15),random(0,359),32)
		TNT1 AAAA 1 A_SpawnItemEx("RIPExploSmall4",0,0,0,0.75*0.05*random(-7,7),0.75*0.05*random(-7,7),0.75*0.05*random(-7,7),random(0,359),32)
		TNT1 A 10
		Stop
	}
}

ACTOR RIPExploSmall1 : RIPExplosionSprite 
{
    Scale 0.7
}
	
ACTOR RIPExploSmall2 : RIPExplosionSprite 
{
    Scale 0.5
}

ACTOR RIPExploSmall3 : RIPExplosionSprite 
{
    Scale 0.3
}

ACTOR RIPExploSmall4 : RIPExplosionSprite 
{
    Scale 0.1
}

ACTOR RipperProjectileTrail
{
	RenderStyle Add
	Scale 0.2
	+NOINTERACTION
	States
	{
	Spawn:
		RIPT DDEEFFGGHHII 1 Bright A_FadeOut(0.12)
		Stop
	}
}

ACTOR EmperorRocket
{
    Radius 12
    Height 10
    Speed 45
    Damage 20
    DamageType "Boss"
    Projectile
    Scale 0.875
    SeeSound "weapons/rocklf"
    DeathSound "weapons/rocklx"
	Decal "Scorch"
    +RANDOMIZE
	+EXTREMEDEATH
    +DEHEXPLOSION
	+FORCERADIUSDMG
    States
    {
    Spawn:
        EZRO AAAAABBBBB 1 Bright A_SpawnItemEx("EFGExplosiveSmoke",0,0,3,Random(-1,1),Random(-1,1),Random(-1,1))
        Loop
    Death:
	    EZRO C 0
	    EZRO C 0 A_SetScale(1.0,1.0)
		EZRO C 8 bright A_Explode
        EZRO D 6 bright
        EZRO E 4 bright
        Stop
    }
}

ACTOR EmperorPoisonedgrenades
{
    Radius 10
    Height 10
    Speed 25
    Damage 20
    Projectile
    DeathSound "PoisonGrenades/Explode"
    Scale 0.62
	PoisonDamage 64
    DamageType "Boss"
    SeeSound "PoisonGrenades/Bounce"
	Obituary "%o was bathed in blood by a grenade from %k's."
    Gravity 0.5
    ReactionTime 20
	+CANBOUNCEWATER
	-NOGRAVITY
    +HEXENBOUNCE
	+FORCERADIUSDMG
    States
    {
    Spawn:
        GZBO A 1 Bright A_SpawnItemEx("PoisonedgrenadesProjectileTrail1",0,0,0,0,0,0,0,128,0)
        GZBO B 1 Bright A_SpawnItemEx("PoisonedgrenadesProjectileTrail2",0,0,0,0,0,0,0,128,0)
	    GZBO C 1 Bright A_SpawnItemEx("PoisonedgrenadesProjectileTrail3",0,0,0,0,0,0,0,128,0)
        GZBO D 1 Bright A_SpawnItemEx("PoisonedgrenadesProjectileTrail4",0,0,0,0,0,0,0,128,0)
	    GZBO A 0 A_Countdown
        Loop
    Death:
	    TNT1 A 0 
		TNT1 A 0 A_PlaySound("PoisonGrenades/Spawn")
		TNT1 A 0 A_SpawnItemEx("ExplodePoisonedgrenades",0,0,0,0,0,0,0,0)
		TNT1 A 1 A_Explode(128,256,0)
		TNT1 AAAAA 1 A_SpawnItemEx("SpawnPoisonedgrenades",Random(-75,75),Random(-75,75),Random(0,100),0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAA 1 A_SpawnItemEx("SpawnPoisonedgrenades",Random(-75,75),Random(-75,75),Random(0,100),0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAA 1 A_SpawnItemEx("SpawnPoisonedgrenades",Random(-75,75),Random(-75,75),Random(0,100),0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAA 1 A_SpawnItemEx("SpawnPoisonedgrenades",Random(-75,75),Random(-75,75),Random(0,100),0,0,0,SXF_NOCHECKPOSITION)
		Stop
	}
}

ACTOR ExplodePoisonedgrenades
{
    Radius 1
    Height 1
    Speed 0
    +NOCLIP
	+NOINTERACTION
	+NOBLOCKMAP
    Projectile
	RenderStyle Add
    Scale 0.82
    States
    {
    Spawn:
	    GRE3 A 0
		GRE3 A 0 Radius_Quake(2,14,0,6,0)
		GRE3 ABCDEFGHIJKLMNOPQRS 1 Bright
        Stop
        }
}
		
ACTOR SpawnPoisonedgrenades
{
	Height 0
	Radius 0
	BounceFactor 0.3
	BounceCount 4
	Speed 46
	Alpha 0.85
	Scale 1.55
	ReactionTime 30
	Damage 0
	DamageType "Boss"
	PoisonDamage 32
	RenderStyle Translucent
	Projectile
	+RIPPER
	+NOBLOCKMAP
	+FORCERADIUSDMG
	States
	{
	Spawn:
	    TNT1 A 0
	    TNT1 A 0 A_Jump(256,"Poison1","Poison2","Poison3")
		TNT1 A 0
        Stop
    Poison1:
		GZO1 A 1 A_Stop
		GZO1 BCDEFGHIJKLMNOPQRS 1 A_Explode(16,172,0)
		Stop
	Poison2:
		GZO2 A 1 A_Stop
		GZO2 BCDEFGHIJKLMNOPQR 1 A_Explode(16,172,0)
		Stop
    Poison3:
		GZO3 A 1 A_Stop
		GZO3 BCDEFGHIJKLM 1 A_Explode(16,172,0)
		Stop
	Death:
		TNT1 A 0
		Stop
	}
}

ACTOR PoisonedgrenadesProjectileTrail1
{
    Radius 0
    Height 0
    Speed 0
    Damage 0
    Projectile
    Scale 0.62
    RenderStyle Translucent
    States
    {
    Spawn:
        GZBO A 2 Bright A_FadeOut(0.1)
        Loop
        }
}

ACTOR PoisonedgrenadesProjectileTrail2 : PoisonedgrenadesProjectileTrail1
{
    States
    {
    Spawn:
        GZBO B 2 Bright A_FadeOut(0.1)
        Loop
        }  
}
   
ACTOR PoisonedgrenadesProjectileTrail3 : PoisonedgrenadesProjectileTrail1
{
    States
    {
    Spawn:
        GZBO C 2 Bright A_FadeOut(0.1)
        Loop
        }
}

ACTOR PoisonedgrenadesProjectileTrail4 : PoisonedgrenadesProjectileTrail1
{
    States
    {
    Spawn:
        GZBO D 2 Bright A_FadeOut(0.1)
        Loop
        }
}

ACTOR EmperorFreezerShot 
{
    Projectile
    Height 16
    Radius 16
    Speed 32
    Damage (9)
	+RIPPER
    -BLOODSPLATTER
    +BLOODLESSIMPACT
    DeathSound ""
    DamageType Ice
    States
	{
	Spawn:
		TNT1 AAAAAAAAAAAAAAA 1 A_SpawnItemEx("EmperorFreezerTrail",0,0,0,Random(-5,5)+MOMX,Random(-5,5)+MOMY,Random(-5,5)+MOMZ,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		Stop
	Death:
		TNT1 A 1 
		Stop
	}
}

ACTOR EmperorFreezerTrail
{
    Height 2
    Radius 2
    Speed 3
    Scale 0.55
    RenderStyle Add
    Alpha 0.9
    -NOCLIP
    +RIPPER
    +NOGRAVITY
    +DONTSPLASH
    +NOTELEPORT
    +NOBLOCKMAP
    +CANNOTPUSH
    -BLOODSPLATTER
    -ACTIVATEPCROSS
    -ACTIVATEIMPACT
    +BLOODLESSIMPACT
    States
	{
	Spawn:
		TNT1 A 0
		TNT1 AA 0 A_Jump(256,"Spawn1","Spawn2","Spawn3")
		Goto Spawn1
	Spawn1:
		FZT1 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_Fadeout(0.1)
		Stop
	Spawn2:
		FZT2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_Fadeout(0.1)
		Stop
	Spawn3:
		FZT3 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_Fadeout(0.1)
		Stop
    }
}

ACTOR EmperorLoreShot : LoreShot 
{
    Damage 4
    Speed 60
    Decal CrossbowScorch2
	+RANDOMIZE
    +BLOODSPLATTER
    -STRIFEDAMAGE
    +DONTREFLECT
}