From fb0dd3a27db06abaab1bc6ce44766caeceabca78 Mon Sep 17 00:00:00 2001 From: randy Date: Thu, 13 Mar 2025 11:19:56 -0600 Subject: [PATCH] Minor fixes for the custom runecrafting implementation Fixed the exp rate for mind and fire runes. Combination runes now also get double exp like the rest of runecrafting, and all of them give the same exp as lava runes Added a message when crafting combination runes without a binding necklace. --- .../global/skill/runecrafting/CombinationRune.java | 10 +++++----- .../main/content/global/skill/runecrafting/Rune.java | 4 ++-- .../global/skill/runecrafting/RuneCraftPulse.java | 4 +++- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Server/src/main/content/global/skill/runecrafting/CombinationRune.java b/Server/src/main/content/global/skill/runecrafting/CombinationRune.java index 62760bfdc..e23a78f8b 100644 --- a/Server/src/main/content/global/skill/runecrafting/CombinationRune.java +++ b/Server/src/main/content/global/skill/runecrafting/CombinationRune.java @@ -7,11 +7,11 @@ import core.game.node.item.Item; * @author 'Vexia */ public enum CombinationRune { - MIST(new Item(4695), 6, 8.0, new Altar[] { Altar.WATER, Altar.AIR }, Rune.AIR, Rune.WATER), - DUST(new Item(4696), 10, 8.3, new Altar[] { Altar.EARTH, Altar.AIR }, Rune.AIR, Rune.EARTH), - MUD(new Item(4698), 13, 9.3, new Altar[] { Altar.EARTH, Altar.WATER }, Rune.WATER, Rune.EARTH), - SMOKE(new Item(4697), 15, 8.5, new Altar[] { Altar.FIRE, Altar.AIR }, Rune.AIR, Rune.FIRE), - STEAM(new Item(4694), 19, 9.3, new Altar[] { Altar.WATER, Altar.FIRE }, Rune.WATER, Rune.FIRE), + MIST(new Item(4695), 6, 10.0, new Altar[] { Altar.WATER, Altar.AIR }, Rune.AIR, Rune.WATER), + DUST(new Item(4696), 10, 10.0, new Altar[] { Altar.EARTH, Altar.AIR }, Rune.AIR, Rune.EARTH), + MUD(new Item(4698), 13, 10.0, new Altar[] { Altar.EARTH, Altar.WATER }, Rune.WATER, Rune.EARTH), + SMOKE(new Item(4697), 15, 10.0, new Altar[] { Altar.FIRE, Altar.AIR }, Rune.AIR, Rune.FIRE), + STEAM(new Item(4694), 19, 10.0, new Altar[] { Altar.WATER, Altar.FIRE }, Rune.WATER, Rune.FIRE), LAVA(new Item(4699), 23, 10.0, new Altar[] { Altar.FIRE, Altar.EARTH }, Rune.EARTH, Rune.FIRE); /** diff --git a/Server/src/main/content/global/skill/runecrafting/Rune.java b/Server/src/main/content/global/skill/runecrafting/Rune.java index 78bd327b9..ef69a1d2f 100644 --- a/Server/src/main/content/global/skill/runecrafting/Rune.java +++ b/Server/src/main/content/global/skill/runecrafting/Rune.java @@ -10,10 +10,10 @@ import core.game.node.item.Item; */ public enum Rune { AIR(Runes.AIR_RUNE.transform(), 1, 5, new int[] { 1, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }), - MIND(Runes.MIND_RUNE.transform(), 2, 5, new int[] { 1, 14, 28, 42, 56, 70, 84, 98, 112 }), + MIND(Runes.MIND_RUNE.transform(), 2, 5.5, new int[] { 1, 14, 28, 42, 56, 70, 84, 98, 112 }), WATER(Runes.WATER_RUNE.transform(), 1, 5, new int[] { 1, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }), EARTH(Runes.EARTH_RUNE.transform(), 1, 5, new int[] { 1, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }), - FIRE(Runes.FIRE_RUNE.transform(), 1, 7, new int[] { 1, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }), + FIRE(Runes.FIRE_RUNE.transform(), 1, 5, new int[] { 1, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }), BODY(Runes.BODY_RUNE.transform(), 20, 7.5, new int[] { 1, 46, 92, 138 }), COSMIC(Runes.COSMIC_RUNE.transform(), 27, 8, new int[] { 1, 59, 118 }), CHAOS(Runes.CHAOS_RUNE.transform(), 35, 8.5, new int[] { 1, 74, 148 }), diff --git a/Server/src/main/content/global/skill/runecrafting/RuneCraftPulse.java b/Server/src/main/content/global/skill/runecrafting/RuneCraftPulse.java index 4781983fb..819337a57 100644 --- a/Server/src/main/content/global/skill/runecrafting/RuneCraftPulse.java +++ b/Server/src/main/content/global/skill/runecrafting/RuneCraftPulse.java @@ -278,7 +278,7 @@ public final class RuneCraftPulse extends SkillPulse { int runeAmt = player.getInventory().getAmount(rune); amount = Math.min(multiplier, runeAmt); if (removeItem(player, new Item(PURE_ESSENCE.getId(), essenceAmt), Container.INVENTORY) && removeItem(player, new Item(rune.getId(), amount), Container.INVENTORY)) { - rewardXP(player, Skills.RUNECRAFTING, combo.getExperience()); + rewardXP(player, Skills.RUNECRAFTING, combo.getExperience() * 2); for (int i = 0; i < amount; i++) { if (RandomFunction.random(1, 3) == 1 || hasBindingNecklace()) { addItemOrDrop(player, combo.getRune().getId(), 1); @@ -293,6 +293,8 @@ public final class RuneCraftPulse extends SkillPulse { playAudio(player, Sounds.DESTROY_OBJECT_2381); } } + } else { + sendMessage(player, "Some of the runes are destroyed, as you are not wearing a Binding Necklace."); } // Snowscape: adding the imbue effect after crafting so that a talisman isn't required for every essence player.setAttribute("spell:imbue", GameWorld.getTicks() + 20);