// Fighter Weapon Piece -----------------------------------------------------

ACTOR FighterWeaponPiece : WeaponPiece native
{
}

// Fighter Weapon Piece 1 ---------------------------------------------------

ACTOR FWeaponPiece1 : FighterWeaponPiece 12
{
	Game Hexen
	SpawnID 29
	Inventory.PickupMessage "$TXT_QUIETUS_PIECE"
	WeaponPiece.Number 1
	WeaponPiece.Weapon FWeapQuietus
	+FLOATBOB
	States
	{
	Spawn:
		WFR1 A -1 Bright
		Stop
	}
}

// Fighter Weapon Piece 2 ---------------------------------------------------

ACTOR FWeaponPiece2 : FWeaponPiece1 13
{
	Game Hexen
	SpawnID 30
	WeaponPiece.Number 2
	+FLOATBOB
	States
	{
	Spawn:
		WFR2 A -1 Bright
		Stop
	}
}

// Fighter Weapon Piece 3 ---------------------------------------------------

ACTOR FWeaponPiece3 : FWeaponPiece1 16
{
	Game Hexen
	SpawnID 31
	WeaponPiece.Number 3
	+FLOATBOB
	States
	{
	Spawn:
		WFR3 A -1 Bright
		Stop
	}
}

// Quietus Drop -------------------------------------------------------------

ACTOR QuietusDrop
{
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 1 A_DropWeaponPieces("FWeaponPiece1", "FWeaponPiece2", "FWeaponPiece3")
		Stop
	}
}

// The Fighter's Sword (Quietus) --------------------------------------------

ACTOR FWeapQuietus : FighterWeapon
{
	Health 3
	Weapon.SelectionOrder 2900
	+WEAPON.PRIMARY_USES_BOTH
	Weapon.AmmoUse1 14
	Weapon.AmmoUse2 14
	Weapon.AmmoGive1 20
	Weapon.AmmoGive2 20
	Weapon.KickBack 150
	Weapon.YAdjust 10
	Weapon.AmmoType1 "Mana1"
	Weapon.AmmoType2 "Mana2"
	Inventory.PickupMessage "$TXT_WEAPON_F4"
	Inventory.PickupSound "WeaponBuild"

	action native A_FSwordAttack();

	States
	{
	Spawn:
		TNT1 A -1
		Stop
	Select:
		FSRD A 1 Bright A_Raise
		Loop
	Deselect:
		FSRD A 1 Bright A_Lower
		Loop
	Ready:
		FSRD AAAABBBBCCCC 1 Bright A_WeaponReady
		Loop
	Fire:
		FSRD DE 3 Bright Offset (5, 36)
		FSRD F 2 Bright Offset (5, 36)
		FSRD G 3 Bright Offset (5, 36) A_FSwordAttack
		FSRD H 2 Bright Offset (5, 36)
		FSRD I 2 Bright Offset (5, 36)
		FSRD I 10 Bright Offset (5, 150)
		FSRD A 1 Bright Offset (5, 60)
		FSRD B 1 Bright Offset (5, 55)
		FSRD C 1 Bright Offset (5, 50)
		FSRD A 1 Bright Offset (5, 45)
		FSRD B 1 Bright Offset (5, 40)
		Goto Ready
	}
}

// Fighter Sword Missile ----------------------------------------------------

ACTOR FSwordMissile native
{
	Speed 30
	Radius 16
	Height 8
	Damage 8
	Projectile
	+EXTREMEDEATH
	RenderStyle Add
	DeathSound "FighterSwordExplode"

	action native A_FSwordFlames();

	States
	{
	Spawn:
		FSFX ABC 3 Bright
		Loop
	Death:
		FSFX D 4 Bright
		FSFX E 3 Bright A_FSwordFlames
		FSFX F 4 Bright A_Explode (64, 128, 0)
		FSFX G 3 Bright
		FSFX H 4 Bright
		FSFX I 3 Bright
		FSFX J 4 Bright
		FSFX KLM 3 Bright
		Stop
	}
}

// Fighter Sword Flame ------------------------------------------------------

ACTOR FSwordFlame
{
	+NOBLOCKMAP +NOGRAVITY
	RenderStyle Translucent
	Alpha 0.6
	States
	{
	Spawn:
		FSFX NOPQRSTUVW 3 Bright
		Stop
	}
}