forked from Jaysyn/PRC8
Updated AMS marker feats. Removed arcane & divine marker feats. Updated Dread Necromancer for epic progression. Updated weapon baseitem models. Updated new weapons for crafting & npc equip. Updated prefix. Updated release archive.
78 lines
2.6 KiB
Plaintext
78 lines
2.6 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Guidance
|
|
//:: Spell FileName PHS_S_Guidance
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
creature touched gets +1 on attack rolls, saving throws or skill checks for
|
|
9 seconds.
|
|
|
|
"This spell imbues the subject with a touch of divine guidance. The creature
|
|
gets a +1 competence bonus on a single attack roll, saving throw, or skill
|
|
check, for 9 seconds.
|
|
|
|
You can either choose attack, saving throw, or skill for the bonus applied.
|
|
NwN cannot affect "1 roll" so the duration is set to 9 seconds (and cannot
|
|
be extended)."
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
As I have said, 9 seconds (IE should be about 1 attack, skill check (EG:
|
|
use magical device, taunt) or save (or rounds of saves)).
|
|
|
|
All 3 are universal bonuses (to all saves, or all skills). 9 seconds
|
|
worth won't break a game.
|
|
|
|
This will definatly be a sub-dial spell, the duration is too small and it
|
|
is definatly not going to be a problem.
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "PHS_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell hook check.
|
|
if(!PHS_SpellHookCheck(PHS_SPELL_GUIDANCE)) return;
|
|
|
|
// Declare major variables
|
|
object oTarget = GetSpellTargetObject();
|
|
int nSpell = GetSpellId();
|
|
|
|
// Duration is a static 9 seconds - as true strike.
|
|
float fDuration = 9.0;
|
|
|
|
// Bonus effect...what is it?
|
|
effect eBonus;
|
|
// Depends on "subspell" cast
|
|
if(nSpell == PHS_SPELL_GUIDANCE_SKILL)
|
|
{
|
|
eBonus = EffectSkillIncrease(SKILL_ALL_SKILLS, 1);
|
|
}
|
|
else if(nSpell == PHS_SPELL_GUIDANCE_SAVE)
|
|
{
|
|
eBonus = EffectSavingThrowIncrease(SAVING_THROW_ALL, 1);
|
|
}
|
|
// Default to attack
|
|
else //if(nSpell == PHS_SPELL_GUIDANCE_ATTACK)
|
|
{
|
|
eBonus = EffectAttackIncrease(1, ATTACK_BONUS_MISC);
|
|
}
|
|
|
|
// Declare other effects
|
|
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
|
effect eVis = EffectVisualEffect(VFX_IMP_IMPROVE_ABILITY_SCORE);
|
|
// Link
|
|
effect eLink = EffectLinkEffects(eBonus, eCessate);
|
|
|
|
// Signal event spell cast at
|
|
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_GUIDANCE, FALSE);
|
|
|
|
// Remove previous castings (remove subspell)
|
|
PHS_RemoveSpellEffectsFromTarget(nSpell, oTarget);
|
|
|
|
// Apply effects
|
|
PHS_ApplyDurationAndVFX(oTarget, eVis, eLink, fDuration);
|
|
}
|