PRC8/nwn/nwnprc/trunk/epicspellscripts/ss_ep_continreun.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
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.
2024-02-11 14:01:05 -05:00

58 lines
2.0 KiB
Plaintext

//:://////////////////////////////////////////////
//:: FileName: "ss_ep_continreun"
/* Purpose: Contingent Reunion - upon casting this at a target, the caster
must choose a condition which will later trigger the teleportation to
the target.
*/
//:://////////////////////////////////////////////
//:: Created By: Boneshank
//:: Last Updated On: March 12, 2004
//:://////////////////////////////////////////////
#include "prc_alterations"
#include "inc_epicspells"
//#include "x2_inc_spellhook"
void main()
{
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_TRANSMUTATION);
if (!X2PreSpellCastCode())
{
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
return;
}
if (GetCanCastSpell(OBJECT_SELF, SPELL_EPIC_CON_REU))
{
// Is the target a place, creature, or object?
object oTarget = PRCGetSpellTargetObject();
location lTarget = PRCGetSpellTargetLocation();
effect eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_20);
if (oTarget != OBJECT_INVALID)
{
if (oTarget == OBJECT_SELF) // If target is self, becomes location
{
SetLocalLocation(OBJECT_SELF, "lSpellTarget", lTarget);
SetLocalObject(OBJECT_SELF, "oSpellTarget", OBJECT_INVALID);
}
else
{
SetLocalObject(OBJECT_SELF, "oSpellTarget", oTarget);
if (GetObjectType(oTarget) == OBJECT_TYPE_CREATURE)
SetLocalInt(OBJECT_SELF, "nMyTargetIsACreature", TRUE);
}
}
else
{
SetLocalLocation(OBJECT_SELF, "lSpellTarget", lTarget);
SetLocalObject(OBJECT_SELF, "oSpellTarget", OBJECT_INVALID);
}
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lTarget);
AssignCommand(OBJECT_SELF, ActionStartConversation(OBJECT_SELF,
"ss_cont_reunion", TRUE, FALSE));
}
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
}