Re-added arcane & divine marker feats.

Re-added arcane & divine marker feats.  Fixed broken hamatula summon.  Removed old culled content.
This commit is contained in:
Jaysyn904
2024-03-27 21:37:18 -04:00
parent 1e4d84338a
commit aa50c6b6ec
214 changed files with 46752 additions and 46482 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -532,7 +532,7 @@ int UseNewSpellBook(object oCreature)
if(nPrimaryArcane != CLASS_TYPE_BARD && nPrimaryArcane != CLASS_TYPE_SORCERER)
return FALSE;
//check they have arcane PrC or Draconic Breath/Arcane Grace
if(!GetArcanePRCLevels(oCreature)
if(!GetArcanePRCLevels(oCreature, nPrimaryArcane)
&& !(GetHasFeat(FEAT_DRACONIC_GRACE, oCreature) || GetHasFeat(FEAT_DRACONIC_BREATH, oCreature)))
return FALSE;
//check if the newspellbooks are disabled

View File

@@ -554,4 +554,7 @@ void CheckForPnPHolyAvenger(object oItem)
}
ipTest = GetNextItemProperty(oItem);
}
}
}
//:: Test Void
//void main (){}

View File

@@ -382,12 +382,12 @@ int GetPrCAdjustedClassLevel(int nClass, object oCaster = OBJECT_SELF)
if(GetIsArcaneClass(nClass, oCaster) && nClass != CLASS_TYPE_SUBLIME_CHORD)
{
if (GetPrimaryArcaneClass(oCaster) == nClass) // adjust for any PrCs
iTemp = GetArcanePRCLevels(oCaster);
iTemp = GetArcanePRCLevels(oCaster, nClass);
}
else if(GetIsDivineClass(nClass, oCaster))
{
if (GetPrimaryDivineClass(oCaster) == nClass) // adjust for any PrCs
iTemp = GetDivinePRCLevels(oCaster);
iTemp = GetDivinePRCLevels(oCaster, nClass);
}
else // a non-caster class or a PrC
{
@@ -606,14 +606,14 @@ int GetLevelByTypeDivineFeats(object oCaster = OBJECT_SELF, int iSpellID = -1)
|| iClass8 == CLASS_TYPE_ANTI_PALADIN)
iClass8Lev = iClass7Lev / 2;
if (iClass1 == iFirstDivine) iClass1Lev += GetDivinePRCLevels(oCaster);
if (iClass2 == iFirstDivine) iClass2Lev += GetDivinePRCLevels(oCaster);
if (iClass3 == iFirstDivine) iClass3Lev += GetDivinePRCLevels(oCaster);
if (iClass4 == iFirstDivine) iClass4Lev += GetDivinePRCLevels(oCaster);
if (iClass5 == iFirstDivine) iClass5Lev += GetDivinePRCLevels(oCaster);
if (iClass6 == iFirstDivine) iClass6Lev += GetDivinePRCLevels(oCaster);
if (iClass7 == iFirstDivine) iClass7Lev += GetDivinePRCLevels(oCaster);
if (iClass8 == iFirstDivine) iClass8Lev += GetDivinePRCLevels(oCaster);
if (iClass1 == iFirstDivine) iClass1Lev += GetDivinePRCLevels(oCaster, iClass1);
if (iClass2 == iFirstDivine) iClass2Lev += GetDivinePRCLevels(oCaster, iClass2);
if (iClass3 == iFirstDivine) iClass3Lev += GetDivinePRCLevels(oCaster, iClass3);
if (iClass4 == iFirstDivine) iClass4Lev += GetDivinePRCLevels(oCaster, iClass4);
if (iClass5 == iFirstDivine) iClass5Lev += GetDivinePRCLevels(oCaster, iClass5);
if (iClass6 == iFirstDivine) iClass6Lev += GetDivinePRCLevels(oCaster, iClass6);
if (iClass7 == iFirstDivine) iClass7Lev += GetDivinePRCLevels(oCaster, iClass7);
if (iClass8 == iFirstDivine) iClass8Lev += GetDivinePRCLevels(oCaster, iClass8);
iClass1Lev += iBoost;
iClass2Lev += iBoost;

View File

@@ -395,10 +395,10 @@ int GetShadowMagicPRCLevels(object oShadow)
if(GetHasFeat(FEAT_ASMODEUS_MYSTERY_SHADOWCASTER, oShadow))
nLevel += (GetLevelByClass(CLASS_TYPE_DISCIPLE_OF_ASMODEUS, oShadow) + 1) / 2;
if(GetHasFeat(FEAT_DRAGONSONG_MYSTERY_SHADOWCASTER, oShadow))
if(GetHasFeat(FEAT_DSONG_MYSTERY_SHADOWCASTER, oShadow))
nLevel += (GetLevelByClass(CLASS_TYPE_DRAGONSONG_LYRIST, oShadow) + 1) / 2;
if(GetHasFeat(FEAT_ESAVANT_MYSTERY_SHADOWCASTER, oShadow))
if(GetHasFeat(FEAT_ELESAVANT_MYSTERY_SHADOWCASTER, oShadow))
nLevel += GetLevelByClass(CLASS_TYPE_ELEMENTAL_SAVANT, oShadow);
if(GetHasFeat(FEAT_MASTERSHADOW_MYSTERY_SHADOWCASTER, oShadow))
@@ -434,10 +434,10 @@ int GetShadowMagicPRCLevels(object oShadow)
if(GetHasFeat(FEAT_ASMODEUS_MYSTERY_SHADOWSMITH, oShadow))
nLevel += (GetLevelByClass(CLASS_TYPE_DISCIPLE_OF_ASMODEUS, oShadow) + 1) / 2;
if(GetHasFeat(FEAT_DRAGONSONG_MYSTERY_SHADOWSMITH, oShadow))
if(GetHasFeat(FEAT_DSONG_MYSTERY_SHADOWSMITH, oShadow))
nLevel += (GetLevelByClass(CLASS_TYPE_DRAGONSONG_LYRIST, oShadow) + 1) / 2;
if(GetHasFeat(FEAT_ESAVANT_MYSTERY_SHADOWSMITH, oShadow))
if(GetHasFeat(FEAT_ELESAVANT_MYSTERY_SHADOWSMITH, oShadow))
nLevel += GetLevelByClass(CLASS_TYPE_ELEMENTAL_SAVANT, oShadow);
if(GetHasFeat(FEAT_MASTERSHADOW_MYSTERY_SHADOWSMITH, oShadow))
@@ -753,5 +753,4 @@ int GetHasNocturnal(object oShadow, int nPath)
// If none of those trigger.
return nReturn;
}
}

View File

@@ -1353,7 +1353,7 @@ int BardSorcPrCCheck(object oCaster, int nCastingClass, object oSpellCastItem)
if(GetLocalInt(oCaster, "NSB_Class") == CLASS_TYPE_SORCERER)
return TRUE;
//check they have arcane PrC or Draconic Arcane Grace/Breath
if(!(GetArcanePRCLevels(oCaster) - GetLevelByClass(CLASS_TYPE_SUBLIME_CHORD, oCaster))
if(!(GetArcanePRCLevels(oCaster, nCastingClass) - GetLevelByClass(CLASS_TYPE_SUBLIME_CHORD, oCaster))
&& !(GetHasFeat(FEAT_DRACONIC_GRACE, oCaster) || GetHasFeat(FEAT_DRACONIC_BREATH, oCaster)))
return TRUE;
//check they have sorc in first arcane slot
@@ -1380,7 +1380,7 @@ int BardSorcPrCCheck(object oCaster, int nCastingClass, object oSpellCastItem)
if(GetLocalInt(oCaster, "NSB_Class") == CLASS_TYPE_BARD)
return TRUE;
//check they have arcane PrC or Draconic Arcane Grace/Breath
if(!(GetArcanePRCLevels(oCaster) - GetLevelByClass(CLASS_TYPE_SUBLIME_CHORD, oCaster))
if(!(GetArcanePRCLevels(oCaster, nCastingClass) - GetLevelByClass(CLASS_TYPE_SUBLIME_CHORD, oCaster))
&& !(GetHasFeat(FEAT_DRACONIC_GRACE, oCaster) || GetHasFeat(FEAT_DRACONIC_BREATH, oCaster)))
return TRUE;
//check they have bard in first arcane slot