/*****************************************************************************
 * DECOHack Main Patch
 *****************************************************************************/

#include <dsdhacked>
#include <friendly>

//state protection is cool and good
state protect 2 to 70000
set next sprite index 8000
set next sound index 8000

//splash immunity for some weapons
thing MT_PLAYER
{
	Splashgroup 100
}

//thing alias table
alias thing ShotgunPumpDummy1 70000
alias thing ShotgunPumpDummy2 70001
alias thing DieselBolt 70003
alias thing DieselBoltTrail 70004
alias thing BurstshotgunDummy1 70005
alias thing BurstshotgunDummy2 70006
alias thing NewRocket 70007
alias thing NewRocketTrail 70008
alias thing RocketLoadDummy1 70009
alias thing RocketLoadDummy2 70010
alias thing BFGDummy1 70011
alias thing Firebomb 70012
alias thing LingeringFlames 70013

//misc sound effect dummies
thing ShotgunPumpDummy1 "Shotgun Pump Dummy 1"
{
	Radius 1
	Height 1
	+missile
	
	states
	{
	spawn:
		TNT1 A 1
		TNT1 A 0 A_PlaySound(SHTPM1,1)
		TNT1 A 20 
		stop
	}
}

thing ShotgunPumpDummy2 "Shotgun Pump Dummy 2"
{
	Radius 1
	Height 1
	+missile
	
	states
	{
	spawn:
		TNT1 A 1
		TNT1 A 0 A_PlaySound(SHTPM2,1)
		TNT1 A 20 
		stop
	}
}

thing BurstshotgunDummy1 "Burst shotgun dummy 1"
{
	Radius 1
	Height 1
	+missile
	
	states
	{
	spawn:
		TNT1 A 1
		TNT1 A 0 A_PlaySound(BSGRL1,1)
		TNT1 A 20 
		stop
	}
}

thing BurstshotgunDummy2 "Burst shotgun dummy 2"
{
	Radius 1
	Height 1
	+missile
	
	states
	{
	spawn:
		TNT1 A 1
		TNT1 A 0 A_PlaySound(BSGRL2,1)
		TNT1 A 20 
		stop
	}
}

thing RocketLoadDummy1 "Rocket load dummy 1"
{
	Radius 1
	Height 1
	+missile
	
	states
	{
	spawn:
		TNT1 A 1
		TNT1 A 0 A_PlaySound(RLRLD1,1)
		TNT1 A 20 
		stop
	}
}

thing RocketLoadDummy2 "Rocket load dummy 2"
{
	Radius 1
	Height 1
	+missile
	
	states
	{
	spawn:
		TNT1 A 1
		TNT1 A 0 A_PlaySound(RLRLD2,1)
		TNT1 A 20 
		stop
	}
}

thing BFGDummy1 "BFG Dummy 1"
{
	Radius 1
	Height 1
	+missile
	
	states
	{
	spawn:
		TNT1 A 1
		TNT1 A 0 A_PlaySound(BFCHRG,1)
		TNT1 A 20 
		stop
	}
}
//weapons alias table

alias weapon Fists				WP_FIST
alias Weapon Sledgehammer		WP_CHAINSAW 
alias weapon CombatRifle		WP_PISTOL
alias weapon RiotGun			WP_SHOTGUN
alias weapon BurstShotgun		WP_SUPERSHOTGUN 
alias weapon MachineGun			WP_CHAINGUN
alias weapon RPGLauncher		WP_MISSILE 
alias weapon DieselThrower		WP_PLASMA
alias weapon PrototypeBFG		WP_BFG

//text strings
strings
{
	STR_GOTCHAINSAW "Got a sledgehammer! Smash them!"
	STR_GOTSHOTGUN  "Got a riotgun!"
	STR_GOTSHOTGUN2 "Got a burst shotgun!"
	STR_GOTCHAINGUN "Got a machine gun!"
	STR_GOTLAUNCHER "Got the super rocket launcher!"
	STR_GOTPLASMA   "Got a dieselthrower!"
	STR_GOTBFG9000  "A diesel-powered BFG! Oh, yeah."

	STR_GOTCLIP     "Got a mag."
	STR_GOTCLIPBOX  "Got a box of ammo."
	STR_GOTROCKET   "Got a single super rocket."
	STR_GOTROCKBOX  "Got a box of super rockets."
	STR_GOTCELL     "Got a diesel canister."
	STR_GOTCELLBOX  "Got four diesel canisters."
	STR_GOTSHELLS   "Got four shells."
	STR_GOTSHELLBOX "Got a box of shells."

	STR_GOTBACKPACK	"Backpack!"
	STR_GOTSUIT		"Put on a radiation suit."
	STR_GOTMAP		"Computer area map."
	STR_GOTBERSERK	"Berserk!"
	STR_GOTSTIM     "Used a stimpack."
	STR_GOTMEDIKIT  "Used a medikit."
	STR_GOTMEDINEED "That was close."
	STR_GOTHTHBONUS "Got a health bonus."
	STR_GOTARMBONUS "Got an armor bonus."
 	STR_GOTARMOR    "Put on some light armor."
	STR_GOTMEGA     "Put on some heavy armor."
}
//new ammo limits.
	ammo AM_CLIP
	{
		max 200
		pickup 10
	}
	ammo AM_SHELL
	{
		max 40
		pickup 4
	}
	ammo AM_MISL
	{
		max 25
		pickup 1
	}
	ammo AM_CELL
	{
		max 200
		pickup 20
	}

//guns.
weapon Fists "Military-grade boxing"
{
	+SILENT
	clear states
	states
	{
	ready:
		PUNC A 1 A_WeaponReady
		loop
	deselect:
		PUNC A 0 A_Lower
		PUNC A 1 A_Lower
		loop
	select:
		PUNC A 0 A_Raise
		PUNC A 1 A_Raise
		loop
	fire:
		PUNC BC 2
		TNT1 A 0 goto PunchRight
	PunchRight:
		TNT1 A 0 A_weaponsound("PLRSWG")
		PUNR AB 1
		PUNR C 3 A_WeaponMeleeAttack(12, 1 , 7.0, PUNCH, 70.0)
		PUNR D 2
		PUNR EFG 1
		TNT1 A 2
		TNT1 A 0 A_ReFireTo(PunchLeft)
		goto PunchOver
	PunchLeft:
		TNT1 A 1
		PUNL AB 2
		TNT1 A 0 A_weaponsound("PLRSWG")
		PUNL CD 1
		PUNL E 3 A_WeaponMeleeAttack(24, 1 , 10.0, PUNCH, 70.0)
		PUNL FGHIJ 1
		TNT1 A 2
		TNT1 A 0 A_ReFireTo(PunchRight)
	goto PunchOver
	PunchOver:
		PUNO ABC 1
	goto Ready
		}
}

Weapon Sledgehammer "oh hi sledge"
{
	+silent
	States
	{
	Select:
		PUNT A 0 A_Raise
		PUNT A 1 A_Raise
		Loop
	Ready:
		PUNT A 1 A_WeaponReady
		Loop
	Deselect:
		PUNT A 0 A_Lower
		PUNT A 1 A_Lower
		Loop
	Fire:
		PUNT A 1
		PUNT BCD 2
		Looper:
		TNT1 A 7
		PUNT A 0 A_WeaponSound(HAMSWG)
		PUNT EF 2
		PUNT G 2 A_WeaponMeleeAttack(75,1,5.0,HAMHIT,96.0)
		PUNT HIJK 1
		TNT1 A 15
		PUNT A 0 A_Refireto(looper)
		PUNT DCBA 2
		Goto Ready
	}
}

#define A_RifleFire { \
	A_GunFlash \
	A_weaponsound("PISFIR",0) \
	A_WeaponBulletAttack(0.4,0.4,1,8,3)\
	A_WeaponAlert \
	A_ConsumeAmmo \
}

weapon CombatRifle "M15 rifle"
{	
	ammotype AM_CLIP
	ammopershot 1
	clear states
        states
        {
        ready:
			CBRG A 1 A_WeaponReady
			wait
		deselect:
			CBRG A 0 A_Lower
			CBRG A 1 A_Lower
		loop
		select:
			CBRG A 0 A_Raise
			CBRG A 1 A_Raise
		loop
		Fire:
			CBRG A 1 A_RifleFire
			CBRG BCD 1
			TNT1 A 0 A_ReFireTo(RifleBurst)
			TNT1 A 0 A_CheckReload
			CBRG EA 1
		GoTo Ready
		RifleBurst:
			CBRG A 1 A_RifleFire
			CBRG BCD 1
			TNT1 A 0 A_CheckReload
			CBRG A 1 A_RifleFire
			CBRG BCD 1
			TNT1 A 0 A_CheckReload
			CBRG E 1
			CBRG A 9
		GoTo Ready
		flash1cr:
			CBRF A 2 Bright A_Light2
			TNT1 A 0 Bright A_Light0
			goto lightdone
		flash2cr:
			CBRF B 2 Bright A_Light2
			TNT1 A 0 Bright A_Light0
			goto lightdone
		flash: //flash decider.
			TNT1 A 0 A_WeaponJump(flash1cr, 128)
    		TNT1 A 0 A_WeaponJump(flash2cr, 127)
		}
}

#define A_NewShotgunFire { \
	A_GunFlash \
	A_weaponsound("SHTFIR",0) \
	A_WeaponBulletAttack(6.0,1.0,14,4,3)\
	A_WeaponAlert \
	A_ConsumeAmmo \
}

weapon RiotGun "Atchinson-12M"
{
	ammotype AM_SHELL
	ammopershot 1
	clear states
        states
        {
        ready:
			SHTG A 1 A_WeaponReady
			wait
		deselect:
			SHTG A 0 A_Lower
			SHTG A 1 A_Lower
		loop
		select:
			SHTG A 0 A_Raise
			SHTG A 1 A_Raise
		loop
		Fire:
			SHTG A 2 A_NewShotgunFire
			SHTG B 1
			SHTG C 3
			TNT1 A 0 A_CheckReload
			SHTG DEFGH 1
			SHTG I 2
			TNT1 A 0 A_WeaponProjectile(ShotgunPumpDummy1)
			SHTG JKLM 1
			SHTG N 3
			TNT1 A 0 A_WeaponProjectile(ShotgunPumpDummy2)
			SHTG MLKJ 1
			SHTG I 2
			SHTG HGFED 1
			SHTG CA 2
			SHTG A 0 A_ReFire
		GoTo Ready
		Flash:
			SHTF A 2 Bright A_Light2
			TNT1 A 0 A_Light0
			goto lightdone
		}
}

#define A_BurstShotgunFire { \
	A_GunFlash \
	A_weaponsound("BSGFIR",0) \
	A_WeaponBulletAttack(16.0,8.0,14,6,3)\
	A_WeaponAlert \
	A_ConsumeAmmo \
}

weapon BurstShotgun "Rowan M12C"
{
	ammotype AM_SHELL
	ammopershot 1
	clear states
        states
        {
        ready:
			BSHG A 1 A_WeaponReady
			wait
		deselect:
			BSHG A 0 A_Lower
			BSHG A 1 A_Lower
		loop
		select:
			BSHG A 0 A_Raise
			BSHG A 1 A_Raise
		loop
		Fire:
			BSHG A 1 A_BurstShotgunFire
			BSHG A 1 Offset(1,38)
			BSHG A 1 Offset(1,35)
			TNT1 A 0 A_CheckReload
			BSHG A 1 A_BurstShotgunFire
			BSHG A 1 Offset(1,38)
			BSHG A 1 Offset(1,35)
			TNT1 A 0 A_CheckReload
			BSHG A 1 A_BurstShotgunFire
			BSHG A 1 Offset(1,38)
			BSHG A 1 Offset(1,35)
			BSHG A 1 A_BurstShotgunFire
			BSHG A 1 Offset(1,38)
			BSHG A 1 Offset(1,35)
			TNT1 A 0 A_CheckReload
			BSHG A 2 Offset(1,42)
			BSHG A 1 Offset(1,38)
			BSHG A 1 Offset(1,34)
			BSHG B 3
			BSHG CD 3
			BSHG EF 2
			BSHG G 3
			TNT1 A 0 A_WeaponProjectile(BurstShotgunDummy1)
			BSHG HI 2
			BSHG J 4
			TNT1 A 0 A_WeaponProjectile(BurstShotgunDummy2)
			BSHG K 2 
			BSHG LMNOPQ 1
			BSHG R 3
			BSHG STDCB 2
			BSHG A 1
			BSHG A 0 A_ReFire
		GoTo Ready
		flashsmallbsg:
			BSHF A 2 Bright A_Light2
			TNT1 A 0 Bright A_Light0
			goto lightdone
		flashbigbsg:
			BSHF B 2 Bright A_Light2
			TNT1 A 0 Bright A_Light0
			goto lightdone
		flash: //flash decider.
			TNT1 A 0 A_WeaponJump(flashsmallbsg, 128)
    		TNT1 A 0 A_WeaponJump(flashbigbsg, 127)
		}
}

#define A_MGFireAccurate { \
	A_GunFlash \
	A_weaponsound("ARFIR",0) \
	A_WeaponBulletAttack(0.0,0.0,1,7,3)\
	A_WeaponAlert \
	A_ConsumeAmmo \
}

#define A_MGFireSustained { \
	A_GunFlash \
	A_weaponsound("ARFIR",0) \
	A_WeaponBulletAttack(5.0,0.0,1,7,3)\
	A_WeaponAlert \
	A_ConsumeAmmo \
}

weapon MachineGun "M3 LMG"
 {
 	ammotype AM_CLIP
	ammopershot 1
 	clear states
 	states
 	{
		ready:
			MG3G A 1 A_WeaponReady
			wait
		deselect:
			MG3G C 0 A_Lower
			MG3G C 1 A_Lower
			loop
		select:
			MG3G C 0 A_Raise
			MG3G C 1 A_Raise
			loop
		fire:
			MG3G A 1 A_MGFireAccurate
			MG3G BC 1
			TNT1 A 0 A_CheckReload
			TNT1 A 0 A_RefireTo(sustainedfire)
			goto ready
		sustainedfire:
			MG3G A 1 A_MGFireSustained
			MG3G BC 1
			TNT1 A 0 A_CheckReload
			TNT1 A 0 A_RefireTo(sustainedfire)
			MG3G A 1 Offset(1,36)
			MG3G A 1 Offset(1,35)
			MG3G A 1 Offset(1,34)
			MG3G A 1 Offset(1,33)
			goto ready		
		flashsmall:
			MG3F A 2 Bright A_Light2
			TNT1 A 0 Bright A_Light0
			goto lightdone
		flashbig:
			MG3F B 2 Bright A_Light2
			TNT1 A 0 Bright A_Light0
			goto lightdone
		flash: //flash decider.
			TNT1 A 0 A_WeaponJump(flashsmall, 128)
    		TNT1 A 0 A_WeaponJump(flashbig, 127)
 	}
}

thing NewRocket{+MISSILE}
thing NewRocketTrail {}
weapon RPGLauncher "XM250 RPGLS"
 {
 	ammotype AM_MISL
 	ammopershot 1
 	clear states
 	states
 	{
		ready:
			RRGL A 1 A_WeaponReady
			loop
		deselect:
			RRGL A 0 A_Lower
			RRGL A 1 A_Lower
			loop
		select:
			RRGL A 0 A_Raise
			RRGL A 1 A_Raise
			loop
		fire:
			RRGL A 3 Bright {
            				A_WeaponProjectile(NewRocket)
            				A_GunFlash
            				A_WeaponSound("RLFIRE",0)
            				A_ConsumeAmmo
					 }
			RRGL A 2 Offset(1,42)
			RRGL A 2 Offset(1,38)
			RRGL A 2 Offset(1,34)
			RRGL A 4
			TNT1 A 0 A_WeaponProjectile(RocketLoadDummy1)
			RRGL BCDE 2
			TNT1 A 0 A_WeaponProjectile(RocketLoadDummy2)
			RRGL FGHIJKBA 2
			TNT1 A 0 A_ReFire
			goto ready
		flash:
			RRGF A 3 Bright A_Light1
			RRGF B 2 Bright A_Light2
			RRGF CD 2 Bright
			TNT1 A 0 A_Light0
			goto lightdone
		}
}
thing NewRocket
{
		radius 8
		height 8
		damage 40
		speed 35
		+NOBLOCKMAP
		+DROPOFF
		+NOGRAVITY
		deathsound RCKHIT
	clear states
	states
	{
		Spawn:
			NRCK A 1 Bright A_SpawnObject(NewRocketTrail)
			Loop
		Death:
			NRCK B 1 Bright A_RadiusDamage(200, 128)
			NRCK B 2 Bright
			NRCK CDEFG 3 Bright
			TNT1 A 20
		stop
	}
}

thing NewRocketTrail
{
		radius 4
		height 4
		+NOBLOCKMAP
		+DROPOFF
		+NOGRAVITY
		+TRANSLUCENT
	clear states
	states
	{
		Spawn:
		TNT1 A 2
		NRCT ABCDEFG 1 Bright
		stop
	}
}

thing DieselBolt{+MISSILE}
thing DieselBoltTrail {}
weapon DieselThrower "Diesel firebomb launcher"
 {
 	ammotype AM_CELL
 	ammopershot 1
 	clear states
 	states
 	{
		ready:
			FBTG A 1 A_WeaponReady
			loop
		deselect:
			FBTG A 0 A_Lower
			FBTG A 1 A_Lower
			loop
		select:
			FBTG A 0 A_Raise
			FBTG A 1 A_Raise
			loop
		fire:
			FBTL A 1 Bright {
            				A_WeaponProjectile(DieselBolt, 0.0, 0.0, -6.5)
            				A_GunFlash
            				A_WeaponSound("FBTFIR",0)
            				A_ConsumeAmmo
					 }
			FBTL BC 1
			FBTG A 1
			TNT1 A 0 A_CheckReload
			FBTR A 1 Bright {
            				A_WeaponProjectile(DieselBolt, 0.0, 0.0, 6.5)
            				A_GunFlash
            				A_WeaponSound("FBTFIR",0)
            				A_ConsumeAmmo
					 }
			FBTR BC 1
			FBTG A 1
			TNT1 A 0 A_CheckReload
			TNT1 A 0 A_ReFire
			FBTG ABC 3
			TNT1 A 0 A_WeaponSound("FBCOOL",0)
			FBTG DE 2
			FBTG F 15
			FBTG EDCBA 2
			goto ready
		flash:
			TNT1 A 2 Bright A_Light2
			TNT1 A 0 Bright A_Light0
			goto lightdone
		}
}
thing DieselBolt
{
		radius 8
		height 8
		damage 8
		speed 30
		splashgroup 100
		+NOBLOCKMAP
		+DROPOFF
		+Nogravity
		deathsound FBTHIT
	clear states
	states
	{
		Spawn:
			FLAM ABCD 2 Bright A_SpawnObject(DieselBoltTrail)
			Loop
		Death:
		FLAM E 3 Bright A_RadiusDamage(5,16)
		FLAM F 3 Bright A_RadiusDamage(5,16)
		FLAM G 3 Bright A_RadiusDamage(5,16)
		FLAM H 3 Bright A_RadiusDamage(5,16)
		FLAM I 3 Bright A_RadiusDamage(5,16)
		FLAM J 3 Bright
		TNT1 A 20
		stop
	}
}

thing DieselBoltTrail
{
		radius 4
		height 4
		+NOBLOCKMAP
		+DROPOFF
		+NOGRAVITY
		+TRANSLUCENT
		+lograv
	clear states
	states
	{
		Spawn:
		TNT1 A 2
		FTRL ABCD 1 Bright
		stop
	}
}

thing Firebomb{+MISSILE}
thing LingeringFlames {}
weapon PrototypeBFG "Diesel-powered BFG prototype"
 {
 	ammotype AM_CELL
 	ammopershot 40
 	clear states
 	states
 	{
		ready:
			BFFS A 1 A_WeaponReady
			loop
		deselect:
			BFFS A 0 A_Lower
			BFFS A 1 A_Lower
			loop
		select:
			BFFS A 0 A_Raise
			BFFS A 1 A_Raise
			loop
		fire:
			BFFS A 0 A_WeaponProjectile(BFGDummy1)
			BFFS BEDCFIJKACH 1
			BFFS ABCDEFGHIJK 2
			BFFA A 2 Bright {
            				A_WeaponProjectile(Firebomb)
            				A_GunFlash
            				A_WeaponSound("BFFIRE",0)
            				A_ConsumeAmmo
					 }
			BFFA B 2 Bright
			BFFA A 2 Bright {
            				A_WeaponProjectile(Firebomb)
            				A_GunFlash
            				A_WeaponSound("BFFIRE",0)
					 }
			BFFA B 2 Bright
			BFFA A 2 Bright {
            				A_WeaponProjectile(Firebomb)
            				A_GunFlash
            				A_WeaponSound("BFFIRE",0)
					 }
			BFFA B 2 Bright
			BFFA A 2 Bright {
            				A_WeaponProjectile(Firebomb)
            				A_GunFlash
            				A_WeaponSound("BFFIRE",0)
					 }
			BFFA B 2 Bright
			BFFA A 2 Bright {
            				A_WeaponProjectile(Firebomb)
            				A_GunFlash
            				A_WeaponSound("BFFIRE",0)
					 }
			BFFA B 2 Bright
			BFFA A 2 Bright {
            				A_WeaponProjectile(Firebomb)
            				A_GunFlash
            				A_WeaponSound("BFFIRE",0)
					 }
			BFFA B 2 Bright
			BFFC ABC 3
			BFFC D 4
			TNT1 A 0 A_WeaponSound("BFCOOL")
			BFFC EFGHIJK 2
			BFFS A 2
			TNT1 A 0 A_ReFire			
			goto ready
		flash:
			TNT1 A 5 Bright A_Light1
			TNT1 A 0 Bright A_Light0
			goto lightdone
		}
}
thing Firebomb
{
		radius 8
		height 8
		damage 30
		speed 30
		splashgroup 100
		+NOBLOCKMAP
		+nogravity
		+DROPOFF
		deathsound BFHIT
	clear states
	states
	{
		Spawn:
			GREN A 2 Bright { 
				A_SpawnObject(DieselBoltTrail)
				A_SpawnObject(DieselBoltTrail , 0.0, -15.0)
				A_SpawnObject(DieselBoltTrail , 0.0, -30.0)
				A_SpawnObject(DieselBoltTrail , 0.0, -45.0)
				A_SpawnObject(NewRocketTrail)
				}
			Loop
		Death:
			NRCK B 3 A_RadiusDamage(150, 100)
				TNT1 A 0
				{	
					A_SpawnObject(LingeringFlames, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -5.0)
					A_SpawnObject(LingeringFlames, 0.0, 0.0, 0.0, 4.0, 10.0, 0.0, -5.0)
					A_SpawnObject(LingeringFlames, 70.0, 0.0, 0.0, 4.0, 10.0, 0.0, -5.0)
					A_SpawnObject(LingeringFlames, 140.0, 0.0, 0.0, 4.0, 10.0, 0.0, -5.0)
					A_SpawnObject(LingeringFlames, 210.0, 0.0, 0.0, 4.0, 10.0, 0.0, -5.0)
					A_SpawnObject(LingeringFlames, 280.0, 0.0, 0.0, 4.0, 10.0, 0.0, -5.0)
				}
				NRCK CDEFG 3 bright
				TNT1 A 20
		stop
	}
}

thing LingeringFlames "Toasty!"
{
		radius 11
		height 8
		speed 25
		+MISSILE
		+NOBLOCKMAP
		+DROPOFF
		+NOGRAVITY
		+LOGRAV
		+FORCERADIUSDMG
		deathsound BFBURN
		
		states
			{
			spawn:
				GFLM A 1 bright
			loop
			death:
				GFLM BC 3 Bright 
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM DE 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM FG 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM DE 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM FG 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM DE 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM FG 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM DE 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM FG 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM DE 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM FG 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM HI 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM JK 3 Bright
				TNT1 A 0 A_RadiusDamage(10, 80)
				GFLM LMNO 3 Bright
			stop
			}
}