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.
54 lines
1.8 KiB
Plaintext
54 lines
1.8 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Divine Shield
|
|
//:: x0_s2_divshield.nss
|
|
//:: Copyright (c) 2002 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Up to [turn undead] times per day the character may add his Charisma bonus to his armor
|
|
class for a number of rounds equal to the Charisma bonus.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Brent
|
|
//:: Created On: Sep 13, 2002
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
|
|
if (!GetHasFeat(FEAT_TURN_UNDEAD, OBJECT_SELF))
|
|
{
|
|
SpeakStringByStrRef(40550);
|
|
}
|
|
else
|
|
if(GetHasFeatEffect(414) == FALSE)
|
|
{
|
|
//Declare major variables
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int nLevel = GetCasterLevel(OBJECT_SELF);
|
|
|
|
effect eVis = EffectVisualEffect(VFX_IMP_SUPER_HEROISM);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
|
|
|
int nCharismaBonus = GetAbilityModifier(ABILITY_CHARISMA);
|
|
|
|
if (GetHasFeat(FEAT_EPIC_DIVINE_SHIELD, OBJECT_SELF)) nCharismaBonus += nCharismaBonus;
|
|
|
|
effect eAC = EffectACIncrease(nCharismaBonus, AC_SHIELD_ENCHANTMENT_BONUS);
|
|
effect eLink = EffectLinkEffects(eAC, eDur);
|
|
eLink = SupernaturalEffect(eLink);
|
|
|
|
// * Do not allow this to stack
|
|
PRCRemoveEffectsFromSpell(oTarget, GetSpellId());
|
|
|
|
//Fire cast spell at event for the specified target
|
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, 474, FALSE));
|
|
|
|
//Apply Link and VFX effects to the target
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCharismaBonus));
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
|
|
DecrementRemainingFeatUses(OBJECT_SELF, FEAT_TURN_UNDEAD);
|
|
}
|
|
} |