import com.runehive.content.activity.Activity;
import com.runehive.content.activity.ActivityType;
import com.runehive.content.wintertodt.Wintertodt;
import com.runehive.fs.cache.decoder.AnimationDefinition;
import com.runehive.fs.cache.decoder.AnimationDefinitionDecoder;
import com.runehive.game.Animation;
import com.runehive.game.Graphic;
import com.runehive.game.action.ActionManager;
import com.runehive.game.task.impl.ForceMovementTask;
import com.runehive.game.world.Interactable;
import com.runehive.game.world.World;
import com.runehive.game.world.entity.Entity;
import com.runehive.game.world.entity.EntityType;
import com.runehive.game.world.entity.combat.Combat;
import com.runehive.game.world.entity.combat.CombatUtil;
import com.runehive.game.world.entity.combat.PoisonType;
import com.runehive.game.world.entity.combat.attack.listener.CombatListener;
import com.runehive.game.world.entity.combat.attack.listener.CombatListenerManager;
import com.runehive.game.world.entity.combat.effect.CombatEffectType;
import com.runehive.game.world.entity.combat.hit.Hit;
import com.runehive.game.world.entity.combat.strategy.CombatStrategy;
import com.runehive.game.world.entity.combat.strategy.npc.NpcMeleeStrategy;
import com.runehive.game.world.entity.mob.data.LockType;
import com.runehive.game.world.entity.mob.movement.Movement;
import com.runehive.game.world.entity.mob.movement.waypoint.CombatWaypoint;
import com.runehive.game.world.entity.mob.movement.waypoint.FollowWaypoint;
import com.runehive.game.world.entity.mob.movement.waypoint.WalkToWaypoint;
import com.runehive.game.world.entity.mob.movement.waypoint.Waypoint;
import com.runehive.game.world.entity.mob.npc.Npc;
import com.runehive.game.world.entity.mob.npc.NpcAssistant;
import com.runehive.game.world.entity.mob.npc.NpcUtility;
import com.runehive.game.world.entity.mob.npc.definition.NpcDefinition;
import com.runehive.game.world.entity.mob.player.ForceMovement;
import com.runehive.game.world.entity.mob.player.Player;
import com.runehive.game.world.entity.mob.player.relations.ChatMessage;
import com.runehive.game.world.entity.mob.prayer.PrayerBook;
import com.runehive.game.world.entity.skill.Skill;
import com.runehive.game.world.entity.skill.SkillManager;
import com.runehive.game.world.object.GameObject;
import com.runehive.game.world.pathfinding.TraversalMap;
import com.runehive.game.world.position.Position;
import com.runehive.net.packet.out.SendPoison;
import com.runehive.util.MutableNumber;
import com.runehive.util.Stopwatch;
import com.runehive.util.Utility;
import com.runehive.util.generic.BooleanInterface;
import com.runehive.util.generic.GenericAttributes;
import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import com.runehive.game.world.entity.combat.CombatConstants.EMPTY_BONUSES;
Go to the source code of this file.