Further file organization
Further file organization
This commit is contained in:
51
nwn/nwnprc/trunk/scripts/prc_domain_famly.nss
Normal file
51
nwn/nwnprc/trunk/scripts/prc_domain_famly.nss
Normal file
@@ -0,0 +1,51 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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
|
||||
}
|
Reference in New Issue
Block a user