{"action":"closed","number":2840,"pull_request":{"url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/pulls/2840","id":228151714,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI4MTUxNzE0","html_url":"https://github.com/TauCetiStation/TauCetiClassic/pull/2840","diff_url":"https://github.com/TauCetiStation/TauCetiClassic/pull/2840.diff","patch_url":"https://github.com/TauCetiStation/TauCetiClassic/pull/2840.patch","issue_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/issues/2840","number":2840,"state":"closed","locked":false,"title":"Изменения, связанные с дверьми из натуральных материалов","user":{"login":"JacobTaken","id":44069118,"node_id":"MDQ6VXNlcjQ0MDY5MTE4","avatar_url":"https://avatars0.githubusercontent.com/u/44069118?v=4","gravatar_id":"","url":"https://api.github.com/users/JacobTaken","html_url":"https://github.com/JacobTaken","followers_url":"https://api.github.com/users/JacobTaken/followers","following_url":"https://api.github.com/users/JacobTaken/following{/other_user}","gists_url":"https://api.github.com/users/JacobTaken/gists{/gist_id}","starred_url":"https://api.github.com/users/JacobTaken/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JacobTaken/subscriptions","organizations_url":"https://api.github.com/users/JacobTaken/orgs","repos_url":"https://api.github.com/users/JacobTaken/repos","events_url":"https://api.github.com/users/JacobTaken/events{/privacy}","received_events_url":"https://api.github.com/users/JacobTaken/received_events","type":"User","site_admin":false},"body":"Ну что, попытка номер 2? Изменений теперь несколько, поэтому поэтапно.\r\n\r\n<details> \r\n  <summary>Частичный рефакторинг кода дверей</summary>\r\n<ul>\r\n<li>Переделал код, связанный с изменением состояния дверей. Различные проверки по возможности вынес в отдельный прок AllChecks() на замену TryToSwitchState(). Убрал лишние вызовы SwitchState() при столкновении с закрытой дверью: прок Open() вызывается напрямую.</li>\r\n<li>Булевые значения теперь булевые.</li>\r\n<li>Переписал текстовые пути к стакам материалов, создающимся при разборе дверей, в нормальные.</li>\r\n<li>Циклы for переписал в нужную форму.</li>\r\n<li>Встроенные макросы с цветами текста заменены на \"span\".</li>\r\n<li>Убрал лишние return в конце функций.</li>\r\n<li>Операторы управления больше не пишутся в одну строку.</li>\r\n<li>Поправлены пробелы после запятых и рядом с операторами арифметических действий.</li>\r\n<li>В проках проигрывания звуков \"loc\" заменил на \"src\".</li>\r\n<li>Убрал некоторые не делающие ничего полезного кусочки кода.</li>\r\n</ul>\r\n</details>\r\n\r\n<details> \r\n  <summary>Исправление багов и не соответствующих логике вещей</summary>\r\n<ul>\r\n<li>Добавил вызовы прока add_fingerprint() в проки взаимодействия с дверью, чтобы при изменении состояния двери оставались отпечатки пальцев.</li>\r\n<li>Добавил проверку на размер моба, чтобы мелкие существа не могли открывать дверь.</li>\r\n<li>Добавил две строчки кода в модуль портированной с Европы системы воды, чтобы вода перестала проходить через закрытые двери</li>\r\n<li>Убрал возможность создавать из железных (которые по идее должны быть чугунными, так как чистое железо мягкое и из него нельзя получить слитки) слитков железные двери, так как из чистого железа двери сделать невозможно. Заменил железные двери на стальные (на карте на базе мага, а также в коде). Этим же исправил баг, когда из железа создавалась дверь, а при её разрушении создавались листы стали.</li>\r\n<li>Горелка \"разбирает\" до материалов только стальную дверь, что логично. Кирка и бур перестали \"разбирать\" до материалов стальные и деревянные двери, что опять же логично.</li>\r\n</ul>\r\n</details>\r\n\r\n<details> \r\n  <summary>Небольшие фичи</summary>\r\n<ul>\r\n<li>Добавил возможность \"разобрать\" деревянную дверь пожарным топором. Добавил звук для топора (авторских прав нет).</li>\r\n<li>Добавил возможность откручивать двери от пола (считай, снимать их с петель или же, как я сделал в сообщении игроку в чате, \"разбирать\", но уже не до материалов, а просто до частей). При этом через \"разобранную\" дверь можно проходить (это не баг). Спрайты для \"разобранных\" дверей сделал, просто перевернув на бок обычные. В принципе, не особо критично, но может кто в будущем поменяет на более адекватные. Прикручивать обратно к полу тоже можно (\"собирать\").</li>\r\n</ul>\r\n</details>\r\n\r\nЧто-то мог пропустить да и вообще ошибок в коде наделать, поэтому жду ревью. \r\n\r\nЧейнджлог, конечно, большой вышел, но ужать вряд ли смогу.\r\n\r\nА, ну и да. fix #2584\r\n\r\n:cl: Jacob Taken\r\n - tweak:  Железная дверь стала стальной.\r\n - bugfix: Через закрытые двери из натуральных материалов больше не проходит вода.\r\n - bugfix: Двери начали собирать отпечатки пальцев.\r\n - bugfix: Маленькие существа перестали открывать двери.\r\n - bugfix: Горелка разваривает только стальные двери. Кирка и бур перестали \"разбирать\" деревянные и стальные двери до материалов.\r\n - rscadd: Топор рубит деревянную дверь с характерным звуком.\r\n - rscadd: Все двери можно откручивать от пола и прикручивать к нему гаечным ключом.","created_at":"2018-11-04T01:35:03Z","updated_at":"2018-11-13T06:05:56Z","closed_at":"2018-11-13T06:05:55Z","merged_at":"2018-11-13T06:05:55Z","merge_commit_sha":"6cb8807dfebbf7820aa6f23392a06892d638d46b","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":356334355,"node_id":"MDU6TGFiZWwzNTYzMzQzNTU=","url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/labels/Feature","name":"Feature","color":"d4c5f9","default":false},{"id":355704677,"node_id":"MDU6TGFiZWwzNTU3MDQ2Nzc=","url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/labels/Fix","name":"Fix","color":"0052cc","default":false},{"id":364620392,"node_id":"MDU6TGFiZWwzNjQ2MjAzOTI=","url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/labels/Map%20Edit","name":"Map Edit","color":"1d76db","default":false},{"id":397895046,"node_id":"MDU6TGFiZWwzOTc4OTUwNDY=","url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/labels/Sprites","name":"Sprites","color":"006b75","default":false},{"id":466243079,"node_id":"MDU6TGFiZWw0NjYyNDMwNzk=","url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/labels/Tweak","name":"Tweak","color":"450076","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/pulls/2840/commits","review_comments_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/pulls/2840/comments","review_comment_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/pulls/comments{/number}","comments_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/issues/2840/comments","statuses_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/statuses/6616fd1bb4fc9090729c4b3dc7e21c30a81635cb","head":{"label":"JacobTaken:mineral-door-reworking","ref":"mineral-door-reworking","sha":"6616fd1bb4fc9090729c4b3dc7e21c30a81635cb","user":{"login":"JacobTaken","id":44069118,"node_id":"MDQ6VXNlcjQ0MDY5MTE4","avatar_url":"https://avatars0.githubusercontent.com/u/44069118?v=4","gravatar_id":"","url":"https://api.github.com/users/JacobTaken","html_url":"https://github.com/JacobTaken","followers_url":"https://api.github.com/users/JacobTaken/followers","following_url":"https://api.github.com/users/JacobTaken/following{/other_user}","gists_url":"https://api.github.com/users/JacobTaken/gists{/gist_id}","starred_url":"https://api.github.com/users/JacobTaken/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JacobTaken/subscriptions","organizations_url":"https://api.github.com/users/JacobTaken/orgs","repos_url":"https://api.github.com/users/JacobTaken/repos","events_url":"https://api.github.com/users/JacobTaken/events{/privacy}","received_events_url":"https://api.github.com/users/JacobTaken/received_events","type":"User","site_admin":false},"repo":{"id":152635878,"node_id":"MDEwOlJlcG9zaXRvcnkxNTI2MzU4Nzg=","name":"TauCetiClassic","full_name":"JacobTaken/TauCetiClassic","private":false,"owner":{"login":"JacobTaken","id":44069118,"node_id":"MDQ6VXNlcjQ0MDY5MTE4","avatar_url":"https://avatars0.githubusercontent.com/u/44069118?v=4","gravatar_id":"","url":"https://api.github.com/users/JacobTaken","html_url":"https://github.com/JacobTaken","followers_url":"https://api.github.com/users/JacobTaken/followers","following_url":"https://api.github.com/users/JacobTaken/following{/other_user}","gists_url":"https://api.github.com/users/JacobTaken/gists{/gist_id}","starred_url":"https://api.github.com/users/JacobTaken/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JacobTaken/subscriptions","organizations_url":"https://api.github.com/users/JacobTaken/orgs","repos_url":"https://api.github.com/users/JacobTaken/repos","events_url":"https://api.github.com/users/JacobTaken/events{/privacy}","received_events_url":"https://api.github.com/users/JacobTaken/received_events","type":"User","site_admin":false},"html_url":"https://github.com/JacobTaken/TauCetiClassic","description":"Франкенштейн жив","fork":true,"url":"https://api.github.com/repos/JacobTaken/TauCetiClassic","forks_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/forks","keys_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/teams","hooks_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/hooks","issue_events_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/issues/events{/number}","events_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/events","assignees_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/assignees{/user}","branches_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/branches{/branch}","tags_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/tags","blobs_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/git/refs{/sha}","trees_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/statuses/{sha}","languages_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/languages","stargazers_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/stargazers","contributors_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/contributors","subscribers_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/subscribers","subscription_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/subscription","commits_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/commits{/sha}","git_commits_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/git/commits{/sha}","comments_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/comments{/number}","issue_comment_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/issues/comments{/number}","contents_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/contents/{+path}","compare_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/merges","archive_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/downloads","issues_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/issues{/number}","pulls_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/pulls{/number}","milestones_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/milestones{/number}","notifications_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/labels{/name}","releases_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/releases{/id}","deployments_url":"https://api.github.com/repos/JacobTaken/TauCetiClassic/deployments","created_at":"2018-10-11T18:17:26Z","updated_at":"2018-11-03T20:06:40Z","pushed_at":"2018-11-11T20:22:27Z","git_url":"git://github.com/JacobTaken/TauCetiClassic.git","ssh_url":"git@github.com:JacobTaken/TauCetiClassic.git","clone_url":"https://github.com/JacobTaken/TauCetiClassic.git","svn_url":"https://github.com/JacobTaken/TauCetiClassic","homepage":null,"size":584758,"stargazers_count":0,"watchers_count":0,"language":"DM","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"TauCetiStation:master","ref":"master","sha":"bf9d7ce500e23e94d7395776a4aa3ccefd314707","user":{"login":"TauCetiStation","id":7280533,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcyODA1MzM=","avatar_url":"https://avatars0.githubusercontent.com/u/7280533?v=4","gravatar_id":"","url":"https://api.github.com/users/TauCetiStation","html_url":"https://github.com/TauCetiStation","followers_url":"https://api.github.com/users/TauCetiStation/followers","following_url":"https://api.github.com/users/TauCetiStation/following{/other_user}","gists_url":"https://api.github.com/users/TauCetiStation/gists{/gist_id}","starred_url":"https://api.github.com/users/TauCetiStation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TauCetiStation/subscriptions","organizations_url":"https://api.github.com/users/TauCetiStation/orgs","repos_url":"https://api.github.com/users/TauCetiStation/repos","events_url":"https://api.github.com/users/TauCetiStation/events{/privacy}","received_events_url":"https://api.github.com/users/TauCetiStation/received_events","type":"Organization","site_admin":false},"repo":{"id":55870442,"node_id":"MDEwOlJlcG9zaXRvcnk1NTg3MDQ0Mg==","name":"TauCetiClassic","full_name":"TauCetiStation/TauCetiClassic","private":false,"owner":{"login":"TauCetiStation","id":7280533,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcyODA1MzM=","avatar_url":"https://avatars0.githubusercontent.com/u/7280533?v=4","gravatar_id":"","url":"https://api.github.com/users/TauCetiStation","html_url":"https://github.com/TauCetiStation","followers_url":"https://api.github.com/users/TauCetiStation/followers","following_url":"https://api.github.com/users/TauCetiStation/following{/other_user}","gists_url":"https://api.github.com/users/TauCetiStation/gists{/gist_id}","starred_url":"https://api.github.com/users/TauCetiStation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TauCetiStation/subscriptions","organizations_url":"https://api.github.com/users/TauCetiStation/orgs","repos_url":"https://api.github.com/users/TauCetiStation/repos","events_url":"https://api.github.com/users/TauCetiStation/events{/privacy}","received_events_url":"https://api.github.com/users/TauCetiStation/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/TauCetiStation/TauCetiClassic","description":"Франкенштейн жив","fork":false,"url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic","forks_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/forks","keys_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/teams","hooks_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/hooks","issue_events_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/issues/events{/number}","events_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/events","assignees_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/assignees{/user}","branches_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/branches{/branch}","tags_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/tags","blobs_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/git/refs{/sha}","trees_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/statuses/{sha}","languages_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/languages","stargazers_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/stargazers","contributors_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/contributors","subscribers_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/subscribers","subscription_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/subscription","commits_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/commits{/sha}","git_commits_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/git/commits{/sha}","comments_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/comments{/number}","issue_comment_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/issues/comments{/number}","contents_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/contents/{+path}","compare_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/merges","archive_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/downloads","issues_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/issues{/number}","pulls_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/pulls{/number}","milestones_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/milestones{/number}","notifications_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/labels{/name}","releases_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/releases{/id}","deployments_url":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/deployments","created_at":"2016-04-09T22:48:57Z","updated_at":"2018-11-13T05:50:11Z","pushed_at":"2018-11-13T06:05:56Z","git_url":"git://github.com/TauCetiStation/TauCetiClassic.git","ssh_url":"git@github.com:TauCetiStation/TauCetiClassic.git","clone_url":"https://github.com/TauCetiStation/TauCetiClassic.git","svn_url":"https://github.com/TauCetiStation/TauCetiClassic","homepage":null,"size":594339,"stargazers_count":42,"watchers_count":42,"language":"DM","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":114,"mirror_url":null,"archived":false,"open_issues_count":477,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":114,"open_issues":477,"watchers":42,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/pulls/2840"},"html":{"href":"https://github.com/TauCetiStation/TauCetiClassic/pull/2840"},"issue":{"href":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/issues/2840"},"comments":{"href":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/issues/2840/comments"},"review_comments":{"href":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/pulls/2840/comments"},"review_comment":{"href":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/pulls/2840/commits"},"statuses":{"href":"https://api.github.com/repos/TauCetiStation/TauCetiClassic/statuses/6616fd1bb4fc9090729c4b3dc7e21c30a81635cb"}},"author_association":"NONE","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"volas","id":4064061,"node_id":"MDQ6VXNlcjQwNjQwNjE=","avatar_url":"https://avatars0.githubusercontent.com/u/4064061?v=4","gravatar_id":"","url":"https://api.github.com/users/volas","html_url":"https://github.com/volas","followers_url":"https://api.github.com/users/volas/followers","following_url":"https://api.github.com/users/volas/following{/other_user}","gists_url":"https://api.github.com/users/volas/gists{/gist_id}","starred_url":"https://api.github.com/users/volas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/volas/subscriptions","organizations_url":"https://api.github.com/users/volas/orgs","repos_url":"https://api.github.com/users/volas/repos","events_url":"https://api.github.com/users/volas/events{/privacy}","received_events_url":"https://api.github.com/users/volas/received_events","type":"User","site_admin":false},"comments":4,"review_comments":32,"maintainer_can_modify":false,"commits":13,"additions":181,"deletions":170,"changed_files":9}}
{"actor":{"display_login":"volas"}}