Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.script.nodes;
- import com.frc.frc_api.game.actions.Actions2;
- import com.frc.frc_api.game.time.FrcTimer;
- import com.frc.frc_api.game.util.CombatUtil;
- import com.frc.frc_api.game.util.PlayerUtil;
- import com.frc.frc_api.node_framework.my_nodes.ChildNode;
- import com.script.Constants;
- import org.tbot.methods.Time;
- import org.tbot.methods.tabs.Inventory;
- import org.tbot.util.Condition;
- import org.tbot.wrappers.NPC;
- /**
- * Created by Eric Vue on 9/30/2015.
- */
- public class Attack extends ChildNode {
- public static FrcTimer timer = new FrcTimer(10000);
- @Override
- public void execute() {
- if (PlayerUtil.getHealthPercent() <= Constants.eatAt) {
- eat();
- } else if (CombatUtil.isAttacking()) {
- combat();
- } else {
- attack();
- }
- }
- public void eat() {
- if (!Inventory.contains(Constants.PEACHES_ID) && Inventory.contains(Constants.BONES_TO_PEACHES_TAB_ID)) {
- if (Inventory.contains(Constants.BONES_ID)) {
- Inventory.getItemClosestToMouse(Constants.BONES_TO_PEACHES_TAB_ID).interact("Break");
- Time.sleepUntil(new Condition() {
- @Override
- public boolean check() {
- return Inventory.contains(Constants.PEACHES_ID);
- }
- }, 2000);
- }
- } else {
- Inventory.getItemClosestToMouse(Constants.PEACHES_ID).interact("Eat");
- }
- }
- public void combat() {
- timer.restart();
- }
- public void attack() {
- final NPC mob = CombatUtil.getNearestAttackableNpc(Constants.mobName);
- if (!mob.isDead() && Constants.killCount < Constants.killRange) {
- Actions2.interactIn(mob, "Attack", PlayerUtil.getLocation(), 50);
- Time.sleepUntil(new Condition() {
- @Override
- public boolean check() {
- return CombatUtil.isAttacking();
- }
- }, 2000);
- } else {
- Time.sleepUntil(new Condition() {
- @Override
- public boolean check() {
- return !CombatUtil.isAttacking();
- }
- }, 2000);
- }
- }
- @Override
- public boolean validate() {
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement