NWNWiki
NWNWiki
3,719
pages

Spellstaff is an item property designed for an item of the same name in the Shadows of Undrentide (SoU) campaign. This property causes (up to) three spells to be cast on the user of the property, with the exact spells dependent on scripted support. (In the SoU campaign, the spells are the ones used by the player to create the spellstaff item.) Spells enhanced by metamagic feats are stored in their base form, not in their enhanced form. Shadow conjuration spells are also stored in their base form (for example, shadow conjuration: mage armor is simply stored as mage armor).

The item from the SoU campaign (a magic staff) can cast gust of wind and flame lash at caster level 10, as well as the spellstaff power, each once per day. Its use is limited to the classes that have spellbooks (DC 15 to overcome with use magic device).

Notes[]

  • The spells are "cheat cast", so have a caster level equal to innate level − 1, with a minimum of 10.
  • The spells are stored in the game's database, not on the player character, nor on the item, nor as part of a saved game. This means that the spells are remembered upon starting a new module, but are not remembered if a saved game (or character) is transferred to another computer (unless the database is also transferred). This also means that all characters with items with this property (on a single computer or on the same server) will cast the same spells; if two characters go through the SoU campaign and acquire the spellstaff, then when using the spellstaff power, both will get the spells used by the second character to create the item.
  • The SoU campaign limits which spells can be used to create a spellstaff item. The spells are limited to the non-hostile spells that can affect a placeable. Most of these must be cast directly on the Spell Orb placeable.
Spell Bard Cleric Druid Paladin Ranger Sorcerer/ Wizard Innate
Aid ~ 2 ~ 2 3 ~ 2
Barkskin ~ ~ 2 ~ ~ ~ 2
Bull's strength 2 2 2 2 ~ 2 2
Cat's grace 2 ~ ~ ~ 2 2 2
Clairaudience/clairvoyance 3 ~ ~ ~ ~ 3 3
Clarity 2 3 ~ ~ ~ 3 2
Cure critical wounds 4 4 5 ~ ~ ~ 4
Cure light wounds 1 1 1 1 1 ~ 1
Cure minor wounds 0 0 0 ~ ~ ~ 0
Cure moderate wounds 2 2 3 3 3 ~ 2
Cure serious wounds 3 3 4 4 4 ~ 3
Death ward ~ 4 5 4 ~ ~ 4
Dispel magic 3 3 4 3 ~ 3 3
Endurance ~ 2 ~ ~ ~ 2 2
Endure elements ~ 1 1 1 ~ 1 1
Freedom of movement ~ 4 4 4 4 ~ 4
Greater dispelling 5 6 6 ~ ~ 6 5
Greater planar binding ~ ~ ~ ~ ~ 8 8
Greater restoration ~ 7 ~ ~ ~ ~ 7
Haste 3 ~ ~ ~ ~ 3 3
Heal ~ 6 7 ~ ~ ~ 6
Improved invisibility 4 ~ ~ ~ ~ 4 4
Invisibility 2 ~ ~ ~ ~ 2 2
Knock ~ ~ ~ ~ ~ 2 2
Lesser dispel 1 2 2 ~ ~ 2 2
Lesser mind blank ~ ~ ~ ~ ~ 5 5
Lesser planar binding ~ ~ ~ ~ ~ 5 5
Lesser restoration ~ 2 2 ~ ~ ~ 2
Light 0 0 0 ~ ~ 0 0
Mage armor 1 ~ ~ ~ ~ 1 1
Magic circle against alignment 3 3 ~ 3 ~ 3 3
Mordenkainen's disjunction ~ ~ ~ ~ ~ 9 9
Negative energy protection ~ 3 ~ ~ ~ ~ 3
Neutralize poison 4 4 3 4 3 ~ 3
Protection from alignment 1 1 ~ 1 ~ 1 1
Protection from elements ~ 3 3 ~ 2 3 3
Raise dead ~ 5 ~ ~ ~ ~ 5
Remove curse 3 3 ~ ~ ~ 4 3
Remove disease 3 3 3 ~ 3 ~ 3
Resist elements ~ 2 2 2 1 2 2
Resistance 0 0 0 1 ~ 0 1
Restoration ~ 4 ~ ~ ~ ~ 4
Resurrection ~ 7 ~ ~ ~ ~ 7
Sanctuary ~ 1 ~ ~ ~ ~ 1
See invisibility 2 ~ ~ ~ ~ 2 2
Stoneskin ~ special 4 ~ ~ 4 4
Knock must target the caster, but it will count as long as the Spell Orb is within the area of effect.
If Mordenkainen's disjunction is cast directly on the Spell Orb, it will count as having been cast twice. It can be cast as an area of effect near the Spell Orb to be counted only once.

Custom content notes[]

  • The spell IDs (integers) of the three spells are stored in the "dbItems" database under the names "X0_L_spellstaff_SPELL1", "X0_L_spellstaff_SPELL2", and "X0_L_spellstaff_SPELL3".
  • script: X0_S3_Spellstaff.nss
  • The script that creates the Spellstaff in the SoU Interlude is x0_orb_spellcast. It is attached to a placeable object called "Spell Orb" in the "Anauroch - Excavated Ruins" area.
    • The non-hostile check is a .2da lookup that consists of making sure Get2DAString("spells", "HostileSetting", [spellId]) is not "1".