Expanded Suel Archanamach for epic progression

Expanded Suel Archanamach for epic progression.
This commit is contained in:
Jaysyn904
2025-06-04 09:36:25 -04:00
parent d0df69b5c7
commit 52d9bde980
7 changed files with 509 additions and 292 deletions

View File

@@ -754,15 +754,13 @@ const int FEAT_ABFOC_WORD_OF_CHANGING = 25213;
const int FEAT_ED_CORRUPTING_BLAST = 23521;
const int FEAT_ED_DAMAGE_REDUCTION = 23522;
const int FEAT_ED_FEARFUL_GLARE = 23523;
const int FEAT_ED_FEARFUL_GLARE = 23523;
const int FEAT_ED_FIENDISH_RESISTANCE = 23524;
const int FEAT_ED_HEALING_BLAST = 23525;
const int FEAT_ED_PROTECTIVE_AURA = 23526;
const int FEAT_ED_STRENGTH_OF_WILL = 23527;
const int FEAT_ED_WILD_FRENZY = 23528;
//:: Slayer of Domiel
const int FEAT_SOD_DEATH_TOUCH = 2282;
//:: Disciple of Asmodeus
const int FEAT_DOA_CHARM = 1961;
const int FEAT_DOA_COMMAND = 1962;
@@ -773,6 +771,15 @@ const int FEAT_DOA_GREATER_COMMAND = 1966;
const int FEAT_DOA_DREAD_MIGHT = 1967;
const int FEAT_DOA_LEARN_SECRETS = 1968;
//:: Slayer of Domiel
const int FEAT_SOD_DEATH_TOUCH = 2282;
//:: Suel Archanamach
const int FEAT_SUEL_TENACIOUS_SPELL = 2397;
const int FEAT_SUEL_IGNORE_SPELL_FAILURE = 2398;
const int FEAT_SUEL_EXTENDED_SPELL = 2399;
const int FEAT_SUEL_DISPELLING_STRIKE = 2400;
//Passive Feats
const int FEAT_ETERNAL_FREEDOM = 4298;
const int FEAT_INTUITIVE_ATTACK = 3166;

View File

@@ -2168,6 +2168,7 @@ void FeatSpecialUsePerDay(object oPC)
FeatUsePerDay(oPC, FEAT_COMMAND_SPIDERS, ABILITY_CHARISMA, 3);
FeatUsePerDay(oPC, FEAT_FM_FOREST_DOMINION, ABILITY_CHARISMA, 3);
FeatUsePerDay(oPC, FEAT_SOD_DEATH_TOUCH, -1, (GetLevelByClass(CLASS_TYPE_SLAYER_OF_DOMIEL, oPC)+4)/4);
FeatUsePerDay(oPC, FEAT_SUEL_DISPELLING_STRIKE, -1, (GetLevelByClass(CLASS_TYPE_SUEL_ARCHANAMACH, oPC) + 2) / 4);
FeatDiabolist(oPC);
FeatAlaghar(oPC);
ShadowShieldUses(oPC);

View File

@@ -296,15 +296,22 @@ int ArcaneSpellFailure(object oCaster, int nCastingClass, int nSpellLevel, int n
}
}
// Suel Archanamach gets the Ignore Spell Failure Chance feats
else if(nCastingClass == CLASS_TYPE_SUEL_ARCHANAMACH)
{
int nLvl = GetLevelByClass(CLASS_TYPE_SUEL_ARCHANAMACH, oCaster);
// Suel Archanamach gets the Ignore Spell Failure Chance feats
else if(nCastingClass == CLASS_TYPE_SUEL_ARCHANAMACH)
{
int nLvl = GetLevelByClass(CLASS_TYPE_SUEL_ARCHANAMACH, oCaster);
if (nLvl >= 10) nASF -= 20;
else if(nLvl >= 7) nASF -= 15;
else if(nLvl >= 4) nASF -= 10;
else if(nLvl >= 1) nASF -= 5;
}
if (nLvl >= 28) nASF -= 50;
else if(nLvl >= 25) nASF -= 45;
else if(nLvl >= 22) nASF -= 40;
else if(nLvl >= 19) nASF -= 35;
else if(nLvl >= 16) nASF -= 30;
else if(nLvl >= 13) nASF -= 25;
else if(nLvl >= 10) nASF -= 20;
else if(nLvl >= 7) nASF -= 15;
else if(nLvl >= 4) nASF -= 10;
else if(nLvl >= 1) nASF -= 5;
}
// Warmage can cast in light/medium armour and while using small shield.
else if(nCastingClass == CLASS_TYPE_WARMAGE)
{