
// Mage Weapon Piece --------------------------------------------------------

ACTOR MageWeaponPiece : WeaponPiece
{
	Inventory.PickupSound "misc/w_pkup"
	Inventory.PickupMessage "$TXT_BLOODSCOURGE_PIECE"
	Inventory.ForbiddenTo FighterPlayer, ClericPlayer
	WeaponPiece.Weapon MWeapBloodscourge
	+FLOATBOB
	+NOGRAVITY
}

// Mage Weapon Piece 1 ------------------------------------------------------

ACTOR MWeaponPiece1 : MageWeaponPiece 21
{
	Game Hexen
	SpawnID 37
	WeaponPiece.Number 1
	States
	{
	Spawn:
		WMS1 A -1 Bright
		Stop
	}
}

// Mage Weapon Piece 2 ------------------------------------------------------

ACTOR MWeaponPiece2 : MageWeaponPiece 22
{
	Game Hexen
	SpawnID 38
	WeaponPiece.Number 2
	States
	{
	Spawn:
		WMS2 A -1 Bright
		Stop
	}
}

// Mage Weapon Piece 3 ------------------------------------------------------

ACTOR MWeaponPiece3 : MageWeaponPiece 23
{
	Game Hexen
	SpawnID 39
	WeaponPiece.Number 3
	States
	{
	Spawn:
		WMS3 A -1 Bright
		Stop
	}
}

// Bloodscourge Drop --------------------------------------------------------

ACTOR BloodscourgeDrop
{
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 1 A_DropWeaponPieces("MWeaponPiece1", "MWeaponPiece2", "MWeaponPiece3")
		Stop
	}
}

// The Mages's Staff (Bloodscourge) -----------------------------------------

ACTOR MWeapBloodscourge : MageWeapon native
{
	Game Hexen
	Health 3
	Weapon.SelectionOrder 3100
	Weapon.AmmoUse1 15
	Weapon.AmmoUse2 15
	Weapon.AmmoGive1 20
	Weapon.AmmoGive2 20
	Weapon.KickBack 150
	Weapon.YAdjust 20
	Weapon.AmmoType1 "Mana1"
	Weapon.AmmoType2 "Mana2"
	+WEAPON.PRIMARY_USES_BOTH
	+Inventory.NoAttenPickupSound
	Inventory.PickupMessage "$TXT_WEAPON_M4"
	Inventory.PickupSound "WeaponBuild"
	Tag "$TAG_MWEAPBLOODSCOURGE"

	action native A_MStaffAttack();
	action native A_MStaffPalette();

	States
	{
	Spawn:
		TNT1 A -1
		Stop
	Select:
		MSTF A 1 A_Raise
		Loop
	Deselect:
		MSTF A 1 A_Lower
		Loop
	Ready:
		MSTF AAAAAABBBBBBCCCCCCDDDDDDEEEEEEFFFFF 1 A_WeaponReady
		Loop
	Fire:
		MSTF G 4 Offset (0, 40)
		MSTF H 4 Bright Offset (0, 48) A_MStaffAttack
		MSTF H 2 Bright Offset (0, 48) A_MStaffPalette
		MSTF II 2 Offset (0, 48) A_MStaffPalette
		MSTF I 1 Offset (0, 40)
		MSTF J 5 Offset (0, 36)
		Goto Ready
	}
}

// Mage Staff FX2 (Bloodscourge) --------------------------------------------

ACTOR MageStaffFX2 native
{
	Speed 17
	Height 8
	Damage 4
	DamageType "Fire"
	Projectile
	+SEEKERMISSILE
	+SCREENSEEKER
	+EXTREMEDEATH
	DeathSound "MageStaffExplode"
	Obituary "$OB_MPMWEAPBLOODSCOURGE"

	action native A_MStaffTrack();

	States
	{
	Spawn:
		MSP2 ABCD 2 Bright A_MStaffTrack
		Loop
	Death:
		MSP2 E 4 Bright A_SetTranslucent(1,1)
		MSP2 F 5 Bright A_Explode (80, 192, 0)
		MSP2 GH 5 Bright
		MSP2 I 4 Bright
		Stop
	}
}
