2025/05/16 Update

Expanded Warblade for epic progression.
Warblade's Aptitude Focus now works with all new weapons.
Expanded Knight of the Middle Circle for epic progression.
Added Swarm of Arrows to fighter bonus feat list.
Added Vile Martial Strike feats for all new weapons.
Added Sanctified Martial Strike feats for all new weapons.
Added missing iprp feats for Eagle Claw & Trident.
Bestow Power shouldn't work on the caster.
Spell Betrayal should only affect a target once per spell casting.
Sap is a Martial weapon.
Arcane Duelist's False Keenness now works with all new weapons.
Disciple of Dispater's Rusting Grasp now works on the appropriate new weapons.
Animate Object now works with all the new weapon types.
This commit is contained in:
Jaysyn904
2025-05-16 16:40:51 -04:00
parent 53c5a9789f
commit 95480e23dd
24 changed files with 3764 additions and 2785 deletions

View File

@@ -739,6 +739,38 @@ void PRCBonusDamage(object oTarget, object oCaster = OBJECT_SELF)
// Bonus damage to a spell for Spell Betrayal Ability
int SpellBetrayalDamage(object oTarget, object oCaster)
{
int iDam = 0;
// Combine caster and spell ID into a unique key
int nSpellId = PRCGetSpellId();
string sFlag = "BETRAYAL_" + ObjectToString(oCaster) + "_" + IntToString(nSpellId);
// Only apply once per spell cast from this caster
if (GetLocalInt(oTarget, sFlag))
return 0;
int ThrallLevel = GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_A, oCaster) +
GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_D, oCaster);
if (ThrallLevel >= 2)
{
if (GetIsDeniedDexBonusToAC(oTarget, oCaster, TRUE))
{
ThrallLevel /= 2;
iDam = d6(ThrallLevel);
// Mark target as affected for this spell instance by this caster
SetLocalInt(oTarget, sFlag, TRUE);
DelayCommand(2.5, DeleteLocalInt(oTarget, sFlag));
}
}
return iDam;
}
/* int SpellBetrayalDamage(object oTarget, object oCaster)
{
int iDam = 0;
int ThrallLevel = GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_A, oCaster) + GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_D, oCaster);
@@ -753,7 +785,7 @@ int SpellBetrayalDamage(object oTarget, object oCaster)
}
return iDam;
}
} */
// Bonus damage to a spell for Spellstrike Ability
int SpellStrikeDamage(object oTarget, object oCaster)