120 lines
5.3 KiB
Plaintext
120 lines
5.3 KiB
Plaintext
|
#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.");
|
||
|
}
|
||
|
}
|
||
|
|