From f9fdcaa1cdc74e2d2c69f05be64854ae35ccb933 Mon Sep 17 00:00:00 2001 From: Georgios Atheridis Date: Sat, 14 Jan 2023 08:54:52 +0000 Subject: [PATCH] added the ability to have soundpacks and made it easier to add or remove sounds --- announcer.pyw | 141 ++++++++++-------- sounds/{ => peks/AllyAce}/allyace.mp3 | Bin .../AllyDeath}/anallyhasbeenslain1.mp3 | Bin .../AllyDeath}/anallyhasbeenslain2.mp3 | Bin .../{ => peks/AllyDoubleKill}/doublekill1.mp3 | Bin .../{ => peks/AllyDoubleKill}/doublekill2.mp3 | Bin .../yourteamhasdestroyedaninhibitor1.mp3 | Bin .../yourteamhasdestroyedaninhibitor2.mp3 | Bin .../yourinhibitorhasrespawned.mp3 | Bin .../yourinhibitorisrespawningsoon.mp3 | Bin .../AllyKill}/anenemyhasbeenslain1.mp3 | Bin .../AllyKill}/anenemyhasbeenslain2.mp3 | Bin .../AllyKill}/anenemyhasbeenslain3.mp3 | Bin .../{ => peks/AllyPentaKill}/pentakill1.mp3 | Bin .../{ => peks/AllyPentaKill}/pentakill2.mp3 | Bin .../{ => peks/AllyQuadraKill}/quadrakill.mp3 | Bin .../{ => peks/AllyTripleKill}/triplekill.mp3 | Bin .../yourteamhasdestroyedaturret.mp3 | Bin sounds/{ => peks/Defeat}/defeat.mp3 | Bin sounds/{ => peks/EnemyAce}/enemyace.mp3 | Bin .../EnemyDoubleKill}/enemydoublekill.mp3 | Bin .../yourinhibitorhasbeendestroyed1.mp3 | Bin .../yourinhibitorhasbeendestroyed2.mp3 | Bin .../enemyinhibitorhasrespawned.mp3 | Bin .../enemyinhibitorisrespawningsoon.mp3 | Bin .../EnemyPentaKill}/enemypentakill.mp3 | Bin .../EnemyQuadraKill}/enemyquadrakill.mp3 | Bin .../EnemyTripleKill}/enemytriplekill.mp3 | Bin .../yourturrethasbeendestroyed1.mp3 | Bin .../yourturrethasbeendestroyed2.mp3 | Bin sounds/{ => peks/Executed}/executed1.mp3 | Bin sounds/{ => peks/Executed}/executed2.mp3 | Bin sounds/{ => peks/Executed}/executed3.mp3 | Bin sounds/{ => peks/FirstBlood}/firstblood.mp3 | Bin .../MinionsSpawning}/minionshavespawned.mp3 | Bin .../30secondsuntilminionsspawn.mp3 | Bin .../PlayerDeath}/youhavebeenslain1.mp3 | Bin .../PlayerDeath}/youhavebeenslain2.mp3 | Bin .../PlayerKill}/youhaveslainanenemy1.mp3 | Bin .../PlayerKill}/youhaveslainanenemy2.mp3 | Bin .../PlayerKill}/youhaveslainanenemy3.mp3 | Bin sounds/{ => peks/Victory}/victory.mp3 | Bin .../Welcome}/welcometosummonersrift.mp3 | Bin 43 files changed, 75 insertions(+), 66 deletions(-) rename sounds/{ => peks/AllyAce}/allyace.mp3 (100%) rename sounds/{ => peks/AllyDeath}/anallyhasbeenslain1.mp3 (100%) rename sounds/{ => peks/AllyDeath}/anallyhasbeenslain2.mp3 (100%) rename sounds/{ => peks/AllyDoubleKill}/doublekill1.mp3 (100%) rename sounds/{ => peks/AllyDoubleKill}/doublekill2.mp3 (100%) rename sounds/{ => peks/AllyInhibitorKill}/yourteamhasdestroyedaninhibitor1.mp3 (100%) rename sounds/{ => peks/AllyInhibitorKill}/yourteamhasdestroyedaninhibitor2.mp3 (100%) rename sounds/{ => peks/AllyInhibitorRespawned}/yourinhibitorhasrespawned.mp3 (100%) rename sounds/{ => peks/AllyInhibitorRespawningSoon}/yourinhibitorisrespawningsoon.mp3 (100%) rename sounds/{ => peks/AllyKill}/anenemyhasbeenslain1.mp3 (100%) rename sounds/{ => peks/AllyKill}/anenemyhasbeenslain2.mp3 (100%) rename sounds/{ => peks/AllyKill}/anenemyhasbeenslain3.mp3 (100%) rename sounds/{ => peks/AllyPentaKill}/pentakill1.mp3 (100%) rename sounds/{ => peks/AllyPentaKill}/pentakill2.mp3 (100%) rename sounds/{ => peks/AllyQuadraKill}/quadrakill.mp3 (100%) rename sounds/{ => peks/AllyTripleKill}/triplekill.mp3 (100%) rename sounds/{ => peks/AllyTurretKill}/yourteamhasdestroyedaturret.mp3 (100%) rename sounds/{ => peks/Defeat}/defeat.mp3 (100%) rename sounds/{ => peks/EnemyAce}/enemyace.mp3 (100%) rename sounds/{ => peks/EnemyDoubleKill}/enemydoublekill.mp3 (100%) rename sounds/{ => peks/EnemyInhibitorKill}/yourinhibitorhasbeendestroyed1.mp3 (100%) rename sounds/{ => peks/EnemyInhibitorKill}/yourinhibitorhasbeendestroyed2.mp3 (100%) rename sounds/{ => peks/EnemyInhibitorRespawned}/enemyinhibitorhasrespawned.mp3 (100%) rename sounds/{ => peks/EnemyInhibitorRespawningSoon}/enemyinhibitorisrespawningsoon.mp3 (100%) rename sounds/{ => peks/EnemyPentaKill}/enemypentakill.mp3 (100%) rename sounds/{ => peks/EnemyQuadraKill}/enemyquadrakill.mp3 (100%) rename sounds/{ => peks/EnemyTripleKill}/enemytriplekill.mp3 (100%) rename sounds/{ => peks/EnemyTurretKill}/yourturrethasbeendestroyed1.mp3 (100%) rename sounds/{ => peks/EnemyTurretKill}/yourturrethasbeendestroyed2.mp3 (100%) rename sounds/{ => peks/Executed}/executed1.mp3 (100%) rename sounds/{ => peks/Executed}/executed2.mp3 (100%) rename sounds/{ => peks/Executed}/executed3.mp3 (100%) rename sounds/{ => peks/FirstBlood}/firstblood.mp3 (100%) rename sounds/{ => peks/MinionsSpawning}/minionshavespawned.mp3 (100%) rename sounds/{ => peks/MinionsSpawningSoon}/30secondsuntilminionsspawn.mp3 (100%) rename sounds/{ => peks/PlayerDeath}/youhavebeenslain1.mp3 (100%) rename sounds/{ => peks/PlayerDeath}/youhavebeenslain2.mp3 (100%) rename sounds/{ => peks/PlayerKill}/youhaveslainanenemy1.mp3 (100%) rename sounds/{ => peks/PlayerKill}/youhaveslainanenemy2.mp3 (100%) rename sounds/{ => peks/PlayerKill}/youhaveslainanenemy3.mp3 (100%) rename sounds/{ => peks/Victory}/victory.mp3 (100%) rename sounds/{ => peks/Welcome}/welcometosummonersrift.mp3 (100%) diff --git a/announcer.pyw b/announcer.pyw index 5c382c0..d7820ab 100644 --- a/announcer.pyw +++ b/announcer.pyw @@ -4,10 +4,9 @@ import urllib3 import audioplayer import os import sys -from os import path, _exit import random -from tkinter import * -from tkinter.ttk import Combobox +import tkinter +import tkinter.ttk import threading if os.name == "posix": @@ -35,65 +34,46 @@ else: sys.exit(1) SOUNDS_FOLDER = "sounds/" -EVENT_SOUNDS = { - "Welcome": ["welcometosummonersrift.mp3"], - "MinionsSpawningSoon": ["30secondsuntilminionsspawn.mp3"], - "MinionsSpawning": ["minionshavespawned.mp3"], - "FirstBlood": ["firstblood.mp3"], - "PlayerKill": ["youhaveslainanenemy1.mp3", "youhaveslainanenemy2.mp3", "youhaveslainanenemy3.mp3"], - "PlayerDeath": ["youhavebeenslain1.mp3", "youhavebeenslain2.mp3"], - "AllyDeath": ["anallyhasbeenslain1.mp3", "anallyhasbeenslain2.mp3"], - "AllyKill": ["anenemyhasbeenslain1.mp3", "anenemyhasbeenslain2.mp3", "anenemyhasbeenslain3.mp3"], - "AllyDoubleKill": ["doublekill1.mp3", "doublekill2.mp3"], - "AllyTripleKill": ["triplekill.mp3"], - "AllyQuadraKill": ["quadrakill.mp3"], - "AllyPentaKill": ["pentakill1.mp3", "pentakill2.mp3"], - "EnemyDoubleKill": ["enemydoublekill.mp3"], - "EnemyTripleKill": ["enemytriplekill.mp3"], - "EnemyQuadraKill": ["enemyquadrakill.mp3"], - "EnemyPentaKill": ["enemypentakill.mp3"], - "AllyAce": ["allyace.mp3"], - "EnemyAce": ["enemyace.mp3"], - "Executed": ["executed1.mp3", "executed2.mp3", "executed3.mp3"], - "AllyTurretKill": ["yourteamhasdestroyedaturret.mp3"], - "EnemyTurretKill": ["yourturrethasbeendestroyed1.mp3", "yourturrethasbeendestroyed2.mp3"], - "AllyInhibitorKill": ["yourteamhasdestroyedaninhibitor1.mp3", "yourteamhasdestroyedaninhibitor2.mp3"], - "EnemyInhibitorKill": ["yourinhibitorhasbeendestroyed1.mp3", "yourinhibitorhasbeendestroyed2.mp3"], - "AllyInhibitorRespawningSoon": ["yourinhibitorisrespawningsoon.mp3"], - "EnemyInhibitorRespawningSoon": ["enemyinhibitorisrespawningsoon.mp3"], - "AllyInhibitorRespawned": ["yourinhibitorhasrespawned.mp3"], - "EnemyInhibitorRespawned": ["enemyinhibitorhasrespawned.mp3"], - "Victory": ["victory.mp3"], - "Defeat": ["defeat.mp3"], -} +SOUND_PACKS = os.listdir(SOUNDS_FOLDER) volume = 100 -def play_event_sound(event): - ap = audioplayer.AudioPlayer(SOUNDS_FOLDER + random.choice(EVENT_SOUNDS[event])) + +def play_event_sound(event: str): + global sound_pack + event_sounds = os.path.join(SOUNDS_FOLDER, sound_pack.get(), event) + sound = random.choice(os.listdir(event_sounds)) + ap = audioplayer.AudioPlayer(os.path.join(event_sounds, sound)) ap.volume = volume ap.play(block=True) + def update_volume(v): global volume volume = int(v) + def mute(): global volume_slider volume_slider.set(0) - + + def play_random_sound(): - sound = random.choice(list(EVENT_SOUNDS.keys())) + global sound_pack + sound_pack_dir = os.path.join(SOUNDS_FOLDER, sound_pack.get()) + events = os.listdir(sound_pack_dir) + event = random.choice(events) threading.Thread( target=play_event_sound, - args=(sound,), + args=(event,), ).start() - # play_event_sound(random.choice(list(EVENT_SOUNDS.keys()))) - + + def close_script(): gui.quit() gui.destroy() - _exit(1) - + os._exit(0) + + # Ignore the Unverified HTTPS request warning. urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) @@ -102,19 +82,23 @@ game_time = 0 previous_event_count = 0 event_count = 0 -# Get event count so if the program is started in the middle of the match it doesn't play every announcement -# sound which happened until that point. +# Get event count so if the program is started in the middle of the match +# it doesn't play every announcement sound which happened until that point. try: # Get all data from the game in JSON format. - all_game_data = requests.get('https://127.0.0.1:2999/liveclientdata/allgamedata', verify=False).json() + all_game_data = requests.get( + 'https://127.0.0.1:2999/liveclientdata/allgamedata', + verify=False + ).json() events = all_game_data["events"]["Events"] event_count = len(events) previous_event_count = event_count except: pass -def announcer_loop(): +def announcer_loop(): + global stop # File for logging exceptions. os.makedirs(LOGS_DIR, exist_ok=True) log_file = open(os.path.join(LOGS_DIR, "logs.txt"), "w") @@ -124,13 +108,19 @@ def announcer_loop(): global previous_event_count global event_count + global sound_pack + while True: try: # Get all data from the game in JSON format. - all_game_data = requests.get('https://127.0.0.1:2999/liveclientdata/allgamedata', verify=False).json() + all_game_data = requests.get( + 'https://127.0.0.1:2999/liveclientdata/allgamedata', + verify=False + ).json() game_time = all_game_data["gameData"]["gameTime"] events = all_game_data["events"]["Events"] + # TODO: move some things to only update once per game. player_name = all_game_data["activePlayer"]["summonerName"] player_team = "" @@ -139,7 +129,8 @@ def announcer_loop(): ally_team_players = [] enemy_team_players = [] - # Populate team chaos and team order players lists and figure out which team the player is on. + # Populate team chaos and team order players lists + # and figure out which team the player is on. for player in all_game_data["allPlayers"]: if player["team"] == "ORDER": team_order_players.append(player["summonerName"]) @@ -273,7 +264,7 @@ def announcer_loop(): play_event_sound("Victory") # Defeat elif event["Result"] == "Lose": - play_event_sound("Defeat") + play_event_sound("Defeat") # TODO: killing streaks previous_game_time = game_time previous_event_count = event_count @@ -283,12 +274,11 @@ def announcer_loop(): log_file.write(repr(e) + "\n") log_file.flush() time.sleep(5) - + if __name__ == '__main__': - # GUI that shows a slider for sound volume control and a button for testing volume. - gui = Tk() - gui.geometry("260x125") + gui = tkinter.Tk() + gui.geometry("300x150") gui.title("Peks Announcer") gui.protocol("WM_DELETE_WINDOW", close_script) @@ -296,19 +286,38 @@ if __name__ == '__main__': if os.name == "nt": gui.wm_iconbitmap("appicon.ico") - title = Label(text="Hello World") - title.grid(row=0, column=0) - volume_slider = Scale(gui, from_=0, to=100, orient=HORIZONTAL, command=update_volume) + title = tkinter.Label(text="Hello World") + title.grid(row=0, column=0, columnspan=2) + + volume_slider = tkinter.Scale( + gui, + from_=0, + to=100, + orient=tkinter.HORIZONTAL, + command=update_volume, + ) + mute_button = tkinter.Button(gui, text='Mute', command=mute) + mute_button.grid(row=1, column=0) + volume_slider.set(50) - volume_slider.grid(row=1, column=0) - mute_button = Button(gui, text='Mute', command=mute) - mute_button.grid(row=1, column=1) - Button(gui, text='Test volume', command=play_random_sound).grid() - switchtitle = Label(text="Hello World") - switchtitle.grid(row=2, column=1) - pack_switch = Combobox(values=["Peks", "Myles", "Test"]) - pack_switch.grid(row=3, column=1) + volume_slider.grid(row=1, column=1, columnspan=2) + + test_volume_button = tkinter.Button( + gui, + text='Test volume', + command=play_random_sound + ) + test_volume_button.grid(row=1, column=4) + + switchtitle = tkinter.Label(text="Choose Sound Pack") + switchtitle.grid(row=2, column=0, columnspan=4) + + sound_pack = tkinter.StringVar() + sound_pack.set(SOUND_PACKS[0]) + sound_pack_dropdown = tkinter.OptionMenu(gui, sound_pack, *SOUND_PACKS) + sound_pack_dropdown.grid(row=3, column=0, columnspan=4) + announcer_thread = threading.Thread(target=announcer_loop) announcer_thread.start() - mainloop() + gui.mainloop() diff --git a/sounds/allyace.mp3 b/sounds/peks/AllyAce/allyace.mp3 similarity index 100% rename from sounds/allyace.mp3 rename to sounds/peks/AllyAce/allyace.mp3 diff --git a/sounds/anallyhasbeenslain1.mp3 b/sounds/peks/AllyDeath/anallyhasbeenslain1.mp3 similarity index 100% rename from sounds/anallyhasbeenslain1.mp3 rename to sounds/peks/AllyDeath/anallyhasbeenslain1.mp3 diff --git a/sounds/anallyhasbeenslain2.mp3 b/sounds/peks/AllyDeath/anallyhasbeenslain2.mp3 similarity index 100% rename from sounds/anallyhasbeenslain2.mp3 rename to sounds/peks/AllyDeath/anallyhasbeenslain2.mp3 diff --git a/sounds/doublekill1.mp3 b/sounds/peks/AllyDoubleKill/doublekill1.mp3 similarity index 100% rename from sounds/doublekill1.mp3 rename to sounds/peks/AllyDoubleKill/doublekill1.mp3 diff --git a/sounds/doublekill2.mp3 b/sounds/peks/AllyDoubleKill/doublekill2.mp3 similarity index 100% rename from sounds/doublekill2.mp3 rename to sounds/peks/AllyDoubleKill/doublekill2.mp3 diff --git a/sounds/yourteamhasdestroyedaninhibitor1.mp3 b/sounds/peks/AllyInhibitorKill/yourteamhasdestroyedaninhibitor1.mp3 similarity index 100% rename from sounds/yourteamhasdestroyedaninhibitor1.mp3 rename to sounds/peks/AllyInhibitorKill/yourteamhasdestroyedaninhibitor1.mp3 diff --git a/sounds/yourteamhasdestroyedaninhibitor2.mp3 b/sounds/peks/AllyInhibitorKill/yourteamhasdestroyedaninhibitor2.mp3 similarity index 100% rename from sounds/yourteamhasdestroyedaninhibitor2.mp3 rename to sounds/peks/AllyInhibitorKill/yourteamhasdestroyedaninhibitor2.mp3 diff --git a/sounds/yourinhibitorhasrespawned.mp3 b/sounds/peks/AllyInhibitorRespawned/yourinhibitorhasrespawned.mp3 similarity index 100% rename from sounds/yourinhibitorhasrespawned.mp3 rename to sounds/peks/AllyInhibitorRespawned/yourinhibitorhasrespawned.mp3 diff --git a/sounds/yourinhibitorisrespawningsoon.mp3 b/sounds/peks/AllyInhibitorRespawningSoon/yourinhibitorisrespawningsoon.mp3 similarity index 100% rename from sounds/yourinhibitorisrespawningsoon.mp3 rename to sounds/peks/AllyInhibitorRespawningSoon/yourinhibitorisrespawningsoon.mp3 diff --git a/sounds/anenemyhasbeenslain1.mp3 b/sounds/peks/AllyKill/anenemyhasbeenslain1.mp3 similarity index 100% rename from sounds/anenemyhasbeenslain1.mp3 rename to sounds/peks/AllyKill/anenemyhasbeenslain1.mp3 diff --git a/sounds/anenemyhasbeenslain2.mp3 b/sounds/peks/AllyKill/anenemyhasbeenslain2.mp3 similarity index 100% rename from sounds/anenemyhasbeenslain2.mp3 rename to sounds/peks/AllyKill/anenemyhasbeenslain2.mp3 diff --git a/sounds/anenemyhasbeenslain3.mp3 b/sounds/peks/AllyKill/anenemyhasbeenslain3.mp3 similarity index 100% rename from sounds/anenemyhasbeenslain3.mp3 rename to sounds/peks/AllyKill/anenemyhasbeenslain3.mp3 diff --git a/sounds/pentakill1.mp3 b/sounds/peks/AllyPentaKill/pentakill1.mp3 similarity index 100% rename from sounds/pentakill1.mp3 rename to sounds/peks/AllyPentaKill/pentakill1.mp3 diff --git a/sounds/pentakill2.mp3 b/sounds/peks/AllyPentaKill/pentakill2.mp3 similarity index 100% rename from sounds/pentakill2.mp3 rename to sounds/peks/AllyPentaKill/pentakill2.mp3 diff --git a/sounds/quadrakill.mp3 b/sounds/peks/AllyQuadraKill/quadrakill.mp3 similarity index 100% rename from sounds/quadrakill.mp3 rename to sounds/peks/AllyQuadraKill/quadrakill.mp3 diff --git a/sounds/triplekill.mp3 b/sounds/peks/AllyTripleKill/triplekill.mp3 similarity index 100% rename from sounds/triplekill.mp3 rename to sounds/peks/AllyTripleKill/triplekill.mp3 diff --git a/sounds/yourteamhasdestroyedaturret.mp3 b/sounds/peks/AllyTurretKill/yourteamhasdestroyedaturret.mp3 similarity index 100% rename from sounds/yourteamhasdestroyedaturret.mp3 rename to sounds/peks/AllyTurretKill/yourteamhasdestroyedaturret.mp3 diff --git a/sounds/defeat.mp3 b/sounds/peks/Defeat/defeat.mp3 similarity index 100% rename from sounds/defeat.mp3 rename to sounds/peks/Defeat/defeat.mp3 diff --git a/sounds/enemyace.mp3 b/sounds/peks/EnemyAce/enemyace.mp3 similarity index 100% rename from sounds/enemyace.mp3 rename to sounds/peks/EnemyAce/enemyace.mp3 diff --git a/sounds/enemydoublekill.mp3 b/sounds/peks/EnemyDoubleKill/enemydoublekill.mp3 similarity index 100% rename from sounds/enemydoublekill.mp3 rename to sounds/peks/EnemyDoubleKill/enemydoublekill.mp3 diff --git a/sounds/yourinhibitorhasbeendestroyed1.mp3 b/sounds/peks/EnemyInhibitorKill/yourinhibitorhasbeendestroyed1.mp3 similarity index 100% rename from sounds/yourinhibitorhasbeendestroyed1.mp3 rename to sounds/peks/EnemyInhibitorKill/yourinhibitorhasbeendestroyed1.mp3 diff --git a/sounds/yourinhibitorhasbeendestroyed2.mp3 b/sounds/peks/EnemyInhibitorKill/yourinhibitorhasbeendestroyed2.mp3 similarity index 100% rename from sounds/yourinhibitorhasbeendestroyed2.mp3 rename to sounds/peks/EnemyInhibitorKill/yourinhibitorhasbeendestroyed2.mp3 diff --git a/sounds/enemyinhibitorhasrespawned.mp3 b/sounds/peks/EnemyInhibitorRespawned/enemyinhibitorhasrespawned.mp3 similarity index 100% rename from sounds/enemyinhibitorhasrespawned.mp3 rename to sounds/peks/EnemyInhibitorRespawned/enemyinhibitorhasrespawned.mp3 diff --git a/sounds/enemyinhibitorisrespawningsoon.mp3 b/sounds/peks/EnemyInhibitorRespawningSoon/enemyinhibitorisrespawningsoon.mp3 similarity index 100% rename from sounds/enemyinhibitorisrespawningsoon.mp3 rename to sounds/peks/EnemyInhibitorRespawningSoon/enemyinhibitorisrespawningsoon.mp3 diff --git a/sounds/enemypentakill.mp3 b/sounds/peks/EnemyPentaKill/enemypentakill.mp3 similarity index 100% rename from sounds/enemypentakill.mp3 rename to sounds/peks/EnemyPentaKill/enemypentakill.mp3 diff --git a/sounds/enemyquadrakill.mp3 b/sounds/peks/EnemyQuadraKill/enemyquadrakill.mp3 similarity index 100% rename from sounds/enemyquadrakill.mp3 rename to sounds/peks/EnemyQuadraKill/enemyquadrakill.mp3 diff --git a/sounds/enemytriplekill.mp3 b/sounds/peks/EnemyTripleKill/enemytriplekill.mp3 similarity index 100% rename from sounds/enemytriplekill.mp3 rename to sounds/peks/EnemyTripleKill/enemytriplekill.mp3 diff --git a/sounds/yourturrethasbeendestroyed1.mp3 b/sounds/peks/EnemyTurretKill/yourturrethasbeendestroyed1.mp3 similarity index 100% rename from sounds/yourturrethasbeendestroyed1.mp3 rename to sounds/peks/EnemyTurretKill/yourturrethasbeendestroyed1.mp3 diff --git a/sounds/yourturrethasbeendestroyed2.mp3 b/sounds/peks/EnemyTurretKill/yourturrethasbeendestroyed2.mp3 similarity index 100% rename from sounds/yourturrethasbeendestroyed2.mp3 rename to sounds/peks/EnemyTurretKill/yourturrethasbeendestroyed2.mp3 diff --git a/sounds/executed1.mp3 b/sounds/peks/Executed/executed1.mp3 similarity index 100% rename from sounds/executed1.mp3 rename to sounds/peks/Executed/executed1.mp3 diff --git a/sounds/executed2.mp3 b/sounds/peks/Executed/executed2.mp3 similarity index 100% rename from sounds/executed2.mp3 rename to sounds/peks/Executed/executed2.mp3 diff --git a/sounds/executed3.mp3 b/sounds/peks/Executed/executed3.mp3 similarity index 100% rename from sounds/executed3.mp3 rename to sounds/peks/Executed/executed3.mp3 diff --git a/sounds/firstblood.mp3 b/sounds/peks/FirstBlood/firstblood.mp3 similarity index 100% rename from sounds/firstblood.mp3 rename to sounds/peks/FirstBlood/firstblood.mp3 diff --git a/sounds/minionshavespawned.mp3 b/sounds/peks/MinionsSpawning/minionshavespawned.mp3 similarity index 100% rename from sounds/minionshavespawned.mp3 rename to sounds/peks/MinionsSpawning/minionshavespawned.mp3 diff --git a/sounds/30secondsuntilminionsspawn.mp3 b/sounds/peks/MinionsSpawningSoon/30secondsuntilminionsspawn.mp3 similarity index 100% rename from sounds/30secondsuntilminionsspawn.mp3 rename to sounds/peks/MinionsSpawningSoon/30secondsuntilminionsspawn.mp3 diff --git a/sounds/youhavebeenslain1.mp3 b/sounds/peks/PlayerDeath/youhavebeenslain1.mp3 similarity index 100% rename from sounds/youhavebeenslain1.mp3 rename to sounds/peks/PlayerDeath/youhavebeenslain1.mp3 diff --git a/sounds/youhavebeenslain2.mp3 b/sounds/peks/PlayerDeath/youhavebeenslain2.mp3 similarity index 100% rename from sounds/youhavebeenslain2.mp3 rename to sounds/peks/PlayerDeath/youhavebeenslain2.mp3 diff --git a/sounds/youhaveslainanenemy1.mp3 b/sounds/peks/PlayerKill/youhaveslainanenemy1.mp3 similarity index 100% rename from sounds/youhaveslainanenemy1.mp3 rename to sounds/peks/PlayerKill/youhaveslainanenemy1.mp3 diff --git a/sounds/youhaveslainanenemy2.mp3 b/sounds/peks/PlayerKill/youhaveslainanenemy2.mp3 similarity index 100% rename from sounds/youhaveslainanenemy2.mp3 rename to sounds/peks/PlayerKill/youhaveslainanenemy2.mp3 diff --git a/sounds/youhaveslainanenemy3.mp3 b/sounds/peks/PlayerKill/youhaveslainanenemy3.mp3 similarity index 100% rename from sounds/youhaveslainanenemy3.mp3 rename to sounds/peks/PlayerKill/youhaveslainanenemy3.mp3 diff --git a/sounds/victory.mp3 b/sounds/peks/Victory/victory.mp3 similarity index 100% rename from sounds/victory.mp3 rename to sounds/peks/Victory/victory.mp3 diff --git a/sounds/welcometosummonersrift.mp3 b/sounds/peks/Welcome/welcometosummonersrift.mp3 similarity index 100% rename from sounds/welcometosummonersrift.mp3 rename to sounds/peks/Welcome/welcometosummonersrift.mp3 -- 2.30.2