RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
CombatWaypoint.java
1package com.osroyale.game.world.entity.mob.movement.waypoint;
2
3import com.osroyale.content.activity.Activity;
4import com.osroyale.content.activity.impl.kraken.KrakenActivity;
5import com.osroyale.game.world.entity.combat.attack.FightType;
6import com.osroyale.game.world.entity.mob.Mob;
7import com.osroyale.util.Utility;
8
29
30public class CombatWaypoint extends Waypoint {
31
32 public CombatWaypoint(Mob mob, Mob target) {
33 super(mob, target);
34 }
35
36 @Override
37 public void onDestination() {
38 mob.movement.reset();
39 }
40
41 @Override
42 protected boolean withinDistance() {
43 if (target.equals(mob.getCombat().getDefender())) {
44 return mob.isPlayer() && Activity.evaluate(mob.getPlayer(), it -> {
45 if (it instanceof KrakenActivity) {
46 Mob kraken = ((KrakenActivity) it).kraken;
47 return Utility.getDistance(mob, kraken) <= getRadius() && mob.getStrategy().withinDistance(mob, kraken);
48 }
49 return false;
50 }) || Utility.getDistance(mob, target) <= getRadius() && mob.getStrategy().withinDistance(mob, (Mob) target);
51 }
52 return super.withinDistance();
53 }
54
55 @Override
56 protected int getRadius() {
57 if (target.equals(mob.getCombat().getDefender())) {
58 FightType fightType = mob.getCombat().getFightType();
59 return mob.getStrategy().getAttackDistance(mob, fightType);
60 }
61 return 1;
62 }
63
64}