Actor Mutilator : Weapon replaces PlasmaRifle 25007
{
  obituary "%o got fucked up by %k's FC-GP6."
  radius 20
  height 16
  Tag "FC-GP6 Mutilator"
  inventory.pickupmessage "You got the FC-GP6 'Mutilator' Flak Cannon! Sometimes you need way more gun."
  Inventory.PickupSound "misc/w_pkup"
  Weapon.UpSound "NGPKUP"
  scale 0.9
  +NOEXTREMEDEATH
  +WEAPON.AMMO_OPTIONAL
  +WEAPON.ALT_AMMO_OPTIONAL
  +WEAPON.Alt_Uses_Both
  weapon.bobstyle inversesmooth
   weapon.bobrangeX 0.4
   weapon.bobrangeY 0.6
   weapon.bobspeed 2.5
  weapon.slotnumber 6
  weapon.kickback 10
  weapon.ammotype "FlakShells"
  Weapon.AmmoType2 "Flak_Magazine"
  weapon.ammouse 1
  weapon.ammouse2 0
  Weapon.AmmoGive2 1
  states
  {
  Ready:
    VOLG A 1 A_WeaponReady(WRF_ALLOWRELOAD)
    loop
    Deselect:
	  TNT1 A 0 SetPlayerProperty(0,1,2)
	  TNT1 A 0 A_SetCrosshair(1)
	  VOLS ABCDE 1
	  Goto DeselectLoop
   DeselectLoop:
      TNT1 A 1 A_Lower
      Loop
   Select:
	  TNT1 A 0 A_JumpIfInventory("MutilatorFirstTime",1,1)
	  goto Select2
	  TNT1 A 0 A_PlaySoundEx("Weapons/MutilatorFirst","WeaponPickedUp",0,0)
	  TNT1 A 0 SetPlayerProperty(0,0,2)
	  TNT1 A 0 A_SetCrosshair(9)
	  VOLS EDCBA 1
	  TNT1 A 0 A_TakeInventory("MutilatorFirstTime",1)
	  Goto SelectLoop
	Select2:
	  TNT1 A 0 SetPlayerProperty(0,0,2)
	  TNT1 A 0 A_SetCrosshair(9)
	  VOLS EDCBA 1
	  Goto SelectLoop
   SelectLoop:
      VOLG A 1 A_Raise
	loop
  Fire: //Pre-Detonated Flak NewShell
    D3SG A 0 A_JumpIfInventory("FlakShells",1,1)
    Goto DryFire
	TNT1 A 0 A_SetPitch(pitch - 1.25)
	TNT1 A 0 A_SpawnItem("Lightprojectile",0,0,0,0)
    TNT1 A 0 A_PlaySound("NailShotty/Fire",103,0.65,0,1)
	TNT1 A 0 A_PlaySound("NailShotty/FireAdd",104,0.85,0,1)
	TNT1 A 0 A_PlaySound("Flakcannon/Reload3",105,1.0,0,1)
	TNT1 A 0 A_PlaySound("Nailshotty/Rack",106,1.0,0,1)
	TNT1 A 0 A_FireBullets (0, 0, 3, 17, "BP_Gib",0,90)
	TNT1 AAAAAAAAA 0 A_FireCustomMissile("E&GNail", random(-15, 15), 0, 7, 5, 0,random(-6, 6))
	TNT1 AAAAAAAAA 0 A_FireCustomMissile("p_ashot_tracer", random(-10, 10), 0, 2.5, 5, 0,random(-6, 6))
	TNT1 A 0 A_FireCustomMissile("E&GNail", random(-15, 15), 1, 7, 5, 0,random(-6, 6))
	TNT1 A 0 A_FireCustomMissile("FlakCasing_Spawner",0,0,0,3,0)
	VOLF A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_ZoomFactor(0.98)
	VOLF B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_ZoomFactor(0.93)
	VOLF C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_ZoomFactor(0.94)
	VOLF D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_ZoomFactor(0.95)
	VOLF E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_ZoomFactor(0.96)
	VOLF F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_ZoomFactor(0.97)
	VOLG A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_ZoomFactor(0.98)
	VOLG A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_ZoomFactor(0.99)
	VOLG A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_ZoomFactor(1.00)
	VOLG A 8 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_StopSound(8)
	goto Ready
  AltFire: //Plasma Vent
    D3SG A 0 A_JumpIfInventory("FlakShells",1,1)
    Goto DryFire
	TNT1 A 0 A_SetPitch(pitch - 0.5)
    TNT1 A 0 A_SpawnItem("Lightprojectile2",0,0,0,0)
    TNT1 A 0 A_PlaySound("NailShotty/AltFire",103,0.65,0,1)
	TNT1 A 0 A_PlaySound("NailShotty/FireAdd",104,0.85,0,1)
	TNT1 A 0 A_PlaySound("Flakcannon/Reload3",105,1.0,0,1)
	TNT1 A 0 A_PlaySound("Nailshotty/AltRack",106,1.0,0,1)
	TNT1 A 0 A_FireCustomMissile("FlamethrowerMissile",random(-8, 8),1,14,0,0,random(-4, 4))
	TNT1 AAAAAAAAA 0 A_FireCustomMissile("FlamethrowerMissile",random(-8, 8),0,14,0,0,random(-4, 4))
	TNT1 A 0 A_SpawnItem("Lightprojectile2",0,0,0,0)
	VOLA ABC 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SpawnItem("Lightprojectile2",0,0,0,0)
	VOLA CDEFGAB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLG A 8 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto Ready
  DryFire:
	VOLF A 0 A_PlaySound("Flak/Empty",8,1.0,0,1)
	VOLR EE 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLR EDCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLG A 15 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_StopSound(8)
	TNT1 A 0 A_Refire
	Goto Ready
  Reload: //Plasma Vent
    QURL A 0 A_JumpIfInventory("FlakShells",8,"Ready")
	QURL A 0 A_JumpIfInventory("Flak_Magazine",1,1)
	Goto DryFire
  ReloadBegin:
    VOLR ABCDE 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLR FGHIJ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound("Flakcannon/Reload1",107,1.0,0,1)
	VOLR KLMNO 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLR O 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound("Flakcannon/Reload2",108,1.0,0,1)
	VOLR PQ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound("Flakcannon/Reload3",109,1.0,0,1)
	VOLR Q 20 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SpawnItemEx("FlakClipDrop",0,0,20)
  ReloadWork:
	QURL M 0 A_TakeInventory("Flak_Magazine",1)
	QURL M 0 A_GiveInventory("FlakShells",8)
	QURL M 0 A_JumpIfInventory("FlakShells",8,"ReloadFinish")
	QURL M 0 A_JumpIfInventory("Flak_Magazine",1,"ReloadWork")
  ReloadFinish:
    VOLR Q 15 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLR QP 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound("Flakcannon/Reload2",110,1.0,0,1)
	VOLR ONMLK 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLR KKKKK 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound("Flakcannon/Reload1",111,1.0,0,1)
	VOLR IJHGF 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLR FFFFF 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound("Flakcannon/Reload3",112,1.0,0,1)
	VOLF A 0 A_PlaySound("Nailshotty/Rack",113,1.0,0,1)
	VOLR EDCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	VOLG A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto Ready
  Spawn:
    VOLG X -1
    loop
  }
}

ACTOR MutilatorFirstTime : Inventory {Inventory.MaxAmount 1 Inventory.InterHubAmount 1}

ACTOR BP_Gib : BulletPuff
{
	Damagetype "PointBlank"
	States
	{
		Spawn:
		TNT1 A 0
		Stop
	}
}

ACTOR FlakShells : Ammo
{
  Inventory.PickupMessage "You shouldn't see this!"
  Inventory.Amount 0
  Inventory.MaxAmount 8
  Ammo.BackpackAmount 0
  Ammo.BackpackMaxAmount 8
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

actor Flak_Magazine : ammo {
  radius 16
  height 8
  scale 0.093
  inventory.pickupmessage "Magazine of 30mm Slug Ammo for the FC-GP6 Mutilator"
  inventory.pickupsound "Flakcannon/Reload1"
  inventory.amount 1
  inventory.maxamount 5
  ammo.backpackamount 1
  ammo.backpackmaxamount 10
  states
  {
  Spawn:
    CSLB A -1
    stop
  }
}

ACTOR FlakCasing_Spawner
{
    Radius 1
    Height 1
    Speed 18
    PROJECTILE
	+NOCLIP
	+CLIENTSIDEONLY
    States
    {
    Spawn:
        TNT1 A 1
        TNT1 A 0 A_Die
        Goto Death
    Death:
        TNT1 A 0 A_SpawnItemEx("flak_casing", 0, 10, -4, random(-3,0), random(-7,-5), random(0,1), 0)
        Stop
    }
}

actor flak_casing {
	scale 0.12
	radius 2
	height 2
	speed 6
	mass 4
	bouncefactor 0.5
	bouncecount 5
	PROJECTILE
	+DOOMBOUNCE
	+NODROPOFF
	+FORCEXYBILLBOARD
	+NOTIMEFREEZE
	+NOTELEPORT
	+FLOORCLIP
	-NOGRAVITY
	-NOBLOCKMAP
	+ClientSideOnly
	seesound "Weapons/HeavyCasing"
	states{
		spawn:
		    TNT1 A 0 ThrustThingZ(0, Random(6, 16), 0, 1)
			SGSC AABBCCDDEEFFGGHH 1
			loop
		death:
			TNT1 A 0 A_Jump(255, "pos1", "pos2", "pos3", "pos4")
			TNT1 A 0
		pos1:
			SGSC A 10
			SGSC AAAAAAAAAA 1 A_FadeOut(0.1)
			stop
		pos2:
			SGSC E 10
			SGSC EEEEEEEEEE 1 A_FadeOut(0.1)
			stop
		pos3:
			SGSC G 10
			SGSC GGGGGGGGGG 1 A_FadeOut(0.1)
			stop
		pos4:
			SGSC C 10
			SGSC CCCCCCCCCC 1 A_FadeOut(0.1)
			stop	
	}
}

actor E&GNail : fastprojectile {
	height 3
	radius 4
	PROJECTILE
    +BLOODSPLATTER
	+NOTIMEFREEZE
	-NOGRAVITY
	//+RIPPER
	Decal "BlazeChip"
	damagetype "Stunned"
	seesound "NailFlight"
	renderstyle add
	//gravity 0.2
	scale 0.06
	Damage (random(25,25))
	speed 80
	mass 10
	missiletype "rnail_trailspawner"
	missileheight 8
	states{
		spawn:
			TRAC AA 1 
			//TNT1 A 0 A_ChangeFlag("RIPPER",0)
		sploop:
			TNT1 A 0 A_ChangeFlag("NOEXTREMEDEATH",1)
			TRAC A 1 ThrustThingZ(0,1,1,1)
			loop
		death:
			TNT1 A 0 A_PlaySound("sfx/nailric")
			TNT1 A 0 A_SpawnItemEx ("rnail_impactspawner", 0, 0, 0, 0, 0, 0, 0, 0)
			stop
		crash:
			TNT1 A 0 A_PlaySound("sfx/nailric")
			TNT1 A 0 A_SpawnItemEx ("rnail_impactspawner", 0, 0, 0, 0, 0, 0, 0, 0)
			stop
		XDeath:
			//TNT1 AAA 0 A_SpawnItemEx ("rnail_impactsmoke", 0, 0, 0,  0, frandom(-0.35,0.35) , frandom(-0.35,0.35) , random(0,180))
			TNT1 A 1
			stop
	}
}

actor E_E&GNail : fastprojectile {
	height 3
	radius 4
	PROJECTILE
    +BLOODSPLATTER
	-NOGRAVITY
	//+RIPPER
	Decal "BlazeChip"
	damagetype "Stunned"
	seesound "NailFlight"
	renderstyle add
	//gravity 0.2
	scale 0.25
	Damage (random(1,3))
	speed 80
	mass 10
	missiletype "rnail_trailspawner"
	missileheight 8
	states{
		spawn:
			TRAC AA 1 
			//TNT1 A 0 A_ChangeFlag("RIPPER",0)
		sploop:
			TNT1 A 0 A_ChangeFlag("NOEXTREMEDEATH",1)
			TRAC A 1 ThrustThingZ(0,1,1,1)
			loop
		death:
			TNT1 A 0 A_PlaySound("sfx/nailric")
			TNT1 A 0 A_SpawnItemEx ("rnail_impactspawner", 0, 0, 0, 0, 0, 0, 0, 0)
			stop
		crash:
			TNT1 A 0 A_PlaySound("sfx/nailric")
			TNT1 A 0 A_SpawnItemEx ("rnail_impactspawner", 0, 0, 0, 0, 0, 0, 0, 0)
			stop
		XDeath:
			//TNT1 AAA 0 A_SpawnItemEx ("rnail_impactsmoke", 0, 0, 0,  0, frandom(-0.35,0.35) , frandom(-0.35,0.35) , random(0,180))
			TNT1 A 1
			stop
	}
}

actor rnail_trailspawner {
	+NOINTERACTION
	+ClientSideOnly
	+NOTIMEFREEZE
	states{
		spawn:
			TNT1 A 0
			TNT1 A 0 A_SpawnItemEx ("rnail_smoketrail", 0, 0, 0, 0, frandom(-0.8,0.8), frandom(-1.4,1.4), 0)
			TNT1 A 0 A_SpawnItemEx ("rnail_smoketrail2", 0, 0, 0, 0, frandom(-0.2,0.2), frandom(-0.2,0.2), 0)
			stop
	}
}

actor rnail_smoketrail {
	scale 0.05
	alpha 1.0
	renderstyle add
	+NOINTERACTION
	+FORCEXYBILLBOARD
	+NOTIMEFREEZE
	+NOTELEPORT
	+ClientSideOnly
	states{
		spawn:
			NLSK ABCDEFGHIJKLMNOPQ 1 bright A_FadeOut(0.1)
			stop
	}
}

actor rnail_smoketrail2 {
	height 1
	radius 1
	scale 0.25
	alpha 0.38
	renderstyle add
	+NOGRAVITY
	+FORCEXYBILLBOARD
	+NOTELEPORT
	+NOINTERACTION
	+NOTIMEFREEZE
	+ClientSideOnly
	states {
		spawn:
			STM0 ABCDEFJHIJKLMNO 1 bright A_FadeOut(0.1)
			stop
	}
}

actor rnail_impactspawner {
	+NOINTERACTION
	+ClientSideOnly
	+NOTIMEFREEZE
	states{
		spawn:
			TNT1 A 0
			TNT1 A 0 A_SpawnItemEx ("BulletImpact", 0, 0, 0, 0, 0, 0, 0, 0)
			TNT1 AAAAAA 0 A_SpawnItemEx ("rnail_spark", 0, 0, 0,  random(1,2), random(2,4), random(0,5), random(180,360))
			TNT1 AAAAA 0 A_SpawnItemEx ("rnail_impactsmoke", 0, 0, 0,  0, frandom(-0.35,0.35) , frandom(-0.35,0.35) , random(0,180))
			TNT1 AAAAAAAA 1 A_SpawnItemEx ("rnail_impactsmoke2", 0, 0, 0,  0, frandom(-0.15,0.15) , frandom(0.1,0.45) , random(0,180))
			stop
	}
}

actor rnail_spark {
	radius 2
	height 2
	alpha 1
	scale 0.035
	gravity 0.4
	renderstyle add
	+NOTELEPORT
	+FLOORCLIP
	+FORCEXYBILLBOARD
	+DONTSPLASH
	+ClientSideOnly
	+NOTIMEFREEZE
	bouncetype "doom"
	bouncefactor 0.2
	states{
		spawn:
			SPRK C 14 bright
		spawnloop:
			SPRK C 1 bright A_FadeOut(0.1)
			loop
	}
}

actor rnail_impactsmoke {
	scale 0.18
	alpha 0.45
	renderstyle add
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+NOTIMEFREEZE
	+ClientSideOnly
	states{
		spawn:
			TNT1 A 3
			TNT1 A 0 A_Jump(255,"smoek1","smoek2","smoek3","smoek4","smoek5","smoek6")
		smoek1:
			NLSK A 2 bright A_Fadeout(0.015)
			loop
		smoek2:
			NLSK B 2 bright A_Fadeout(0.015)
			loop
		smoek3:
			NLSK C 2 bright A_Fadeout(0.015)
			loop
		smoek4:
			NLSK D 2 bright A_Fadeout(0.015)
			loop
		smoek5:
			NLSK E 2 bright A_Fadeout(0.015)
			loop
		smoek6:
			NLSK F 2 bright A_Fadeout(0.015)
			loop
	}
}


actor rnail_impactsmoke2 {
	scale 0.08
	alpha 0.5
	renderstyle add
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+NOTIMEFREEZE
	+NOINTERACTION
	+ClientSideOnly
	states{
		spawn:
			TNT1 A 3
			TNT1 A 0 A_Jump(255,"smoek1","smoek2","smoek3","smoek4","smoek5","smoek6")
		smoek1:
			SMOK A 2 A_Fadeout(0.02)
			loop
		smoek2:
			SMOK B 2 A_Fadeout(0.02)
			loop
		smoek3:
			SMOK C 2 A_Fadeout(0.02)
			loop
		smoek4:
			SMOK D 2 A_Fadeout(0.02)
			loop
		smoek5:
			SMOK E 2 A_Fadeout(0.02)
			loop
		smoek6:
			SMOK F 2 A_Fadeout(0.02)
			loop
	}
}

ACTOR FlamethrowerMissile
{
	Game Doom
	Radius 2
	Height 2
	Speed 25
	Damage 1 
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+NOTIMEFREEZE
	+MISSILE
	+FORCEXYBILLBOARD
	Damage 1
	-RIPPER
	+NOBLOOD
	+NOBLOODDECALS
	+BLOODLESSIMPACT
	-BLOODSPLATTER
	RenderStyle Add
    DamageType "PlasmaFire"
    Scale 0.5
	Alpha 1.0
	Gravity 0
	States
	{
    Spawn:
	    TNT1 A 0 
        FIR3 A 1 BRIGHT A_SpawnItem("BlueFireFlareSmall", 0, 0)
		EXPL A 0 A_CustomMissile ("SmallFireTrail", 6, 0, 0, 2, random (0, 10))
		FIR3 B 1 BRIGHT A_SpawnItem("BlueFireFlareSmall", 0, 0)
		EXPL A 0 A_CustomMissile ("SmallFireTrail", 6, 0, 0, 2, random (0, 20))
		TNT1 A 0 A_Explode(3, 100, 0)
		EXPL A 0 A_CustomMissile ("SmallFireTrail", 6, 0, 0, 2, random (0, 30))
		FIR3 D 1 BRIGHT A_SpawnItem("BlueFireFlareSmall", 0, 0)
		EXPL A 0 A_CustomMissile ("SmallFireTrail", 6, 0, 0, 2, random (0, 40))
		FIR3 E 1 BRIGHT A_SpawnItem("BlueFireFlareSmall", 0, 0)
		EXPL A 0 A_CustomMissile ("SmallFireTrail", 6, 0, 0, 2, random (0, 50))
		FIR3 F 1 BRIGHT A_SpawnItem("BlueFireFlareSmall", 0, 0)
		TNT1 A 0 A_Explode(3, 100, 0)
		EXPL A 0 A_CustomMissile ("SmallFireTrail", 6, 0, 0, 2, random (-10, 60))
		FIR3 G 1 BRIGHT A_SpawnItem("BlueFireFlareSmall", 0, 0)
		EXPL A 0 A_CustomMissile ("SmallFireTrail", 6, 0, 0, 2, random (-50, 70))
		FIR3 H 1 BRIGHT A_SpawnItem("BlueFireFlareSmall", 0, 0)
		EXPL A 0 A_CustomMissile ("SmallFireTrail", 6, 0, 0, 2, random (-60, 80))
		FIR3 I 1 BRIGHT A_SpawnItem("BlueFireFlareSmall", 0, 0)
		TNT1 A 0 A_Explode(3, 100, 0)
		EXPL A 0 A_CustomMissile ("FlamethrowerFireParticles", 6, 0, 0, 2, random (10, 20))
		FIR3 JKL 1 BRIGHT A_SpawnItem("BlueFireFlare", 0, 0)
		TNT1 A 0 A_Explode(3, 150, 0)
		EXPL A 0 A_CustomMissile ("FlamethrowerFireParticles", 6, 0, random (0, 360), 2, random (10, 90))
		Stop
	Death:
	TNT1 A 0 A_Explode(35, 150, 0)
	TNT1 A 0 A_Explode(3, 50)
	EXPL AA 0 A_CustomMissile ("FlamethrowerFireParticles", 6, 0, random (0, 360), 2, random (10, 90))
	Stop
	}
}

ACTOR SmallFireTrail
{
Game Doom
Scale 0.7
Speed 2
Alpha 0.7
Radius 1
Height 1
+NOBLOCKMAP
+NOTELEPORT
+DONTSPLASH
+NOTIMEFREEZE
+MISSILE
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
+NOINTERACTION
DamageType "PlasmaFire"
Renderstyle Add
	States
	{
    Spawn:
        //FRFX KKKLLLMMMNNN 3 BRIGHT A_SpawnItem("RedFlareMedium",0,0)
        //FRFX OOOPP 3 BRIGHT
		TNT1 A 5
        TNT1 A 0 A_SpawnItem("BlueFireFlare")
        //FX98 ABCDEFGHIJKL 2 BRIGHT A_SpawnItem("RedFlareSmall",0,0)
        //FX98 MNOPQ 2 BRIGHT A_SpawnItem("RedFlareSmall",0,0)
        FIR3 CDEFGHIJKLMNOP 2 BRIGHT
		Stop
	}
}

ACTOR FlamethrowerFireParticles
{
	Game Doom
	Radius 1
	Height 1
	Speed 2
	Damage 0 
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
    +CLIENTSIDEONLY
	+NOTIMEFREEZE
    +NOINTERACTION
	+NOCLIP
	+FORCEXYBILLBOARD
	DamageType "PlasmaFire"
	Renderstyle Add
    Scale 1.5
	Alpha 1.0
	Gravity 0
	States
	{
    Spawn:
	    TNT1 A 0
        FIR3 ABCD 2 BRIGHT A_SpawnItem("BlueFireFlare", 0, 10)
		TNT1 A 0 A_CustomMissile ("BigBlackSmoke", 40, 0, random (0, 360), 2, random (40, 160))
		FIR3 EFGHIJKLMNOP 2 BRIGHT A_SpawnItem("BlueFireFlare", 0, 10)
	    Stop
	}
}

Actor BlueFireFlare
{
+NOINTERACTION
+NOGRAVITY
+CLIENTSIDEONLY
+NOTIMEFREEZE
renderstyle Add
radius 1
height 1
alpha 0.4
scale 0.4
states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,2)
		FLRB A 2 bright
		stop
		TNT1 A 0
		FLRB B 2 bright
		stop
	}
}

Actor BlueFireFlareSmall
{
+NOINTERACTION
+NOGRAVITY
+CLIENTSIDEONLY
+NOTIMEFREEZE
renderstyle Add
radius 1
height 1
alpha 0.3
scale 0.15
states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,2)
		FLRB A 2 bright
		stop
		TNT1 A 0
		FLRB B 2 bright
		stop
	}
}

ACTOR BigBlackSmoke
{
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
    +CLIENTSIDEONLY
    +NOINTERACTION
	+NOGRAVITY
	+DOOMBOUNCE
	+THRUACTORS
	+NOTIMEFREEZE
	Health 99999
	BounceFactor 0.5
	Radius 1
	Height 1
	Alpha 1.0
	RenderStyle Translucent
	Scale 0.7
	Speed 2
    States
    {
    Spawn:
	TNT1 A 0
	TNT1 A 0 A_FadeOut(0.9)
	SMK1 KKKKKKKK 2 A_FadeIn(0.02)
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Stap")
	SMK1 K 25
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Stap")
	SMK1 KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 2 A_FadeOut(0.01)
	Goto Death
	Death:
	    TNT1 A 0
    Stop
Stap:		
TNT1 A 0
Stop
    }
}

ACTOR FlakClipDrop
{
   Radius 4
   Height 6
   Speed 0
   Scale 0.25
   BounceSound "Clip/FLK"
   PROJECTILE
   -NOGRAVITY
   +BOUNCEONACTORS
   +BOUNCEONCEILINGS
   +NOTIMEFREEZE
   Gravity 0.75
   BounceType Doom
   BounceCount 3
   BounceFactor 0.6
   States
   {
   Spawn:
      CLP5 A 0
      CLP5 ABCDEFGH 2
      Loop
   Death:
      CLP1 A 0 A_SpawnItemEx("FlakClipLiedown")
      stop
   }
}

actor FlakClipLiedown
{
	-NOGRAVITY
	+FLOORCLIP
	+NOTIMEFREEZE
    Scale 0.25
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 0 A_Jump(255,"Spawn1","Spawn2")
	  stop
	Spawn1:
	  CLP5 J 1
	  Goto Ded
	Spawn2:
	  CLP5 I 1
	  Goto Ded
	Ded:
	  "####" "#" 210 A_CheckSight("Fadying")
	  Loop
	Fadying:
	  "####" "#" 1 A_FadeOut(0.1)
	  Wait
   }
}