PRC8/nwn/trunk/smp/phs_s_entangle.nss
Jaysyn904 5914ed2ab5 Updated Release Archive
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.
2023-08-22 10:00:21 -04:00

60 lines
2.2 KiB
Plaintext

/*:://////////////////////////////////////////////
//:: Spell Name Entangle
//:: Spell FileName PHS_S_Entangle
//:://////////////////////////////////////////////
//:: In Game Spell desctiption
//:://////////////////////////////////////////////
Transmutation
Level: Drd 1, Plant 1, Rgr 1
Components: V, S, DF
Casting Time: 1 standard action
Range: Long (40M)
Area: Plants in a 13.33-M.-radius spread
Duration: 1 min./level (D)
Saving Throw: Reflex partial, Strength check; see text
Spell Resistance: No
Grasses, weeds, bushes, and even trees wrap, twist, and entwine about
creatures in the area or those that enter the area, holding them fast and
causing them to become entangled. If the area contains no plants, they may
spring up from the ground and entangle creatures anyway. The creature can
break free and move half its normal speed by making a DC 20 Strength check.
A creature that succeeds on a Reflex save is not entangled but can still
move at only half speed through the area. Each round on your turn, the
plants once again attempt to entangle all creatures that have avoided or
escaped entanglement.
//:://////////////////////////////////////////////
//:: Spell Effects Applied / Notes
//:://////////////////////////////////////////////
No SR, noting that.
On Heartbeat will do reflex saves to apply EffectEntangle, for a permament
duration.
On Heartbeat will do a STR check if they are already entangled, to remove it.
On Enter applies slow effect. On Exit should remove all effects.
//:://////////////////////////////////////////////
//:: Created By: Jasperre
//::////////////////////////////////////////////*/
#include "PHS_INC_SPELLS"
void main()
{
// Spell hook check.
if(!PHS_SpellHookCheck(PHS_SPELL_ENTANGLE)) return;
// Declare major variables
location lTarget = GetSpellTargetLocation();
int nCasterLevel = PHS_GetCasterLevel();
int nMetaMagic = PHS_GetMetaMagicFeat();
// Duration in minutes
float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel, nMetaMagic);
// Declare effects
effect eAOE = EffectAreaOfEffect(PHS_AOE_PER_ENTANGLE);
// Apply effects
PHS_ApplyLocationDuration(lTarget, eAOE, fDuration);
}