Fix for 4 class blues?

Fix for 4 class blues?
This commit is contained in:
Jaysyn904 2023-07-05 00:03:39 -04:00
parent db2f5c8719
commit 8333517884
9 changed files with 307 additions and 60 deletions

View File

@ -8,7 +8,7 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_BARD, oCaster)) if(GetLevelByClass(CLASS_TYPE_BARD, oCaster))
{ {
if(GetHasFeat(FEAT_ABCHAMP_SPELLCASTING_BARD, oCaster)) if(GetHasFeat(FEAT_ABCHAMP_SPELLCASTING_BARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ABJURANT_CHAMPION, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_ABJURANT_CHAMPION, oCaster);
if(GetHasFeat(FEAT_ALIEN_SPELLCASTING_BARD, oCaster)) if(GetHasFeat(FEAT_ALIEN_SPELLCASTING_BARD, oCaster))
@ -26,6 +26,9 @@ void main ()
if(GetHasFeat(FEAT_CMANCER_SPELLCASTING_BARD, oCaster)) if(GetHasFeat(FEAT_CMANCER_SPELLCASTING_BARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_CEREBREMANCER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_CEREBREMANCER, oCaster);
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_BARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_COMBAT_MEDIC, oCaster);
if(GetHasFeat(FEAT_DIABO_SPELLCASTING_BARD, oCaster)) if(GetHasFeat(FEAT_DIABO_SPELLCASTING_BARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_DIABOLIST, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_DIABOLIST, oCaster);
@ -133,6 +136,9 @@ void main ()
if(GetHasFeat(FEAT_GRAZZT_SPELLCASTING_BARD, oCaster)) if(GetHasFeat(FEAT_GRAZZT_SPELLCASTING_BARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_A, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_A, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_BARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_TIAMAT_SPELLCASTING_BARD, oCaster)) if(GetHasFeat(FEAT_TIAMAT_SPELLCASTING_BARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_TALON_OF_TIAMAT, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_TALON_OF_TIAMAT, oCaster + 1) / 2;
@ -205,8 +211,8 @@ void main ()
if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_ASSASSIN, oCaster)) if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_ASSASSIN, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster);
if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_ASSASSIN, oCaster)) /* if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_ASSASSIN, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); */
if(GetHasFeat(FEAT_ALCHEM_SPELLCASTING_ASSASSIN, oCaster)) if(GetHasFeat(FEAT_ALCHEM_SPELLCASTING_ASSASSIN, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MASTER_ALCHEMIST, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MASTER_ALCHEMIST, oCaster);
@ -260,7 +266,10 @@ void main ()
nArcane += GetLevelByClass(CLASS_TYPE_BLADESINGER, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_BLADESINGER, oCaster + 1) / 2;
/* if(GetHasFeat(FEAT_BONDED_SPELLCASTING_ASSASSIN, oCaster)) /* if(GetHasFeat(FEAT_BONDED_SPELLCASTING_ASSASSIN, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_BONDED_SUMMONNER, oCaster + 1) / 2; */ nArcane += GetLevelByClass(CLASS_TYPE_BONDED_SUMMONNER, oCaster + 1) / 2; */
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_ASSASSIN, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_PALEMASTER_SPELLCASTING_ASSASSIN, oCaster)) if(GetHasFeat(FEAT_PALEMASTER_SPELLCASTING_ASSASSIN, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_PALEMASTER, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_PALEMASTER, oCaster + 1) / 2;
@ -418,7 +427,10 @@ void main ()
nArcane += GetLevelByClass(CLASS_TYPE_HATHRAN, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HATHRAN, oCaster + 1) / 2;
if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_BEGUILER, oCaster)) if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_BEGUILER, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_BEGUILER, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_BEGUILER, oCaster)) if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_BEGUILER, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2;
@ -497,11 +509,11 @@ void main ()
if(GetHasFeat(FEAT_JPM_SPELLCASTING_CELEBRANT_SHARESS, oCaster)) if(GetHasFeat(FEAT_JPM_SPELLCASTING_CELEBRANT_SHARESS, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster);
if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_CELEBRANT_SHARESS, oCaster)) /* if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_CELEBRANT_SHARESS, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); */
if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_CELEBRANT_SHARESS, oCaster)) /* if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_CELEBRANT_SHARESS, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); */
if(GetHasFeat(FEAT_ALCHEM_SPELLCASTING_CELEBRANT_SHARESS, oCaster)) if(GetHasFeat(FEAT_ALCHEM_SPELLCASTING_CELEBRANT_SHARESS, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MASTER_ALCHEMIST, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MASTER_ALCHEMIST, oCaster);
@ -637,8 +649,8 @@ void main ()
if(GetHasFeat(FEAT_JPM_SPELLCASTING_CULTIST_PEAK, oCaster)) if(GetHasFeat(FEAT_JPM_SPELLCASTING_CULTIST_PEAK, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster);
if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_CULTIST_PEAK, oCaster)) /* if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_CULTIST_PEAK, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); */
/* if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_CULTIST_PEAK, oCaster)) /* if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_CULTIST_PEAK, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
@ -853,7 +865,10 @@ void main ()
nArcane += GetLevelByClass(CLASS_TYPE_HATHRAN, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HATHRAN, oCaster + 1) / 2;
if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_DNECRO, oCaster)) if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_DNECRO, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_DNECRO, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_DNECRO, oCaster)) if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_DNECRO, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2;
@ -994,6 +1009,9 @@ void main ()
/* if(GetHasFeat(FEAT_BONDED_SPELLCASTING_DUSKBLADE, oCaster)) /* if(GetHasFeat(FEAT_BONDED_SPELLCASTING_DUSKBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_BONDED_SUMMONNER, oCaster + 1) / 2; */ nArcane += GetLevelByClass(CLASS_TYPE_BONDED_SUMMONNER, oCaster + 1) / 2; */
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_DUSKBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_PALEMASTER_SPELLCASTING_DUSKBLADE, oCaster)) if(GetHasFeat(FEAT_PALEMASTER_SPELLCASTING_DUSKBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_PALEMASTER, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_PALEMASTER, oCaster + 1) / 2;
@ -1084,8 +1102,8 @@ void main ()
if(GetHasFeat(FEAT_JPM_SPELLCASTING_HARPER, oCaster)) if(GetHasFeat(FEAT_JPM_SPELLCASTING_HARPER, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster);
if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_HARPER, oCaster)) /* if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_HARPER, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); */
/* if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_HARPER, oCaster)) /* if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_HARPER, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
@ -1224,11 +1242,11 @@ void main ()
if(GetHasFeat(FEAT_JPM_SPELLCASTING_HEXBLADE, oCaster)) if(GetHasFeat(FEAT_JPM_SPELLCASTING_HEXBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster);
if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_HEXBLADE, oCaster)) /* if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_HEXBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster);
if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_HEXBLADE, oCaster)) if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_HEXBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); */
if(GetHasFeat(FEAT_ALCHEM_SPELLCASTING_HEXBLADE, oCaster)) if(GetHasFeat(FEAT_ALCHEM_SPELLCASTING_HEXBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MASTER_ALCHEMIST, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MASTER_ALCHEMIST, oCaster);
@ -1293,6 +1311,9 @@ void main ()
if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_HEXBLADE, oCaster)) if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_HEXBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_HEXBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_HEXBLADE, oCaster)) if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_HEXBLADE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2;
@ -1340,6 +1361,9 @@ void main ()
if(GetHasFeat(FEAT_CMANCER_SPELLCASTING_KNIGHT_WEAVE, oCaster)) if(GetHasFeat(FEAT_CMANCER_SPELLCASTING_KNIGHT_WEAVE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_CEREBREMANCER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_CEREBREMANCER, oCaster);
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_KNIGHT_WEAVE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_COMBAT_MEDIC, oCaster);
/* if(GetHasFeat(FEAT_DIABO_SPELLCASTING_KNIGHT_WEAVE, oCaster)) /* if(GetHasFeat(FEAT_DIABO_SPELLCASTING_KNIGHT_WEAVE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_DIABOLIST, oCaster); */ nArcane += GetLevelByClass(CLASS_TYPE_DIABOLIST, oCaster); */
@ -1376,8 +1400,8 @@ void main ()
if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_KNIGHT_WEAVE, oCaster)) if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_KNIGHT_WEAVE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster);
if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_KNIGHT_WEAVE, oCaster)) /* if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_KNIGHT_WEAVE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); */
if(GetHasFeat(FEAT_ALCHEM_SPELLCASTING_KNIGHT_WEAVE, oCaster)) if(GetHasFeat(FEAT_ALCHEM_SPELLCASTING_KNIGHT_WEAVE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MASTER_ALCHEMIST, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MASTER_ALCHEMIST, oCaster);
@ -1574,7 +1598,10 @@ void main ()
nArcane += GetLevelByClass(CLASS_TYPE_BLADESINGER, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_BLADESINGER, oCaster + 1) / 2;
if(GetHasFeat(FEAT_BONDED_SPELLCASTING_SORCERER, oCaster)) if(GetHasFeat(FEAT_BONDED_SPELLCASTING_SORCERER, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_BONDED_SUMMONNER, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_BONDED_SUMMONNER, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_SORCERER, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_PALEMASTER_SPELLCASTING_SORCERER, oCaster)) if(GetHasFeat(FEAT_PALEMASTER_SPELLCASTING_SORCERER, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_PALEMASTER, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_PALEMASTER, oCaster + 1) / 2;
@ -1732,7 +1759,10 @@ void main ()
nArcane += GetLevelByClass(CLASS_TYPE_HATHRAN, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HATHRAN, oCaster + 1) / 2;
if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_SUBLIME_CHORD, oCaster)) if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_SUBLIME_CHORD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_SUBLIME_CHORD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_SUBLIME_CHORD, oCaster)) if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_SUBLIME_CHORD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2;
@ -1883,6 +1913,9 @@ void main ()
if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_SUEL_ARCHANAMACH, oCaster)) if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_SUEL_ARCHANAMACH, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_SUEL_ARCHANAMACH, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_SUEL_ARCHANAMACH, oCaster)) if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_SUEL_ARCHANAMACH, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2;
@ -1963,8 +1996,8 @@ void main ()
if(GetHasFeat(FEAT_JPM_SPELLCASTING_SHADOWLORD, oCaster)) if(GetHasFeat(FEAT_JPM_SPELLCASTING_SHADOWLORD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_JADE_PHOENIX_MAGE, oCaster);
if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_SHADOWLORD, oCaster)) /* if(GetHasFeat(FEAT_MAESTER_SPELLCASTING_SHADOWLORD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAESTER, oCaster); */
/* if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_SHADOWLORD, oCaster)) /* if(GetHasFeat(FEAT_MAGEKILL_SPELLCASTING_SHADOWLORD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster); nArcane += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
@ -2027,7 +2060,10 @@ void main ()
nArcane += GetLevelByClass(CLASS_TYPE_HATHRAN, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HATHRAN, oCaster + 1) / 2;
if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_SHADOWLORD, oCaster)) if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_SHADOWLORD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_SHADOWLORD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_SHADOWLORD, oCaster)) if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_SHADOWLORD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2;
@ -2178,6 +2214,9 @@ void main ()
if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_WARMAGE, oCaster)) if(GetHasFeat(FEAT_HAVOC_SPELLCASTING_WARMAGE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_HAVOC_MAGE, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_WARMAGE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_WARMAGE, oCaster)) if(GetHasFeat(FEAT_SSWORD_SPELLCASTING_WARMAGE, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_SPELLSWORD, oCaster + 1) / 2;
@ -2316,7 +2355,10 @@ void main ()
nArcane += GetLevelByClass(CLASS_TYPE_BLADESINGER, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_BLADESINGER, oCaster + 1) / 2;
if(GetHasFeat(FEAT_BONDED_SPELLCASTING_WIZARD, oCaster)) if(GetHasFeat(FEAT_BONDED_SPELLCASTING_WIZARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_BONDED_SUMMONNER, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_BONDED_SUMMONNER, oCaster + 1) / 2;
if(GetHasFeat(FEAT_ORCUS_SPELLCASTING_WIZARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_ORCUS, oCaster + 1) / 2;
if(GetHasFeat(FEAT_PALEMASTER_SPELLCASTING_WIZARD, oCaster)) if(GetHasFeat(FEAT_PALEMASTER_SPELLCASTING_WIZARD, oCaster))
nArcane += GetLevelByClass(CLASS_TYPE_PALEMASTER, oCaster + 1) / 2; nArcane += GetLevelByClass(CLASS_TYPE_PALEMASTER, oCaster + 1) / 2;

View File

@ -9,7 +9,10 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_ARCHIVIST, oCaster)) if(GetLevelByClass(CLASS_TYPE_ARCHIVIST, oCaster))
{ {
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_ARCHIVIST, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_ARCHIVIST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_ARCHIVIST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_ARCHIVIST, oCaster)) if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_ARCHIVIST, oCaster))
@ -39,6 +42,9 @@ void main ()
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_ARCHIVIST, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_ARCHIVIST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);
if(GetHasFeat(FEAT_MAGEKILLER_SPELLCASTING_ARCHIVIST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
/* if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_ARCHIVIST, oCaster)) /* if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_ARCHIVIST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); */ nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); */
@ -114,7 +120,10 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_BLACKGUARD, oCaster)) if(GetLevelByClass(CLASS_TYPE_BLACKGUARD, oCaster))
{ {
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_BLACKGUARD, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_BLACKGUARD, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_BLACKGUARD, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
/* if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_BLACKGUARD, oCaster)) /* if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_BLACKGUARD, oCaster))
@ -216,7 +225,10 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_BLIGHTER, oCaster)) if(GetLevelByClass(CLASS_TYPE_BLIGHTER, oCaster))
{ {
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_BLIGHTER, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_BLIGHTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_BLIGHTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
/* if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_BLIGHTER, oCaster)) /* if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_BLIGHTER, oCaster))
@ -243,6 +255,9 @@ void main ()
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_BLIGHTER, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_BLIGHTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);
if(GetHasFeat(FEAT_MAGEKILLER_SPELLCASTING_BLIGHTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_BLIGHTER, oCaster)) if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_BLIGHTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster);
@ -318,7 +333,10 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_CLERIC, oCaster)) if(GetLevelByClass(CLASS_TYPE_CLERIC, oCaster))
{ {
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_CLERIC, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_CLERIC, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_CLERIC, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_CLERIC, oCaster)) if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_CLERIC, oCaster))
@ -347,6 +365,9 @@ void main ()
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_CLERIC, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_CLERIC, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);
if(GetHasFeat(FEAT_MAGEKILLER_SPELLCASTING_CLERIC, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_CLERIC, oCaster)) if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_CLERIC, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster);
@ -423,7 +444,10 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_DRUID, oCaster)) if(GetLevelByClass(CLASS_TYPE_DRUID, oCaster))
{ {
/* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_DRUID, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_DRUID, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
/* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_DRUID, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); */ nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); */
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_DRUID, oCaster)) if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_DRUID, oCaster))
@ -450,6 +474,9 @@ void main ()
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_DRUID, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_DRUID, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);
if(GetHasFeat(FEAT_MAGEKILLER_SPELLCASTING_DRUID, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_DRUID, oCaster)) if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_DRUID, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster);
@ -525,7 +552,10 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oCaster)) if(GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oCaster))
{ {
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_FAVOURED_SOUL, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_FAVOURED_SOUL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_FAVOURED_SOUL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_FAVOURED_SOUL, oCaster)) if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_FAVOURED_SOUL, oCaster))
@ -552,6 +582,9 @@ void main ()
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_FAVOURED_SOUL, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_FAVOURED_SOUL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);
if(GetHasFeat(FEAT_MAGEKILLER_SPELLCASTING_FAVOURED_SOUL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_FAVOURED_SOUL, oCaster)) if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_FAVOURED_SOUL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster);
@ -626,8 +659,9 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_HEALER, oCaster)) if(GetLevelByClass(CLASS_TYPE_HEALER, oCaster))
{ {
/* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_HEALER, oCaster))
/* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_HEALER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); */ nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); */
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_HEALER, oCaster)) if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_HEALER, oCaster))
@ -642,8 +676,8 @@ void main ()
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_HEALER, oCaster)) if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_HEALER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_HEALER, oCaster)) /* if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_HEALER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); */
if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_HEALER, oCaster)) if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_HEALER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster);
@ -726,12 +760,13 @@ void main ()
} }
//:: End Healer Divine PrC casting calculations //:: End Healer Divine PrC casting calculations
if(GetLevelByClass(CLASS_TYPE_JUSTICEWW, oCaster)) if(GetLevelByClass(CLASS_TYPE_JUSTICEWW, oCaster))
{ {
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_JUSTICEWW, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_JUSTICEWW, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_JUSTICEWW, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_JUSTICEWW, oCaster)) if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_JUSTICEWW, oCaster))
@ -746,8 +781,8 @@ void main ()
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_JUSTICEWW, oCaster)) if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_JUSTICEWW, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_JUSTICEWW, oCaster)) /* if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_JUSTICEWW, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); */
if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_JUSTICEWW, oCaster)) if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_JUSTICEWW, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster);
@ -1036,8 +1071,11 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_NENTYAR_HUNTER, oCaster)) if(GetLevelByClass(CLASS_TYPE_NENTYAR_HUNTER, oCaster))
{ {
/* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_NENTYAR_HUNTER, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_NENTYAR_HUNTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
/* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_NENTYAR_HUNTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); */ nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); */
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_NENTYAR_HUNTER, oCaster)) if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_NENTYAR_HUNTER, oCaster))
@ -1055,8 +1093,8 @@ void main ()
if(GetHasFeat(FEAT_FMM_SPELLCASTING_NENTYAR_HUNTER, oCaster)) //:: Not divine if(GetHasFeat(FEAT_FMM_SPELLCASTING_NENTYAR_HUNTER, oCaster)) //:: Not divine
nDivine += GetLevelByClass(CLASS_TYPE_FMM, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FMM, oCaster);
if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_NENTYAR_HUNTER, oCaster)) /* if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_NENTYAR_HUNTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); */
/* if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_NENTYAR_HUNTER, oCaster)) /* if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_NENTYAR_HUNTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster); */ nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster); */
@ -1067,6 +1105,9 @@ void main ()
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_NENTYAR_HUNTER, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_NENTYAR_HUNTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);
if(GetHasFeat(FEAT_MAGEKILLER_SPELLCASTING_NENTYAR_HUNTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
/* if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_NENTYAR_HUNTER, oCaster)) /* if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_NENTYAR_HUNTER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); */ nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); */
@ -1141,7 +1182,10 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_OCULAR, oCaster)) if(GetLevelByClass(CLASS_TYPE_OCULAR, oCaster))
{ {
if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_OCULAR, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_OCULAR, oCaster)) if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_OCULAR, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
@ -1169,6 +1213,9 @@ void main ()
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_OCULAR, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_OCULAR, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);
if(GetHasFeat(FEAT_MAGEKILLER_SPELLCASTING_OCULAR, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_OCULAR, oCaster)) if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_OCULAR, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster);
@ -1345,7 +1392,11 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_RANGER, oCaster)) if(GetLevelByClass(CLASS_TYPE_RANGER, oCaster))
{ {
if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_RANGER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_RANGER, oCaster)) if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_RANGER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
@ -1361,8 +1412,8 @@ void main ()
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_RANGER, oCaster)) if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_RANGER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_RANGER, oCaster)) /* if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_RANGER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); */
if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_RANGER, oCaster)) if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_RANGER, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster);
@ -1448,7 +1499,10 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_SHAMAN, oCaster)) if(GetLevelByClass(CLASS_TYPE_SHAMAN, oCaster))
{ {
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_SHAMAN, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_SHAMAN, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_SHAMAN, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_SHAMAN, oCaster)) if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_SHAMAN, oCaster))
@ -1463,8 +1517,8 @@ void main ()
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_SHAMAN, oCaster)) if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_SHAMAN, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_SHAMAN, oCaster)) /* if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_SHAMAN, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); */
if(GetHasFeat(FEAT_FMM_SPELLCASTING_SHAMAN, oCaster) && GetHasFeat(FEAT_BONUS_DOMAIN_FORCE, oCaster) || GetHasFeat(FEAT_FORCE_DOMAIN, oCaster)) //:: Not divine if(GetHasFeat(FEAT_FMM_SPELLCASTING_SHAMAN, oCaster) && GetHasFeat(FEAT_BONUS_DOMAIN_FORCE, oCaster) || GetHasFeat(FEAT_FORCE_DOMAIN, oCaster)) //:: Not divine
nDivine += GetLevelByClass(CLASS_TYPE_FMM, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FMM, oCaster);
@ -1478,6 +1532,9 @@ void main ()
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_SHAMAN, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_SHAMAN, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);
if(GetHasFeat(FEAT_MAGEKILLER_SPELLCASTING_SHAMAN, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_SHAMAN, oCaster)) if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_SHAMAN, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster);
@ -1552,7 +1609,8 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_SLAYER_OF_DOMIEL, oCaster)) if(GetLevelByClass(CLASS_TYPE_SLAYER_OF_DOMIEL, oCaster))
{ {
/* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_DOMIEL, oCaster)) /* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_DOMIEL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
@ -1655,7 +1713,10 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_SOHEI, oCaster)) if(GetLevelByClass(CLASS_TYPE_SOHEI, oCaster))
{ {
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_SOHEI, oCaster)) if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_SOHEI, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_SOHEI, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_SOHEI, oCaster)) if(GetHasFeat(FEAT_COMBAT_MEDIC_SPELLCASTING_SOHEI, oCaster))
@ -1858,7 +1919,11 @@ void main ()
if(GetLevelByClass(CLASS_TYPE_UR_PRIEST, oCaster)) if(GetLevelByClass(CLASS_TYPE_UR_PRIEST, oCaster))
{ {
if(GetHasFeat(FEAT_ACOLYTE_SPELLCASTING_UR_PRIEST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_ACOLYTE, oCaster + 1) / 2 ;
/* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_UR_PRIEST, oCaster)) /* if(GetHasFeat(FEAT_BLIGHTLORD_SPELLCASTING_UR_PRIEST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oCaster);
@ -1886,6 +1951,9 @@ void main ()
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_UR_PRIEST, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_UR_PRIEST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);
if(GetHasFeat(FEAT_MAGEKILLER_SPELLCASTING_UR_PRIEST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MAGEKILLER, oCaster);
/* if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_UR_PRIEST, oCaster)) /* if(GetHasFeat(FEAT_MASTER_OF_SHROUDS_SPELLCASTING_UR_PRIEST, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_MASTER_OF_SHROUDS, oCaster);
@ -1974,16 +2042,16 @@ void main ()
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
/* if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_VASSAL, oCaster)) /* if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_VASSAL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster); */
if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_VASSAL, oCaster)) if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_VASSAL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster);
if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_VASSAL, oCaster)) /* if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_VASSAL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster); */ nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster);
if(GetHasFeat(FEAT_HIEROPHANT_SPELLCASTING_VASSAL, oCaster)) if(GetHasFeat(FEAT_HIEROPHANT_SPELLCASTING_VASSAL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HIEROPHANT, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HIEROPHANT, oCaster); */
if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_VASSAL, oCaster)) if(GetHasFeat(FEAT_HOSPITALER_SPELLCASTING_VASSAL, oCaster))
nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster); nDivine += GetLevelByClass(CLASS_TYPE_HOSPITALER, oCaster);

Binary file not shown.

View File

@ -0,0 +1,135 @@
# HIF files may consist of any of the following tags. All tags are optional.
# Tags that support multiple data items may have the data comma separated and/or
# may have multiple entries. If a multiple entries are given for a tag that only
# supports 1 value then the fist value in the file is used. Blank lines are ignored
# as are lines starting with a '#'.
#
# Tag format is
#
# <tag> : <value1>, <value2>, ..., <valuen>
#
# All white space is optional, and tags may also be given on multiple lines
# as follows:
#
# <tag> : <value1>
# <tag> : <value2>
# ...
# <tag> : <valuen>
#
# The following tags are supported:
#
# Title : Allows you to specify the title for the HIF, if the installer is run in
# single HIF mode then the installer's title bar will have the HIF's title,
# or file name if the HIF has no title. The format of the title is
# <HIF TITLE> Module Updater <HIF VERSION>
# Version : Allows you to specify the version number for your content. Modules
# that the HIF is added to are tagged with the version number.
# MinNWNVersion : Allows you to specify the minimum version of NWN that is required,
# and whether your content requies XP1 or XP2. For the NWN version use the
# standard format, i.e. 1.62, 1.31, etc. For the Expansions use XP1 or
# Undrentide for SoU and XP2 or Underdark for HotU. If you list multiple
# requirements separate them by commas. For example:
# MinNWNVersion : 1.62, XP1, XP2
# will make your content require NWN 1.62 or later and both expansions.
# erf : Imports the listed erf files into the module
# module.Hak : haks to add to the module
# module.CustomTlk : Custom tlk file for the module, only 1 value.
# module.Cache : Adds the given scripts the module's script cache.
# module.Areas: Adds the given ResRefs to the module's area list.
# module.OnAcquireItem : Assigns script(s) to handle this module event
# module.OnActivateItem : Assigns script(s) to handle this module event
# module.OnClientEnter : Assigns script(s) to handle this module event
# module.OnClientLeave : Assigns script(s) to handle this module event
# module.OnCutsceneAbort : Assigns script(s) to handle this module event
# module.OnHeartbeat : Assigns script(s) to handle this module event
# module.OnModuleLoad : Assigns script(s) to handle this module event
# module.OnModuleStart : Assigns script(s) to handle this module event
# module.OnPlayerDeath : Assigns script(s) to handle this module event
# module.OnPlayerDying : Assigns script(s) to handle this module event
# module.OnPlayerEquipItem : Assigns script(s) to handle this module event
# module.OnPlayerLevelUp : Assigns script(s) to handle this module event
# module.OnPlayerRest : Assigns script(s) to handle this module event
# module.OnPlayerUnEquipItem : Assigns script(s) to handle this module event
# module.OnPlayerRespawn : Assigns script(s) to handle this module event
# module.OnUnaquireItem : Assigns script(s) to handle this module event
# module.OnUserDefined : Assigns script(s) to handle this module event
# Title for the HIF.
Title : PRC
# Add the PRC pack version and specify at least 1.62 to install.
Version : 4.1.6
MinNWNVersion: 1.67
# ERF with the required areas.
erf : prc_consortium.erf
# Haks used by the prc pack.
#commented out since its not actually needed in a module and causing CEP conflicts.
# module.Hak : prc_include.hak
module.Hak : prc_2das.hak
module.Hak : prc_scripts.hak
module.Hak : prc_newspellbook.hak
module.Hak : prc_spells.hak
module.Hak : prc_epicspells.hak
module.Hak : prc_psionics.hak
module.Hak : prc_race.hak
module.Hak : prc_textures.hak
module.Hak : prc_misc.hak
module.Hak : prc_craft2das.hak
# Custom tlk used by the prc pack.
module.CustomTlk : prc_consortium.tlk
# Events that need to be wired up.
module.OnAcquireItem : prc_onaquire
module.OnActivateItem : prc_onactivate
module.OnClientEnter : prc_onenter
module.OnClientLeave : prc_onleave
module.OnCutsceneAbort : prc_oncutabort
module.OnHeartbeat : prc_onheartbeat
module.OnModuleLoad : prc_onmodload
module.OnPlayerChat : prc_onplayerchat
module.OnPlayerDeath : prc_ondeath
module.OnPlayerDying : prc_ondying
module.OnPlayerEquipItem : prc_equip
module.OnPlayerLevelUp : prc_levelup
module.OnPlayerRest : prc_rest
module.OnPlayerRespawn : prc_onrespawn
module.OnUnaquireItem : prc_onunaquire
module.OnPlayerUnequipItem : prc_unequip
module.OnUserDefined : prc_onuserdef
# Cache PRC scripts for better performance.
module.Cache : prc_onaquire
module.Cache : prc_onactivate
module.Cache : prc_onenter
module.Cache : prc_onleave
module.Cache : prc_oncutabort
module.Cache : prc_onheartbeat
module.Cache : prc_onmodload
module.Cache : prc_ondeath
module.Cache : prc_ondying
module.Cache : prc_equip
module.Cache : prc_levelup
module.Cache : prc_rest
module.Cache : prc_onplayerchat
module.Cache : prc_onrespawn
module.Cache : prc_onunaquire
module.Cache : prc_unequip
module.Cache : prc_onuserdef
module.Cache : prc_onhitcast
# Cache bioware summon AI scripts
module.Cache : nw_ch_ac5
module.Cache : nw_ch_ace
module.Cache : nw_ch_ac3
module.Cache : nw_ch_ac4
module.Cache : nw_ch_ac6
module.Cache : nw_ch_ac7
module.Cache : nw_ch_ac8
module.Cache : nw_ch_ac1
module.Cache : nw_ch_ac2
module.Cache : nw_ch_aca
module.Cache : nw_ch_summon_9
module.Cache : nw_ch_acb
module.Cache : nw_ch_acd

View File

@ -276,7 +276,7 @@ void SetupCharacterData(object oPC)
//Setup class info for onleveldown script //Setup class info for onleveldown script
int nCharData = ((GetClassByPosition(8, oPC) & 0xFF) << 56) | int nCharData = ((GetClassByPosition(8, oPC) & 0xFF) << 56) |
((GetClassByPosition(7, oPC) & 0xFF) << 48) | ((GetClassByPosition(7, oPC) & 0xFF) << 48) |
((GetClassByPosition(5, oPC) & 0xFF) << 40) | ((GetClassByPosition(6, oPC) & 0xFF) << 40) |
((GetClassByPosition(5, oPC) & 0xFF) << 32) | ((GetClassByPosition(5, oPC) & 0xFF) << 32) |
((GetClassByPosition(4, oPC) & 0xFF) << 24) | ((GetClassByPosition(4, oPC) & 0xFF) << 24) |
((GetClassByPosition(3, oPC) & 0xFF) << 16) | ((GetClassByPosition(3, oPC) & 0xFF) << 16) |
@ -382,7 +382,7 @@ void EvalPRCFeats(object oPC)
//Route the event to the appropriate class specific scripts //Route the event to the appropriate class specific scripts
int i, iData; int i, iData;
string sScript; string sScript;
for (i = 1; i <= 3; i++) for (i = 1; i <= 8; i++)
{ {
sScript = GetPersistantLocalString(oPC, "PRC_Class_Script"+IntToString(i)); sScript = GetPersistantLocalString(oPC, "PRC_Class_Script"+IntToString(i));
if(sScript != "") if(sScript != "")

View File

@ -34,6 +34,8 @@ int GetIsOnehandedSlashingWeapon(object oWeapon)
GetBaseItemType(oWeapon) == BASE_ITEM_KUKRI || GetBaseItemType(oWeapon) == BASE_ITEM_KUKRI ||
GetBaseItemType(oWeapon) == BASE_ITEM_SCIMITAR || GetBaseItemType(oWeapon) == BASE_ITEM_SCIMITAR ||
GetBaseItemType(oWeapon) == BASE_ITEM_BASTARDSWORD || GetBaseItemType(oWeapon) == BASE_ITEM_BASTARDSWORD ||
GetBaseItemType(oWeapon) == BASE_ITEM_SICKLE ||
GetBaseItemType(oWeapon) == BASE_ITEM_KATANA ||
GetBaseItemType(oWeapon) == BASE_ITEM_DWARVENWARAXE) GetBaseItemType(oWeapon) == BASE_ITEM_DWARVENWARAXE)
{ {
return TRUE; return TRUE;

Binary file not shown.

Binary file not shown.

View File

@ -5219,7 +5219,7 @@ Feared by other mages for their ability to cast spells while in armor and treate
REQUIREMENTS: REQUIREMENTS:
Spells: Able to cast 2nd level spells. Spells: Able to cast 2nd level arcane spells.
Feats: Weapon Proficiency: All Simple and Martial Weapon Proficiencies, Armor Proficiency: Light, Armor Proficiency: Medium, Armor Proficiency: Heavy. Feats: Weapon Proficiency: All Simple and Martial Weapon Proficiencies, Armor Proficiency: Light, Armor Proficiency: Medium, Armor Proficiency: Heavy.
Skills: Lore (6 ranks). Skills: Lore (6 ranks).
Base attack bonus: +4. Base attack bonus: +4.