Bugfixes & a new release.
Fixed: Paladins not getting Scythe Prof, Elves not getting Elven blade prof when they had martial group prof, Missing Practiced Spellcaster (KotW) feat, bugs in prc_inc_spells, spell targeting bugs (found more), FMM / Warmage marker feat error, JoWaW spellcasting, KotW tlk error in 1st lvl spell list. New release.
This commit is contained in:
@@ -2276,15 +2276,17 @@ const int FEAT_FOCUSED_SPELL_PENETRATION_EVOCATION = 3132;
|
||||
const int FEAT_FOCUSED_SPELL_PENETRATION_ILLUSION = 3133;
|
||||
const int FEAT_FOCUSED_SPELL_PENETRATION_NECROMANCY = 3134;
|
||||
const int FEAT_FOCUSED_SPELL_PENETRATION_TRANSMUTATION = 3135;
|
||||
|
||||
const int FEAT_DISCIPLE_OF_SUN = 3127;
|
||||
const int FEAT_EMPOWER_TURNING = 3126;
|
||||
const int FEAT_IMPROVED_TURNING = 3055;
|
||||
|
||||
const int FEAT_PRACTICED_SPELLCASTER_BARD = 3121;
|
||||
const int FEAT_PRACTICED_SPELLCASTER_CLERIC = 3122;
|
||||
const int FEAT_PRACTICED_SPELLCASTER_DRUID = 3123;
|
||||
const int FEAT_PRACTICED_SPELLCASTER_SORCERER = 3124;
|
||||
const int FEAT_PRACTICED_SPELLCASTER_WIZARD = 3125;
|
||||
|
||||
const int FEAT_PRACTICED_SPELLCASTER_KOTW = 3312;
|
||||
const int FEAT_PRACTICED_SPELLCASTER_PALADIN = 24086;
|
||||
const int FEAT_PRACTICED_SPELLCASTER_RANGER = 24087;
|
||||
const int FEAT_PRACTICED_SPELLCASTER_ASSASSIN = 24088;
|
||||
|
@@ -6666,6 +6666,7 @@ int PracticedSpellcasting(object oCaster, int iCastingClass, int iCastingLevels)
|
||||
case CLASS_TYPE_RANGER: nFeat = FEAT_PRACTICED_SPELLCASTER_RANGER; break;
|
||||
case CLASS_TYPE_ASSASSIN: nFeat = FEAT_PRACTICED_SPELLCASTER_ASSASSIN; break;
|
||||
case CLASS_TYPE_BLACKGUARD: nFeat = FEAT_PRACTICED_SPELLCASTER_BLACKGUARD; break;
|
||||
case CLASS_TYPE_KNIGHT_WEAVE: nFeat = FEAT_PRACTICED_SPELLCASTER_KOTW; break;
|
||||
case CLASS_TYPE_OCULAR: nFeat = FEAT_PRACTICED_SPELLCASTER_OCULAR; break;
|
||||
case CLASS_TYPE_HEXBLADE: nFeat = FEAT_PRACTICED_SPELLCASTER_HEXBLADE; break;
|
||||
case CLASS_TYPE_DUSKBLADE: nFeat = FEAT_PRACTICED_SPELLCASTER_DUSKBLADE; break;
|
||||
|
@@ -630,8 +630,8 @@ int GetLevelByTypeDivineFeats(object oCaster = OBJECT_SELF, int iSpellID = -1)
|
||||
iClass4Lev += PracticedSpellcasting(oCaster, iClass4, iClass4Lev);
|
||||
iClass5Lev += PracticedSpellcasting(oCaster, iClass5, iClass5Lev);
|
||||
iClass6Lev += PracticedSpellcasting(oCaster, iClass6, iClass6Lev);
|
||||
iClass7Lev += PracticedSpellcasting(oCaster, iClass1, iClass7Lev);
|
||||
iClass8Lev += PracticedSpellcasting(oCaster, iClass2, iClass8Lev);
|
||||
iClass7Lev += PracticedSpellcasting(oCaster, iClass7, iClass7Lev);
|
||||
iClass8Lev += PracticedSpellcasting(oCaster, iClass8, iClass8Lev);
|
||||
|
||||
if (!GetIsDivineClass(iClass1, oCaster)) iClass1Lev = 0;
|
||||
if (!GetIsDivineClass(iClass2, oCaster)) iClass2Lev = 0;
|
||||
@@ -640,7 +640,7 @@ int GetLevelByTypeDivineFeats(object oCaster = OBJECT_SELF, int iSpellID = -1)
|
||||
if (!GetIsDivineClass(iClass5, oCaster)) iClass5Lev = 0;
|
||||
if (!GetIsDivineClass(iClass6, oCaster)) iClass6Lev = 0;
|
||||
if (!GetIsDivineClass(iClass7, oCaster)) iClass7Lev = 0;
|
||||
if (!GetIsDivineClass(iClass8, oCaster)) iClass3Lev = 0;
|
||||
if (!GetIsDivineClass(iClass8, oCaster)) iClass8Lev = 0;
|
||||
|
||||
if (iClass1Lev > iBest) iBest = iClass1Lev;
|
||||
if (iClass2Lev > iBest) iBest = iClass2Lev;
|
||||
|
@@ -260,17 +260,20 @@ int IsProficient(object oPC, int nBaseItem)
|
||||
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
|
||||
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE:
|
||||
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_LIGHTBLADE, oPC)
|
||||
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
|
||||
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC)
|
||||
|| (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) && GetRacialType(oPC) == RACIAL_TYPE_ELF)
|
||||
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_LIGHTBLADE, oPC);
|
||||
|
||||
case BASE_ITEM_ELVEN_THINBLADE:
|
||||
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_THINBLADE, oPC)
|
||||
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
|
||||
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC)
|
||||
|| (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) && GetRacialType(oPC) == RACIAL_TYPE_ELF)
|
||||
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_THINBLADE, oPC);
|
||||
|
||||
case BASE_ITEM_ELVEN_COURTBLADE:
|
||||
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_COURTBLADE, oPC)
|
||||
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
|
||||
|
||||
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC)
|
||||
|| (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) && GetRacialType(oPC) == RACIAL_TYPE_ELF)
|
||||
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_COURTBLADE, oPC);
|
||||
|
||||
//special case: counts as martial for asherati
|
||||
case BASE_ITEM_EAGLE_CLAW:
|
||||
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC)
|
||||
@@ -571,6 +574,7 @@ int IsWeaponMartial(int nBaseItemType, object oPC)
|
||||
case BASE_ITEM_RAPIER:
|
||||
case BASE_ITEM_SCIMITAR:
|
||||
case BASE_ITEM_THROWINGAXE:
|
||||
case BASE_ITEM_SCYTHE:
|
||||
case BASE_ITEM_MAUL:
|
||||
case BASE_ITEM_FALCHION:
|
||||
case BASE_ITEM_HEAVY_PICK:
|
||||
|
Reference in New Issue
Block a user