diff --git a/nwn/nwnprc/trunk/scripts/prc_enforce_mark.nss b/nwn/nwnprc/trunk/scripts/prc_enforce_mark.nss
index bf343e10..973986c1 100644
--- a/nwn/nwnprc/trunk/scripts/prc_enforce_mark.nss
+++ b/nwn/nwnprc/trunk/scripts/prc_enforce_mark.nss
@@ -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)
{
diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk
new file mode 100644
index 00000000..9b2fd7b1
Binary files /dev/null and b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk differ
diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
index 9ea88f8f..5cca5417 100644
--- a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
+++ b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
@@ -58502,7 +58502,7 @@ Use: Automatic
Shield Specialization (Heavy)
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
Shield Ward
Type of Feat: General
diff --git a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk
index f7ab936a..9b2fd7b1 100644
Binary files a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk and b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk differ