mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
5f500280b2
* Some stuff on weight Some stuff on weight * Cleaned some code related to trading and fixed most likely the issue where the player stays busy and cant trade till relog Cleaned some code related to trading and fixed most likely the issue where the player stays busy and cant trade till relog * removed a shitload of '== true' I did a search and replace but I manually checked the changes that were made so there shouldn't be any issue with that.
80 lines
2.5 KiB
Java
80 lines
2.5 KiB
Java
package com.rebotted.game.content.skills.crafting;
|
|
|
|
import com.rebotted.event.CycleEvent;
|
|
import com.rebotted.event.CycleEventContainer;
|
|
import com.rebotted.event.CycleEventHandler;
|
|
import com.rebotted.game.items.ItemAssistant;
|
|
import com.rebotted.game.players.Player;
|
|
|
|
public class Spinning extends CraftingData {
|
|
|
|
public static int[][] BEFORE_AFTER = { { 1737, 1759, 3, 1 },
|
|
{ 1779, 1777, 15, 10 } };
|
|
|
|
public static void showSpinning(Player player) {
|
|
player.getPacketSender().sendChatInterface(8880);
|
|
player.getPacketSender().sendFrame126("What would you like to make?", 8879);
|
|
player.getPacketSender().sendFrame246(8883, 180, 1737); // left
|
|
player.getPacketSender().sendFrame246(8884, 180, 1779); // middle
|
|
player.getPacketSender().sendFrame246(8885, 180, 6051); // right
|
|
player.getPacketSender().sendFrame126("Wool", 8889);
|
|
player.getPacketSender().sendFrame126("Flax", 8893);
|
|
player.getPacketSender().sendFrame126("Magic tree", 8897);
|
|
player.clickedSpinning = true;
|
|
}
|
|
|
|
public static void getAmount(Player c, int amount) {
|
|
c.doAmount = amount;
|
|
spinItem(c);
|
|
c.isSpinning = true;
|
|
}
|
|
|
|
public static void spinItem(final Player c) {
|
|
c.getPacketSender().closeAllWindows();
|
|
for (int[] element : BEFORE_AFTER) {
|
|
final int before = element[0];
|
|
final int after = element[1];
|
|
final int exp = element[2];
|
|
final int level = element[3];
|
|
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
|
|
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
if (c.isSpinning) {
|
|
if (c.getItemAssistant().playerHasItem(before)) {
|
|
if (c.playerLevel[c.playerCrafting] < level) {
|
|
c.getDialogueHandler().sendStatement(
|
|
"You need a crafting level of " + level
|
|
+ " to do this.");
|
|
return;
|
|
}
|
|
c.startAnimation(896);
|
|
int amount = c.getItemAssistant().getItemCount( before);
|
|
c.getItemAssistant().deleteItem(before, amount);
|
|
c.getItemAssistant().addItem(after, amount);
|
|
c.getPlayerAssistant().addSkillXP(exp * amount, c.playerCrafting);
|
|
c.getPacketSender().sendMessage("You spin the " + ItemAssistant.getItemName(before) + " into a " + ItemAssistant.getItemName(after) + ".");
|
|
c.doAmount--;
|
|
}
|
|
|
|
if (!c.getItemAssistant().playerHasItem(before)
|
|
|| c.isSpinning == false) {
|
|
container.stop();
|
|
}
|
|
|
|
if (c.doAmount <= 0) {
|
|
container.stop();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
c.isSpinning = false;
|
|
}
|
|
}, 2);
|
|
}
|
|
}
|
|
}
|