Amon_PRC8/_module/nss/kryxstaff2.nss
Jaysyn904 c5cffc37af Initial Commit
Initial Commit [v1.01]
2025-04-03 19:00:46 -04:00

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