import discord # Tier colors as Discord embed color integers TIER_COLORS = { 1: 0x57F287, # green 2: 0xF1C40F, # gold 3: 0x9B59B6, # purple 4: 0x1ABC9C, # teal } MAX_TIER = 4 def tier_up_embed( player_name: str, tier: int, tier_name: str, track_name: str ) -> discord.Embed: """ Build a Discord embed for a single evolution tier-up event. For tier 4 (fully evolved), uses a distinct title, description, and footer. For tiers 1–3, uses the standard tier-up format. """ color = TIER_COLORS.get(tier, 0xFFFFFF) if tier == MAX_TIER: embed = discord.Embed( title="FULLY EVOLVED!", description=f"{player_name} has reached maximum evolution on the {track_name} track", color=color, ) embed.set_footer(text="Rating boosts coming in a future update!") else: embed = discord.Embed( title="Evolution Tier Up!", description=f"{player_name} reached Tier {tier} ({tier_name}) on the {track_name} track", color=color, ) return embed def build_tier_embeds(tier_ups: list) -> list: """ Build a list of Discord embeds for all tier-up events in a game. Each item in tier_ups should be a dict with keys: player_name (str), tier (int), tier_name (str), track_name (str) Returns an empty list if there are no tier-ups. """ return [ tier_up_embed( player_name=t["player_name"], tier=t["tier"], tier_name=t["tier_name"], track_name=t["track_name"], ) for t in tier_ups ]