generated from Jaysyn/ModuleTemplate
Initial commit
Initial commit.
This commit is contained in:
10
README.md
10
README.md
@@ -1,19 +1,17 @@
|
|||||||
# Default Module Template
|
# Random Dungeon Generator 9f [PRC8-PEPS-CEP3]
|
||||||
|
|
||||||
Repository for the development of the PRC8 version of .....
|
Repository for the development of the PRC8 version of Random Dungeon Generator 9f.
|
||||||
|
|
||||||
[Discussion Thread on Discord](https://discord.gg/ca2ru3KxYd)
|
[Discussion Thread on Discord](https://discord.gg/ca2ru3KxYd)
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
1.) [Nasher](https://github.com/squattingmonk/nasher), installed in your system path.
|
1.) [Nasher](https://github.com/squattingmonk/nasher), installed in your system path.
|
||||||
|
|
||||||
2.) [Original module resources]()
|
2.) [Original module resources](https://neverwintervault.org/project/nwn1/module/elidrins-random-dungeon-generator-rdg9)
|
||||||
|
|
||||||
3.) [PRC8](https://gitea.raptio.us/Jaysyn/PRC8/releases)
|
3.) [PRC8](https://gitea.raptio.us/Jaysyn/PRC8/releases)
|
||||||
|
|
||||||
3.) [CEP3](https://neverwintervault.org/project/nwnee/hakpak/combined/cep-3-community-expansion-pack)
|
4.) [CEP3](https://neverwintervault.org/project/nwnee/hakpak/combined/cep-3-community-expansion-pack)
|
||||||
|
|
||||||
4.) [CEP2](https://neverwintervault.org/cep)
|
|
||||||
|
|
||||||
## Instructions
|
## Instructions
|
||||||
|
|
||||||
|
|||||||
18
nasher.cfg
18
nasher.cfg
@@ -1,9 +1,9 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "Default Module"
|
name = "Random Dungeon Generator 9f [PRC8-PEPS-CEP3]"
|
||||||
description = "PRC8 version of ..."
|
description = "PRC8 version of Random Dungeon Generator."
|
||||||
version = "1.01prc8"
|
version = "9.2prc8"
|
||||||
url = "https://discord.gg/ca2ru3KxYd"
|
url = "https://discord.gg/ca2ru3KxYd"
|
||||||
author = "Original Author"
|
author = "Elidrin"
|
||||||
author = "Jaysyn904 <68194417+Jaysyn904@users.noreply.github.com>"
|
author = "Jaysyn904 <68194417+Jaysyn904@users.noreply.github.com>"
|
||||||
|
|
||||||
[package.sources]
|
[package.sources]
|
||||||
@@ -15,8 +15,8 @@ author = "Jaysyn904 <68194417+Jaysyn904@users.noreply.github.com>"
|
|||||||
|
|
||||||
[target]
|
[target]
|
||||||
name = "default"
|
name = "default"
|
||||||
file = "Default Module.mod"
|
file = "Random Dungeon Generator 9f [PRC8-PEPS-CEP3].mod"
|
||||||
description = "PRC8 version of ..."
|
description = "PRC8 version of Random Dungeon Generator."
|
||||||
[target.sources]
|
[target.sources]
|
||||||
include = "src/module/**/*"
|
include = "src/module/**/*"
|
||||||
include = "src/include/**/*"
|
include = "src/include/**/*"
|
||||||
@@ -239,8 +239,8 @@ description = "PRC8 version of ..."
|
|||||||
|
|
||||||
[target]
|
[target]
|
||||||
name = "tophak"
|
name = "tophak"
|
||||||
file = "HAKNAME.hak"
|
file = "rdg_prc8_top.hak"
|
||||||
description = "PRC8 merge hakpak for PRC8 version of ..."
|
description = "Merge hakpak for PRC8 version of Random Dungeon Generator 9f."
|
||||||
[target.sources]
|
[target.sources]
|
||||||
include = "src/hakpak/HAKNAME/**/*"
|
include = "src/hakpak/HAKNAME/**/*"
|
||||||
include = "src/include/**/*"
|
include = "src/include/**/*"
|
||||||
@@ -459,4 +459,4 @@ description = "PRC8 merge hakpak for PRC8 version of ..."
|
|||||||
filter = "xchst_inc.nss"
|
filter = "xchst_inc.nss"
|
||||||
|
|
||||||
[target.rules]
|
[target.rules]
|
||||||
"*" = "src/hakpak/HAKNAME/$ext"
|
"*" = "src/hakpak/rdg_prc8_top/$ext"
|
||||||
29
src/_removed/nw_ch_acd.nss
Normal file
29
src/_removed/nw_ch_acd.nss
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: User Defined Henchmen Script
|
||||||
|
//:: NW_CH_ACD
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
The most complicated script in the game.
|
||||||
|
... ever
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: March 18, 2002
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "x2_inc_spellhook"
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
int nEvent = GetUserDefinedEventNumber();
|
||||||
|
|
||||||
|
// * If a creature has the integer variable X2_L_CREATURE_NEEDS_CONCENTRATION set to TRUE
|
||||||
|
// * it may receive this event. It will unsommon the creature immediately
|
||||||
|
if (nEvent == X2_EVENT_CONCENTRATION_BROKEN)
|
||||||
|
{
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_UNSUMMON);
|
||||||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis,GetLocation(OBJECT_SELF));
|
||||||
|
FloatingTextStrRefOnCreature(84481,GetMaster(OBJECT_SELF));
|
||||||
|
DestroyObject(OBJECT_SELF,0.1f);
|
||||||
|
}
|
||||||
|
}
|
||||||
2021
src/_removed/nw_i0_generic.nss
Normal file
2021
src/_removed/nw_i0_generic.nss
Normal file
File diff suppressed because it is too large
Load Diff
54
src/_removed/nw_s0_raisdead.nss
Normal file
54
src/_removed/nw_s0_raisdead.nss
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: [Raise Dead]
|
||||||
|
//:: [NW_S0_RaisDead.nss]
|
||||||
|
//:: Copyright (c) 2000 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Brings a character back to life with 1 HP.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: Jan 31, 2001
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Last Updated By: Preston Watamaniuk, On: April 11, 2001
|
||||||
|
//:: VFX Pass By: Preston W, On: June 22, 2001
|
||||||
|
|
||||||
|
#include "x2_inc_spellhook"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
Spellcast Hook Code
|
||||||
|
Added 2003-06-20 by Georg
|
||||||
|
If you want to make changes to all spells,
|
||||||
|
check x2_inc_spellhook.nss to find out more
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!X2PreSpellCastCode())
|
||||||
|
{
|
||||||
|
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// End of Spell Cast Hook
|
||||||
|
|
||||||
|
|
||||||
|
//Declare major variables
|
||||||
|
object oTarget = GetSpellTargetObject();
|
||||||
|
effect eRaise = EffectResurrection();
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_RAISE_DEAD);
|
||||||
|
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_RAISE_DEAD, FALSE));
|
||||||
|
if(GetIsDead(oTarget))
|
||||||
|
{
|
||||||
|
//Apply raise dead effect and VFX impact
|
||||||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetLocation(oTarget));
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eRaise, oTarget);
|
||||||
|
object oToken = GetItemPossessedBy(oTarget,"DeathToken");
|
||||||
|
SetItemCursedFlag(oToken,FALSE);
|
||||||
|
DestroyObject(oToken);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
82
src/_removed/nw_s0_resserec.nss
Normal file
82
src/_removed/nw_s0_resserec.nss
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: [Ressurection]
|
||||||
|
//:: [NW_S0_Ressurec.nss]
|
||||||
|
//:: Copyright (c) 2000 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Brings a character back to life with full
|
||||||
|
//:: health.
|
||||||
|
//:: When cast on placeables, you get a default error message.
|
||||||
|
//:: * You can specify a different message in
|
||||||
|
//:: X2_L_RESURRECT_SPELL_MSG_RESREF
|
||||||
|
//:: * You can turn off the message by setting the variable
|
||||||
|
//:: to -1
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: Jan 31, 2001
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Last Updated By: Georg Z on 2003-07-31
|
||||||
|
//:: VFX Pass By: Preston W, On: June 22, 2001
|
||||||
|
|
||||||
|
#include "x2_inc_spellhook"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
Spellcast Hook Code
|
||||||
|
Added 2003-06-20 by Georg
|
||||||
|
If you want to make changes to all spells,
|
||||||
|
check x2_inc_spellhook.nss to find out more
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!X2PreSpellCastCode())
|
||||||
|
{
|
||||||
|
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// End of Spell Cast Hook
|
||||||
|
|
||||||
|
|
||||||
|
//Get the spell target
|
||||||
|
object oTarget = GetSpellTargetObject();
|
||||||
|
//Check to make sure the target is dead first
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
if (GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_RESURRECTION, FALSE));
|
||||||
|
if (GetIsDead(oTarget))
|
||||||
|
{
|
||||||
|
//Declare major variables
|
||||||
|
int nHealed = GetMaxHitPoints(oTarget);
|
||||||
|
effect eRaise = EffectResurrection();
|
||||||
|
effect eHeal = EffectHeal(nHealed + 10);
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_RAISE_DEAD);
|
||||||
|
//Apply the heal, raise dead and VFX impact effect
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eRaise, oTarget);
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oTarget);
|
||||||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetLocation(oTarget));
|
||||||
|
object oToken = GetItemPossessedBy(oTarget,"DeathToken");
|
||||||
|
SetItemCursedFlag(oToken,FALSE);
|
||||||
|
DestroyObject(oToken);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (GetObjectType(oTarget) == OBJECT_TYPE_PLACEABLE)
|
||||||
|
{
|
||||||
|
int nStrRef = GetLocalInt(oTarget,"X2_L_RESURRECT_SPELL_MSG_RESREF");
|
||||||
|
if (nStrRef == 0)
|
||||||
|
{
|
||||||
|
nStrRef = 83861;
|
||||||
|
}
|
||||||
|
if (nStrRef != -1)
|
||||||
|
{
|
||||||
|
FloatingTextStrRefOnCreature(nStrRef,OBJECT_SELF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
259
src/_removed/nw_s0_summon.nss
Normal file
259
src/_removed/nw_s0_summon.nss
Normal file
@@ -0,0 +1,259 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Summon Creature Series
|
||||||
|
//:: NW_S0_Summon
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
Carries out the summoning of the appropriate
|
||||||
|
creature for the Summon Monster Series of spells
|
||||||
|
1 to 9
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: Jan 8, 2002
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
|
||||||
|
effect SetSummonEffect(int nSpellID);
|
||||||
|
|
||||||
|
#include "x2_inc_spellhook"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
Spellcast Hook Code
|
||||||
|
Added 2003-06-23 by GeorgZ
|
||||||
|
If you want to make changes to all spells,
|
||||||
|
check x2_inc_spellhook.nss to find out more
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!X2PreSpellCastCode())
|
||||||
|
{
|
||||||
|
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// End of Spell Cast Hook
|
||||||
|
|
||||||
|
|
||||||
|
//Declare major variables
|
||||||
|
int nSpellID = GetSpellId();
|
||||||
|
int nDuration = GetCasterLevel(OBJECT_SELF);
|
||||||
|
//nDuration = 24;
|
||||||
|
if(nDuration == 1)
|
||||||
|
{
|
||||||
|
nDuration = 2;
|
||||||
|
}
|
||||||
|
effect eSummon = SetSummonEffect(nSpellID);
|
||||||
|
|
||||||
|
//Make metamagic check for extend
|
||||||
|
int nMetaMagic = GetMetaMagicFeat();
|
||||||
|
if (nMetaMagic == METAMAGIC_EXTEND)
|
||||||
|
{
|
||||||
|
nDuration = nDuration *2; //Duration is +100%
|
||||||
|
}
|
||||||
|
//Apply the VFX impact and summon effect
|
||||||
|
|
||||||
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
effect SetSummonEffect(int nSpellID)
|
||||||
|
{
|
||||||
|
int nFNF_Effect;
|
||||||
|
int nRoll = d3();
|
||||||
|
string sSummon;
|
||||||
|
if(GetHasFeat(FEAT_ANIMAL_DOMAIN_POWER)) //WITH THE ANIMAL DOMAIN
|
||||||
|
{
|
||||||
|
if(nSpellID == SPELL_SUMMON_CREATURE_I)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1;
|
||||||
|
sSummon = "NW_S_BOARDIRE";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_II)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1;
|
||||||
|
sSummon = "NW_S_WOLFDIRE";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_III)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1;
|
||||||
|
sSummon = "NW_S_SPIDDIRE";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_IV)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2;
|
||||||
|
sSummon = "NW_S_beardire";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_V)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2;
|
||||||
|
sSummon = "NW_S_diretiger";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_VI)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3;
|
||||||
|
switch (nRoll)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
sSummon = "NW_S_AIRHUGE";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
sSummon = "NW_S_WATERHUGE";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
sSummon = "NW_S_FIREHUGE";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_VII)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3;
|
||||||
|
switch (nRoll)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
sSummon = "NW_S_AIRGREAT";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
sSummon = "NW_S_WATERGREAT";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
sSummon = "NW_S_FIREGREAT";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_VIII)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3;
|
||||||
|
switch (nRoll)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
sSummon = "NW_S_AIRELDER";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
sSummon = "NW_S_WATERELDER";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
sSummon = "NW_S_FIREELDER";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_IX)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3;
|
||||||
|
switch (nRoll)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
sSummon = "NW_S_AIRELDER";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
sSummon = "NW_S_WATERELDER";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
sSummon = "NW_S_FIREELDER";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else //WITOUT THE ANIMAL DOMAIN
|
||||||
|
{
|
||||||
|
if(nSpellID == SPELL_SUMMON_CREATURE_I)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1;
|
||||||
|
sSummon = "NW_S_badgerdire";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_II)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1;
|
||||||
|
sSummon = "NW_S_BOARDIRE";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_III)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1;
|
||||||
|
sSummon = "NW_S_WOLFDIRE";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_IV)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2;
|
||||||
|
sSummon = "NW_S_SPIDDIRE";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_V)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2;
|
||||||
|
sSummon = "NW_S_beardire";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_VI)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2;
|
||||||
|
sSummon = "NW_S_diretiger";
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_VII)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3;
|
||||||
|
switch (nRoll)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
sSummon = "NW_S_AIRHUGE";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
sSummon = "NW_S_WATERHUGE";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
sSummon = "NW_S_FIREHUGE";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_VIII)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3;
|
||||||
|
switch (nRoll)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
sSummon = "NW_S_AIRGREAT";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
sSummon = "NW_S_WATERGREAT";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
sSummon = "NW_S_FIREGREAT";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(nSpellID == SPELL_SUMMON_CREATURE_IX)
|
||||||
|
{
|
||||||
|
nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3;
|
||||||
|
switch (nRoll)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
sSummon = "NW_S_AIRELDER";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
sSummon = "NW_S_WATERELDER";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
sSummon = "NW_S_FIREELDER";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//effect eVis = EffectVisualEffect(nFNF_Effect);
|
||||||
|
//ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetSpellTargetLocation());
|
||||||
|
effect eSummonedMonster = EffectSummonCreature(sSummon, nFNF_Effect);
|
||||||
|
return eSummonedMonster;
|
||||||
|
}
|
||||||
|
|
||||||
22
src/_removed/nw_s2_familiar.nss
Normal file
22
src/_removed/nw_s2_familiar.nss
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#include "inc_misc_tools"
|
||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Summon Familiar
|
||||||
|
//:: NW_S2_Familiar
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
This spell summons an Arcane casters familiar
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: Sept 27, 2001
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
object oPC = OBJECT_SELF;
|
||||||
|
if (GetHasGem(3,oPC))
|
||||||
|
SummonFamiliar();
|
||||||
|
else
|
||||||
|
FloatingTextStringOnCreature("This power requires a gem worth at least 100 gold",oPC,FALSE);
|
||||||
|
}
|
||||||
85
src/_removed/nw_s3_balordeth.nss
Normal file
85
src/_removed/nw_s3_balordeth.nss
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Balor On Death
|
||||||
|
//:: NW_S3_BALORDETH
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
Fireball explosion does 50 damage to all within
|
||||||
|
20ft
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: Jan 9, 2002
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "x0_i0_spawncond"
|
||||||
|
#include "x0_i0_corpses"
|
||||||
|
#include "inc_misc_tools"
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
//Declare major variables
|
||||||
|
object oCaster = OBJECT_SELF;
|
||||||
|
int nMetaMagic = GetMetaMagicFeat();
|
||||||
|
int nDamage;
|
||||||
|
float fDelay;
|
||||||
|
effect eExplode = EffectVisualEffect(VFX_FNF_FIREBALL);
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
|
||||||
|
effect eDam;
|
||||||
|
//Get the spell target location as opposed to the spell target.
|
||||||
|
location lTarget = GetLocation(OBJECT_SELF);
|
||||||
|
//Limit Caster level for the purposes of damage
|
||||||
|
//Apply the fireball explosion at the location captured above.
|
||||||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget);
|
||||||
|
//Declare the spell shape, size and the location. Capture the first target object in the shape.
|
||||||
|
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR);
|
||||||
|
//Cycle through the targets within the spell shape until an invalid object is captured.
|
||||||
|
while (GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_FIREBALL));
|
||||||
|
//Get the distance between the explosion and the target to calculate delay
|
||||||
|
fDelay = GetDistanceBetweenLocations(lTarget, GetLocation(oTarget))/20;
|
||||||
|
if (!MyResistSpell(OBJECT_SELF, oTarget, fDelay))
|
||||||
|
{
|
||||||
|
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||||
|
nDamage = GetReflexAdjustedDamage(50, oTarget, GetSpellSaveDC(), SAVING_THROW_TYPE_FIRE);
|
||||||
|
//Set the damage effect
|
||||||
|
eDam = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
|
||||||
|
if(nDamage > 0)
|
||||||
|
{
|
||||||
|
// Apply effects to the currently selected target.
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget));
|
||||||
|
//This visual effect is applied to the target object not the location as above. This visual effect
|
||||||
|
//represents the flame that erupts on the target not on the ground.
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Select the next target within the spell shape.
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR);
|
||||||
|
}
|
||||||
|
if (GetLocalInt(OBJECT_SELF,"MirrorOfOppositionCopy"))
|
||||||
|
{
|
||||||
|
SetIsDestroyable(TRUE,FALSE,FALSE);
|
||||||
|
DestroyObject(OBJECT_SELF);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (GetIsObjectValid(GetLocalObject(OBJECT_SELF,"MirrorOfOpposition")))
|
||||||
|
{
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDeath(),GetLocalObject(OBJECT_SELF,"MirrorOfOpposition"));
|
||||||
|
}
|
||||||
|
object oKiller = GetLastKiller();
|
||||||
|
int iBoss = GetLocalInt(OBJECT_SELF,"Boss");
|
||||||
|
if (!GetLocalInt(OBJECT_SELF,"Dead"))
|
||||||
|
{
|
||||||
|
if (SLOW_XP && iBoss)
|
||||||
|
AwardXPs(oKiller);
|
||||||
|
else
|
||||||
|
AwardXPs(oKiller);
|
||||||
|
SetLocalInt(OBJECT_SELF,"Dead",TRUE);
|
||||||
|
if (iBoss)
|
||||||
|
KillAndReplaceLootable(OBJECT_SELF,FALSE);
|
||||||
|
else
|
||||||
|
KillAndReplaceDecorative(OBJECT_SELF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
203
src/hakpak/rdg_prc8_top/2da/itempropdef.2da
Normal file
203
src/hakpak/rdg_prc8_top/2da/itempropdef.2da
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
2DA V2.0
|
||||||
|
|
||||||
|
Name Label SubTypeResRef Cost CostTableResRef Param1ResRef GameStrRef Description
|
||||||
|
0 649 Ability IPRP_ABILITIES 1.2 1 **** 5476 ****
|
||||||
|
1 652 Armor **** 0.9 2 **** 5477 ****
|
||||||
|
2 653 ArmorAlignmentGroup IPRP_ALIGNGRP 0.5 2 **** 5478 1077
|
||||||
|
3 654 ArmorDamageType IPRP_COMBATDAM 0.5 2 **** 5478 ****
|
||||||
|
4 651 ArmorRacialGroup racialtypes 0.5 2 **** 5478 ****
|
||||||
|
5 655 ArmorSpecificAlignment IPRP_ALIGNMENT 0.3 2 **** 5478 ****
|
||||||
|
6 659 Enhancement **** 1 2 **** 5479 1080
|
||||||
|
7 656 EnhancementAlignmentGroup IPRP_ALIGNGRP 0.6 2 **** 5480 1084
|
||||||
|
8 657 EnhancementRacialGroup racialtypes 0.35 2 **** 5480 1081
|
||||||
|
9 658 EnhancementSpecificAlignment IPRP_ALIGNMENT 0.35 2 **** 5480 1083
|
||||||
|
10 660 AttackPenalty **** 0 20 **** 5481 1460
|
||||||
|
11 661 WeightReduction **** 1 10 **** 5482 1442
|
||||||
|
12 662 BonusFeats IPRP_FEATS **** 0 **** 5483 1445
|
||||||
|
13 663 SingleBonusSpellOfLevel classes 0.5 13 **** 5484 1444
|
||||||
|
14 667 Boomerang **** 1 0 **** **** 1425
|
||||||
|
15 668 CastSpell IPRP_SPELLS **** 3 **** 5485 1078
|
||||||
|
16 650 Damage IPRP_DAMAGETYPE 3.5 4 **** 5486 1089
|
||||||
|
17 670 DamageAlignmentGroup IPRP_ALIGNGRP 1.5 4 0 5487 1092
|
||||||
|
18 673 DamageRacialGroup racialtypes 0.75 4 0 5487 1090
|
||||||
|
19 675 DamageSpecificAlignment IPRP_ALIGNMENT 0.75 4 0 5487 1091
|
||||||
|
20 680 DamageImmunity IPRP_DAMAGETYPE 2.3 5 **** 5488 1093
|
||||||
|
21 672 DamagePenalty **** 0 20 **** 5489 1459
|
||||||
|
22 674 DamageReduced IPRP_PROTECTION **** 6 **** 5490 1418
|
||||||
|
23 681 DamageResist IPRP_DAMAGETYPE **** 7 **** 5491 1417
|
||||||
|
24 696 Damage_Vulnerability IPRP_DAMAGETYPE 0 22 **** 5492 1457
|
||||||
|
25 748 Dancing_Scimitar **** 1 8 **** **** 1453
|
||||||
|
26 1493 Darkvision **** 1 0 **** 5493 84355
|
||||||
|
27 677 DecreaseAbilityScore IPRP_ABILITIES 0 21 **** 5494 1454
|
||||||
|
28 678 DecreaseAC IPRP_ACMODTYPE 0 20 **** 5495 1456
|
||||||
|
29 679 DecreasedSkill Skills 0 21 **** 5496 1455
|
||||||
|
30 676 DoubleStack **** 1 0 **** 5497 1423
|
||||||
|
31 **** EnhancedContainer_BonusSlot **** **** **** **** **** 1438
|
||||||
|
32 728 EnhancedContainer_Weight **** 1 15 **** 5498 1439
|
||||||
|
33 669 DamageMelee IPRP_COMBATDAM 0.5 0 **** 5499 1420
|
||||||
|
34 671 DamageRanged IPRP_COMBATDAM 0.5 0 **** 5500 1421
|
||||||
|
35 704 Haste **** 3.5 0 **** 5501 1426
|
||||||
|
36 1023 HolyAvenger **** 1.5 0 **** 5502 1436
|
||||||
|
37 1022 Immunity IPRP_IMMUNITY **** 0 **** 5503 1449
|
||||||
|
38 710 ImprovedEvasion **** 3 0 **** 5504 1429
|
||||||
|
39 666 ImprovedMagicResist **** 2 11 **** 5505 1422
|
||||||
|
40 711 ImprovedSavingThrows IPRP_SAVEELEMENT **** 2 **** 5506 1440
|
||||||
|
41 712 ImprovedSavingThrowsSpecific IPRP_SAVINGTHROW 0.65 2 **** 5506 1441
|
||||||
|
42 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
43 713 Keen **** 1 0 **** 5507 1079
|
||||||
|
44 714 Light **** 1 18 9 5508 1431
|
||||||
|
45 1500 Mighty **** 0 2 **** 5509 ****
|
||||||
|
46 721 MindBlank **** 3 0 **** 5510 1430
|
||||||
|
47 722 DamageNone **** 0 0 **** 5511 1419
|
||||||
|
48 723 OnHit IPRP_ONHIT **** 24 **** 5512 1450
|
||||||
|
49 726 ReducedSavingThrows IPRP_SAVEELEMENT 0 20 **** 5513 1461
|
||||||
|
50 727 ReducedSpecificSavingThrow IPRP_SAVINGTHROW 0 20 **** 5513 1462
|
||||||
|
51 729 Regeneration **** 2 2 **** 5515 1446
|
||||||
|
52 731 Skill skills 0.12 25 **** 5516 ****
|
||||||
|
53 733 SpellImmunity_Specific **** 0.4 16 **** 5514 1447
|
||||||
|
54 730 SpellSchool_Immunity IPRP_SPELLSHL 6.1 0 **** 5517 1448
|
||||||
|
55 1492 ThievesTools **** 0.25 25 **** 5518 ****
|
||||||
|
56 735 AttackBonus **** 0.5 2 **** 5519 1085
|
||||||
|
57 734 AttackBonusAlignmentGroup IPRP_ALIGNGRP 0.4 2 **** 5520 1088
|
||||||
|
58 737 AttackBonusRacialGroup racialtypes 0.15 2 **** 5520 1086
|
||||||
|
59 738 AttackBonusSpecificAlignment IPRP_ALIGNMENT 0.15 2 **** 5520 1087
|
||||||
|
60 736 ToHitPenalty **** 0 20 **** 5521 1458
|
||||||
|
61 739 UnlimitedAmmo IPRP_AMMOTYPE 1 14 **** 5522 1452
|
||||||
|
62 715 UseLimitationAlignmentGroup IPRP_ALIGNGRP 0 0 **** 5523 1435
|
||||||
|
63 716 UseLimitationClass Classes 0 0 **** 5523 1434
|
||||||
|
64 724 UseLimitationRacial racialtypes 0 0 **** 5523 1432
|
||||||
|
65 717 UseLimitationSpecificAlignment IPRP_ALIGNMENT 0 0 **** 5523 1437
|
||||||
|
66 718 UseLimitationTerrain IPRP_TERRAINTYPE 0 0 **** 5524 1433
|
||||||
|
67 732 VampiricRegeneration **** 0.5 2 **** 5525 1451
|
||||||
|
68 **** Vorpal **** 5 0 **** 5526 1427
|
||||||
|
69 **** Wounding **** 2 0 **** 5527 1428
|
||||||
|
70 1663 Trap IPRP_TRAPS **** 17 **** 5528 ****
|
||||||
|
71 1775 True_Seeing **** 6.1 0 **** 5529 ****
|
||||||
|
72 1776 OnMonsterHit IPRP_MONSTERHIT **** 0 **** 5530 ****
|
||||||
|
73 1777 Turn_Resistance **** 0.5 25 **** 5531 ****
|
||||||
|
74 1778 Massive_Criticals **** 0.75 4 **** 5532 ****
|
||||||
|
75 1779 Freedom_of_Movement **** 4 0 **** 5533 ****
|
||||||
|
76 879 Poison poison **** 0 10 5534 ****
|
||||||
|
77 5060 Monster_damage **** 1 19 **** 5535 ****
|
||||||
|
78 5604 Immunity_To_Spell_By_Level **** 1.2 23 **** 5635 ****
|
||||||
|
79 6637 Special_Walk IPRP_WALK 0 0 **** **** ****
|
||||||
|
80 8338 Healers_Kit **** 0.035 25 **** 8338 ****
|
||||||
|
81 58325 Weight_Increase **** 0 0 11 **** ****
|
||||||
|
82 83400 OnHitCastSpell IPRP_ONHITSPELL **** 26 **** 5512 1450
|
||||||
|
83 83392 VisualEffect IPRP_VISUALFX **** **** **** 5512 1450
|
||||||
|
84 84321 ArcaneSpellFailure **** 2 27 **** 84346 1450
|
||||||
|
85 111772 Material **** **** 28 **** 111773 111774
|
||||||
|
86 111853 Quality **** **** 29 **** 111854 111855
|
||||||
|
87 111871 Additional_Property **** **** 30 **** 111872 111873
|
||||||
|
88 16825170 UseLimitationAllSpell **** 0 23 **** 16825174 ****
|
||||||
|
89 16825171 UseLimitationArcaneSpell **** 0 23 **** 16825175 ****
|
||||||
|
90 16825172 UseLimitationDivineSpell **** 0 23 **** 16825176 ****
|
||||||
|
91 16825173 UseLimitationSneak **** 0 31 **** 16825177 ****
|
||||||
|
92 16824992 ItemMetamagic IPRP_SPELLS 0 32 **** 16824993 16824994
|
||||||
|
93 16824960 ItemDC IPRP_SPELLS 0 31 **** 16824961 16824962
|
||||||
|
94 16824963 ItemCasterLevel IPRP_SPELLS 0 31 **** 16824964 16824965
|
||||||
|
95 16825167 UseLimitationAbility iprp_abilities 0 31 **** 16825169 ****
|
||||||
|
96 16825168 UseLimitationSkill skills 0 31 **** 16825169 ****
|
||||||
|
97 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
98 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
99 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
100 16826695 AreaEffect iprp_aoe 1 31 **** 16826695 ****
|
||||||
|
101 16832064 PnPHolyAvenger **** 1.5 0 **** 16832064 16832065
|
||||||
|
102 16834273 Wizardry **** 4 13 **** 16834273 16834274
|
||||||
|
103 16834275 Divinity **** 4 13 **** 16834275 16834276
|
||||||
|
104 16834308 Echoblade **** 1 0 **** 16834308 16834309
|
||||||
|
105 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
106 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
107 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
108 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
109 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
110 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
111 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
112 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
113 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
114 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
115 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
116 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
117 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
118 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
119 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
120 16826696 Decrease_Value_A **** -0.01 34 **** **** ****
|
||||||
|
121 16826697 Decrease_Value_B **** -0.1 33 **** **** ****
|
||||||
|
122 16826698 Decrease_Value_c **** -0.1 34 **** **** ****
|
||||||
|
123 16826699 Decrease_Value_d **** -1 33 **** **** ****
|
||||||
|
124 16826700 Decrease_Value_e **** -1 34 **** **** ****
|
||||||
|
125 16826701 Decrease_Value_f **** -10 33 **** **** ****
|
||||||
|
126 16826702 Decrease_Value_g **** -10 34 **** **** ****
|
||||||
|
127 16826703 Decrease_Value_h **** -100 33 **** **** ****
|
||||||
|
128 16826704 Increase_Value_a **** 1 35 **** **** ****
|
||||||
|
129 16826705 Increase_Value_b **** 1 36 **** **** ****
|
||||||
|
130 16826706 Increase_Value_c **** 10 35 **** **** ****
|
||||||
|
131 16826707 Increase_Value_d **** 10 36 **** **** ****
|
||||||
|
132 16826708 Increase_Value_e **** 100 35 **** **** ****
|
||||||
|
133 16824949 Spd_Increase **** 3.5 37 **** 16824967 16824970
|
||||||
|
134 16824969 Spd_Decrease **** -1.5 38 **** 16824968 16824971
|
||||||
|
135 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
136 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
137 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
138 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
139 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
140 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
141 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
142 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
143 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
144 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
145 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
146 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
147 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
148 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
149 **** bio_reserved **** **** **** **** **** ****
|
||||||
|
150 16823546 UseLimitationGender gender **** **** **** 5523 16823547
|
||||||
|
151 7531 GenericValueReduction **** 1.1 21 **** 5507 ****
|
||||||
|
152 7531 GenericValueReduction **** -1.5 21 **** 5507 ****
|
||||||
|
153 **** D20MODERN_RESERVED **** **** **** **** **** ****
|
||||||
|
154 **** D20MODERN_RESERVED **** **** **** **** **** ****
|
||||||
|
155 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
156 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
157 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
158 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
159 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
160 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
161 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
162 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
163 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
164 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
165 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
166 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
167 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
168 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
169 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
170 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
171 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
172 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
173 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
174 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
175 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
176 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
177 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
178 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
179 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
180 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
181 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
182 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
183 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
184 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
185 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
186 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
187 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
188 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
189 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
190 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
191 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
192 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
193 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
194 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
195 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
196 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
197 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
198 **** cep_reserved **** **** **** **** **** ****
|
||||||
|
199 **** cep_reserved **** **** **** **** **** ****
|
||||||
203
src/hakpak/rdg_prc8_top/2da/itemprops.2da
Normal file
203
src/hakpak/rdg_prc8_top/2da/itemprops.2da
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
2DA V2.0
|
||||||
|
|
||||||
|
0_Melee 1_Ranged 2_Thrown 3_Staves 4_Rods 5_Ammo 6_Arm_Shld 7_Helm 8_Potions 9_Scrolls 10_Wands 11_Thieves 12_TrapKits 13_Hide 14_Claw 15_Misc_Uneq 16_Misc 17_No_Props 18_Containers 19_HealerKit 20_Torch 21_Glove StringRef Label
|
||||||
|
0 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 649 Ability_Bonus
|
||||||
|
1 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 652 AC_Bonus
|
||||||
|
2 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 653 AC_Bonus_vs_Alignment_Group
|
||||||
|
3 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 654 AC_Bonus_vs_Damage_Type
|
||||||
|
4 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 651 AC_Bonus_vs_Racial_Group
|
||||||
|
5 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 655 AC_Bonus_vs_Specific_Alignment
|
||||||
|
6 1 1 1 1 **** 1 **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** 1 659 Enhancement_Bonus
|
||||||
|
7 1 1 1 1 **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 656 Enhancement_Bonus_vs_Alignment_Group
|
||||||
|
8 1 1 1 1 **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 657 Enchancement_Bonus_vs_Racial_Group
|
||||||
|
9 1 1 1 1 **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 658 Enhancement_Bonus_vs_Specific_Alignement
|
||||||
|
10 1 **** 1 1 **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** 1 660 Attack_Penalty
|
||||||
|
11 1 1 1 1 1 1 1 1 **** **** 1 **** **** **** **** 1 1 **** 1 **** **** 1 661 Base_Item_Weight_Reduction
|
||||||
|
12 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 662 Bonus_Feat
|
||||||
|
13 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 663 Bonus_Spell_Slot_of_Level_n
|
||||||
|
14 **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 667 Boomerang
|
||||||
|
15 1 1 **** 1 1 **** 1 1 1 1 1 **** **** 1 **** 1 1 1 **** **** **** 1 668 Cast_Spell
|
||||||
|
16 1 1 1 1 **** 1 **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** 1 650 Damage_Bonus
|
||||||
|
17 1 1 1 1 **** 1 **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** 1 670 Damage_Bonus_vs_Alignment_Group
|
||||||
|
18 1 1 1 1 **** 1 **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** 1 673 Damage_Bonus_vs_Racial_Group
|
||||||
|
19 1 **** 1 1 **** 1 **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** 1 675 Damage_Bonus_vs_Specific_Alignment
|
||||||
|
20 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 680 Damage_Immunity
|
||||||
|
21 1 **** 1 1 **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** 1 672 Damage_Penalty
|
||||||
|
22 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 674 Damage_Reduction
|
||||||
|
23 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 681 Damage_Resistance
|
||||||
|
24 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 696 Damage_Vulnerability
|
||||||
|
25 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 748 Dancing
|
||||||
|
26 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 1493 Darkvision
|
||||||
|
27 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 **** **** 1 **** **** **** **** 1 677 Decreased_Ability_Score
|
||||||
|
28 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 **** **** 1 **** **** **** **** 1 678 Decreased_AC
|
||||||
|
29 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 **** **** 1 **** **** **** **** 1 679 Decreased_Skill_Modifier
|
||||||
|
30 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 676 Double_Stack
|
||||||
|
31 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** Enhanced_Container:_Bonus_Slots
|
||||||
|
32 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** 728 Enhanced_Container:_Reduced_Weight
|
||||||
|
33 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 669 Extra_Melee_Damage_Type
|
||||||
|
34 **** 1 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 671 Extra_Ranged_Damage_Type
|
||||||
|
35 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 704 Haste
|
||||||
|
36 1 **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 1023 Holy_Avenger
|
||||||
|
37 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 1022 Immunity
|
||||||
|
38 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 710 Improved_Evasion
|
||||||
|
39 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 666 Improved_Magic_Resistance
|
||||||
|
40 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 711 Improved_Saving_Throws
|
||||||
|
41 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 712 Improved_Saving_Throws:_Specific
|
||||||
|
42 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
43 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 713 Keen_Blade
|
||||||
|
44 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** 1 1 714 Light
|
||||||
|
45 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 1500 Mighty
|
||||||
|
46 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 721 Mind_Blank
|
||||||
|
47 1 1 1 1 **** 1 **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 722 No_Damage
|
||||||
|
48 1 **** 1 1 **** 1 **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** 1 723 On_Hit_Properties
|
||||||
|
49 1 1 1 1 **** 1 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 726 Reduced_Saving_Throws
|
||||||
|
50 1 1 1 1 **** 1 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 727 Reduced_Saving_Throws_Specific
|
||||||
|
51 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 729 Regeneration
|
||||||
|
52 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 731 Skill_Bonus
|
||||||
|
53 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 733 Spell_Immunity
|
||||||
|
54 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 730 Spell_School_Immunity
|
||||||
|
55 **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** 1492 Thieves_Tools
|
||||||
|
56 1 1 1 1 **** 1 **** **** **** **** **** **** **** **** 1 **** 1 **** **** **** **** 1 735 Attack_Bonus
|
||||||
|
57 1 1 1 1 **** **** **** **** **** **** **** **** **** **** 1 **** 1 **** **** **** **** **** 734 Attack_Bonus_vs_Alignment_Group
|
||||||
|
58 1 1 1 1 **** **** **** **** **** **** **** **** **** **** 1 **** 1 **** **** **** **** **** 737 Attack_Bonus_vs_Racial_Group
|
||||||
|
59 1 1 1 1 **** **** **** **** **** **** **** **** **** **** 1 **** 1 **** **** **** **** **** 738 Attack_Bonus_vsSpecific_Alignment
|
||||||
|
60 1 1 1 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 736 To_Hit_Penalty
|
||||||
|
61 **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 739 Unlimited_Ammunition
|
||||||
|
62 1 1 1 1 1 1 1 1 **** **** 1 **** **** **** **** 1 1 **** **** **** **** 1 715 Use_Limitation_Alignment_Group
|
||||||
|
63 1 1 1 1 1 1 1 1 **** 1 1 **** **** **** **** 1 1 **** **** **** **** 1 716 Use_Limitation_Class
|
||||||
|
64 1 1 1 1 1 1 1 1 **** **** 1 **** **** **** **** 1 1 **** **** **** **** 1 724 Use_Limitation_Racial_Type
|
||||||
|
65 1 1 1 1 1 1 1 1 **** **** 1 **** **** **** **** 1 1 **** **** **** **** 1 717 Use_Limitation_Specific_Alignment
|
||||||
|
66 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 718 Use_Limitation_Tileset
|
||||||
|
67 1 **** 1 1 **** 1 **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 732 Vampiric_Regeneration
|
||||||
|
68 **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** Vorpal_Blade
|
||||||
|
69 **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** Wounding
|
||||||
|
70 **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** 1663 Trap
|
||||||
|
71 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 1775 TRUE_Seeing
|
||||||
|
72 **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 1776 On_Monster_Hit
|
||||||
|
73 **** **** **** **** **** **** **** **** **** **** **** **** **** 1 1 **** **** **** **** **** **** **** 1777 Turn_Resistance
|
||||||
|
74 1 1 1 1 **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 1778 Massive_Criticals
|
||||||
|
75 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 1779 Freedom_of_Movement
|
||||||
|
76 **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 879 Poison
|
||||||
|
77 **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 5060 Monster_Damage
|
||||||
|
78 1 1 **** 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 5604 Immunity_to_Spells_by_Level
|
||||||
|
79 **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** 6637 Special_Walk
|
||||||
|
80 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** 8338 Healers_Kit
|
||||||
|
81 **** **** **** **** 1 **** **** **** **** **** 1 **** **** **** **** 1 **** **** **** **** **** **** 58325 Weight_Increase
|
||||||
|
82 1 **** 1 1 **** 1 1 **** **** **** **** **** **** 1 1 **** **** **** **** **** **** 1 723 On_Hit_Cast_Spell
|
||||||
|
83 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 723 Visual_Effect
|
||||||
|
84 **** **** **** **** **** **** 1 **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** 84321 Arcane_Spell_Failure
|
||||||
|
85 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** 1 1 1 1 111772 Material
|
||||||
|
86 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** 1 1 1 1 111853 Quality
|
||||||
|
87 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** 1 1 1 1 111871 Additional_Property
|
||||||
|
88 1 1 1 1 1 1 1 1 **** 1 1 **** **** **** **** 1 1 **** **** **** **** 1 16825170 Use_Limitation_All_Spells
|
||||||
|
89 1 1 1 1 1 1 1 1 **** 1 1 **** **** **** **** 1 1 **** **** **** **** 1 16825171 Use_Limitation_Arcane_Spells
|
||||||
|
90 1 1 1 1 1 1 1 1 **** 1 1 **** **** **** **** 1 1 **** **** **** **** 1 16825172 Use_Limitation_Divine_Spells
|
||||||
|
91 1 1 1 1 1 1 1 1 **** 1 1 **** **** **** **** 1 1 **** **** **** **** 1 16825173 Use_Limitation_Sneak
|
||||||
|
92 1 1 **** 1 1 **** 1 1 1 1 1 **** **** 1 **** 1 1 1 **** **** **** 1 16824992 Spell_metamagic
|
||||||
|
93 1 1 **** 1 1 **** 1 1 1 1 1 **** **** 1 **** 1 1 1 **** **** **** 1 16824961 Spell_DC
|
||||||
|
94 1 1 **** 1 1 **** 1 1 1 1 1 **** **** 1 **** 1 1 1 **** **** **** 1 16824964 Spell_level
|
||||||
|
95 1 1 1 1 1 1 1 1 **** 1 1 **** **** **** **** 1 1 **** **** **** **** 1 16825167 Use_Limitation_Ability
|
||||||
|
96 1 1 1 1 1 1 1 1 **** 1 1 **** **** **** **** 1 1 **** **** **** **** 1 16825168 Use_Limitation_Skill
|
||||||
|
97 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
98 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
99 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
100 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 16826695 AreaEffect
|
||||||
|
101 1 **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** 16832064 PnP_Holy_Avenger
|
||||||
|
102 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 663 Wizardry
|
||||||
|
103 1 1 1 1 **** **** 1 1 **** **** **** **** **** 1 1 **** 1 **** **** **** **** 1 663 Divinity
|
||||||
|
104 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 16834308 Echoblade
|
||||||
|
105 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
106 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
107 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
108 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
109 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
110 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
111 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
112 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
113 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
114 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
115 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
116 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
117 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
118 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
119 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
120 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Decrease_Value_1
|
||||||
|
121 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Decrease_Value_10
|
||||||
|
122 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Decrease_Value_100
|
||||||
|
123 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Decrease_Value_1000
|
||||||
|
124 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Decrease_Value_10000
|
||||||
|
125 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Decrease_Value_100000
|
||||||
|
126 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Decrease_Value_1000000
|
||||||
|
127 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Decrease_Value_10000000
|
||||||
|
128 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Increase_Value_1000
|
||||||
|
129 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Increase_Value_10000
|
||||||
|
130 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Increase_Value_100000
|
||||||
|
131 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Increase_Value_1000000
|
||||||
|
132 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 **** Increase_Value_10000000
|
||||||
|
133 1 1 **** 1 1 **** 1 1 **** **** 1 **** **** 1 1 **** 1 **** **** **** **** 1 16833551 Spd_Increase
|
||||||
|
134 1 1 **** 1 1 **** 1 1 **** **** 1 **** **** 1 1 **** 1 **** **** **** **** 1 16833552 Spd_Decrease
|
||||||
|
135 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
136 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
137 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
138 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
139 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
140 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
141 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
142 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
143 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
144 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
145 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
146 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
147 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
148 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
149 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
150 1 1 1 1 1 1 1 1 **** 1 1 **** **** **** **** 1 1 **** **** **** 1 1 716 Use_Limitation_Gender
|
||||||
|
151 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7531 Value
|
||||||
|
152 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7531 Value
|
||||||
|
153 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
154 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
155 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
156 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
157 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
158 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
159 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
160 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
161 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
162 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
163 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
164 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
165 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
166 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
167 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
168 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
169 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
170 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
171 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
172 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
173 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
174 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
175 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
176 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
177 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
178 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
179 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
180 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
181 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
182 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
183 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
184 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
185 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
186 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
187 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
188 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
189 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
190 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
191 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
192 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
193 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
194 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
195 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
196 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
197 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
198 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
|
199 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
1417
src/hakpak/rdg_prc8_top/nss/inc_misc_tools.nss
Normal file
1417
src/hakpak/rdg_prc8_top/nss/inc_misc_tools.nss
Normal file
File diff suppressed because it is too large
Load Diff
88
src/hakpak/rdg_prc8_top/nss/inc_mod_constant.nss
Normal file
88
src/hakpak/rdg_prc8_top/nss/inc_mod_constant.nss
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
// This file can be modified to change the over all properties of the dungeon to your taste.
|
||||||
|
|
||||||
|
// This variable will determine if the characters should be exprted often.
|
||||||
|
// This variable should be set to FALSE if playing a local vault game.
|
||||||
|
// Variable should be set to TRUE if a Server Vault Game.
|
||||||
|
const int EXPORT_CHARACTERS = FALSE;//TRUE;
|
||||||
|
|
||||||
|
//Number of Areas in the dungeon.
|
||||||
|
//Each time a new area is added this number must be changed.
|
||||||
|
const int NUMBER_OF_AREAS = 16;
|
||||||
|
|
||||||
|
// This will force a module restart if all the party is in the dungeon and the number of explored rooms exceed this number.
|
||||||
|
// This is used to replentish the traps in the dungeon.
|
||||||
|
const int RESET_AFTER_X_ROOMS = 10;
|
||||||
|
|
||||||
|
// Chance of the party having its rest cycle reset.
|
||||||
|
const int SAFE_AREA_PERCENTAGE = 10;// Obsolete as of RDG 9
|
||||||
|
|
||||||
|
// Database name.
|
||||||
|
const string CAMPAIGN = "RDG9";
|
||||||
|
|
||||||
|
// If this variable is set to false XP will be awarded for each monster killed.
|
||||||
|
// If this variable is set to TRUE only "Boss" monsters will give XPs.
|
||||||
|
const int SLOW_XP = FALSE;
|
||||||
|
|
||||||
|
// Chances of a special effect on a door.
|
||||||
|
const int NO_DOOR_PERCENTAGE = 5; // Door is not present (Area transition exists)
|
||||||
|
const int DOOR_OPEN_PERCENTAGE = 5; // Chance door is standing open and untrapped
|
||||||
|
const int DOOR_LOCKED_PERCENTAGE = 10; // Chance door is closed and locked.
|
||||||
|
const int JAMMED_DOOR = 25; // Percentage of doors locked doors that are actually jammed (can not be picked)
|
||||||
|
const int DOOR_TRAPED_PERCENTAGE = 10; // Chance door is traped.
|
||||||
|
|
||||||
|
// Chances of contents of a room.
|
||||||
|
const int ROOM_TRAP_PERCENTAGE = 10; //10 Chance a trap placed in a room with be active.
|
||||||
|
const int ROOM_SECRET_DOOR = 1; //1 Chance of a secret door in the room
|
||||||
|
const int ROOM_DECOR = 30; //30 Chance of a decor object per decor WP
|
||||||
|
const int ROOM_HIDDEN_TREASURE = 1; //1 Chance of hidden treasure
|
||||||
|
const int WANDER_MONSTER_CHANCE = 12; // Chance for wander monster spawn
|
||||||
|
const int WANDER_MONSTER_TIMER = 600; // Number of seconds between each wandering monster check.
|
||||||
|
const int ROOM_MONSTER_CHANCE = 90; // Chance for room monster spawn
|
||||||
|
const int PLACEABLE_TRAP_PERCENTAGE = 20; // Chance that a placeable in the dungeon will be trapped.
|
||||||
|
// Type of trap chances.
|
||||||
|
// Note ALL must be determined.
|
||||||
|
// To turn a trap chance off set to 0.
|
||||||
|
// Each value must otherwise be 1 to 100.
|
||||||
|
// A d100 roll will determine trap type.
|
||||||
|
// If the roll is less than the value that trap power will be use other wise the
|
||||||
|
// next power will be tested.
|
||||||
|
const int TRAP_WEAK = 25; // d6 damage per level
|
||||||
|
const int TRAP_AVERAGE = 65; // d8 damage per level
|
||||||
|
const int TRAP_STRONG = 85; // d10 damage per level
|
||||||
|
const int TRAP_DEADLY = 95; // d12 damage per level
|
||||||
|
const int TRAP_FATAL = 200; // d20 damage per level CHANGING THIS VALUE LESS THAN 100 CAN CAUSE TRAPS TO BREAK
|
||||||
|
// Determines how many traps are area of effect
|
||||||
|
const int TRAP_AOE = 5;
|
||||||
|
// Determines Trap type
|
||||||
|
const int TRAP_MECHANICAL = 60; //60 These traps can be detected and disarmed by anyone
|
||||||
|
const int TRAP_ELEMENTAL = 95; // Rogue Only
|
||||||
|
const int TRAP_SPECIAL = 200; // Most of these traps have no defense if they go off. Should be kept rare. Changing this value less than 100 will result in an error.
|
||||||
|
// Determines how many mechanical traps are by default Pit Traps
|
||||||
|
const int TRAP_PIT = 50;// 10
|
||||||
|
|
||||||
|
// Determines chances that a hidden treasure is locked or trapped.
|
||||||
|
const int HIDDEN_TREASURE_LOCKED = 95;
|
||||||
|
const int HIDDEN_TREASURE_TRAPPED = 50;
|
||||||
|
// Determines base chances of contents of special hidden treasure.
|
||||||
|
const int CHEST_MODIFY_BY_LEVEL = TRUE; // Determines if Party Level should be added to base chances of loot.
|
||||||
|
const int CHEST_COIN = 50; // Chance of coin loot.
|
||||||
|
const int CHEST_GOODS = 50; // Chance of Gems and Art.
|
||||||
|
const int CHEST_ITEMS = 25; // Chance of Magic Items.
|
||||||
|
const int GENERATE_COIN = TRUE; // Will generate coin loot if no loot is determined.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ----Following Constants are used by the game system do not touch----
|
||||||
|
/*const int DECOR_RUBBISH = 0;
|
||||||
|
const int DECOR_BATTLEFIELD = 1;
|
||||||
|
const int DECOR_TORTURE = 2;
|
||||||
|
const int DECOR_WIZARD = 4;*/
|
||||||
|
|
||||||
|
const int MONSTER_PEON = 0;
|
||||||
|
const int MONSTER_BOSS = 1;
|
||||||
|
|
||||||
|
|
||||||
|
const int DAMAGE_TYPE_POISON = 12000;
|
||||||
|
const int POISON_DEADLY = 12001;
|
||||||
|
|
||||||
|
//void main(){}
|
||||||
54
src/hakpak/rdg_prc8_top/nss/inc_prc_ecl.nss
Normal file
54
src/hakpak/rdg_prc8_top/nss/inc_prc_ecl.nss
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
#include "prc_racial_const"
|
||||||
|
int GetECL(object oPC)
|
||||||
|
{
|
||||||
|
int nECL = 0;
|
||||||
|
int nRace = GetRacialType(oPC);
|
||||||
|
switch(nRace)
|
||||||
|
{
|
||||||
|
case RACIAL_TYPE_DUERGAR:
|
||||||
|
case RACIAL_TYPE_AASIMAR:
|
||||||
|
case RACIAL_TYPE_TIEFLING:
|
||||||
|
case RACIAL_TYPE_HOBGOBLIN:
|
||||||
|
case RACIAL_TYPE_HALFOGRE:
|
||||||
|
case RACIAL_TYPE_HALFDROW:
|
||||||
|
case RACIAL_TYPE_GRAYORC:
|
||||||
|
case RACIAL_TYPE_AIR_GEN:
|
||||||
|
case RACIAL_TYPE_EARTH_GEN:
|
||||||
|
case RACIAL_TYPE_FIRE_GEN:
|
||||||
|
case RACIAL_TYPE_WATER_GEN:
|
||||||
|
case RACIAL_TYPE_SHADOWSWYFT:
|
||||||
|
case RACIAL_TYPE_LIZARDFOLK:
|
||||||
|
case RACIAL_TYPE_GNOLL:
|
||||||
|
nECL = 1;
|
||||||
|
break;
|
||||||
|
case RACIAL_TYPE_DROW_FEMALE:
|
||||||
|
case RACIAL_TYPE_DROW_MALE:
|
||||||
|
case RACIAL_TYPE_GITHYANKI:
|
||||||
|
case RACIAL_TYPE_GITHZERAI:
|
||||||
|
case RACIAL_TYPE_OROG:
|
||||||
|
case RACIAL_TYPE_OGRE:
|
||||||
|
case RACIAL_TYPE_PURE_YUAN:
|
||||||
|
case RACIAL_TYPE_THRIKREEN:
|
||||||
|
nECL = 2;
|
||||||
|
break;
|
||||||
|
case RACIAL_TYPE_AVARIEL:
|
||||||
|
case RACIAL_TYPE_DEEP_GNOME:
|
||||||
|
case RACIAL_TYPE_FORMIAN:
|
||||||
|
nECL = 3;
|
||||||
|
break;
|
||||||
|
case RACIAL_TYPE_AZER:
|
||||||
|
case RACIAL_TYPE_PIXIE:
|
||||||
|
nECL = 4;
|
||||||
|
break;
|
||||||
|
case RACIAL_TYPE_TROLL:
|
||||||
|
nECL = 5;
|
||||||
|
break;
|
||||||
|
case RACIAL_TYPE_RAKSHASA:
|
||||||
|
case RACIAL_TYPE_ABOM_YUAN:
|
||||||
|
case RACIAL_TYPE_ILLITHID:
|
||||||
|
nECL = 7;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
nECL += GetHitDice(oPC);
|
||||||
|
return nECL;
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_aurablnda.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
62
src/hakpak/rdg_prc8_top/nss/nw_s1_auracoldc.nss
Normal file
62
src/hakpak/rdg_prc8_top/nss/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();
|
||||||
|
}
|
||||||
|
}
|
||||||
58
src/hakpak/rdg_prc8_top/nss/nw_s1_auraelecc.nss
Normal file
58
src/hakpak/rdg_prc8_top/nss/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();
|
||||||
|
}
|
||||||
|
}
|
||||||
59
src/hakpak/rdg_prc8_top/nss/nw_s1_aurafirec.nss
Normal file
59
src/hakpak/rdg_prc8_top/nss/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();
|
||||||
|
}
|
||||||
|
}
|
||||||
46
src/hakpak/rdg_prc8_top/nss/nw_s1_auramenca.nss
Normal file
46
src/hakpak/rdg_prc8_top/nss/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 = PRCGetCasterLevel(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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
35
src/hakpak/rdg_prc8_top/nss/nw_s1_auraprota.nss
Normal file
35
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_aurastuna.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_auraunata.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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));
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
46
src/hakpak/rdg_prc8_top/nss/nw_s1_aurauneaa.nss
Normal file
46
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
66
src/hakpak/rdg_prc8_top/nss/nw_s1_bltacid.nss
Normal file
66
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
47
src/hakpak/rdg_prc8_top/nss/nw_s1_bltcharm.nss
Normal file
47
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_bltchrdr.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
60
src/hakpak/rdg_prc8_top/nss/nw_s1_bltcold.nss
Normal file
60
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_bltcondr.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_bltconf.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
47
src/hakpak/rdg_prc8_top/nss/nw_s1_bltdaze.nss
Normal file
47
src/hakpak/rdg_prc8_top/nss/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));
|
||||||
|
}
|
||||||
|
}
|
||||||
47
src/hakpak/rdg_prc8_top/nss/nw_s1_bltdeath.nss
Normal file
47
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_bltdexdr.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
73
src/hakpak/rdg_prc8_top/nss/nw_s1_bltdisese.nss
Normal file
73
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
53
src/hakpak/rdg_prc8_top/nss/nw_s1_bltdomn.nss
Normal file
53
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
58
src/hakpak/rdg_prc8_top/nss/nw_s1_bltfire.nss
Normal file
58
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_bltintdr.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_bltknckd.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
59
src/hakpak/rdg_prc8_top/nss/nw_s1_bltlightn.nss
Normal file
59
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
49
src/hakpak/rdg_prc8_top/nss/nw_s1_bltlvldr.nss
Normal file
49
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_bltparal.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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));
|
||||||
|
}
|
||||||
|
}
|
||||||
123
src/hakpak/rdg_prc8_top/nss/nw_s1_bltpoison.nss
Normal file
123
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
58
src/hakpak/rdg_prc8_top/nss/nw_s1_bltshards.nss
Normal file
58
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
47
src/hakpak/rdg_prc8_top/nss/nw_s1_bltslow.nss
Normal file
47
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_bltstrdr.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
50
src/hakpak/rdg_prc8_top/nss/nw_s1_bltstun.nss
Normal file
50
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
44
src/hakpak/rdg_prc8_top/nss/nw_s1_bltweb.nss
Normal file
44
src/hakpak/rdg_prc8_top/nss/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));
|
||||||
|
}
|
||||||
|
}
|
||||||
48
src/hakpak/rdg_prc8_top/nss/nw_s1_bltwisdr.nss
Normal file
48
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
76
src/hakpak/rdg_prc8_top/nss/nw_s1_coneacid.nss
Normal file
76
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
76
src/hakpak/rdg_prc8_top/nss/nw_s1_conecold.nss
Normal file
76
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
99
src/hakpak/rdg_prc8_top/nss/nw_s1_conedisea.nss
Normal file
99
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
78
src/hakpak/rdg_prc8_top/nss/nw_s1_coneelec.nss
Normal file
78
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
75
src/hakpak/rdg_prc8_top/nss/nw_s1_conesonic.nss
Normal file
75
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
119
src/hakpak/rdg_prc8_top/nss/nw_s1_dragfear.nss
Normal file
119
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
45
src/hakpak/rdg_prc8_top/nss/nw_s1_dragfeara.nss
Normal file
45
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
41
src/hakpak/rdg_prc8_top/nss/nw_s1_feroc3.nss
Normal file
41
src/hakpak/rdg_prc8_top/nss/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) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
69
src/hakpak/rdg_prc8_top/nss/nw_s1_gazechaos.nss
Normal file
69
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
76
src/hakpak/rdg_prc8_top/nss/nw_s1_gazecharm.nss
Normal file
76
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
77
src/hakpak/rdg_prc8_top/nss/nw_s1_gazeconfu.nss
Normal file
77
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
74
src/hakpak/rdg_prc8_top/nss/nw_s1_gazedaze.nss
Normal file
74
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
66
src/hakpak/rdg_prc8_top/nss/nw_s1_gazedeath.nss
Normal file
66
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
78
src/hakpak/rdg_prc8_top/nss/nw_s1_gazedomn.nss
Normal file
78
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
74
src/hakpak/rdg_prc8_top/nss/nw_s1_gazedoom.nss
Normal file
74
src/hakpak/rdg_prc8_top/nss/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());
|
||||||
|
}
|
||||||
|
}
|
||||||
70
src/hakpak/rdg_prc8_top/nss/nw_s1_gazeevil.nss
Normal file
70
src/hakpak/rdg_prc8_top/nss/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
74
src/hakpak/rdg_prc8_top/nss/nw_s1_gazefear.nss
Normal file
74
src/hakpak/rdg_prc8_top/nss/nw_s1_gazefear.nss
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Gaze: Fear
|
||||||
|
//:: NW_S1_GazeFear
|
||||||
|
//:: 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; }
|
||||||
|
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||||
|
|
||||||
|
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||||
|
|
||||||
|
effect eGaze = EffectFrightened();
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
|
||||||
|
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))
|
||||||
|
{
|
||||||
|
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_FEAR));
|
||||||
|
//Determine effect delay
|
||||||
|
float fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR, 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
70
src/hakpak/rdg_prc8_top/nss/nw_s1_gazegood.nss
Normal file
70
src/hakpak/rdg_prc8_top/nss/nw_s1_gazegood.nss
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Gaze: Deatroy Evil
|
||||||
|
//:: NW_S1_GazeGood
|
||||||
|
//:: 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_EVIL)
|
||||||
|
{
|
||||||
|
//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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
71
src/hakpak/rdg_prc8_top/nss/nw_s1_gazelaw.nss
Normal file
71
src/hakpak/rdg_prc8_top/nss/nw_s1_gazelaw.nss
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Gaze: Deatroy Chaos
|
||||||
|
//:: NW_S1_GazeLaw
|
||||||
|
//:: 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);
|
||||||
|
if(nDuration == 0) { nDuration = 1; }
|
||||||
|
|
||||||
|
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_CHAOTIC)
|
||||||
|
{
|
||||||
|
//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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
73
src/hakpak/rdg_prc8_top/nss/nw_s1_gazestun.nss
Normal file
73
src/hakpak/rdg_prc8_top/nss/nw_s1_gazestun.nss
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Gaze: Stun
|
||||||
|
//:: NW_S1_GazeStun
|
||||||
|
//:: 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);
|
||||||
|
|
||||||
|
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||||
|
|
||||||
|
effect eGaze = EffectStunned();
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_STUN);
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_GAZE_STUNNED));
|
||||||
|
//Determine effect delay
|
||||||
|
float fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
if(!/*WillSave*/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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
43
src/hakpak/rdg_prc8_top/nss/nw_s1_golemgas.nss
Normal file
43
src/hakpak/rdg_prc8_top/nss/nw_s1_golemgas.nss
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Golem Breath
|
||||||
|
//:: NW_S1_GolemGas
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
Iron Golem spits out a cone of poison.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 22, 2001
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
//#include "wm_include"
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
//if (WildMagicOverride()) { return; }
|
||||||
|
//Declare major variables
|
||||||
|
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||||
|
object oTarget;
|
||||||
|
effect eCone = EffectPoison(POISON_IRON_GOLEM);
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF)
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_GOLEM_BREATH_GAS));
|
||||||
|
//Determine effect delay
|
||||||
|
float fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
|
||||||
|
//Apply poison effect
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget));
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
66
src/hakpak/rdg_prc8_top/nss/nw_s1_hndbreath.nss
Normal file
66
src/hakpak/rdg_prc8_top/nss/nw_s1_hndbreath.nss
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Hell Hound Fire Breath
|
||||||
|
//:: NW_S1_HndBreath
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A cone of fire eminates from the hound.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2001
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC);
|
||||||
|
int nDC = 10 +nCONMod+ (nHD/2);
|
||||||
|
int nDamage = d6(2);
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
location lTargetLocation = PRCGetSpellTargetLocation();
|
||||||
|
|
||||||
|
effect eCone;
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE);
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HELL_HOUND_FIREBREATH));
|
||||||
|
|
||||||
|
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||||
|
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_FIRE);
|
||||||
|
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
|
||||||
|
//Set damage effect
|
||||||
|
eCone = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
67
src/hakpak/rdg_prc8_top/nss/nw_s1_howlconf.nss
Normal file
67
src/hakpak/rdg_prc8_top/nss/nw_s1_howlconf.nss
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Howl: Confuse
|
||||||
|
//:: NW_S1_HowlConf
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A howl emanates from the creature which affects
|
||||||
|
all within 20ft unless they make a save.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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/4);
|
||||||
|
int nDuration = 1 + (nHD/4);
|
||||||
|
if(nDuration == 0) { nDuration = 1; }
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_CONFUSION_S);
|
||||||
|
effect eHowl = EffectConfused();
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND);
|
||||||
|
effect eLink = EffectLinkEffects(eHowl, eDur);
|
||||||
|
eLink = EffectLinkEffects(eLink, eDur2);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC)
|
||||||
|
{
|
||||||
|
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_CONFUSE));
|
||||||
|
fDelay = GetDistanceToObject(oTarget)/10;
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
65
src/hakpak/rdg_prc8_top/nss/nw_s1_howldaze.nss
Normal file
65
src/hakpak/rdg_prc8_top/nss/nw_s1_howldaze.nss
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Howl: Daze
|
||||||
|
//:: NW_S1_HowlDaze
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A howl emanates from the creature which affects
|
||||||
|
all within 10ft unless they make a save.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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/4);
|
||||||
|
int nDuration = 1 + (nHD/4);
|
||||||
|
if(nDuration == 0) { nDuration = 1; }
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_DAZED_S);
|
||||||
|
effect eHowl = EffectDazed();
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND);
|
||||||
|
effect eLink = EffectLinkEffects(eHowl, eDur);
|
||||||
|
eLink = EffectLinkEffects(eLink, eDur2);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC)
|
||||||
|
{
|
||||||
|
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_DAZE));
|
||||||
|
fDelay = GetDistanceToObject(oTarget)/10;
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
59
src/hakpak/rdg_prc8_top/nss/nw_s1_howldeath.nss
Normal file
59
src/hakpak/rdg_prc8_top/nss/nw_s1_howldeath.nss
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Howl: Death
|
||||||
|
//:: NW_S1_HowlDeath
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A howl emanates from the creature which affects
|
||||||
|
all within 10ft unless they make a save.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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/4);
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_DEATH);
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_ODD);
|
||||||
|
effect eHowl = EffectDeath();
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC)
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_DEATH));
|
||||||
|
fDelay = GetDistanceToObject(oTarget)/10;
|
||||||
|
//Make a saving throw check
|
||||||
|
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, eHowl, oTarget));
|
||||||
|
//ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
68
src/hakpak/rdg_prc8_top/nss/nw_s1_howlfear.nss
Normal file
68
src/hakpak/rdg_prc8_top/nss/nw_s1_howlfear.nss
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Howl: Fear
|
||||||
|
//:: NW_S1_HowlFear
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A howl emanates from the creature which affects
|
||||||
|
all within 10ft unless they make a save.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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/4);
|
||||||
|
int nDuration = 1 + (nHD/4);
|
||||||
|
if(nDuration == 0) { nDuration = 1; }
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
|
||||||
|
effect eHowl = EffectFrightened();
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND);
|
||||||
|
effect eLink = EffectLinkEffects(eHowl, eDur);
|
||||||
|
eLink = EffectLinkEffects(eLink, eDur2);
|
||||||
|
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC)
|
||||||
|
{
|
||||||
|
fDelay = GetDistanceToObject(oTarget)/10;
|
||||||
|
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_FEAR));
|
||||||
|
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR))
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
65
src/hakpak/rdg_prc8_top/nss/nw_s1_howlparal.nss
Normal file
65
src/hakpak/rdg_prc8_top/nss/nw_s1_howlparal.nss
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Howl: Paralysis
|
||||||
|
//:: NW_S1_HowlParal
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A howl emanates from the creature which affects
|
||||||
|
all within 10ft unless they make a save.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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/4);
|
||||||
|
int nDuration = 1 + (nHD/4);
|
||||||
|
if(nDuration == 0) { nDuration = 1; }
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eHowl = EffectParalyze();
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
effect eDur2 = EffectVisualEffect(VFX_DUR_PARALYZE_HOLD);
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_ODD);
|
||||||
|
effect eLink = EffectLinkEffects(eHowl, eDur);
|
||||||
|
eLink = EffectLinkEffects(eLink, eDur2);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC)
|
||||||
|
{
|
||||||
|
fDelay = GetDistanceToObject(oTarget)/10;
|
||||||
|
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_PARALYSIS));
|
||||||
|
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_NONE, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
65
src/hakpak/rdg_prc8_top/nss/nw_s1_howlsonic.nss
Normal file
65
src/hakpak/rdg_prc8_top/nss/nw_s1_howlsonic.nss
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Howl: Sonic
|
||||||
|
//:: NW_S1_HowlSonic
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A howl emanates from the creature which affects
|
||||||
|
all within 10ft unless they make a save.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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/4);
|
||||||
|
int nDamage;
|
||||||
|
int nSonic = nHD/4;
|
||||||
|
if(nSonic == 0) { nSonic = 1; }
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_SONIC);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_WAR_CRY);
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsFriend(oTarget) && oTarget != oNPC)
|
||||||
|
{
|
||||||
|
fDelay = GetDistanceToObject(oTarget)/20;
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_SONIC));
|
||||||
|
nDamage = d6(nSonic);
|
||||||
|
//Make a saving throw check
|
||||||
|
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_SONIC, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
nDamage = nDamage / 2;
|
||||||
|
}
|
||||||
|
//Set damage effect
|
||||||
|
eHowl = EffectDamage(nDamage, DAMAGE_TYPE_SONIC);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
66
src/hakpak/rdg_prc8_top/nss/nw_s1_howlstun.nss
Normal file
66
src/hakpak/rdg_prc8_top/nss/nw_s1_howlstun.nss
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Howl: Stun
|
||||||
|
//:: NW_S1_HowlStun
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A howl emanates from the creature which affects
|
||||||
|
all within 10ft unless they make a save.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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/4);
|
||||||
|
int nDuration = 1 + (nHD/4);
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_STUN);
|
||||||
|
effect eHowl = EffectStunned();
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND);
|
||||||
|
effect eLink = EffectLinkEffects(eHowl, eDur);
|
||||||
|
eLink = EffectLinkEffects(eLink, eDur2);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC)
|
||||||
|
{
|
||||||
|
fDelay = GetDistanceToObject(oTarget)/10;
|
||||||
|
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_STUN));
|
||||||
|
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS))
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
61
src/hakpak/rdg_prc8_top/nss/nw_s1_krenscare.nss
Normal file
61
src/hakpak/rdg_prc8_top/nss/nw_s1_krenscare.nss
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Krenshar Fear Stare
|
||||||
|
//:: NW_S1_KrenScare
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
Causes those in the gaze to be struck with fear
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: Jan 8, 2002
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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 nMetaMagic = PRCGetMetaMagicFeat();
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
|
||||||
|
effect eFear = EffectFrightened();
|
||||||
|
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
//Link the fear and mind effects
|
||||||
|
effect eLink = EffectLinkEffects(eFear, eMind);
|
||||||
|
eLink = EffectLinkEffects(eLink, eDur);
|
||||||
|
|
||||||
|
|
||||||
|
//Get first target in the spell cone
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_CONE, 10.0, PRCGetSpellTargetLocation(), TRUE);
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
//Make faction check
|
||||||
|
if(GetIsEnemy(oTarget))
|
||||||
|
{
|
||||||
|
fDelay = GetDistanceToObject(oTarget)/20;
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_KRENSHAR_SCARE));
|
||||||
|
//Make a will save
|
||||||
|
if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR))
|
||||||
|
{
|
||||||
|
//Apply the linked effects and the VFX impact
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(3)));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in the spell cone
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_CONE, 10.0, PRCGetSpellTargetLocation(), TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
63
src/hakpak/rdg_prc8_top/nss/nw_s1_mephsalt.nss
Normal file
63
src/hakpak/rdg_prc8_top/nss/nw_s1_mephsalt.nss
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Salt Mephit Breath
|
||||||
|
//:: NW_S1_MephSalt
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
Salt Mephit shoots out a bolt of corrosive material
|
||||||
|
that causes 1d4 damage and reduces AC and Attack by 2
|
||||||
|
|
||||||
|
This should be a cone - Jaysyn
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 11, 2001
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 nDamage = d4();
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
|
||||||
|
effect eBolt, eAttack, eAC;
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
|
||||||
|
//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(nDamage == 0) {nTouch = 0;}
|
||||||
|
if(nTouch > 0)
|
||||||
|
{
|
||||||
|
if(nTouch == 2)
|
||||||
|
{
|
||||||
|
nDamage *= 2;
|
||||||
|
}
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_MEPHIT_SALT_BREATH));
|
||||||
|
|
||||||
|
//Set damage, AC mod and attack mod effects
|
||||||
|
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_ACID);
|
||||||
|
eAC = EffectACDecrease(2);
|
||||||
|
eAttack = EffectAttackDecrease(2);
|
||||||
|
effect eLink = EffectLinkEffects(eAttack, eAC);
|
||||||
|
eLink = EffectLinkEffects(eLink, eDur);
|
||||||
|
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(3));
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||||
|
}
|
||||||
|
}
|
||||||
67
src/hakpak/rdg_prc8_top/nss/nw_s1_mephsteam.nss
Normal file
67
src/hakpak/rdg_prc8_top/nss/nw_s1_mephsteam.nss
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Steam Mephit Breath
|
||||||
|
//:: NW_S1_MephSteam
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
Steam Mephit shoots out a bolt of steam
|
||||||
|
that causes 1d4 damage and reduces AC by 4
|
||||||
|
and Attack by 2
|
||||||
|
|
||||||
|
This should be a cone - Jaysyn
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 11, 2001
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 nDamage = d4();
|
||||||
|
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
|
||||||
|
effect eBolt, eAttack, eAC;
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
|
||||||
|
|
||||||
|
//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(nDamage == 0) {nTouch = 0;}
|
||||||
|
|
||||||
|
if(nTouch > 0)
|
||||||
|
{
|
||||||
|
if(nTouch == 2)
|
||||||
|
{
|
||||||
|
nDamage *= 2;
|
||||||
|
}
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_MEPHIT_STEAM_BREATH));
|
||||||
|
|
||||||
|
//Set damage, AC mod and attack mod effects
|
||||||
|
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
|
||||||
|
eAC = EffectACDecrease(4);
|
||||||
|
eAttack = EffectAttackDecrease(2);
|
||||||
|
effect eLink = EffectLinkEffects(eAC, eAttack);
|
||||||
|
eLink = EffectLinkEffects(eLink, eDur);
|
||||||
|
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(3));
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||||
|
}
|
||||||
|
}
|
||||||
53
src/hakpak/rdg_prc8_top/nss/nw_s1_mumundead.nss
Normal file
53
src/hakpak/rdg_prc8_top/nss/nw_s1_mumundead.nss
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Bolster Undead
|
||||||
|
//:: NW_S1_MumUndead
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
This spell increases the Turn Resistance of
|
||||||
|
all undead around the caster by an amount
|
||||||
|
scaled with HD.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 22, 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;
|
||||||
|
|
||||||
|
int nHD = GetHitDice(oNPC);
|
||||||
|
int nScaling = nHD / 4;
|
||||||
|
|
||||||
|
if(nScaling == 0) {nScaling = 1;}
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eTurn = EffectTurnResistanceIncrease(nScaling);
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_HEAD_EVIL);
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_FNF_LOS_EVIL_30);
|
||||||
|
|
||||||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, GetLocation(oNPC));
|
||||||
|
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(GetIsFriend(oTarget))
|
||||||
|
{
|
||||||
|
fDelay = GetRandomDelay();
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_MUMMY_BOLSTER_UNDEAD, FALSE));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eTurn, oTarget, RoundsToSeconds(10)));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
73
src/hakpak/rdg_prc8_top/nss/nw_s1_pulschrdr.nss
Normal file
73
src/hakpak/rdg_prc8_top/nss/nw_s1_pulschrdr.nss
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Charisma Drain
|
||||||
|
//:: NW_S1_PulsDeath
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 = nHD/5;
|
||||||
|
|
||||||
|
if (nDamage == 0) {nDamage = 1;}
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_CHARISMA));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Set the Ability mod and change to supernatural effect
|
||||||
|
eHowl = EffectAbilityDecrease(ABILITY_CHARISMA, nDamage);
|
||||||
|
eHowl = SupernaturalEffect(eHowl);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
68
src/hakpak/rdg_prc8_top/nss/nw_s1_pulscold.nss
Normal file
68
src/hakpak/rdg_prc8_top/nss/nw_s1_pulscold.nss
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Cold
|
||||||
|
//:: NW_S1_PulsCold
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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 = d6(nHD);
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_COLD);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_COLD));
|
||||||
|
|
||||||
|
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||||
|
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_COLD);
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
eHowl = EffectDamage(nDamage, DAMAGE_TYPE_COLD);
|
||||||
|
if(nDamage > 0)
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
71
src/hakpak/rdg_prc8_top/nss/nw_s1_pulscondr.nss
Normal file
71
src/hakpak/rdg_prc8_top/nss/nw_s1_pulscondr.nss
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Constitution Drain
|
||||||
|
//:: NW_S1_PulsDeath
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 = nHD/5;
|
||||||
|
|
||||||
|
if (nDamage == 0) {nDamage = 1;}
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_CONSTITUTION));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Set the Ability mod and change to supernatural effect
|
||||||
|
eHowl = EffectAbilityDecrease(ABILITY_CONSTITUTION, nDamage);
|
||||||
|
eHowl = SupernaturalEffect(eHowl);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
68
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsdeath.nss
Normal file
68
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsdeath.nss
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Death
|
||||||
|
//:: NW_S1_PulsDeath
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 = nHD/5;
|
||||||
|
|
||||||
|
if (nDamage == 0) {nDamage = 1;}
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_DEATH);
|
||||||
|
effect eHowl = EffectDeath();
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != OBJECT_SELF)
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_DEATH));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_DEATH, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget));
|
||||||
|
//DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
70
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsdexdr.nss
Normal file
70
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsdexdr.nss
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Dexterity Drain
|
||||||
|
//:: NW_S1_PulsDeath
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 = nHD/5;
|
||||||
|
|
||||||
|
if (nDamage == 0) {nDamage = 1;}
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE);
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_DEXTERITY));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Set the Ability mod and change to supernatural effect
|
||||||
|
eHowl = EffectAbilityDecrease(ABILITY_DEXTERITY, nDamage);
|
||||||
|
eHowl = SupernaturalEffect(eHowl);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
85
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsdis.nss
Normal file
85
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsdis.nss
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Disease
|
||||||
|
//:: NW_S1_PulsDis
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of disease spreads out from the creature
|
||||||
|
and infects all those within 10ft
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: Aug 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
//if (WildMagicOverride()) { return; }
|
||||||
|
|
||||||
|
//:: Declare major variables
|
||||||
|
object oNPC = OBJECT_SELF;
|
||||||
|
object oTarget;
|
||||||
|
|
||||||
|
int nRacial = MyPRCGetRacialType(oNPC);
|
||||||
|
int nHD = GetHitDice(oNPC);
|
||||||
|
int nDamage = d6(nHD);
|
||||||
|
int nDisease;
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eDisease;
|
||||||
|
effect ePulse = EffectVisualEffect(266);
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NATURE);
|
||||||
|
|
||||||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, ePulse, GetLocation(oNPC));
|
||||||
|
|
||||||
|
//Determine the disease type based on the Racial Type
|
||||||
|
switch (nRacial)
|
||||||
|
{
|
||||||
|
case RACIAL_TYPE_VERMIN:
|
||||||
|
nDisease = DISEASE_VERMIN_MADNESS;
|
||||||
|
break;
|
||||||
|
case RACIAL_TYPE_UNDEAD:
|
||||||
|
nDisease = DISEASE_FILTH_FEVER;
|
||||||
|
break;
|
||||||
|
case RACIAL_TYPE_OUTSIDER:
|
||||||
|
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_MINDFIRE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_PULSE_DISEASE));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
|
||||||
|
eDisease = EffectDisease(nDisease);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDisease, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
68
src/hakpak/rdg_prc8_top/nss/nw_s1_pulselec.nss
Normal file
68
src/hakpak/rdg_prc8_top/nss/nw_s1_pulselec.nss
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Lightning
|
||||||
|
//:: NW_S0_CallLghtn.nss
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
All creatures within 10ft of the creature take
|
||||||
|
1d6 per HD up to 10d6
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 22, 2001
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S);
|
||||||
|
effect eLightning = EffectBeam(VFX_BEAM_LIGHTNING, oNPC, BODY_NODE_CHEST);
|
||||||
|
effect eHowl = EffectVisualEffect(VFX_IMP_PULSE_COLD);
|
||||||
|
|
||||||
|
DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eHowl, GetLocation(oNPC)));
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_LIGHTNING));
|
||||||
|
//Roll the damage
|
||||||
|
nDamage = d6(nHD);
|
||||||
|
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||||
|
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_ELECTRICITY);
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
eHowl = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL);
|
||||||
|
if(nDamage > 0)
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLightning,oTarget, 0.5));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
69
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsfire.nss
Normal file
69
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsfire.nss
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Fire
|
||||||
|
//:: NW_S1_PulsFire
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_FIRE);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, OBJECT_SELF);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != OBJECT_SELF)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_PULSE_FIRE));
|
||||||
|
//Roll the damage
|
||||||
|
nDamage = d6(nHD);
|
||||||
|
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||||
|
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_FIRE);
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
|
||||||
|
eHowl = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
|
||||||
|
if(nDamage > 0)
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
89
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsholy.nss
Normal file
89
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsholy.nss
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Holy
|
||||||
|
//:: NW_S1_PulsHoly
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants. Undead are damaged, allies are healed.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_HEALING_M);
|
||||||
|
effect eVis2 = EffectVisualEffect(VFX_IMP_SUNSTRIKE);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_HOLY);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
//Roll the amount to heal or damage
|
||||||
|
nDamage = d4(nHD);
|
||||||
|
//If the target is not undead
|
||||||
|
if (MyPRCGetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
|
||||||
|
{
|
||||||
|
//Make a faction check
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(GetIsFriend(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_HOLY, FALSE));
|
||||||
|
//Set heal effect
|
||||||
|
eHowl = EffectHeal(nDamage);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||||
|
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_DIVINE);
|
||||||
|
//Set damage effect
|
||||||
|
eHowl = EffectDamage(nDamage, DAMAGE_TYPE_DIVINE) ;
|
||||||
|
if(nDamage > 0)
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_HOLY));
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
72
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsintdr.nss
Normal file
72
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsintdr.nss
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Intelligence Drain
|
||||||
|
//:: NW_S1_PulsDeath
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 = nHD/5;
|
||||||
|
|
||||||
|
if (nDamage == 0) {nDamage = 1;}
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_INTELLIGENCE));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Set the Ability mod and change to supernatural effect
|
||||||
|
eHowl = EffectAbilityDecrease(ABILITY_INTELLIGENCE, nDamage);
|
||||||
|
eHowl = SupernaturalEffect(eHowl);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
62
src/hakpak/rdg_prc8_top/nss/nw_s1_pulslvldr.nss
Normal file
62
src/hakpak/rdg_prc8_top/nss/nw_s1_pulslvldr.nss
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Level Drain
|
||||||
|
//:: NW_S1_PulsLvlDr
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
//#include "wm_include"
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
//if (WildMagicOverride()) { return; }
|
||||||
|
|
||||||
|
//:: 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);
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE);
|
||||||
|
|
||||||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, GetLocation(oNPC));
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
fDelay = GetSpellEffectDelay(GetLocation(oNPC), oTarget)/20;
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
eHowl = EffectNegativeLevel(1);
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
87
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsneg.nss
Normal file
87
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsneg.nss
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Negative
|
||||||
|
//:: NW_S1_PulsDeath
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants. Undead are healed.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
//#include "wm_include"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
//if (WildMagicOverride()) { return; }
|
||||||
|
|
||||||
|
//:: 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 nDamage;
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_HEALING_M);
|
||||||
|
effect eVis2 = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
//Roll the amount to heal or damage
|
||||||
|
nDamage = d4(nHD);
|
||||||
|
//If the target is undead
|
||||||
|
if (MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
|
{
|
||||||
|
//Make a faction check
|
||||||
|
if(GetIsFriend(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_HOLY, FALSE));
|
||||||
|
//Set heal effect
|
||||||
|
eHowl = EffectHeal(nDamage);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && MyPRCGetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
|
||||||
|
{
|
||||||
|
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||||
|
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE);
|
||||||
|
//Set damage effect
|
||||||
|
eHowl = EffectDamage(nDamage, DAMAGE_TYPE_NEGATIVE);
|
||||||
|
if(nDamage > 0)
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_HOLY));
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
138
src/hakpak/rdg_prc8_top/nss/nw_s1_pulspois.nss
Normal file
138
src/hakpak/rdg_prc8_top/nss/nw_s1_pulspois.nss
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Poison
|
||||||
|
//:: NW_S1_PulsPois
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. All who make a reflex save are not
|
||||||
|
poisoned.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 23, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
//#include "wm_include"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
//:: Declare major variables
|
||||||
|
object oNPC = OBJECT_SELF;
|
||||||
|
object oTarget;
|
||||||
|
|
||||||
|
int nHD = GetHitDice(oNPC);
|
||||||
|
int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC);
|
||||||
|
int nDC = 10 +nCONMod+ (nHD/2);
|
||||||
|
int nRacial = MyPRCGetRacialType(oNPC);
|
||||||
|
int nPoison;
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect ePoison;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NATURE);
|
||||||
|
|
||||||
|
//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;
|
||||||
|
}
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_POISON));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
ePoison = EffectPoison(nPoison);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePoison, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
50
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsspore.nss
Normal file
50
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsspore.nss
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Vrock Spores
|
||||||
|
//:: NW_S1_PulsSpore
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of disease spreads out from the creature
|
||||||
|
and infects all those within 10ft
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: Jan 8, 2002
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//#include "wm_include"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
//if (WildMagicOverride()) { return; }
|
||||||
|
|
||||||
|
//:: Declare major variables
|
||||||
|
object oNPC = OBJECT_SELF;
|
||||||
|
object oTarget;
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
effect eDisease;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NATURE);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_DISEASE));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
eDisease = EffectDisease(DISEASE_SOLDIER_SHAKES);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDisease, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
71
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsstrdr.nss
Normal file
71
src/hakpak/rdg_prc8_top/nss/nw_s1_pulsstrdr.nss
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Strength Drain
|
||||||
|
//:: NW_S1_PulsDeath
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 = nHD/5;
|
||||||
|
|
||||||
|
if (nDamage == 0) {nDamage = 1;}
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE);
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||||
|
effect eHowl;
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(oTarget != oNPC)
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_STRENGTH));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Set the Ability mod and change to supernatural effect
|
||||||
|
eHowl = EffectAbilityDecrease(ABILITY_STRENGTH, nDamage);
|
||||||
|
eHowl = SupernaturalEffect(eHowl);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
51
src/hakpak/rdg_prc8_top/nss/nw_s1_pulswind.nss
Normal file
51
src/hakpak/rdg_prc8_top/nss/nw_s1_pulswind.nss
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse Whirlwind
|
||||||
|
//:: NW_S1_PulsWind
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//::///////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
All those that fail a save are knocked
|
||||||
|
down by the elemental whirlwind.
|
||||||
|
*/
|
||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: Jan 8, 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;
|
||||||
|
|
||||||
|
int nHD = GetHitDice(oNPC);
|
||||||
|
int nSTRMod = GetAbilityModifier(ABILITY_STRENGTH, oNPC);
|
||||||
|
int nDC = 10 +nSTRMod+ (nHD/2);
|
||||||
|
|
||||||
|
effect eDown = EffectKnockdown();
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_WIND);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
|
||||||
|
{
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC))
|
||||||
|
{
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDown, oTarget, 5.0);
|
||||||
|
}
|
||||||
|
//Get next target in spell area
|
||||||
|
}
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC));
|
||||||
|
}
|
||||||
|
}
|
||||||
68
src/hakpak/rdg_prc8_top/nss/nw_s1_pulswisdr.nss
Normal file
68
src/hakpak/rdg_prc8_top/nss/nw_s1_pulswisdr.nss
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Pulse: Wisdom Drain
|
||||||
|
//:: NW_S1_PulsWisDr
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
A wave of energy emanates from the creature which affects
|
||||||
|
all within 10ft. Damage can be reduced by half for all
|
||||||
|
damaging variants.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 14, 2000
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
#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 = nHD/5;
|
||||||
|
|
||||||
|
if (nDamage == 0) {nDamage = 1;}
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||||
|
effect eHowl;
|
||||||
|
effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE);
|
||||||
|
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, OBJECT_SELF);
|
||||||
|
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, GetLocation(OBJECT_SELF));
|
||||||
|
while(GetIsObjectValid(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF)
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_PULSE_ABILITY_DRAIN_WISDOM));
|
||||||
|
//Determine effect delay
|
||||||
|
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
//Set the Ability mod and change to supernatural effect
|
||||||
|
eHowl = EffectAbilityDecrease(ABILITY_WISDOM, nDamage);
|
||||||
|
eHowl = SupernaturalEffect(eHowl);
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHowl, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Get first target in spell area
|
||||||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, GetLocation(OBJECT_SELF));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
64
src/hakpak/rdg_prc8_top/nss/nw_s1_smokeclaw.nss
Normal file
64
src/hakpak/rdg_prc8_top/nss/nw_s1_smokeclaw.nss
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Smoke Claws
|
||||||
|
//:: NW_S1_SmokeClaw
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
If a Belker succeeds at a touch attack the
|
||||||
|
target breaths in part of the Belker and suffers
|
||||||
|
3d4 damage per round until a Fortitude save is
|
||||||
|
made.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 23 , 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 bSave = FALSE;
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_COM_BLOOD_REG_RED);
|
||||||
|
effect eSmoke;
|
||||||
|
float fDelay = 0.0;
|
||||||
|
|
||||||
|
//Make a touch attack
|
||||||
|
if(TouchAttackMelee(oTarget))
|
||||||
|
{
|
||||||
|
if(!GetIsReactionTypeFriendly(oTarget))
|
||||||
|
{
|
||||||
|
//Make a saving throw check
|
||||||
|
while (bSave == FALSE)
|
||||||
|
{
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NONE, oNPC, fDelay))
|
||||||
|
{
|
||||||
|
bSave = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Set damage
|
||||||
|
eSmoke = EffectDamage(d4(3));
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eSmoke, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
//Increment the delay
|
||||||
|
fDelay = fDelay + 6.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
42
src/hakpak/rdg_prc8_top/nss/nw_s1_smokeclawa.nss
Normal file
42
src/hakpak/rdg_prc8_top/nss/nw_s1_smokeclawa.nss
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
PROJECT Q IV
|
||||||
|
(c) 2022 by Pstemarie
|
||||||
|
|
||||||
|
Belker Smoke Claws AOE OnEnter Event Script
|
||||||
|
|
||||||
|
Creatures entering the AOE must make a Fort save or suffer 3d4 damage.
|
||||||
|
|
||||||
|
Note: Uses the "nw_" prefix for name continuity with the OC spellscript
|
||||||
|
"nw_s1_smokeclaw".
|
||||||
|
|
||||||
|
Version: 1.0
|
||||||
|
Created: 7 June 2022
|
||||||
|
Author: Pstemarie
|
||||||
|
|
||||||
|
*/
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
//Declare major variables
|
||||||
|
object oTarget = GetEnteringObject();
|
||||||
|
effect eDamage;
|
||||||
|
effect eHit = EffectVisualEffect(VFX_COM_BLOOD_REG_RED);
|
||||||
|
|
||||||
|
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_SMOKE_CLAW));
|
||||||
|
|
||||||
|
//Make a saving throw check
|
||||||
|
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, 14, SAVING_THROW_TYPE_POISON))
|
||||||
|
{
|
||||||
|
eDamage = EffectDamage(d4(3));
|
||||||
|
|
||||||
|
//Apply the VFX impact and effects
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eHit, oTarget);
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oTarget);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
57
src/hakpak/rdg_prc8_top/nss/nw_s1_stink_a.nss
Normal file
57
src/hakpak/rdg_prc8_top/nss/nw_s1_stink_a.nss
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
//::///////////////////////////////////////////////
|
||||||
|
//:: Stinking Cloud On Enter
|
||||||
|
//:: NW_S1_Stink_A.nss
|
||||||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
Those within the area of effect must make a
|
||||||
|
fortitude save or be dazed.
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
//:: Created By: Preston Watamaniuk
|
||||||
|
//:: Created On: May 17, 2001
|
||||||
|
//:://////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "NW_I0_SPELLS"
|
||||||
|
//#include "wm_include"
|
||||||
|
#include "prc_inc_spells"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
//:: Declare major variables
|
||||||
|
object oNPC = GetAreaOfEffectCreator();
|
||||||
|
object oTarget = GetEnteringObject(); //Get the first object in the persistant area
|
||||||
|
|
||||||
|
int nHD = GetHitDice(oNPC);
|
||||||
|
int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC);
|
||||||
|
int nDC = 10 +nCONMod+ (nHD/2);
|
||||||
|
|
||||||
|
effect eStink = EffectDazed();
|
||||||
|
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||||
|
effect eLink = EffectLinkEffects(eMind, eStink);
|
||||||
|
eLink = EffectLinkEffects(eLink, eDur);
|
||||||
|
|
||||||
|
effect eVis = EffectVisualEffect(VFX_IMP_DAZED_S);
|
||||||
|
|
||||||
|
float fDelay;
|
||||||
|
|
||||||
|
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
|
||||||
|
|
||||||
|
if(MyPRCGetRacialType(oTarget) != RACIAL_TYPE_VERMIN)
|
||||||
|
{
|
||||||
|
if(GetIsEnemy(oTarget))
|
||||||
|
{
|
||||||
|
//Fire cast spell at event for the specified target
|
||||||
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_STINKING_CLOUD));
|
||||||
|
//Make a Fort Save
|
||||||
|
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_POISON))
|
||||||
|
{
|
||||||
|
fDelay = GetRandomDelay(0.25, 1.0);
|
||||||
|
//Apply the VFX impact and linked effects
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||||
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(2)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user