RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
CannonBuild.java
1package com.osroyale.content.combat.cannon;
2
3import com.osroyale.game.Animation;
4import com.osroyale.game.task.TickableTask;
5import com.osroyale.game.world.entity.mob.Direction;
6import com.osroyale.game.world.entity.mob.player.Player;
7import com.osroyale.game.world.items.Item;
8import com.osroyale.game.world.object.CustomGameObject;
9
37
38public class CannonBuild extends TickableTask {
39
40 private final Player player;
41 private final Cannon cannon;
42
43
44 public CannonBuild(Player player, Cannon cannon) {
45 super(false, 1);
46 this.player = player;
47 this.cannon = cannon;
48 }
49
50 @Override
51 protected void onSchedule() {
52 player.locking.lock();
53 }
54
55 @Override
56 protected void onCancel(boolean logout) {
57 player.locking.unlock();
58 }
59
60 @Override
61 protected void tick() {
62 switch (tick) {
63 case 1:
64 cannon.setStage(CannonManager.Setup.BASE);
65 player.face(Direction.NORTH_EAST);
66 player.animate(new Animation(827));
67 player.inventory.remove(new Item(6));
68 break;
69 case 2:
70 cannon.register();
71 break;
72 case 3:
73 cannon.setStage(CannonManager.Setup.STAND);
74 player.animate(new Animation(827));
75 player.inventory.remove(new Item(8));
76 break;
77 case 5:
78 cannon.setStage(CannonManager.Setup.BARRELS);
79 player.animate(new Animation(827));
80 player.inventory.remove(new Item(10));
81 break;
82 case 6:
83 cannon.unregister();
84 cannon.setObject(new CustomGameObject(9, cannon.getPosition()));
85 cannon.register();
86 break;
87 case 7:
88 cannon.setStage(CannonManager.Setup.FURNACE);
89 player.animate(new Animation(827));
90 player.inventory.remove(new Item(12));
91 break;
92 case 8:
93 cannon.unregister();
94 cannon.setObject(new CustomGameObject(6, cannon.getPosition()));
95 cannon.register();
96 break;
97 case 9:
98 cannon.setRotation(CannonManager.Rotation.NORTH);
99 cannon.setStage(CannonManager.Setup.COMPLETE_CANNON);
100 player.locking.unlock();
101 CannonManager.ACTIVE_CANNONS.put(player.getName(), cannon);
102 cancel();
103 break;
104 }
105 }
106}
synchronized final void cancel()
Definition Task.java:147
void face(GameObject object)
Definition Mob.java:326