ACTOR TossPower : Inventory { Inventory.MaxAmount 999 }
ACTOR TossPower2 : Inventory { Inventory.MaxAmount 999 }
ACTOR DynamiteTossCounter : Inventory { Inventory.MaxAmount 1 }

#include "Decorate/Guns/Projectile/Dynamite.txt"
#include "Decorate/Guns/Projectile/DynamiteExp.txt"

//Quick-throw item
ACTOR DynamiteQuickToss : CustomInventory
{
  Inventory.Amount 1
  Inventory.MaxAmount 1
  Inventory.InterHubAmount 1
  Inventory.PickupMessage "I want to donate some blood... somebody else's."
  -INVENTORY.INVBAR
  +INVENTORY.UNDROPPABLE
  States
  {
  Spawn:
    REDG A -1
    Stop
  Use:
    TNT1 A 0 A_JumpIfInventory("TNTAmmo",1,1)
    Fail
	DYNG A 0 A_JumpIfInventory("Mana",25,1)
	Fail
	DYNG A 0 A_TakeInventory("Mana",25,TIF_NOTAKEINFINITE)
    TNT1 A 0 A_JumpIfInventory("DynamiteTossCounter",1,"Nope")
	TNT1 A 0 A_GiveInventory("DynamiteTossCounter",1)
    TNT1 A 0 A_TakeInventory("TNTAmmo",1,TIF_NOTAKEINFINITE)
	TNT1 A 0 ACS_NamedExecuteAlways("TNT Blockade")
    TNT1 A 0 A_PlaySound("Flechette/Throw")
    TNT1 A 0 A_GiveInventory("TossPower",3)
    TNT1 A 1 A_FireCustomMissile("DynamiteProjectile",0,0,0,-4,0,18)
   Nope:
	TNT1 A 0
    Fail
  }
}

ACTOR DynamiteWeapon : GuncasterWeapon
{
	Inventory.PickupSound "misc/w_pkup"
	Inventory.PickupMessage "Picked up a bundle of TNT."
	Obituary "%o was done extra-crispy, thanks to %k's TNT."
	//Weapon.UpSound "" 
	Weapon.SelectionOrder 3
	Weapon.AmmoGive 0
	Weapon.AmmoType "TNTAmmo"
	Weapon.AmmoUse 1
	Weapon.Kickback 100
	Weapon.SlotNumber 2
	Weapon.BobStyle InverseSmooth
	Weapon.BobSpeed 2.3
	Weapon.BobRangeY 0.7
	Weapon.BobRangeX 0.9
	Tag "Dynamite"
	Scale 1.1
	+NOALERT
	+NOAUTOAIM
	+UNDROPPABLE
	States
	{
	Spawn:
		DYNG X -1
		Stop
	Ready:
		TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),"ZweiReady")
		TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,"ZweiReady")
		DYNG A 1 A_WeaponReady(WRF_ALLOWZOOM|WRF_ALLOWRELOAD)
		Loop
	DeselectMain:
		DYNG A 0 A_StopSound(5)
		DYNG A 0 SetPlayerProperty(0,0,2)
		DYNG A 0 A_TakeInventory("TossPower")
		DYNG A 0 A_TakeInventory("TossPower2")
		DYNG A 0 A_JumpIf(CallACS("GunslingerMode"),"ZweiDeselect")
		DYNG A 0 A_JumpIfInventory("PowerGunzerking",1,"ZweiDeselect")
		DYNG A 0 A_JumpIfInventory("TNTAmmo",1,1)
		Goto DeselectNoAmmo
		DYNG AAA 0 A_Lower
		DYNG A 1 A_Lower
		Loop
	DeselectNoAmmo:
		TNT1 AAAAAAAA 0 A_Lower
		TNT1 A 1 A_Lower
		Loop
	Select:
		TNT1 A 0 A_JumpIfNoAmmo("InstantLockingBoys")
        TNT1 A 0 A_JumpIf(CallACS("CrosshairMode"), 2)
		TNT1 A 0 A_SetCrosshair(57)
		TNT1 A 0 SetPlayerProperty(0,1,2)
		TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),"ZweiSelect")
		TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,"ZweiSelect")
		TNT1 A 1 A_Raise
		TNT1 AAAAAAAAAAAAAA 0 A_Raise
	GrabIt:
		DYNU ABCDEFGHI 1
		DYNU I 0 A_PlaySound("TNT/Grab",1,0.8)
		DYNU JKLMNOPQRS 1
		Goto Ready
	InstantLockingBoys: //Okay guvnor, nobodies comin' this way.
		TNT1 A 0 A_CheckReload
		Goto DeselectMain
		
	//Zweihander

   ZweiSelect:
		TNT1 A 1 A_Raise
		TNT1 AAAAAAAAAAAAAA 0 A_Raise
   GrabItRight:
		DRNU A 0 A_Gunflash("GrabItLeft",GFF_NOEXTCHANGE)
		DRNU ABCDEFGHI 1
		DRNU I 0 A_PlaySound("TNT/Grab",1,0.8)
		DRNU JKLMNOPQRS 1
		DRNG A 10
		Goto ZweiReady
   ZweiDeselect:
		TNT1 A 0 A_GunFlash("Nullify",GFF_NOEXTCHANGE)
		TNT1 A 0 A_TakeInventory("SynthFireActive",1)
		TNT1 A 0 A_TakeInventory("SynthFireLeft",1)
		TNT1 A 0 A_TakeInventory("SynthFireRight",1)
   Zweihander:
		DY3G A 0 A_Lower
		DY3G A 1 A_Lower
		Loop
   ZweiReady:
		DY3G A 0 A_GiveInventory("SynthFireActive",1)
		DY3G A 0 ACS_NamedExecuteAlways("SynthLeft")
		DY3G A 0 ACS_NamedExecuteAlways("SynthRight")
		DY3G A 0 A_GunFlash("LIdle",GFF_NOEXTCHANGE)
		Goto RIdle
	GrabItLeft:
		TNT1 A 10
		DLNU ABCDEFGHI 1
		DLNU I 0 A_PlaySound("TNT/Grab",1,0.8)
		DLNU JKLMNOPQRS 1
		Goto LIdle
	  
   //Sides
   
	RIdle:
		DRNG A 0 A_JumpIfInventory("SynthFireRight",1,"RFire")
		DRNG A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		DRNG A 0 A_JumpIf(CallACS("GunslingerMode"),"RIdle")
		DRNG A 0 A_JumpIfInventory("PowerGunzerking",1,"RIdle") 
		Goto BackToReady
	BackToReady:
		DRNG A 0 A_GunFlash("Nullify",GFF_NOEXTCHANGE)
		Goto Ready
	Nullify:
		TNT1 A 0
		Stop
	LIdle:
		DLNG A 1 A_JumpIfInventory("SynthFireLeft",1,"LFire")
		Loop
		
	//Standard
		
	Fire:
		DYNG A 0 A_JumpIfInventory("Mana",25,1)
		Goto Ready
		DYNG A 0 A_TakeInventory("Mana",25,TIF_NOTAKEINFINITE)
		DYNG A 0 A_PlaySound("TNT/Ignition",1,0.9)
		DYNG A 1 A_SetPitch(Pitch-0.25)
		DYNG A 1 A_SetPitch(Pitch-0.25)
		DYNG A 1 A_SetPitch(Pitch-0.5)
		DYNG A 1 A_SetPitch(Pitch-1.0)
		DYNG A 1 A_SetPitch(Pitch-2.0)
		DYNG AAA 1 A_SetPitch(Pitch-2.5)
		DYNG A 0 A_FireCustomMissile("IgnitionSnort",frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DYNG AA 0 A_FireCustomMissile("IgnitionSmoke",frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DYNG A 1 A_SetPitch(Pitch+6.0)
		DYNG A 0 A_FireCustomMissile("IgnitionSnort",frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DYNG AA 0 A_FireCustomMissile("IgnitionSmoke",frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DYNG A 1 A_SetPitch(Pitch+5.0)
		DYNG A 0 A_FireCustomMissile("IgnitionSnort",frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DYNG AA 0 A_FireCustomMissile("IgnitionSmoke",frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DYNG A 1 A_SetPitch(Pitch+4.0)
		DYNG A 0 A_FireCustomMissile("IgnitionSnort",frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DYNG AA 0 A_FireCustomMissile("IgnitionSmoke",frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DYNG A 1 A_SetPitch(Pitch+3.0)
		DYNG A 0 A_FireCustomMissile("IgnitionSnort",frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DYNG AA 0 A_FireCustomMissile("IgnitionSmoke",frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DYNG A 1 A_SetPitch(Pitch+2.0)
		DYNG A 0 A_FireCustomMissile("IgnitionSnort",frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DYNG AA 0 A_FireCustomMissile("IgnitionSmoke",frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DYNG AA 1 A_SetPitch(Pitch+1.0)
		DYNG AA 1 A_SetPitch(Pitch+0.5)
		DYNG A 0 A_PlaySound("TNT/Burn",5,0.8,1)
		DY1B A 1 Bright Offset(1,33) A_SetPitch(Pitch-0.5)
		//DY1B A 1 Bright Offset(3,35) A_SetPitch(Pitch-0.75)
		DY1B B 1 Bright Offset(7,39) A_SetPitch(Pitch-1.0)
		//DY1B B 1 Bright Offset(9,43) A_SetPitch(Pitch-1.25)
		DY1B C 1 Bright Offset(10,47) A_SetPitch(Pitch-1.0)
		//DY1B C 1 Bright Offset(11,49) A_SetPitch(Pitch-0.75)
		DY1B D 1 Bright Offset(12,50) A_SetPitch(Pitch-0.5)
		//DY1B D 1 Bright Offset(13,51) A_SetPitch(Pitch-0.5)
		DY1B E 1 Bright Offset(14,52) A_SetPitch(Pitch-0.25)
		//DY1B E 1 Bright Offset(15,53) A_SetPitch(Pitch-0.25)
		
	//Sequence 1 (I wish there was a better way to handle that.)
		
	Sequence1A:
		DY1B F 0 A_GiveInventory("TossPower",1)
		DY1B FGHI 2 Bright
		DYNG A 0 A_ReFire("Sequence1B")
		Goto Toss1A
	Sequence1B:
		DY1B I 0 A_GiveInventory("TossPower",1)
		DY1B JKLM 2 Bright
		DYNG A 0 A_ReFire("Sequence1C")
		Goto Toss1B
	Sequence1C:
		DY1B M 0 A_GiveInventory("TossPower",1)
		DY1B NOPQ 2 Bright
		DYNG A 0 A_ReFire("Sequence1D")
		Goto Toss1C
	Sequence1D:
		DY1B P 0 A_GiveInventory("TossPower",1)
		DY1B RSTU 2 Bright
		DYNG A 0 A_ReFire("Sequence1E")
		Goto Toss1D
	Sequence1E:
		DY1B S 0 A_GiveInventory("TossPower",1)
		DY1B VWXY 2 Bright
		DYNG A 0 A_ReFire("Sequence1F")
		Goto Toss1E
	Sequence1F:
		DY1B V 0 A_GiveInventory("TossPower",1)
		DY1B Z 2 Bright
		DYNG A 0 A_ReFire("Sequence2A")
		Goto Toss1F
		
	//Sequence 2
		
	Sequence2A:
		DY2B A 0 A_GiveInventory("TossPower",1)
		DY2B ABCD 2 Bright
		DYNG A 0 A_ReFire("Sequence2B")
		Goto Toss2A
	Sequence2B:
		DY2B A 0 A_GiveInventory("TossPower",1)
		DY2B EFGH 2 Bright
		DYNG A 0 A_ReFire("Sequence2C")
		Goto Toss2B
	Sequence2C:
		DY2B A 0 A_GiveInventory("TossPower",1)
		DY2B IJKL 2 Bright
		DYNG A 0 A_ReFire("Sequence2D")
		Goto Toss2C
	Sequence2D:
		DY2B A 0 A_GiveInventory("TossPower",1)
		DY2B MNOP 2 Bright
		DYNG A 0 A_ReFire("Sequence2E")
		Goto Toss2D
	Sequence2E:
		DY2B A 0 A_GiveInventory("TossPower",1)
		DY2B QRST 2 Bright
		DYNG A 0 A_ReFire("Sequence2F")
		Goto Toss2E
	Sequence2F:
		DY2B A 0 A_GiveInventory("TossPower",1)
		DY2B UVWX 2 Bright
		DYNG A 0 A_ReFire("Sequence2G")
		Goto Toss2F
	Sequence2G:
		DY2B A 0 A_GiveInventory("TossPower",1)
		DY2B YZ 2 Bright
		DYNG A 0 A_ReFire("Sequence3A")
		Goto Toss2G
		
	//Sequence 3
		
	Sequence3A:
		DY3B A 0 A_GiveInventory("TossPower",1)
		DY3B ABCD 2 Bright
		DYNG A 0 A_ReFire("Sequence3B")
		Goto Toss3A
	Sequence3B:
		DY3B A 0 A_GiveInventory("TossPower",1)
		DY3B EFGH 2 Bright
		DYNG A 0 A_ReFire("Sequence3C")
		Goto Toss3B
	Sequence3C:
		DY3B A 0 A_GiveInventory("TossPower",1)
		DY3B IJKL 2 Bright
		DYNG A 0 A_ReFire("Sequence3D")
		Goto Toss3C
	Sequence3D:
		DY3B A 0 A_GiveInventory("TossPower",1)
		DY3B MNOP 2 Bright
		DYNG A 0 A_ReFire("Sequence3E")
		Goto Toss3D
	Sequence3E:
		DY3B A 0 A_GiveInventory("TossPower",1)
		DY3B QRST 2 Bright
		DYNG A 0 A_ReFire("Sequence3F")
		Goto Toss3E
	Sequence3F:
		DY3B A 0 A_GiveInventory("TossPower",1)
		DY3B UVWX 2 Bright
		DYNG A 0 A_ReFire("Sequence3G")
		Goto Toss3F
	Sequence3G:
		DY3B A 0 A_GiveInventory("TossPower",1)
		DY3B YZ 2 Bright
		DYNG A 0 A_ReFire("Sequence4A")
		Goto Toss3G
		
	//Sequence 4 (BETTER TOSS IT NOW OR NEVER!)
		
	Sequence4A:
		DY4B A 0 A_GiveInventory("TossPower",1)
		DY4B ABCD 2 Bright
		DYNG A 0 A_ReFire("Sequence4B")
		Goto Toss4A
	Sequence4B:
		DY4B A 0 A_GiveInventory("TossPower",1)
		DY4B EFGH 2 Bright
		DYNG A 0 A_ReFire("Sequence4C")
		Goto Toss4B
	Sequence4C:
		DY4B A 0 A_GiveInventory("TossPower",1)
		DY4B IJKL 2 Bright
		DYNG A 0 A_ReFire("Sequence4D")
		Goto Toss4C
	Sequence4D:
		DY4B A 0 A_GiveInventory("TossPower",1)
		DY4B MNOP 2 Bright
		DYNG A 0 A_ReFire("Sequence4E")
		Goto Toss4D
	Sequence4E:
		DY4B A 0 A_GiveInventory("TossPower",1)
		DY4B QRST 2 Bright
		DYNG A 0 A_ReFire("Sequence4F")
		Goto Toss4E
	Sequence4F: //Too late, mate.
		DY4B A 0 A_GiveInventory("TossPower",1)
		DY4B UVW 2 Bright
		Goto Kaboom
	Kaboom:
		TNT1 A 0 Offset(-1,33)
		TNT1 A 0 A_SetBlend("White",1.0,70)
		TNT1 A 0 A_FireCustomMissile("DynamiteTooLate",0,1,0)
		TNT1 A 0 A_StopSound(5)
		TNT1 A 15
		Goto GrabIt
		
	Toss1A:
		DT1A A 0
		Goto TossMain
	Toss1B:
		DT1B A 0
		Goto TossMain
	Toss1C:
		DT1C A 0
		Goto TossMain
	Toss1D:
		DT1D A 0
		Goto TossMain
	Toss1E:
		DT1E A 0
		Goto TossMain
	Toss1F:
		DT1F A 0
		Goto TossMain
		
	Toss2A:
		DT2A A 0
		Goto TossMain
	Toss2B:
		DT2B A 0
		Goto TossMain
	Toss2C:
		DT2C A 0
		Goto TossMain
	Toss2D:
		DT2D A 0
		Goto TossMain
	Toss2E:
		DT2E A 0
		Goto TossMain
	Toss2F:
		DT2F A 0
		Goto TossMain
	Toss2G:
		DT2G A 0
		Goto TossMain
		
	Toss3A:
		DT3A A 0
		Goto TossMain
	Toss3B:
		DT3B A 0
		Goto TossMain
	Toss3C:
		DT3C A 0
		Goto TossMain
	Toss3D:
		DT3D A 0
		Goto TossMain
	Toss3E:
		DT3E A 0
		Goto TossMain
	Toss3F:
		DT3F A 0
		Goto TossMain
	Toss3G:
		DT3G A 0
		Goto TossMain
		
	Toss4A:
		DT4A A 0
		Goto TossMain
	Toss4B:
		DT4B A 0
		Goto TossMain
	Toss4C:
		DT4C A 0
		Goto TossMain
	Toss4D:
		DT4D A 0
		Goto TossMain
	Toss4E:
		DT4D A 0
		Goto Kaboom
		
	TossMain:
		"####" ABCDEFGH 1 Bright
		TNT1 A 0 A_JumpIfInventory("TossPower",8,"TossType2")
	TossType1:
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		TNT1 A 1 A_SetPitch(Pitch+1)
		TNT1 A 1 A_SetPitch(Pitch+2)
		TNT1 A 1 A_SetPitch(Pitch+1)
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		
		TNT1 A 0 A_PlaySound("TNT/Toss",5,0.9)
		DY2T A 1 A_SetPitch(Pitch-0.5)
		DY2T B 1 A_SetPitch(Pitch-1)
		DY2T C 1 A_SetPitch(Pitch-2)
		DY2T D 1 A_SetPitch(Pitch-3)
		DY2T E 1 A_SetPitch(Pitch-2)
		DY2T F 1 A_SetPitch(Pitch-1.5)
		TNT1 A 0 A_FireCustomMissile("DynamiteProjectile",0,1,0,-4,0,18)
		
		DY2T G 1 A_SetPitch(Pitch-1)
		DY2T H 1 A_SetPitch(Pitch-0.5)
		DY2T I 1 A_SetPitch(Pitch-0.25)
		DY2T J 1
		DY2T K 1 A_SetPitch(Pitch+0.1)
		DY2T L 1 A_SetPitch(Pitch+0.25)
		DY2T M 1 A_SetPitch(Pitch+0.25)
		DY2T N 1 A_SetPitch(Pitch+0.1)

		TNT1 A 0 A_TakeInventory("TossPower") //Just in case, even if the projectile handles it.
		TNT1 A 0 A_CheckReload
		Goto GrabIt
	TossType2:
		//TNT1 A 0 A_SetAngle(Angle-1)
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		
		//TNT1 A 0 A_SetAngle(Angle-2)
		TNT1 A 1 A_SetPitch(Pitch+1)
		
		//TNT1 A 0 A_SetAngle(Angle-3)
		TNT1 A 1 A_SetPitch(Pitch+1.25)
		
		//TNT1 A 0 A_SetAngle(Angle-2)
		TNT1 A 1 A_SetPitch(Pitch+1)
		
		//TNT1 A 0 A_SetAngle(Angle-1)
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		TNT1 A 0 A_Jump(192,2)
		
		//DYNT A 0 A_SetAngle(Angle+1)
		DYNT A 1 A_SetPitch(Pitch-0.25)
		
		//DYNT B 0 A_SetAngle(Angle+1)
		DYNT B 1 A_SetPitch(Pitch-0.75)
		
		//DYNT A 0 A_SetAngle(Angle+3)
		DYNT A 1 A_SetPitch(Pitch-1.25)
		
		//DYNT A 0 A_SetAngle(Angle+2)
		DYNT D 1 A_SetPitch(Pitch-1.5)
		
		
		//DYNT A 0 A_SetAngle(Angle+1)
		DYNT E 1 A_SetPitch(Pitch-1)
		
		//DYNT A 0 A_SetAngle(Angle+1)
		DYNT F 1 A_SetPitch(Pitch-0.5)
		
		TNT1 A 0 A_PlaySound("Guncaster/Kick",2)
		TNT1 A 0 A_PlaySound("TNT/Toss",5,0.9)
		TNT1 A 0 A_FireCustomMissile("DynamiteProjectile",0,1,0,-4,0,13)
		
		//DYNT A 0 A_SetAngle(Angle+0.5)
		DYNT G 1 A_SetPitch(Pitch-0.25)
		
		//DYNT A 0 A_SetAngle(Angle+0.25)
		DYNT H 1 A_SetPitch(Pitch-0.1)
		
		TNT1 A 0 A_TakeInventory("TossPower")
		TNT1 A 6
		TNT1 A 0 A_CheckReload
		Goto GrabIt
		
	//Right
	
	RFire:
		TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),2)
		TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,1) 
		Goto BackToReady
		DRNG A 0 A_JumpIfInventory("Mana",5,1)
		Goto RIdle
		DRNG A 1 A_JumpIfInventory("TNTAmmo",1,1)
		Goto RIdle
		DRNG A 0 A_TakeInventory("Mana",5,TIF_NOTAKEINFINITE)
		//DRNG A 0 A_TakeInventory("TNTAmmo",1,TIF_NOTAKEINFINITE)
		DRNG A 0 A_PlaySound("TNT/Ignition",1,0.8)
		DRNG A 1 A_SetPitch(Pitch-0.125)
		DRNG A 1 A_SetPitch(Pitch-0.125)
		DRNG A 1 A_SetPitch(Pitch-0.25)
		DRNG A 1 A_SetPitch(Pitch-0.5)
		DRNG A 1 A_SetPitch(Pitch-1.0)
		DRNG AAA 1 A_SetPitch(Pitch-1.25)
		DRNG A 0 A_FireCustomMissile("IgnitionSnortNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DRNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DRNG A 1 A_SetPitch(Pitch+3.0)
		DRNG A 0 A_FireCustomMissile("IgnitionSnortNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DRNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DRNG A 1 A_SetPitch(Pitch+2.5)
		DRNG A 0 A_FireCustomMissile("IgnitionSnortNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DRNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DRNG A 1 A_SetPitch(Pitch+2.0)
		DRNG A 0 A_FireCustomMissile("IgnitionSnortNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DRNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DRNG A 1 A_SetPitch(Pitch+1.5)
		DRNG A 0 A_FireCustomMissile("IgnitionSnortNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DRNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DRNG A 1 A_SetPitch(Pitch+1.0)
		DRNG A 0 A_FireCustomMissile("IgnitionSnortNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DRNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",-15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DRNG AA 1 A_SetPitch(Pitch+0.5)
		DRNG AA 1 A_SetPitch(Pitch+0.25)
		DRNG A 0 A_PlaySound("TNT/Burn",5,0.8,1)
		DR1Z A 1 Bright A_SetPitch(Pitch-0.5)
		DR1Z B 1 Bright A_SetPitch(Pitch-1.0)
		DR1Z C 1 Bright A_SetPitch(Pitch-1.0)
		DR1Z D 1 Bright A_SetPitch(Pitch-0.5)
		DR1Z E 1 Bright A_SetPitch(Pitch-0.25)
		
	//Sequence 1
		
	SequenceRight1A:
		DR1Z F 0 A_GiveInventory("TossPower",1)
		DR1Z FGHI 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight1A
		TNT1 A 0
		Goto SequenceRight1B
	SequenceRight1B:
		DR1Z I 0 A_GiveInventory("TossPower",1)
		DR1Z JKLM 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight1B
		TNT1 A 0
		Goto SequenceRight1C
	SequenceRight1C:
		DR1Z M 0 A_GiveInventory("TossPower",1)
		DR1Z NOPQ 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight1C
		TNT1 A 0
		Goto SequenceRight1D
	SequenceRight1D:
		DR1Z P 0 A_GiveInventory("TossPower",1)
		DR1Z RSTU 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight1D
		TNT1 A 0
		Goto SequenceRight1E
	SequenceRight1E:
		DR1Z S 0 A_GiveInventory("TossPower",1)
		DR1Z VWXY 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight1E
		TNT1 A 0
		Goto SequenceRight1F
	SequenceRight1F:
		DR1Z V 0 A_GiveInventory("TossPower",1)
		DR1Z Z 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight1F
		TNT1 A 0
		Goto SequenceRight2A
		
	//Sequence 2
		
	SequenceRight2A:
		DR2Z A 0 A_GiveInventory("TossPower",1)
		DR2Z ABCD 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight2A
		TNT1 A 0
		Goto SequenceRight2B
	SequenceRight2B:
		DR2Z A 0 A_GiveInventory("TossPower",1)
		DR2Z EFGH 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight2B
		TNT1 A 0
		Goto SequenceRight2C
	SequenceRight2C:
		DR2Z A 0 A_GiveInventory("TossPower",1)
		DR2Z IJKL 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight2C
		TNT1 A 0
		Goto SequenceRight2D
	SequenceRight2D:
		DR2Z A 0 A_GiveInventory("TossPower",1)
		DR2Z MNOP 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight2D
		TNT1 A 0
		Goto SequenceRight2E
	SequenceRight2E:
		DR2Z A 0 A_GiveInventory("TossPower",1)
		DR2Z QRST 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight2E
		TNT1 A 0
		Goto SequenceRight2F
	SequenceRight2F:
		DR2Z A 0 A_GiveInventory("TossPower",1)
		DR2Z UVWX 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight2F
		TNT1 A 0
		Goto SequenceRight2G
	SequenceRight2G:
		DR2Z A 0 A_GiveInventory("TossPower",1)
		DR2Z YZ 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight2G
		TNT1 A 0
		Goto SequenceRight3A
		
	//Sequence 3
		
	SequenceRight3A:
		DR3Z A 0 A_GiveInventory("TossPower",1)
		DR3Z ABCD 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight3A
		TNT1 A 0
		Goto SequenceRight3B
	SequenceRight3B:
		DR3Z A 0 A_GiveInventory("TossPower",1)
		DR3Z EFGH 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight3B
		TNT1 A 0
		Goto SequenceRight3C
	SequenceRight3C:
		DR3Z A 0 A_GiveInventory("TossPower",1)
		DR3Z IJKL 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight3C
		TNT1 A 0
		Goto SequenceRight3D
	SequenceRight3D:
		DR3Z A 0 A_GiveInventory("TossPower",1)
		DR3Z MNOP 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight3D
		TNT1 A 0
		Goto SequenceRight3E
	SequenceRight3E:
		DR3Z A 0 A_GiveInventory("TossPower",1)
		DR3Z QRST 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight3E
		TNT1 A 0
		Goto SequenceRight3F
	SequenceRight3F:
		DR3Z A 0 A_GiveInventory("TossPower",1)
		DR3Z UVWX 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight3F
		TNT1 A 0
		Goto SequenceRight3G
	SequenceRight3G:
		DR3Z A 0 A_GiveInventory("TossPower",1)
		DR3Z YZ 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight3G
		TNT1 A 0
		Goto SequenceRight4A
		
	//Sequence 4
		
	SequenceRight4A:
		DR4Z A 0 A_GiveInventory("TossPower",1)
		DR4Z ABCD 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight4A
		TNT1 A 0
		Goto SequenceRight4B
	SequenceRight4B:
		DR4Z A 0 A_GiveInventory("TossPower",1)
		DR4Z EFGH 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight4B
		TNT1 A 0
		Goto SequenceRight4C
	SequenceRight4C:
		DR4Z A 0 A_GiveInventory("TossPower",1)
		DR4Z IJKL 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight4C
		TNT1 A 0
		Goto SequenceRight4D
	SequenceRight4D:
		DR4Z A 0 A_GiveInventory("TossPower",1)
		DR4Z MNOP 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight4D
		TNT1 A 0
		Goto SequenceRight4E
	SequenceRight4E:
		DR4Z A 0 A_GiveInventory("TossPower",1)
		DR4Z QRST 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto TossRight4E
		TNT1 A 0
		Goto SequenceRight4F
	SequenceRight4F: //Too late, mate.
		DR4Z A 0 A_GiveInventory("TossPower",1)
		DR4Z UVW 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireRight",1,1)
		Goto KaboomRight
	KaboomRight:
		TNT1 A 0 A_SetBlend("White",1.0,70)
		TNT1 A 0 A_FireCustomMissile("DynamiteTooLate",0,1,0)
		TNT1 A 0 A_StopSound(5)
		TNT1 A 15
		Goto GrabIt
		
	TossRight1A:
		DR1A A 0
		Goto TossRightMain
	TossRight1B:
		DR1B A 0
		Goto TossRightMain
	TossRight1C:
		DR1C A 0
		Goto TossRightMain
	TossRight1D:
		DR1D A 0
		Goto TossRightMain
	TossRight1E:
		DR1E A 0
		Goto TossRightMain
	TossRight1F:
		DR1F A 0
		Goto TossRightMain
		
	TossRight2A:
		DR2A A 0
		Goto TossRightMain
	TossRight2B:
		DR2B A 0
		Goto TossRightMain
	TossRight2C:
		DR2C A 0
		Goto TossRightMain
	TossRight2D:
		DR2D A 0
		Goto TossRightMain
	TossRight2E:
		DR2E A 0
		Goto TossRightMain
	TossRight2F:
		DR2F A 0
		Goto TossRightMain
	TossRight2G:
		DR2G A 0
		Goto TossRightMain
		
	TossRight3A:
		DR3A A 0
		Goto TossRightMain
	TossRight3B:
		DR3B A 0
		Goto TossRightMain
	TossRight3C:
		DR3C A 0
		Goto TossRightMain
	TossRight3D:
		DR3D A 0
		Goto TossRightMain
	TossRight3E:
		DR3E A 0
		Goto TossRightMain
	TossRight3F:
		DR3F A 0
		Goto TossRightMain
	TossRight3G:
		DR3G A 0
		Goto TossRightMain
		
	TossRight4A:
		DR4A A 0
		Goto TossRightMain
	TossRight4B:
		DR4B A 0
		Goto TossRightMain
	TossRight4C:
		DR4C A 0
		Goto TossRightMain
	TossRight4D:
		DR4D A 0
		Goto TossRightMain
	TossRight4E:
		DR4D A 0
		Goto KaboomRight
		
	TossRightMain:
		"####" ABCDEFGH 1 Bright
		TNT1 A 0 A_JumpIfInventory("TossPower",8,"TossRightType2")
	TossRightType1:
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		TNT1 A 1 A_SetPitch(Pitch+1)
		TNT1 A 1 A_SetPitch(Pitch+2)
		TNT1 A 1 A_SetPitch(Pitch+1)
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		
		TNT1 A 0 A_PlaySound("TNT/Toss",5,0.9)
		DR2T A 1 A_SetPitch(Pitch-0.5)
		DR2T B 1 A_SetPitch(Pitch-1)
		DR2T C 1 A_SetPitch(Pitch-2)
		DR2T D 1 A_SetPitch(Pitch-3)
		DR2T E 1 A_SetPitch(Pitch-2)
		DR2T F 1 A_SetPitch(Pitch-1.5)
		TNT1 A 0 A_FireCustomMissile("DynamiteProjectile",0,1,0,-4,0,18)
		
		DR2T G 1 A_SetPitch(Pitch-1)
		DR2T H 1 A_SetPitch(Pitch-0.5)
		DR2T I 1 A_SetPitch(Pitch-0.25)
		DR2T J 1
		DR2T K 1 A_SetPitch(Pitch+0.1)
		DR2T L 1 A_SetPitch(Pitch+0.25)
		DR2T M 1 A_SetPitch(Pitch+0.25)
		DR2T N 1 A_SetPitch(Pitch+0.1)

		TNT1 A 0 A_TakeInventory("TossPower")
		Goto GrabItRight+2
	TossRightType2:
		//TNT1 A 0 A_SetAngle(Angle-1)
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		
		//TNT1 A 0 A_SetAngle(Angle-2)
		TNT1 A 1 A_SetPitch(Pitch+1)
		
		//TNT1 A 0 A_SetAngle(Angle-3)
		TNT1 A 1 A_SetPitch(Pitch+1.25)
		
		//TNT1 A 0 A_SetAngle(Angle-2)
		TNT1 A 1 A_SetPitch(Pitch+1)
		
		//TNT1 A 0 A_SetAngle(Angle-1)
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		TNT1 A 0 A_Jump(192,2)
		
		//DRNT A 0 A_SetAngle(Angle+1)
		DRNT A 1 A_SetPitch(Pitch-0.25)
		
		//DRNT B 0 A_SetAngle(Angle+1)
		DRNT B 1 A_SetPitch(Pitch-0.75)
		
		//DRNT A 0 A_SetAngle(Angle+3)
		DRNT A 1 A_SetPitch(Pitch-1.25)
		
		//DRNT A 0 A_SetAngle(Angle+2)
		DRNT D 1 A_SetPitch(Pitch-1.5)
		
		
		//DRNT A 0 A_SetAngle(Angle+1)
		DRNT E 1 A_SetPitch(Pitch-1)
		
		//DRNT A 0 A_SetAngle(Angle+1)
		DRNT F 1 A_SetPitch(Pitch-0.5)
		
		TNT1 A 0 A_PlaySound("Guncaster/Kick",2)
		TNT1 A 0 A_PlaySound("TNT/Toss",5,0.9)
		TNT1 A 0 A_FireCustomMissile("DynamiteProjectile",0,1,0,-4,0,13)
		
		//DRNT A 0 A_SetAngle(Angle+0.5)
		DRNT G 1 A_SetPitch(Pitch-0.25)
		
		//DRNT A 0 A_SetAngle(Angle+0.25)
		DRNT H 1 A_SetPitch(Pitch-0.1)
		
		TNT1 A 0 A_TakeInventory("TossPower")
		TNT1 A 6
		Goto GrabItRight+2
	  
	LFire:
		TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),2)
		TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,1) 
		Goto Nullify
		DLNG A 0 A_JumpIfInventory("Mana",5,1)
		Goto LIdle
		DLNG A 1 A_JumpIfInventory("TNTAmmo",1,1)
		Goto LIdle
		DLNG A 0 A_TakeInventory("Mana",5,TIF_NOTAKEINFINITE)
		//DLNG A 0 A_TakeInventory("TNTAmmo",1,TIF_NOTAKEINFINITE)
		
		DLNG A 0 A_PlaySound("TNT/Ignition",1,0.8)
		DLNG A 1 A_SetPitch(Pitch-0.125)
		DLNG A 1 A_SetPitch(Pitch-0.125)
		DLNG A 1 A_SetPitch(Pitch-0.25)
		DLNG A 1 A_SetPitch(Pitch-0.5)
		DLNG A 1 A_SetPitch(Pitch-1.0)
		DLNG AAA 1 A_SetPitch(Pitch-1.25)
		DLNG A 0 A_FireCustomMissile("IgnitionSnortNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DLNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DLNG A 1 A_SetPitch(Pitch+3.0)
		DLNG A 0 A_FireCustomMissile("IgnitionSnortNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DLNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DLNG A 1 A_SetPitch(Pitch+2.5)
		DLNG A 0 A_FireCustomMissile("IgnitionSnortNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DLNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DLNG A 1 A_SetPitch(Pitch+2.0)
		DLNG A 0 A_FireCustomMissile("IgnitionSnortNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DLNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DLNG A 1 A_SetPitch(Pitch+1.5)
		DLNG A 0 A_FireCustomMissile("IgnitionSnortNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DLNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DLNG A 1 A_SetPitch(Pitch+1.0)
		DLNG A 0 A_FireCustomMissile("IgnitionSnortNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(2.0,-2.0))
		DLNG AA 0 A_FireCustomMissile("IgnitionSmokeNostril",15+frandom(2.0,-2.0),0,0,0,0,frandom(4.0,-4.0))
		DLNG AA 1 A_SetPitch(Pitch+0.5)
		DLNG AA 1 A_SetPitch(Pitch+0.25)
		DLNG A 0 A_PlaySound("TNT/Burn",5,0.8,1)
		DL1Z A 1 Bright A_SetPitch(Pitch-0.5)
		DL1Z B 1 Bright A_SetPitch(Pitch-1.0)
		DL1Z C 1 Bright A_SetPitch(Pitch-1.0)
		DL1Z D 1 Bright A_SetPitch(Pitch-0.5)
		DL1Z E 1 Bright A_SetPitch(Pitch-0.25)
		
	//Sequence 1
		
	SequenceLeft1A:
		DL1Z F 0 A_GiveInventory("TossPower2",1)
		DL1Z FGHI 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft1A
		TNT1 A 0
		Goto SequenceLeft1B
	SequenceLeft1B:
		DL1Z I 0 A_GiveInventory("TossPower2",1)
		DL1Z JKLM 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft1B
		TNT1 A 0
		Goto SequenceLeft1C
	SequenceLeft1C:
		DL1Z M 0 A_GiveInventory("TossPower2",1)
		DL1Z NOPQ 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft1C
		TNT1 A 0
		Goto SequenceLeft1D
	SequenceLeft1D:
		DL1Z P 0 A_GiveInventory("TossPower2",1)
		DL1Z RSTU 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft1D
		TNT1 A 0
		Goto SequenceLeft1E
	SequenceLeft1E:
		DL1Z S 0 A_GiveInventory("TossPower2",1)
		DL1Z VWXY 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft1E
		TNT1 A 0
		Goto SequenceLeft1F
	SequenceLeft1F:
		DL1Z V 0 A_GiveInventory("TossPower2",1)
		DL1Z Z 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft1F
		TNT1 A 0
		Goto SequenceLeft2A
		
	//Sequence 2
		
	SequenceLeft2A:
		DL2Z A 0 A_GiveInventory("TossPower2",1)
		DL2Z ABCD 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft2A
		TNT1 A 0
		Goto SequenceLeft2B
	SequenceLeft2B:
		DL2Z A 0 A_GiveInventory("TossPower2",1)
		DL2Z EFGH 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft2B
		TNT1 A 0
		Goto SequenceLeft2C
	SequenceLeft2C:
		DL2Z A 0 A_GiveInventory("TossPower2",1)
		DL2Z IJKL 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft2C
		TNT1 A 0
		Goto SequenceLeft2D
	SequenceLeft2D:
		DL2Z A 0 A_GiveInventory("TossPower2",1)
		DL2Z MNOP 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft2D
		TNT1 A 0
		Goto SequenceLeft2E
	SequenceLeft2E:
		DL2Z A 0 A_GiveInventory("TossPower2",1)
		DL2Z QRST 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft2E
		TNT1 A 0
		Goto SequenceLeft2F
	SequenceLeft2F:
		DL2Z A 0 A_GiveInventory("TossPower2",1)
		DL2Z UVWX 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft2F
		TNT1 A 0
		Goto SequenceLeft2G
	SequenceLeft2G:
		DL2Z A 0 A_GiveInventory("TossPower2",1)
		DL2Z YZ 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft2G
		TNT1 A 0
		Goto SequenceLeft3A
		
	//Sequence 3
		
	SequenceLeft3A:
		DL3Z A 0 A_GiveInventory("TossPower2",1)
		DL3Z ABCD 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft3A
		TNT1 A 0
		Goto SequenceLeft3B
	SequenceLeft3B:
		DL3Z A 0 A_GiveInventory("TossPower2",1)
		DL3Z EFGH 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft3B
		TNT1 A 0
		Goto SequenceLeft3C
	SequenceLeft3C:
		DL3Z A 0 A_GiveInventory("TossPower2",1)
		DL3Z IJKL 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft3C
		TNT1 A 0
		Goto SequenceLeft3D
	SequenceLeft3D:
		DL3Z A 0 A_GiveInventory("TossPower2",1)
		DL3Z MNOP 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft3D
		TNT1 A 0
		Goto SequenceLeft3E
	SequenceLeft3E:
		DL3Z A 0 A_GiveInventory("TossPower2",1)
		DL3Z QRST 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft3E
		TNT1 A 0
		Goto SequenceLeft3F
	SequenceLeft3F:
		DL3Z A 0 A_GiveInventory("TossPower2",1)
		DL3Z UVWX 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft3F
		TNT1 A 0
		Goto SequenceLeft3G
	SequenceLeft3G:
		DL3Z A 0 A_GiveInventory("TossPower2",1)
		DL3Z YZ 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft3G
		TNT1 A 0
		Goto SequenceLeft4A
		
	//Sequence 4
		
	SequenceLeft4A:
		DL4Z A 0 A_GiveInventory("TossPower2",1)
		DL4Z ABCD 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft4A
		TNT1 A 0
		Goto SequenceLeft4B
	SequenceLeft4B:
		DL4Z A 0 A_GiveInventory("TossPower2",1)
		DL4Z EFGH 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft4B
		TNT1 A 0
		Goto SequenceLeft4C
	SequenceLeft4C:
		DL4Z A 0 A_GiveInventory("TossPower2",1)
		DL4Z IJKL 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft4C
		TNT1 A 0
		Goto SequenceLeft4D
	SequenceLeft4D:
		DL4Z A 0 A_GiveInventory("TossPower2",1)
		DL4Z MNOP 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft4D
		TNT1 A 0
		Goto SequenceLeft4E
	SequenceLeft4E:
		DL4Z A 0 A_GiveInventory("TossPower2",1)
		DL4Z QRST 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto TossLeft4E
		TNT1 A 0
		Goto SequenceLeft4F
	SequenceLeft4F: //Too late, mate.
		DL4Z A 0 A_GiveInventory("TossPower2",1)
		DL4Z UVW 2 Bright
		TNT1 A 0 A_JumpIfInventory("SynthFireLeft",1,1)
		Goto KaboomLeft
	KaboomLeft:
		TNT1 A 0 A_SetBlend("White",1.0,70)
		TNT1 A 0 A_FireCustomMissile("DynamiteTooLate",0,1,0)
		TNT1 A 0 A_StopSound(5)
		TNT1 A 15
		Goto GrabItLeft
		
	TossLeft1A:
		DL1A A 0
		Goto TossLeftMain
	TossLeft1B:
		DL1B A 0
		Goto TossLeftMain
	TossLeft1C:
		DL1C A 0
		Goto TossLeftMain
	TossLeft1D:
		DL1D A 0
		Goto TossLeftMain
	TossLeft1E:
		DL1E A 0
		Goto TossLeftMain
	TossLeft1F:
		DL1F A 0
		Goto TossLeftMain
		
	TossLeft2A:
		DL2A A 0
		Goto TossLeftMain
	TossLeft2B:
		DL2B A 0
		Goto TossLeftMain
	TossLeft2C:
		DL2C A 0
		Goto TossLeftMain
	TossLeft2D:
		DL2D A 0
		Goto TossLeftMain
	TossLeft2E:
		DL2E A 0
		Goto TossLeftMain
	TossLeft2F:
		DL2F A 0
		Goto TossLeftMain
	TossLeft2G:
		DL2G A 0
		Goto TossLeftMain
		
	TossLeft3A:
		DL3A A 0
		Goto TossLeftMain
	TossLeft3B:
		DL3B A 0
		Goto TossLeftMain
	TossLeft3C:
		DL3C A 0
		Goto TossLeftMain
	TossLeft3D:
		DL3D A 0
		Goto TossLeftMain
	TossLeft3E:
		DL3E A 0
		Goto TossLeftMain
	TossLeft3F:
		DL3F A 0
		Goto TossLeftMain
	TossLeft3G:
		DL3G A 0
		Goto TossLeftMain
		
	TossLeft4A:
		DL4A A 0
		Goto TossLeftMain
	TossLeft4B:
		DL4B A 0
		Goto TossLeftMain
	TossLeft4C:
		DL4C A 0
		Goto TossLeftMain
	TossLeft4D:
		DL4D A 0
		Goto TossLeftMain
	TossLeft4E:
		DL4D A 0
		Goto KaboomLeft
		
	TossLeftMain:
		"####" ABCDEFGH 1 Bright
		TNT1 A 0 A_JumpIfInventory("TossPower2",8,"TossLeftType2")
	TossLeftType1:
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		TNT1 A 1 A_SetPitch(Pitch+1)
		TNT1 A 1 A_SetPitch(Pitch+2)
		TNT1 A 1 A_SetPitch(Pitch+1)
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		
		TNT1 A 0 A_PlaySound("TNT/Toss",5,0.9)
		DL2T A 1 A_SetPitch(Pitch-0.5)
		DL2T B 1 A_SetPitch(Pitch-1)
		DL2T C 1 A_SetPitch(Pitch-2)
		DL2T D 1 A_SetPitch(Pitch-3)
		DL2T E 1 A_SetPitch(Pitch-2)
		DL2T F 1 A_SetPitch(Pitch-1.5)
		TNT1 A 0 A_FireCustomMissile("DynamiteProjectile2",0,1,0,-4,0,18)
		
		DL2T G 1 A_SetPitch(Pitch-1)
		DL2T H 1 A_SetPitch(Pitch-0.5)
		DL2T I 1 A_SetPitch(Pitch-0.25)
		DL2T J 1
		DL2T K 1 A_SetPitch(Pitch+0.1)
		DL2T L 1 A_SetPitch(Pitch+0.25)
		DL2T M 1 A_SetPitch(Pitch+0.25)
		DL2T N 1 A_SetPitch(Pitch+0.1)

		TNT1 A 0 A_TakeInventory("TossPower2")
		Goto GrabItLeft
	TossLeftType2:
		//TNT1 A 0 A_SetAngle(Angle-1)
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		
		//TNT1 A 0 A_SetAngle(Angle-2)
		TNT1 A 1 A_SetPitch(Pitch+1)
		
		//TNT1 A 0 A_SetAngle(Angle-3)
		TNT1 A 1 A_SetPitch(Pitch+1.25)
		
		//TNT1 A 0 A_SetAngle(Angle-2)
		TNT1 A 1 A_SetPitch(Pitch+1)
		
		//TNT1 A 0 A_SetAngle(Angle-1)
		TNT1 A 1 A_SetPitch(Pitch+0.5)
		TNT1 A 0 A_Jump(192,2)
		
		//DLNT A 0 A_SetAngle(Angle+1)
		DLNT A 1 A_SetPitch(Pitch-0.25)
		
		//DLNT B 0 A_SetAngle(Angle+1)
		DLNT B 1 A_SetPitch(Pitch-0.75)
		
		//DLNT A 0 A_SetAngle(Angle+3)
		DLNT A 1 A_SetPitch(Pitch-1.25)
		
		//DLNT A 0 A_SetAngle(Angle+2)
		DLNT D 1 A_SetPitch(Pitch-1.5)
		
		
		//DLNT A 0 A_SetAngle(Angle+1)
		DLNT E 1 A_SetPitch(Pitch-1)
		
		//DLNT A 0 A_SetAngle(Angle+1)
		DLNT F 1 A_SetPitch(Pitch-0.5)
		
		TNT1 A 0 A_PlaySound("Guncaster/Kick",2)
		TNT1 A 0 A_PlaySound("TNT/Toss",5,0.9)
		TNT1 A 0 A_FireCustomMissile("DynamiteProjectile2",0,1,0,-4,0,13)
		
		//DLNT A 0 A_SetAngle(Angle+0.5)
		DLNT G 1 A_SetPitch(Pitch-0.25)
		
		//DLNT A 0 A_SetAngle(Angle+0.25)
		DLNT H 1 A_SetPitch(Pitch-0.1)
		
		TNT1 A 0 A_TakeInventory("TossPower2")
		TNT1 A 6
		Goto GrabItLeft
		
	AltFire:
		DYNM A 0
		Goto Super::CheckForMagic
	Zoom:
		DYNK A 0 A_JumpIf(CallACS("GunslingerMode"),3)
		DYNK A 0 A_JumpIfInventory("PowerGunzerking",1,2)
		DYNK A 0
		Goto Super::Zoom
		DRNK A 0
		Goto Super::Zoom
	}
}