// The Cleric's Serpent Staff ----------------------------------------------- class CWeapStaff : ClericWeapon { Default { Weapon.SelectionOrder 1600; Weapon.AmmoUse1 1; Weapon.AmmoGive1 25; Weapon.KickBack 150; Weapon.YAdjust 10; Weapon.AmmoType1 "Mana1"; Inventory.PickupMessage "$TXT_WEAPON_C2"; Obituary "$OB_MPCWEAPSTAFFM"; Tag "$TAG_CWEAPSTAFF"; } action native void A_CStaffInitBlink(); action native void A_CStaffCheckBlink(); action native void A_CStaffCheck(); action native void A_CStaffAttack(); States { Spawn: WCSS A -1; Stop; Select: CSSF C 1 A_Raise; Loop; Deselect: CSSF B 3; CSSF C 4; CSSF C 1 A_Lower; Wait; Ready: CSSF C 4; CSSF B 3 A_CStaffInitBlink; CSSF AAAAAAA 1 A_WeaponReady; CSSF A 1 A_CStaffCheckBlink; Goto Ready + 2; Fire: CSSF A 1 Offset (0, 45) A_CStaffCheck; CSSF J 1 Offset (0, 50) A_CStaffAttack; CSSF J 2 Offset (0, 50); CSSF J 2 Offset (0, 45); CSSF A 2 Offset (0, 40); CSSF A 2 Offset (0, 36); Goto Ready + 2; Blink: CSSF BBBCCCCCBBB 1 A_WeaponReady; Goto Ready + 2; Drain: CSSF K 10 Offset (0, 36); Goto Ready + 2; } } // Serpent Staff Missile ---------------------------------------------------- class CStaffMissile : Actor native { Default { Speed 22; Radius 12; Height 10; Damage 5; RenderStyle "Add"; Projectile; DeathSound "ClericCStaffExplode"; Obituary "$OB_MPCWEAPSTAFFR"; } States { Spawn: CSSF DDEE 1 Bright A_CStaffMissileSlither; Loop; Death: CSSF FG 4 Bright; CSSF HI 3 Bright; Stop; } } // Serpent Staff Puff ------------------------------------------------------- class CStaffPuff : Actor { Default { +NOBLOCKMAP +NOGRAVITY +PUFFONACTORS RenderStyle "Translucent"; Alpha 0.6; SeeSound "ClericCStaffHitThing"; } States { Spawn: FHFX STUVW 4; Stop; } }