PRC8/nwn/nwnprc/trunk/newspellbook/tob_dvsp_ntgnle.nss
Jaysyn904 7307efab11 Changed UserType for ToB Maneuvers
Changed UserType for ToB Maneuvers.  Removed free Imp Combat Casting from ToB base classes.  Fixed typo in Arcane Trickster skill list. Fixed bad value in damagehitvisual.2da.  Fixed typos in ecl.2da. Fixed targeting bug with Profane Lifeleech. Started working on updated materials system.  Fixed overlong filenames in materialcomp.2da and prc_spells.2da.  Fixed typo in prc_effect_inc.nss.  Added Daylight Adaptation as iprp_feat.  Fixed issue where Karsite's couldn't use spell cast from magical items.  Added missing Reth Dekala entangling blade.  Added Light Fortification for Warforged.  Added Fortification for Reth Dekala.  Added moderate fortification for Warforged Charger.  Removed Imp. Fortification from races that shouldn't have it.  Fixed missing Monstrous marker feat on Yuan-Ti Pureblood.  Updated TLK.  Updated release archive.
2024-12-13 11:33:43 -05:00

66 lines
2.0 KiB
Plaintext

/*
----------------------------
Reth Dekala Entangling Blade
tob_dvsp_rthdkln
----------------
2024-12-05 07:55:55 by Jaysyn
*/ /** @file
Reth Dekala Entangling Blade
Devoted Spirit (Strike)
Level: Crusader 4
Prerequisite: One Devoted Spirit Maneuver
Initiation Action: 1 Standard Action
Range: Melee Attack
Target: One Creature
Duration: 1 round.
You hack into your foe's legs, forcing his movement to slow and his resolution to falter.
You make a single attack against an enemy. If this attack hits, you deal 2d6 extra damage, and your foe takes a 20 ft penalty to his movement speed.
*/
#include "tob_inc_move"
#include "tob_movehook"
// Function to handle attack and effects
void TOBAttack(object oTarget, object oInitiator)
{
effect eNone;
PerformAttack(oTarget, oInitiator, eNone, 0.0, 0, 0, 0, "Reth Dekala Hit", "Reth Dekala Miss");
if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack"))
{
// Apply 2d6 extra damage
int nBonusDamage = d6(2);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nBonusDamage, DAMAGE_TYPE_SLASHING), oTarget);
// Apply movement speed penalty and visual effect
effect eLink = EffectLinkEffects(EffectMovementSpeedDecrease(20), EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE_RED));
eLink = ExtraordinaryEffect(eLink);
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 6.0); // 6.0 seconds == 1 round
}
}
// Main function
void main()
{
if (!PreManeuverCastCode())
{
// If code within the PreManeuverCastCode (e.g., UMD) reports FALSE, do not run this maneuver
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));
}
}