2025/12/10 Update

Fixed some corrupt spell components UTIs
Updated several scripts fixing not-quite bugs that choke nwn_script_comp.
Updated PRC8 version.
Re-enabled erroneously disabled Pale Master marker feat.
Updated Tester module.
This commit is contained in:
Jaysyn904
2025-12-10 22:48:43 -05:00
parent 54386fc90c
commit 24e69c926c
21 changed files with 40 additions and 43 deletions

1
.gitignore vendored
View File

@@ -146,3 +146,4 @@ nwn/nwnprc/trunk/makefile.temp
/Release /Release
/old_backup /old_backup
*.7z *.7z
nwn/nwnprc/trunk/newcompilepsi.bat

View File

@@ -13,26 +13,26 @@
9 FEAT_DEATHLESS_MASTER_TOUCH 897 3 10 1 9 FEAT_DEATHLESS_MASTER_TOUCH 897 3 10 1
10 darkvision 228 3 3 0 10 darkvision 228 3 3 0
11 FEAT_EPIC_PALE_MASTER 984 3 11 0 11 FEAT_EPIC_PALE_MASTER 984 3 11 0
12 FEAT_PALEMASTER_SPELLCASTING_FEY 18239 2 999 0 12 FEAT_PALEMASTER_SPELLCASTING_FEY 18239 2 1 0
13 FEAT_PALEMASTER_SPELLCASTING_ABERRATION 18285 2 999 0 13 FEAT_PALEMASTER_SPELLCASTING_ABERRATION 18285 2 1 0
14 FEAT_PALEMASTER_SPELLCASTING_MONSTROUS 18332 2 999 0 14 FEAT_PALEMASTER_SPELLCASTING_MONSTROUS 18332 2 1 0
15 FEAT_PALEMASTER_SPELLCASTING_OUTSIDER 18379 2 999 0 15 FEAT_PALEMASTER_SPELLCASTING_OUTSIDER 18379 2 1 0
16 FEAT_PALEMASTER_SPELLCASTING_SHAPECHANGER 18426 2 999 0 16 FEAT_PALEMASTER_SPELLCASTING_SHAPECHANGER 18426 2 1 0
17 FEAT_PALEMASTER_SPELLCASTING_ASSASSIN 18462 2 999 0 17 FEAT_PALEMASTER_SPELLCASTING_ASSASSIN 18462 2 1 0
18 FEAT_PALEMASTER_SPELLCASTING_BARD 18503 2 999 0 18 FEAT_PALEMASTER_SPELLCASTING_BARD 18503 2 1 0
19 FEAT_PALEMASTER_SPELLCASTING_BEGUILER 18547 2 999 0 19 FEAT_PALEMASTER_SPELLCASTING_BEGUILER 18547 2 1 0
20 FEAT_PALEMASTER_SPELLCASTING_CULTIST_PEAK 18613 2 999 0 20 FEAT_PALEMASTER_SPELLCASTING_CULTIST_PEAK 18613 2 1 0
21 FEAT_PALEMASTER_SPELLCASTING_DNECRO 18655 2 999 0 21 FEAT_PALEMASTER_SPELLCASTING_DNECRO 18655 2 1 0
22 FEAT_PALEMASTER_SPELLCASTING_DUSKBLADE 18697 2 999 0 22 FEAT_PALEMASTER_SPELLCASTING_DUSKBLADE 18697 2 1 0
23 FEAT_PALEMASTER_SPELLCASTING_HARPER 18731 2 999 0 23 FEAT_PALEMASTER_SPELLCASTING_HARPER 18731 2 1 0
24 FEAT_PALEMASTER_SPELLCASTING_HEXBLADE 18768 2 999 0 24 FEAT_PALEMASTER_SPELLCASTING_HEXBLADE 18768 2 1 0
25 FEAT_PALEMASTER_SPELLCASTING_KNIGHT_WEAVE 18805 2 999 0 25 FEAT_PALEMASTER_SPELLCASTING_KNIGHT_WEAVE 18805 2 1 0
26 FEAT_PALEMASTER_SPELLCASTING_SHADOWLORD 18843 2 999 0 26 FEAT_PALEMASTER_SPELLCASTING_SHADOWLORD 18843 2 1 0
27 FEAT_PALEMASTER_SPELLCASTING_SORCERER 18889 2 999 0 27 FEAT_PALEMASTER_SPELLCASTING_SORCERER 18889 2 1 0
28 FEAT_PALEMASTER_SPELLCASTING_SUBLIME_CHORD 18935 2 999 0 28 FEAT_PALEMASTER_SPELLCASTING_SUBLIME_CHORD 18935 2 1 0
29 FEAT_PALEMASTER_SPELLCASTING_SUEL_ARCHANAMACH 18978 2 999 0 29 FEAT_PALEMASTER_SPELLCASTING_SUEL_ARCHANAMACH 18978 2 1 0
30 FEAT_PALEMASTER_SPELLCASTING_WARMAGE 19021 2 999 0 30 FEAT_PALEMASTER_SPELLCASTING_WARMAGE 19021 2 1 0
31 FEAT_PALEMASTER_SPELLCASTING_WIZARD 19066 2 999 0 31 FEAT_PALEMASTER_SPELLCASTING_WIZARD 19066 2 1 0
32 DefArrow 8 0 -1 0 32 DefArrow 8 0 -1 0
33 Ambidex 1 0 -1 0 33 Ambidex 1 0 -1 0
34 FEAT_EPIC_SPELL_FOCUS_ABJURATION 610 1 -1 0 34 FEAT_EPIC_SPELL_FOCUS_ABJURATION 610 1 -1 0

View File

@@ -58,7 +58,7 @@ int SPGetPenetrAOE(object oCaster = OBJECT_SELF, int nCasterLvl = 0);
//#include "prc_alterations" //#include "prc_alterations"
//#include "prcsp_archmaginc" //#include "prcsp_archmaginc"
//#include "prc_inc_racial" //#include "prc_inc_racial"
#include "inc_2dacache"
////////////////////////////////////////////////// //////////////////////////////////////////////////
/* Function definitions */ /* Function definitions */

View File

@@ -1370,7 +1370,9 @@ void _prc_inc_shifting_ShiftIntoTemplateAux(object oShifter, int nShifterType, o
if(GetIsObjectValid(oShifterCWpR)) MyDestroyObject(oShifterCWpR); if(GetIsObjectValid(oShifterCWpR)) MyDestroyObject(oShifterCWpR);
if(GetIsObjectValid(oShifterCWpL)) MyDestroyObject(oShifterCWpL); if(GetIsObjectValid(oShifterCWpL)) MyDestroyObject(oShifterCWpL);
if(GetIsObjectValid(oShifterCWpB)) MyDestroyObject(oShifterCWpB); if(GetIsObjectValid(oShifterCWpB)) MyDestroyObject(oShifterCWpB);
oShifterCWpR = oShifterCWpL = oShifterCWpR = OBJECT_INVALID; oShifterCWpR = OBJECT_INVALID;
oShifterCWpL = OBJECT_INVALID;
oShifterCWpB = OBJECT_INVALID;
// Copy the template's weapons and assign equipping // Copy the template's weapons and assign equipping

View File

@@ -76,7 +76,7 @@
/* This variable MUST be updated with every new version of the PRC!!! */ /* This variable MUST be updated with every new version of the PRC!!! */
const string PRC_VERSION = "PRC8 4.73"; const string PRC_VERSION = "PRC8 4.74";
/* This variable MUST be updated every time 'assemble_spellbooks.bat' is run!!! */ /* This variable MUST be updated every time 'assemble_spellbooks.bat' is run!!! */

View File

@@ -20,9 +20,6 @@
//:: Last Update: 2003-10-07 //:: Last Update: 2003-10-07
//::////////////////////////////////////////////// //:://////////////////////////////////////////////
//:: Test void
//:: void main (){}
//Changed by primogenitor to include CEP itemtypes //Changed by primogenitor to include CEP itemtypes
// * The tag of the ip work container, a placeable which has to be set into each // * The tag of the ip work container, a placeable which has to be set into each

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -38,7 +38,7 @@
#include "psi_inc_psifunc" #include "psi_inc_psifunc"
#include "psi_spellhook" #include "psi_spellhook"
#include "spinc_dimdoor"; #include "spinc_dimdoor"
void main() void main()

View File

@@ -329,8 +329,11 @@ void SecondaryTargetsCheck(object oManifester, object oMainTarget, int nSecondar
array_set_object(oManifester, SECONDARY_TARGETS_ARRAY, i, oTest); array_set_object(oManifester, SECONDARY_TARGETS_ARRAY, i, oTest);
// Find next empty slot // Find next empty slot
while(array_get_object(oManifester, SECONDARY_TARGETS_ARRAY, ++i) != OBJECT_INVALID) while(i < nSecondaryTargets &&
; array_get_object(oManifester, SECONDARY_TARGETS_ARRAY, ++i) != OBJECT_INVALID)
{
// Continue searching
}
} }
// Get next potential target // Get next potential target

View File

@@ -30,7 +30,7 @@
//::////////////////////////////////////////////// //:://////////////////////////////////////////////
//::////////////////////////////////////////////// //:://////////////////////////////////////////////
#include "prc_alterations" Provided by prc_alterations #include "prc_alterations" //:: Provided by prc_alterations
#include "psi_inc_soulkn" #include "psi_inc_soulkn"
int LOCAL_DEBUG = DEBUG; int LOCAL_DEBUG = DEBUG;

View File

@@ -1,6 +1,6 @@
void Cleanup(object oArea) void Cleanup(object oArea)
{ {
if (GetResRef(oArea) == "bdd_cave"); if (GetResRef(oArea) == "bdd_cave")
{ {
DestroyArea(GetObjectByTag("bdd_basinrim")); DestroyArea(GetObjectByTag("bdd_basinrim"));
//DestroyArea(GetObjectByTag("bdd_cave")); //DestroyArea(GetObjectByTag("bdd_cave"));

View File

@@ -1,6 +1,6 @@
#include "prc_alterations" #include "prc_alterations"
#include "prc_inc_spells.nss" #include "prc_inc_spells"
#include "prc_add_spell_dc" #include "prc_add_spell_dc"
int GetIsValidAnimate(object oTarget); int GetIsValidAnimate(object oTarget);
@@ -248,6 +248,3 @@ void main()
SendMessageToPC(OBJECT_SELF, "Target cannot be magical"); SendMessageToPC(OBJECT_SELF, "Target cannot be magical");
} }
} }

View File

@@ -36,11 +36,8 @@ Created: 6/28/06
*/ */
//::////////////////////////////////////////////// //:://////////////////////////////////////////////
//::////////////////////////////////////////////// //:://////////////////////////////////////////////
#include "prc_inc_spells" #include "prc_inc_spells"
#include "prc_ip_srcost.nss" #include "prc_ip_srcost"
int GetERSpellResistance(int nCasterLvl) int GetERSpellResistance(int nCasterLvl)
{ {
@@ -101,7 +98,7 @@ void main()
} }
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE); effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
itemproperty ipArmor = ItemPropertyACBonus(nBonusAC += nArmor); itemproperty ipArmor = ItemPropertyACBonus(nBonusAC + nArmor);
itemproperty ipDR = ItemPropertyDamageReduction(IP_CONST_DAMAGEREDUCTION_2, IP_CONST_DAMAGESOAK_10_HP); itemproperty ipDR = ItemPropertyDamageReduction(IP_CONST_DAMAGEREDUCTION_2, IP_CONST_DAMAGESOAK_10_HP);
itemproperty ipSR = ItemPropertyBonusSpellResistance(nSR); itemproperty ipSR = ItemPropertyBonusSpellResistance(nSR);