2026/01/21 Update
Swapped Disciple of Asmodeus' Summon Glabrezu for Summon Pit Fiend. Glabrezu aren't devils. Wisplings can qualify for Warsling Sniper. Added Maeluth planetouched racialtype. Maeluth can qualify for Dwarven Defender. Ollam and Ironsoul Forgemaster. Added Mechanatrix planetouched racialtype. Updated creature aura scripts to use PRCEffectDamage(), SPApplyEffectToObject() & PRCMySavingThrow().
This commit is contained in:
@@ -29,5 +29,5 @@ void main()
|
||||
//Set the AOE effect and place it in the world. The Aura abilities
|
||||
//are all permamnent and do not require recasting.
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_BLINDING);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eAOE, OBJECT_SELF);
|
||||
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eAOE, OBJECT_SELF);
|
||||
}
|
||||
|
||||
48
nwn/nwnprc/trunk/spells/nw_s1_aurablnda.nss
Normal file
48
nwn/nwnprc/trunk/spells/nw_s1_aurablnda.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura of Blinding On Enter
|
||||
//:: NW_S1_AuraBlndA.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Upon entering the aura of the creature the player
|
||||
must make a will save or be blinded because of the
|
||||
sheer ugliness or beauty of the creature.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 25, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
//#include "wm_include"
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oNPC = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDuration = 1 + (nHD/3);
|
||||
|
||||
effect eBlind = EffectBlindness();
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_BLIND_DEAF_M);
|
||||
effect eLink = EffectLinkEffects(eBlind, eDur);
|
||||
|
||||
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
|
||||
|
||||
//Entering object must make a will save or be blinded for the duration.
|
||||
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_BLINDING));
|
||||
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC))
|
||||
{
|
||||
//Apply the blind effect and the VFX impact
|
||||
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -27,5 +27,5 @@ void main()
|
||||
|
||||
//Set and apply AOE effect
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_FROST);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
}
|
||||
|
||||
62
nwn/nwnprc/trunk/spells/nw_s1_auracoldc.nss
Normal file
62
nwn/nwnprc/trunk/spells/nw_s1_auracoldc.nss
Normal file
@@ -0,0 +1,62 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura of Frost on Heartbeat
|
||||
//:: NW_S1_AuraColdC.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Prolonged exposure to the aura of the creature
|
||||
causes frost damage to all within the aura.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 25, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "prc_inc_spells"
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oNPC = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nFrost = 1 + (nHD/3);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDamage;
|
||||
|
||||
effect eDam;
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
|
||||
|
||||
//Get the first target in the aura of cold
|
||||
oTarget = GetFirstInPersistentObject();
|
||||
|
||||
while (GetIsObjectValid(oTarget))
|
||||
{
|
||||
/* if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget))
|
||||
{
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF);
|
||||
continue;
|
||||
} */
|
||||
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_COLD));
|
||||
//Roll damage based on the creatures HD
|
||||
nDamage = d4(nFrost);
|
||||
//Make a Fortitude save for half
|
||||
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_COLD))
|
||||
{
|
||||
nDamage = nDamage / 2;
|
||||
}
|
||||
//Set the damage effect
|
||||
eDam = PRCEffectDamage(oTarget, nDamage, DAMAGE_TYPE_COLD);
|
||||
//Apply the VFX constant and damage effect
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
//Get the next target in the aura of cold
|
||||
oTarget = GetNextInPersistentObject();
|
||||
}
|
||||
}
|
||||
@@ -31,7 +31,7 @@ void main()
|
||||
}
|
||||
|
||||
effect eAOE = EffectAreaOfEffect(36);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -27,5 +27,5 @@ void main()
|
||||
|
||||
//Set and apply AOE object
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_ELECTRICAL);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
}
|
||||
|
||||
47
nwn/nwnprc/trunk/spells/nw_s1_auraelecc.nss
Normal file
47
nwn/nwnprc/trunk/spells/nw_s1_auraelecc.nss
Normal file
@@ -0,0 +1,47 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura of Electricity on Heartbeat
|
||||
//:: NW_S1_AuraElecC.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Prolonged exposure to the aura of the creature
|
||||
causes electrical damage to all within the aura.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 25, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void main()
|
||||
{
|
||||
//Declare major variables
|
||||
int nHD = GetHitDice(GetAreaOfEffectCreator());
|
||||
nHD = nHD/3+1;
|
||||
int nDC = 10 + nHD/3;
|
||||
int nDamage;
|
||||
effect eDam;
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S);
|
||||
//Get first target in spell area
|
||||
object oTarget = GetFirstInPersistentObject();
|
||||
while (GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
||||
{
|
||||
nDamage = d4(nHD);
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_AURA_ELECTRICITY));
|
||||
//Make a saving throw check
|
||||
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_ELECTRICITY))
|
||||
{
|
||||
nDamage = nDamage / 2;
|
||||
}
|
||||
eDam = PRCEffectDamage(oTarget, nDamage, DAMAGE_TYPE_ELECTRICAL);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextInPersistentObject();
|
||||
}
|
||||
}
|
||||
@@ -42,5 +42,5 @@ void main()
|
||||
|
||||
//Set and apply AOE object
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_FEAR);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
}
|
||||
|
||||
@@ -40,8 +40,8 @@ void main()
|
||||
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,5 +27,5 @@ void main()
|
||||
|
||||
//Set and apply AOE object
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_FIRE);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
}
|
||||
|
||||
59
nwn/nwnprc/trunk/spells/nw_s1_aurafirec.nss
Normal file
59
nwn/nwnprc/trunk/spells/nw_s1_aurafirec.nss
Normal file
@@ -0,0 +1,59 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura of Fire on Heartbeat
|
||||
//:: NW_S1_AuraFireC.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Prolonged exposure to the aura of the creature
|
||||
causes fire damage to all within the aura.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 25, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "prc_inc_spells"
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oNPC = GetAreaOfEffectCreator();
|
||||
object oTarget = GetFirstInPersistentObject(); //:: Get first target in spell area
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nBurn = 1 + (nHD/3);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDamage;
|
||||
int nDamSave;
|
||||
|
||||
effect eDam;
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S);
|
||||
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
/* if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget))
|
||||
{
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF);
|
||||
continue;
|
||||
} */
|
||||
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELLABILITY_AURA_FIRE));
|
||||
//Roll damage
|
||||
nDamage = d4(nBurn);
|
||||
//Make a saving throw check
|
||||
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_FIRE))
|
||||
{
|
||||
nDamage = nDamage / 2;
|
||||
}
|
||||
//Set the damage effect
|
||||
eDam = PRCEffectDamage(oTarget, nDamage, DAMAGE_TYPE_FIRE);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextInPersistentObject();
|
||||
}
|
||||
}
|
||||
@@ -27,5 +27,5 @@ void main()
|
||||
|
||||
//Set and apply AOE object
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_MENACE);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
}
|
||||
|
||||
45
nwn/nwnprc/trunk/spells/nw_s1_auramenca.nss
Normal file
45
nwn/nwnprc/trunk/spells/nw_s1_auramenca.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura of Menace On Enter
|
||||
//:: NW_S1_AuraMencA.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Upon entering the aura all those that fail
|
||||
a will save are stricken with Doom.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 25, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oNPC = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
|
||||
|
||||
int nDuration = 1 + (GetHitDice(oNPC)/3);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (GetHitDice(oNPC)/2);
|
||||
int nLevel = PRCGetCasterLevel(OBJECT_SELF);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DOOM);
|
||||
effect eLink = CreateDoomEffectsLink();
|
||||
|
||||
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_AURA_MENACE));
|
||||
//Spell Resistance and Saving throw
|
||||
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC))
|
||||
{
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink , oTarget, TurnsToSeconds(nDuration));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ void main()
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_PROTECTION);
|
||||
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nDuration = GetCasterLevel(OBJECT_SELF) / 2;
|
||||
int nDuration = PRCGetCasterLevel(OBJECT_SELF) / 2;
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
//Make sure duration does no equal 0
|
||||
if (nDuration < 1)
|
||||
@@ -38,5 +38,5 @@ void main()
|
||||
nDuration = 1;
|
||||
}
|
||||
//Create an instance of the AOE Object using the Apply Effect function
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, oTarget, TurnsToSeconds(nDuration));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, oTarget, TurnsToSeconds(nDuration));
|
||||
}
|
||||
|
||||
35
nwn/nwnprc/trunk/spells/nw_s1_auraprota.nss
Normal file
35
nwn/nwnprc/trunk/spells/nw_s1_auraprota.nss
Normal file
@@ -0,0 +1,35 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura of Protection: On Enter
|
||||
//:: NW_S1_AuraProtA.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Acts as a double strength Magic Circle against
|
||||
evil and a Minor Globe for those friends in
|
||||
the area.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On:Jan 8, 2002, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
void main()
|
||||
{
|
||||
//Declare major variables
|
||||
effect eProt = PRCCreateProtectionFromAlignmentLink(ALIGNMENT_EVIL);
|
||||
effect eGlobe = EffectSpellLevelAbsorption(3, 0);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_GLOBE_MINOR);
|
||||
|
||||
effect eLink = EffectLinkEffects(eProt, eGlobe);
|
||||
eLink = EffectLinkEffects(eLink, eDur);
|
||||
|
||||
object oTarget = GetEnteringObject();
|
||||
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
|
||||
//Faction Check
|
||||
if(GetIsFriend(oTarget, GetAreaOfEffectCreator()))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oTarget);
|
||||
}
|
||||
}
|
||||
@@ -27,5 +27,5 @@ void main()
|
||||
|
||||
//Set and apply the AOE object
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_STUN);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
}
|
||||
|
||||
48
nwn/nwnprc/trunk/spells/nw_s1_aurastuna.nss
Normal file
48
nwn/nwnprc/trunk/spells/nw_s1_aurastuna.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura Stunning On Enter
|
||||
//:: NW_S1_AuraStunA.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Upon entering the aura of the creature the player
|
||||
must make a will save or be stunned.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 25, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "prc_inc_spells"
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oNPC = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDuration = GetHitDice(oNPC);
|
||||
int nDC = 10 + nCHAMod + (nDuration/2);
|
||||
|
||||
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_STUN);
|
||||
effect eVis2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||
effect eDeath = EffectStunned();
|
||||
effect eLink = EffectLinkEffects(eVis2, eDeath);
|
||||
|
||||
nDuration = GetScaledDuration(nDuration, oTarget);
|
||||
|
||||
if(!GetIsFriend(oTarget))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_STUN));
|
||||
//Make a saving throw check
|
||||
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
48
nwn/nwnprc/trunk/spells/nw_s1_auraunata.nss
Normal file
48
nwn/nwnprc/trunk/spells/nw_s1_auraunata.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura of the Unnatural On Enter
|
||||
//:: NW_S1_AuraMencA.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Upon entering the aura all animals are struck with
|
||||
fear.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 25, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "prc_inc_spells"
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oNPC = GetAreaOfEffectCreator();
|
||||
effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
|
||||
effect eFear = EffectFrightened();
|
||||
effect eLink = EffectLinkEffects(eVis, eFear);
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
|
||||
|
||||
int nDuration = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nRacial = MyPRCGetRacialType(oTarget);
|
||||
int nDC = 10 + nCHAMod + (GetHitDice(oNPC)/2);
|
||||
|
||||
if(GetIsEnemy(oTarget))
|
||||
{
|
||||
nDuration = (nDuration / 3) + 1;
|
||||
//Make a saving throw check
|
||||
if(nRacial == RACIAL_TYPE_ANIMAL)
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELLABILITY_AURA_UNNATURAL));
|
||||
//if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR)) //:: This ability only affects animals & they don't get a save.
|
||||
//{
|
||||
//Apply the VFX impact and effects
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
46
nwn/nwnprc/trunk/spells/nw_s1_aurauneaa.nss
Normal file
46
nwn/nwnprc/trunk/spells/nw_s1_aurauneaa.nss
Normal file
@@ -0,0 +1,46 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura Unearthly Visage On Enter
|
||||
//:: NW_S1_AuraUnEaA.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Upon entering the aura of the creature the player
|
||||
must make a will save or be killed because of the
|
||||
sheer ugliness or beauty of the creature.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 25, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oNPC = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
|
||||
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
|
||||
|
||||
effect eDeath = EffectDeath();
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DEATH);
|
||||
|
||||
if(GetIsEnemy(oTarget, oNPC))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_UNEARTHLY_VISAGE));
|
||||
//Make a saving throw check
|
||||
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oTarget);
|
||||
//ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,5 +28,5 @@ void main()
|
||||
|
||||
//Set and apply the AOE object
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_UNEARTHLY);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
}
|
||||
|
||||
@@ -27,5 +27,5 @@ void main()
|
||||
|
||||
//Set and apply the AOE object
|
||||
effect eAOE = EffectAreaOfEffect(AOE_MOB_UNNATURAL);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100));
|
||||
}
|
||||
|
||||
@@ -38,8 +38,8 @@ void main()
|
||||
if( !PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||
DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
|
||||
@@ -29,7 +29,7 @@ void Drown(object oTarget)
|
||||
&&(GetRacialType(oTarget) != RACIAL_TYPE_ELEMENTAL))
|
||||
{
|
||||
//Make a fortitude save
|
||||
if(MySavingThrow(SAVING_THROW_FORT, oTarget, 20) == FALSE)
|
||||
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, 20) == FALSE)
|
||||
{
|
||||
//Apply the VFX impact and damage effect
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
@@ -49,7 +49,7 @@ void main ()
|
||||
int nIdx;
|
||||
|
||||
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_WATER);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, OBJECT_SELF);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, OBJECT_SELF);
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF));
|
||||
while(GetIsObjectValid(oTarget) == TRUE)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user