PRC8/nwn/trunk/racescripts/race_mars_howl.nss
Jaysyn904 5914ed2ab5 Updated Release Archive
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.
2023-08-22 10:00:21 -04:00

32 lines
1.4 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Name Marrusault Howl
//:: FileName race_mars_howl
//::
//:://////////////////////////////////////////////
#include "prc_inc_template"
void main()
{
location lTarget = GetLocation(OBJECT_SELF);
// Declare the spell shape, size and the location. Capture the first target object in the shape.
// Cycle through the targets within the spell shape until an invalid object is captured.
int nDC = 10 + GetHitDice(OBJECT_SELF)/2 + GetAbilityModifier(ABILITY_CHARISMA);
object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(30.0), lTarget, FALSE, OBJECT_TYPE_CREATURE);
while (GetIsObjectValid(oTarget))
{
if (GetRacialType(oTarget) != RACIAL_TYPE_MARRUSAULT)
{
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC))
{
// Fatigue outside of ten feet, exhausted within
if (MetersToFeet(GetDistanceBetween(OBJECT_SELF,oTarget)) > 10.0)
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectFatigue()), oTarget, HoursToSeconds(GetHitDice(OBJECT_SELF)));
else
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectExhausted()), oTarget, HoursToSeconds(GetHitDice(OBJECT_SELF)));
}
}
oTarget = MyNextObjectInShape(SHAPE_SPHERE, FeetToMeters(30.0), lTarget, FALSE, OBJECT_TYPE_CREATURE);
}
}