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.
93 lines
3.3 KiB
Plaintext
93 lines
3.3 KiB
Plaintext
/*:://////////////////////////////////////////////
|
||
//:: Spell Name Bull’s Strength, Mass
|
||
//:: Spell FileName PHS_S_BullsStrM
|
||
//:://////////////////////////////////////////////
|
||
//:: In Game Spell desctiption
|
||
//:://////////////////////////////////////////////
|
||
Transmutation
|
||
Level: Clr 6, Drd 6, Sor/Wiz 6
|
||
Components: V, S, M/DF
|
||
Casting Time: 1 standard action
|
||
Range: Close (8M)
|
||
Target: One allied creature/level, within a 5M-radius sphere
|
||
Duration: 1 min./level
|
||
Saving Throw:Will negates (harmless)
|
||
Spell Resistance: Yes (harmless)
|
||
|
||
The subjects becomes stronger. The spell grants a +4 enhancement bonus to
|
||
Strength, adding the usual benefits to melee attack rolls, melee damage
|
||
rolls, and other uses of the Strength modifier.
|
||
|
||
Arcane Material Component: A few hairs, or a pinch of dung, from a bull.
|
||
//:://////////////////////////////////////////////
|
||
//:: 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_STRENGTH;
|
||
|
||
// 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_BULLS_STRENGTH_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);
|
||
}
|
||
}
|