Fixed Mystic Theurge marker feat bug

Fixed Mystic Theurge marker feat bug.  Fixed Thrall of Orcus marker feat bug.
This commit is contained in:
Jaysyn904 2024-08-01 12:17:21 -04:00
parent e5b7389319
commit 92713aee01
4 changed files with 96 additions and 5 deletions

@ -2367,7 +2367,98 @@ int MysticTheurgeMarkerFeats()
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_WIZARD);
nMysticShadow = GetHasFeat(FEAT_MYSTICTHEURGE_MYSTERY_SHADOWCASTER)
+ GetHasFeat(FEAT_MYSTICTHEURGE_MYSTERY_SHADOWSMITH);
+ GetHasFeat(FEAT_MYSTICTHEURGE_MYSTERY_SHADOWSMITH);
// Ensure no more than one feat is selected per category
if (nMysticDivine > 1 || nMysticArcane > 1 || nMysticShadow > 1)
{
FloatingTextStringOnCreature("A Mystic Theurge may only advance two different types of spellcasting.", OBJECT_SELF, FALSE);
FloatingTextStringOnCreature("Please reselect your feats.", OBJECT_SELF, FALSE);
return TRUE;
}
int nSelectedTypes = 0;
// Count how many different types of spellcasting the character has selected
if (nMysticDivine > 0) nSelectedTypes++;
if (nMysticArcane > 0) nSelectedTypes++;
if (nMysticShadow > 0) nSelectedTypes++;
// Check if the character has chosen a valid combination of marker feats
if (nSelectedTypes > 2)
{
FloatingTextStringOnCreature("A Mystic Theurge may only advance two different types of spellcasting.", OBJECT_SELF, FALSE);
FloatingTextStringOnCreature("Please reselect your feats.", OBJECT_SELF, FALSE);
return TRUE;
}
if (nSelectedTypes < 2)
{
FloatingTextStringOnCreature("A Mystic Theurge must pick two spellcasting classes to advance at first level.", OBJECT_SELF, FALSE);
FloatingTextStringOnCreature("Please reselect your feats.", OBJECT_SELF, FALSE);
return TRUE;
}
}
return FALSE;
}
/* //:; Enforces Mystic Theurge marker feats
int MysticTheurgeMarkerFeats()
{
if (GetLevelByClass(CLASS_TYPE_MYSTIC_THEURGE))
{
int nMysticDivine = -1;
int nMysticArcane = -1;
int nMysticShadow = -1;
// Check for divine, arcane, and shadow marker feats
nMysticDivine = GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_ARCHIVIST)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_BLACKGUARD)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_BLIGHTER)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_CLERIC)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_DOMIEL)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_DRUID)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_FAVOURED_SOUL)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_HEALER)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_JUSTICEWW)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_KNIGHT_CHALICE)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_KNIGHT_MIDDLECIRCLE)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_NENTYAR_HUNTER)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_OCULAR)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_PALADIN)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_RANGER)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_OASHAMAN)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_SOHEI)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_SOL)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_SPSHAMAN)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_UR_PRIEST)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_VASSAL);
nMysticArcane = GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_FEY)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_ABERRATION)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_MONSTROUS)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_OUTSIDER)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_SHAPECHANGER)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_ASSASSIN)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_BARD)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_BEGUILER)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_CELEBRANT_SHARESS)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_CULTIST_PEAK)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_DNECRO)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_DUSKBLADE)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_HARPER)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_HEXBLADE)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_KNIGHT_WEAVE)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_SHADOWLORD)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_SORCERER)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_SUBLIME_CHORD)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_SUEL_ARCHANAMACH)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_WARMAGE)
+ GetHasFeat(FEAT_MYSTIC_THEURGE_SPELLCASTING_WIZARD);
nMysticShadow = GetHasFeat(FEAT_MYSTICTHEURGE_MYSTERY_SHADOWCASTER)
+ GetHasFeat(FEAT_MYSTICTHEURGE_MYSTERY_SHADOWSMITH);
int totalMarkerFeats = nMysticDivine + nMysticArcane + nMysticShadow;
@ -2388,7 +2479,7 @@ int MysticTheurgeMarkerFeats()
}
return FALSE;
}
} */
//:; Enforces Noctumancer marker feats
int NoctumancerMarkerFeats()
@ -2566,8 +2657,8 @@ int OrcusMarkerFeats()
+ GetHasFeat(FEAT_ORCUS_SPELLCASTING_OASHAMAN)
+ GetHasFeat(FEAT_ORCUS_SPELLCASTING_SOHEI)
+ GetHasFeat(FEAT_ORCUS_SPELLCASTING_SPSHAMAN)
+ GetHasFeat(FEAT_OLLAM_MYSTERY_SHADOWCASTER)
+ GetHasFeat(FEAT_OLLAM_MYSTERY_SHADOWSMITH);
+ GetHasFeat(FEAT_ORCUS_MYSTERY_SHADOWCASTER)
+ GetHasFeat(FEAT_ORCUS_MYSTERY_SHADOWSMITH);
if(nOrcus > 1)
{

Binary file not shown.

@ -58502,7 +58502,7 @@ Use: Automatic</entry>
<entry id="61013" lang="en" sex="m">Shield Specialization (Heavy)</entry>
<entry id="61014" lang="en" sex="m">Type of Feat: General
Prerequisites: Shield proficiency
Benefit: When using a shield of the appropriate type, you increase its shield bonus to AC by 1. The heavy sheild version of this feat does not work with tower shields.
Benefit: When using a shield of the appropriate type, you increase its shield bonus to AC by 1. The heavy shield version of this feat does not work with tower shields.
Use: Automatic</entry>
<entry id="61015" lang="en" sex="m">Shield Ward</entry>
<entry id="61016" lang="en" sex="m">Type of Feat: General

Binary file not shown.