From 7efc2ce5873d2c875f5cd7e6a216be6b6ad7f1e2 Mon Sep 17 00:00:00 2001 From: Karl F Date: Fri, 9 Feb 2024 23:51:35 +0100 Subject: [PATCH] Local missions should list distances in AU rather than Ly In table of all player's accepted missions, display distance for local deliveries in AU, and interstellar in LY. --- data/pigui/modules/info-view/04-missions.lua | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/data/pigui/modules/info-view/04-missions.lua b/data/pigui/modules/info-view/04-missions.lua index d4a436e1f1e..fb4ddfff091 100644 --- a/data/pigui/modules/info-view/04-missions.lua +++ b/data/pigui/modules/info-view/04-missions.lua @@ -102,13 +102,27 @@ local function makeMissionRows() end local playerSystem = Game.system or Game.player:GetHyperspaceTarget() - local dist = playerSystem:DistanceTo(mission.location) local days = math.max(0, (mission.due - Game.time) / (24*60*60)) + -- Use AU for interplanetary, LY for interstellar distances + local dist, dist_display + if mission.location:IsSameSystem(playerSystem.path) then + if mission.location:IsBodyPath() then + local body = mission.location:GetSystemBody().body + dist = Game.player:GetPositionRelTo(body):length() + dist_display = "\n" .. ui.Format.Distance(dist) + else + dist_display = "\n-" + end + else + dist = playerSystem:DistanceTo(mission.location) + dist_display = string.format("\n%.2f %s", dist, l.LY) + end + local row = { mission:GetTypeDescription(), mission.client.name, - locationName .. string.format("\n%.2f %s", dist, l.LY), + locationName .. dist_display, ui.Format.Date(mission.due) .."\n".. string.format(l.D_DAYS_LEFT, days), ui.Format.Money(mission.reward), }