{"action":"created","issue":{"url":"https://api.github.com/repos/endless-sky/endless-sky/issues/3144","repository_url":"https://api.github.com/repos/endless-sky/endless-sky","labels_url":"https://api.github.com/repos/endless-sky/endless-sky/issues/3144/labels{/name}","comments_url":"https://api.github.com/repos/endless-sky/endless-sky/issues/3144/comments","events_url":"https://api.github.com/repos/endless-sky/endless-sky/issues/3144/events","html_url":"https://github.com/endless-sky/endless-sky/pull/3144","id":267325954,"number":3144,"title":"Enable System Attributes and their use in LocationFilters","user":{"login":"tehhowch","id":20871346,"avatar_url":"https://avatars3.githubusercontent.com/u/20871346?v=4","gravatar_id":"","url":"https://api.github.com/users/tehhowch","html_url":"https://github.com/tehhowch","followers_url":"https://api.github.com/users/tehhowch/followers","following_url":"https://api.github.com/users/tehhowch/following{/other_user}","gists_url":"https://api.github.com/users/tehhowch/gists{/gist_id}","starred_url":"https://api.github.com/users/tehhowch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tehhowch/subscriptions","organizations_url":"https://api.github.com/users/tehhowch/orgs","repos_url":"https://api.github.com/users/tehhowch/repos","events_url":"https://api.github.com/users/tehhowch/events{/privacy}","received_events_url":"https://api.github.com/users/tehhowch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-10-20T22:59:30Z","updated_at":"2017-11-20T03:26:27Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/endless-sky/endless-sky/pulls/3144","html_url":"https://github.com/endless-sky/endless-sky/pull/3144","diff_url":"https://github.com/endless-sky/endless-sky/pull/3144.diff","patch_url":"https://github.com/endless-sky/endless-sky/pull/3144.patch"},"body":"Refs #3143 #526 \r\n\r\nLocationFilter will now union a planet and its system, and a system and its planets, while checking for matches to a particular set of attributes.\r\nA system's attributes are comprised of those specified via file, with the `attributes` node:\r\n```\r\nsystem \"Sol Arach\"\r\n    attributes \"nexus\"\r\n```\r\nand those that are automatically generated from its StellarObjects and links.  The above \"nexus\" attribute would be unnecessary, as Sol Arach has 7 systems linked to it, and the \"nexus\" attribute is automatically assigned for those systems that have 6 or more linked systems.\r\n\r\nCurrent automatic system attributes ( #3143 )\r\n - nexus\r\n - hub\r\n - crossroads\r\n - galactic phenomena\r\n - ternary star\r\n - binary star\r\n - no star\r\n - high minable density\r\n - high asteroid density\r\n - high moon density\r\n - many moons\r\n - wormhole (when unioned with `PlanetAttributes()` in LocationFilter::Matches, if the wormhole is accessible)\r\n - inhabited (when unioned with `PlanetAttributes()` in LocationFilter::Matches, if the inhabited planets are accessible)\r\n - uninhabited\r\n\r\nThe import of attributes from a system's accessible planets means the system will import any geographic or civilization based attributes (e.g. `pirate`, `north`, `dirt belt`, etc). It also means \"contradictory\" attributes can exist - for example, peacekeeping forces might need an escort to a system that is `urban rich poor` (note that because an individual planet won't have both attributes, contradictory attributes won't match if anded in a source, destination, or stopover filter (but will work in a waypoint or NPC system filter).\r\n\r\nAn alternative (or perhaps complementary) approach would be to specify another embedded LocationFilter that is applied only during system match-checking.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/endless-sky/endless-sky/issues/comments/345581943","html_url":"https://github.com/endless-sky/endless-sky/pull/3144#issuecomment-345581943","issue_url":"https://api.github.com/repos/endless-sky/endless-sky/issues/3144","id":345581943,"user":{"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},"created_at":"2017-11-20T03:26:26Z","updated_at":"2017-11-20T03:26:26Z","author_association":"OWNER","body":"Having that many auto-generated attributes doesn't really make sense to me. The auto-attributes for planets (spaceport, shipyard, and outfitter) have really obvious meanings and are likely to be useful, but many of these attributes have unclear meanings or limited usefulness."}}
{"actor":{"display_login":"endless-sky"}}