// Mage Weapon Piece -------------------------------------------------------- class MageWeaponPiece : WeaponPiece { Default { Inventory.PickupSound "misc/w_pkup"; Inventory.PickupMessage "$TXT_BLOODSCOURGE_PIECE"; Inventory.ForbiddenTo "FighterPlayer", "ClericPlayer"; WeaponPiece.Weapon "MWeapBloodscourge"; +FLOATBOB } } // Mage Weapon Piece 1 ------------------------------------------------------ class MWeaponPiece1 : MageWeaponPiece { Default { WeaponPiece.Number 1; } States { Spawn: WMS1 A -1 Bright; Stop; } } // Mage Weapon Piece 2 ------------------------------------------------------ class MWeaponPiece2 : MageWeaponPiece { Default { WeaponPiece.Number 2; } States { Spawn: WMS2 A -1 Bright; Stop; } } // Mage Weapon Piece 3 ------------------------------------------------------ class MWeaponPiece3 : MageWeaponPiece { Default { WeaponPiece.Number 3; } States { Spawn: WMS3 A -1 Bright; Stop; } } // Bloodscourge Drop -------------------------------------------------------- class BloodscourgeDrop : Actor { States { Spawn: TNT1 A 1; TNT1 A 1 A_DropWeaponPieces("MWeaponPiece1", "MWeaponPiece2", "MWeaponPiece3"); Stop; } } // The Mages's Staff (Bloodscourge) ----------------------------------------- class MWeapBloodscourge : MageWeapon native { Default { 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"; } native void A_MStaffAttack(); native void 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) -------------------------------------------- class MageStaffFX2 : Actor native { Default { Speed 17; Height 8; Damage 4; DamageType "Fire"; Projectile; +SEEKERMISSILE +SCREENSEEKER +EXTREMEDEATH DeathSound "MageStaffExplode"; Obituary "$OB_MPMWEAPBLOODSCOURGE"; } native void 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; } }