Fixed item crazy sound mismatch. Updated instructions, probably not final version, but at least a place holder.
This commit is contained in:
@@ -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.
|
||||||
|
@@ -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
|
||||||
|
@@ -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):
|
||||||
|
Reference in New Issue
Block a user