Further file organization
Further file organization
This commit is contained in:
51
nwn/nwnprc/trunk/spells/nw_s0_invpurge.nss
Normal file
51
nwn/nwnprc/trunk/spells/nw_s0_invpurge.nss
Normal file
@@ -0,0 +1,51 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Invisibility Purge
|
||||
//:: NW_S0_InvPurge.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
All invisible creatures become invisible in the
|
||||
area of effect even if they leave the AOE.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: Jan 7, 2002
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
//:: modified by mr_bumpkin Dec 4, 2003 for PRC stuff
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void main()
|
||||
{
|
||||
if(!X2PreSpellCastCode()) return;
|
||||
|
||||
PRCSetSchool(SPELL_SCHOOL_EVOCATION);
|
||||
|
||||
//Declare major variables including Area of Effect Object
|
||||
effect eAOE = EffectAreaOfEffect(35);
|
||||
int CasterLvl = PRCGetCasterLevel(OBJECT_SELF);
|
||||
int nDuration = CasterLvl;
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
effect eDur1 = EffectVisualEffect(VFX_DUR_MAGICAL_SIGHT);
|
||||
effect eDur2 = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||||
effect eLink = EffectLinkEffects(eDur1, eDur2);
|
||||
|
||||
//Make sure duration does no equal 0
|
||||
if (nDuration < 1)
|
||||
{
|
||||
nDuration = 1;
|
||||
}
|
||||
//Check Extend metamagic feat.
|
||||
if (CheckMetaMagic(nMetaMagic, METAMAGIC_EXTEND))
|
||||
{
|
||||
nDuration = nDuration *2; //Duration is +100%
|
||||
}
|
||||
//Create an instance of the AOE Object using the Apply Effect function
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, TurnsToSeconds(nDuration),TRUE,-1,CasterLvl);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, OBJECT_SELF, TurnsToSeconds(nDuration));
|
||||
|
||||
object oAoE = GetAreaOfEffectObject(GetLocation(OBJECT_SELF), "VFX_MOB_INVISIBILITY_PURGE");
|
||||
SetAllAoEInts(SPELL_INVISIBILITY_PURGE, oAoE, 10, 0, CasterLvl);
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user