Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
83 lines
2.7 KiB
Plaintext
83 lines
2.7 KiB
Plaintext
/*
|
|
sp_shield_other
|
|
|
|
Shield Other
|
|
Abjuration
|
|
Level: Clr 2, Pal 2, Protection 2
|
|
Components: V, S, F
|
|
Casting Time: 1 standard action
|
|
Range: Close (25 ft. + 5 ft./2 levels)
|
|
Target: One creature
|
|
Duration: 1 hour/level (D)
|
|
Saving Throw: Will negates (harmless)
|
|
Spell Resistance: Yes (harmless)
|
|
|
|
This spell wards the subject and creates a
|
|
mystic connection between you and the
|
|
subject so that some of its wounds are
|
|
transferred to you. The subject gains a +1
|
|
deflection bonus to AC and a +1 resistance
|
|
bonus on saves. Additionally, the subject
|
|
takes only half damage from all wounds
|
|
and attacks (including that dealt by special
|
|
abilities) that deal hit point damage. The
|
|
amount of damage not taken by the
|
|
warded creature is taken by you. Forms of
|
|
harm that do not involve hit points, such
|
|
as charm effects, temporary ability damage,
|
|
level draining, and death effects, are not
|
|
affected. If the subject suffers a reduction
|
|
of hit points from a lowered Constitution
|
|
score, the reduction is not split with you
|
|
because it is not hit point damage. When
|
|
the spell ends, subsequent damage is no
|
|
longer divided between the subject and
|
|
you, but damage already split is not
|
|
reassigned to the subject.
|
|
If you and the subject of the spell move
|
|
out of range of each other, the spell ends.
|
|
Focus: A pair of platinum rings (worth at
|
|
least 50 gp each) worn by both you and the
|
|
warded creature.
|
|
|
|
By: Flaming_Sword
|
|
Created: Oct 19, 2008
|
|
Modified: Oct 22, 2008
|
|
|
|
*/
|
|
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
// Run the pre-spell code
|
|
PRCSetSchool(GetSpellSchool(PRCGetSpellId()));
|
|
if (!X2PreSpellCastCode()) return;
|
|
|
|
object oCaster = OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int bGuardian; //put shield guardian caster check here
|
|
int nCasterLevel = PRCGetCasterLevel(oCaster);
|
|
int nDuration = nCasterLevel;
|
|
|
|
effect eLink = EffectLinkEffects(EffectACIncrease(1, AC_DEFLECTION_BONUS), EffectSavingThrowIncrease(SAVING_THROW_ALL, 1));
|
|
eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_GLOBE_MINOR));
|
|
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_AC_BONUS), oTarget);
|
|
//add shield guardian code here
|
|
if(bGuardian)
|
|
{
|
|
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oTarget, 0.0,TRUE,-1,nCasterLevel);
|
|
}
|
|
else
|
|
{
|
|
|
|
if(CheckMetaMagic(PRCGetMetaMagicFeat(), METAMAGIC_EXTEND)) nDuration *= 2;
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, HoursToSeconds(nDuration),TRUE,-1,nCasterLevel);
|
|
}
|
|
|
|
PRCSetSchool();
|
|
}
|
|
|
|
|
|
|