1package com.osroyale.content.shootingstar;
3import com.osroyale.content.skill.impl.mining.Mining;
4import com.osroyale.content.skill.impl.mining.PickaxeData;
5import com.osroyale.game.action.Action;
6import com.osroyale.game.action.policy.WalkablePolicy;
7import com.osroyale.game.world.entity.mob.player.Player;
8import com.osroyale.game.world.entity.skill.Skill;
9import com.osroyale.game.world.items.Item;
10import com.osroyale.game.world.object.GameObject;
12public class ShootingStarAction
extends Action<Player> {
14 private PickaxeData pickaxe;
15 private GameObject object;
17 public ShootingStarAction(Player player, PickaxeData pickaxe, GameObject
object) {
18 super(player, 3,
false);
19 this.pickaxe = pickaxe;
30 return "shooting-star-action";
35 return !
getMob().skills.get(Skill.MINING).isDoingSkill();
40 getMob().animate(pickaxe.animation);
44 protected void onCancel(
boolean logout) {
46 getMob().skills.get(Skill.MINING).setDoingSkill(
false);
51 if (!
getMob().skills.get(Skill.MINING).isDoingSkill()) {
61 private boolean mine() {
62 if (!
getMob().inventory.hasCapacityFor(
new Item(25527))) {
63 getMob().dialogueFactory.sendStatement(
"You can't carry anymore star dust.").execute();
67 getMob().animate(pickaxe.animation);
69 if (Mining.success(
getMob(), ShootingStar.shootingStarData.getMiningLevel(), pickaxe)) {
70 if (
object ==
null || !
object.active()) {
74 if (ShootingStar.shootingStarData.availableDust <= 0) {
79 ShootingStar.shootingStarData.decreaseDust(
getMob());
abstract String getName()
abstract WalkablePolicy getWalkablePolicy()
synchronized final void cancel()