From bcaa4f7f17d595c0c56e0e100bd2a24c7acb1a4f Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 8 Feb 2025 19:29:49 -0500 Subject: [PATCH] Updated libstormgames. Volume keys now require alt, alt+pageup, alt+pagedown, etc. --- libstormgames | 2 +- sounds/music_menu.ogg | 3 +++ src/catapult.py | 3 ++- wicked_quest.py | 38 +++++++++++++++++++++++++------------- 4 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 sounds/music_menu.ogg diff --git a/libstormgames b/libstormgames index 17e100a..b479811 160000 --- a/libstormgames +++ b/libstormgames @@ -1 +1 @@ -Subproject commit 17e100a90bb98a9dda5c594d90f6e9b523a43cc0 +Subproject commit b479811a98f25ff163ce0205765ffea930fef43c diff --git a/sounds/music_menu.ogg b/sounds/music_menu.ogg new file mode 100644 index 0000000..63d4a03 --- /dev/null +++ b/sounds/music_menu.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f05bda61c62c9a6e59a5ceeba2f42e31bff38d01e56ee0f2174d6c470ccab20 +size 708708 diff --git a/src/catapult.py b/src/catapult.py index 0ea4edb..018be5c 100644 --- a/src/catapult.py +++ b/src/catapult.py @@ -138,4 +138,5 @@ class Catapult(Object): pumpkin.stop_sound(self.sounds, player.xPos) pumpkin.isActive = False self.activePumpkins.remove(pumpkin) - self.sounds['player_takes_damage'].play() + if not player.isInvincible: + self.sounds['player_takes_damage'].play() diff --git a/wicked_quest.py b/wicked_quest.py index d6027af..11cad4c 100644 --- a/wicked_quest.py +++ b/wicked_quest.py @@ -50,7 +50,12 @@ class WickedQuest: player = self.currentLevel.player currentTime = pygame.time.get_ticks() - # Update running state + # Update running and ducking states + if keys[pygame.K_s] and not player.isDucking: + player.duck() + elif not keys[pygame.K_s] and player.isDucking: + player.stand() + player.isRunning = keys[pygame.K_SPACE] # Get current speed (handles both running and jumping) @@ -146,6 +151,7 @@ class WickedQuest: if key not in ['Total time', 'levelsCompleted']: # Skip these report.append(f"Total {key}: {self.currentLevel.player.stats.get_total_stat(key)}") + cut_scene(self.sounds, "game_over") display_text(report) def game_loop(self): @@ -160,20 +166,26 @@ class WickedQuest: # Game volume controls for event in pygame.event.get(): if event.type == pygame.KEYDOWN: + # Check for Alt modifier + mods = pygame.key.get_mods() + alt_pressed = mods & pygame.KMOD_ALT + if event.key == pygame.K_ESCAPE: return - if event.key == pygame.K_PAGEUP: - adjust_master_volume(0.1) - elif event.key == pygame.K_PAGEDOWN: - adjust_master_volume(-0.1) - elif event.key == pygame.K_HOME: - adjust_bgm_volume(0.1) - elif event.key == pygame.K_END: - adjust_bgm_volume(-0.1) - elif event.key == pygame.K_INSERT: - adjust_sfx_volume(0.1) - elif event.key == pygame.K_DELETE: - adjust_sfx_volume(-0.1) + # Volume controls (require Alt) + elif alt_pressed: + if event.key == pygame.K_PAGEUP: + adjust_master_volume(0.1) + elif event.key == pygame.K_PAGEDOWN: + adjust_master_volume(-0.1) + elif event.key == pygame.K_HOME: + adjust_bgm_volume(0.1) + elif event.key == pygame.K_END: + adjust_bgm_volume(-0.1) + elif event.key == pygame.K_INSERT: + adjust_sfx_volume(0.1) + elif event.key == pygame.K_DELETE: + adjust_sfx_volume(-0.1) # Update game state self.currentLevel.player.update(currentTime)