This commit is contained in:
Jaysyn904
2025-08-21 07:40:32 -04:00
parent 9c7b452b9a
commit 59b2630adf
3642 changed files with 96023 additions and 130017 deletions

View File

@@ -253,11 +253,6 @@ void Shifter(object oPC, int iArcSpell, int iDivSpell)
//Wild Shape qualifies
SetLocalInt(oPC, "PRC_PrereqShift", 0);
}
if (GetLevelByClass(CLASS_TYPE_LION_OF_TALISID) >= 3)
{
//Wild Shape qualifies
SetLocalInt(oPC, "PRC_PrereqShift", 0);
}
//These classes have appropriate alternate forms
if (GetLevelByClass(CLASS_TYPE_SHAMAN) >= 7)
{
@@ -284,6 +279,12 @@ void Shifter(object oPC, int iArcSpell, int iDivSpell)
//Elemental Form qualifies
SetLocalInt(oPC, "PRC_PrereqShift", 0);
}
//This is not strictly necessary because Witch gains Polymorph Self
//at an earlier level, but add it here anyway for completeness:
if (GetLevelByClass(CLASS_TYPE_WITCH) >= 13)
{
SetLocalInt(oPC, "PRC_PrereqShift", 0);
}
int nRace = GetRacialType(oPC);
//These races have appropriate alternate forms
@@ -678,95 +679,6 @@ void reqCombatMedic(object oPC)
}
}
void reqLionOfTalisid(object oPC)
{
//:: Get casting ability scores
int iWis = GetAbilityScore(oPC, ABILITY_WISDOM, TRUE);
int iInt = GetAbilityScore(oPC, ABILITY_INTELLIGENCE, TRUE);
//:: Check if the character knows Summon Nature's Ally II
int bKnowsSNA2 = PRCGetIsRealSpellKnown(SPELL_SUMMON_NATURES_ALLY_2, oPC);
//:: Archivist (INT-based)
if(iInt >= 12 && GetLevelByClass(CLASS_TYPE_ARCHIVIST) >= 3 && bKnowsSNA2)
{
SetLocalInt(oPC, "PRC_PrereqLoT", 0);
return;
}
//:: Druid (WIS-based)
if(iWis >= 12 && GetLevelByClass(CLASS_TYPE_DRUID) >= 3 && bKnowsSNA2)
{
SetLocalInt(oPC, "PRC_PrereqLoT", 0);
return;
}
//:: Ranger (WIS-based) <20> Rangers get 2nd-level spells at level 6
if(iWis >= 12 && GetLevelByClass(CLASS_TYPE_RANGER) >= 6 && bKnowsSNA2)
{
SetLocalInt(oPC, "PRC_PrereqLoT", 0);
return;
}
//:: Shaman (WIS-based)
if(iWis >= 12 && GetLevelByClass(CLASS_TYPE_SHAMAN) >= 3 && bKnowsSNA2)
{
SetLocalInt(oPC, "PRC_PrereqLoT", 0);
return;
}
}
void reqVerdantLord(object oPC)
{
//:: Get casting ability scores
int iWis = GetAbilityScore(oPC, ABILITY_WISDOM, TRUE);
int iInt = GetAbilityScore(oPC, ABILITY_INTELLIGENCE, TRUE);
//:: Check if the character Control Plants
int bKnowsCtrlPlants = PRCGetIsRealSpellKnown(SPELL_CONTROL_PLANTS, oPC);
int bHasPlantDomain = GetHasFeat(DOMAIN_PLANT) || GetHasFeat(FEAT_BONUS_DOMAIN_PLANT) || GetHasFeat(FEAT_PLANT_DOMAIN_POWER);
//:: Archivist (INT-based)
if(iInt >= 14 && GetLevelByClass(CLASS_TYPE_ARCHIVIST) >= 7 && bKnowsCtrlPlants)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Druid (WIS-based)
if(iWis >= 14 && GetLevelByClass(CLASS_TYPE_DRUID) >= 7 && bKnowsCtrlPlants)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Ranger (WIS-based) <20> Rangers get Plant Control at 3rd level
//:: Rangers get 3rd lvl spells at level 11 w/ a 16 WIS
if(iWis >= 16 && GetLevelByClass(CLASS_TYPE_RANGER) >= 11 && bKnowsCtrlPlants)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Ranger (WIS-based) <20> Rangers get Plant Control at 3rd level
if(iWis >= 13 && GetLevelByClass(CLASS_TYPE_RANGER) >= 12 && bKnowsCtrlPlants)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Shaman (WIS-based & must have plant domain to cast Control Plants)
if(iWis >= 14 && GetLevelByClass(CLASS_TYPE_SHAMAN) >= 7 && bHasPlantDomain)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Cleric (WIS-based & must have plant domain to cast Control Plants)
if(iWis >= 14 && GetLevelByClass(CLASS_TYPE_CLERIC) >= 7 && bHasPlantDomain)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
}
void RedWizard(object oPC)
{
SetLocalInt(oPC, "PRC_PrereqRedWiz", 1);
@@ -1145,9 +1057,6 @@ void TomeOfBattle(object oPC = OBJECT_SELF)
int nCount = 0;
int nTotal = 0;
int nIron = _CheckPrereqsByDiscipline(oPC, DISCIPLINE_IRON_HEART); //:: Some dumbass forgot this was a discipline -Jaysyn
if (nIron > 0) nCount += 1;
int nDesert = _CheckPrereqsByDiscipline(oPC, DISCIPLINE_DESERT_WIND);
if (nDesert > 0) nCount += 1;
@@ -1172,9 +1081,8 @@ void TomeOfBattle(object oPC = OBJECT_SELF)
int nRaven = _CheckPrereqsByDiscipline(oPC, DISCIPLINE_WHITE_RAVEN);
if (nRaven > 0) nCount += 1;
nTotal = nDevoted + nDiamond + nTiger + nShadow + nStone + nSun + nRaven + nDesert +nIron;
if (DEBUG) DoDebug("You have "+IntToString(nIron)+" Iron Heart Maneuvers");
nTotal = nDevoted + nDiamond + nTiger + nShadow + nStone + nSun + nRaven + nDesert;
if (DEBUG) DoDebug("You have "+IntToString(nDevoted)+" Devoted Spirit Maneuvers");
if (DEBUG) DoDebug("You have "+IntToString(nDiamond)+" Diamond Mind Maneuvers");
if (DEBUG) DoDebug("You have "+IntToString(nTiger)+" Tiger Claw Maneuvers");
@@ -1406,8 +1314,6 @@ void AlienistPreReqs(object oPC)
void AOTSPreReqs(object oPC)
{
if(DEBUG) DoDebug("prc_prereq >> AOTSPreReqs: Entering function.");
int iArcane = 0;
int iShadow = 0;
@@ -1428,7 +1334,6 @@ void AOTSPreReqs(object oPC)
if (PRCGetCasterLevel(oPC) > 4 || GetInvokerLevel(oPC) > 4 || GetShadowcasterLevel(oPC) > 4)
{
SetLocalInt(oPC, "PRC_PrereqAOTS", 0);
if(DEBUG) DoDebug("prc_prereq >> AOTSPreReqs: Unsetting varible to allow class.");
}
}
@@ -1979,7 +1884,6 @@ void main()
WildMageReq(oPC);
Witchborn(oPC);
reqCombatMedic(oPC);
reqLionOfTalisid(oPC);
// Truly massive debug message flood if activated.
/* if (DEBUG)