From 47d6702b3f91b4167d7796b249483e9f401788fe Mon Sep 17 00:00:00 2001 From: Udoka Ogbuji Date: Wed, 8 Jan 2025 10:35:37 -0700 Subject: [PATCH 1/2] initial stuff --- discord_app/__init__.py | 12 ++++++++++++ discord_app/convoy_menus.py | 26 +++++++++++++++++++++----- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/discord_app/__init__.py b/discord_app/__init__.py index c97db3b..e583063 100644 --- a/discord_app/__init__.py +++ b/discord_app/__init__.py @@ -170,6 +170,18 @@ def get_user_metadata(df_state: DFState, metadata_key: str): user_metadata = df_state.convoy_obj.get('user_metadata') return user_metadata.get(metadata_key) +def metric_to_imperial(measurement, unit_type: str): + ''' # What the fuck is a kilometer? ''' + match unit_type: + case 'volume': + # Liter to gallon conversion + return measurement / 3.79 + case 'mass': + # Kilogram to pound conversion + return measurement / 2.20 + case 'velocity': + # Km/h to mi/h conversion + return measurement / 1.61 def add_tutorial_embed(embeds: list[discord.Embed], df_state: DFState) -> discord.Embed: if not df_state.convoy_obj: diff --git a/discord_app/convoy_menus.py b/discord_app/convoy_menus.py index 17130fa..d85beea 100644 --- a/discord_app/convoy_menus.py +++ b/discord_app/convoy_menus.py @@ -11,7 +11,7 @@ from utiloori.ansi_color import ansi_color -from discord_app import api_calls, dialogue_menus, handle_timeout, discord_timestamp, df_embed_author, add_tutorial_embed, get_user_metadata, validate_interaction, DF_LOGO_EMOJI, OORI_WHITE +from discord_app import api_calls, dialogue_menus, handle_timeout, discord_timestamp, df_embed_author, add_tutorial_embed, get_user_metadata, validate_interaction, metric_to_imperial, DF_LOGO_EMOJI, OORI_WHITE import discord_app.cargo_menus import discord_app.vehicle_menus import discord_app.vendor_views.buy_menus @@ -62,19 +62,35 @@ async def make_convoy_embed(df_state: DFState, prospective_journey_plus_misc=Non convoy_embed.description = vehicles_embed_str(df_state.convoy_obj['vehicles']) + if get_user_metadata(df_state, 'imperial'): + user_volume_unit = 'gallons' + user_mass_unit = 'lb' + + convoy_fuel_capacity = metric_to_imperial(df_state.convoy_obj['max_fuel'], 'volume') + convoy_water_capacity = metric_to_imperial(df_state.convoy_obj['max_water'], 'volume') + + convoy_fuel = metric_to_imperial(df_state.convoy_obj['fuel'], 'volume') + convoy_water = metric_to_imperial(df_state.convoy_obj['water'], 'volume') + else: + convoy_fuel_capacity = df_state.convoy_obj['max_fuel'] + convoy_water_capacity = df_state.convoy_obj['max_water'] + + convoy_fuel = df_state.convoy_obj['fuel'] + convoy_water = df_state.convoy_obj['water'] + if get_user_metadata(df_state, 'mobile'): convoy_embed.description += '\n' + '\n'.join([ '### Convoy Stats', - f'Fuel ⛽️: **{df_state.convoy_obj['fuel']:,.2f}** / {df_state.convoy_obj['max_fuel']:.0f}L', - f'Water 💧: **{df_state.convoy_obj['water']:,.2f}** / {df_state.convoy_obj['max_water']:.0f}L', + f'Fuel ⛽️: **{convoy_fuel:,.2f}** / {convoy_fuel_capacity:.0f}L', + f'Water 💧: **{convoy_water:,.2f}** / {convoy_water_capacity:.0f}L', f'Food 🥪: **{df_state.convoy_obj['food']:,.2f}** / {df_state.convoy_obj['max_food']:.0f} meals', f'Fuel Efficiency 🌿: **{df_state.convoy_obj['fuel_efficiency']:.0f}** / 100', f'Top Speed 🚀: **{df_state.convoy_obj['top_speed']:.0f}** / 100', f'Offroad Capability 🏔️: **{df_state.convoy_obj['offroad_capability']:.0f}** / 100' ]) else: - convoy_embed.add_field(name='Fuel ⛽️', value=f'**{df_state.convoy_obj['fuel']:,.2f}**\n/{df_state.convoy_obj['max_fuel']:.0f} liters') - convoy_embed.add_field(name='Water 💧', value=f'**{df_state.convoy_obj['water']:,.2f}**\n/{df_state.convoy_obj['max_water']:.0f} liters') + convoy_embed.add_field(name='Fuel ⛽️', value=f'**{convoy_fuel:,.2f}**\n/{convoy_fuel_capacity:.0f} {user_volume_unit}') + convoy_embed.add_field(name='Water 💧', value=f'**{convoy_water:,.2f}**\n/{convoy_water_capacity:.0f} {user_volume_unit}') convoy_embed.add_field(name='Food 🥪', value=f'**{df_state.convoy_obj['food']:,.2f}**\n/{df_state.convoy_obj['max_food']:.0f} meals') convoy_embed.add_field(name='Fuel Efficiency 🌿', value=f'**{df_state.convoy_obj['fuel_efficiency']:.0f}**\n/100') From 5a51fc9c1280ec6293506b723148df71f561da92 Mon Sep 17 00:00:00 2001 From: choccy Date: Thu, 17 Apr 2025 16:52:45 -0600 Subject: [PATCH 2/2] make functional --- discord_app/convoy_menus.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/discord_app/convoy_menus.py b/discord_app/convoy_menus.py index bad3a86..060ffb1 100644 --- a/discord_app/convoy_menus.py +++ b/discord_app/convoy_menus.py @@ -77,6 +77,9 @@ async def make_convoy_embed(df_state: DFState, prospective_journey_plus_misc=Non convoy_fuel = metric_to_imperial(df_state.convoy_obj['fuel'], 'volume') convoy_water = metric_to_imperial(df_state.convoy_obj['water'], 'volume') else: + user_volume_unit = 'liters' + user_mass_unit = 'kg' + convoy_fuel_capacity = df_state.convoy_obj['max_fuel'] convoy_water_capacity = df_state.convoy_obj['max_water']