Files
PRC8/nwn/nwnprc/trunk/newspellbook/tob_etbl_guidest.nss
Jaysyn904 e0e5473314 2025/11/30 Update
Moved PRC8 notes into DevNotes.
Updated Eternal Blade TLK to explain abilities better.
Updated Werewolf to use "monk" gloves when they exist.
Added PRC switch to allow Wildshapes to always merge the arms slot.
Clicking on a spell effect now opens the spell effect NUI. (@Rakiov))
Added prc_onplayergui event script for spell effect handling. (@Rakiov)
Added prc_nui_sd_event and prc_nui_dur_view to handle displaying spell durations. (@Rakiov)
Corrected typo in switch name for PRC_CRAFT_POISON_USE_INGREDIENTS
Allowed mindblade to work with Vow of Poverty.
Eternal Blade - Island in TIme now has a VFX, looks slightly better.
Eternal Blade - Guided Strike now functions.
Time Stands Still now has an impact VFX.
Added optional PRC_ALLOWED_TO_REMOVE_FRIENDLY_SPELLS and PRC_ALLOWED_TO_SEE_HOSTILE_SPELLS switches for the spell effect view window.
2025-11-30 21:53:24 -05:00

57 lines
1.6 KiB
Plaintext

/*
----------------
Guided Strike
tob_etbl_guidestr.nss
----------------
11 MAR 09 by GC
*/ /** @file
Guided Strike
Your blade guide assesses your enemies, seeking out weak
points in their armor and offfering you advice on where
and how to strike. Your guide grants you advice that can
render even the most daunting foe impotent.
For the rest of your turn, you automatically overcome
your opponent's damage reduction, if any.
You can use this ability only while you have
access to your blade guide.
*/
#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();
// Blade guide check
if(GetLocalInt(oInitiator, "ETBL_BladeGuideDead"))
{
FloatingTextStringOnCreature("*Cannot use ability without blade guide*", oInitiator, FALSE);
return;
}
if(!TakeSwiftAction(oInitiator)) return;
struct maneuver move = EvaluateManeuver(oInitiator, oTarget, TRUE);
effect eImp = EffectVisualEffect(VFX_COM_HIT_SONIC);
if(move.bCanManeuver)
{
SetLocalInt(oInitiator, "MoveIgnoreDR", TRUE);
DelayCommand(0.0, PerformAttackRound(oTarget, oInitiator, eImp, 0.0, 0, 0, 0, FALSE, "", "", FALSE, FALSE, TRUE));
// Cleanup
DelayCommand(3.0, DeleteLocalInt(oInitiator, "MoveIgnoreDR"));
}
}