90 lines
2.8 KiB
Plaintext
90 lines
2.8 KiB
Plaintext
|
//::///////////////////////////////////////////////
|
||
|
//:: Animate Dead
|
||
|
//:: NW_S0_AnimDead.nss
|
||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||
|
//:://////////////////////////////////////////////
|
||
|
/*
|
||
|
Summons a powerful skeleton or zombie depending
|
||
|
on caster level.
|
||
|
*/
|
||
|
//:://////////////////////////////////////////////
|
||
|
//:: Created By: Preston Watamaniuk
|
||
|
//:: Created On: April 11, 2001
|
||
|
//:://////////////////////////////////////////////
|
||
|
|
||
|
#include "70_inc_spells"
|
||
|
#include "x2_inc_spellhook"
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
|
||
|
/*
|
||
|
Spellcast Hook Code
|
||
|
Added 2003-06-23 by GeorgZ
|
||
|
If you want to make changes to all spells,
|
||
|
check x2_inc_spellhook.nss to find out more
|
||
|
|
||
|
*/
|
||
|
|
||
|
if (!X2PreSpellCastCode())
|
||
|
{
|
||
|
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// End of Spell Cast Hook
|
||
|
|
||
|
|
||
|
//Declare major variables
|
||
|
spellsDeclareMajorVariables();
|
||
|
int nDuration = 24;
|
||
|
//effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD);
|
||
|
effect eSummon;
|
||
|
//Metamagic extension if needed
|
||
|
if (spell.Meta == METAMAGIC_EXTEND)
|
||
|
{
|
||
|
nDuration = nDuration * 2; //Duration is +100%
|
||
|
}
|
||
|
//Summon the appropriate creature based on the summoner level
|
||
|
if (spell.Level <= 5)
|
||
|
{
|
||
|
//Tyrant Fog Zombie
|
||
|
eSummon = EffectSummonCreature("NW_S_ZOMBTYRANT",VFX_FNF_SUMMON_UNDEAD);
|
||
|
}
|
||
|
else if ((spell.Level >= 6) && (spell.Level <= 9))
|
||
|
{
|
||
|
//Skeleton Warrior
|
||
|
eSummon = EffectSummonCreature("NW_S_SKELWARR",VFX_FNF_SUMMON_UNDEAD);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
//Skeleton Chieftain
|
||
|
eSummon = EffectSummonCreature("NW_S_SKELCHIEF",VFX_FNF_SUMMON_UNDEAD);
|
||
|
}
|
||
|
//Apply the summon visual and summon the two undead.
|
||
|
//ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetSpellTargetLocation());
|
||
|
|
||
|
//Apply better summons instead if a caster is a level 11 or better Pale Master and the spell is not cast from an item.
|
||
|
if ( GetLevelByClass(CLASS_TYPE_PALE_MASTER, OBJECT_SELF) > 29 )
|
||
|
{
|
||
|
switch(d3())
|
||
|
{
|
||
|
case 1: eSummon = EffectSummonCreature("s_skelhero2",VFX_FNF_SUMMON_UNDEAD);break;
|
||
|
case 2: eSummon = EffectSummonCreature("S_SKELMAGE",VFX_FNF_SUMMON_UNDEAD);break;
|
||
|
case 3: eSummon = EffectSummonCreature("S_SKELPRIEST",VFX_FNF_SUMMON_UNDEAD);break;
|
||
|
}
|
||
|
}
|
||
|
else if ( GetLevelByClass(CLASS_TYPE_PALE_MASTER, OBJECT_SELF) > 10 )
|
||
|
{
|
||
|
switch(d3())
|
||
|
{
|
||
|
case 1: eSummon = EffectSummonCreature("S_SKELHERO",VFX_FNF_SUMMON_UNDEAD);break;
|
||
|
case 2: eSummon = EffectSummonCreature("S_SKELMAGE",VFX_FNF_SUMMON_UNDEAD);break;
|
||
|
case 3: eSummon = EffectSummonCreature("S_SKELPRIEST",VFX_FNF_SUMMON_UNDEAD);break;
|
||
|
}
|
||
|
}
|
||
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, spell.Loc, HoursToSeconds(nDuration));
|
||
|
}
|
||
|
|
||
|
|