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.
96 lines
3.5 KiB
Plaintext
96 lines
3.5 KiB
Plaintext
/*:://////////////////////////////////////////////
|
||
//:: Spell Name Bear’s Endurance, Mass
|
||
//:: Spell FileName PHS_S_BearsEndM
|
||
//:://////////////////////////////////////////////
|
||
//:: In Game Spell desctiption
|
||
//:://////////////////////////////////////////////
|
||
Transmutation
|
||
Level: Clr 6, Drd 6, Sor/Wiz 6
|
||
Components: V, S, DF
|
||
Casting Time: 1 standard action
|
||
Range: Close (10M)
|
||
Target: One creature/level, in a 6.67M radius.
|
||
Duration: 1 min./level
|
||
Saving Throw: Will negates (harmless)
|
||
Spell Resistance: Yes
|
||
|
||
The subjects in the area gains greater vitality and stamina. The spell
|
||
grants the subjects a +4 enhancement bonus to Constitution, which adds the
|
||
usual benefits to hit points, Fortitude saves, Constitution checks, and so
|
||
forth.
|
||
|
||
Hit points gained by a temporary increase in Constitution score are not
|
||
temporary hit points. They go away when the subject’s Constitution drops
|
||
back to normal. They are not lost first as temporary hit points are.
|
||
//:://////////////////////////////////////////////
|
||
//:: Spell Effects Applied / Notes
|
||
//:://////////////////////////////////////////////
|
||
+4 In the stat, Doesn't stack with normal, and can affect up to 1 target/
|
||
level. Friends only targeted.
|
||
//:://////////////////////////////////////////////
|
||
//:: Created By: Jasperre
|
||
//::////////////////////////////////////////////*/
|
||
|
||
#include "PHS_INC_SPELLS"
|
||
|
||
void main()
|
||
{
|
||
// Spell hook check.
|
||
if(!PHS_SpellHookCheck()) return;
|
||
|
||
// Declare major variables
|
||
object oCaster = OBJECT_SELF;
|
||
object oTarget;
|
||
location lTarget = GetSpellTargetLocation();
|
||
int nCasterLevel = PHS_GetCasterLevel();
|
||
int nMetaMagic = PHS_GetMetaMagicFeat();
|
||
int nCnt, nFriend;
|
||
// Ability to use
|
||
int nAbility = ABILITY_CONSTITUTION;
|
||
|
||
// Duration - 1 minute/level
|
||
float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel, nMetaMagic);
|
||
|
||
// Delcare Effects
|
||
effect eAbility = EffectAbilityIncrease(nAbility, 4);
|
||
effect eVis = EffectVisualEffect(VFX_IMP_IMPROVE_ABILITY_SCORE);
|
||
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||
effect eLink = EffectLinkEffects(eAbility, eCessate);
|
||
|
||
// Loop all allies in a huge sphere
|
||
nCnt = 1;
|
||
oTarget = GetNearestObjectToLocation(OBJECT_TYPE_CREATURE, lTarget, nCnt);
|
||
// 1 target/level, nearest to location within a 5.0M radius
|
||
while(GetIsObjectValid(oTarget) && nFriend < nCasterLevel &&
|
||
GetDistanceBetweenLocations(lTarget, GetLocation(oTarget)) <= 5.0)
|
||
{
|
||
// Friendly check
|
||
if(oTarget == OBJECT_SELF ||
|
||
GetIsFriend(oTarget) ||
|
||
GetFactionEqual(oTarget))
|
||
{
|
||
// Make sure they are not immune to spells
|
||
if(!PHS_TotalSpellImmunity(oTarget))
|
||
{
|
||
// Check if oTarget has better effects already
|
||
if(PHS_GetHasAbilityBonusOfPower(oTarget, nAbility, 4) != 2)
|
||
{
|
||
// Add one to counter
|
||
nFriend++;
|
||
|
||
// Signal the spell cast at event
|
||
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_BEARS_ENDURANCE_MASS, FALSE);
|
||
|
||
// Remove these abilities effects
|
||
PHS_RemoveAnyAbilityBonuses(oTarget, nAbility);
|
||
|
||
//Apply effects and VFX to target
|
||
PHS_ApplyDurationAndVFX(oTarget, eVis, eLink, fDuration);
|
||
}
|
||
}
|
||
}
|
||
// Get next target
|
||
oTarget = GetNearestObjectToLocation(OBJECT_TYPE_CREATURE, lTarget, nCnt);
|
||
}
|
||
}
|