PRC8/nwn/nwnprc/trunk/newspellbook/tob_tgcw_ferdbl.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

95 lines
3.8 KiB
Plaintext

//////////////////////////////////////////////////
// Feral Death Blow
// tob_tgcw_ferdbl.nss
// Tenjac 10/5/07
//////////////////////////////////////////////////
/** @file Feral Death Blow
Tiger Claw (Strike)
Level: Swordsage 9, warblade 9
Prerequisite: Four Tiger Claw maneuvers
Initiation Action: 1 full round action
Range: Melee attack
Target: One creature
Saving Throw: Fortitude partial
With a pirmal howl, you leap into the air and land on your opponent, hacking and clawing at his neck.
You leap upon your opponent, rending and tearing with your weapons in an attempt to kill him
with a brutally overwhelming assault. You grab onto your foe as you slash and hack at his
neck, face, and other vulnerable areas.
To use this maneuver, you must be adjacent to your intended target. As part of this maneuver
make a Jump check with a DC equal to your opponent's AC. If the check succeeds, you can then
make a single melee attack against your foe, also as part of this maneuver. The target is
considered flat-footed against this attack. If your attack deals damage, your target must
attempt a Fortitude save (DC19 + your Str modifier). If this save fails, your target is
instantly slain (his hit points drop to -10). If the save is successful, you deal an extra
20d6 points of damage to the target in addition to your normal weapon damage. Creatures immune
to critical hits are immune to the death effect of this strike.
If your Jump check fails, you can make a singe attack normally. The maneuver is still considered
expended.
*/
#include "tob_inc_move"
#include "tob_movehook"
#include "prc_inc_combmove"
void TOBAttack(object oTarget, object oInitiator)
{
effect eNone = EffectVisualEffect(VFX_COM_BLOOD_CRT_RED);
object oWeap = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oInitiator);
int nHP = GetCurrentHitPoints(oTarget);
int nBonus = TOBSituationalAttackBonuses(oInitiator, DISCIPLINE_TIGER_CLAW);
PerformAttack(oTarget, oInitiator, eNone, 0.0, nBonus, 0, 0, "Feral Death Blow Hit", "Feral Death Blow Miss");
if(GetCurrentHitPoints(oTarget) < nHP)
{
//Save
int nDC = 19 + GetAbilityModifier(ABILITY_STRENGTH, oInitiator);
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_DEATH) && !GetIsImmune(oTarget, IMMUNITY_TYPE_CRITICAL_HIT))
{
DeathlessFrenzyCheck(oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_CHUNK_RED_MEDIUM), oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, SupernaturalEffect(EffectDeath(TRUE)), oTarget);
}
else
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(d6(20), GetWeaponDamageType(oWeap)), oTarget);
}
}
}
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);
AssignCommand(oTarget, ClearAllActions(TRUE));
int nArmor = GetAC(oTarget);
effect eNone;
if(move.bCanManeuver)
{
if(GetIsSkillSuccessful(oInitiator, SKILL_JUMP, nArmor))
{
DelayCommand(0.0, TOBAttack(oTarget, oInitiator));
}
else
DelayCommand(0.0, PerformAttack(oTarget, oInitiator, eNone, 0.0, 0, 0, 0, "Hit", "Miss"));
DelayCommand(0.1, TigerBlooded(oInitiator, oTarget));
}
}