Amon_PRC8/_module/nss/staffsummon2.nss

120 lines
5.3 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 19:00:46 -04:00
#include "prc_class_const"
void main()
{
object oPC = GetItemActivator();
object oItemToTake1 = GetItemPossessedBy(oPC, "Emerald");
location lTarget = GetLocation(oPC);
effect eVis1 = EffectVisualEffect(VFX_IMP_DUST_EXPLOSION);
effect eVis2 = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE);
effect eVis3 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_PURPLE);
int iDruidic = GetLevelByClass(CLASS_TYPE_DRUID, oPC)
+ GetLevelByClass(CLASS_TYPE_SHAMAN, oPC);
if (iDruidic >= 30)
{
if(GetIsObjectValid(GetItemPossessedBy(oPC, "Emerald")))
{
if (GetItemStackSize(oItemToTake1) > 1)
{
SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1);
}
else
{
DestroyObject(oItemToTake1);
}
AssignCommand(OBJECT_SELF, PlaySound("as_an_lizrdhiss2"));
object oSpawn1 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper3", lTarget);
ChangeFaction(oSpawn1, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
object oSpawn2 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper3", lTarget);
ChangeFaction(oSpawn2, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
object oSpawn3 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper3", lTarget);
ChangeFaction(oSpawn3, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
object oSpawn4 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper3", lTarget);
ChangeFaction(oSpawn4, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
}
else
{
SendMessageToPC(oPC, "You must have an Emerald to use this function.");
}
}
else if (iDruidic >= 20)
{
if(GetIsObjectValid(GetItemPossessedBy(oPC, "Emerald")))
{
if (GetItemStackSize(oItemToTake1) > 1)
{
SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1);
}
else
{
DestroyObject(oItemToTake1);
}
AssignCommand(OBJECT_SELF, PlaySound("as_an_lizrdhiss2"));
object oSpawn1 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper2", lTarget);
ChangeFaction(oSpawn1, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
object oSpawn2 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper2", lTarget);
ChangeFaction(oSpawn2, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
object oSpawn3 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper2", lTarget);
ChangeFaction(oSpawn3, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
object oSpawn4 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper2", lTarget);
ChangeFaction(oSpawn4, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
}
else
{
SendMessageToPC(oPC, "You must have a Emerald to use this function.");
}
}
else if (iDruidic >= 10)
{
if(GetIsObjectValid(GetItemPossessedBy(oPC, "Emerald")))
{
if (GetItemStackSize(oItemToTake1) > 1)
{
SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1);
}
else
{
DestroyObject(oItemToTake1);
}
AssignCommand(OBJECT_SELF, PlaySound("as_an_lizrdhiss2"));
object oSpawn1 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper", lTarget);
ChangeFaction(oSpawn1, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
object oSpawn2 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper", lTarget);
ChangeFaction(oSpawn2, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
object oSpawn3 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper", lTarget);
ChangeFaction(oSpawn3, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
object oSpawn4 = CreateObject(OBJECT_TYPE_CREATURE, "staffviper", lTarget);
ChangeFaction(oSpawn4, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), lTarget, 1.0f);
}
else
{
SendMessageToPC(oPC, "You must have a Emerald to use this function.");
}
}
else
{
SendMessageToPC(oPC, "You must have an Emerald to use this function.");
}
}