//Changes made:
//select,deselect
ACTOR MastermindChaingun : BrutalWeapon
{
	Game Doom
	//SpawnID 28
	Weapon.SelectionOrder 3500
	Weapon.AmmoType2 "AmmoRocket"
	Weapon.AmmoType1 "AmmoCell"
	Weapon.AmmoGive 0
	Weapon.AmmoUse1 1
	+WEAPON.NOAUTOAIM
	+WEAPON.NOAUTOFIRE
	+FORCEXYBILLBOARD
	Inventory.PickupSound "CBOXPKUP"
	Inventory.PickupMessage "You got the Mastermind's Chaingun! (Slot 4)"
	Obituary "%o was mowed down by %k's Mastermind's Chaingun."
	AttackSound "none"
	Scale 1.1
	Tag "Mastermind's Chaingun"
	States
	{
	KickingFlash:
	    RMNG OPQRSSSSSSSSRQPO 1 //16
	    stop
     AirKickingFlash:
	    RMNG OPQRSSSSSSSSSSRQPO 1 //18
	    stop
	 SlideKickingStart:
	    RMNG OPQRS 1
	    RMNG SS 17 //39 total
	    Stop
	 SlideKickingEnd:
	    RMNG SSSSSSRQPO 1 //10
	    Stop

		
	FuckYouFlash:
	RMNG OPQRSSSSSSSSSSSSSSSSSSSSRQPO 1 //18
	stop
		
	Spawn:
		RMN2 A 1
		RMN2 A -1
		Stop
		
    Ready:
	Ready3:
		//RIFG A 0 A_JumpIfInventory("Zoomed",1,"Ready2")
		RMNG F 1 A_WeaponReady(WRF_ALLOWRELOAD)
		RMNG A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
	    RMNG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
        //RIFG A 0 A_JumpIfInventory("Reloading",1,"Reload")
		//RIFG A 0 A_JumpIfInventory("Unloading",1,"Unload")
		RMNG A 0 A_JumpIfInventory("Salute1", 1, "Salute")
		RMNG A 0 A_JumpIfInventory("Salute2", 1, "Salute")
		//RMNG A 0 A_JumpIfInventory("Unloading",1,"Unload")
		RMNG A 0 A_JumpIfInventory("IsRunning",1,"CheckSprint")
		RMNG A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		RMNG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		//RIFG A 0 A_JumpIfInventory("StartDualWield",1,"DualWield")
		//RIFG A 0 A_JumpIfInventory("FiredPrimary",1,"Fire")
		Loop
		  
	CheckSprint:
		RMNG F 1 A_WeaponReady(WRF_NOFIRE)
		RMNG A 0 A_JumpIfInventory("IsStandingStill", 1, "Ready3")
		RMNG A 0 A_JumpIfInventory("IsTacticalClass", 1, "StartSprint")
		Goto Ready
		
	StartSprint:
		RMNG A 1 A_WeaponReady(WRF_NOFIRE)
		RMNG A 0 A_Takeinventory("Zoomed",1)
		RMNG A 0 A_Takeinventory("ADSmode",1)
		RMNG A 0 A_ZoomFactor(1.0)
		RMNG A 0 A_JumpIfInventory("UsedStamina", 40, "StopSprintTired")
		
	Sprinting:	
		RMNG Q 0 offset(-9,32) 
		RMNG A 0 offset(-9,32) A_JumpIfInventory("IsStandingStill", 1, "Ready3")
		RMNG A 0 offset(-9,32) A_JumpIfInventory("UsedStamina", 100, "StopSprintTired")
		PLAY A 0 offset(-9,32) ACS_ExecuteAlways(852, 0, 0, 0, 0)//Makes player faster.
		RMNG A 0 offset(-9,32) A_JumpIfInventory("PowerStrength", 1, 2)
		RMNG A 0 offset(-9,32) A_GiveInventory("UsedStamina", 9)
		RMNG A 0 offset(-9,32)
		RMNG Q 1 offset(-9,34) A_SetPitch(pitch -0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(-6,36) A_SetPitch(pitch -0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(-3,38) A_SetPitch(pitch -0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(0,38) A_SetPitch(pitch -0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(3,36) A_SetPitch(pitch -0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(6,34) A_SetPitch(pitch -0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(9,32) A_SetPitch(pitch -0.5, SPF_INTERPOLATE)
		RMNG A 0 offset(9,32) A_WeaponReady(WRF_NOBOB)
		RMNG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        RMNG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		RMNG A 0 offset(-9,32) A_GiveInventory("UsedStamina", 9)
		RMNG A 0 offset(9,33) A_SpawnItemEx("FootStep", 0, 0, 2, 0, 0, -4)
		RMNG Q 1 offset(9,34) A_SetPitch(pitch +0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(6,36) A_SetPitch(pitch +0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(3,38) A_SetPitch(pitch +0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(0,38) A_SetPitch(pitch +0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(-3,36) A_SetPitch(pitch +0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(-6,34) A_SetPitch(pitch +0.5, SPF_INTERPOLATE)
		RMNG Q 1 offset(-9,32) A_SetPitch(pitch +0.5, SPF_INTERPOLATE)
		RMNG A 0 offset(-9,32) A_WeaponReady(WRF_NOBOB)
		RMNG A 0 offset(-9,32) A_JumpIfInventory("IsRunning", 1, "Sprinting")
		Goto StopSprint
		
	StopSprintTired:
		RMNG F 1
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		RMNG A 0 A_PlaySound("Tired", 2)
		RMNG A 0 A_TakeInventory("UsedStamina", 2)
		RMNG F 5 A_WeaponReady
		RMNG A 0 A_TakeInventory("UsedStamina", 2)
		RMNG F 5 A_WeaponReady
		RMNG A 0 A_TakeInventory("UsedStamina", 2)
		RMNG F 5 A_WeaponReady
		RMNG A 0 A_TakeInventory("UsedStamina", 2)
		RMNG F 5 A_WeaponReady
		RMNG A 0 A_TakeInventory("UsedStamina", 2)
		RMNG F 5 A_WeaponReady
		Goto Ready
	StopSprint:
		RMNG Q 1
		RMNG A 0 A_JumpIfInventory("UsedStamina", 60, "StopSprintTired")
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		Goto Ready 

		Deselect:
			//RMNG A 0 A_TakeInventory ("Spin",1)
			RMNG A 0 A_TakeInventory("TossGrenade", 1)
			RMNG A 0 A_TakeInventory("Reloading", 1)
			RMNG A 0 A_TakeInventory("Unloading", 1)
			RMNG A 0 A_Takeinventory("HeavyAutomaticWeapon",1)
			RMNG A 0 A_TakeInventory("RandomHeadExploder", 1)
			RMNG A 0 SetPlayerProperty(0,0,0)
			RMNG JKLMN 1
			TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
			TNT1 A 1 A_Lower
			Wait

		Select:
			RMNG A 0
			RMNG A 0 A_Giveinventory("GoSpecial",1)
			RMNG A 0 A_Giveinventory("HeavyAutomaticWeapon",1)
			RMNG A 0 A_Takeinventory("FistsSelected",1)
			RMNG A 0 A_Takeinventory("SawSelected",1)
			RMNG A 0 A_Takeinventory("ShotgunSelected",1)
			RMNG A 0 A_Takeinventory("SSGSelected",1)
			RMNG A 0 A_Giveinventory("MinigunSelected",1)
			RMNG A 0 A_Takeinventory("PlasmaGunSelected",1)
			RMNG A 0 A_Takeinventory("RocketLauncherSelected",1)
			RMNG A 0 A_Takeinventory("GrenadeLauncherSelected",1)
			RMNG A 0 A_Takeinventory("BFGSelected",1)
			RMNG A 0 A_Takeinventory("BFG10kSelected",1)
			RMNG A 0 A_Takeinventory("RailGunSelected",1)
			RMNG A 0 A_Takeinventory("SubMachineGunSelected",1)
			RMNG A 0 A_Takeinventory("RevenantLauncherSelected",1)
			RMNG A 0 A_Takeinventory("LostSoulSelected",1)
			RMNG A 0 A_Takeinventory("FlameCannonSelected",1)
			RMNG A 0 A_Takeinventory("HasBarrel",1)
			RMNG A 0 A_TakeInventory("TossGrenade", 1)
			RMNG A 0 A_GiveInventory("RandomHeadExploder", 1)
			RMNG A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "PuristGun")
			TNT1 AAAAAA 1 A_Raise
			RMNG A 0 A_PlaySound("CHGNPKUP")
			TNT1 AAAAAAAAA 0 A_Raise
		
		SelectAnimation:
			RMNG A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
			RMNG A 0 A_GunFlash
			RMNG NMLKJ 1 A_WeaponReady(WRF_NOFIRE)
			Goto Ready
			
	    Fire:
	        RIFG A 0 A_JumpIfInventory("AmmoCell",1,2)
            Goto NoAmmo
            TNT1 AA 0
			RIFG A 0 A_JumpIfInventory("AmmoRocket",1,2)
            Goto NoAmmo
            TNT1 AA 0
			RMNG A 0 A_PlaySound("CHGNSHOT", 1)
 			RMNG A 0 A_PlaySound("FARMGN", 5)
			RMNG A 0 A_ZoomFactor(0.98)
			TNT1 A 0 A_TakeInventory("AmmoRocket",1)
			TNT1 A 0 A_TakeInventory("AmmoCell",2)
			RMNG A 1 A_Firecustommissile("MastermindTracerDoomguy",random(-2,2),0,0,-12,random(3,-3))
			TNT1 A 0 A_SetPitch(Pitch-2)
			RMNG A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
			TNT1 A 0 A_JumpIfInventory("NoFancyShooting", 1, 2)// For poor PCs
			CHAF A 0 BRIGHT A_FireCustomMissile("DecorativeTracer", random(-2,2), 0, 0, -12, 0, random(-2,2))
			RMNG A 0 A_ZoomFactor(1.0)
			//RMNG AAA 0 A_Firecustommissile("MachineGunCasingSpawns",random(-2,2),0,0,-12,-18)
			CHAF A 0 BRIGHT A_FireCustomMissile("MastermindCaseSpawnDoomguy", random(-2,2), 0, 0, -12, 0, random(-2,2))
			TNT1 A 0 A_Recoil(1)
			TNT1 A 0 A_SetAngle(Angle+random(1,-1))
			RMNG GHI 1 A_SetPitch(Pitch+0.5)
			RIFG A 0 A_JumpIfInventory("AmmoCell",1,2)
            Goto NoAmmoSpeen
            TNT1 AA 0
			RIFG A 0 A_JumpIfInventory("AmmoRocket",2,2)
            Goto NoAmmoSpeen
            TNT1 AA 0
			RMNG A 0 A_PlaySound("CHGNSHOT", 1)
 			RMNG A 0 A_PlaySound("FARMGN", 5)
			RMNG A 0 A_ZoomFactor(0.98)
			TNT1 A 0 A_TakeInventory("AmmoRocket",1)
			TNT1 A 0 A_TakeInventory("AmmoCell",2)
			RMNG B 1 A_Firecustommissile("MastermindTracerDoomguy",random(-2,2),0,0,-12,random(3,-3))
			TNT1 A 0 A_SetPitch(Pitch-2)
			RMNG A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
			TNT1 A 0 A_JumpIfInventory("NoFancyShooting", 1, 2)// For poor PCs
			CHAF A 0 BRIGHT A_FireCustomMissile("DecorativeTracer", random(-2,2), 0, 0, -12, 0, random(-2,2))
			RMNG A 0 A_ZoomFactor(1.0)
			//RMNG AAA 0 A_Firecustommissile("MachineGunCasingSpawns",random(-2,2),0,0,-12,-18)
            CHAF A 0 BRIGHT A_FireCustomMissile("MastermindCaseSpawnDoomguy", random(-2,2), 0, 0, -12, 0, random(-2,2))
			TNT1 A 0 A_SetAngle(Angle+random(1,-1))
			RMNG GHI 1 A_SetPitch(Pitch+0.5)
			RMNG A 0 A_Refire
			RMNG FCDEF 1 A_WeaponReady
		    RMNG CDEF 2 A_WeaponReady
		    RMNG CDE 3 A_WeaponReady
			goto Ready
			
			
		NoAmmo:
		RIFG A 0
		RIFG A 0 A_ZoomFactor(1.0)
		RIFG A 0 A_Takeinventory("Zoomed",1)
		RIFG A 0 A_Takeinventory("ADSmode",1)
		//RIFG A 0 A_JumpIfInventory("TurboReload",1,"TurboReload")
		TNT1 A 0 A_PlaySound("weapons/empty", 4)
		NoAmmo2:
		RIFG A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
	    RIFG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		RIFG A 0 A_JumpIfInventory("Salute1", 1, "Salute")
		RIFG A 0 A_JumpIfInventory("Salute2", 1, "Salute")
		RIFG A 0 A_JumpIfInventory("IsRunning",1,"CheckSprint")
		RIFG A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		RIFG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		RMNG C 4 A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOFIRE)
		//RIFG A 0 A_JumpIfInventory("Reloading",1,"Reload")
		//RIFG A 0 A_JumpIfInventory("TurboReload",1,"TurboReload")
		//TNT1 A 0 A_JumpIfInventory("NoAutoReload", 1, "NoAmmo2")
		//RIFG A 0 A_JumpIfInventory("AmmoRocket",1,"Reload")
		//RIFG A 0 A_JumpIfInventory("FiredPrimary",1,"NoAmmo2")
		Goto Ready3
		
		NoAmmoSpeen:
		RIFG A 0
		RIFG A 0 A_ZoomFactor(1.0)
		RIFG A 0 A_Takeinventory("Zoomed",1)
		RIFG A 0 A_Takeinventory("ADSmode",1)
		//RIFG A 0 A_JumpIfInventory("TurboReload",1,"TurboReload")
		TNT1 A 0 A_PlaySound("weapons/empty", 4)
		NoAmmo2:
		RIFG A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
	    RIFG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		RIFG A 0 A_JumpIfInventory("Salute1", 1, "Salute")
		RIFG A 0 A_JumpIfInventory("Salute2", 1, "Salute")
		RIFG A 0 A_JumpIfInventory("IsRunning",1,"CheckSprint")
		RIFG A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		RIFG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		RMNG CDEF 1 A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOFIRE)
		RIFG A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
	    RIFG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		RIFG A 0 A_JumpIfInventory("Salute1", 1, "Salute")
		RIFG A 0 A_JumpIfInventory("Salute2", 1, "Salute")
		RIFG A 0 A_JumpIfInventory("IsRunning",1,"CheckSprint")
		RIFG A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		RIFG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		RMNG CDEF 2 A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOFIRE)
		RIFG A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
	    RIFG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		RIFG A 0 A_JumpIfInventory("Salute1", 1, "Salute")
		RIFG A 0 A_JumpIfInventory("Salute2", 1, "Salute")
		RIFG A 0 A_JumpIfInventory("IsRunning",1,"CheckSprint")
		RIFG A 0 A_JumpIfInventory("ExecuteDownedEnemy", 1, "DoExecution")
		RIFG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		RMNG CDE 3 A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOFIRE)
		Goto Ready3

		}
}

ACTOR MinigunBoomProjectile: FastProjectile
{
	Radius 4
	Height 2
	Projectile
	Speed 600
    Damage (random (60, 60))
	DamageType Explosive
    MeleeDamage 0
	Scale 0.5
    Decal "Scorch"
	Projectile
	+MISSILE
    +NOGRAVITY
    +EXTREMEDEATH
    +BLOODSPLATTER 
	+THRUSPECIES
	+MTHRUSPECIES
	+SPECTRAL
	SeeSound "weapons/RLL"
	DeathSound "Explosion"
	Obituary "$OB_MPROCKET"
	Species "Marines"
	States
	{
	Spawn:
		MISL A 0
		TNT1 A 0 A_PlaySound("DSRLAUN")
	Live:
	    MISL A 1 Bright 
		TNT1 A 0 A_JumpIf(waterlevel > 1, "SpawnUnderwater")
		TNT1 A 0 A_SpawnItem("RocketFlare",-20,0)
		TNT1 A 0 A_SpawnItem ("OldschoolRocketSmokeTrail2")
		TNT1 A 0 A_CustomMissile ("OldschoolRocketSmokeTrail2", 2, 0, random (160, 210), 2, random (-30, 30))
		Loop
	
	SpawnUnderwater:
	    TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		TNT1 A 0 A_SpawnItem("RocketFlare",-20,0)
	    TNT1 A 0 A_CustomMissile ("BUBULZ", 0, 0, random (0, 360), 2, random (0, 180))
		MISL A 1 Bright 
	    Goto Live
	
	Death:
        EXPL A 0 Radius_Quake (4, 30, 0, 15, 0)
		TNT1 A 0 A_PlaySound("Explosion")
		TNT1 A 0 A_SpawnItem("WhiteShockwaveSmall")
		EXPL A 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_SpawnItemEx ("UnderwaterExplosion",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("DetectCeilCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("MinigunExplosion",0,0,13,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 AAA 0 A_CustomMissile ("BDExplosionparticles", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 AA 0 A_CustomMissile ("BDExplosionparticles2", 0, 0, random (0, 360), 2, random (0, 90))
		EXPL A 0
        TNT1 AAAA 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0
		TNT1 A 2
		//TNT1 A 0 A_SpawnItemEx ("LiquidExplosionEffectSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_PlaySound("FAREXPL", 3)
		TNT1 A 15
		TNT1 A 0 A_PlaySound("distantexp", 5)
		Stop
	}
}

actor MinigunExplosion
{
+MISSILE
Radius 2
Height 2
Damagetype ExplosiveImpact
Obituary "%o was exploded by %k rocket."
States    {
    Spawn:
	Goto Death
	Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("WhiteShockwave")
	TNT1 A 3
	TNT1 A 0 A_Explode(120,140)
        Stop}}
		
		
ACTOR MastermindCaseSpawnDoomguy
{
	Speed 20
	PROJECTILE
	+NOCLIP
	+CLIENTSIDEONLY
	States
	{
	Spawn:
        TNT1 A 0
		TNT1 A 1 A_CustomMissile("20mmBrassDoomguy",-5,0,random(-80,-100),2,random(15,35))
		Stop
	}
}

ACTOR 20mmBrassDoomguy: EmptyBrass
{
Gravity 0.8
Speed 12
Scale 0.5
}



Actor MastermindTracerDoomguy: MastermindTracer
{
+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
+FORCERADIUSDMG
speed 280
damage (random(310,310))
scale 1.0
RenderStyle Add
Alpha 0.9
seesound "SSHFIRE"
damagetype ExplosiveImpact
Decal "Scorch"
Obituary "$OB_SPIDER"
States
{

	Spawn:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail2", (2 *momx)/-35.0, -(2 *momy)/-35.0, 2+(2 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail3", (4 *momx)/-35.0, -(4 *momy)/-35.0, 2+(4 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail4", (6 *momx)/-35.0, -(6 *momy)/-35.0, 2+(6 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail5", (8 *momx)/-35.0, -(8 *momy)/-35.0, 2+(8 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail6", (10*momx)/-35.0, -(10*momy)/-35.0, 2+(10*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail7", (12*momx)/-35.0, -(12*momy)/-35.0, 2+(12*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail8", (14*momx)/-35.0, -(14*momy)/-35.0, 2+(14*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail9", (16*momx)/-35.0, -(16*momy)/-35.0, 2+(16*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        Loop
	XDeath:
	Death:
		EXPL A 0 Radius_Quake (4, 30, 0, 15, 0)
		TNT1 A 0 A_PlaySound("Explosion")
		TNT1 A 0 A_SpawnItem("WhiteShockwaveSmall")
		EXPL A 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_SpawnItemEx ("UnderwaterExplosion",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("DetectCeilCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("MinigunExplosion",0,0,13,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 AAA 0 A_CustomMissile ("BDExplosionparticles", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 AA 0 A_CustomMissile ("BDExplosionparticles2", 0, 0, random (0, 360), 2, random (0, 90))
		EXPL A 0
        TNT1 AAAA 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0
		TNT1 A 2
		//TNT1 A 0 A_SpawnItemEx ("LiquidExplosionEffectSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_PlaySound("FAREXPL", 3)
		TNT1 A 15
		TNT1 A 0 A_PlaySound("distantexp", 5)
		Stop
}
}