From d2c34451b3335af60ccf46cda9d86d639c194aa3 Mon Sep 17 00:00:00 2001 From: Mohammad Shoaib Khan Date: Mon, 20 Feb 2023 11:48:24 +0530 Subject: [PATCH] Added sound cue when the slot item is not usable --- invalid-selection-license.txt | 32 ++++++++++++++++++ stardew-access/CustomSoundEffects.cs | 1 + stardew-access/Patches/GameMenuPatches.cs | 8 ++++- stardew-access/Patches/MenuPatches.cs | 15 ++++++++ .../assets/sounds/invalid-selection.wav | Bin 0 -> 30836 bytes 5 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 invalid-selection-license.txt create mode 100644 stardew-access/assets/sounds/invalid-selection.wav diff --git a/invalid-selection-license.txt b/invalid-selection-license.txt new file mode 100644 index 0000000..f1b27d8 --- /dev/null +++ b/invalid-selection-license.txt @@ -0,0 +1,32 @@ +PIXABAY LICENSE CERTIFICATE +============================================== + +This document confirms the download of an audio file pursuant to the Pixabay License as defined in the Pixabay Terms of Service available at https://https://pixabay.com/service/terms/ + +Licensor's Username: +https://pixabay.com/users/pixabay-1/ + +Licensee: +TheOneWhoKnocks + +Audio File Title: +Invalid Selection + +Audio File URL: +https://pixabay.com/sound-effects/invalid-selection-39351/ + +Audio File ID: +39351 + +Date of download: +2023-02-20 05:52:26 UTC + +Pixabay GmbH c/o Lacore Rechtsanwälte LLP +Berliner Freiheit 2, 10785 Berlin, Germany + +Pixabay is a user-contributed stock content website. The above-named Licensor is responsible for this audio file. Pixabay monitors uploaded audio files only to a reasonable extent. Pixabay cannot be held responsible for the acts or omissions of its users and does not represent or warrant that any required third-party consents or licenses have been obtained. + +For any queries related to this document please contact Pixabay via info@pixabay.com. + + +==== THIS IS NOT A TAX RECEIPT OR INVOICE ==== \ No newline at end of file diff --git a/stardew-access/CustomSoundEffects.cs b/stardew-access/CustomSoundEffects.cs index b5610e4..f4c6d43 100644 --- a/stardew-access/CustomSoundEffects.cs +++ b/stardew-access/CustomSoundEffects.cs @@ -22,6 +22,7 @@ namespace stardew_access soundEffects.Add("drop_item", TYPE.Sound); soundEffects.Add("colliding", TYPE.Sound); + soundEffects.Add("invalid-selection", TYPE.Sound); soundEffects.Add("npc_top", TYPE.Footstep); soundEffects.Add("npc_right", TYPE.Footstep); diff --git a/stardew-access/Patches/GameMenuPatches.cs b/stardew-access/Patches/GameMenuPatches.cs index e1c2d46..ead5f39 100644 --- a/stardew-access/Patches/GameMenuPatches.cs +++ b/stardew-access/Patches/GameMenuPatches.cs @@ -1,5 +1,4 @@ using StardewValley; -using StardewValley.Locations; using StardewValley.Menus; using StardewValley.Objects; @@ -21,6 +20,7 @@ namespace stardew_access.Patches internal static string profilePageQuery = ""; internal static int currentSelectedCraftingRecipe = -1; internal static bool isSelectingRecipe = false; + internal static int prevSlotIndex = -999; internal static void CollectionsPagePatch(CollectionsPage __instance) { @@ -1295,6 +1295,12 @@ namespace stardew_access.Patches if (!inventoryMenu.highlightMethod(actualInventory[i])) { name = $"{name} not usable here"; + + if (prevSlotIndex != i) + { + prevSlotIndex = i; + Game1.playSound("invalid-selection"); + } } if (giveExtraDetails) diff --git a/stardew-access/Patches/MenuPatches.cs b/stardew-access/Patches/MenuPatches.cs index 993d580..ca05742 100644 --- a/stardew-access/Patches/MenuPatches.cs +++ b/stardew-access/Patches/MenuPatches.cs @@ -16,6 +16,7 @@ namespace stardew_access.Patches internal static string pondQueryMenuQuery = " "; internal static string forgeMenuQuery = " "; internal static string itemListMenuQuery = " "; + internal static int prevSlotIndex = -999; public static Vector2? prevTile = null; internal static void ItemListMenuPatch(ItemListMenu __instance, string ___title, int ___currentTab, int ___totalValueOfItems, List ___itemsToList) @@ -143,6 +144,13 @@ namespace stardew_access.Patches { toSpeak = $"{toSpeak} not usable here"; } + + if (prevSlotIndex != i) + { + prevSlotIndex = i; + MainClass.DebugLog("here"); + Game1.playSound("invalid-selection"); + } } if (forgeMenuQuery != $"{toSpeak}:{i}") @@ -310,6 +318,13 @@ namespace stardew_access.Patches { toSpeak = $"{toSpeak} not usable here"; } + + if (prevSlotIndex != i) + { + prevSlotIndex = i; + MainClass.DebugLog("here"); + Game1.playSound("invalid-selection"); + } } if (tailoringMenuQuery != $"{toSpeak}:{i}") diff --git a/stardew-access/assets/sounds/invalid-selection.wav b/stardew-access/assets/sounds/invalid-selection.wav new file mode 100644 index 0000000000000000000000000000000000000000..83e63bada354ac5edf4711b63e399d63de3a49e5 GIT binary patch literal 30836 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 literal 0 HcmV?d00001