Update Master of Shrouds to support any divine class that meets reqs

Update Master of Shrouds to support any divine class that meets reqs.  Fixed Saint template to allow Warforged & Oozes.  Updated release archive.
This commit is contained in:
Jaysyn904
2024-10-11 11:37:32 -04:00
parent 7e97432830
commit f9f4d2c220
12 changed files with 25011 additions and 24961 deletions

View File

@@ -2216,7 +2216,15 @@ int MoSMarkerFeats()
int nMoS = GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_BLIGHTER)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_CLERIC)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_OCULAR)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_OASHAMAN);
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_OASHAMAN)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_ARCHIVIST)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_BLACKGUARD)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_DRUID)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_FAVOURED_SOUL)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_JUSTICEWW)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_RANGER)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_SOHEI)
+ GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_UR_PRIEST);
if(nMoS > 1)
{
@@ -2231,6 +2239,17 @@ int MoSMarkerFeats()
FloatingTextStringOnCreature("Please reselect your feats.", OBJECT_SELF, FALSE);
return TRUE;
}
int iCleDom = GetHasFeat(FEAT_EVIL_DOMAIN_POWER)
+ GetHasFeat(FEAT_DEATH_DOMAIN_POWER)
+ GetHasFeat(FEAT_PROTECTION_DOMAIN_POWER);
if(iCleDom < 1)
{
FloatingTextStringOnCreature("To become a Master of Shrouds you must possess one of the following divine domains: Evil, Death, or Protection.", OBJECT_SELF, FALSE);
FloatingTextStringOnCreature("Please reselect your feats.", OBJECT_SELF, FALSE);
return TRUE;
}
}
return FALSE;

View File

@@ -66,16 +66,20 @@ void main()
SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
}
//:: Any living creature of good alignment that is not an outsider or an elemental
int nRace = MyPRCGetRacialType(oPC);
if(nRace == RACIAL_TYPE_CONSTRUCT ||
nRace == RACIAL_TYPE_ELEMENTAL ||
nRace == RACIAL_TYPE_OOZE ||
nRace == RACIAL_TYPE_OUTSIDER ||
nRace == RACIAL_TYPE_UNDEAD)
{
SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
}
//:: Any living creature of good alignment that is not an outsider or an elemental,
//:: allowing Warforged and Warforged Juggernaut races to continue.
int nRace = MyPRCGetRacialType(oPC);
int nExactRace = GetRacialType(oPC);
if((nRace == RACIAL_TYPE_CONSTRUCT &&
nExactRace != RACIAL_TYPE_WARFORGED &&
nExactRace != RACIAL_TYPE_WARFORGED_CHARGER) ||
nRace == RACIAL_TYPE_ELEMENTAL ||
nRace == RACIAL_TYPE_OUTSIDER ||
nRace == RACIAL_TYPE_UNDEAD)
{
SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
}
//:: No Undead templates or classes. No saint stacking.
if(GetHasTemplate(TEMPLATE_SAINT, oPC)