Actor "Firestorm" : CWeapFlame// replaces CWeapFlame
{
	Weapon.KickBack 100
	Weapon.YAdjust 0
	+UNDROPPABLE
	Weapon.AmmoGive1 0
	Weapon.AmmoType2 "Mana2"
	Weapon.AmmoUse2 5
	Weapon.SelectionOrder 1
	Weapon.BobStyle InverseSmooth
	Weapon.BobSpeed 2.1
	Weapon.BobRangeY 0.4
	Weapon.BobRangeX 0.5
	States
	{
	Select:
		CFLM A 1 Bright A_Raise
		TNT1 A 0 A_Raise
		Loop
	Deselect:
		CFLM A 1 Bright A_Lower
		TNT1 A 0 A_Lower
		Loop
	Ready:
		CFLM AAAABBBBCCCC 1 Bright A_WeaponReady
		Loop
	Fire:
		CFLM A 1 Bright Offset(-5,40)
		CFLM A 1 Bright Offset(-3,43)
		CFLM D 1 Bright Offset(-6,48)
		CFLM D 1 Bright Offset(-4,45)
		CFLM D 1 Bright Offset(-2,41)
		CFLM D 1 Bright Offset(-1,43)
		CFLM D 0 Bright A_PlaySound("ClericFlameFire", CHAN_WEAPON)
		CFLM E 1 Bright Offset(-5,48) A_FireCustomMissile("NewCFlameMissile")//A_CFlameAttack
		CFLM E 1 Bright Offset(-3,49) A_SetPitch(Pitch-1.5)
		CFLM E 1 Bright Offset(-1,48) A_SetPitch(Pitch+.5)
		CFLM E 1 Bright Offset(-2,44) A_SetPitch(Pitch+.5)
		CFLM F 1 Bright offset(3,49) A_SetPitch(Pitch+.5)
		CFLM F 1 Bright offset(2,41)
		CFLM F 1 Bright offset(3,46)
		CFLM F 1 Bright Offset(1,45)
		CFLM E 1 Bright Offset(4,48)
		CFLM E 1 Bright Offset(2,43)
		CFLM E 1 Bright Offset(1,44)
		CFLM E 1 Bright Offset(-3,45)
		CFLM G 2 Bright Offset(0,50)
		CFLM G 2 Bright Offset(0,65)
		Goto Ready
	AltFire:
		CFLM A 1 Bright Offset(-5,40)
		CFLM A 1 Bright Offset(-3,43)
		CFLM D 1 Bright Offset(-6,48)
		CFLM D 1 Bright Offset(-4,45)
		CFLM D 1 Bright Offset(-2,41)
		CFLM D 1 Bright Offset(-1,43)
		CFLM E 0 Bright A_PlayWeaponSound("ClericFlameFire")
		CFLM F 0 Bright A_FireCustomMissile("FireStreak",0,0,-10,0)
		CFLM F 1 Bright Offset(-5,48) A_FireCustomMissile("FireStreak",0,1,10,0)
		CFLM F 1 Bright Offset(-3,49) A_SetPitch(Pitch-2.0)
		CFLM F 1 Bright Offset(-1,48) A_SetPitch(Pitch+.5)
		CFLM F 1 Bright Offset(-2,44) A_SetPitch(Pitch+.5)
		CFLM E 1 Bright Offset(-5,48) A_SetPitch(Pitch+.5)
		CFLM E 1 Bright Offset(-3,49) A_SetPitch(Pitch+.5)
		CFLM E 1 Bright Offset(-1,48)
		CFLM E 1 Bright Offset(-2,44)
		CFLM F 1 Bright offset(3,49)
		CFLM F 1 Bright offset(2,41)
		CFLM F 1 Bright offset(3,46)
		CFLM F 1 Bright Offset(1,45)
		CFLM E 1 Bright Offset(4,48)
		CFLM E 1 Bright Offset(2,43)
		CFLM E 1 Bright Offset(1,44)
		CFLM E 1 Bright Offset(-3,45)
		CFLM F 1 Bright Offset(-1,42)
		CFLM F 1 Bright Offset(-2,45)
		CFLM F 1 Bright Offset(-2,48)
		CFLM F 1 Bright Offset(-3,44)
		CFLM E 1 Bright Offset(2,49)
		CFLM E 1 Bright Offset(3,41)
		CFLM G 2 Bright Offset(0,50)
		CFLM G 2 Bright Offset(0,65)
		Goto Ready
	}
}

Actor NewCFlameMissile : CFlameMissile Replaces CFlameMissile
{
	Damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(26,46), INTELLECT, 0, WOCTARGET))
	Radius 6
	+MTHRUSPECIES
	/*+NODAMAGETHRUST*/
	+DONTBLAST
	States
	{
	Spawn:
		CFFX A 4 Bright
		CFFX A 1 Bright A_CFlamePuff
		Goto Death+1
	Crash:
    XDeath:
        TNT1 A 0 A_SpawnItemEx("NewCircleFlame",40,0,-10,0,0,0,0,28,0)
        TNT1 A 0 A_SpawnItemEx("NewCircleFlame",40,0,-10,0,0,0,45,28,0)
        TNT1 A 0 A_SpawnItemEx("NewCircleFlame",40,0,-10,0,0,0,90,28,0)
        TNT1 A 0 A_SpawnItemEx("NewCircleFlame",40,0,-10,0,0,0,135,28,0)
        TNT1 A 0 A_SpawnItemEx("NewCircleFlame",40,0,-10,0,0,0,180,28,0)
        TNT1 A 0 A_SpawnItemEx("NewCircleFlame",40,0,-10,0,0,0,225,28,0)
        TNT1 A 0 A_SpawnItemEx("NewCircleFlame",40,0,-10,0,0,0,270,28,0)
        TNT1 A 0 A_SpawnItemEx("NewCircleFlame",40,0,-10,0,0,0,315,28,0)
	Death:
		CFFX A 0 Bright A_CFlamePuff
		CFFX AAABBBCCC 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX DDDD 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX EEE 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX FFFF 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX GGG 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX HHHH 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX III 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX JJJJ 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX K 3 Bright
		CFFX L 4 Bright
		CFFX M 3 Bright
		Stop
	}
}

ACTOR FireStreak
{
	Radius 5
	Height 12
	Mass 9
	Speed 40
	damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(15,30), INTELLECT, 0, WOCTARGET))
	PROJECTILE
	RenderStyle Add
	Damagetype fire
	+MTHRUSPECIES
	+FLOORHUGGER
	+DONTBLAST
	+FORCERADIUSDMG
	ReactionTime 20
	DeathSound "ClericFlameExplode"
	States
	{
	Spawn:
		FX13 A 0 Bright A_CountDown
		FX13 a 2 Bright A_SpawnItemEx("FireStreakTrail",frandom(-2,2),frandom(-2,2),0)
		Loop
	Death:
		FX13 I 0 Bright Radius_Quake(2,10,0,3,0)
		FX13 I 2 Bright A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", 64, INTELLECT, 0, WOCTARGET), 128, 0)
		FX13 J 2 Bright
		FX13 K 2 Bright
		FX13 L 2 Bright
		FX13 M 2 Bright
		stop
	}
}

ACTOR FireStreakTrail
{
	Speed 5
	Height 3
	Radius 3
	Mass 9
	Damage 0
	PROJECTILE
	RENDERSTYLE ADD
	+FLOORHUGGER
	+clientsideonly
	+NOINTERACTION
	+DONTBLAST
	States
	{
	Spawn:
		FX13 DC 2 Bright
		FX13 BCDE 3 Bright
		FX13 FGH 2 Bright
		Stop
	Death: 
		TNTA A 1
		Stop
	}
}

actor FirestormFXSpawner
{
	+NoBlockMap +NoGravity +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +DONTBLAST
    states
	{
	Spawn:
	Active:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(Args[1], "Circle")
		TNT1 A 2
		TNT1 A 0 A_SpawnItemEx ("FirestormParticleFX", 0, 0, frandom(0, 8), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.5)*frandom(-3, 3), 0 , 129, Args[2])
		TNT1 A 0 A_SpawnItemEx ("FirestormParticleFX", 0, 0, frandom(0, 8), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.5)*frandom(-3, 3), 0 , 129, Args[2]) 
		Stop
	Circle:
		TNT1 A 0
		TNT1 A 2 A_SpawnItemEx ("NewCFlameFloorParticleFX", frandom(-Args[0], Args[0]), 0, frandom(0, 8), (0.1)*frandom(1, 3), 0, (0.1)*frandom(1, 10), 0 , 129, Args[2]) 
		Loop
	Inactive:
		TNT1 A 1
		Loop
	}    
}

ACTOR FirestormParticleFX
{
	+Missile
	+NoBlockmap
	+NoInteraction
	-Solid
	+CLIENTSIDEONLY
	+DONTBLAST
	Radius 0
	Height 0
	RenderStyle Add
	Alpha 0.8
	Scale 0.4
	Gravity 0.25
	States
	{
	Spawn:
		CFFX AABBCCDDEEFFGGHHIIJJ 1 Bright A_FadeOut(0.06)
		Stop
	}
}

actor NewCFlameFloorFXSpawner
{
	+NoBlockMap +NoGravity +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +DONTBLAST
    states
	{
	Spawn:
	Active:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(Args[1], "Circle")
		TNT1 A 2
		TNT1 A 0 A_SpawnItemEx ("NewCFlameFloorParticleFX", 0, 0, frandom(-2, -2), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.4)*frandom(-3, 3), 0 , 129, Args[2])
		TNT1 A 0 A_SpawnItemEx ("NewCFlameFloorParticleFX", 0, 0, frandom(2, 2), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.4)*frandom(-3, 3), 0 , 129, Args[2]) 
		Stop
	Circle:
		TNT1 A 0
		TNT1 A 2 A_SpawnItemEx ("NewCFlameFloorParticleFX", frandom(-Args[0], Args[0]), 0, frandom(0, 8), (0.1)*frandom(1, 3), 0, (0.1)*frandom(1, 10), 0 , 129, Args[2]) 
		Loop
	Inactive:
		TNT1 A 1
		Loop
	}   
}

ACTOR NewCFlameFloorParticleFX
{
	+Missile
	+NoBlockmap
	+NoInteraction
	-Solid
	+CLIENTSIDEONLY
	+DONTBLAST
	Radius 0
	Height 0
	RenderStyle Add
	Alpha 0.8
	Scale 0.5
	Gravity 0.25
	States
	{
	Spawn:
		CFFX NNNOOOOPPP 1 Bright A_FadeOut(0.06)
		Stop
	}
}

ACTOR NewCFlameFloor replaces CFlameFloor
{
	+NOBLOCKMAP
	+NOGRAVITY
	+DONTBLAST
	RenderStyle Add
	States
	{
	Spawn:
		CFFX NNNNN 1 Bright A_SpawnItemEx("NewCFlameFloorFXSpawner")
		CFFX OO 1 Bright A_SpawnItemEx("NewCFlameFloorFXSpawner")
		CFFX O 2 Bright
		CFFX P 3 Bright
		Stop
	}
}

Actor NewCircleFlame : CircleFlame Replaces CircleFlame
{
	Damage 0
	Radius 8
	Height 8
	+MTHRUSPECIES
	+DONTBLAST
	+NOEXPLODEFLOOR
	+FORCERADIUSDMG
	States
	{
	Spawn:
		CFCF A 4 Bright
		CFCF B 2 Bright A_CFlameRotate
		CFCF C 2 Bright
		CFCF D 1 Bright
		CFCF E 2 Bright
		CFCF F 2 Bright A_CFlameRotate
		CFCF G 1 Bright
		CFCF HI 2 Bright
		CFCF J 1 Bright A_CFlameRotate
		CFCF K 2 Bright
		CFCF LM 3 Bright
		CFCF N 2 Bright A_CFlameRotate
		CFCF O 3 Bright
		CFCF P 2 Bright
		Stop
	Death:
		CFCF Q 3 Bright A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(22,36), INTELLECT, 0, WOCTARGET), 20, 0)
		CFCF RS 3 Bright 
		CFCF TUVWXYZ 3 Bright
		Stop
	}
}