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.
58 lines
2.0 KiB
Plaintext
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");
|
|
}
|
|
|