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