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.
46 lines
1.4 KiB
Plaintext
46 lines
1.4 KiB
Plaintext
/*
|
|
14/02/19 by Stratovarius
|
|
|
|
Shadow Evocation
|
|
|
|
Initiate, Dark Reflections
|
|
Level/School: 4th/Illusion (Shadow)
|
|
|
|
This mystery can mimic an evocation spell of lower than 5th level.
|
|
*/
|
|
|
|
#include "shd_inc_shdfunc"
|
|
#include "shd_mysthook"
|
|
#include "inc_dynconv"
|
|
|
|
void main()
|
|
{
|
|
object oShadow = OBJECT_SELF;
|
|
int nMyst = PRCGetSpellId();
|
|
|
|
if (nMyst == MYST_SHADOW_EVOCATION || nMyst == MYST_GREATER_SHADOW_EVO)
|
|
{
|
|
if(!ShadPreMystCastCode()) return;
|
|
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
struct mystery myst = EvaluateMystery(oShadow, oTarget, METASHADOW_NONE);
|
|
|
|
if(myst.bCanMyst)
|
|
{
|
|
int nSpellId = GetLocalInt(oShadow, "ShadowEvocation");
|
|
if (nSpellId > 0)
|
|
{
|
|
SetLocalInt(oShadow, "ShadowEvoking", nMyst);
|
|
AssignCommand(oShadow, ActionCastSpell(nSpellId, myst.nShadowcasterLevel, 0, GetShadowcasterDC(oShadow)));
|
|
DelayCommand(1.0, DeleteLocalInt(oShadow, "ShadowEvoking"));
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AssignCommand(oShadow, ClearAllActions(TRUE));
|
|
SetLocalInt(oShadow, "ShadowEvoMax", 4);
|
|
if (nMyst == MYST_GREATER_SHADOW_EVO_CONV) SetLocalInt(oShadow, "ShadowEvoMax", 6);
|
|
StartDynamicConversation("shd_myst_evoconv", oShadow, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oShadow);
|
|
}
|
|
} |