forked from Jaysyn/PRC8
51 lines
1.7 KiB
Plaintext
51 lines
1.7 KiB
Plaintext
|
/*:://////////////////////////////////////////////
|
||
|
//:: Spell Name Expeditious Retreat
|
||
|
//:: Spell FileName PHS_S_ExpeRetreat
|
||
|
//:://////////////////////////////////////////////
|
||
|
//:: In Game Spell desctiption
|
||
|
//:://////////////////////////////////////////////
|
||
|
Personal, IE you. 1 min/level.
|
||
|
This spell increases your base land speed by 30 feet. In NwN, this could be
|
||
|
around 50% increase in movement speed.
|
||
|
//:://////////////////////////////////////////////
|
||
|
//:: Spell Effects Applied / Notes
|
||
|
//:://////////////////////////////////////////////
|
||
|
50% movement speed increase.
|
||
|
//:://////////////////////////////////////////////
|
||
|
//:: Created By: Jasperre
|
||
|
//::////////////////////////////////////////////*/
|
||
|
|
||
|
#include "PHS_INC_SPELLS"
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
// Spell hook check
|
||
|
if(!PHS_SpellHookCheck(PHS_SPELL_EXPEDITIOUS_RETREAT)) return;
|
||
|
|
||
|
// Declare major varibles
|
||
|
object oCaster = OBJECT_SELF;
|
||
|
object oTarget = GetSpellTargetObject(); // Should be OBJECT_SELF
|
||
|
int nCasterLevel = PHS_GetCasterLevel();
|
||
|
int nMetaMagic = PHS_GetMetaMagicFeat();
|
||
|
|
||
|
// Get duration in minutes
|
||
|
float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel, nMetaMagic);
|
||
|
|
||
|
// Declare effects
|
||
|
effect eVis = EffectVisualEffect(VFX_IMP_HASTE);
|
||
|
effect eSpeed = EffectMovementSpeedIncrease(50);
|
||
|
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||
|
|
||
|
// Link effects
|
||
|
effect eLink = EffectLinkEffects(eSpeed, eCessate);
|
||
|
|
||
|
// Remove all previous speed increases
|
||
|
PHS_RemoveSpecificEffect(EFFECT_TYPE_MOVEMENT_SPEED_INCREASE, oTarget);
|
||
|
|
||
|
// Signal spell cast at
|
||
|
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_EXPEDITIOUS_RETREAT, FALSE);
|
||
|
|
||
|
// Apply effects
|
||
|
PHS_ApplyDurationAndVFX(oTarget, eVis, eLink, fDuration);
|
||
|
}
|