Major update
Created top hak for crafting dialog. Moved Bioware creature abilities to top hak. Fixed DMFI wand handouts. Added DMFI language handouts. Added CCOH 6. Disabled PC corpse system. Modified new player startup system. Full compile. Updated release archive.
This commit is contained in:
3
_content/BuildHaks.cmd
Normal file
3
_content/BuildHaks.cmd
Normal file
@@ -0,0 +1,3 @@
|
||||
cd _tools\
|
||||
NWN.CLI.exe -k
|
||||
cd ..
|
BIN
_content/_hak/asch_prc8_top/nw_s1_aurablnda.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_aurablnda.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_aurablnda.nss
Normal file
48
_content/_hak/asch_prc8_top/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)));
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_auracoldc.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_auracoldc.ncs
Normal file
Binary file not shown.
62
_content/_hak/asch_prc8_top/nw_s1_auracoldc.nss
Normal file
62
_content/_hak/asch_prc8_top/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 = EffectDamage(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();
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_auraelecc.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_auraelecc.ncs
Normal file
Binary file not shown.
58
_content/_hak/asch_prc8_top/nw_s1_auraelecc.nss
Normal file
58
_content/_hak/asch_prc8_top/nw_s1_auraelecc.nss
Normal file
@@ -0,0 +1,58 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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 "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oNPC = GetAreaOfEffectCreator();
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nZap = 1 + (nHD / 3);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 + nCHAMod + (nHD/2);
|
||||
int nDamage;
|
||||
|
||||
effect eDam;
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S);
|
||||
|
||||
//Get first target in spell area
|
||||
object oTarget = GetFirstInPersistentObject();
|
||||
while (GetIsObjectValid(oTarget))
|
||||
{
|
||||
/* if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget))
|
||||
{
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF);
|
||||
continue;
|
||||
} */
|
||||
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
||||
{
|
||||
nDamage = d4(nZap);
|
||||
//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 = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL);
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget));
|
||||
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextInPersistentObject();
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_aurafirec.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_aurafirec.ncs
Normal file
Binary file not shown.
59
_content/_hak/asch_prc8_top/nw_s1_aurafirec.nss
Normal file
59
_content/_hak/asch_prc8_top/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 = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextInPersistentObject();
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_auramenca.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_auramenca.ncs
Normal file
Binary file not shown.
46
_content/_hak/asch_prc8_top/nw_s1_auramenca.nss
Normal file
46
_content/_hak/asch_prc8_top/nw_s1_auramenca.nss
Normal file
@@ -0,0 +1,46 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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 = GetCasterLevel(OBJECT_SELF);
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
|
||||
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))
|
||||
{
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink , oTarget, TurnsToSeconds(nDuration));
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_auraprota.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_auraprota.ncs
Normal file
Binary file not shown.
35
_content/_hak/asch_prc8_top/nw_s1_auraprota.nss
Normal file
35
_content/_hak/asch_prc8_top/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 "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
void main()
|
||||
{
|
||||
//Declare major variables
|
||||
effect eProt = CreateProtectionFromAlignmentLink(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
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_aurastuna.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_aurastuna.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_aurastuna.nss
Normal file
48
_content/_hak/asch_prc8_top/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
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_auraunata.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_auraunata.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_auraunata.nss
Normal file
48
_content/_hak/asch_prc8_top/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 = GetRacialType(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
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_aurauneaa.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_aurauneaa.ncs
Normal file
Binary file not shown.
46
_content/_hak/asch_prc8_top/nw_s1_aurauneaa.nss
Normal file
46
_content/_hak/asch_prc8_top/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
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oTarget);
|
||||
//ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltacid.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltacid.ncs
Normal file
Binary file not shown.
66
_content/_hak/asch_prc8_top/nw_s1_bltacid.nss
Normal file
66
_content/_hak/asch_prc8_top/nw_s1_bltacid.nss
Normal file
@@ -0,0 +1,66 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Acid
|
||||
//:: NW_S1_BltAcid
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC);
|
||||
int nDC = 10 +nCONMod+ (nHD/2);
|
||||
int nCount = nHD/2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
|
||||
effect eBolt;
|
||||
|
||||
//ankheg
|
||||
if(GetAppearanceType(oNPC) == APPEARANCE_TYPE_BEETLE_SLICER)
|
||||
{
|
||||
nDamage = d4(4);
|
||||
}
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ACID));
|
||||
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_ACID);
|
||||
|
||||
//Make a ranged touch attack
|
||||
int nTouch = TouchAttackRanged(oTarget);
|
||||
if(nTouch > 0)
|
||||
{
|
||||
if(nTouch == 2)
|
||||
{
|
||||
nDamage *= 2;
|
||||
}
|
||||
//Set damage effect
|
||||
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_ACID);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltcharm.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltcharm.ncs
Normal file
Binary file not shown.
47
_content/_hak/asch_prc8_top/nw_s1_bltcharm.nss
Normal file
47
_content/_hak/asch_prc8_top/nw_s1_bltcharm.nss
Normal file
@@ -0,0 +1,47 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Charm
|
||||
//:: NW_S1_BltCharm
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
#include "NW_I0_SPELLS"
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
nCount = GetScaledDuration(nCount, oTarget);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_CHARM);
|
||||
effect eBolt = EffectCharmed();
|
||||
eBolt = GetScaledEffect(eBolt, oTarget);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eBolt, eDur);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_CHARM));
|
||||
//Make a saving throw check
|
||||
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltchrdr.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltchrdr.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_bltchrdr.nss
Normal file
48
_content/_hak/asch_prc8_top/nw_s1_bltchrdr.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Charisma Drain
|
||||
//:: NW_S1_BltChrDr
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Fortitude save is
|
||||
needed to avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = nHD / 3;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_ABILITY_DRAIN_CHARISMA));
|
||||
//Make a saving throw check
|
||||
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
eBolt = EffectAbilityDecrease(ABILITY_CHARISMA, nCount);
|
||||
eBolt = SupernaturalEffect(eBolt);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltcold.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltcold.ncs
Normal file
Binary file not shown.
60
_content/_hak/asch_prc8_top/nw_s1_bltcold.nss
Normal file
60
_content/_hak/asch_prc8_top/nw_s1_bltcold.nss
Normal file
@@ -0,0 +1,60 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Cold
|
||||
//:: NW_S1_BltCold
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = nHD/2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_COLD));
|
||||
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_COLD);
|
||||
|
||||
//Make a ranged touch attack
|
||||
int nTouch = TouchAttackRanged(oTarget);
|
||||
if(nTouch > 0)
|
||||
{
|
||||
if(nTouch == 2)
|
||||
{
|
||||
nDamage *= 2;
|
||||
}
|
||||
//Set damage effect
|
||||
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_COLD);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltcondr.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltcondr.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_bltcondr.nss
Normal file
48
_content/_hak/asch_prc8_top/nw_s1_bltcondr.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Constitution Drain
|
||||
//:: NW_S1_BltConDr
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Fort save is
|
||||
needed to avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD /3);
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_CONSTITUTION));
|
||||
//Make a saving throw check
|
||||
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
eBolt = EffectAbilityDecrease(ABILITY_CONSTITUTION, nCount);
|
||||
eBolt = SupernaturalEffect(eBolt);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltconf.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltconf.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_bltconf.nss
Normal file
48
_content/_hak/asch_prc8_top/nw_s1_bltconf.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Confuse
|
||||
//:: NW_S1_BltConf
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
#include "NW_I0_SPELLS"
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
nCount = GetScaledDuration(nCount, oTarget);
|
||||
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_CONFUSION_S);
|
||||
effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||
effect eBolt = EffectConfused();
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eBolt, eDur);
|
||||
eLink = EffectLinkEffects(eLink, eVis);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_CONFUSE));
|
||||
//Make a saving throw check
|
||||
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdaze.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdaze.ncs
Normal file
Binary file not shown.
47
_content/_hak/asch_prc8_top/nw_s1_bltdaze.nss
Normal file
47
_content/_hak/asch_prc8_top/nw_s1_bltdaze.nss
Normal file
@@ -0,0 +1,47 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Daze
|
||||
//:: NW_S1_BltDaze
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
#include "NW_I0_SPELLS"
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
nCount = GetScaledDuration(nCount, oTarget);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||
effect eBolt = EffectDazed();
|
||||
eBolt = GetScaledEffect(eBolt, oTarget);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eBolt, eDur);
|
||||
eLink = EffectLinkEffects(eLink, eVis);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DAZE));
|
||||
//Make a saving throw check
|
||||
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdeath.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdeath.ncs
Normal file
Binary file not shown.
47
_content/_hak/asch_prc8_top/nw_s1_bltdeath.nss
Normal file
47
_content/_hak/asch_prc8_top/nw_s1_bltdeath.nss
Normal file
@@ -0,0 +1,47 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Death
|
||||
//:: NW_S1_BltDeath
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DEATH);
|
||||
effect eBolt = EffectDeath();
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DEATH));
|
||||
//Make a saving throw check
|
||||
if(TouchAttackRanged(oTarget))
|
||||
{
|
||||
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_DEATH))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||
//ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdexdr.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdexdr.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_bltdexdr.nss
Normal file
48
_content/_hak/asch_prc8_top/nw_s1_bltdexdr.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Dexterity Drain
|
||||
//:: NW_S1_BltDexDr
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Fort save is
|
||||
needed to avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_DEXTERITY));
|
||||
//Make a saving throw check
|
||||
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
eBolt = EffectAbilityDecrease(ABILITY_DEXTERITY, nCount);
|
||||
eBolt = SupernaturalEffect(eBolt);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdisese.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdisese.ncs
Normal file
Binary file not shown.
73
_content/_hak/asch_prc8_top/nw_s1_bltdisese.nss
Normal file
73
_content/_hak/asch_prc8_top/nw_s1_bltdisese.nss
Normal file
@@ -0,0 +1,73 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Disease
|
||||
//:: NW_S1_BltDisease
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to infect
|
||||
the target with a disease. The disease used
|
||||
is chosen based upon the racial type of the
|
||||
caster.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nRacial = MyPRCGetRacialType(oNPC);
|
||||
int nDisease;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DISEASE));
|
||||
|
||||
//Here we use the racial type of the attacker to select an
|
||||
//appropriate disease.
|
||||
switch (nRacial)
|
||||
{
|
||||
case RACIAL_TYPE_VERMIN:
|
||||
nDisease = DISEASE_VERMIN_MADNESS;
|
||||
break;
|
||||
case RACIAL_TYPE_UNDEAD:
|
||||
nDisease = DISEASE_FILTH_FEVER;
|
||||
break;
|
||||
case RACIAL_TYPE_OUTSIDER:
|
||||
if(GetTag(oNPC) == "NW_SLAADRED")
|
||||
{
|
||||
nDisease = DISEASE_RED_SLAAD_EGGS;
|
||||
}
|
||||
else
|
||||
{
|
||||
nDisease = DISEASE_DEMON_FEVER;
|
||||
}
|
||||
break;
|
||||
case RACIAL_TYPE_MAGICAL_BEAST:
|
||||
nDisease = DISEASE_SOLDIER_SHAKES;
|
||||
break;
|
||||
case RACIAL_TYPE_ABERRATION:
|
||||
nDisease = DISEASE_BLINDING_SICKNESS;
|
||||
break;
|
||||
default:
|
||||
nDisease = DISEASE_SOLDIER_SHAKES;
|
||||
break;
|
||||
}
|
||||
//Assign effect and chosen disease
|
||||
effect eBolt = EffectDisease(nDisease);
|
||||
//Make the ranged touch attack.
|
||||
if (TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdomn.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltdomn.ncs
Normal file
Binary file not shown.
53
_content/_hak/asch_prc8_top/nw_s1_bltdomn.nss
Normal file
53
_content/_hak/asch_prc8_top/nw_s1_bltdomn.nss
Normal file
@@ -0,0 +1,53 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Dominated
|
||||
//:: NW_S1_BltDomn
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
nCount = GetScaledDuration(nCount, oTarget);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DOMINATE_S);
|
||||
effect eBolt = EffectDominated();
|
||||
eBolt = GetScaledEffect(eBolt, oTarget);
|
||||
effect eVis2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED);
|
||||
eBolt = GetScaledEffect(eBolt, oTarget);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eBolt, eDur);
|
||||
eLink = EffectLinkEffects(eLink, eVis2);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DOMINATE));
|
||||
|
||||
//Make a saving throw check
|
||||
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltfire.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltfire.ncs
Normal file
Binary file not shown.
58
_content/_hak/asch_prc8_top/nw_s1_bltfire.nss
Normal file
58
_content/_hak/asch_prc8_top/nw_s1_bltfire.nss
Normal file
@@ -0,0 +1,58 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Fire
|
||||
//:: NW_S1_BoltFire
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = nHD/2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S);
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_FIRE));
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_FIRE);
|
||||
//Make a ranged touch attack
|
||||
int nTouch = TouchAttackRanged(oTarget);
|
||||
if(nTouch > 0)
|
||||
{
|
||||
if(nTouch == 2)
|
||||
{
|
||||
nDamage *= 2;
|
||||
}
|
||||
//Set damage effect
|
||||
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltintdr.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltintdr.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_bltintdr.nss
Normal file
48
_content/_hak/asch_prc8_top/nw_s1_bltintdr.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Intelligence Drain
|
||||
//:: NW_S1_BltIntDr
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_INTELLIGENCE));
|
||||
//Make a saving throw check
|
||||
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
eBolt = EffectAbilityDecrease(ABILITY_INTELLIGENCE, nCount);
|
||||
eBolt = SupernaturalEffect(eBolt);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltknckd.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltknckd.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_bltknckd.nss
Normal file
48
_content/_hak/asch_prc8_top/nw_s1_bltknckd.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Knockdown
|
||||
//:: NW_S1_BltKnckD
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = nHD/2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_SONIC);
|
||||
effect eBolt = EffectKnockdown();
|
||||
effect eDam = EffectDamage(d6(), DAMAGE_TYPE_BLUDGEONING);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_KNOCKDOWN));
|
||||
|
||||
//Make a saving throw check
|
||||
if (!/*Reflex Save*/ PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBolt, oTarget, RoundsToSeconds(3));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltlightn.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltlightn.ncs
Normal file
Binary file not shown.
59
_content/_hak/asch_prc8_top/nw_s1_bltlightn.nss
Normal file
59
_content/_hak/asch_prc8_top/nw_s1_bltlightn.nss
Normal file
@@ -0,0 +1,59 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Lightning
|
||||
//:: NW_S1_BltLightn
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Does 1d6 per level to a single target. Reflex
|
||||
save for half
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: Aug 10, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = nHD/2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eLightning = EffectBeam(VFX_BEAM_LIGHTNING, OBJECT_SELF,BODY_NODE_HAND);
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S);
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_LIGHTNING));
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_ELECTRICITY);
|
||||
//Make a ranged touch attack
|
||||
int nTouch = TouchAttackRanged(oTarget);
|
||||
if(nTouch > 0)
|
||||
{
|
||||
if(nTouch == 2)
|
||||
{
|
||||
nDamage *= 2;
|
||||
}
|
||||
//Set damage effect
|
||||
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLightning, oTarget, 1.7);
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltlvldr.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltlvldr.ncs
Normal file
Binary file not shown.
49
_content/_hak/asch_prc8_top/nw_s1_bltlvldr.nss
Normal file
49
_content/_hak/asch_prc8_top/nw_s1_bltlvldr.nss
Normal file
@@ -0,0 +1,49 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Level Drain
|
||||
//:: NW_S1_BltLvlDr
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = nHD/5;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eBolt = EffectNegativeLevel(1);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_LEVEL_DRAIN));
|
||||
|
||||
//Make a saving throw check
|
||||
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//eBolt = LEVEL DRAIN EFFECT
|
||||
eBolt = SupernaturalEffect(eBolt);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltparal.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltparal.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_bltparal.nss
Normal file
48
_content/_hak/asch_prc8_top/nw_s1_bltparal.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Paralyze
|
||||
//:: NW_S1_BltParal
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
nCount = GetScaledDuration(nCount, oTarget);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_DUR_PARALYZED);
|
||||
effect eBolt = EffectParalyze();
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eBolt, eDur);
|
||||
eLink = EffectLinkEffects(eLink, eVis);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_PARALYZE));
|
||||
//Make a saving throw check
|
||||
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltpoison.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltpoison.ncs
Normal file
Binary file not shown.
123
_content/_hak/asch_prc8_top/nw_s1_bltpoison.nss
Normal file
123
_content/_hak/asch_prc8_top/nw_s1_bltpoison.nss
Normal file
@@ -0,0 +1,123 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Poison
|
||||
//:: NW_S1_BltPoison.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Must make a ranged touch attack. If successful
|
||||
the target is struck down with poison that
|
||||
scales with level.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 22, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nRacial = MyPRCGetRacialType(OBJECT_SELF);
|
||||
int nPoison;
|
||||
|
||||
effect ePoison;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_POISON));
|
||||
|
||||
//Determine the poison type based on the Racial Type and HD
|
||||
switch (nRacial)
|
||||
{
|
||||
case RACIAL_TYPE_OUTSIDER:
|
||||
if (nHD <= 9)
|
||||
{
|
||||
nPoison = POISON_QUASIT_VENOM;
|
||||
}
|
||||
else if (nHD > 9 && nHD < 13)
|
||||
{
|
||||
nPoison = POISON_BEBILITH_VENOM;
|
||||
}
|
||||
else if (nHD >= 13)
|
||||
{
|
||||
nPoison = POISON_PIT_FIEND_ICHOR;
|
||||
}
|
||||
break;
|
||||
case RACIAL_TYPE_VERMIN:
|
||||
if (nHD < 3)
|
||||
{
|
||||
nPoison = POISON_TINY_SPIDER_VENOM;
|
||||
}
|
||||
else if (nHD <= 3 && nHD < 6)
|
||||
{
|
||||
nPoison = POISON_SMALL_SPIDER_VENOM;
|
||||
}
|
||||
else if (nHD <= 6 && nHD < 9)
|
||||
{
|
||||
nPoison = POISON_MEDIUM_SPIDER_VENOM;
|
||||
}
|
||||
else if (nHD <= 9 && nHD < 12)
|
||||
{
|
||||
nPoison = POISON_LARGE_SPIDER_VENOM;
|
||||
}
|
||||
else if (nHD <= 12 && nHD < 15)
|
||||
{
|
||||
nPoison = POISON_HUGE_SPIDER_VENOM;
|
||||
}
|
||||
else if (nHD <= 15 && nHD < 18)
|
||||
{
|
||||
nPoison = POISON_GARGANTUAN_SPIDER_VENOM;
|
||||
}
|
||||
else if (nHD >= 18)
|
||||
{
|
||||
nPoison = POISON_COLOSSAL_SPIDER_VENOM;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (nHD < 3)
|
||||
{
|
||||
nPoison = POISON_NIGHTSHADE;
|
||||
}
|
||||
else if (nHD <= 3 && nHD < 6)
|
||||
{
|
||||
nPoison = POISON_BLADE_BANE;
|
||||
}
|
||||
else if (nHD <= 6 && nHD < 9)
|
||||
{
|
||||
nPoison = POISON_BLOODROOT;
|
||||
}
|
||||
else if (nHD <= 9 && nHD < 12)
|
||||
{
|
||||
nPoison = POISON_LARGE_SPIDER_VENOM;
|
||||
}
|
||||
else if (nHD <= 12 && nHD < 15)
|
||||
{
|
||||
nPoison = POISON_LICH_DUST;
|
||||
}
|
||||
else if (nHD <= 15 && nHD < 18)
|
||||
{
|
||||
nPoison = POISON_DARK_REAVER_POWDER;
|
||||
}
|
||||
else if (nHD >= 18 )
|
||||
{
|
||||
nPoison = POISON_BLACK_LOTUS_EXTRACT;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
//Make a ranged touch attack
|
||||
if (TouchAttackRanged (oTarget))
|
||||
{
|
||||
ePoison = EffectPoison(nPoison);
|
||||
//Apply effects
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePoison, oTarget);
|
||||
}
|
||||
}
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltshards.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltshards.ncs
Normal file
Binary file not shown.
58
_content/_hak/asch_prc8_top/nw_s1_bltshards.nss
Normal file
58
_content/_hak/asch_prc8_top/nw_s1_bltshards.nss
Normal file
@@ -0,0 +1,58 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Shards
|
||||
//:: NW_S1_BltShard
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_SHARDS));
|
||||
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC);
|
||||
|
||||
//Make a ranged touch attack
|
||||
int nTouch = TouchAttackRanged(oTarget);
|
||||
if(nTouch > 0)
|
||||
{
|
||||
if(nTouch == 2)
|
||||
{
|
||||
nDamage *= 2;
|
||||
}
|
||||
//Set damage effect
|
||||
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_PIERCING, DAMAGE_POWER_PLUS_ONE);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltslow.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltslow.ncs
Normal file
Binary file not shown.
47
_content/_hak/asch_prc8_top/nw_s1_bltslow.nss
Normal file
47
_content/_hak/asch_prc8_top/nw_s1_bltslow.nss
Normal file
@@ -0,0 +1,47 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Slow
|
||||
//:: NW_S1_BltSlow
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex save is
|
||||
needed to or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: June 18 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_SLOW);
|
||||
effect eBolt = EffectSlow();
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eBolt, eDur);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_SLOW));
|
||||
//Make a saving throw check
|
||||
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltstrdr.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltstrdr.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_bltstrdr.nss
Normal file
48
_content/_hak/asch_prc8_top/nw_s1_bltstrdr.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Strength Drain
|
||||
//:: NW_S1_BltStrDr
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Fort save is
|
||||
needed to avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_ABILITY_DRAIN_STRENGTH));
|
||||
//Make a saving throw check
|
||||
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
eBolt = EffectAbilityDecrease(ABILITY_STRENGTH, nCount);
|
||||
eBolt = SupernaturalEffect(eBolt);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltstun.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltstun.ncs
Normal file
Binary file not shown.
50
_content/_hak/asch_prc8_top/nw_s1_bltstun.nss
Normal file
50
_content/_hak/asch_prc8_top/nw_s1_bltstun.nss
Normal file
@@ -0,0 +1,50 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Stun
|
||||
//:: NW_S1_BltStun
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD + 1) / 2;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
nCount = GetScaledDuration(nCount, oTarget);
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_STUN);
|
||||
effect eBolt = EffectStunned();
|
||||
eBolt = GetScaledEffect(eBolt, oTarget);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eBolt, eDur);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_STUN));
|
||||
//Make a saving throw check
|
||||
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltweb.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltweb.ncs
Normal file
Binary file not shown.
44
_content/_hak/asch_prc8_top/nw_s1_bltweb.nss
Normal file
44
_content/_hak/asch_prc8_top/nw_s1_bltweb.nss
Normal file
@@ -0,0 +1,44 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Web
|
||||
//:: NW_S1_BltWeb
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Glues a single target to the ground with
|
||||
sticky strands of webbing.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: Jan 28, 2002
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC);
|
||||
int nDC = 10 +nCONMod+ (nHD/2);
|
||||
int nCount = 1 + (nHD /2);
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_DUR_WEB);
|
||||
effect eStick = EffectEntangle();
|
||||
effect eLink = EffectLinkEffects(eVis, eStick);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_WEB));
|
||||
//Make a saving throw check
|
||||
if (!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_bltwisdr.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_bltwisdr.ncs
Normal file
Binary file not shown.
48
_content/_hak/asch_prc8_top/nw_s1_bltwisdr.nss
Normal file
48
_content/_hak/asch_prc8_top/nw_s1_bltwisdr.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Bolt: Wisdom Drain
|
||||
//:: NW_S1_BltWisDr
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Fort save is
|
||||
needed to avoid effect.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = (nHD /3);
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eBolt;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_WISDOM));
|
||||
//Make a saving throw check
|
||||
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
eBolt = EffectAbilityDecrease(ABILITY_WISDOM, nCount);
|
||||
eBolt = SupernaturalEffect(eBolt);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_coneacid.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_coneacid.ncs
Normal file
Binary file not shown.
76
_content/_hak/asch_prc8_top/nw_s1_coneacid.nss
Normal file
76
_content/_hak/asch_prc8_top/nw_s1_coneacid.nss
Normal file
@@ -0,0 +1,76 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Cone: Acid
|
||||
//:: NW_S1_ConeAcid
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
A cone of damage eminated from the monster. Does
|
||||
a set amount of damage based upon the creatures HD
|
||||
and can be halved with a Reflex Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDamage;
|
||||
int nLoop = nHD / 3;
|
||||
|
||||
float fDelay;
|
||||
|
||||
if(nLoop == 0)
|
||||
{
|
||||
nLoop = 1;
|
||||
}
|
||||
|
||||
//Calculate the damage
|
||||
for (nLoop; nLoop > 0; nLoop--)
|
||||
{
|
||||
nDamage = nDamage + d6(2);
|
||||
}
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eCone;
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
|
||||
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
//Get first target in spell area
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_CONE_ACID));
|
||||
//Determine effect delay
|
||||
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_ACID);
|
||||
//Set damage effect
|
||||
eCone = EffectDamage(nDamage, DAMAGE_TYPE_ACID);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_conecold.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_conecold.ncs
Normal file
Binary file not shown.
76
_content/_hak/asch_prc8_top/nw_s1_conecold.nss
Normal file
76
_content/_hak/asch_prc8_top/nw_s1_conecold.nss
Normal file
@@ -0,0 +1,76 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Cone: Cold
|
||||
//:: NW_S1_ConeCold
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
A cone of damage eminated from the monster. Does
|
||||
a set amount of damage based upon the creatures HD
|
||||
and can be halved with a Reflex Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDamage;
|
||||
int nLoop = nHD / 3;
|
||||
|
||||
float fDelay;
|
||||
|
||||
if(nLoop == 0)
|
||||
{
|
||||
nLoop = 1;
|
||||
}
|
||||
|
||||
//Calculate the damage
|
||||
for (nLoop; nLoop > 0; nLoop--)
|
||||
{
|
||||
nDamage = nDamage + d6(2);
|
||||
}
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eCone;
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
|
||||
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
//Get first target in spell area
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_CONE_COLD));
|
||||
//Determine effect delay
|
||||
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_COLD);
|
||||
//Set damage effect
|
||||
eCone = EffectDamage(nDamage, DAMAGE_TYPE_COLD);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_conedisea.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_conedisea.ncs
Normal file
Binary file not shown.
99
_content/_hak/asch_prc8_top/nw_s1_conedisea.nss
Normal file
99
_content/_hak/asch_prc8_top/nw_s1_conedisea.nss
Normal file
@@ -0,0 +1,99 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Cone: Disease
|
||||
//:: NW_S1_ConeDisea
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature spits out a cone of disease that cannot
|
||||
be avoided unless a Reflex save is made.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 22, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nRacial = MyPRCGetRacialType(oNPC);
|
||||
int nDisease;
|
||||
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
float fDelay;
|
||||
|
||||
effect eCone = EffectDisease(nDisease);
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DISEASE_S);
|
||||
|
||||
|
||||
//Determine the disease type based on the Racial Type and HD
|
||||
switch (nRacial)
|
||||
{
|
||||
case RACIAL_TYPE_OUTSIDER:
|
||||
nDisease = DISEASE_DEMON_FEVER;
|
||||
break;
|
||||
case RACIAL_TYPE_VERMIN:
|
||||
nDisease = DISEASE_VERMIN_MADNESS;
|
||||
break;
|
||||
case RACIAL_TYPE_UNDEAD:
|
||||
if(nHD <= 3)
|
||||
{
|
||||
nDisease = DISEASE_ZOMBIE_CREEP;
|
||||
}
|
||||
else if (nHD > 3 && nHD <= 10)
|
||||
{
|
||||
nDisease = DISEASE_GHOUL_ROT;
|
||||
}
|
||||
else if(nHD > 10)
|
||||
{
|
||||
nDisease = DISEASE_MUMMY_ROT;
|
||||
}
|
||||
default:
|
||||
if(nHD <= 3)
|
||||
{
|
||||
nDisease = DISEASE_MINDFIRE;
|
||||
}
|
||||
else if (nHD > 3 && nHD <= 10)
|
||||
{
|
||||
nDisease = DISEASE_RED_ACHE;
|
||||
}
|
||||
else if(nHD > 10)
|
||||
{
|
||||
nDisease = DISEASE_SHAKES;
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
//Get first target in spell area
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF)
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_CONE_DISEASE));
|
||||
//Get the delay time
|
||||
fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget));
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_coneelec.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_coneelec.ncs
Normal file
Binary file not shown.
78
_content/_hak/asch_prc8_top/nw_s1_coneelec.nss
Normal file
78
_content/_hak/asch_prc8_top/nw_s1_coneelec.nss
Normal file
@@ -0,0 +1,78 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Cone: Lightning
|
||||
//:: NW_S1_ConeElec
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
A cone of damage eminates from the monster. Does
|
||||
a set amount of damage based upon the creatures HD
|
||||
and can be halved with a Reflex Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDamage;
|
||||
int nLoop = nHD / 3;
|
||||
|
||||
float fDelay;
|
||||
|
||||
if(nLoop == 0)
|
||||
{
|
||||
nLoop = 1;
|
||||
}
|
||||
|
||||
//Calculate the damage
|
||||
for (nLoop; nLoop > 0; nLoop--)
|
||||
{
|
||||
nDamage = nDamage + d6(2);
|
||||
}
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eLightning = EffectBeam(VFX_BEAM_LIGHTNING, oNPC, BODY_NODE_HAND);
|
||||
effect eCone;
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S);
|
||||
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
//Get first target in spell area
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_CONE_LIGHTNING));
|
||||
//Determine effect delay
|
||||
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_ELECTRICITY);
|
||||
//Set damage effect
|
||||
eCone = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLightning,oTarget,0.5));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_conesonic.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_conesonic.ncs
Normal file
Binary file not shown.
75
_content/_hak/asch_prc8_top/nw_s1_conesonic.nss
Normal file
75
_content/_hak/asch_prc8_top/nw_s1_conesonic.nss
Normal file
@@ -0,0 +1,75 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Cone: Sonic
|
||||
//:: NW_S1_ConeSonic
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
A cone of damage eminated from the monster. Does
|
||||
a set amount of damage based upon the creatures HD
|
||||
and can be halved with a Reflex Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDamage;
|
||||
int nLoop = nHD / 3;
|
||||
|
||||
float fDelay;
|
||||
|
||||
if(nLoop == 0)
|
||||
{
|
||||
nLoop = 1;
|
||||
}
|
||||
|
||||
//Calculate the damage
|
||||
for (nLoop; nLoop > 0; nLoop--)
|
||||
{
|
||||
nDamage = nDamage + d6(2);
|
||||
}
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eCone;
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_SONIC);
|
||||
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
//Get first target in spell area
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF)
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_CONE_SONIC));
|
||||
//Determine effect delay
|
||||
fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,DAMAGE_TYPE_SONIC);
|
||||
//Set damage effect
|
||||
eCone = EffectDamage(nDamage, DAMAGE_TYPE_SONIC);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_dragfear.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_dragfear.ncs
Normal file
Binary file not shown.
119
_content/_hak/asch_prc8_top/nw_s1_dragfear.nss
Normal file
119
_content/_hak/asch_prc8_top/nw_s1_dragfear.nss
Normal file
@@ -0,0 +1,119 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Dragon Breath Fear
|
||||
//:: NW_S1_DragFear
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Calculates the proper DC Save for the
|
||||
breath weapon based on the HD of the dragon.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 9, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
//Declare major variables
|
||||
int nAge = GetHitDice(OBJECT_SELF);
|
||||
int nCount;
|
||||
int nDC;
|
||||
float fDelay;
|
||||
object oTarget;
|
||||
effect eBreath = EffectFrightened();
|
||||
effect eFear = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eBreath, eDur);
|
||||
eLink = EffectLinkEffects(eLink, eFear);
|
||||
|
||||
//Determine the duration and save DC
|
||||
if (nAge <= 6) //Wyrmling
|
||||
{
|
||||
nDC = 13;
|
||||
nCount = 1;
|
||||
}
|
||||
else if (nAge >= 7 && nAge <= 9) //Very Young
|
||||
{
|
||||
nDC = 15;
|
||||
nCount = 2;
|
||||
}
|
||||
else if (nAge >= 10 && nAge <= 12) //Young
|
||||
{
|
||||
nDC = 17;
|
||||
nCount = 3;
|
||||
}
|
||||
else if (nAge >= 13 && nAge <= 15) //Juvenile
|
||||
{
|
||||
nDC = 19;
|
||||
nCount = 4;
|
||||
}
|
||||
else if (nAge >= 16 && nAge <= 18) //Young Adult
|
||||
{
|
||||
nDC = 21;
|
||||
nCount = 5;
|
||||
}
|
||||
else if (nAge >= 19 && nAge <= 21) //Adult
|
||||
{
|
||||
nDC = 24;
|
||||
nCount = 6;
|
||||
}
|
||||
else if (nAge >= 22 && nAge <= 24) //Mature Adult
|
||||
{
|
||||
nDC = 27;
|
||||
nCount = 7;
|
||||
}
|
||||
else if (nAge >= 25 && nAge <= 27) //Old
|
||||
{
|
||||
nDC = 28;
|
||||
nCount = 8;
|
||||
}
|
||||
else if (nAge >= 28 && nAge <= 30) //Very Old
|
||||
{
|
||||
nDC = 30;
|
||||
nCount = 9;
|
||||
}
|
||||
else if (nAge >= 31 && nAge <= 33) //Ancient
|
||||
{
|
||||
nDC = 32;
|
||||
nCount = 10;
|
||||
}
|
||||
else if (nAge >= 34 && nAge <= 37) //Wyrm
|
||||
{
|
||||
nDC = 34;
|
||||
nCount = 11;
|
||||
}
|
||||
else if (nAge > 37) //Great Wyrm
|
||||
{
|
||||
nDC = 37;
|
||||
nCount = 12;
|
||||
}
|
||||
PlayDragonBattleCry();
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 14.0, PRCGetSpellTargetLocation(), TRUE);
|
||||
//Get first target in spell area
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(oTarget != OBJECT_SELF && !GetIsReactionTypeFriendly(oTarget))
|
||||
{
|
||||
nCount = GetScaledDuration(nCount, oTarget);
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_DRAGON_BREATH_FEAR));
|
||||
//Determine the effect delay time
|
||||
fDelay = GetDistanceBetween(oTarget, OBJECT_SELF)/20;
|
||||
//Make a saving throw check
|
||||
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR, OBJECT_SELF, fDelay))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount)));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 14.0, PRCGetSpellTargetLocation(), TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_dragfeara.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_dragfeara.ncs
Normal file
Binary file not shown.
45
_content/_hak/asch_prc8_top/nw_s1_dragfeara.nss
Normal file
45
_content/_hak/asch_prc8_top/nw_s1_dragfeara.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura of Fear On Enter
|
||||
//:: NW_S1_DragFearA.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Upon entering the aura of the creature the player
|
||||
must make a will save or be struck with fear because
|
||||
of the creatures presence.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: 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 oTarget = GetEnteringObject();
|
||||
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
|
||||
effect eDur2 = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eFear = EffectFrightened();
|
||||
effect eLink = EffectLinkEffects(eFear, eDur);
|
||||
eLink = EffectLinkEffects(eLink, eDur2);
|
||||
|
||||
int nHD = GetHitDice(GetAreaOfEffectCreator());
|
||||
int nDC = 10 + GetHitDice(GetAreaOfEffectCreator())/3;
|
||||
int nDuration = GetScaledDuration(nHD, oTarget);
|
||||
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELLABILITY_AURA_FEAR));
|
||||
//Make a saving throw check
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_feroc3.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_feroc3.ncs
Normal file
Binary file not shown.
41
_content/_hak/asch_prc8_top/nw_s1_feroc3.nss
Normal file
41
_content/_hak/asch_prc8_top/nw_s1_feroc3.nss
Normal file
@@ -0,0 +1,41 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Ferocity 3
|
||||
//:: NW_S1_Feroc3
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
The Dex and Str of the target increases
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: Aug 13, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION); //:: Determine the duration by getting the con modifier
|
||||
int nIncrease = 9;
|
||||
int nDuration = 1 + nCONMod;
|
||||
if(nDuration == 0) { nDuration = 1; }
|
||||
|
||||
|
||||
effect eDex = EffectAbilityIncrease(ABILITY_DEXTERITY, nIncrease);
|
||||
effect eStr = EffectAbilityIncrease(ABILITY_STRENGTH, nIncrease);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||||
effect eLink = EffectLinkEffects(eStr, eDex);
|
||||
eLink = EffectLinkEffects(eLink, eDur);
|
||||
eLink = ExtraordinaryEffect(eLink); //:: Make effect extraordinary
|
||||
|
||||
//effect eVis = EffectVisualEffect(VFX_IMP_IMPROVE_ABILITY_SCORE);
|
||||
SignalEvent(oNPC, EventSpellCastAt(oNPC, SPELLABILITY_FEROCITY_3, FALSE));
|
||||
if (nCONMod > 0)
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oNPC, RoundsToSeconds(nDuration));
|
||||
//ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF) ;
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_gazechaos.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_gazechaos.ncs
Normal file
Binary file not shown.
69
_content/_hak/asch_prc8_top/nw_s1_gazechaos.nss
Normal file
69
_content/_hak/asch_prc8_top/nw_s1_gazechaos.nss
Normal file
@@ -0,0 +1,69 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Gaze: Destroy Law
|
||||
//:: NW_S1_GazeChaos
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Cone shape that affects all within the AoE if they
|
||||
fail a Will Save and are of Lawful alignment.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 13, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "x0_i0_match"
|
||||
|
||||
void main()
|
||||
{
|
||||
//--------------------------------------------------------------------------
|
||||
// Make sure we are not blind
|
||||
//--------------------------------------------------------------------------
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eGaze = EffectDeath();
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DEATH);
|
||||
|
||||
//Get first target in spell area
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||
{
|
||||
if(GetAlignmentLawChaos(oTarget) == ALIGNMENT_LAWFUL)
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DESTROY_LAW));
|
||||
//Determine effect delay
|
||||
float fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
if(!/*WillSave*/PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
//DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGaze, oTarget));
|
||||
}
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_gazecharm.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_gazecharm.ncs
Normal file
Binary file not shown.
76
_content/_hak/asch_prc8_top/nw_s1_gazecharm.nss
Normal file
76
_content/_hak/asch_prc8_top/nw_s1_gazecharm.nss
Normal file
@@ -0,0 +1,76 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Gaze: Charm
|
||||
//:: NW_S1_GazeCharm
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Cone shape that affects all within the AoE if they
|
||||
fail a Will Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 9, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "x0_i0_match"
|
||||
|
||||
void main()
|
||||
{
|
||||
//--------------------------------------------------------------------------
|
||||
// Make sure we are not blind
|
||||
//--------------------------------------------------------------------------
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDuration = 1 + (nHD / 3);
|
||||
if(nDuration == 0) { nDuration = 1; }
|
||||
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eGaze = EffectCharmed();
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_CHARM);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eDur, eVisDur);
|
||||
|
||||
//Get first target in spell area
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF)
|
||||
{
|
||||
nDuration = GetScaledDuration(nDuration, oTarget);
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_CHARM));
|
||||
//Determine effect delay
|
||||
float fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay))
|
||||
{
|
||||
eGaze = GetScaledEffect(eGaze, oTarget);
|
||||
eLink = EffectLinkEffects(eLink, eGaze);
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_gazeconfu.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_gazeconfu.ncs
Normal file
Binary file not shown.
77
_content/_hak/asch_prc8_top/nw_s1_gazeconfu.nss
Normal file
77
_content/_hak/asch_prc8_top/nw_s1_gazeconfu.nss
Normal file
@@ -0,0 +1,77 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Gaze: Confusion
|
||||
//:: NW_S1_GazeConfu
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Cone shape that affects all within the AoE if they
|
||||
fail a Will Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 9, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "x0_i0_match"
|
||||
|
||||
void main()
|
||||
{
|
||||
//--------------------------------------------------------------------------
|
||||
// Make sure we are not blind
|
||||
//--------------------------------------------------------------------------
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDuration = 1 + (nHD / 3);
|
||||
if(nDuration == 0) { nDuration = 1; }
|
||||
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eGaze = EffectConfused();
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_CONFUSION_S);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||
effect eLink = EffectLinkEffects(eDur, eVisDur);
|
||||
|
||||
//Get first target in spell area
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||
{
|
||||
if(oTarget != oNPC)
|
||||
{
|
||||
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||
//Determine effect delay
|
||||
float fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_CONFUSION));
|
||||
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay))
|
||||
{
|
||||
eGaze = GetScaledEffect(eGaze, oTarget);
|
||||
eLink = EffectLinkEffects(eLink, eGaze);
|
||||
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||
}
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_gazedaze.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_gazedaze.ncs
Normal file
Binary file not shown.
74
_content/_hak/asch_prc8_top/nw_s1_gazedaze.nss
Normal file
74
_content/_hak/asch_prc8_top/nw_s1_gazedaze.nss
Normal file
@@ -0,0 +1,74 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Gaze: Daze
|
||||
//:: NW_S1_GazeDaze
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Cone shape that affects all within the AoE if they
|
||||
fail a Will Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "x0_i0_match"
|
||||
|
||||
void main()
|
||||
{
|
||||
//--------------------------------------------------------------------------
|
||||
// Make sure we are not blind
|
||||
//--------------------------------------------------------------------------
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDuration = 1 + (nHD / 3);
|
||||
if(nDuration == 0) { nDuration = 1; }
|
||||
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eGaze = EffectDazed();
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DAZED_S);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||
effect eLink = EffectLinkEffects(eGaze, eVisDur);
|
||||
eLink = EffectLinkEffects(eLink, eDur);
|
||||
|
||||
//Get first target in spell area
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||
{
|
||||
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DAZE));
|
||||
|
||||
//Determine effect delay
|
||||
float fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
if(!/*WillSave*/PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_gazedeath.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_gazedeath.ncs
Normal file
Binary file not shown.
66
_content/_hak/asch_prc8_top/nw_s1_gazedeath.nss
Normal file
66
_content/_hak/asch_prc8_top/nw_s1_gazedeath.nss
Normal file
@@ -0,0 +1,66 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Gaze: Death
|
||||
//:: NW_S1_GazeDeath
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Cone shape that affects all within the AoE if they
|
||||
fail a Will Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 9, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "x0_i0_match"
|
||||
|
||||
void main()
|
||||
{
|
||||
//--------------------------------------------------------------------------
|
||||
// Make sure we are not blind
|
||||
//--------------------------------------------------------------------------
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eGaze = EffectDeath();
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DEATH);
|
||||
|
||||
//Get first target in spell area
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) || oTarget != oNPC)
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DEATH));
|
||||
//Determine effect delay
|
||||
float fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGaze, oTarget));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_gazedomn.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_gazedomn.ncs
Normal file
Binary file not shown.
78
_content/_hak/asch_prc8_top/nw_s1_gazedomn.nss
Normal file
78
_content/_hak/asch_prc8_top/nw_s1_gazedomn.nss
Normal file
@@ -0,0 +1,78 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Gaze: Dominate
|
||||
//:: NW_S1_GazeDomn
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Cone shape that affects all within the AoE if they
|
||||
fail a Will Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 9, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "x0_i0_match"
|
||||
|
||||
void main()
|
||||
{
|
||||
//--------------------------------------------------------------------------
|
||||
// Make sure we are not blind
|
||||
//--------------------------------------------------------------------------
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDuration = 1 + (nHD / 3);
|
||||
if(nDuration == 0) { nDuration = 1; }
|
||||
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eGaze = EffectDominated();
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DOMINATE_S);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED);
|
||||
effect eLink = EffectLinkEffects(eDur, eVisDur);
|
||||
|
||||
//Get first target in spell area
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||
{
|
||||
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DOMINATE));
|
||||
//Determine effect delay
|
||||
float fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
if(GetIsEnemy(oTarget))
|
||||
{
|
||||
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay))
|
||||
{
|
||||
eGaze = GetScaledEffect(eGaze, oTarget);
|
||||
eLink = EffectLinkEffects(eLink, eGaze);
|
||||
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||
}
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_gazedoom.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_gazedoom.ncs
Normal file
Binary file not shown.
74
_content/_hak/asch_prc8_top/nw_s1_gazedoom.nss
Normal file
74
_content/_hak/asch_prc8_top/nw_s1_gazedoom.nss
Normal file
@@ -0,0 +1,74 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Gaze of Doom
|
||||
//:: NW_S1_GazeDoom.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
If the target fails a save they recieve a -2
|
||||
penalty to all saves, attack rolls, damage and
|
||||
skill checks for the duration of the spell.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: Oct 22, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "x0_i0_match"
|
||||
|
||||
void main()
|
||||
{
|
||||
//--------------------------------------------------------------------------
|
||||
// Make sure we are not blind
|
||||
//--------------------------------------------------------------------------
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDuration = 1 + (nHD / 3);
|
||||
if(nDuration == 0) { nDuration = 1; }
|
||||
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DOOM);
|
||||
effect eSaves = EffectSavingThrowDecrease(SAVING_THROW_ALL, 2);
|
||||
effect eAttack = EffectAttackDecrease(2);
|
||||
effect eDamage = EffectDamageDecrease(2);
|
||||
effect eSkill = EffectSkillDecrease(SKILL_ALL_SKILLS, 2);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eAttack, eDamage);
|
||||
eLink = EffectLinkEffects(eLink, eSaves);
|
||||
eLink = EffectLinkEffects(eLink, eSkill);
|
||||
eLink = EffectLinkEffects(eLink, eDur);
|
||||
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, PRCGetSpellTargetLocation());
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||
{
|
||||
if(oTarget != oNPC)
|
||||
{
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DOOM));
|
||||
//Spell Resistance and Saving throw
|
||||
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC))
|
||||
{
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink , oTarget, RoundsToSeconds(nDuration));
|
||||
}
|
||||
}
|
||||
}
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, PRCGetSpellTargetLocation());
|
||||
}
|
||||
}
|
BIN
_content/_hak/asch_prc8_top/nw_s1_gazeevil.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_gazeevil.ncs
Normal file
Binary file not shown.
70
_content/_hak/asch_prc8_top/nw_s1_gazeevil.nss
Normal file
70
_content/_hak/asch_prc8_top/nw_s1_gazeevil.nss
Normal file
@@ -0,0 +1,70 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Gaze: Deatroy Good
|
||||
//:: NW_S1_GazeEvil
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Cone shape that affects all within the AoE if they
|
||||
fail a Will Save.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 13, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "prc_inc_spells"
|
||||
#include "NW_I0_SPELLS"
|
||||
//#include "wm_include"
|
||||
#include "x0_i0_match"
|
||||
|
||||
void main()
|
||||
{
|
||||
//--------------------------------------------------------------------------
|
||||
// Make sure we are not blind
|
||||
//--------------------------------------------------------------------------
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_BLINDNESS, OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(84530, OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nDuration = 1 + (nHD / 3);
|
||||
|
||||
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||
|
||||
effect eGaze = EffectDeath();
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_DEATH);
|
||||
|
||||
//Get first target in spell area
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||
{
|
||||
if(GetAlignmentGoodEvil(oTarget) == ALIGNMENT_GOOD)
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_DEATH));
|
||||
//Determine effect delay
|
||||
float fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
//DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGaze, oTarget));
|
||||
}
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||
}
|
||||
}
|
||||
|
BIN
_content/_hak/asch_prc8_top/nw_s1_gazefear.ncs
Normal file
BIN
_content/_hak/asch_prc8_top/nw_s1_gazefear.ncs
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user