forked from Jaysyn/PRC8
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.
51 lines
2.0 KiB
Plaintext
51 lines
2.0 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Family Domain Power
|
|
//:: prc_domain_famly.nss
|
|
//::///////////////////////////////////////////////
|
|
/*
|
|
Grants +4 AC to a number of creatures = to Cha for 1 round per level
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Modified By: Stratovarius
|
|
//:: Modified On: 19.12.2005
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_spells"
|
|
#include "prc_inc_domain"
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
|
|
// Used by the uses per day check code for bonus domains
|
|
if (!DecrementDomainUses(PRC_DOMAIN_FAMILY, oPC)) return;
|
|
|
|
effect eLink = EffectLinkEffects(EffectACIncrease(4), EffectVisualEffect(VFX_DUR_GLOBE_MINOR));
|
|
eLink = SupernaturalEffect(eLink);
|
|
float fDur = RoundsToSeconds(GetHitDice(oPC));
|
|
// Already used up the minimum one target to affect the caster
|
|
int nExtraTargets = GetAbilityModifier(ABILITY_CHARISMA, oPC) - 1;
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oPC, fDur);
|
|
|
|
if(nExtraTargets > 0)
|
|
{
|
|
location lTarget = GetLocation(oPC);
|
|
|
|
//Cycle through the targets within the spell shape until you run out of targets.
|
|
object oAreaTarget = MyFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
|
while(GetIsObjectValid(oAreaTarget) && nExtraTargets > 0)
|
|
{
|
|
// Only affect friends, and don't affect yourself again
|
|
if(GetIsFriend(oAreaTarget, oPC) && oAreaTarget != oPC)
|
|
{
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oAreaTarget, fDur);
|
|
// Use up a target slot only if we actually did something to it
|
|
nExtraTargets -= 1;
|
|
}
|
|
|
|
//Select the next target within the spell shape.
|
|
oAreaTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
|
}// end while - Target loop
|
|
}// end if - The power has other targets besides the primary one
|
|
} |