forked from Jaysyn/PRC8
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<6E>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);
|
|||
|
}
|
|||
|
}
|