PRC8/nwn/nwnprc/trunk/newspellbook/tob_stdr_irmtstr.nss
Jaysyn904 8a034b0da0 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.
2025-05-25 16:16:36 -04:00

76 lines
2.5 KiB
Plaintext

//////////////////////////////////////////////////
// Irresistible Mountain Strike
// tob_stdr_irmtstr.nss
// Tenjac 9/12/07
//////////////////////////////////////////////////
/** @file Irresistable Mountain Strike
Stone Dragon (Strike)
Level: Crusader 6, swordsage 6, warblade 6
Initiation Action: 1 standard action
Range: Melee attack
Target: One creature
Duration: 1 round
Saving Throw: Fortitude partial
You slam your weapon into your foe with irresistable force. He can barely move as he struggles
to marshal his defenses against you.
Your mighty attack causes your opponent to stagger aimlessly for a few key moments, leaving
him unable to act fully on his next turn.
As part of this maneuver, you make a single melee attack. This asstack deals an extra 4d6
points of damage. A creature hit by this strike must also make a successful Fortitude save
(DC 16 + your Str modifier) or be unable to take a standard action for 1 round. It can
otherwise act as normal. A creature that successfully saves still takes the extra damage.
This maneuver functions only against opponents standing on the ground. A flying creature or
a levitating target need not save against the action loss effect, but still takes the extra
damage.
*/
#include "tob_inc_move"
#include "tob_movehook"
//#include "prc_alterations"
void TOBAttack(object oTarget, object oInitiator)
{
effect eNone;
PerformAttack(oTarget, oInitiator, eNone, 0.0, 0, d6(4), 0, "Iron Bones Hit", "Iron Bones Miss");
if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack"))
{
//Save
int nDC = 16 + GetAbilityModifier(ABILITY_STRENGTH, oInitiator);
int nBladeMed = HasBladeMeditationForDiscipline(oInitiator, GetDisciplineByManeuver(PRCGetSpellId()));;
if (nBladeMed)
{
nDC += 1;
}
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NONE, oInitiator, 1.0))
{
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectDazed(), oTarget, RoundsToSeconds(1));
}
}
}
void main()
{
if (!PreManeuverCastCode())
{
// If code within the PreManeuverCastCode (i.e. UMD) reports FALSE, do not run this spell
return;
}
// End of Spell Cast Hook
object oInitiator = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
struct maneuver move = EvaluateManeuver(oInitiator, oTarget);
if(move.bCanManeuver)
{
DelayCommand(0.0, TOBAttack(oTarget, oInitiator));
}
}