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
2025-06-05 12:13:00 -04:00
parent 422f180ed0
commit 9121e8fc6b
11 changed files with 581 additions and 281 deletions

View File

@@ -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);
}
}
}