From 8f0ce1f7a230513223ebc2389fd25f1419c9731f Mon Sep 17 00:00:00 2001 From: Avi Weinstock Date: Thu, 14 Oct 2021 16:51:23 -0400 Subject: [PATCH] Add sound effects for chivalry, piety, potionmaking, and pouchmaking. --- .../core/game/node/entity/player/link/prayer/Prayer.java | 4 ++++ .../game/node/entity/player/link/prayer/PrayerType.java | 4 ++-- .../game/node/entity/skill/herblore/HerblorePulse.java | 2 ++ .../game/node/entity/skill/summoning/SummoningCreator.java | 1 + .../kotlin/rs09/game/system/command/sets/MiscCommandSet.kt | 7 +++++++ 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java b/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java index 019ad27a1..b2718b75d 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java +++ b/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java @@ -43,6 +43,10 @@ public final class Prayer { */ public Prayer(Player player) { this.player = player; + + // 1050 is checked client-side for making piety/chivalry disallowed sfx, likely due to the minigame requirement. + // Set it here unconditionally until the minigame is implemented. + player.varpManager.get(1050).setVarbit(1, 8); } /** diff --git a/Server/src/main/java/core/game/node/entity/player/link/prayer/PrayerType.java b/Server/src/main/java/core/game/node/entity/player/link/prayer/PrayerType.java index f015f945f..b49a8bef5 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/prayer/PrayerType.java +++ b/Server/src/main/java/core/game/node/entity/player/link/prayer/PrayerType.java @@ -61,8 +61,8 @@ public enum PrayerType { RETRIBUTION(46, 12, 98, 47, PrayerCategory.LIGHT_BROWN, PrayerCategory.MAGENTA, new Audio(10000)), REDEMPTION(49, 6, 99, 49, PrayerCategory.LIGHT_BROWN, PrayerCategory.MAGENTA, new Audio(2678)), SMITE(52, 2, 100, 51, PrayerCategory.LIGHT_BROWN, PrayerCategory.MAGENTA, new Audio(2685)), - CHIVALRY(60, 2, 1052, 55, PrayerCategory.PINK, 1000,65, new SkillBonus(Skills.DEFENCE, 0.2), new SkillBonus(Skills.STRENGTH, 0.18), new SkillBonus(Skills.ATTACK, 0.15)), - PIETY(70, 2, 1053, 57, PrayerCategory.PINK, 1000, 70 , new SkillBonus(Skills.DEFENCE, 0.25), new SkillBonus(Skills.STRENGTH, 0.23), new SkillBonus(Skills.ATTACK, 0.2)); + CHIVALRY(60, 2, 1052, 55, PrayerCategory.PINK, 3826, 65, new SkillBonus(Skills.DEFENCE, 0.2), new SkillBonus(Skills.STRENGTH, 0.18), new SkillBonus(Skills.ATTACK, 0.15)), + PIETY(70, 2, 1053, 57, PrayerCategory.PINK, 3825, 70, new SkillBonus(Skills.DEFENCE, 0.25), new SkillBonus(Skills.STRENGTH, 0.23), new SkillBonus(Skills.ATTACK, 0.2)); /** * Represents the a cache of objects related to prayers in order to decide diff --git a/Server/src/main/java/core/game/node/entity/skill/herblore/HerblorePulse.java b/Server/src/main/java/core/game/node/entity/skill/herblore/HerblorePulse.java index bf6639c8e..de9805852 100644 --- a/Server/src/main/java/core/game/node/entity/skill/herblore/HerblorePulse.java +++ b/Server/src/main/java/core/game/node/entity/skill/herblore/HerblorePulse.java @@ -117,6 +117,7 @@ public final class HerblorePulse extends SkillPulse { final Item item = potion.getProduct(); player.getInventory().add(item); player.getPacketDispatch().sendMessage("You put the" + StringUtils.formatDisplayName(potion.getIngredient().getName().toLowerCase().replace("clean", "")) + " leaf into the vial of water."); + player.getAudioManager().send(2608); if (cycles++ == 3) { player.animate(ANIMATION); cycles = 0; @@ -133,6 +134,7 @@ public final class HerblorePulse extends SkillPulse { player.getInventory().add(item); player.getSkills().addExperience(Skills.HERBLORE, potion.getExperience(), true); player.getPacketDispatch().sendMessage("You mix the " + potion.getIngredient().getName().toLowerCase() + " into your potion."); + player.getAudioManager().send(2608); player.animate(ANIMATION); } } diff --git a/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningCreator.java b/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningCreator.java index b8f8982af..effcd02ca 100644 --- a/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningCreator.java +++ b/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningCreator.java @@ -157,6 +157,7 @@ public final class SummoningCreator { if (getDelay() == 1) { setDelay(4); player.getPacketDispatch().sendSceneryAnimation(object, Animation.create(8509)); + player.getAudioManager().send(4164); // 4277 also sounds the same return false; } player.getPacketDispatch().sendSceneryAnimation(object, Animation.create(8510)); diff --git a/Server/src/main/kotlin/rs09/game/system/command/sets/MiscCommandSet.kt b/Server/src/main/kotlin/rs09/game/system/command/sets/MiscCommandSet.kt index 9512ea54c..c7b1ea3d4 100644 --- a/Server/src/main/kotlin/rs09/game/system/command/sets/MiscCommandSet.kt +++ b/Server/src/main/kotlin/rs09/game/system/command/sets/MiscCommandSet.kt @@ -312,6 +312,13 @@ class MiscCommandSet : CommandSet(Command.Privilege.ADMIN){ notify(player, "${VarbitDefinition.forObjectID(SceneryDefinition.forId(objectID).varbitID).configId}") } + define("define_varbit"){ player, args -> + if(args.size < 2) { + reject(player, "Syntax: ::define_varbit varbitId") + } + val varbitID = args[1].toInt() + notify(player, "${varbitID}: ${VarbitDefinition.forId(varbitID, 0)}") + } define("togglexp",Command.Privilege.STANDARD){ player, args -> val enabled = player.varpManager.get(2501).getVarbit(0)?.value == 1 player.varpManager.get(2501).setVarbit(0,if(enabled) 0 else 1).send(player)