Initial upload.
Adding base PRC 4.19a files to repository.
This commit is contained in:
82
trunk/spells/x0_s0_dirgeen.nss
Normal file
82
trunk/spells/x0_s0_dirgeen.nss
Normal file
@@ -0,0 +1,82 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Acid Fog: On Enter
|
||||
//:: NW_S0_AcidFogA.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
All creatures within the AoE take 2d6 acid damage
|
||||
per round and upon entering if they fail a Fort Save
|
||||
their movement is halved.
|
||||
|
||||
**EDITED Nov 18/02 - Keith Warner**
|
||||
Only enemies should take the dirge damage
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 17, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
//:: altered by mr_bumpkin Dec 4, 2003 for prc stuff
|
||||
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
//::///////////////////////////////////////////////
|
||||
//::
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Applies the ability score damage of the dirge effect.
|
||||
|
||||
March 2003
|
||||
Because ability score penalties do not stack, I need
|
||||
to store the ability score damage done
|
||||
and increment each round.
|
||||
To that effect I am going to update the description and
|
||||
remove the dirge effects if the player leaves the area of effect.
|
||||
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By:
|
||||
//:: Created On:
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
PRCSetSchool(SPELL_SCHOOL_EVOCATION);
|
||||
|
||||
object oCaster = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
int nPenetr = SPGetPenetrAOE(oCaster);
|
||||
|
||||
if(spellsIsTarget(oTarget, SPELL_TARGET_SELECTIVEHOSTILE, oCaster))
|
||||
{
|
||||
//Fire cast spell at event for the target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oCaster, SPELL_DIRGE));
|
||||
//Spell resistance check
|
||||
if(!PRCDoResistSpell(oCaster, oTarget, nPenetr))
|
||||
{
|
||||
//Make a Fortitude Save to avoid the effects of the movement hit.
|
||||
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, PRCGetSaveDC(oTarget, oCaster), SAVING_THROW_ALL, oCaster))
|
||||
{
|
||||
int nGetLastPenalty = GetLocalInt(oTarget, "X0_L_LASTPENALTY");
|
||||
// * increase penalty by 2
|
||||
nGetLastPenalty = nGetLastPenalty + 2;
|
||||
|
||||
//effect eStr = EffectAbilityDecrease(ABILITY_STRENGTH, nGetLastPenalty);
|
||||
//effect eDex = EffectAbilityDecrease(ABILITY_DEXTERITY, nGetLastPenalty);
|
||||
//change from sonic effect to bard song...
|
||||
effect eVis = EffectVisualEffect(VFX_FNF_SOUND_BURST);
|
||||
//effect eLink = EffectLinkEffects(eDex, eStr);
|
||||
|
||||
//Apply damage and visuals
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
//ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oTarget);
|
||||
ApplyAbilityDamage(oTarget, ABILITY_STRENGTH, nGetLastPenalty, DURATION_TYPE_PERMANENT, TRUE);
|
||||
ApplyAbilityDamage(oTarget, ABILITY_DEXTERITY, nGetLastPenalty, DURATION_TYPE_PERMANENT, TRUE);
|
||||
SetLocalInt(oTarget, "X0_L_LASTPENALTY", nGetLastPenalty);
|
||||
}
|
||||
}
|
||||
}
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user