void main() { object oPC = GetItemActivator(); object oTarget = GetItemActivatedTarget(); location lLocation = GetLocation(oPC); effect eEffect1 = EffectVisualEffect(VFX_DUR_GLOW_RED); effect eEffect2 = EffectVisualEffect(VFX_IMP_HARM); if (GetLevelByClass(CLASS_TYPE_RANGER, oPC) >= 1) { if (GetTag(oTarget) == "Citrine" || GetTag(oTarget) == "Iolite" || GetTag(oTarget) == "Taulite" || GetTag(oTarget) == "Peridot") { if (GetTag(oTarget) == "Citrine") { ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect1, lLocation); DelayCommand(1.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect2, lLocation)); object oItemToTake1; oItemToTake1 = GetItemPossessedBy(oPC, GetTag(oTarget)); if (GetItemStackSize(oItemToTake1) > 1) { SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1); } else { DestroyObject(oItemToTake1); } } if (GetTag(oTarget) == "Iolite") { ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect1, lLocation); DelayCommand(1.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect2, lLocation)); object oItemToTake1; oItemToTake1 = GetItemPossessedBy(oPC, GetTag(oTarget)); if (GetItemStackSize(oItemToTake1) > 1) { SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1); } else { DestroyObject(oItemToTake1); } } if (GetTag(oTarget) == "Taulite") { ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect1, lLocation); DelayCommand(1.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect2, lLocation)); object oItemToTake1; oItemToTake1 = GetItemPossessedBy(oPC, GetTag(oTarget)); if (GetItemStackSize(oItemToTake1) > 1) { SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1); } else { DestroyObject(oItemToTake1); } } if (GetTag(oTarget) == "Peridot") { ExecuteScript("lootarrows", oPC); ExecuteScript("lootarrows", oPC); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect1, lLocation); DelayCommand(1.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect2, lLocation)); object oItemToTake1; oItemToTake1 = GetItemPossessedBy(oPC, GetTag(oTarget)); if (GetItemStackSize(oItemToTake1) > 1) { SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1); } else { DestroyObject(oItemToTake1); } } } else { SendMessageToPC(oPC, "Only Peridot, Taulite, Iolite, and Citrine work with the quiver."); } } else { SendMessageToPC(oPC, "Only a Ranger may use this object."); } }