Actor Welder : Weapon 30391
{
//$Category Weapons/HEM
//$Title "Welder"
//$Sprite WLDPA0
+WEAPON.NOAUTOAIM
Weapon.SelectionOrder 7000
Weapon.PreferredSkin "Welder-Marine"
Weapon.Kickback 1
Weapon.AmmoUse 5
Weapon.AmmoUse2 1
Weapon.AmmoGive 50
Weapon.AmmoType "Gas"
Weapon.AmmoType2 "Gas"
Inventory.PickupMessage "You got the Pyro Welder"
Inventory.PickupSound "misc/w_pkup"
Obituary "%o was welded down by %k."
Tag "Pyro Welder"
States
	{
	Spawn:
		WLDP A -1
		Loop
	Ready:
		TNT1 A 0 A_StopSound(CHAN_WEAPON)
		WLDG BBCCDD 1 A_WeaponReady
		Loop
	Select: 
		WLDG A 1 A_Raise
		Loop
	Deselect:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
	DeselectLoop:
		TNT1 A 0 A_StopSound(CHAN_WEAPON)
		WLDG BCD 1 A_Lower
		Loop
	Fire:
		WLDG B 4
		WLDG CCDD 1
		Goto Hold
	Hold:
		WLDG B 1 Bright A_GunFlash
		WLDG C 1 Bright
		TNT1 A 0 A_PlaySound("Weapons/PyroSGShot",CHAN_WEAPON)
		TNT1 A 0 Radius_Quake(6,3,0,1,0)
		WLDG D 1 Bright A_FireCustomMissile("PlayerFlamethrowerShot",Random(-100,100)/100.00,1,0,0,0,Random(-100,100)/100.00)
		WLDG EFGH 2
		TNT1 A 0 A_ReFire
		WLDG A 20 A_PlaySound("weapons/dtech10ksteam",CHAN_BODY)
		WLDG AAAAAAAAAAAA 1 A_FireCustomMissile("DTech10KSteam",-58+Random(-4,4),0,0,0)
		Goto Ready
	AltFire: 
		TNT1 A 0 A_StopSound(CHAN_WEAPON)
		TNT1 A 0 A_StartFire
		WLDG B 2 Bright A_FireCustomMissile("FireFlameShot",frandom(-1.000,1.000),1,0,0,0,frandom(-0.500,0.500))
		TNT1 A 0 Bright A_PlaySound("magma/firebreath",6,1.0)
		TNT1 A 0 Bright A_PlaySound("Welder/FlameFlow",CHAN_WEAPON,1.0,1)
		Goto AltHold
	AltHold:
		WLDG FGH 1 Bright A_FireCustomMissile("FireFlameShot",frandom(-1.000,1.000),1,0,0,0,frandom(-0.500,0.500))
		TNT1 A 0 A_Refire
		TNT1 A 0 A_StopSound(CHAN_WEAPON)
		TNT1 A 0 A_PlaySound("weapons/dtech10ksteam",CHAN_WEAPON)
		WLDG AAAAA 5 A_WeaponReady
		Goto Ready
	Flash:
		TNT1 A 2 Bright A_Light1
		TNT1 A 2 Bright A_Light0
		Stop
	}
}

Actor FireSpawnerTail : CometTail { Scale 0.47 }

Actor BaseFireSpawner
{
PROJECTILE
Height 6
Radius 3
Scale 0.5
Speed 30
FastSpeed 30
Gravity 0.2
RenderStyle Add
MaxStepHeight 4
Decal "DoomImpScorch"
Damage 1
-NoGravity
+Strifedamage
+NOEXTREMEDEATH
+NODAMAGETHRUST
+DontHarmspecies
+DontHurtSpecies
Damagetype "Fire"
DeathType "Fire"
DeathSound "Welder/FlameHit"
Obituary "%o's face got charred by a falling flare."
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("Welder/PyroShotFly",CHAN_BODY,1.0,1)
	SpawnLoop:
		FRTB A 1 Bright A_SpawnItemEx("FireSpawnerTail",0,0,0)
		Loop
		/*
	Death:
		TNT1 AAA 0 Bright A_StopSound(CHAN_BODY)
		TNT1 A 0 Bright A_Stop
		TNT1 A 0 Bright A_NoGravity
		TNT1 A 0 Bright A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,128)
		TNT1 AA 0 Bright A_CustomMissile("Kaboom69",0,0,random(0,360),2,random(0,360))
		TNT1 AA 0 Bright A_CustomMissile("SmokeFX7",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 Bright A_SpawnItemEx("WelderFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER)
		TNT1 AAAA 0 Bright A_SpawnItemEx("WelderFlare",0,0,0,random(2,4),random(2,4),2,random(0,360),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,64)
		FRTM CDE 3 Bright
		Stop
		*/
	}
}

Actor PlayerFlamethrowerShot : BaseFireSpawner
{
Damage (random(40,50))
Species "Player"
DamageType ""
DamageType "PyroShot"
States
	{
	Death:
		TNT1 AAA 0 Bright A_StopSound(CHAN_BODY)
		TNT1 A 0 Bright A_Stop
		TNT1 A 0 Bright A_NoGravity
		TNT1 A 0 Bright A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AA 0 Bright A_CustomMissile("Kaboom69",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AA 0 Bright A_CustomMissile("SmokeFX7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 Bright A_SpawnItemEx("WelderFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER)
		TNT1 AAAA 0 Bright A_SpawnItemEx("WelderFlare",0,0,0,random(2,4),random(2,4),2,random(0,360),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,64)
		FRTM CDE 3 Bright
		Stop
	}
}

ACTOR FireFlameShot 
{
Projectile
Height 6
Radius 3
Speed 25
Damage 4
+RANDOMIZE
+NOBOSSRIP
+NODAMAGETHRUST
-BLOODSPLATTER
+BLOODLESSIMPACT
+THRUSPECIES
Species "Player"
Damagetype "Fire"
Obituary "%o was welded down."
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(waterlevel > 1, "Death")
		TNT1 AAAA 1 Bright A_SpawnItemEx("FireFlameStreamTrail",0,0,0,frandom(-1.0,1.0)+velx,frandom(-1.0,1.0)+vely,frandom(-1.0,1.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 1 Bright A_SpawnItemEx("FireFlameStreamTrail",0,0,0,frandom(-2.0,2.0)+velx,frandom(-2.0,2.0)+vely,frandom(-2.0,2.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 0 Bright A_SpawnItemEx("FireFlameStreamTrail",0,0,0,frandom(-3.0,3.0)+velx,frandom(-3.0,3.0)+vely,frandom(-3.0,3.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 1 Bright A_SpawnItemEx("FireFlameStreamTrail",0,0,0,frandom(-3.0,3.0)+velx,frandom(-3.0,3.0)+vely,frandom(-3.0,3.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 0 Bright A_SpawnItemEx("FireFlameStreamTrail",0,0,0,frandom(-3.0,3.0)+velx,frandom(-3.0,3.0)+vely,frandom(-3.0,3.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 A 1 Bright A_SpawnItemEx("FireFlameStreamTrail",0,0,0,frandom(-4.0,4.0)+velx,frandom(-4.0,4.0)+vely,frandom(-4.0,4.0)+velz,0,SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM,32)
		TNT1 ABCDEFGHHHHGFEDCBA 1 Bright
		Stop
	Crash:
	Death:
		TNT1 A 1 Bright
		Stop
	XDeath:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("Welder/FlameOn",CHAN_BODY,1.0,0)
		TNT1 H 1 Bright A_SpawnItemEx("WelderFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,160)
		Stop
	}
}

Actor FireFlameStreamTrail
{
Height 2
Radius 2
Speed 3
Scale 0.36
RenderStyle Add
Alpha 0.32
Decal "DoomImpScorch"
Damage (0)
+MISSILE
+DROPOFF
+NOGRAVITY
+DONTSPLASH
+NOTELEPORT
+NOBLOCKMAP
+CANNOTPUSH
+NODAMAGETHRUST
+BLOODLESSIMPACT
+RIPPER
-NOCLIP
-ACTIVATEIMPACT
-ACTIVATEPCROSS
+THRUSPECIES
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
+NONETID
Species "Player"
Damagetype "Fire"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AA 0 Bright A_Jump(256,"Spawn1","Spawn2","Spawn3")
		Goto Spawn1
	Spawn1:
		65P1 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 Bright
		Goto Death
	Spawn2:
		65P2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 Bright
		Goto Death
	Spawn3:
		65P3 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 Bright
		Goto Death
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

Actor BaseFireFlare
{
Projectile
Height 4
Radius 2
Speed 1
Gravity 0.52
BounceFactor 0.01
WallBounceFactor 0.01
Renderstyle Add
Alpha 1.0
MaxStepHeight 4
Damage 1
+DOOMBOUNCE
+DONTFALL
-Nogravity
+Strifedamage
-NOCLIP
+Ripper
+BloodlessImpact
+NODAMAGETHRUST
-EXTREMEDEATH
+DontHurtSpecies
+DontHarmspecies
Damagetype "Fire"
DeathType "Fire"
var int user_firedamage;
States
	{
	/*Spawn:
		NULL A 0 Bright
		TNT1 A 0 Bright A_SetUserVar("user_firedamage",0)
		TNT1 A 0 Bright A_Die
		Goto Death*/
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(waterlevel > 1, "Nop")
		TNT1 A 0 Bright A_ChangeFlag(MOVEWITHSECTOR,1)
		CFCF AABBCC 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF DDEEFF 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+1)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF GGHHII 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+2)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF KKLLMM 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+3)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF AABBCC 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+4)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF DDEEFF 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+5)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF GGHHII 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+6)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF KKLLMM 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+7)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF AABBCC 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+8)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF DDEEFF 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+9)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF GGHHII 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+10)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF KKLLMM 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+11)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF AABBCC 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+12)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF DDEEFF 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+13)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF GGHHII 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+14)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF KKLLMM 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+15)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF AABBCC 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+16)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF DDEEFF 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+17)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF GGHHII 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+18)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF KKLLMM 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+19)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF AABBCC 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+20)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF DDEEFF 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+21)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF GGHHII 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+22)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF KKLLMM 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+23)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF AABBCC 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+24)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF DDEEFF 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+25)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF GGHHII 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+26)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF KKLLMM 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+27)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF AABBCC 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+28)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF DDEEFF 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+29)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF GGHHII 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+30)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF KKLLMM 1 Bright A_spawnItemEx("HemFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+31)
		TNT1 A 0 Bright A_FadeOut(0.015,0)
		TNT1 A 0 Bright A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,0,0)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(user_firedamage+random(0,5),50,1,0)
		CFCF MNOP 2 Bright
		Stop
	Nop:
		TNT1 A 1 Bright A_ChangeFlag("MISSILE",0)
		Stop
	}
}

Actor BaseFireFlareNoFX : BaseFireFlare
{
States
	{
	/*Spawn:
		NULL A 0 Bright 
		TNT1 A 0 Bright A_SetUserVar("user_firedamage",0)
		TNT1 A 0 Bright A_Die
		Goto Death*/
	Death:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
		CFCF AABBCC 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF DDEEFF 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF GGHHII 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF KKLLMM 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF AABBCC 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF DDEEFF 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF GGHHII 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF KKLLMM 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF AABBCC 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF DDEEFF 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF GGHHII 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF KKLLMM 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF AABBCC 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF DDEEFF 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF GGHHII 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF KKLLMM 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF AABBCC 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF DDEEFF 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF GGHHII 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF KKLLMM 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF AABBCC 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF DDEEFF 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF GGHHII 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF KKLLMM 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF AABBCC 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF DDEEFF 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF GGHHII 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF KKLLMM 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF AABBCC 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF DDEEFF 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF GGHHII 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF KKLLMM 1
		TNT1 A 0 A_Explode(user_firedamage+random(0,5),50,0)
		CFCF MNOP 2
		Stop
	}
}

Actor WelderFlare : BaseFireFlare
{
Species "Player"
Obituary "%o fell in the little flares from %k's Welder."
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetUserVar("user_firedamage",30)
		TNT1 A 0 Bright A_Die
		Goto Death
	}
}