Update NUI spellbook notes. Magic staves are quarterstaves. Champion of Torm & Eldritch Knight were missing a fighter bonus feat. Added an entry for Risen Reunited in epicspells.2da. Fixed icon for ImpCrit Goad. Unseen Seen & Ult. Magus's spellcasting marker feats names were swapped. Added more sanity checking to Luminous Armor. Updated Warforged & Warforged Chargers descriptions. Enlightened Fist requires Arcane CL 2 not 2nd Circle spells. No such thing as Luck AC in NWN. Added sanity check for Blackguard's Aura. Updated NUI spellcasting menu.
88 lines
3.3 KiB
Plaintext
88 lines
3.3 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Shillelagh
|
|
//:: Spell FileName PHS_S_Shillelagh
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
Range: Touch, Target: One touched nonmagical oak club or quarterstaff
|
|
Duration: 1 min./level
|
|
|
|
Your own nonmagical club or quarterstaff becomes a weapon with a +1
|
|
enhancement bonus on attack and damage rolls. It deals extra damage as if it
|
|
were two size categories larger (a club would add 1d4 damage, a quarterstaff
|
|
adds 1d6 points of damage), and +1 for its enhancement bonus. These effects
|
|
only occur when the weapon is wielded by you, and if you drop the weapon or
|
|
it is disarmed, it loses its enchantment.
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
As the spell states.
|
|
|
|
It adds damage for:
|
|
- Normal Club: +1d4 (minimum random)
|
|
- Normal quarterstaff +1d6.
|
|
|
|
Because club is small (and usually does 1d6) and quarterstaff is medium and
|
|
2 handed.
|
|
|
|
Also gets +1 enchantment bonus. Quite powerful, but only non-magical weapons
|
|
work with it (and only 1 minute/level).
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "PHS_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell hook check
|
|
if(!PHS_SpellHookCheck(PHS_SPELL_SHILLELAGH)) return;
|
|
|
|
// Declare Major Variables
|
|
object oCaster = OBJECT_SELF;
|
|
object oTarget = GetSpellTargetObject();
|
|
int nCasterLevel = PHS_GetCasterLevel();
|
|
int nMetaMagic = PHS_GetMetaMagicFeat();
|
|
int nItemType = GetBaseItemType(oTarget);
|
|
|
|
// Duration is 1 minutes a level
|
|
float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel, nMetaMagic);
|
|
|
|
// Duration effect for dispelling
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
|
|
|
// Signal event
|
|
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_SHILLELAGH, FALSE);
|
|
|
|
// Make sure the target is a valid item
|
|
if(GetIsObjectValid(oTarget) && GetObjectType(oTarget) == OBJECT_TYPE_ITEM)
|
|
{
|
|
// What sort of item is it? is it a valid one!
|
|
if(nItemType == BASE_ITEM_CLUB ||
|
|
nItemType == BASE_ITEM_QUARTERSTAFF
|
|
nItemType == BASE_ITEM_MAGICSTAFF)
|
|
{
|
|
// Cannot be enchanted
|
|
if(!PHS_IP_GetIsEnchanted(oTarget))
|
|
{
|
|
// We add 1d4 for a club, and 1d6 for a quarterstaff damage, +1 enchatment each
|
|
itemproperty IP_Damage;
|
|
if(nItemType == BASE_ITEM_CLUB)
|
|
{
|
|
IP_Damage = ItemPropertyDamageBonus(IP_CONST_DAMAGEBONUS_1d4, IP_CONST_DAMAGETYPE_BLUDGEONING);
|
|
}
|
|
else
|
|
{
|
|
IP_Damage = ItemPropertyDamageBonus(IP_CONST_DAMAGEBONUS_1d6, IP_CONST_DAMAGETYPE_BLUDGEONING);
|
|
}
|
|
itemproperty IP_Enchantment = ItemPropertyEnhancementBonus(1);
|
|
|
|
// Apply effects
|
|
PHS_ApplyDuration(oTarget, eDur, fDuration);
|
|
AddItemProperty(DURATION_TYPE_TEMPORARY, IP_Damage, oTarget, fDuration);
|
|
AddItemProperty(DURATION_TYPE_TEMPORARY, IP_Damage, oTarget, fDuration);
|
|
}
|
|
}
|
|
}
|
|
}
|