Fixed item crazy sound mismatch. Updated instructions, probably not final version, but at least a place holder.

This commit is contained in:
Storm Dragon
2025-02-11 20:23:39 -05:00
parent 7f68af1958
commit 8530993fa9
3 changed files with 35 additions and 15 deletions

View File

@@ -17,28 +17,43 @@ Control: attack
Space: hold to run. Space: hold to run.
f: throw jack O'lantern f: throw jack O'lantern
c: check bone dust c: check bone dust
e: Check currently wielded weapon.
h check health h check health
j: check jack O'lanterns j: check jack O'lanterns
l: check lives remaining l: check lives remaining
Alt+PageDown: Master volume decrease
Alt+PageUp: Master volume increase
Alt+End: Ambience volume decrease
Alt+Home: Game volume increase
Alt+Delete: Game sounds volume decrease
Alt+Insert: Game sounds volume increase
Notes Notes
Each 5 bone dust restores 1 health. Coffins must be broken with your weapon. Jump and attack to shatter them.
Each 100 bone dust gains an extra unlife.
Just because you leave catapult range doesn't mean you are safe from already fired pumpkins. Just because you leave catapult range doesn't mean you are safe from already fired pumpkins.
Spider webs can be passed by ducking as you move by them.
Spider web affect lasts even after death. Your speed is reduced to half for 15 seconds.
Running and jumping both move you at 1.5 your normal speed.
Enemies Enemies
Goblin: Walks back and forth in his area trying to break your bones. Goblin: Walks back and forth in his area trying to break your bones.
Ghoul: Same behavior as goblin, but if you enter his area he will actively chase you, staying close. Ghoul: Same behavior as goblin, but if you enter his area he will actively chase you, staying close.
Boogie man: A stronger goblin.
Witch: Like boogie man, but drops broom if you do not have one, else drops her cauldron.
Pumpkin Catapult: Fires pumpkins at you in hopes of smashing you into bone dust. Pumpkin Catapult: Fires pumpkins at you in hopes of smashing you into bone dust.
Skull Storm: Screaming skulls rain down causing damage if they hit you. Skull Storm: Screaming skulls rain down causing damage if they hit you.
Spider: Very dangerous fast enemy.
Zombie: Slow moving creatures that have a chance to climb out of the open grave. They are slow moving but deadly. If they hit you you lose a life. Zombie: Slow moving creatures that have a chance to climb out of the open grave. They are slow moving but deadly. If they hit you you lose a life.
Bonuses and items Bonuses and items
Bone dust: Currency of the game. Collect it to gain health and extra lives. Bone dust: Currency of the game. Collect it to gain health and extra lives.
Witch's broom: A weapon gained from witches. Stronger than the graver digger's rusty shovel.
Coffin: Contains items. Be quick, they try to escape. Coffin: Contains items. Be quick, they try to escape.
Guts: Adds 2 health to your maximum unlife. Guts: Adds 2 health to your maximum unlife.
Hand of Glory: Grants invincibility for a short time. Hand of Glory: Grants invincibility for a short time.
Jack O'lantern: Throw these at your enemies to hit them from a distance. Jack O'lantern: Throw these at your enemies to hit them from a distance.
Shin bone: Worth 5 bone dust.
Skeletal nunchucks: Only a rumer. If it exists, it probably has to be crafted by obtaining the correct items. It is said to be the most powerful weapon in the game.

View File

@@ -231,14 +231,14 @@ class Level:
# Update bouncing items # Update bouncing items
for item in self.bouncing_items[:]: # Copy list to allow removal for item in self.bouncing_items[:]: # Copy list to allow removal
if not item.update(currentTime): if not item.update(currentTime, self.player.xPos):
self.bouncing_items.remove(item) self.bouncing_items.remove(item)
if not item.isActive: if not item.isActive:
speak(f"{item.soundName} got away!") speak(f"{item.soundName} got away!")
continue continue
# Check for item collection # Check for item collection
if abs(item.xPos - self.player.xPos) < 1 and self.player.isJumping: if abs(item._currentX - self.player.xPos) < 1 and self.player.isJumping:
play_sound(self.sounds[f'get_{item.soundName}']) play_sound(self.sounds[f'get_{item.soundName}'])
item.apply_effect(self.player) item.apply_effect(self.player)
item.isActive = False item.isActive = False

View File

@@ -12,33 +12,38 @@ class PowerUp(Object):
) )
self.sounds = sounds self.sounds = sounds
self.direction = direction self.direction = direction
self.speed = 0.05 # Base movement speed self.speed = 0.055 # Base movement speed
self.item_type = item_type self.item_type = item_type
self.channel = None self.channel = None
self._currentX = x # Initialize the current x position self._currentX = x # Initialize the current x position
def update(self, current_time): def update(self, current_time, player_pos):
"""Update item position""" """Update item position
Args:
current_time: Current game time in milliseconds
player_pos: Current player x position
"""
if not self.isActive: if not self.isActive:
return False return False
# Update position # Update position
self._currentX += self.direction * self.speed self._currentX += self.direction * self.speed
# Update positional audio # Update positional audio
if self.channel is None or not self.channel.get_busy(): if self.channel is None or not self.channel.get_busy():
self.channel = obj_play(self.sounds, "item_bounce", self.xPos, self._currentX) self.channel = obj_play(self.sounds, "item_bounce", player_pos, self._currentX)
else: else:
self.channel = obj_update(self.channel, self.xPos, self._currentX) self.channel = obj_update(self.channel, player_pos, self._currentX)
# Check if item has gone too far (20 tiles) # Check if item has gone too far (12 tiles)
if abs(self._currentX - self.xRange[0]) > 20: if abs(self._currentX - player_pos) > 12:
self.isActive = False self.isActive = False
if self.channel: if self.channel:
self.channel.stop() self.channel.stop()
self.channel = None self.channel = None
return False return False
return True return True
def apply_effect(self, player): def apply_effect(self, player):