Further file organization
Further file organization
This commit is contained in:
95
nwn/nwnprc/trunk/newspellbook/tob_tgcw_ferdbl.nss
Normal file
95
nwn/nwnprc/trunk/newspellbook/tob_tgcw_ferdbl.nss
Normal file
@@ -0,0 +1,95 @@
|
||||
//////////////////////////////////////////////////
|
||||
// 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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user