2025/05/25 Update

Updated all ToB maneuvers with saves to respect Blade Meditation.
Added HasBladeMeditationForDiscipline()
Expanded Witchborn Binder for epic progression.
Fixed a few bugs around Vile Martial strike.
Echo Spell shouldn't target self or items.
Muckdweller should have a -6 STR.
Added new Vile Martial feats to GetVileFeats().
Grappling something now removes invisibility.
Started on Power Attack NUI.
Starmantle shouldn't stack.
Factotum & Shadow Thief of Amn require UMD checks for scroll casting.
This commit is contained in:
Jaysyn904
2025-05-25 16:16:36 -04:00
parent 41e2f2b91c
commit 8a034b0da0
76 changed files with 3280 additions and 1090 deletions

View File

@@ -27,25 +27,32 @@ Dexterity damage and the speed penalty.
void TOBAttack(object oTarget, object oInitiator)
{
effect eNone;
int nBonus = TOBSituationalAttackBonuses(oInitiator, DISCIPLINE_TIGER_CLAW);
PerformAttack(oTarget, oInitiator, eNone, 0.0, nBonus, 0, 0, "Hamstring Attack Hit", "Hamstring Attack Miss");
if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack"))
{
int nDexDam = d8(1);
effect eSlow = EffectMovementSpeedDecrease(33);
//Save
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, (17 + GetAbilityModifier(ABILITY_STRENGTH, oInitiator)), SAVING_THROW_TYPE_NONE))
{
nDexDam = nDexDam/2;
eSlow = EffectMovementSpeedDecrease(17);
}
ApplyAbilityDamage(oTarget, ABILITY_DEXTERITY, nDexDam, DURATION_TYPE_PERMANENT);
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSlow, oTarget, TurnsToSeconds(1));
}
effect eNone;
int nDC = 17 + GetAbilityModifier(ABILITY_STRENGTH, oInitiator);
int nBladeMed = HasBladeMeditationForDiscipline(oInitiator, GetDisciplineByManeuver(PRCGetSpellId()));;
if (nBladeMed)
{
nDC += 1;
}
int nBonus = TOBSituationalAttackBonuses(oInitiator, DISCIPLINE_TIGER_CLAW);
PerformAttack(oTarget, oInitiator, eNone, 0.0, nBonus, 0, 0, "Hamstring Attack Hit", "Hamstring Attack Miss");
if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack"))
{
int nDexDam = d8(1);
effect eSlow = EffectMovementSpeedDecrease(33);
//Save
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NONE))
{
nDexDam = nDexDam/2;
eSlow = EffectMovementSpeedDecrease(17);
}
ApplyAbilityDamage(oTarget, ABILITY_DEXTERITY, nDexDam, DURATION_TYPE_PERMANENT);
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSlow, oTarget, TurnsToSeconds(1));
}
}
void main()