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.
This commit is contained in:
randy 2025-03-13 11:19:56 -06:00
parent 81730af934
commit fb0dd3a27d
3 changed files with 10 additions and 8 deletions

View file

@ -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);
/**

View file

@ -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 }),

View file

@ -278,7 +278,7 @@ public final class RuneCraftPulse extends SkillPulse<Item> {
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<Item> {
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);