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.
75 lines
2.7 KiB
Plaintext
75 lines
2.7 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Ethereal Jaunt
|
|
//:: Spell FileName PHS_S_EtheJaunt
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
Transmutation
|
|
Level: Clr 7, Sor/Wiz 7
|
|
Components: V, S
|
|
Casting Time: 1 standard action
|
|
Range: Personal
|
|
Target: You
|
|
Duration: 1 round/level (D)
|
|
Saving Throw: None
|
|
Spell Resistance: Yes (Harmless)
|
|
|
|
You become ethereal, along with your equipment. For the duration of the
|
|
spell, you are in a place called the Ethereal Plane, which overlaps the
|
|
normal, physical, Material Plane. When the spell expires, or you decide to
|
|
cancle it by attacking or casting any spell, you return to material existence.
|
|
|
|
An ethereal creature is invisible, insubstantial and can move through solid
|
|
creatures, and only magcal force and abjurations will an ethereal creature.
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
One-person (self) EffectEthereal().
|
|
|
|
Also has EffectCutseenGhost and immunity to some damage types. Of course,
|
|
when a spell is cast (any spell - its simpler that way) or attacks are
|
|
made, it cancles the ethrealness.
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "PHS_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell hook check.
|
|
if(!PHS_SpellHookCheck(PHS_SPELL_ETHEREAL_JAUNT)) return;
|
|
|
|
// Declare Major Variables
|
|
object oCaster = OBJECT_SELF;
|
|
object oTarget = GetSpellTargetObject();// Should be OBJECT_SELF
|
|
int nCasterLevel = PHS_GetCasterLevel();
|
|
int nMetaMagic = PHS_GetMetaMagicFeat();
|
|
|
|
// Make sure they are not immune to spells
|
|
if(PHS_TotalSpellImmunity(oTarget)) return;
|
|
|
|
// Determine duration in rounds
|
|
float fDuration = PHS_GetDuration(PHS_ROUNDS, nCasterLevel, nMetaMagic);
|
|
|
|
// Declare effefcts and link
|
|
effect eDur = EffectVisualEffect(VFX_DUR_ETHEREAL_VISAGE);
|
|
effect eEthereal = EffectEthereal();
|
|
effect eGhost = EffectCutsceneGhost();
|
|
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
|
|
|
// Link effects
|
|
effect eLink = EffectLinkEffects(eDur, eEthereal);
|
|
eLink = EffectLinkEffects(eLink, eGhost);
|
|
eLink = EffectLinkEffects(eLink, eCessate);
|
|
|
|
// Remove pervious castings of it
|
|
PHS_RemoveSpellEffectsFromTarget(PHS_SPELL_ETHEREAL_JAUNT, oTarget);
|
|
|
|
//Fire cast spell at event for the specified target
|
|
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_ETHEREAL_JAUNT, FALSE);
|
|
|
|
// Apply VNF and effect.
|
|
PHS_ApplyDuration(oTarget, eLink, fDuration);
|
|
}
|