PRC8/nwn/nwnprc/trunk/newspellbook/tob_dmnd_dmndbld.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

60 lines
1.8 KiB
Plaintext

/*
----------------
Diamond Nightmare Blade
tob_dmnd_dmndbld
----------------
04/09/2007 by Tenjac
*/ /** @file
Diamond Nightmare Blade
Diamond Mind (Strike)
Level: Swordsage 8, Warblade 8
Prerequisite: Three Diamond Mind Maneuvers
Initiation Action: 1 Standard Action
Range: Melee Attack
Target: One Creature
With a moment's thought, you instantly perceive the deadliest place to strike your enemy
as you study her defences, note gaps in her armour, and read subtle but important clues
in how she carries herself or maintains her fighting stance.
You make a Concentration check against the target's AC. If you succeed, the target
takes quadruple normal damage. If you fail, you take a -2 penalty on the attack.
*/
#include "tob_inc_move"
#include "tob_movehook"
////#include "prc_alterations"
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)
{
effect eNone;
int nDC = GetDefenderAC(oTarget, oInitiator);
int nAB = -2;
if (GetIsSkillSuccessful(oInitiator, SKILL_CONCENTRATION, nDC))
{
nAB = 0;
SetLocalInt(oTarget, "NightmareBlade", 4);
}
if (GetLocalInt(oInitiator, "SupernalAttack")) nAB += 1;
DelayCommand(0.0, PerformAttack(oTarget, oInitiator, eNone, 0.0, nAB, 0, 0, "Diamond Nightmare Blade Hit", "Diamond Nightmare Blade Miss"));
DelayCommand(1.0, DeleteLocalInt(oTarget, "NightmareBlade"));
}
}