#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."); } } }