Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
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);
|
||
}
|
||
}
|