Updated AMS marker feats. Removed arcane & divine marker feats. Updated Dread Necromancer for epic progression. Updated weapon baseitem models. Updated new weapons for crafting & npc equip. Updated prefix. Updated release archive.
68 lines
2.5 KiB
Plaintext
68 lines
2.5 KiB
Plaintext
//:://////////////////////////////////////////////
|
|
//:: FileName: "ss_ep_unseenwand"
|
|
/* Purpose: Unseen Wanderer - grants a player target the "Wander Unseen"
|
|
feat, which allows you to turn invisible/visible at will, permanently.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Boneshank
|
|
//:: Last Updated On: March 13, 2004
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_alterations"
|
|
#include "inc_epicspells"
|
|
//#include "x2_inc_spellhook"
|
|
#include "x0_i0_position"
|
|
|
|
void main()
|
|
{
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_ILLUSION);
|
|
|
|
if (!X2PreSpellCastCode())
|
|
{
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
return;
|
|
}
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
if (GetIsObjectValid(oTarget) && // Is the target valid?
|
|
!GetHasFeat(5028, oTarget) && // Does the target not already have the feat?
|
|
GetIsPC(oTarget)) // Is the target a player?
|
|
{
|
|
if (GetCanCastSpell(OBJECT_SELF, SPELL_EPIC_UNSEENW))
|
|
{
|
|
int nY;
|
|
effect eVis = EffectVisualEffect(VFX_IMP_AC_BONUS);
|
|
float fAngle, fDist, fOrient;
|
|
location lTarget = GetLocation(oTarget);
|
|
location lNew, lNew2;
|
|
float fDelay = 0.2;
|
|
for (nY = 20; nY > 0; nY--) // Where in perimeter.
|
|
{
|
|
fAngle = IntToFloat(nY * 18);
|
|
fDist = 1.1;
|
|
fOrient = fAngle;
|
|
lNew = GenerateNewLocationFromLocation
|
|
(lTarget, fDist, fAngle, fOrient);
|
|
fAngle += 180.0;
|
|
fOrient = fAngle;
|
|
lNew2 = GenerateNewLocationFromLocation
|
|
(lTarget, fDist, fAngle, fOrient);
|
|
DelayCommand(fDelay,
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lNew));
|
|
DelayCommand(fDelay,
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lNew2));
|
|
fDelay += 0.4;
|
|
}
|
|
DelayCommand(6.0, GiveFeat(oTarget, 428));
|
|
FloatingTextStringOnCreature("You have gained the ability " +
|
|
"to wander unseen at will!", oTarget, FALSE);
|
|
}
|
|
}
|
|
else
|
|
FloatingTextStringOnCreature("Spell failed - target already has this " +
|
|
"ability.", OBJECT_SELF, FALSE);
|
|
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
}
|
|
|