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.
63 lines
2.3 KiB
Plaintext
63 lines
2.3 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Antiplant Shell
|
|
//:: Spell FileName PHS_S_AntiPlntS
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
Casting Time: 1 standard action
|
|
Range: 3.3 M.
|
|
Area: 3.3-M.-radius emanation, centered on you
|
|
Duration: 10 min./level (D)
|
|
Saving Throw: None
|
|
Spell Resistance: Yes
|
|
|
|
The antiplant shell spell creates an invisible, mobile barrier that keeps
|
|
all creatures within the shell protected from attacks by plant creatures or
|
|
animated plants. As with many abjuration spells, forcing the barrier against
|
|
creatures that the spell keeps at bay strains and collapses the field.
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
It is a mobile barrier, with a special AOE.
|
|
|
|
Basically, if the caster is doing an ACTION_TYPE_MOVE_TO_POINT and someone
|
|
activates the OnEnter script, that creature makes the barrier collapse.
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "PHS_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell Hook Check.
|
|
if(!PHS_SpellHookCheck()) return;
|
|
|
|
// Declare major variables
|
|
object oTarget = GetSpellTargetObject();// Should be OBJECT_SELF.
|
|
object oCaster = OBJECT_SELF;
|
|
int nCasterLevel = PHS_GetCasterLevel();
|
|
int nMetaMagic = PHS_GetMetaMagicFeat();
|
|
|
|
// Make sure they are not immune to spells
|
|
if(PHS_TotalSpellImmunity(oTarget)) return;
|
|
|
|
// Duration in 10 minutes/level
|
|
float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel * 10, nMetaMagic);
|
|
|
|
// Declare effects - only an enter script.
|
|
// - Use scripts defined in the 2da.
|
|
effect eMob = EffectAreaOfEffect(PHS_AOE_MOB_ANTIPLANT_SHELL);
|
|
|
|
// Remove previous effects
|
|
PHS_RemoveSpellEffectsFromTarget(PHS_SPELL_ANTIPLANT_SHELL, oTarget);
|
|
|
|
// Set local integer so that the first ones will not be affected, which
|
|
// is removed after 1.0 seconds.
|
|
SetLocalInt(oTarget, PHS_MOVING_BARRIER_START, TRUE);
|
|
DelayCommand(1.0, DeleteLocalInt(oTarget, PHS_MOVING_BARRIER_START));
|
|
|
|
// Apply effects
|
|
PHS_ApplyDuration(oTarget, eMob, fDuration);
|
|
}
|