2025/06/21 Late Update

Fixed Eternal Blade not getting maneuvers at level up.
Gated RKV debug messages.
Fixed RHD sorcerers from being able to use extra slots from bioware spellbooks.
This commit is contained in:
Jaysyn904
2025-06-21 23:27:50 -04:00
parent 4ae73d0f45
commit cd5cf09cbb
3 changed files with 159 additions and 44 deletions

View File

@@ -79,6 +79,7 @@ void RemoveUncannyDodge(object oInitiator)
DeleteLocalInt(oInitiator, "ETBL_AUD_Applied");
}
}
void BladeGuide(object oInitiator, object oItem)
{
if (GetBaseItemType(oItem) == BASE_ITEM_ARMOR)
@@ -176,11 +177,12 @@ void main()
oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oInitiator);
}
int nClass = CLASS_TYPE_ETERNAL_BLADE;
int nLevel = GetLevelByClass(CLASS_TYPE_ETERNAL_BLADE, oInitiator);
int nMoveTotal = GetKnownManeuversModifier(oInitiator, nClass, MANEUVER_TYPE_MANEUVER);
int nStncTotal = GetKnownManeuversModifier(oInitiator, nClass, MANEUVER_TYPE_STANCE);
int nRdyTotal = GetReadiedManeuversModifier(oInitiator, nClass);
int nClass = CLASS_TYPE_ETERNAL_BLADE;
int nLevel = GetLevelByClass(CLASS_TYPE_ETERNAL_BLADE, oInitiator);
int nBladeClass = GetPrimaryBladeMagicClass(oInitiator);
int nMoveTotal = GetKnownManeuversModifier(oInitiator, nBladeClass, MANEUVER_TYPE_MANEUVER);
int nStncTotal = GetKnownManeuversModifier(oInitiator, nBladeClass, MANEUVER_TYPE_STANCE);
int nRdyTotal = GetReadiedManeuversModifier(oInitiator, nBladeClass);
if(DEBUG) DoDebug("tob_eternalblade running, event: " + IntToString(nEvent));
if(DEBUG) DoDebug("tob_eternalblade nMoveTotal: " + IntToString(nMoveTotal));
@@ -203,57 +205,109 @@ void main()
// It's not pretty, but it works
if (nLevel >= 1 && !GetPersistantLocalInt(oInitiator, "ToBEternalBlade1"))
{
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 1");
if(DEBUG) DoDebug("tob_eternalblade SetKnownManeuversModifier 1: " + IntToString(++nMoveTotal));
DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), ++nMoveTotal, MANEUVER_TYPE_MANEUVER));
nMoveTotal += 1;
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 1");
if(DEBUG) DoDebug("tob_eternalblade SetKnownManeuversModifier 1: " + IntToString(nMoveTotal));
//DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), nMoveTotal, MANEUVER_TYPE_MANEUVER));
SetKnownManeuversModifier(oInitiator, nBladeClass, nMoveTotal, MANEUVER_TYPE_MANEUVER);
SetPersistantLocalInt(oInitiator, "ToBEternalBlade1", TRUE);
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", 270);//DISCIPLINE_DEVOTED_SPIRIT + DISCIPLINE_DIAMOND_MIND + DISCIPLINE_IRON_HEART + DISCIPLINE_WHITE_RAVEN
}
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", DISCIPLINE_DEVOTED_SPIRIT +
DISCIPLINE_DIAMOND_MIND +
DISCIPLINE_IRON_HEART +
DISCIPLINE_WHITE_RAVEN); //:: (270)
if (DEBUG) DoDebug("Granted Maneuver at Level 1: total now " + IntToString(nMoveTotal));
if (DEBUG) DoDebug(IntToString(nStncTotal) +" stances known");
if (DEBUG) DoDebug("Readied maneuvers now: " + IntToString(nRdyTotal));
}
if (nLevel >= 3 && !GetPersistantLocalInt(oInitiator, "ToBEternalBlade3"))
{
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 3");
if(DEBUG) DoDebug("tob_eternalblade SetKnownManeuversModifier 3: " + IntToString(++nMoveTotal));
SetReadiedManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), ++nRdyTotal);
DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), ++nMoveTotal, MANEUVER_TYPE_MANEUVER));
nMoveTotal += 1;
nRdyTotal += 1;
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 3");
if(DEBUG) DoDebug("tob_eternalblade SetKnownManeuversModifier 3: " + IntToString(nMoveTotal));
SetReadiedManeuversModifier(oInitiator, nBladeClass, nRdyTotal);
//DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), nMoveTotal, MANEUVER_TYPE_MANEUVER));
SetKnownManeuversModifier(oInitiator, nBladeClass, nMoveTotal, MANEUVER_TYPE_MANEUVER);
SetPersistantLocalInt(oInitiator, "ToBEternalBlade3", TRUE);
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", 270);//DISCIPLINE_DEVOTED_SPIRIT + DISCIPLINE_DIAMOND_MIND + DISCIPLINE_IRON_HEART + DISCIPLINE_WHITE_RAVEN
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", DISCIPLINE_DEVOTED_SPIRIT +
DISCIPLINE_DIAMOND_MIND +
DISCIPLINE_IRON_HEART +
DISCIPLINE_WHITE_RAVEN); //:: (270)
if (DEBUG) DoDebug("Granted Maneuver at Level 3: total now " + IntToString(nMoveTotal));
if (DEBUG) DoDebug(IntToString(nStncTotal) +" stances known");
if (DEBUG) DoDebug("Readied maneuvers now: " + IntToString(nRdyTotal));
}
if (nLevel >= 5 && !GetPersistantLocalInt(oInitiator, "ToBEternalBlade5"))
{
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 5");
nStncTotal += 1;
nMoveTotal += 1;
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 5");
if(DEBUG) DoDebug("tob_eternalblade SetKnownManeuversModifier 5: " + IntToString(++nMoveTotal));
DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), ++nStncTotal, MANEUVER_TYPE_STANCE));
DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), ++nMoveTotal, MANEUVER_TYPE_MANEUVER));
//DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), nStncTotal, MANEUVER_TYPE_STANCE));
//DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), nMoveTotal, MANEUVER_TYPE_MANEUVER));
SetKnownManeuversModifier(oInitiator, nBladeClass, nStncTotal, MANEUVER_TYPE_STANCE);
SetKnownManeuversModifier(oInitiator, nBladeClass, nMoveTotal, MANEUVER_TYPE_MANEUVER);
SetPersistantLocalInt(oInitiator, "ToBEternalBlade5", TRUE);
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", 270);//DISCIPLINE_DEVOTED_SPIRIT + DISCIPLINE_DIAMOND_MIND + DISCIPLINE_IRON_HEART + DISCIPLINE_WHITE_RAVEN
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", DISCIPLINE_DEVOTED_SPIRIT +
DISCIPLINE_DIAMOND_MIND +
DISCIPLINE_IRON_HEART +
DISCIPLINE_WHITE_RAVEN); //:: (270)
if (DEBUG) DoDebug("Granted Maneuver at Level 5: total now " + IntToString(nMoveTotal));
if (DEBUG) DoDebug(IntToString(nStncTotal) +" stances known");
if (DEBUG) DoDebug("Readied maneuvers now: " + IntToString(nRdyTotal));
}
if (nLevel >= 6 && !GetPersistantLocalInt(oInitiator, "ToBEternalBlade6"))
{
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 6");
SetReadiedManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), ++nRdyTotal);
nRdyTotal += 1;
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 6");
SetReadiedManeuversModifier(oInitiator, nBladeClass, nRdyTotal);
SetPersistantLocalInt(oInitiator, "ToBEternalBlade6", TRUE);
if (DEBUG) DoDebug("Granted Maneuver at Level 6: total now " + IntToString(nMoveTotal));
if (DEBUG) DoDebug(IntToString(nStncTotal) +" stances known");
if (DEBUG) DoDebug("Readied maneuvers now: " + IntToString(nRdyTotal));
}
if (nLevel >= 7 && !GetPersistantLocalInt(oInitiator, "ToBEternalBlade7"))
{
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 7");
if(DEBUG) DoDebug("tob_eternalblade SetKnownManeuversModifier 7: " + IntToString(++nMoveTotal));
DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), ++nMoveTotal, MANEUVER_TYPE_MANEUVER));
nMoveTotal += 1;
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 7");
if(DEBUG) DoDebug("tob_eternalblade SetKnownManeuversModifier 7: " + IntToString(nMoveTotal));
DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, nBladeClass, nMoveTotal, MANEUVER_TYPE_MANEUVER));
SetPersistantLocalInt(oInitiator, "ToBEternalBlade7", TRUE);
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", 270);//DISCIPLINE_DEVOTED_SPIRIT + DISCIPLINE_DIAMOND_MIND + DISCIPLINE_IRON_HEART + DISCIPLINE_WHITE_RAVEN
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", DISCIPLINE_DEVOTED_SPIRIT +
DISCIPLINE_DIAMOND_MIND +
DISCIPLINE_IRON_HEART +
DISCIPLINE_WHITE_RAVEN); //:: (270)
if (DEBUG) DoDebug("Granted Maneuver at Level 7: total now " + IntToString(nMoveTotal));
if (DEBUG) DoDebug(IntToString(nStncTotal) +" stances known");
if (DEBUG) DoDebug("Readied maneuvers now: " + IntToString(nRdyTotal));
}
if (nLevel >= 9 && !GetPersistantLocalInt(oInitiator, "ToBEternalBlade9"))
{
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 9");
if(DEBUG) DoDebug("tob_eternalblade SetKnownManeuversModifier 9: " + IntToString(++nMoveTotal));
SetReadiedManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), ++nRdyTotal);
DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, GetPrimaryBladeMagicClass(oInitiator), ++nMoveTotal, MANEUVER_TYPE_MANEUVER));
nMoveTotal += 1;
nRdyTotal += 1;
if(DEBUG) DoDebug("tob_eternalblade: Adding Maneuver 9");
if(DEBUG) DoDebug("tob_eternalblade SetKnownManeuversModifier 9: " + IntToString(nMoveTotal));
SetReadiedManeuversModifier(oInitiator, nBladeClass, nRdyTotal);
DelayCommand(0.0f, SetKnownManeuversModifier(oInitiator, nBladeClass, nMoveTotal, MANEUVER_TYPE_MANEUVER));
SetPersistantLocalInt(oInitiator, "ToBEternalBlade9", TRUE);
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", 270);//DISCIPLINE_DEVOTED_SPIRIT + DISCIPLINE_DIAMOND_MIND + DISCIPLINE_IRON_HEART + DISCIPLINE_WHITE_RAVEN
SetPersistantLocalInt(oInitiator, "AllowedDisciplines", DISCIPLINE_DEVOTED_SPIRIT +
DISCIPLINE_DIAMOND_MIND +
DISCIPLINE_IRON_HEART +
DISCIPLINE_WHITE_RAVEN); //:: (270)
if (DEBUG) DoDebug("Granted Maneuver at Level 9: total now " + IntToString(nMoveTotal));
if (DEBUG) DoDebug(IntToString(nStncTotal) +" stances known");
if (DEBUG) DoDebug("Readied maneuvers now: " + IntToString(nRdyTotal));
}
// Hook to OnLevelDown to remove the maneuver slots granted here

View File

@@ -28,9 +28,9 @@ void main()
int nStncTotal = GetKnownManeuversModifier(oInitiator, nClass, MANEUVER_TYPE_STANCE);
int nRdyTotal = GetReadiedManeuversModifier(oInitiator, nClass);
DoDebug("nMoveTotal = "+IntToString(nMoveTotal));
DoDebug("nStncTotal = "+IntToString(nStncTotal));
DoDebug("nRdyTotal = "+IntToString(nRdyTotal));
if (DEBUG) DoDebug("nMoveTotal = "+IntToString(nMoveTotal));
if (DEBUG) DoDebug("nStncTotal = "+IntToString(nStncTotal));
if (DEBUG) DoDebug("nRdyTotal = "+IntToString(nRdyTotal));
int nRubyLvl = GetLevelByClass(CLASS_TYPE_RUBY_VINDICATOR, oInitiator);
int nRubyBonusMove = nRubyLvl / 2;
@@ -38,9 +38,9 @@ DoDebug("nRdyTotal = "+IntToString(nRdyTotal));
if (nRubyLvl >= 6) nRubyBonusStance = 2;
int nRubyBonusReady = nRubyLvl > 8 ? 2 : nRubyLvl > 4 ? 1 : 0;
int nMod;
DoDebug("nRubyBonusMove = "+IntToString(nRubyBonusMove));
DoDebug("nRubyBonusStance = "+IntToString(nRubyBonusStance));
DoDebug("nRubyBonusReady = "+IntToString(nRubyBonusReady));
if (DEBUG) DoDebug("nRubyBonusMove = "+IntToString(nRubyBonusMove));
if (DEBUG) DoDebug("nRubyBonusStance = "+IntToString(nRubyBonusStance));
if (DEBUG) DoDebug("nRubyBonusReady = "+IntToString(nRubyBonusReady));
// We aren't being called from any event, instead from EvalPRCFeats
if(nEvent == FALSE)