music plugin: add option to mute prayer sounds

This commit is contained in:
Lewis
2020-04-02 17:26:21 +00:00
committed by GitHub
parent b81caff06f
commit 85c5cf9a19
3 changed files with 79 additions and 1 deletions

View File

@@ -62,7 +62,33 @@ public final class SoundEffectID
public final static int ZERO_DAMAGE_SPLAT = 511;
public final static int TAKE_DAMAGE_SPLAT = 510;
public final static int ATTACK_HIT = 2498;
public final static int PRAYER_ACTIVATE_VROOM = 2690;
public final static int PRAYER_ACTIVATE_THICK_SKIN = 2690;
public final static int PRAYER_ACTIVATE_BURST_OF_STRENGTH = 2688;
public final static int PRAYER_ACTIVATE_CLARITY_OF_THOUGHT = 2664;
public final static int PRAYER_ACTIVATE_SHARP_EYE_RIGOUR = 2685;
public final static int PRAYER_ACTIVATE_MYSTIC_WILL_AUGURY = 2670;
public final static int PRAYER_ACTIVATE_ROCK_SKIN = 2684;
public final static int PRAYER_ACTIVATE_SUPERHUMAN_STRENGTH = 2689;
public final static int PRAYER_ACTIVATE_IMPROVED_REFLEXES = 2662;
public final static int PRAYER_ACTIVATE_RAPID_RESTORE_PRESERVE = 2679;
public final static int PRAYER_ACTIVATE_RAPID_HEAL = 2678;
public final static int PRAYER_ACTIVATE_PROTECT_ITEM = 1982;
public final static int PRAYER_ACTIVATE_HAWK_EYE = 2666;
public final static int PRAYER_ACTIVATE_MYSTIC_LORE = 2668;
public final static int PRAYER_ACTIVATE_STEEL_SKIN = 2687;
public final static int PRAYER_ACTIVATE_ULTIMATE_STRENGTH = 2691;
public final static int PRAYER_ACTIVATE_INCREDIBLE_REFLEXES = 2667;
public final static int PRAYER_ACTIVATE_PROTECT_FROM_MAGIC = 2675;
public final static int PRAYER_ACTIVATE_PROTECT_FROM_MISSILES = 2677;
public final static int PRAYER_ACTIVATE_PROTECT_FROM_MELEE = 2676;
public final static int PRAYER_ACTIVATE_EAGLE_EYE = 2665;
public final static int PRAYER_ACTIVATE_MYSTIC_MIGHT = 2669;
public final static int PRAYER_ACTIVATE_RETRIBUTION = 2682;
public final static int PRAYER_ACTIVATE_REDEMPTION = 2680;
public final static int PRAYER_ACTIVATE_SMITE = 2686;
public final static int PRAYER_ACTIVATE_CHIVALRY = 3826;
public final static int PRAYER_ACTIVATE_PIETY = 3825;
public final static int PRAYER_DEACTIVE_VWOOP = 2663;
public final static int PRAYER_DEPLETE_TWINKLE = 2672;

View File

@@ -75,6 +75,17 @@ public interface MusicConfig extends Config
return false;
}
@ConfigItem(
keyName = "mutePrayerSounds",
name = "Mute prayer sounds",
description = "Mute prayer activation and deactivation sounds",
position = 4
)
default boolean mutePrayerSounds()
{
return false;
}
@ConfigItem(
keyName = "musicVolume",
name = "",

View File

@@ -50,6 +50,7 @@ import net.runelite.api.SpriteID;
import net.runelite.api.VarClientInt;
import net.runelite.api.VarPlayer;
import net.runelite.api.events.AreaSoundEffectPlayed;
import net.runelite.api.events.SoundEffectPlayed;
import net.runelite.client.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.ScriptCallbackEvent;
@@ -82,6 +83,36 @@ public class MusicPlugin extends Plugin
SoundEffectID.TELEPORT_VWOOP
);
private static final Set<Integer> PRAYER_SOUNDS = ImmutableSet.of(
SoundEffectID.PRAYER_ACTIVATE_THICK_SKIN,
SoundEffectID.PRAYER_ACTIVATE_BURST_OF_STRENGTH,
SoundEffectID.PRAYER_ACTIVATE_CLARITY_OF_THOUGHT,
SoundEffectID.PRAYER_ACTIVATE_SHARP_EYE_RIGOUR,
SoundEffectID.PRAYER_ACTIVATE_MYSTIC_WILL_AUGURY,
SoundEffectID.PRAYER_ACTIVATE_ROCK_SKIN,
SoundEffectID.PRAYER_ACTIVATE_SUPERHUMAN_STRENGTH,
SoundEffectID.PRAYER_ACTIVATE_IMPROVED_REFLEXES,
SoundEffectID.PRAYER_ACTIVATE_RAPID_RESTORE_PRESERVE,
SoundEffectID.PRAYER_ACTIVATE_RAPID_HEAL,
SoundEffectID.PRAYER_ACTIVATE_PROTECT_ITEM,
SoundEffectID.PRAYER_ACTIVATE_HAWK_EYE,
SoundEffectID.PRAYER_ACTIVATE_MYSTIC_LORE,
SoundEffectID.PRAYER_ACTIVATE_STEEL_SKIN,
SoundEffectID.PRAYER_ACTIVATE_ULTIMATE_STRENGTH,
SoundEffectID.PRAYER_ACTIVATE_INCREDIBLE_REFLEXES,
SoundEffectID.PRAYER_ACTIVATE_PROTECT_FROM_MAGIC,
SoundEffectID.PRAYER_ACTIVATE_PROTECT_FROM_MISSILES,
SoundEffectID.PRAYER_ACTIVATE_PROTECT_FROM_MELEE,
SoundEffectID.PRAYER_ACTIVATE_EAGLE_EYE,
SoundEffectID.PRAYER_ACTIVATE_MYSTIC_MIGHT,
SoundEffectID.PRAYER_ACTIVATE_RETRIBUTION,
SoundEffectID.PRAYER_ACTIVATE_REDEMPTION,
SoundEffectID.PRAYER_ACTIVATE_SMITE,
SoundEffectID.PRAYER_ACTIVATE_CHIVALRY,
SoundEffectID.PRAYER_ACTIVATE_PIETY,
SoundEffectID.PRAYER_DEACTIVE_VWOOP
);
@Inject
private Client client;
@@ -590,4 +621,14 @@ public class MusicPlugin extends Plugin
areaSoundEffectPlayed.consume();
}
}
@Subscribe
public void onSoundEffectPlayed(SoundEffectPlayed soundEffectPlayed)
{
if (musicConfig.mutePrayerSounds()
&& PRAYER_SOUNDS.contains(soundEffectPlayed.getSoundId()))
{
soundEffectPlayed.consume();
}
}
}