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.
88 lines
3.2 KiB
Plaintext
88 lines
3.2 KiB
Plaintext
/*:://////////////////////////////////////////////
|
||
//:: Spell Name Bigby's Grasping Hand
|
||
//:: Spell FileName PHS_S_BigbyGrasp
|
||
//:://////////////////////////////////////////////
|
||
//:: In Game Spell desctiption
|
||
//:://////////////////////////////////////////////
|
||
Evocation [Force]
|
||
Level: Sor/Wiz 7, Strength 7
|
||
Components: V, S, F/DF
|
||
Casting Time: 1 standard action
|
||
Range: Medium (20M)
|
||
Effect: Large hand
|
||
Duration: 1 round/level (D)
|
||
Saving Throw: None
|
||
Spell Resistance: Yes
|
||
|
||
This spell functions like interposing hand, except the hand can also grapple
|
||
one opponent that you select. The grasping hand gets one grapple attack per
|
||
round.
|
||
|
||
Its attack bonus to make contact equals your caster level + your
|
||
Intelligence, Wisdom, or Charisma modifier (for wizards, clerics, and
|
||
sorcerers, respectively), +10 for the hand’s Strength score (31), -1 for
|
||
being Large. Its grapple bonus is this same figure, except with a +4
|
||
modifier for being Large instead of -1. The hand holds but does not harm
|
||
creatures it grapples.
|
||
|
||
The grasping hand can also bull rush an opponent as forceful hand does, but
|
||
at a +16 bonus on the Strength check (+10 for Strength 31, +4 for being
|
||
Large, and a +2 bonus for charging, which it always gets), or interpose
|
||
itself as interposing hand does.
|
||
|
||
Clerics who cast this spell name it for their deities.
|
||
|
||
Arcane Focus: A leather glove.
|
||
//:://////////////////////////////////////////////
|
||
//:: Spell Effects Applied / Notes
|
||
//:://////////////////////////////////////////////
|
||
Grapple:
|
||
|
||
Use grapple function, need to attack if we didn't sucessfully hit and grapple
|
||
last time.
|
||
|
||
And we will stop them moving using Entangle, for now.
|
||
//:://////////////////////////////////////////////
|
||
//:: Created By: Jasperre
|
||
//::////////////////////////////////////////////*/
|
||
|
||
#include "PHS_INC_BIGBY"
|
||
|
||
void main()
|
||
{
|
||
// Spell Hook Check
|
||
if(!PHS_SpellHookCheck()) return;
|
||
|
||
// Declare Major Variables
|
||
object oCaster = OBJECT_SELF;
|
||
object oTarget = GetSpellTargetObject();
|
||
int nCasterLevel = PHS_GetCasterLevel();
|
||
int nMetaMagic = PHS_GetMetaMagicFeat();
|
||
int nSpellId = GetSpellId();
|
||
|
||
// Duration - 1 round/level
|
||
float fDuration = PHS_GetDuration(PHS_ROUNDS, nCasterLevel, nMetaMagic);
|
||
|
||
// Do interposing hand
|
||
if(nSpellId == PHS_SPELL_BIGBYS_GRASPING_HAND_INTERPOSING)
|
||
{
|
||
ApplyInterposingHand(oTarget, nSpellId, fDuration, oCaster);
|
||
}
|
||
// Do forceful hand
|
||
else if(nSpellId == PHS_SPELL_BIGBYS_GRASPING_HAND_FORCEFUL)
|
||
{
|
||
// +16 bonus to the forceful hand pushback.
|
||
ApplyForcefulHand(oTarget, 16, nSpellId, fDuration, oCaster);
|
||
}
|
||
// Do grasping hand
|
||
else if(nSpellId == PHS_SPELL_BIGBYS_GRASPING_HAND_GRASPING)
|
||
{
|
||
// Do the grasping hand.
|
||
// Attack bonus: Caster Level + Ability Bonus + 10 (STR) - 1 (Large).
|
||
// Grapple bonus: Caster Level + Ability Bonus + 10 (STR) + 4 (Large, grapple).
|
||
int nBonus = nCasterLevel + PHS_GetAppropriateAbilityBonus() + 10;
|
||
// We add 4 for grapple, -1 for attack.
|
||
ApplyGraspingHand(oTarget, nBonus - 1, nBonus + 4, nSpellId, fDuration, oCaster);
|
||
}
|
||
}
|