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.
55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Divine Strength
|
|
//:: NW_S2_DivStr
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Cleric gains +2 to strength +1 for every 3 levels
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: Nov 4, 2001
|
|
//:://////////////////////////////////////////////
|
|
#include "prc_alterations"
|
|
|
|
void main()
|
|
{
|
|
//Declare major variables
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
effect eStr;
|
|
effect eVis = EffectVisualEffect(VFX_IMP_HOLY_AID);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
|
|
|
int nCasterLvl = GetLevelByClass(CLASS_TYPE_CLERIC);
|
|
int nContend = GetLevelByClass(CLASS_TYPE_CLERIC) + GetLevelByClass(CLASS_TYPE_MIGHTY_CONTENDER_KORD);
|
|
|
|
int nContendSurge;
|
|
int nFeat;
|
|
int nSurge;
|
|
|
|
nFeat = (GetLevelByClass(CLASS_TYPE_MIGHTY_CONTENDER_KORD) >= 1) ? nContend:0;
|
|
nFeat = (GetLevelByClass(CLASS_TYPE_MIGHTY_CONTENDER_KORD) >= 7) ? FloatToInt(nContend*1.5):nContend;
|
|
|
|
if(nFeat > 0)
|
|
nSurge = (nFeat/3) + 2;
|
|
|
|
int nModify = (nCasterLvl/3) + 2;
|
|
int nDuration = 5 + GetAbilityModifier(ABILITY_CHARISMA);
|
|
|
|
nContendSurge = (GetLevelByClass(CLASS_TYPE_MIGHTY_CONTENDER_KORD) >= 1) ? 1:0;
|
|
nContendSurge = (GetLevelByClass(CLASS_TYPE_MIGHTY_CONTENDER_KORD) >= 3) ? (d4(1) + 1):1;
|
|
nContendSurge = (GetLevelByClass(CLASS_TYPE_MIGHTY_CONTENDER_KORD) == 10) ? nDuration:(d4(1) + 1);
|
|
|
|
//Fire cast spell at event for the specified target
|
|
SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_DIVINE_STRENGTH, FALSE));
|
|
|
|
//Apply effects and VFX to target
|
|
eStr = EffectAbilityIncrease(ABILITY_STRENGTH,nModify);
|
|
effect eSurge = EffectAbilityIncrease(ABILITY_STRENGTH,nSurge);
|
|
effect eLink = EffectLinkEffects(eStr, eDur);
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSurge, oTarget, RoundsToSeconds(nContendSurge));
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
}
|