74 lines
2.8 KiB
Plaintext
74 lines
2.8 KiB
Plaintext
#include "prc_class_const"
|
|
|
|
void main()
|
|
{
|
|
|
|
object oPC = GetItemActivator();
|
|
object oItemToTake1 = GetItemPossessedBy(oPC, "Amethyst");
|
|
location lLocation = 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 iArcane = GetLevelByClass(CLASS_TYPE_WIZARD, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SORCERER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_BINDER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_TRUENAMER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_WARLOCK, oPC);
|
|
|
|
if (iArcane >= 10)
|
|
{
|
|
if(GetIsObjectValid(GetItemPossessedBy(oPC, "Amethyst")))
|
|
{
|
|
if (GetItemStackSize(oItemToTake1) > 1)
|
|
{
|
|
SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1);
|
|
}
|
|
|
|
else if (GetItemStackSize(oItemToTake1) == 1)
|
|
{
|
|
DestroyObject(oItemToTake1);
|
|
}
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis1, oPC);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oPC);
|
|
|
|
object oTarget=GetFirstFactionMember(oPC, FALSE);
|
|
|
|
while (GetIsObjectValid(oTarget))
|
|
{
|
|
if ((GetHitDice(oTarget) >= 20))
|
|
{
|
|
AssignCommand(oTarget, ClearAllActions());
|
|
AssignCommand(oTarget, ActionJumpToLocation(lLocation));
|
|
oTarget=GetNextFactionMember(oPC, FALSE);
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oTarget, "You must be 20 seasons to be called by Kryx's Staff.");
|
|
oTarget=GetNextFactionMember(oPC, FALSE);
|
|
}
|
|
if (GetIsObjectValid(GetHenchman(oTarget)) == TRUE)
|
|
{
|
|
if(GetTag(GetHenchman(oTarget)) == "AryunOx")
|
|
{
|
|
object oHench = (GetHenchman(oTarget));
|
|
ExecuteScript("kill_ox", oHench);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, "You must have an Amethyst to use this function.");
|
|
}
|
|
|
|
}
|
|
}
|