From ede6989139756b99faf0a4901e5d5b7c00fd1440 Mon Sep 17 00:00:00 2001 From: Mr Extremez Date: Tue, 22 Oct 2019 00:26:06 -0500 Subject: [PATCH 1/2] Iron bars now smelted @ 50% success rate :) (fixes issue #74) -also did a little bit of tidying up nothing major --- .../content/skills/smithing/Smelting.java | 99 +++++++------------ 1 file changed, 33 insertions(+), 66 deletions(-) diff --git a/2006Redone Server/src/redone/game/content/skills/smithing/Smelting.java b/2006Redone Server/src/redone/game/content/skills/smithing/Smelting.java index 2d9ed363..5a9e4d78 100644 --- a/2006Redone Server/src/redone/game/content/skills/smithing/Smelting.java +++ b/2006Redone Server/src/redone/game/content/skills/smithing/Smelting.java @@ -6,6 +6,7 @@ import redone.event.CycleEventHandler; import redone.game.content.skills.SkillHandler; import redone.game.items.ItemAssistant; import redone.game.players.Client; +import redone.util.Misc; /** * Made by @@ -71,28 +72,14 @@ public class Smelting extends SkillHandler { private static void smeltBar(final Client c, int bartype) { for (int i = 0; i < data.length; i++) { if (bartype == data[i][0]) { - if (c.playerLevel[c.playerSmithing] < data[i][1]) { // Smithing - // level - c.getDialogueHandler().sendStatement( - "You need a smithing level of at least " - + data[i][1] + " in order smelt this bar."); + if (c.playerLevel[c.playerSmithing] < data[i][1]) { // Smithing level + c.getDialogueHandler().sendStatement("You need a smithing level of at least "+ data[i][1] + " in order smelt this bar."); return; } if (data[i][3] > 0 && data[i][4] > 0) { // All OTHER bars - if (!c.getItemAssistant().playerHasItem(data[i][3]) - || !c.getItemAssistant().playerHasItem(data[i][4])) { - c.getActionSender().sendMessage( - "You need an " - + ItemAssistant.getItemName(data[i][3]) - .toLowerCase() - + " and " - + data[i][5] - + " " - + ItemAssistant.getItemName(data[i][4]) - .toLowerCase() - + " to make this bar."); - + if (!c.getItemAssistant().playerHasItem(data[i][3]) || !c.getItemAssistant().playerHasItem(data[i][4])) { + c.getActionSender().sendMessage("You need an " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " and " + data[i][5] + " " + ItemAssistant.getItemName(data[i][4]).toLowerCase() + " to make this bar."); c.getPlayerAssistant().removeAllWindows(); return; } @@ -100,30 +87,20 @@ public class Smelting extends SkillHandler { if (data[i][4] < 0) { // Iron bar, Gold & Silver requirements if (!c.getItemAssistant().playerHasItem(data[i][3])) { - c.getActionSender().sendMessage( - "You need an " - + ItemAssistant.getItemName(data[i][3]) - .toLowerCase() - + " to make this bar."); + c.getActionSender().sendMessage("You need an " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " to make this bar."); c.getPlayerAssistant().removeAllWindows(); return; } } if (data[i][5] > 0) { // Bars with more than 1 coal requirement - if (!c.getItemAssistant().playerHasItem(data[i][4], - data[i][5])) { - c.getActionSender().sendMessage( - "You need an " - + ItemAssistant.getItemName(data[i][3]) - .toLowerCase() + " and " - + data[i][5] - + " coal ores to make this bar."); + if (!c.getItemAssistant().playerHasItem(data[i][4], data[i][5])) { + c.getActionSender().sendMessage("You need an " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " and " + data[i][5] + " coal ores to make this bar."); c.getPlayerAssistant().removeAllWindows(); return; } } - + if (c.playerSkilling[13]) { return; } @@ -147,51 +124,41 @@ public class Smelting extends SkillHandler { @Override public void execute(CycleEventContainer container) { deleteTime(c); - c.getItemAssistant().deleteItem( - c.playerSkillProp[13][3], 1); + c.getItemAssistant().deleteItem(c.playerSkillProp[13][3], 1); if (c.playerSkillProp[13][5] == -1) { - c.getItemAssistant().deleteItem( - c.playerSkillProp[13][4], 1); + c.getItemAssistant().deleteItem(c.playerSkillProp[13][4], 1); } - if (c.playerSkillProp[13][5] > 0) {// if coal amount is - // >0 - c.getItemAssistant().deleteItem2( - c.playerSkillProp[13][4], - c.playerSkillProp[13][5]); + if (c.playerSkillProp[13][5] > 0) {// if coal amount is > 0 + c.getItemAssistant().deleteItem2(c.playerSkillProp[13][4], c.playerSkillProp[13][5]); } - c.getActionSender().sendMessage( - "You receive an " // Message - + ItemAssistant.getItemName( - c.playerSkillProp[13][6]) - .toLowerCase() + "."); - if (c.playerSkillProp[13][3] == GOLD - && c.playerSkillProp[13][4] == -1 - && c.playerEquipment[c.playerHands] == 776) { - c.getPlayerAssistant().addSkillXP(56.2, - c.playerSmithing); - } else { - c.getPlayerAssistant().addSkillXP( - c.playerSkillProp[13][2], c.playerSmithing); + if (c.playerSkillProp[13][3] == IRON && c.playerSkillProp[13][4] == -1 && Misc.random(100) >= 50) { + c.getPlayerAssistant().addSkillXP(c.playerSkillProp[13][2], c.playerSmithing); + c.getItemAssistant().addItem(c.playerSkillProp[13][6], 1);// item + c.getActionSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + "."); + } + + if (c.playerSkillProp[13][3] == GOLD && c.playerSkillProp[13][4] == -1 && c.playerEquipment[c.playerHands] == 776) { + c.getActionSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + "."); + c.getPlayerAssistant().addSkillXP(56.2, c.playerSmithing); + c.getItemAssistant().addItem(c.playerSkillProp[13][6], 1);// item + } else { + if (c.playerSkillProp[13][3] != IRON) { + c.getActionSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + "."); + c.getPlayerAssistant().addSkillXP(c.playerSkillProp[13][2], c.playerSmithing); + c.getItemAssistant().addItem(c.playerSkillProp[13][6], 1);// item + } } - c.getItemAssistant().addItem(c.playerSkillProp[13][6], - 1);// item // ///////////////////////////////CHECKING////////////////////// - if (!c.getItemAssistant().playerHasItem( - c.playerSkillProp[13][3], 1)) { - c.getActionSender() - .sendMessage( - "You don't have enough ores to continue smelting!"); + if (!c.getItemAssistant().playerHasItem(c.playerSkillProp[13][3], 1)) { + c.getActionSender().sendMessage("You don't have enough ores to continue smelting!"); resetSmelting(c); container.stop(); } if (c.playerSkillProp[13][4] > 0) { - if (!c.getItemAssistant().playerHasItem( - c.playerSkillProp[13][4], 1)) { - c.getActionSender() - .sendMessage( - "You don't have enough ores to continue smelting!"); + if (!c.getItemAssistant().playerHasItem(c.playerSkillProp[13][4], 1)) { + c.getActionSender().sendMessage("You don't have enough ores to continue smelting!"); resetSmelting(c); container.stop(); } From 818ea68ae17a2512d10e7f53910aceec930a9ac7 Mon Sep 17 00:00:00 2001 From: Mr Extremez Date: Tue, 22 Oct 2019 01:15:03 -0500 Subject: [PATCH 2/2] Fletching fix Should fix 2 people not being able to fletch at once. Let me know how it works - mr extremez :) --- 2006Redone Server/.classpath | 3 +++ 2006Redone Server/.gitignore | 1 + 2006Redone Server/.settings/org.eclipse.jdt.core.prefs | 6 +++--- .../game/content/skills/fletching/LogCuttingInterface.java | 7 +++---- 2006Redone Server/src/redone/game/npcs/Npc.java | 2 +- 5 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 2006Redone Server/.gitignore diff --git a/2006Redone Server/.classpath b/2006Redone Server/.classpath index 022d4bf7..1aa2d7d5 100644 --- a/2006Redone Server/.classpath +++ b/2006Redone Server/.classpath @@ -8,6 +8,9 @@ + + + diff --git a/2006Redone Server/.gitignore b/2006Redone Server/.gitignore new file mode 100644 index 00000000..ae3c1726 --- /dev/null +++ b/2006Redone Server/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/2006Redone Server/.settings/org.eclipse.jdt.core.prefs b/2006Redone Server/.settings/org.eclipse.jdt.core.prefs index f13ff237..4bacee51 100644 --- a/2006Redone Server/.settings/org.eclipse.jdt.core.prefs +++ b/2006Redone Server/.settings/org.eclipse.jdt.core.prefs @@ -1,14 +1,14 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 diff --git a/2006Redone Server/src/redone/game/content/skills/fletching/LogCuttingInterface.java b/2006Redone Server/src/redone/game/content/skills/fletching/LogCuttingInterface.java index 7d71b1c0..a239a3a7 100644 --- a/2006Redone Server/src/redone/game/content/skills/fletching/LogCuttingInterface.java +++ b/2006Redone Server/src/redone/game/content/skills/fletching/LogCuttingInterface.java @@ -20,11 +20,10 @@ public class LogCuttingInterface { } public static void Interface(Client c, int item) { - if (c.playerIsFletching == true && item > 1510 && item < 1522) { - c.getActionSender().sendMessage("You are already fletching!"); - c.getPlayerAssistant().closeAllWindows(); + if (c.playerIsFletching == true && (item > 1510 && item < 1522)) { + LogCutting.resetFletching(c); return; - } else if (item < 1510 && item > 1521) { + } else if (c.playerIsFletching == true && (item < 1510 || item > 1521)) { c.playerIsFletching = false; c.getActionSender().sendMessage("Nothing interesting happens."); } diff --git a/2006Redone Server/src/redone/game/npcs/Npc.java b/2006Redone Server/src/redone/game/npcs/Npc.java index a3a8875a..f27205df 100644 --- a/2006Redone Server/src/redone/game/npcs/Npc.java +++ b/2006Redone Server/src/redone/game/npcs/Npc.java @@ -64,7 +64,7 @@ public class Npc { updateRequired = true; } - public boolean requestTransformTime(Client player, int itemId, int animation, final int currentId, final int newId, int transformTime, int npcId) { + public boolean requestTransformTime(Client player, int itemId, int animation, final int currentId, final int newId, int transformTime, final int npcId) { if (!player.getItemAssistant().playerHasItem(itemId)) { player.getActionSender().sendMessage("You need " + ItemAssistant.getItemName(itemId).toLowerCase() + " to do that."); return false;