
// The Cleric's Flame Strike ------------------------------------------------

ACTOR CWeapFlame : ClericWeapon
{
	+NOGRAVITY
	Weapon.SelectionOrder 1000
	Weapon.AmmoUse 4
	Weapon.AmmoGive 25
	Weapon.KickBack 150
	Weapon.YAdjust 10
	Weapon.AmmoType1 "Mana2"
	Inventory.PickupMessage "$TXT_WEAPON_C3"
	Tag "$TAG_CWEAPFLAME"

	action native A_CFlameAttack();

	States
	{
	Spawn:
		WCFM ABCDEFGH 4 Bright
		Loop
	Select:
		CFLM A 1 A_Raise
		Loop
	Deselect:
		CFLM A 1 A_Lower
		Loop
	Ready:
		CFLM AAAABBBBCCCC 1 A_WeaponReady
		Loop
	Fire:
		CFLM A 2 Offset (0, 40)
		CFLM D 2 Offset (0, 50)
		CFLM D 2 Offset (0, 36)
		CFLM E 4 Bright
		CFLM F 4 Bright A_CFlameAttack
		CFLM E 4 Bright
		CFLM G 2 Offset (0, 40)
		CFLM G 2
		Goto Ready
	}
}

// Floor Flame --------------------------------------------------------------

ACTOR CFlameFloor
{
	+NOBLOCKMAP +NOGRAVITY
	RenderStyle Add
	States
	{
	Spawn:
		CFFX N 5 Bright
		CFFX O 4 Bright
		CFFX P 3 Bright
		Stop
	}
}

// Flame Puff ---------------------------------------------------------------

ACTOR FlamePuff
{
	Radius 1
	Height 1
	+NOBLOCKMAP +NOGRAVITY
	RenderStyle Add
	SeeSound "ClericFlameExplode"
	AttackSound "ClericFlameExplode"
	States
	{
	Spawn:
		CFFX ABC 3 Bright
		CFFX D 4 Bright
		CFFX E 3 Bright
		CFFX F 4 Bright
		CFFX G 3 Bright
		CFFX H 4 Bright
		CFFX I 3 Bright
		CFFX J 4 Bright
		CFFX K 3 Bright
		CFFX L 4 Bright
		CFFX M 3 Bright
		Stop
	}
}

// Flame Puff 2 -------------------------------------------------------------

ACTOR FlamePuff2 : FlamePuff
{
	States
	{
	Spawn:
		CFFX ABC 3 Bright
		CFFX D 4 Bright
		CFFX E 3 Bright
		CFFX F 4 Bright
		CFFX G 3 Bright
		CFFX H 4 Bright
		CFFX IC 3 Bright
		CFFX D 4 Bright
		CFFX E 3 Bright
		CFFX F 4 Bright
		CFFX G 3 Bright
		CFFX H 4 Bright
		CFFX I 3 Bright
		CFFX J 4 Bright
		CFFX K 3 Bright
		CFFX L 4 Bright
		CFFX M 3 Bright
		Stop
	}
}

// Circle Flame -------------------------------------------------------------

ACTOR CircleFlame
{
	Radius 6
	Damage 2
	DamageType "Fire"
	Projectile
	-ACTIVATEIMPACT
	-ACTIVATEPCROSS
	RenderStyle Add
	DeathSound "ClericFlameCircle"
	Obituary "$OB_MPCWEAPFLAME"

	action native A_CFlameRotate();

	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 QR 3 Bright
		CFCF S 3 Bright A_Explode(20, 20, 0)
		CFCF TUVWXYZ 3 Bright
		Stop
	}
}

// Flame Missile ------------------------------------------------------------

ACTOR CFlameMissile : FastProjectile native
{
	Speed 200
	Radius 14
	Height 8
	Damage 8
	DamageType "Fire"
	+INVISIBLE
	RenderStyle Add
	Obituary "$OB_MPCWEAPFLAME"

	action native A_CFlamePuff();
	action native A_CFlameMissile();

	States
	{
	Spawn:
		CFFX A 4 Bright
		CFFX A 1 A_CFlamePuff
		Goto Death + 1
	Death:
		CFFX A 1 Bright A_CFlameMissile
		CFFX ABC 3 Bright
		CFFX D 4 Bright
		CFFX E 3 Bright
		CFFX F 4 Bright
		CFFX G 3 Bright
		CFFX H 4 Bright
		CFFX I 3 Bright
		CFFX J 4 Bright
		CFFX K 3 Bright
		CFFX L 4 Bright
		CFFX M 3 Bright
		Stop
	}
}
