{"action":"created","issue":{"url":"https://api.github.com/repos/endless-sky/endless-sky/issues/1383","repository_url":"https://api.github.com/repos/endless-sky/endless-sky","labels_url":"https://api.github.com/repos/endless-sky/endless-sky/issues/1383/labels{/name}","comments_url":"https://api.github.com/repos/endless-sky/endless-sky/issues/1383/comments","events_url":"https://api.github.com/repos/endless-sky/endless-sky/issues/1383/events","html_url":"https://github.com/endless-sky/endless-sky/issues/1383","id":168176732,"number":1383,"title":"Message reminder of deliveries when entering a system [enhancement]","user":{"login":"woolsweater","id":761245,"avatar_url":"https://avatars1.githubusercontent.com/u/761245?v=4","gravatar_id":"","url":"https://api.github.com/users/woolsweater","html_url":"https://github.com/woolsweater","followers_url":"https://api.github.com/users/woolsweater/followers","following_url":"https://api.github.com/users/woolsweater/following{/other_user}","gists_url":"https://api.github.com/users/woolsweater/gists{/gist_id}","starred_url":"https://api.github.com/users/woolsweater/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/woolsweater/subscriptions","organizations_url":"https://api.github.com/users/woolsweater/orgs","repos_url":"https://api.github.com/users/woolsweater/repos","events_url":"https://api.github.com/users/woolsweater/events{/privacy}","received_events_url":"https://api.github.com/users/woolsweater/received_events","type":"User","site_admin":false},"labels":[{"id":187278205,"url":"https://api.github.com/repos/endless-sky/endless-sky/labels/enhancement","name":"enhancement","color":"c7def8","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/endless-sky/endless-sky/milestones/6","html_url":"https://github.com/endless-sky/endless-sky/milestone/6","labels_url":"https://api.github.com/repos/endless-sky/endless-sky/milestones/6/labels","id":1503462,"number":6,"title":"0.9.x","description":"This will be the beginning of a series of \"experimental\" releases that will introduce larger game changes. The 0.9 series will eventually culminate in a [1.0.0 release](https://github.com/endless-sky/endless-sky/wiki/DevelopmentRoadmap). Issues tagged with this milestone are the first priority for new development.\r\n\r\nVersion 0.9.0 will include a full set of ships and outfits for the Korath, and will probably be released by the end of April.","creator":{"login":"endless-sky","id":11450262,"avatar_url":"https://avatars2.githubusercontent.com/u/11450262?v=4","gravatar_id":"","url":"https://api.github.com/users/endless-sky","html_url":"https://github.com/endless-sky","followers_url":"https://api.github.com/users/endless-sky/followers","following_url":"https://api.github.com/users/endless-sky/following{/other_user}","gists_url":"https://api.github.com/users/endless-sky/gists{/gist_id}","starred_url":"https://api.github.com/users/endless-sky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endless-sky/subscriptions","organizations_url":"https://api.github.com/users/endless-sky/orgs","repos_url":"https://api.github.com/users/endless-sky/repos","events_url":"https://api.github.com/users/endless-sky/events{/privacy}","received_events_url":"https://api.github.com/users/endless-sky/received_events","type":"User","site_admin":false},"open_issues":82,"closed_issues":60,"state":"open","created_at":"2016-01-12T23:59:31Z","updated_at":"2017-08-13T19:39:50Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2016-07-28T19:28:00Z","updated_at":"2017-08-14T05:57:36Z","closed_at":null,"body":"When concentrating on running jobs to build up cash, I find it hard to keep track of where I need to stop. The new map pop-up when jumping makes this much easier, but I still almost never remember which planet of a multi-planet system I'm supposed to land on.\n\nI think it would be helpful to post a message on entering a system where you've got a stop to make, mentioning the destination.\n\nI've knocked out an extremely simple implementation of this, in `Engine::EnterSystem()`\n\n```\n@@ -697,6 +697,44 @@ void Engine::EnterSystem()\n        if(mission.ClearanceMessage() == \"auto\")\n            mission.Destination()->Bribe(mission.HasFullClearance());\n\n+   // If the system contains a mission destination or waypoint,\n+   // show a message\n+   for(const Mission &mission : player.Missions())\n+   {\n+       // No message about a mission the player should not be aware of\n+       if(!mission.IsVisible())\n+           continue;\n+       \n+       const Planet *destination = mission.Destination();\n+       if(destination->GetSystem() == system)\n+       {\n+           string dropOffDescription;\n+           if(mission.CargoSize() > 0)\n+           {\n+               dropOffDescription = \"cargo\";\n+           }\n+           else\n+           {\n+               dropOffDescription = mission.Passengers() == 1 ?\n+               \"a passenger\" :\n+               \"passengers\";\n+           }\n+           Messages::Add(\"You have \" + dropOffDescription +\n+                         \" to drop off on \" + destination->Name() + \".\");\n+       }\n+       else\n+       {\n+           for(const Planet *stopover : mission.Stopovers())\n+           {\n+               if(stopover->GetSystem() == system)\n+               {\n+                   Messages::Add(\"You have a stop to make on \" +\n+                                 stopover->Name());\n+               }\n+           }\n+       }\n+   }\n+   \n```\n\nWhich I'm happy with for my own play:\n<img width=\"301\" alt=\"Shot of message feed with 'You have a stop to make...' entries\" src=\"https://cloud.githubusercontent.com/assets/761245/17225467/e9dce3d2-54b9-11e6-8a37-1588c1bcaabc.png\">\n\nHowever, the simplicity of this logic does cause a bit of awkwardness:\n<img width=\"280\" alt=\"Doubled 'You have a stop to make...' message\" src=\"https://cloud.githubusercontent.com/assets/761245/17225512/1e454a06-54ba-11e6-82a2-e2e88d01df56.png\">\n\n(It also refers to escorted ships as \"passengers\" due to the way the missions are defined.)\n\nThis is exacerbated when there are separate missions with one passenger and multiple passengers to the same destination: `Messages` can only combine identical messages, so you get \"You have a passenger to drop off on Luna\" _and_ \"You have passengers to drop off on Luna\" in the feed.\n\nObviously the logic either needs to be made much dumber: just \"You need to stop on Luna\" no matter what the mission is; or much more complex: \n\n> You have a passenger and cargo to drop off on Luna. \n>  You have passengers to drop off on Mars.\n\nIt looked, based on the way the mission, system, and planet data are mutually structured, as if the more complex logic would have to go into `PlayerInfo`, in a method that `Engine` would call from `EnterSystem()`. I wanted to get feedback on this whole idea before attempting to wrastle that. \n"},"comment":{"url":"https://api.github.com/repos/endless-sky/endless-sky/issues/comments/322106157","html_url":"https://github.com/endless-sky/endless-sky/issues/1383#issuecomment-322106157","issue_url":"https://api.github.com/repos/endless-sky/endless-sky/issues/1383","id":322106157,"user":{"login":"Amazinite","id":17688683,"avatar_url":"https://avatars1.githubusercontent.com/u/17688683?v=4","gravatar_id":"","url":"https://api.github.com/users/Amazinite","html_url":"https://github.com/Amazinite","followers_url":"https://api.github.com/users/Amazinite/followers","following_url":"https://api.github.com/users/Amazinite/following{/other_user}","gists_url":"https://api.github.com/users/Amazinite/gists{/gist_id}","starred_url":"https://api.github.com/users/Amazinite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Amazinite/subscriptions","organizations_url":"https://api.github.com/users/Amazinite/orgs","repos_url":"https://api.github.com/users/Amazinite/repos","events_url":"https://api.github.com/users/Amazinite/events{/privacy}","received_events_url":"https://api.github.com/users/Amazinite/received_events","type":"User","site_admin":false},"created_at":"2017-08-14T05:57:36Z","updated_at":"2017-08-14T05:57:36Z","body":"This is a thing now:\r\n![screenshot_251](https://user-images.githubusercontent.com/17688683/29259863-df9c00c2-8093-11e7-8f6a-d09c0e54bcf8.png)\r\n"}}
{"actor":{"display_login":"Amazinite"}}