generated from Jaysyn/ModuleTemplate
Initial commit
Initial commit.
This commit is contained in:
parent
8dc13e2db8
commit
ee7345977e
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)
|
||||
|
||||
## Requirements
|
||||
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.) [CEP3](https://neverwintervault.org/project/nwnee/hakpak/combined/cep-3-community-expansion-pack)
|
||||
|
||||
4.) [CEP2](https://neverwintervault.org/cep)
|
||||
4.) [CEP3](https://neverwintervault.org/project/nwnee/hakpak/combined/cep-3-community-expansion-pack)
|
||||
|
||||
## Instructions
|
||||
|
||||
|
18
nasher.cfg
18
nasher.cfg
@ -1,9 +1,9 @@
|
||||
[package]
|
||||
name = "Default Module"
|
||||
description = "PRC8 version of ..."
|
||||
version = "1.01prc8"
|
||||
name = "Random Dungeon Generator 9f [PRC8-PEPS-CEP3]"
|
||||
description = "PRC8 version of Random Dungeon Generator."
|
||||
version = "9.2prc8"
|
||||
url = "https://discord.gg/ca2ru3KxYd"
|
||||
author = "Original Author"
|
||||
author = "Elidrin"
|
||||
author = "Jaysyn904 <68194417+Jaysyn904@users.noreply.github.com>"
|
||||
|
||||
[package.sources]
|
||||
@ -15,8 +15,8 @@ author = "Jaysyn904 <68194417+Jaysyn904@users.noreply.github.com>"
|
||||
|
||||
[target]
|
||||
name = "default"
|
||||
file = "Default Module.mod"
|
||||
description = "PRC8 version of ..."
|
||||
file = "Random Dungeon Generator 9f [PRC8-PEPS-CEP3].mod"
|
||||
description = "PRC8 version of Random Dungeon Generator."
|
||||
[target.sources]
|
||||
include = "src/module/**/*"
|
||||
include = "src/include/**/*"
|
||||
@ -239,8 +239,8 @@ description = "PRC8 version of ..."
|
||||
|
||||
[target]
|
||||
name = "tophak"
|
||||
file = "HAKNAME.hak"
|
||||
description = "PRC8 merge hakpak for PRC8 version of ..."
|
||||
file = "rdg_prc8_top.hak"
|
||||
description = "Merge hakpak for PRC8 version of Random Dungeon Generator 9f."
|
||||
[target.sources]
|
||||
include = "src/hakpak/HAKNAME/**/*"
|
||||
include = "src/include/**/*"
|
||||
@ -459,4 +459,4 @@ description = "PRC8 merge hakpak for PRC8 version of ..."
|
||||
filter = "xchst_inc.nss"
|
||||
|
||||
[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
Loading…
x
Reference in New Issue
Block a user