Refactored smithing and added cannonball making in there too (?) as the interface have an option for it. (#320)

Refactored smithing and added cannonball making in there too (?) as the interface have an option for it.
This commit is contained in:
Gptaqbc
2019-12-23 22:37:55 -05:00
committed by Daniel Ginovker
parent 1702a9b726
commit b1b06e9cb9
@@ -1,8 +1,13 @@
package com.rebotted.game.content.skills.smithing; package com.rebotted.game.content.skills.smithing;
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.items.ItemAssistant;
import com.rebotted.game.players.Player; import com.rebotted.game.players.Player;
import java.lang.reflect.Array;
/** /**
* Cleaned by Andrew * Cleaned by Andrew
* @author Andrew (Mr Extremez) * @author Andrew (Mr Extremez)
@@ -17,7 +22,7 @@ public class Smithing {
checkBronze(player, levelReq, amountToMake, type); checkBronze(player, levelReq, amountToMake, type);
} else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Iron")) { } else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Iron")) {
checkIron(player, levelReq, amountToMake, type); checkIron(player, levelReq, amountToMake, type);
} else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Steel")) { } else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Steel") || ItemAssistant.getItemName(Integer.parseInt(type)).contains("ball")) {
checkSteel(player, levelReq, amountToMake, type); checkSteel(player, levelReq, amountToMake, type);
} else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Mith")) { } else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Mith")) {
checkMith(player, levelReq, amountToMake, type); checkMith(player, levelReq, amountToMake, type);
@@ -315,6 +320,11 @@ public class Smithing {
addItem = 1353; addItem = 1353;
removeAmount = 1; removeAmount = 1;
makeTimes = amountToMake; makeTimes = amountToMake;
} else if (type.equals("2") && levelReq >= 35) { // Cannonball
XP = 26;
addItem = 2;
removeAmount = 1;
makeTimes = amountToMake;
} else if (type.equalsIgnoreCase("1207") && levelReq >= 30) { // Dagger } else if (type.equalsIgnoreCase("1207") && levelReq >= 30) { // Dagger
XP = 50; XP = 50;
addItem = 1207; addItem = 1207;
@@ -790,55 +800,76 @@ public class Smithing {
smithItem(c, addItem, removeItem, removeAmount, makeTimes, XP); smithItem(c, addItem, removeItem, removeAmount, makeTimes, XP);
} }
public boolean smithItem(Player c, int addItem, int removeItem, public static void smithItem(Player player, int addItem, int removeItem,
int removeItem2, int timesToMake, int XP) { int removeItem2, int timesToMake, int XP) {
int makeTimes = timesToMake;
c.getPacketSender().closeAllWindows(); player.doAmount = timesToMake;
c.isSmithing = true; player.getPacketSender().closeAllWindows();
String name = ItemAssistant.getItemName(addItem); String name = ItemAssistant.getItemName(addItem);
if (c.getItemAssistant().playerHasItem(removeItem, removeItem2)) { if (player.getItemAssistant().playerHasItem(removeItem, removeItem2)) {
c.startAnimation(898); if (!player.isSmithing)
if (makeTimes > 1 && c.getItemAssistant().playerHasItem(removeItem, removeItem2 * 2) && !name.contains("claws") && !name.contains("nails") && !name.contains("dart tip") && !name.contains("tip") && !name.contains("platelegs")) { {
c.getPacketSender().sendMessage("You make some " + ItemAssistant.getItemName(addItem) + "s."); player.isSmithing = true;
} else if (makeTimes > 1 && c.getItemAssistant().playerHasItem(removeItem, removeItem2 * 2) && name.contains("claws") || name.contains("nails") || name.contains("dart tip") || name.contains("tip") || name.contains("platelegs")) { player.startAnimation(898);
c.getPacketSender().sendMessage("You make some " + ItemAssistant.getItemName(addItem) + "."); CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
} else { @Override
c.getPacketSender().sendMessage("You hammer out a " + ItemAssistant.getItemName(addItem) + "."); public void execute(CycleEventContainer container) {
} if (player.doAmount <= 0 || !player.getItemAssistant().playerHasItem(removeItem, removeItem2) || !player.isSmithing || player.isWoodcutting || player.isCrafting || player.isMoving || player.isMining || player.isBusy || player.isShopping || player.isFletching || player.isFiremaking || player.isSpinning || player.isPotionMaking || player.playerIsFishing || player.isBanking || player.isSmelting || player.isTeleporting || player.isHarvesting || player.playerIsCooking || player.isPotCrafting) {
while (makeTimes > 0 && c.isSmithing == true) { container.stop();
if (c.getItemAssistant().playerHasItem(removeItem, removeItem2)) { }
c.getItemAssistant().deleteItem(removeItem, removeItem2); else
if (ItemAssistant.getItemName(addItem).contains("bolt")) { {
c.getItemAssistant().addItem(addItem, 10); player.startAnimation(898);
} else if (ItemAssistant.getItemName(addItem).contains("tip") && !ItemAssistant.getItemName(addItem).contains("dart tip")) { player.getPacketSender().sendSound(468, 100, 0);
c.getItemAssistant().addItem(addItem, 15); if (name.contains("ball"))
} else if (ItemAssistant.getItemName(addItem).contains("dart tip")) { {
c.getItemAssistant().addItem(addItem, 10); player.getPacketSender().sendMessage("You make some " + name.toLowerCase() + "s.");
} else if (ItemAssistant.getItemName(addItem).contains("nail")) { }
c.getItemAssistant().addItem(addItem, 15); else if (name.charAt(name.length() -1) == 's') {
} else if (ItemAssistant.getItemName(addItem).contains("arrow")) { player.getPacketSender().sendMessage("You make some " + name.toLowerCase() + ".");
c.getItemAssistant().addItem(addItem, 15); } else {
} else if (ItemAssistant.getItemName(addItem).contains("knife")) { if (name.charAt(1) == 'a' || name.charAt(1) == 'e' || name.toLowerCase().charAt(1) == 'i' || name.charAt(1) == 'o' || name.charAt(1) == 'u')
c.getItemAssistant().addItem(addItem, 5); {
} else if (ItemAssistant.getItemName(addItem).contains("cannon")) { player.getPacketSender().sendMessage("You make an " + name.toLowerCase() + ".");
c.getItemAssistant().addItem(addItem, 4); }
} else { else
c.getItemAssistant().addItem(addItem, 1); {
player.getPacketSender().sendMessage("You make a " + name.toLowerCase() + ".");
}
}
player.getItemAssistant().deleteItem(removeItem, removeItem2);
player.getPacketSender().sendMessage(ItemAssistant.getItemName(addItem));
if (name.contains("bolt")) {
player.getItemAssistant().addItem(addItem, 10);
} else if (name.contains("tip") && !name.contains("dart tip")) {
player.getItemAssistant().addItem(addItem, 15);
} else if (name.contains("dart tip")) {
player.getItemAssistant().addItem(addItem, 10);
} else if (name.contains("nail")) {
player.getItemAssistant().addItem(addItem, 15);
} else if (name.contains("arrow")) {
player.getItemAssistant().addItem(addItem, 15);
} else if (name.contains("knife")) {
player.getItemAssistant().addItem(addItem, 5);
} else if (name.contains("ball")) {
player.getItemAssistant().addItem(addItem, 4);
} else {
player.getItemAssistant().addItem(addItem, 1);
}
player.getPlayerAssistant().addSkillXP(XP, player.playerSmithing);
player.doAmount--;
}
} }
c.getPlayerAssistant().addSkillXP(XP, c.playerSmithing);
c.getPlayerAssistant().refreshSkill(c.playerSmithing); @Override
makeTimes--; public void stop() {
c.getPacketSender().sendSound(468, 100, 0); player.isSmithing = false;
} else { }
c.isSmithing = false; }, addItem == 2 ? 10 : 3);
break;
}
} }
} else { } else {
c.getPacketSender().sendMessage("You don't have enough bars to make this item!"); player.getPacketSender().sendMessage("You don't have enough bars to make this item!");
c.isSmithing = false; player.isSmithing = false;
return false;
} }
return true;
} }
} }