forked from Jaysyn/PRC8
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.
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");
|
|
}
|
|
|