diff --git a/src/save_manager.py b/src/save_manager.py index 15ad286..fca7636 100644 --- a/src/save_manager.py +++ b/src/save_manager.py @@ -162,7 +162,9 @@ class SaveManager: # Restore custom weapon attributes (for backward compatibility, use get with defaults) weapon.keyBinding = data.get("keyBinding", None) - weapon.displayName = data.get("displayName", None) + # Only set displayName if it exists and is not None + if "displayName" in data and data["displayName"] is not None: + weapon.displayName = data["displayName"] weapon.weaponType = data.get("weaponType", "melee") weapon.ammoType = data.get("ammoType", None) weapon.ammoCost = data.get("ammoCost", 1) @@ -205,7 +207,7 @@ class SaveManager: scoreboard.highScores = scoreboard_data["highScores"] return scoreboard - def get_saveFiles(self): + def get_save_files(self): """Get list of save files with metadata""" saveFiles = [] pattern = str(self.saveDir / "save_*.pickle") @@ -265,7 +267,7 @@ class SaveManager: except Exception as e: return False, f"Failed to load save: {str(e)}" - def restore_playerState(self, player, saveData): + def restore_player_state(self, player, saveData): """Restore player state from save data""" playerState = saveData["playerState"] @@ -315,7 +317,7 @@ class SaveManager: def _cleanup_old_saves(self): """Remove old save files if we exceed maxSaves""" - saveFiles = self.get_saveFiles() + saveFiles = self.get_save_files() if len(saveFiles) > self.maxSaves: # Remove oldest saves @@ -349,4 +351,4 @@ class SaveManager: def has_saves(self): """Check if any save files exist""" - return len(self.get_saveFiles()) > 0 + return len(self.get_save_files()) > 0 diff --git a/wicked_quest.py b/wicked_quest.py index e56af8c..f3b5d22 100755 --- a/wicked_quest.py +++ b/wicked_quest.py @@ -279,9 +279,9 @@ class WickedQuest: weaponOverrides = getattr(self.currentLevel, 'weaponSoundOverrides', {}) if self.currentLevel else {} # Check if player already has broom - hasBroom = any(w.weaponType == "broom" for w in self.player.weapons) + hasBroom = any(w.originalName == "witch_broom" for w in self.player.weapons) if not hasBroom: - broom = Weapon("broom", "witch broom", "broom_attack", "broom_hit", 7, 1.5, 2.0, 1.25) + broom = Weapon.create_witch_broom() if weaponOverrides and "witch_broom" in weaponOverrides: override = weaponOverrides["witch_broom"] broom.name = override.get("name", broom.name) @@ -290,9 +290,9 @@ class WickedQuest: self.player.add_weapon(broom) # Check if player already has nunchucks - hasNunchucks = any(w.weaponType == "nunchucks" for w in self.player.weapons) + hasNunchucks = any(w.originalName == "nunchucks" for w in self.player.weapons) if not hasNunchucks: - nunchucks = Weapon("nunchucks", "nunchucks", "nunchucks_attack", "nunchucks_hit", 10, 1.0, 1.0, 1.0) + nunchucks = Weapon.create_nunchucks() if weaponOverrides and "nunchucks" in weaponOverrides: override = weaponOverrides["nunchucks"] nunchucks.name = override.get("name", nunchucks.name) @@ -447,7 +447,7 @@ class WickedQuest: # Create menu options options = [] for saveFile in saveFiles: - options.append(saveFile['display_name']) + options.append(saveFile['displayName']) options.append("Cancel") @@ -459,7 +459,7 @@ class WickedQuest: else: # Find the corresponding save file for saveFile in saveFiles: - if saveFile['display_name'] == choice: + if saveFile['displayName'] == choice: return saveFile return None