Cleanup part 1 (#213)

* Clean up part 1

- Removed lots of dead code
- Removed unncessary files not in use
- Cleaned up small bits of code
- Removed a few warnings
- Server.java ---> GameEngine.java
- Constants.java ---> GameConstants.java

* Cape Dye

Rewrote cape dying

* Packaging

- redone ----> com.rebotted

* PacketSender/clean up

- ActionSender ---> PacketSender
- Moved many more packets to packetsender
- Cleaned up more dead code

* Merge Client/Player

- Merged Client.java with Player.java (both were doing same thing so redundant to have both)
- Removed some more dead code
- Tidy a few small things up

* Quests/more clean up

- Removed more dead code
- Made quests static in order to clean them up a bit

* More cleanup

- Removed some more of the dead quest code
- Correcting naming of some of the shop variables
This commit is contained in:
Mr Extremez
2019-11-25 11:08:56 -06:00
committed by Daniel Ginovker
parent 3d1ae1b288
commit d876a923b9
379 changed files with 80684 additions and 83170 deletions
@@ -0,0 +1,158 @@
package com.rebotted.game.content.skills.fletching;
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;
/**
* @author Tom
*/
public class ArrowMaking {
public enum Data {
ARROW_SHAFT(314, 52, 53, 1, 0.4), BRONZE_ARROW(39, 53, 882, 1, 1.3), IRON_ARROW(
40, 53, 884, 15, 2.5), STEEL_ARROW(41, 53, 886, 30, 5), MITHRIL_ARROW(
42, 53, 888, 45, 7.5), ADAMANT_ARROW(43, 53, 890, 60, 10), RUNE_ARROW(
44, 53, 892, 75, 12.5),
BRONZE_DART(819, 314, 806, 1, 1.8), IRON_DART(820, 314, 807, 22, 3.8), STEEL_DART(
821, 314, 808, 37, 7.5), MITHRIL_DART(822, 314, 809, 52, 11.2), ADAMANT_DART(
823, 314, 810, 67, 15), RUNE_DART(824, 314, 811, 81, 18.8),
BRONZE_BRUTAL_ARROW(4819, 53, 4773, 7, 1.4), IRON_BRUTAL_ARROW(4820,
53, 4778, 18, 2.6), STEEL_BRUTAL_ARROW(1539, 53, 4783, 33, 5.1), BLACK_BRUTAL_ARROW(
4821, 53, 4788, 38, 6.4), MITHRIL_BRUTAL_ARROW(4822, 53, 4793,
49, 7.5), ADAMANT_BRUTAL_ARROW(4823, 53, 4798, 62, 10.1), RUNE_BRUTAL_ARROW(
4824, 53, 4803, 77, 12.5),
PEARL_BOLT(46, 877, 880, 41, 3.2);
public int item1, item2, product, level;
public double xp;
public static Data forId(int itemUsed, int usedWith) {
for (Data arrowData : Data.values()) {
if (arrowData.item1 == itemUsed && arrowData.item2 == usedWith
|| arrowData.item2 == itemUsed
&& arrowData.item1 == usedWith) {
return arrowData;
}
}
return null;
}
private Data(int item1, int item2, int product, int level, double xp) {
this.item1 = item1;
this.item2 = item2;
this.product = product;
this.level = level;
this.xp = xp;
}
public int getItem1() {
return item1;
}
public int getItem2() {
return item2;
}
public int getProduct() {
return product;
}
public int getLevel() {
return level;
}
public double getXp() {
return xp;
}
}
public static boolean makeArrow(final Player player, int itemUsed, int usedWith) {
final Data arrowData = Data.forId(itemUsed, usedWith);
if (arrowData == null) {
return false;
}
if (player.isWoodcutting == true) {
return false;
}
if (player.playerLevel[9] < arrowData.getLevel()) {
player.getDialogueHandler().sendStatement(
"You need a fletching level of " + arrowData.getLevel()
+ " to do this");
player.nextChat = 0;
return false;
}
if (!player.getItemAssistant().playerHasItem(arrowData.getItem1())
|| !player.getItemAssistant().playerHasItem(arrowData.getItem2())) {
player.getDialogueHandler().sendStatement(
"You need 15 "
+ ItemAssistant.getItemName(arrowData.getItem1())
+ " and 15 "
+ ItemAssistant.getItemName(arrowData.getItem2())
+ " to make this.");
player.nextChat = 0;
return false;
}
if (player.getItemAssistant().freeSlots() < 1 && !player.getItemAssistant().playerHasItem(arrowData.getProduct())) {
player.getPacketSender().sendMessage("Not enough space in your inventory.");
return false;
}
player.playerIsFletching = true;
int factor = 1;
final int multiplier = factor;
int count1 = player.getItemAssistant().getItemAmount(arrowData.getItem1()) < 15 ? player
.getItemAssistant().getItemAmount(arrowData.getItem1()) : 15;
int count2 = player.getItemAssistant().getItemAmount(arrowData.getItem2()) < 15 ? player
.getItemAssistant().getItemAmount(arrowData.getItem2()) : 15;
final int count = count1 < count2 ? count1 : count2;
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (!player.getItemAssistant().playerHasItem(arrowData.getItem1(),
count)
|| !player.getItemAssistant().playerHasItem(
arrowData.getItem2(), count)
|| player.playerIsFletching == false) {
container.stop();
return;
}
if (player.isWoodcutting == true) {
container.stop();
}
player.getItemAssistant().deleteItem(arrowData.getItem1(), count);
player.getItemAssistant().deleteItem(arrowData.getItem2(), count);
player.getItemAssistant().addItem(arrowData.getProduct(),
count / multiplier);
player.getPacketSender().sendMessage(
"You attach the "
+ ItemAssistant.getItemName(arrowData
.getItem1())
+ " to "
+ count
/ multiplier
+ " "
+ ItemAssistant.getItemName(arrowData
.getItem2()) + "s.");
player.getPlayerAssistant().addSkillXP(
count / multiplier * arrowData.getXp(), 9);
}
@Override
public void stop() {
player.playerIsFletching = false;
return;
}
}, 1);
return true;
}
}
@@ -0,0 +1,422 @@
package com.rebotted.game.content.skills.fletching;
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;
import com.rebotted.util.Misc;
/**
* @author Tom
*/
public class LogCutting {
private static final int KNIFE = 946, CUT_SOUND = 375;
public static void resetFletching(Player player) {
if (player.playerIsFletching == true) {
player.playerIsFletching = false;
player.startAnimation(65535);
}
}
public static void cutLog(final Player c, final int product, final int level, final double xp, int amount) {
if (c.isSpinning) {
c.isSpinning = false;
}
if (c.isWoodcutting) {
c.isWoodcutting = false;
}
c.doAmount = amount;
c.getPacketSender().closeAllWindows();
if (c.playerLevel[9] < level) {
c.getPacketSender().sendMessage("You need a fletching level of " + level + " to make this.");
return;
}
c.playerIsFletching = true;
c.startAnimation(1248);
c.getPacketSender().sendSound(CUT_SOUND, 100, 0);
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (c.getItemAssistant().playerHasItem(LogCuttingInterface.log) && c.getItemAssistant().playerHasItem(KNIFE)) {
c.getItemAssistant().deleteItem(LogCuttingInterface.log, 1);
if (product == 52) {
c.getItemAssistant().addItem(product, 15);
} else {
c.getItemAssistant().addItem(product, 1);
}
c.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(LogCuttingInterface.log) + " into an " + ItemAssistant.getItemName(product) + ".");
c.getPlayerAssistant().addSkillXP(xp, c.playerFletching);
c.doAmount--;
}
if (!c.getItemAssistant().playerHasItem(LogCuttingInterface.log)) {
container.stop();
return;
}
if (c.playerIsFletching == false) {
container.stop();
return;
}
if (c.doAmount <= 0) {
container.stop();
return;
}
}
@Override
public void stop() {
c.playerIsFletching = false;
c.startAnimation(65535);
return;
}
}, 3);
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (c.playerIsFletching == false) {
container.stop();
return;
}
c.getPacketSender().sendSound(CUT_SOUND, 100, 0);
c.startAnimation(1248);
}
@Override
public void stop() {
c.playerIsFletching = false;
c.startAnimation(65535);
return;
}
}, 3);
}
public static void handleClick(Player c, int buttonId) {
if (c.doAmount == 28 && c.playerIsFletching == true) {
c.getPacketSender().closeAllWindows();
c.playerIsFletching = false;
return;
}
switch (buttonId) {
/*
* normal log (item on interface 3)
*/
case 34185:
if (c.playerIsFletching == true) {
cutLog(c, 52, 1, 5, 1);
c.playerIsFletching = false;
return;
}
break;
case 34184:
cutLog(c, 52, 1, 5, 5);
return;
case 34183:
cutLog(c, 52, 1, 5, 10);
return;
case 34182:
cutLog(c, 52, 1, 5, 28);
return;
case 34189:
if (c.playerIsFletching == true) {
cutLog(c, 50, 5, 5, 1);
c.playerIsFletching = false;
return;
}
break;
case 34188:
cutLog(c, 50, 5, 5, 5);
return;
case 34187:
cutLog(c, 50, 5, 5, 10);
return;
case 34186:
cutLog(c, 50, 5, 5, 28);
return;
case 34193:
if (c.playerIsFletching == true) {
cutLog(c, 48, 10, 10, 1);
c.playerIsFletching = false;
return;
}
break;
case 34192:
cutLog(c, 48, 10, 10, 5);
return;
case 34191:
cutLog(c, 48, 10, 10, 10);
return;
case 34190:
cutLog(c, 48, 10, 10, 28);
return;
/*
* rest of the log's (item on interface 2)
*/
/*
* first item
*/
case 34170:
if (LogCuttingInterface.log == 1521 && c.playerIsFletching == true) {
cutLog(c, 54, 20, 16.5, 1);
c.playerIsFletching = false;
}
if (LogCuttingInterface.log == 1519 && c.playerIsFletching == true) {
cutLog(c, 60, 35, 33.3, 1);
c.playerIsFletching = false;
}
if (LogCuttingInterface.log == 1517 && c.playerIsFletching == true) {
cutLog(c, 64, 50, 50, 1);
c.playerIsFletching = false;
}
if (LogCuttingInterface.log == 1515 && c.playerIsFletching == true) {
cutLog(c, 68, 65, 67.5, 1);
c.playerIsFletching = false;
}
if (LogCuttingInterface.log == 1513 && c.playerIsFletching == true) {
cutLog(c, 72, 80, 83.25, 1);
c.playerIsFletching = false;
}
return;
case 34169:
if (LogCuttingInterface.log == 1521) {
cutLog(c, 54, 20, 16.5, 5);
}
if (LogCuttingInterface.log == 1519) {
cutLog(c, 60, 35, 33.3, 5);
}
if (LogCuttingInterface.log == 1517) {
cutLog(c, 64, 50, 50, 5);
}
if (LogCuttingInterface.log == 1515) {
cutLog(c, 68, 65, 67.5, 5);
}
if (LogCuttingInterface.log == 1513) {
cutLog(c, 72, 80, 83.25, 5);
}
return;
case 34168:
if (LogCuttingInterface.log == 1521) {
cutLog(c, 54, 20, 16.5, 10);
}
if (LogCuttingInterface.log == 1519) {
cutLog(c, 60, 35, 33.3, 10);
}
if (LogCuttingInterface.log == 1517) {
cutLog(c, 64, 50, 50, 10);
}
if (LogCuttingInterface.log == 1515) {
cutLog(c, 68, 65, 67.5, 10);
}
if (LogCuttingInterface.log == 1513) {
cutLog(c, 72, 80, 83.25, 10);
}
return;
case 34167:
if (LogCuttingInterface.log == 1521) {
cutLog(c, 54, 20, 16.5, 28);
}
if (LogCuttingInterface.log == 1519) {
cutLog(c, 60, 35, 33.3, 28);
}
if (LogCuttingInterface.log == 1517) {
cutLog(c, 64, 50, 50, 28);
}
if (LogCuttingInterface.log == 1515) {
cutLog(c, 68, 65, 67.5, 28);
}
if (LogCuttingInterface.log == 1513) {
cutLog(c, 72, 80, 83.25, 28);
}
return;
/*
* second item
*/
case 34174:
if (LogCuttingInterface.log == 1521 && c.playerIsFletching == true) {
cutLog(c, 56, 25, 25, 1);
c.playerIsFletching = false;
}
if (LogCuttingInterface.log == 1519 && c.playerIsFletching == true) {
cutLog(c, 58, 40, 41.5, 1);
c.playerIsFletching = false;
}
if (LogCuttingInterface.log == 1517 && c.playerIsFletching == true) {
cutLog(c, 62, 55, 58.3, 1);
c.playerIsFletching = false;
}
if (LogCuttingInterface.log == 1515 && c.playerIsFletching == true) {
cutLog(c, 66, 70, 70, 1);
c.playerIsFletching = false;
}
if (LogCuttingInterface.log == 1513 && c.playerIsFletching == true) {
cutLog(c, 70, 85, 91.5, 1);
c.playerIsFletching = false;
}
return;
case 34173:
if (LogCuttingInterface.log == 1521) {
cutLog(c, 56, 25, 25, 5);
}
if (LogCuttingInterface.log == 1519) {
cutLog(c, 58, 40, 41.5, 5);
}
if (LogCuttingInterface.log == 1517) {
cutLog(c, 62, 55, 58.3, 5);
}
if (LogCuttingInterface.log == 1515) {
cutLog(c, 66, 70, 70, 5);
}
if (LogCuttingInterface.log == 1513) {
cutLog(c, 70, 85, 91.5, 5);
}
return;
case 34172:
if (LogCuttingInterface.log == 1521) {
cutLog(c, 56, 25, 25, 10);
}
if (LogCuttingInterface.log == 1519) {
cutLog(c, 58, 40, 41.5, 10);
}
if (LogCuttingInterface.log == 1517) {
cutLog(c, 62, 55, 58.3, 10);
}
if (LogCuttingInterface.log == 1515) {
cutLog(c, 66, 70, 70, 10);
}
if (LogCuttingInterface.log == 1513) {
cutLog(c, 70, 85, 91.5, 10);
}
return;
case 34171:
if (LogCuttingInterface.log == 1521) {
cutLog(c, 56, 25, 25, 28);
}
if (LogCuttingInterface.log == 1519) {
cutLog(c, 58, 40, 41.5, 28);
}
if (LogCuttingInterface.log == 1517) {
cutLog(c, 62, 55, 58.3, 28);
}
if (LogCuttingInterface.log == 1515) {
cutLog(c, 66, 70, 70, 28);
}
if (LogCuttingInterface.log == 1513) {
cutLog(c, 70, 85, 91.5, 28);
}
return;
}
}
public static void wolfBoneArrow(Player c) {
if (c.getItemAssistant().playerHasItem(2859)
&& c.getItemAssistant().playerHasItem(1755)) {
final int amount = c.getItemAssistant().getItemCount(2859);
final int makeAmount = c.getItemAssistant().getItemCount(2859)
+ c.getItemAssistant().getItemCount(2859) * Misc.random(4);
if (!c.getItemAssistant().playerHasItem(2859)) {
c.getDialogueHandler().sendStatement(
"You don't have any bones left to chisel.");
c.nextChat = 0;
return;
}
c.startAnimation(1248);
c.getItemAssistant().deleteItem(2859, amount);
c.getItemAssistant().addItem(2861, makeAmount);
c.getPlayerAssistant().addSkillXP(3 * amount, c.playerFletching);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2859) + " into " + ItemAssistant.getItemName(2861) + ".");
}
}
public static void flightedArrow(Player c) {// to do
if (c.playerLevel[c.playerFletching] < 5) {
c.getDialogueHandler().sendStatement("You need 5 fletching to fletch this.");
c.nextChat = 0;
return;
}
if (!c.getItemAssistant().playerHasItem(314) || !c.getItemAssistant().playerHasItem(2864)) {
c.getDialogueHandler().sendStatement("You don't enough materials to make these arrows.");
c.nextChat = 0;
return;
}
if (c.getItemAssistant().playerHasItem(314)
&& c.getItemAssistant().playerHasItem(2864)) {
final int feather = c.getItemAssistant().getItemCount(314), arrowShaft = c
.getItemAssistant().getItemCount(2864);
if (feather == arrowShaft * 4) {
c.startAnimation(1248);
c.getItemAssistant().deleteItem(314, feather * 4);
c.getItemAssistant().deleteItem(2864, arrowShaft);
c.getItemAssistant().addItem(2865, arrowShaft);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2864) + " into " + ItemAssistant.getItemName(2865) + "(s).");
} else {
c.getPacketSender().sendMessage("You need 4 times the amount of feathers as arrow shafts to do this.");
}
}
}
public static void ogreArrow(Player c) {
if (c.playerLevel[c.playerFletching] < 5) {
c.getDialogueHandler().sendStatement("You need 5 fletching to fletch this.");
c.nextChat = 0;
return;
}
if (!c.getItemAssistant().playerHasItem(2861) || !c.getItemAssistant().playerHasItem(2865)) {
c.getDialogueHandler().sendStatement("You don't enough materials to make these arrows.");
c.nextChat = 0;
return;
}
final int wolfBoneArrow = c.getItemAssistant().getItemCount(2861), flightedArrow = c.getItemAssistant().getItemCount(2865);
if (c.getItemAssistant().playerHasItem(2861)
&& c.getItemAssistant().playerHasItem(2865)) {
if (wolfBoneArrow == flightedArrow) {
c.startAnimation(1248);
c.getItemAssistant().addItem(2866, wolfBoneArrow);
c.getPlayerAssistant().addSkillXP(1 * wolfBoneArrow, c.playerFletching);
c.getItemAssistant().deleteItem(2861, wolfBoneArrow);
c.getItemAssistant().deleteItem(2865, wolfBoneArrow);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2865) + " (s) into " + ItemAssistant.getItemName(2866) + "(s).");
} else if (wolfBoneArrow > flightedArrow) {
c.startAnimation(1248);
c.getItemAssistant().addItem(2866, flightedArrow);
c.getPlayerAssistant().addSkillXP(1 * flightedArrow, c.playerFletching);
c.getItemAssistant().deleteItem(2861, flightedArrow);
c.getItemAssistant().deleteItem(2865, flightedArrow);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2865) + " (s) into " + ItemAssistant.getItemName(2866) + "(s).");
} else if (wolfBoneArrow < flightedArrow) {
c.startAnimation(1248);
c.getItemAssistant().addItem(2866, wolfBoneArrow);
c.getPlayerAssistant().addSkillXP(1 * wolfBoneArrow, c.playerFletching);
c.getItemAssistant().deleteItem(2861, wolfBoneArrow);
c.getItemAssistant().deleteItem(2865, wolfBoneArrow);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2865) + " (s) into " + ItemAssistant.getItemName(2866) + "(s).");
}
}
}
public static void makeShafts(Player c) {
if (c.getItemAssistant().playerHasItem(2862) && c.getItemAssistant().playerHasItem(946)) {
final int amount = c.getItemAssistant().getItemCount(2862);
final int makeAmount = c.getItemAssistant().getItemCount(2862) + c.getItemAssistant().getItemCount(2862) * Misc.random(4);
if (!c.getItemAssistant().playerHasItem(2862)) {
c.getDialogueHandler().sendStatement("You don't have any logs left to fletch.");
c.nextChat = 0;
return;
}
c.startAnimation(1248);
c.getItemAssistant().deleteItem(2862, amount);
c.getItemAssistant().addItem(2864, makeAmount);
c.getPlayerAssistant().addSkillXP(2 * amount, c.playerFletching);
c.getPacketSender().sendMessage("You turn your " + ItemAssistant.getItemName(2862) + " (s) into " + ItemAssistant.getItemName(2864) + "(s).");
}
}
}
@@ -0,0 +1,84 @@
package com.rebotted.game.content.skills.fletching;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.players.Player;
/**
* @author Tom
*/
public class LogCuttingInterface {
public static int log;
public static void handleLog(Player c, int item1, int item2) {
if (item1 == 946) {
fletchInterface(c, item2);
} else {
fletchInterface(c, item1);
}
}
public static void fletchInterface(Player c, int item) {
if (c.playerIsFletching == true && (item > 1510 && item < 1522)) {
LogCutting.resetFletching(c);
return;
} else if (c.playerIsFletching == true && (item < 1510 || item > 1521)) {
c.playerIsFletching = false;
c.getPacketSender().sendMessage("Nothing interesting happens.");
}
log = item;
if (item == 1511) {
c.getPacketSender().sendChatInterface(8880);
c.getPacketSender().sendFrame126("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8883, 180, 52); // left
c.getPacketSender().sendFrame246(8884, 180, 50); // middle
c.getPacketSender().sendFrame246(8885, 180, 48); // right
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(52), 8889);
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(50), 8893);
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(48), 8897);
} else if (item == 1521) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendFrame126("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 54); // left
c.getPacketSender().sendFrame246(8870, 180, 56); // right
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(54), 8874);
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(56), 8878);
} else if (item == 1519) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendFrame126("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 60); // left
c.getPacketSender().sendFrame246(8870, 180, 58); // right
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(60), 8874);
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(58), 8878);
} else if (item == 1517) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendFrame126("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 64); // left
c.getPacketSender().sendFrame246(8870, 180, 62); // right
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(64), 8874);
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(62), 8878);
} else if (item == 1515) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendFrame126("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 68); // left
c.getPacketSender().sendFrame246(8870, 180, 66); // right
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(68), 8874);
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(66), 8878);
} else if (item == 1513) {
c.getPacketSender().sendChatInterface(8866);
c.getPacketSender().sendFrame126("What would you like to make?", 8879);
c.getPacketSender().sendFrame246(8869, 180, 72); // left
c.getPacketSender().sendFrame246(8870, 180, 70); // right
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(72), 8874);
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(70), 8878);
}
c.playerIsFletching = true;
}
public static void handleItemOnItem(Player player, int itemUsed, int useWith) {
if (itemUsed == 946 || useWith == 946) {
handleLog(player, itemUsed, useWith);
}
}
}
@@ -0,0 +1,109 @@
package com.rebotted.game.content.skills.fletching;
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;
/**
* @author Tom
*/
public class Stringing {
public static int STRING_SOUND = 2606;
public enum Data {
SHORT_BOW(50, 1777, 841, 5, 5), LONG_BOW(48, 1777, 839, 10, 10), OAK_SHORT_BOW(
54, 1777, 843, 20, 16.5), OAK_LONG_BOW(56, 1777, 845, 25, 25), COMPOSITE_BOW(
4825, 1777, 4827, 30, 45), WILLOW_SHORT_BOW(60, 1777, 849, 35,
33.3), WILLOW_LONG_BOW(58, 1777, 847, 40, 41.5), MAPLE_SHORT_BOW(
64, 1777, 853, 50, 50), MAPLE_LONG_BOW(62, 1777, 851, 55, 58.3), YEW_SHORT_BOW(
68, 1777, 857, 65, 68.5), YEW_LONG_BOW(66, 1777, 855, 70, 75), MAGIC_SHORT_BOW(
72, 1777, 861, 80, 83.3), MAGIC_LONG_BOW(70, 1777, 859, 85,
91.5);
public int item1, item2, product, level;
public double xp;
public static Data forId(int itemId, int usedWith) {
for (Data loadData : Data.values()) {
if (loadData.item1 == itemId && loadData.item2 == usedWith
|| loadData.item2 == itemId
&& loadData.item1 == usedWith) {
return loadData;
}
}
return null;
}
private Data(int item1, int item2, int product, int level, double xp) {
this.item1 = item1;
this.item2 = item2;
this.product = product;
this.level = level;
this.xp = xp;
}
public int getItem1() {
return item1;
}
public int getItem2() {
return item2;
}
public int getProduct() {
return product;
}
public int getLevel() {
return level;
}
public double getXp() {
return xp;
}
}
public static boolean StringBow(final Player player, int itemUsed, int usedWith) {
final Data loadData = Data.forId(itemUsed, usedWith);
if (loadData == null) {
return false;
}
if (player.playerLevel[9] < loadData.getLevel()) {
player.getDialogueHandler().sendStatement("You need a fletching level of " + loadData.getLevel() + " to do this");
return false;
}
if (!player.getItemAssistant().playerHasItem(loadData.getItem1()) || !player.getItemAssistant().playerHasItem(loadData.getItem2())) {
player.getDialogueHandler().sendStatement("You need a " + ItemAssistant.getItemName(loadData.getItem1()) + " and a " + ItemAssistant.getItemName(loadData.getItem2()) + " to make this.");
return false;
}
player.playerIsFletching = true;
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (!player.getItemAssistant().playerHasItem(loadData.getItem1()) || !player.getItemAssistant().playerHasItem(loadData.getItem2()) || player.playerIsFletching == false) {
container.stop();
return;
}
player.getItemAssistant().deleteItem(loadData.getItem1(), 1);
player.getItemAssistant().deleteItem(loadData.getItem2(), 1);
player.getPacketSender().sendMessage("You add a string to the bow.");
player.getItemAssistant().addItem(loadData.getProduct(), 1);
player.getPlayerAssistant().addSkillXP(loadData.getXp(), 9);
}
@Override
public void stop() {
player.playerIsFletching = false;
return;
}
}, 3);
return true;
}
}