{"action":"created","comment":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments/244692044","pull_request_review_id":188622629,"id":244692044,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NDY5MjA0NA==","diff_hunk":"@@ -6393,186 +6388,161 @@ void item::update_temp( const int temp, const float insulation )\n         return;\n     }\n \n-    // only process temperature at most every 10_turns, note we're also gated\n+    // only process temperature at most every 50_turns, note we're also gated\n     // by item::processing_speed\n-    if( dur > 10_turns ) {\n+\t// If the item has negative energy process it now. It is a new item.\n+    if( dur > 50_turns || thermal_energy < 0 ) {\n         calc_temp( temp, insulation, dur );\n         last_temp_check = now;\n     }\n }\n \n void item::calc_temp( const int temp, const float insulation, const time_duration &time )\n {\n-    // we simulate the maximum temperature an item can retain by its mass\n-    // TODO: Limit max frozen by this as well (don't forget to fix deep freeze\n-    // parasites if you do).\n-    const int max_heat = clamp( to_gram( weight() ), 100, 600 );\n-    const int freeze_point = type->comestible->freeze_point;\n-    bool is_hot = item_tags.count( \"HOT\" );\n-    bool is_warm = item_tags.count( \"WARM\" );\n-    bool is_cold = item_tags.count( \"COLD\" );\n-    bool is_frozen = item_tags.count( \"FROZEN\" );\n-    int loop_diff = 0;\n-    int diff = is_frozen ? temp_difference_ratio( temp, freeze_point ) :\n-               is_cold ? temp_difference_ratio( temp, temperatures::cold ) :\n-               is_hot || is_warm ? temp_difference_ratio( temp, temperatures::hot ) :\n-               temp_difference_ratio( temp, temperatures::normal );\n-    diff *= to_turns<int>( time );\n-    diff /= std::max( insulation, static_cast<float>( 0.1 ) );\n-    // no matter how much insulation temperature will shift at least a 1 degree\n-    // every ten turns if less than cold\n-    diff = std::max( diff, 1 );\n-\n-    // process diff in chunks of 600 because that's the barrier at which a\n-    // something can become frozen or cold, we do this once here and at the end\n-    // of the loop to avoid looping twice if possible\n-    loop_diff = std::min( 600, diff );\n-    if( diff >= 600 ) {\n-        diff -= 600;\n-    } else  {\n-        diff = 0;\n-    }\n-\n-    do {\n-        if( is_hot ) {\n-            if( temp >= temperatures::hot ) {\n-                item_counter += loop_diff;\n-            } else {\n-                item_counter -= loop_diff;\n-            }\n-            if( item_counter <= 0 ) {\n-                item_tags.erase( \"HOT\" );\n-                item_tags.insert( \"WARM\" );\n-                item_counter = 600;\n-                is_warm = true;\n-                is_hot = false;\n-            } else if( item_counter > max_heat ) {\n-                // item cannot heat any further\n-                item_counter = max_heat;\n-                return;\n-            }\n-        } else if( is_warm ) {\n-            if( temp >= temperatures::hot ) {\n-                item_counter += loop_diff;\n-            } else {\n-                item_counter -= loop_diff;\n-            }\n-\n-            if( item_counter <= 0 ) {\n-                item_tags.erase( \"WARM\" );\n-                item_counter = 0;\n-                if( temp > temperatures::cold ) {\n-                    // item cannot cool any further, we're done\n-                    return;\n-                }\n-                is_warm = false;\n-            } else if( item_counter > 600 ) {\n-                item_tags.erase( \"WARM\" );\n-                item_tags.insert( \"HOT\" );\n-                is_warm = false;\n-                is_hot = true;\n-            }\n-        } else if( is_cold ) {\n-            if( temp <= temperatures::cold ) {\n-                item_counter += loop_diff;\n-                if( item_counter > 600 ) {\n-                    if( temp <= freeze_point ) {\n-                        // if temp is colder than freeze point start ticking frozen\n-                        item_tags.erase( \"COLD\" );\n-                        item_tags.insert( \"FROZEN\" );\n-                        current_phase = SOLID;\n-                        item_counter = 1;\n-                        is_cold = false;\n-                        is_frozen = true;\n-                    } else {\n-                        // if temp is warmer than freezing, cold counter cannot\n-                        // exceed 600 and we're done here because item cannot cool\n-                        // off any further\n-                        item_counter = 600;\n-                        return;\n-                    }\n-                }\n-            } else {\n-                item_counter -= loop_diff;\n-                // if item is cold and counter is decreasing, we can only be in a\n-                // warmer temp, so we're done if it's less than zero, if it's\n-                // greater than 600 that means we're still cooling off and need to\n-                // transition to frozen.\n-                if( item_counter <= 0 ) {\n-                    item_tags.erase( \"COLD\" );\n-                    item_counter = 0;\n-                    return;\n-                }\n-            }\n-        } else if( is_frozen ) {\n-            if( temp <= freeze_point ) {\n-                item_counter += loop_diff;\n-                if( item_counter > 500 && type->comestible->parasites > 0 ) {\n-                    item_tags.insert( \"NO_PARASITES\" );\n-                }\n-\n-                // counter cannot exceed 600 as frozen, if it does we know\n-                // we're done because item is cooling down and cannot cool any\n-                // further\n-                if( item_counter > 600 ) {\n-                    item_counter = 600;\n-                    return;\n-                }\n-            } else {\n-                item_counter -= loop_diff;\n-                // item is defrosting\n-                if( item_counter < 0 ) {\n-                    apply_freezerburn(); // removes frozen tag and applies mushy/rot if needed\n-                    item_tags.insert( \"COLD\" );\n-                    item_counter = 600;\n-                    is_frozen = false;\n-                    is_cold = true;\n-                }\n-            }\n-        } else if( temp <= temperatures::cold ) {\n-            // see if we need to add a cold tag\n-            item_counter += loop_diff;\n-            if( item_counter > 600 ) {\n-                item_tags.insert( \"COLD\" );\n-                item_counter = 1;\n-                is_cold = true;\n-            }\n-        } else if( temp >= temperatures::hot ) {\n-            // if we have item_counters without a tag we were starting to\n-            // increment toward cold, remove counters until we don't have any,\n-            // then add warm tag and start to increment with WARM tag\n-            item_counter -= loop_diff;\n-            if( item_counter < 0 ) {\n-                item_tags.insert( \"WARM\" );\n-                item_counter = std::max( 600, -item_counter );\n-                is_warm = true;\n-            }\n+    const float env_temperature = ( temp - 32 ) * 0.556 + 273.15;\n+    const float old_temperature = 0.1 * temperature;\n+    \n+    // If no temperature difference then no need to do math.\n+    // In practice this happens when the real difference is smaller than 0.05 K due to rounding when the item temperature is saved as integer.\n+    // This is not a problem and it is good to stop doing pointless calculations at some point.\n+    if( env_temperature == old_temperature ) {\n+        return;\n+    }\n+    const float mass = to_gram( weight() ); // g\n+    float true_energy = mass * thermal_energy * 0.001;","path":"src/item.cpp","position":306,"original_position":306,"commit_id":"4c4d4915e33019df8989e54ccedad8935396cf09","original_commit_id":"4c4d4915e33019df8989e54ccedad8935396cf09","user":{"login":"Vasyan2006","id":34272516,"node_id":"MDQ6VXNlcjM0MjcyNTE2","avatar_url":"https://avatars1.githubusercontent.com/u/34272516?v=4","gravatar_id":"","url":"https://api.github.com/users/Vasyan2006","html_url":"https://github.com/Vasyan2006","followers_url":"https://api.github.com/users/Vasyan2006/followers","following_url":"https://api.github.com/users/Vasyan2006/following{/other_user}","gists_url":"https://api.github.com/users/Vasyan2006/gists{/gist_id}","starred_url":"https://api.github.com/users/Vasyan2006/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vasyan2006/subscriptions","organizations_url":"https://api.github.com/users/Vasyan2006/orgs","repos_url":"https://api.github.com/users/Vasyan2006/repos","events_url":"https://api.github.com/users/Vasyan2006/events{/privacy}","received_events_url":"https://api.github.com/users/Vasyan2006/received_events","type":"User","site_admin":false},"body":"It is not clear (at least for  me) why to use two different variables for the energy, specially if the overflow is not a problem any more. You can probably use only one of them in the entire calculations.","created_at":"2019-01-02T09:42:35Z","updated_at":"2019-01-02T09:42:35Z","html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/27387#discussion_r244692044","pull_request_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/27387","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments/244692044"},"html":{"href":"https://github.com/CleverRaven/Cataclysm-DDA/pull/27387#discussion_r244692044"},"pull_request":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/27387"}}},"pull_request":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/27387","id":241578002,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQxNTc4MDAy","html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/27387","diff_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/27387.diff","patch_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/27387.patch","issue_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/27387","number":27387,"state":"open","locked":false,"title":"Thermal energy based temperature system ","user":{"login":"Hirmuolio","id":22011552,"node_id":"MDQ6VXNlcjIyMDExNTUy","avatar_url":"https://avatars3.githubusercontent.com/u/22011552?v=4","gravatar_id":"","url":"https://api.github.com/users/Hirmuolio","html_url":"https://github.com/Hirmuolio","followers_url":"https://api.github.com/users/Hirmuolio/followers","following_url":"https://api.github.com/users/Hirmuolio/following{/other_user}","gists_url":"https://api.github.com/users/Hirmuolio/gists{/gist_id}","starred_url":"https://api.github.com/users/Hirmuolio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hirmuolio/subscriptions","organizations_url":"https://api.github.com/users/Hirmuolio/orgs","repos_url":"https://api.github.com/users/Hirmuolio/repos","events_url":"https://api.github.com/users/Hirmuolio/events{/privacy}","received_events_url":"https://api.github.com/users/Hirmuolio/received_events","type":"User","site_admin":false},"body":"  \r\n\r\n#### Summary\r\nEach item gets its temperature and thermal energy tracked for better phase changes. Items also cool/heat based on energy flow to/from the enviroment.\r\n\r\n```SUMMARY: Balance \"Item temperatures are now based on their thermal energy\"```\r\n\r\n#### Purpose of change\r\nIn current system items freeze/unfreeze instantly after reaching the required temperature.\r\n\r\nAlso in current system the cooling/heating happens purely based on the temperature difference. As a result all items cool and heat at identical rates.\r\n\r\n#### Describe the solution\r\nThe new heating/cooling are based on energy flow which is based on item volume and mass. \r\n\r\nenergy_flow (J) = temperature_difference (K) * conductivity_term * surface_area (m3) * time_delta (s)\r\nThe conductivity_term is constant chosen to \"feel right\". It is 20/insulation. Greater values make items change temperature faster. This value is subjective and can be changed.\r\n\r\nItem temperature is calculated from the thermal energy it has using the item's mass, freezing temperature, specific heat (both liquid and solid) and latent heat. If specific heats, freezing temperature or latent heat are not specified for the item the values of water are used.\r\n\r\nThe new the freezing/unfreezing happens more realistically based on thermal energy in the item. If the item has enough energy to be at least 50% liquid then it will be considered to be liquid.\r\n\r\nFood items can define the new attributes in the item json as \"specific_heat_liquid\", \"specific_heat_solid\" and \"latent_heat\". If the item does not have them defined then the values of water are used.\r\n\r\n#### Describe alternatives you've considered\r\nIf item volume and mass do not have meaningful impact on the temperature system then the calculations can be simplified so that all items again heat/cool at same rate while still keeping energy based temperature system.\r\n\r\n#### Additional context\r\nThe heat flow is based on https://en.wikipedia.org/wiki/Rate_of_heat_flow. All the variables that can not be easily aquired in game are lumped in the conductivity_term constant.\r\n","created_at":"2018-12-31T16:01:31Z","updated_at":"2019-01-02T09:42:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3c98922c7cf30dc14946063abab3088500b748e9","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1045568860,"node_id":"MDU6TGFiZWwxMDQ1NTY4ODYw","url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/labels/Temperature","name":"Temperature","color":"ead515","default":false},{"id":659366627,"node_id":"MDU6TGFiZWw2NTkzNjY2Mjc=","url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/labels/[C++]","name":"[C++]","color":"f9d0c4","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/27387/commits","review_comments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/27387/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/27387/comments","statuses_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/4c4d4915e33019df8989e54ccedad8935396cf09","head":{"label":"Hirmuolio:Hirmuolio-temperature","ref":"Hirmuolio-temperature","sha":"4c4d4915e33019df8989e54ccedad8935396cf09","user":{"login":"Hirmuolio","id":22011552,"node_id":"MDQ6VXNlcjIyMDExNTUy","avatar_url":"https://avatars3.githubusercontent.com/u/22011552?v=4","gravatar_id":"","url":"https://api.github.com/users/Hirmuolio","html_url":"https://github.com/Hirmuolio","followers_url":"https://api.github.com/users/Hirmuolio/followers","following_url":"https://api.github.com/users/Hirmuolio/following{/other_user}","gists_url":"https://api.github.com/users/Hirmuolio/gists{/gist_id}","starred_url":"https://api.github.com/users/Hirmuolio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hirmuolio/subscriptions","organizations_url":"https://api.github.com/users/Hirmuolio/orgs","repos_url":"https://api.github.com/users/Hirmuolio/repos","events_url":"https://api.github.com/users/Hirmuolio/events{/privacy}","received_events_url":"https://api.github.com/users/Hirmuolio/received_events","type":"User","site_admin":false},"repo":{"id":163680928,"node_id":"MDEwOlJlcG9zaXRvcnkxNjM2ODA5Mjg=","name":"Cataclysm-DDA","full_name":"Hirmuolio/Cataclysm-DDA","private":false,"owner":{"login":"Hirmuolio","id":22011552,"node_id":"MDQ6VXNlcjIyMDExNTUy","avatar_url":"https://avatars3.githubusercontent.com/u/22011552?v=4","gravatar_id":"","url":"https://api.github.com/users/Hirmuolio","html_url":"https://github.com/Hirmuolio","followers_url":"https://api.github.com/users/Hirmuolio/followers","following_url":"https://api.github.com/users/Hirmuolio/following{/other_user}","gists_url":"https://api.github.com/users/Hirmuolio/gists{/gist_id}","starred_url":"https://api.github.com/users/Hirmuolio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hirmuolio/subscriptions","organizations_url":"https://api.github.com/users/Hirmuolio/orgs","repos_url":"https://api.github.com/users/Hirmuolio/repos","events_url":"https://api.github.com/users/Hirmuolio/events{/privacy}","received_events_url":"https://api.github.com/users/Hirmuolio/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Hirmuolio/Cataclysm-DDA","description":"Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.","fork":true,"url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA","forks_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/forks","keys_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/teams","hooks_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/hooks","issue_events_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/issues/events{/number}","events_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/events","assignees_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/assignees{/user}","branches_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/branches{/branch}","tags_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/tags","blobs_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/git/refs{/sha}","trees_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/statuses/{sha}","languages_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/languages","stargazers_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/stargazers","contributors_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/contributors","subscribers_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/subscribers","subscription_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/subscription","commits_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/commits{/sha}","git_commits_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/git/commits{/sha}","comments_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/comments{/number}","issue_comment_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/issues/comments{/number}","contents_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/contents/{+path}","compare_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/merges","archive_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/downloads","issues_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/issues{/number}","pulls_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/pulls{/number}","milestones_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/milestones{/number}","notifications_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/labels{/name}","releases_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/releases{/id}","deployments_url":"https://api.github.com/repos/Hirmuolio/Cataclysm-DDA/deployments","created_at":"2018-12-31T15:55:37Z","updated_at":"2019-01-01T15:41:39Z","pushed_at":"2019-01-02T07:56:11Z","git_url":"git://github.com/Hirmuolio/Cataclysm-DDA.git","ssh_url":"git@github.com:Hirmuolio/Cataclysm-DDA.git","clone_url":"https://github.com/Hirmuolio/Cataclysm-DDA.git","svn_url":"https://github.com/Hirmuolio/Cataclysm-DDA","homepage":"http://cataclysmdda.org","size":1473502,"stargazers_count":0,"watchers_count":0,"language":"C++","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":1,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"CleverRaven:master","ref":"master","sha":"91756ddc04e7b1be0577f7ae2b80d3cb24c45b5e","user":{"login":"CleverRaven","id":4367009,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQzNjcwMDk=","avatar_url":"https://avatars0.githubusercontent.com/u/4367009?v=4","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,"node_id":"MDEwOlJlcG9zaXRvcnk1OTczODU1","name":"Cataclysm-DDA","full_name":"CleverRaven/Cataclysm-DDA","private":false,"owner":{"login":"CleverRaven","id":4367009,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQzNjcwMDk=","avatar_url":"https://avatars0.githubusercontent.com/u/4367009?v=4","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},"html_url":"https://github.com/CleverRaven/Cataclysm-DDA","description":"Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.","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}","deployments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/deployments","created_at":"2012-09-26T22:57:43Z","updated_at":"2019-01-02T06:31:00Z","pushed_at":"2019-01-02T09:40:23Z","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://cataclysmdda.org","size":1473364,"stargazers_count":2383,"watchers_count":2383,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1552,"mirror_url":null,"archived":false,"open_issues_count":1086,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1552,"open_issues":1086,"watchers":2383,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/27387"},"html":{"href":"https://github.com/CleverRaven/Cataclysm-DDA/pull/27387"},"issue":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/27387"},"comments":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/27387/comments"},"review_comments":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/27387/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/27387/commits"},"statuses":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/4c4d4915e33019df8989e54ccedad8935396cf09"}},"author_association":"NONE"}}
{"actor":{"display_login":"Vasyan2006"}}