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.
61 lines
2.4 KiB
Plaintext
61 lines
2.4 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Epic Spell: Twinfiend
|
|
//:: Author: Boneshank (Don Armstrong)
|
|
|
|
//#include "x2_inc_toollib"
|
|
#include "prc_alterations"
|
|
#include "inc_epicspells"
|
|
//#include "x2_inc_spellhook"
|
|
#include "nw_i0_generic"
|
|
|
|
void main()
|
|
{
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
|
|
|
if (!X2PreSpellCastCode())
|
|
{
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
return;
|
|
}
|
|
if (GetCanCastSpell(OBJECT_SELF, SPELL_EPIC_TWINF))
|
|
{
|
|
//Declare major variables
|
|
float fDuration = RoundsToSeconds(20);
|
|
object oFiend, oFiend2;
|
|
// effect eSummon;
|
|
effect eVis = EffectVisualEffect(460);
|
|
effect eVis2 = EffectVisualEffect(VFX_IMP_UNSUMMON);
|
|
if(GetPRCSwitch(PRC_MULTISUMMON))
|
|
{
|
|
string sSummon = "twinfiend_demon";
|
|
effect eSummon = EffectSummonCreature(sSummon, 460);
|
|
MultisummonPreSummon();
|
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon,
|
|
PRCGetSpellTargetLocation(), fDuration);
|
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon,
|
|
PRCGetSpellTargetLocation(), fDuration);
|
|
DelayCommand(0.5, AugmentSummonedCreature(sSummon));
|
|
}
|
|
else
|
|
{
|
|
DelayCommand(1.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, PRCGetSpellTargetLocation()));
|
|
oFiend = CreateObject(OBJECT_TYPE_CREATURE, "twinfiend_demon", PRCGetSpellTargetLocation());
|
|
oFiend2 = CreateObject(OBJECT_TYPE_CREATURE, "twinfiend_demon", PRCGetSpellTargetLocation());
|
|
SetMaxHenchmen(GetMaxHenchmen() + 2);
|
|
AddHenchman(OBJECT_SELF, oFiend);
|
|
AddHenchman(OBJECT_SELF, oFiend2);
|
|
SetMaxHenchmen(GetMaxHenchmen() - 2);
|
|
AssignCommand(oFiend, DetermineCombatRound());
|
|
AssignCommand(oFiend2, DetermineCombatRound());
|
|
DestroyObject(oFiend, fDuration);
|
|
DelayCommand(fDuration, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis2, GetLocation(oFiend)));
|
|
DestroyObject(oFiend2, fDuration);
|
|
DelayCommand(fDuration, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis2, GetLocation(oFiend2)));
|
|
}
|
|
}
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
}
|
|
|
|
|