Files
2018-06-07 00:32:29 +01:00

67 lines
2.4 KiB
Java
Executable File

package script.npe;
import script.library.groundquests;
import script.library.healing;
import script.*;
public class bactapack extends script.base_script
{
public bactapack()
{
}
public static final string_id SID_ITEM_YOU_MUST_TARGET = new string_id("healing", "item_must_target");
public static final string_id SID_ITEM_ONLY_OTHERS = new string_id("healing", "item_only_on_others");
public static final string_id SID_ITEM_NO_NEED = new string_id("healing", "item_no_need");
public static final String ACTION_NAME = "bactaShot";
public int OnObjectMenuRequest(obj_id self, obj_id player, menu_info mi) throws InterruptedException
{
if (canManipulate(player, self, true, true, 15, true))
{
menu_info_data mid = mi.getMenuItemByType(menu_info_types.ITEM_USE);
if (mid != null)
{
mid.setServerNotify(true);
}
}
return SCRIPT_CONTINUE;
}
public int OnObjectMenuSelect(obj_id self, obj_id player, int item) throws InterruptedException
{
if (isDead(player) || isIncapacitated(player))
{
return SCRIPT_CONTINUE;
}
if (item == menu_info_types.ITEM_USE)
{
final obj_id target = getLookAtTarget(player);
if (target == null)
{
sendSystemMessage(player, SID_ITEM_YOU_MUST_TARGET);
return SCRIPT_CONTINUE;
}
if (target == player)
{
sendSystemMessage(player, SID_ITEM_ONLY_OTHERS);
return SCRIPT_CONTINUE;
}
if (!hasObjVar(target, "quest.questName"))
{
sendSystemMessage(player, SID_ITEM_NO_NEED);
return SCRIPT_CONTINUE;
}
String questName = getStringObjVar(target, "quest.questName");
if (!questName.equals("npe_medic") && !questName.equals("npe_medic2"))
{
sendSystemMessage(player, SID_ITEM_NO_NEED);
return SCRIPT_CONTINUE;
}
if (groundquests.questActionCompleted(player, target, ACTION_NAME))
{
decrementCount(self);
healing.doHealingAnimationAndEffect(player, target);
}
}
return SCRIPT_CONTINUE;
}
}