
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"
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,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 FireFlameShot 
{
Projectile
Height 6
Radius 3
Speed 25
//Scale 0.5
//RenderStyle Add
//Alpha 0.66
Damage 4
+RANDOMIZE
+NOBOSSRIP
+NODAMAGETHRUST
-BLOODSPLATTER
+BLOODLESSIMPACT
+THRUSPECIES
Species "Player"
Damagetype "Fire"
Obituary "%o was welded down."
States
	{
	Spawn:
		TNT1 A 0 Bright
		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_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
	}
}

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
	}
}