{"action":"opened","issue":{"url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8113","labels_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8113/labels{/name}","comments_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8113/comments","events_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8113/events","html_url":"https://github.com/OpenRA/OpenRA/issues/8113","id":74475428,"number":8113,"title":"Actors with BuildLimit implicitly provide prerequisites","user":{"login":"penev92","id":7137365,"avatar_url":"https://avatars.githubusercontent.com/u/7137365?v=3","gravatar_id":"","url":"https://api.github.com/users/penev92","html_url":"https://github.com/penev92","followers_url":"https://api.github.com/users/penev92/followers","following_url":"https://api.github.com/users/penev92/following{/other_user}","gists_url":"https://api.github.com/users/penev92/gists{/gist_id}","starred_url":"https://api.github.com/users/penev92/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/penev92/subscriptions","organizations_url":"https://api.github.com/users/penev92/orgs","repos_url":"https://api.github.com/users/penev92/repos","events_url":"https://api.github.com/users/penev92/events{/privacy}","received_events_url":"https://api.github.com/users/penev92/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OpenRA/OpenRA/labels/Refactor","name":"Refactor","color":"00FFCC"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-05-08T19:55:52Z","updated_at":"2015-05-08T19:55:52Z","closed_at":null,"body":"Actors with `Buildable.BuildLimit > 0` automatically provide their name as build prerequisite in a quite hacky manner, as seen [here](https://github.com/OpenRA/OpenRA/blob/0569eb640f7cd87e492d3f8dfe13cd3bc3a3dc23/OpenRA.Mods.Common/Traits/Player/TechTree.cs#L94).\r\n\r\nUntil very recently, actors with the `Building` trait did that as well, and that was considered (correctly) a hack.\r\nRelated to #5287.\r\n\r\nMy opinion is that someone should add an upgrade rule to add `ProvidesPrerequisite` to every actor that has `Buildable.BuildLimit > 0` and remove the code linked above, so prerequisite granting can finally be consistent and only explicit."}}