Further file organization
Further file organization
This commit is contained in:
49
nwn/nwnprc/trunk/smp/phs_s_overldflia.nss
Normal file
49
nwn/nwnprc/trunk/smp/phs_s_overldflia.nss
Normal file
@@ -0,0 +1,49 @@
|
||||
/*:://////////////////////////////////////////////
|
||||
//:: Spell Name Overland Flight - Fly
|
||||
//:: Spell FileName PHS_S_OverldFliA
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Spell Effects Applied / Notes
|
||||
//:://////////////////////////////////////////////
|
||||
As Fly, except a 40M range, and only targetable on self.
|
||||
|
||||
Fairly simple. Uses a similar "Fly" thing, but a seperate power on the
|
||||
class item, as it is a longer range.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Jasperre
|
||||
//::////////////////////////////////////////////*/
|
||||
|
||||
#include "PHS_INC_SPELLS"
|
||||
|
||||
void main()
|
||||
{
|
||||
// Declare major variables
|
||||
object oCaster = OBJECT_SELF;
|
||||
location lTarget = GetSpellTargetLocation();
|
||||
location lCaster = GetLocation(oCaster);
|
||||
object oArea = GetArea(oCaster);
|
||||
|
||||
// Duration takes 1 round, 6 seconds, plus Distance/10 to fly there.
|
||||
float fDuration = 6.0 + GetDistanceBetweenLocations(lTarget, lCaster) / 10;
|
||||
|
||||
// Declare effects
|
||||
effect eDur = EffectDisappearAppear(lTarget, 1);
|
||||
|
||||
// Must have the effects of any of the flying spells
|
||||
if(!GetHasSpellEffect(PHS_SPELL_OVERLAND_FLIGHT, oCaster))
|
||||
{
|
||||
FloatingTextStringOnCreature("*You cannot fly using this without overland flight cast on you*", oCaster, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
// Make sure we can teleport
|
||||
if(!PHS_CannotTeleport(oCaster, lTarget))
|
||||
{
|
||||
// Must be outdoors not underground
|
||||
if(GetIsAreaAboveGround(oArea) == AREA_ABOVEGROUND &&
|
||||
GetIsAreaInterior(oArea) == FALSE)
|
||||
{
|
||||
// Jump to the target location with visual effects
|
||||
PHS_ApplyDuration(oCaster, eDur, fDuration);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user