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
/old_backup
*.7z
nwn/nwnprc/trunk/newcompilepsi.bat

View File

@@ -13,26 +13,26 @@
9 FEAT_DEATHLESS_MASTER_TOUCH 897 3 10 1
10 darkvision 228 3 3 0
11 FEAT_EPIC_PALE_MASTER 984 3 11 0
12 FEAT_PALEMASTER_SPELLCASTING_FEY 18239 2 999 0
13 FEAT_PALEMASTER_SPELLCASTING_ABERRATION 18285 2 999 0
14 FEAT_PALEMASTER_SPELLCASTING_MONSTROUS 18332 2 999 0
15 FEAT_PALEMASTER_SPELLCASTING_OUTSIDER 18379 2 999 0
16 FEAT_PALEMASTER_SPELLCASTING_SHAPECHANGER 18426 2 999 0
17 FEAT_PALEMASTER_SPELLCASTING_ASSASSIN 18462 2 999 0
18 FEAT_PALEMASTER_SPELLCASTING_BARD 18503 2 999 0
19 FEAT_PALEMASTER_SPELLCASTING_BEGUILER 18547 2 999 0
20 FEAT_PALEMASTER_SPELLCASTING_CULTIST_PEAK 18613 2 999 0
21 FEAT_PALEMASTER_SPELLCASTING_DNECRO 18655 2 999 0
22 FEAT_PALEMASTER_SPELLCASTING_DUSKBLADE 18697 2 999 0
23 FEAT_PALEMASTER_SPELLCASTING_HARPER 18731 2 999 0
24 FEAT_PALEMASTER_SPELLCASTING_HEXBLADE 18768 2 999 0
25 FEAT_PALEMASTER_SPELLCASTING_KNIGHT_WEAVE 18805 2 999 0
26 FEAT_PALEMASTER_SPELLCASTING_SHADOWLORD 18843 2 999 0
27 FEAT_PALEMASTER_SPELLCASTING_SORCERER 18889 2 999 0
28 FEAT_PALEMASTER_SPELLCASTING_SUBLIME_CHORD 18935 2 999 0
29 FEAT_PALEMASTER_SPELLCASTING_SUEL_ARCHANAMACH 18978 2 999 0
30 FEAT_PALEMASTER_SPELLCASTING_WARMAGE 19021 2 999 0
31 FEAT_PALEMASTER_SPELLCASTING_WIZARD 19066 2 999 0
12 FEAT_PALEMASTER_SPELLCASTING_FEY 18239 2 1 0
13 FEAT_PALEMASTER_SPELLCASTING_ABERRATION 18285 2 1 0
14 FEAT_PALEMASTER_SPELLCASTING_MONSTROUS 18332 2 1 0
15 FEAT_PALEMASTER_SPELLCASTING_OUTSIDER 18379 2 1 0
16 FEAT_PALEMASTER_SPELLCASTING_SHAPECHANGER 18426 2 1 0
17 FEAT_PALEMASTER_SPELLCASTING_ASSASSIN 18462 2 1 0
18 FEAT_PALEMASTER_SPELLCASTING_BARD 18503 2 1 0
19 FEAT_PALEMASTER_SPELLCASTING_BEGUILER 18547 2 1 0
20 FEAT_PALEMASTER_SPELLCASTING_CULTIST_PEAK 18613 2 1 0
21 FEAT_PALEMASTER_SPELLCASTING_DNECRO 18655 2 1 0
22 FEAT_PALEMASTER_SPELLCASTING_DUSKBLADE 18697 2 1 0
23 FEAT_PALEMASTER_SPELLCASTING_HARPER 18731 2 1 0
24 FEAT_PALEMASTER_SPELLCASTING_HEXBLADE 18768 2 1 0
25 FEAT_PALEMASTER_SPELLCASTING_KNIGHT_WEAVE 18805 2 1 0
26 FEAT_PALEMASTER_SPELLCASTING_SHADOWLORD 18843 2 1 0
27 FEAT_PALEMASTER_SPELLCASTING_SORCERER 18889 2 1 0
28 FEAT_PALEMASTER_SPELLCASTING_SUBLIME_CHORD 18935 2 1 0
29 FEAT_PALEMASTER_SPELLCASTING_SUEL_ARCHANAMACH 18978 2 1 0
30 FEAT_PALEMASTER_SPELLCASTING_WARMAGE 19021 2 1 0
31 FEAT_PALEMASTER_SPELLCASTING_WIZARD 19066 2 1 0
32 DefArrow 8 0 -1 0
33 Ambidex 1 0 -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 "prcsp_archmaginc"
//#include "prc_inc_racial"
#include "inc_2dacache"
//////////////////////////////////////////////////
/* 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(oShifterCWpL)) MyDestroyObject(oShifterCWpL);
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

View File

@@ -76,7 +76,7 @@
/* 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!!! */

View File

@@ -20,9 +20,6 @@
//:: Last Update: 2003-10-07
//:://////////////////////////////////////////////
//:: Test void
//:: void main (){}
//Changed by primogenitor to include CEP itemtypes
// * 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_spellhook"
#include "spinc_dimdoor";
#include "spinc_dimdoor"
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);
// 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

View File

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

View File

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

View File

@@ -135,7 +135,7 @@ void GenerateNewShapePackageList(object oPC, string sFilter)
}
}
int AddNewShape(string sShapeList, object oPC, int nShape, int nShifterLevel, int nCharacterLevel, string sShapeResRefFilter, int bUseCR, int nExactMatchSL, int bShowAllShapes, int bUseCR)
int AddNewShape(string sShapeList, object oPC, int nShape, int nShifterLevel, int nCharacterLevel, string sShapeResRefFilter, int bUseCR, int nExactMatchSL, int bShowAllShapes,int bUseCR)
{
string sShapeResRef = Get2DACache(sShapeList, "ResRef", nShape);
if (DEBUG_NEW_SHAPE_LIST) DoDebug("AddNewShape, ShapeList:" + sShapeList + ", Shape: " + IntToString(nShape) + "='" + sShapeResRef + "', ShifterLevel: " + IntToString(nShifterLevel) + ", CharacterLevel: " + IntToString(nCharacterLevel) + ", UseCR: " + IntToString(bUseCR));

View File

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

View File

@@ -36,11 +36,8 @@ Created: 6/28/06
*/
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
#include "prc_inc_spells"
#include "prc_ip_srcost.nss"
#include "prc_ip_srcost"
int GetERSpellResistance(int nCasterLvl)
{
@@ -101,7 +98,7 @@ void main()
}
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 ipSR = ItemPropertyBonusSpellResistance(nSR);