2025/06/05 Afternoon Update

Expanded Brimstone Speaker for epic progression.
Expanded Master Alchemist for epic progression.
Fixed Stone Vise's TLK entry.
Fixed Stone Vise's saving throw.
Added PC creature weapon check to prc_unequip.
Bugfixing Midnight Augmentation (WIP)
This commit is contained in:
Jaysyn904 committed 2025-06-05 12:13:00 -04:00
1 parent 422f180ed0
commit 9121e8fc6b
11 files changed
+581 -281

No files matched your search

@@ -10,6 +10,7 @@
#include "moi_inc_moifunc"
#include "inc_dynconv"
#include "psi_inc_powknown"
//////////////////////////////////////////////////
/* Constant definitions */
@@ -163,7 +164,49 @@ void main()
int i, nPowerLevel;
int nMaxLevel = GetMaxEssentiaCapacityFeat(oMeldshaper);
string sFeatID;
int added = 0;
for(i = 14001; i < 14260 ; i++)
{
nPowerLevel = StringToInt(Get2DACache("spells", "Innate", i));
if(nPowerLevel > nMaxLevel)
break;
string sName = GetStringByStrRef(StringToInt(Get2DACache("spells", "Name", i)));
if(sName != "")
{
// Replace this with the correct check for whether oMeldshaper actually knows the power.
// Example using GetHasSpell:
if (GetHasPower(i, oMeldshaper))
{
if(SORT) AddToTempList(oMeldshaper, sName, i);
else AddChoice(sName, i, oMeldshaper);
added++;
}
}
}
if(SORT)
{
if(added == 0)
{
AddChoice("No valid powers found.", 0, oMeldshaper);
}
else
{
TransferTempList(oMeldshaper);
}
}
}
/* if(nStage == STAGE_SELECT_POWER)
{
if(DEBUG) DoDebug("moi_midnightcnv: Building power selection");
int i, nPowerLevel;
int nMaxLevel = GetMaxEssentiaCapacityFeat(oMeldshaper);
string sFeatID;
for(i = 14001; i < 14260 ; i++)
{
nPowerLevel = StringToInt(Get2DACache("spells", "Innate", i));
@@ -180,10 +223,8 @@ void main()
if(SORT) AddToTempList(oMeldshaper, GetStringByStrRef(StringToInt(Get2DACache("spells", "Name", i))), i);
else AddChoice(GetStringByStrRef(StringToInt(Get2DACache("spells", "Name", i))), i, oMeldshaper);
}
}
TransferTempList(oMeldshaper);
}
}
} */
else if(nStage == STAGE_SELECT_ESSENTIA_POWER)
{
if(DEBUG) DoDebug("moi_midnightcnv: Building essentia selection");
@@ -237,12 +278,15 @@ void main()
if(DEBUG) DoDebug("moi_midnightcnv: Type selected");
SetLocalInt(oMeldshaper, "nPower", nChoice);
MarkStageNotSetUp(STAGE_SELECT_POWER, oMeldshaper);
nStage = STAGE_SELECT_ESSENTIA_POWER;
MarkStageNotSetUp(STAGE_SELECT_POWER, oMeldshaper);
}
else if(nStage == STAGE_SELECT_ESSENTIA_POWER)
{
if(DEBUG) DoDebug("moi_midnightcnv: Feat Essentia selected");
SetLocalInt(oMeldshaper, "nEssentia", nChoice);
nStage = STAGE_CONFIRM_SELECTION_POWER;
MarkStageNotSetUp(STAGE_SELECT_ESSENTIA_POWER, oMeldshaper);
@@ -269,4 +313,4 @@ void main()
// Store the stage value. If it has been changed, this clears out the choices
SetStage(nStage, oMeldshaper);
}
}
}
@@ -40,7 +40,7 @@ void TOBAttack(object oTarget, object oInitiator)
{
nDC += 1;
}
if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack") && PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NONE))
if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack") && !PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NONE))
{
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, ExtraordinaryEffect(EffectCutsceneParalyze()), oTarget, 6.0);
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_DIMENSIONLOCK), oTarget);