diff --git a/modules/pet_management.py b/modules/pet_management.py index 1de0920..911bef5 100644 --- a/modules/pet_management.py +++ b/modules/pet_management.py @@ -7,7 +7,7 @@ class PetManagement(BaseModule): """Handles team, pets, and future pet management commands""" def get_commands(self): - return ["team", "pets", "activate", "deactivate", "swap", "nickname"] + return ["team", "pets", "activate", "deactivate", "nickname"] async def handle_command(self, channel, nickname, command, args): if command == "team": @@ -18,8 +18,6 @@ class PetManagement(BaseModule): await self.cmd_activate(channel, nickname, args) elif command == "deactivate": await self.cmd_deactivate(channel, nickname, args) - elif command == "swap": - await self.cmd_swap(channel, nickname, args) elif command == "nickname": await self.cmd_nickname(channel, nickname, args) @@ -40,7 +38,7 @@ class PetManagement(BaseModule): team_info = [] - # Active pets with star + # Active pets with star and team position for pet in active_pets: name = pet["nickname"] or pet["species_name"] @@ -55,7 +53,9 @@ class PetManagement(BaseModule): else: exp_display = f"{exp_needed} to next" - team_info.append(f"⭐{name} (Lv.{pet['level']}) - {pet['hp']}/{pet['max_hp']} HP | EXP: {exp_display}") + # Show team position + position = pet.get("team_order", "?") + team_info.append(f"[{position}]⭐{name} (Lv.{pet['level']}) - {pet['hp']}/{pet['max_hp']} HP | EXP: {exp_display}") # Inactive pets for pet in inactive_pets[:5]: # Show max 5 inactive @@ -66,6 +66,7 @@ class PetManagement(BaseModule): team_info.append(f"... and {len(inactive_pets) - 5} more in storage") self.send_message(channel, f"🐾 {nickname}'s team: " + " | ".join(team_info)) + self.send_message(channel, f"🌐 View detailed pet collection at: http://petz.rdx4.com/player/{nickname}#pets") async def cmd_pets(self, channel, nickname): """Show link to pet collection web page""" @@ -74,7 +75,7 @@ class PetManagement(BaseModule): return # Send URL to player's profile page instead of PM spam - self.send_message(channel, f"{nickname}: View your complete pet collection at: http://petz.rdx4.com/player/{nickname}") + self.send_message(channel, f"{nickname}: View your complete pet collection at: http://petz.rdx4.com/player/{nickname}#pets") async def cmd_activate(self, channel, nickname, args): """Activate a pet for battle (PM only)""" @@ -94,7 +95,8 @@ class PetManagement(BaseModule): if result["success"]: pet = result["pet"] display_name = pet["nickname"] or pet["species_name"] - self.send_pm(nickname, f"✅ {display_name} is now active for battle!") + position = result.get("team_position", "?") + self.send_pm(nickname, f"✅ {display_name} is now active for battle! Team position: {position}") self.send_message(channel, f"{nickname}: Pet activated successfully!") else: self.send_pm(nickname, f"❌ {result['error']}") @@ -124,44 +126,6 @@ class PetManagement(BaseModule): self.send_pm(nickname, f"❌ {result['error']}") self.send_message(channel, f"{nickname}: Pet deactivation failed - check PM for details!") - async def cmd_swap(self, channel, nickname, args): - """Swap active/storage status of two pets (PM only)""" - # Redirect to PM for privacy - if len(args) < 2: - self.send_pm(nickname, "Usage: !swap ") - self.send_pm(nickname, "Example: !swap Flamey Aqua") - self.send_message(channel, f"{nickname}: Pet swap instructions sent via PM!") - return - - player = await self.require_player(channel, nickname) - if not player: - return - - # Handle multi-word pet names by splitting on first space vs last space - if len(args) == 2: - pet1_name, pet2_name = args - else: - # For more complex parsing, assume equal split - mid_point = len(args) // 2 - pet1_name = " ".join(args[:mid_point]) - pet2_name = " ".join(args[mid_point:]) - - result = await self.database.swap_pets(player["id"], pet1_name, pet2_name) - - if result["success"]: - pet1 = result["pet1"] - pet2 = result["pet2"] - pet1_display = pet1["nickname"] or pet1["species_name"] - pet2_display = pet2["nickname"] or pet2["species_name"] - - self.send_pm(nickname, f"🔄 Swap complete!") - self.send_pm(nickname, f" • {pet1_display} → {result['pet1_now']}") - self.send_pm(nickname, f" • {pet2_display} → {result['pet2_now']}") - self.send_message(channel, f"{nickname}: Pet swap completed!") - else: - self.send_pm(nickname, f"❌ {result['error']}") - self.send_message(channel, f"{nickname}: Pet swap failed - check PM for details!") - async def cmd_nickname(self, channel, nickname, args): """Set a nickname for a pet""" if len(args) < 2: