Added sound for when pumpkin hits you or lands near by.
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								sounds/pumpkin_splat.ogg
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sounds/pumpkin_splat.ogg
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -29,11 +29,17 @@ class Pumpkin: | |||||||
|              |              | ||||||
|         return True |         return True | ||||||
|  |  | ||||||
|     def stop_sound(self): |     def stop_sound(self, sounds, playerX): | ||||||
|         """Stop the pumpkin's sound""" |         """Stop the pumpkin's sound and play splat if needed""" | ||||||
|         if self.soundChannel: |         if self.soundChannel: | ||||||
|             obj_stop(self.soundChannel) |             obj_stop(self.soundChannel) | ||||||
|             self.soundChannel = None |             self.soundChannel = None | ||||||
|  |             # Calculate volume and pan for splat sound based on final position | ||||||
|  |             volume, left, right = calculate_volume_and_pan(playerX, self.x) | ||||||
|  |             if volume > 0:  # Only play if within audible range | ||||||
|  |                 channel = sounds["pumpkin_splat"].play() | ||||||
|  |                 if channel: | ||||||
|  |                     channel.set_volume(volume * left, volume * right) | ||||||
|  |  | ||||||
|     def check_collision(self, player): |     def check_collision(self, player): | ||||||
|         """Check if pumpkin hits player""" |         """Check if pumpkin hits player""" | ||||||
| @@ -125,13 +131,13 @@ class Catapult(Object): | |||||||
|         # Always update existing pumpkins |         # Always update existing pumpkins | ||||||
|         for pumpkin in self.activePumpkins[:]:  # Copy list to allow removal |         for pumpkin in self.activePumpkins[:]:  # Copy list to allow removal | ||||||
|             if not pumpkin.update(self.sounds, player.xPos): |             if not pumpkin.update(self.sounds, player.xPos): | ||||||
|                 pumpkin.stop_sound() |                 pumpkin.stop_sound(self.sounds, player.xPos) | ||||||
|                 self.activePumpkins.remove(pumpkin) |                 self.activePumpkins.remove(pumpkin) | ||||||
|                 continue |                 continue | ||||||
|                  |                  | ||||||
|             if pumpkin.check_collision(player): |             if pumpkin.check_collision(player): | ||||||
|                 player.set_health(player.get_health() - pumpkin.damage) |                 player.set_health(player.get_health() - pumpkin.damage) | ||||||
|                 pumpkin.stop_sound() |                 pumpkin.stop_sound(self.sounds, player.xPos) | ||||||
|                 pumpkin.isActive = False |                 pumpkin.isActive = False | ||||||
|                 self.activePumpkins.remove(pumpkin) |                 self.activePumpkins.remove(pumpkin) | ||||||
|                 speak("Hit by a pumpkin!") |                 speak("Hit by a pumpkin!") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user