{"action":"created","comment":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments/27041807","id":27041807,"diff_hunk":"@@ -61,79 +57,132 @@ typedef void (trapfunc::*trap_function)( Creature *, int x, int y );\n struct trap {\n         std::string id;\n         int loadid;\n-        std::string ident_string;\n         long sym;\n         nc_color color;\n         std::string name;\n     private:\n-        friend void load_trap(JsonObject &jo);\n         int visibility; // 1 to ??, affects detection\n         int avoidance;  // 0 to ??, affects avoidance\n         int difficulty; // 0 to ??, difficulty of assembly & disassembly\n-        bool benign;\n+        bool benign = false;\n         trap_function act;\n-    public:\n+        /**\n+         * If an item with this weight or more is thrown onto the trap, it triggers.\n+         */\n+        int trigger_weight;\n+        int funnel_radius_mm;\n         std::vector<itype_id> components; // For disassembly?\n-\n+    public:\n+        /**\n+         * How easy it is to spot the trap. Smaller values means it's easier to spot.\n+         */\n         int get_visibility() const\n         {\n             return visibility;\n         }\n+        /**\n+         * Whether triggering the trap can be avoid (if greater than 0) and if so, this is\n+         * compared to dodge skill (with some adjustments). Smaller values means it's easier\n+         * to dodge.\n+         */\n         int get_avoidance() const\n         {\n             return avoidance;\n         }\n+        /**\n+         * This is used when disarming the trap. A value of 0 means disarming will always work\n+         * (e.g. for funnels), a values of 99 means it can not be disarmed at all. Smaller values\n+         * makes it easier to disarm the trap.\n+         */\n         int get_difficulty() const\n         {\n             return difficulty;\n         }\n-        // Type of trap\n+        /**\n+         * If true, this is not really a trap and there won't be any safety queries before stepping\n+         * onto it (e.g. for funnels).\n+         */\n         bool is_benign() const\n         {\n             return benign;\n         }\n-        // non-generic numbers for special cases\n-        int funnel_radius_mm;\n-        /** If an item with this weight or more is thrown onto the trap, it triggers. */\n-        int trigger_weight;\n         /** Player has not yet seen the trap and returns the variable chance, at this moment,\n          of whether the trap is seen or not. */\n         bool detect_trap( const tripoint &pos, const player &p ) const;\n-        /** Can player/npc p see this kind of trap given their memory? */\n+        /**\n+         * Can player/npc p see this kind of trap, either by their memory (they known there is\n+         * the trap) or by the visibility of the trap (the trap is not hidden at all)?\n+         */\n         bool can_see( const tripoint &pos, const player &p ) const;\n-        /** Trigger trap effects by creature that stepped onto it. */\n+        /**\n+         * Trigger trap effects.\n+         * @param creature The creature that triggered the trap, it does not necessarily have to\n+         * be on the place of the trap (traps can be triggered from adjacent, e.g. when disarming\n+         * them). This can also be a null pointer if the trap has been triggered by some thrown\n+         * item (which must have the @ref trigger_weight).\n+         * @param pos The location of the trap in the main map.\n+         */\n         void trigger( const tripoint &pos, Creature *creature ) const;\n-\n+        /**\n+         * If the given item is throw onto the trap, does it trigger the trap?\n+         */\n+        bool triggered_by_item( const item &itm ) const;\n+        /**\n+         * Called when a trap at the given point in the main map has been disarmed.\n+         * It should spawn trap items (if any) and remove the trap from the map via\n+         * @ref map::remove_trap.\n+         */\n+        void on_disarmed( const tripoint &pos ) const;\n+        /**\n+         * Whether this kind of trap actually occupies a 3x3 area. Currently only blade traps\n+         * do so.\n+         */\n+        bool is_3x3_trap() const;","path":"src/trap.h","position":114,"original_position":114,"commit_id":"62f9b20240bee221bb588f6b679cefb85eca70c0","original_commit_id":"62f9b20240bee221bb588f6b679cefb85eca70c0","user":{"login":"BevapDin","id":5095435,"avatar_url":"https://avatars.githubusercontent.com/u/5095435?v=3","gravatar_id":"","url":"https://api.github.com/users/BevapDin","html_url":"https://github.com/BevapDin","followers_url":"https://api.github.com/users/BevapDin/followers","following_url":"https://api.github.com/users/BevapDin/following{/other_user}","gists_url":"https://api.github.com/users/BevapDin/gists{/gist_id}","starred_url":"https://api.github.com/users/BevapDin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BevapDin/subscriptions","organizations_url":"https://api.github.com/users/BevapDin/orgs","repos_url":"https://api.github.com/users/BevapDin/repos","events_url":"https://api.github.com/users/BevapDin/events{/privacy}","received_events_url":"https://api.github.com/users/BevapDin/received_events","type":"User","site_admin":false},"body":"> there are a number of useful items that could be modded in using those.\r\n\r\nDo you have examples because I lack any kind of creativity and it might help deciding how and what to import from json.","created_at":"2015-03-24T15:56:57Z","updated_at":"2015-03-24T15:56:57Z","html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11741#discussion_r27041807","pull_request_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11741","_links":{"self":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments/27041807"},"html":{"href":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11741#discussion_r27041807"},"pull_request":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11741"}}},"pull_request":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11741","id":31688187,"html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11741","diff_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11741.diff","patch_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11741.patch","issue_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/11741","number":11741,"state":"closed","locked":false,"title":"Trap overhaul","user":{"login":"BevapDin","id":5095435,"avatar_url":"https://avatars.githubusercontent.com/u/5095435?v=3","gravatar_id":"","url":"https://api.github.com/users/BevapDin","html_url":"https://github.com/BevapDin","followers_url":"https://api.github.com/users/BevapDin/followers","following_url":"https://api.github.com/users/BevapDin/following{/other_user}","gists_url":"https://api.github.com/users/BevapDin/gists{/gist_id}","starred_url":"https://api.github.com/users/BevapDin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BevapDin/subscriptions","organizations_url":"https://api.github.com/users/BevapDin/orgs","repos_url":"https://api.github.com/users/BevapDin/repos","events_url":"https://api.github.com/users/BevapDin/events{/privacy}","received_events_url":"https://api.github.com/users/BevapDin/received_events","type":"User","site_admin":false},"body":"A tiny trap overhaul (well, it started tiny), only one small behavior change:\r\n\r\nIf the character moves into a square with a trap, but is in a vehicle (boarded), the trap won't trigger.\r\n\r\nAnd a bug fix: placing the blade trap did not place the inner engine trap, only the surrounding blades.\r\n\r\n----\r\n\r\nRemaining stuff is structural cleanup:\r\n\r\nI moved the `load_trap`/`release_traps`/`set_trap_ids` functions into the `trap` class, made them static and renamed them to be consistent with other `load`/`reset`/`finalize` functions. In fact, I want to rename all those function currently used in the init.cpp to that style to have a bit consistency, any objections?\r\n\r\nThis allows the load function to access the private members of the trap class without a friend declaration. I removed the constructor which basically only copied the parameters into the members of the class, the load function writes the loaded values directly into those members.\r\n\r\n----\r\n\r\nChanges `map::traplocs` to be a vector of vectors of tripoints. It was a map of sets of tripoints.\r\n\r\nThe trap locations are now stored in a vector instead of a set. This can make insertions a bit slower, but it allows faster clearing (basically just setting the size to 0, and calling the destructor of all contained items, no deallocation), and it allows to move the trap locations when the map shifts without erasing and re-inserting them.\r\n\r\nThe previous code would (upon a map shift) clear all the trap locations and later add them back. This means deallocations and allocations even when those traps all stay inside the reality bubble. Using a vector allows to shift the positions by adding the shifting offset to the points and removing those (few) entries that are now outside the reality bubble.\r\n\r\nThe game already knows how many trap types there are and luckily the trap ids are implicitly numbered from 0 to N-1, one does not need a map to map the trap id to the vector of points. A vector which implicitly maps the values 0 to N-1 to its entries is enough. Accessing an element of a vector by its index is the fastest thing you can do, certainly faster than finding it in a map.\r\n\r\n----\r\n\r\nAdd a bunch of documentation in the trap class.\r\n\r\n----\r\n\r\nMoved `avoid_trap` into the Creature class (pure virtual there) and added implementations for the monster class, the implementation in the player class already existed. This allows the common code that is run when a creature steps onto a trap to be moved into a function (`map::creature_on_trap`), which handles the whole \"if it can not avoid the trap, trigger the trap\" code.\r\n\r\n----\r\n\r\n`map::tr_at` now returns a const reference to the trap object. In most cases this is what the caller wants, e.g. to check whether the player can see the trap or to trigger it. The integer id of the trap is still available as it is stored in the `loadid` member of the trap class.\r\n\r\n----\r\n\r\nWhen a vehicle drives across a trap that is not handled at all, it will not show any message anymore. Previously it would show a message (\"The %s runs over something\") when it runs over a funnel or similar.\r\n\r\n----\r\n\r\nAnd it finally makes some members of the trap class private. This is partially achieved by moving the relevant code into the trap class. This \"unburdens\" the map class a bit, it's already big enough.\r\n\r\n----\r\n\r\nIdeally all the trap properties (brazier contains fire, cot, rollmat give warmth during sleep/make it easier to sleep, ...)  should go into the trap object and can be loaded from json, would that be useful?\r\n","created_at":"2015-03-22T14:06:31Z","updated_at":"2015-03-24T15:56:57Z","closed_at":"2015-03-22T23:30:52Z","merged_at":"2015-03-22T23:30:52Z","merge_commit_sha":"d8fd34eae85cdba8feaebb2e8875afda201d1848","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11741/commits","review_comments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11741/comments","review_comment_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/11741/comments","statuses_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/62f9b20240bee221bb588f6b679cefb85eca70c0","head":{"label":"BevapDin:traps","ref":"traps","sha":"62f9b20240bee221bb588f6b679cefb85eca70c0","user":{"login":"BevapDin","id":5095435,"avatar_url":"https://avatars.githubusercontent.com/u/5095435?v=3","gravatar_id":"","url":"https://api.github.com/users/BevapDin","html_url":"https://github.com/BevapDin","followers_url":"https://api.github.com/users/BevapDin/followers","following_url":"https://api.github.com/users/BevapDin/following{/other_user}","gists_url":"https://api.github.com/users/BevapDin/gists{/gist_id}","starred_url":"https://api.github.com/users/BevapDin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BevapDin/subscriptions","organizations_url":"https://api.github.com/users/BevapDin/orgs","repos_url":"https://api.github.com/users/BevapDin/repos","events_url":"https://api.github.com/users/BevapDin/events{/privacy}","received_events_url":"https://api.github.com/users/BevapDin/received_events","type":"User","site_admin":false},"repo":{"id":11775770,"name":"Cataclysm-DDA","full_name":"BevapDin/Cataclysm-DDA","owner":{"login":"BevapDin","id":5095435,"avatar_url":"https://avatars.githubusercontent.com/u/5095435?v=3","gravatar_id":"","url":"https://api.github.com/users/BevapDin","html_url":"https://github.com/BevapDin","followers_url":"https://api.github.com/users/BevapDin/followers","following_url":"https://api.github.com/users/BevapDin/following{/other_user}","gists_url":"https://api.github.com/users/BevapDin/gists{/gist_id}","starred_url":"https://api.github.com/users/BevapDin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BevapDin/subscriptions","organizations_url":"https://api.github.com/users/BevapDin/orgs","repos_url":"https://api.github.com/users/BevapDin/repos","events_url":"https://api.github.com/users/BevapDin/events{/privacy}","received_events_url":"https://api.github.com/users/BevapDin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/BevapDin/Cataclysm-DDA","description":"Cataclysm - Dark Days Ahead. A fork/variant of Cataclysm Roguelike by Whales.","fork":true,"url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA","forks_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/forks","keys_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/teams","hooks_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/hooks","issue_events_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/issues/events{/number}","events_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/events","assignees_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/assignees{/user}","branches_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/branches{/branch}","tags_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/tags","blobs_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/git/refs{/sha}","trees_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/statuses/{sha}","languages_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/languages","stargazers_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/stargazers","contributors_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/contributors","subscribers_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/subscribers","subscription_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/subscription","commits_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/commits{/sha}","git_commits_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/git/commits{/sha}","comments_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/comments{/number}","issue_comment_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/issues/comments{/number}","contents_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/contents/{+path}","compare_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/merges","archive_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/downloads","issues_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/issues{/number}","pulls_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/pulls{/number}","milestones_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/milestones{/number}","notifications_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/labels{/name}","releases_url":"https://api.github.com/repos/BevapDin/Cataclysm-DDA/releases{/id}","created_at":"2013-07-30T21:12:59Z","updated_at":"2014-09-19T12:18:20Z","pushed_at":"2015-03-24T15:52:22Z","git_url":"git://github.com/BevapDin/Cataclysm-DDA.git","ssh_url":"git@github.com:BevapDin/Cataclysm-DDA.git","clone_url":"https://github.com/BevapDin/Cataclysm-DDA.git","svn_url":"https://github.com/BevapDin/Cataclysm-DDA","homepage":"http://en.cataclysmdda.com/","size":392435,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"CleverRaven:master","ref":"master","sha":"1cb6e13a78e0d6e99aada2111e5e827324652795","user":{"login":"CleverRaven","id":4367009,"avatar_url":"https://avatars.githubusercontent.com/u/4367009?v=3","gravatar_id":"","url":"https://api.github.com/users/CleverRaven","html_url":"https://github.com/CleverRaven","followers_url":"https://api.github.com/users/CleverRaven/followers","following_url":"https://api.github.com/users/CleverRaven/following{/other_user}","gists_url":"https://api.github.com/users/CleverRaven/gists{/gist_id}","starred_url":"https://api.github.com/users/CleverRaven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CleverRaven/subscriptions","organizations_url":"https://api.github.com/users/CleverRaven/orgs","repos_url":"https://api.github.com/users/CleverRaven/repos","events_url":"https://api.github.com/users/CleverRaven/events{/privacy}","received_events_url":"https://api.github.com/users/CleverRaven/received_events","type":"Organization","site_admin":false},"repo":{"id":5973855,"name":"Cataclysm-DDA","full_name":"CleverRaven/Cataclysm-DDA","owner":{"login":"CleverRaven","id":4367009,"avatar_url":"https://avatars.githubusercontent.com/u/4367009?v=3","gravatar_id":"","url":"https://api.github.com/users/CleverRaven","html_url":"https://github.com/CleverRaven","followers_url":"https://api.github.com/users/CleverRaven/followers","following_url":"https://api.github.com/users/CleverRaven/following{/other_user}","gists_url":"https://api.github.com/users/CleverRaven/gists{/gist_id}","starred_url":"https://api.github.com/users/CleverRaven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CleverRaven/subscriptions","organizations_url":"https://api.github.com/users/CleverRaven/orgs","repos_url":"https://api.github.com/users/CleverRaven/repos","events_url":"https://api.github.com/users/CleverRaven/events{/privacy}","received_events_url":"https://api.github.com/users/CleverRaven/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CleverRaven/Cataclysm-DDA","description":"Cataclysm - Dark Days Ahead. A fork/variant of Cataclysm Roguelike by Whales.","fork":false,"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA","forks_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/forks","keys_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/teams","hooks_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/hooks","issue_events_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/events{/number}","events_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/events","assignees_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/assignees{/user}","branches_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/branches{/branch}","tags_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/tags","blobs_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/refs{/sha}","trees_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/{sha}","languages_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/languages","stargazers_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/stargazers","contributors_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/contributors","subscribers_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/subscribers","subscription_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/subscription","commits_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/commits{/sha}","git_commits_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/commits{/sha}","comments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/comments{/number}","issue_comment_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/comments{/number}","contents_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/contents/{+path}","compare_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/merges","archive_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/downloads","issues_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues{/number}","pulls_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls{/number}","milestones_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/milestones{/number}","notifications_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/labels{/name}","releases_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/releases{/id}","created_at":"2012-09-26T22:57:43Z","updated_at":"2015-03-24T07:41:11Z","pushed_at":"2015-03-24T14:12:17Z","git_url":"git://github.com/CleverRaven/Cataclysm-DDA.git","ssh_url":"git@github.com:CleverRaven/Cataclysm-DDA.git","clone_url":"https://github.com/CleverRaven/Cataclysm-DDA.git","svn_url":"https://github.com/CleverRaven/Cataclysm-DDA","homepage":"http://en.cataclysmdda.com/","size":466711,"stargazers_count":624,"watchers_count":624,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":681,"mirror_url":null,"open_issues_count":881,"forks":681,"open_issues":881,"watchers":624,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11741"},"html":{"href":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11741"},"issue":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/11741"},"comments":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/11741/comments"},"review_comments":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11741/comments"},"review_comment":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11741/commits"},"statuses":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/62f9b20240bee221bb588f6b679cefb85eca70c0"}}}}