{"action":"created","comment":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments/27153009","id":27153009,"diff_hunk":"@@ -4565,91 +4565,128 @@ void map::debug()\n  getch();\n }\n \n+void map::update_visibility_variables() {\n+    g_light_level = (int)g->light_level();\n+    natural_sight_range = g->u.sight_range(1);\n+    light_sight_range = g->u.sight_range(g_light_level);\n+    lowlight_sight_range = std::max(g_light_level / 2, natural_sight_range);\n+    max_sight_range = g->u.unimpaired_range();\n+    u_clairvoyance = g->u.clairvoyance();\n+    u_sight_impaired = g->u.sight_impaired();\n+    bio_night_active = g->u.has_active_bionic(\"bio_night\");\n+    u_is_boomered = g->u.has_effect(\"boomered\");\n+}\n+\n+lit_level map::apparent_light_at(int x, int y) {\n+    const int dist = rl_dist(g->u.posx(), g->u.posy(), x, y);\n+\n+    int sight_range = light_sight_range;\n+    int low_sight_range = lowlight_sight_range;\n+\n+    // While viewing indoor areas use lightmap model\n+    if (!is_outside(x, y)) {\n+        sight_range = natural_sight_range;\n+\n+    // Don't display area as shadowy if it's outside and illuminated by natural light\n+    // and illuminated by source of light\n+    } else if (this->light_at(x, y) > LL_LOW || dist <= light_sight_range) {\n+        low_sight_range = std::max(g_light_level, natural_sight_range);\n+    }\n+\n+    int real_max_sight_range = light_sight_range > max_sight_range ? light_sight_range : max_sight_range;\n+    int distance_to_look = DAYLIGHT_LEVEL;\n+\n+    bool can_see = pl_sees( x, y, distance_to_look );\n+    lit_level lit = light_at(x, y);\n+\n+    // now we're gonna adjust real_max_sight, to cover some nearby \"highlights\",\n+    // but at the same time changing light-level depending on distance,\n+    // to create actual \"gradual\" stuff\n+    // Also we'll try to ALWAYS show LL_BRIGHT stuff independent of where it is...\n+    if (lit != LL_BRIGHT) {\n+        if (dist > real_max_sight_range) {\n+            int intLit = (int)lit - (dist - real_max_sight_range)/2;\n+            if (intLit < 0) intLit = LL_DARK;\n+            lit = (lit_level)intLit;\n+        }\n+    }\n+\n+    // additional case for real_max_sight_range\n+    // if both light_sight_range and max_sight_range were small\n+    // it means we really have limited visibility (e.g. inside a pit)\n+    // and we shouldn't touch that\n+    if (lit > LL_DARK && real_max_sight_range > 1) {\n+        real_max_sight_range = distance_to_look;\n+    }\n+\n+    if ((bio_night_active && dist < 15 && dist > natural_sight_range) || // if bio_night active, blackout 15 tile radius around player\n+        dist > real_max_sight_range || // too far away, no matter what\n+        (dist > light_sight_range &&\n+            (lit == LL_DARK ||\n+                (u_sight_impaired && lit != LL_BRIGHT) ||\n+                !can_see))) { // blind\n+        return LL_DARK;\n+    } else if (dist > light_sight_range && u_sight_impaired && lit == LL_BRIGHT) {\n+        return LL_BRIGHT_ONLY;\n+    } else if (dist <= u_clairvoyance || can_see) {\n+        if ( lit == LL_BRIGHT ) {\n+            return LL_BRIGHT;\n+        } else {\n+            if ( (dist > low_sight_range && LL_LIT > lit) || (dist > sight_range && LL_LOW == lit) ) {\n+                return LL_LOW;\n+            } else {\n+                return LL_LIT;\n+            }\n+        }\n+    } else {\n+        return LL_BLANK;\n+    }\n+}\n+\n void map::draw(WINDOW* w, const point center)\n {\n- // We only need to draw anything if we're not in tiles mode.\n- if(is_draw_tiles_mode()) {\n-     return;\n- }\n+    // We only need to draw anything if we're not in tiles mode.\n+    if(is_draw_tiles_mode()) {\n+        return;\n+    }\n \n- g->reset_light_level();\n- const int g_light_level = (int)g->light_level();\n- const int natural_sight_range = g->u.sight_range(1);\n- const int light_sight_range = g->u.sight_range(g_light_level);\n- const int lowlight_sight_range = std::max(g_light_level / 2, natural_sight_range);\n- const int max_sight_range = g->u.unimpaired_range();\n- const bool u_is_boomered = g->u.has_effect(\"boomered\");\n- const int u_clairvoyance = g->u.clairvoyance();\n- const bool u_sight_impaired = g->u.sight_impaired();\n- const bool bio_night_active = g->u.has_active_bionic(\"bio_night\");\n-\n- for  (int realx = center.x - getmaxx(w)/2; realx <= center.x + getmaxx(w)/2; realx++) {\n-  for (int realy = center.y - getmaxy(w)/2; realy <= center.y + getmaxy(w)/2; realy++) {\n-   const int dist = rl_dist(g->u.posx(), g->u.posy(), realx, realy);\n-   int sight_range = light_sight_range;\n-   int low_sight_range = lowlight_sight_range;\n-   // While viewing indoor areas use lightmap model\n-   if (!is_outside(realx, realy)) {\n-    sight_range = natural_sight_range;\n-   // Don't display area as shadowy if it's outside and illuminated by natural light\n-   //and illuminated by source of light\n-   } else if (this->light_at(realx, realy) > LL_LOW || dist <= light_sight_range) {\n-    low_sight_range = std::max(g_light_level, natural_sight_range);\n-   }\n+    g->reset_light_level();\n \n-   // I've moved this part above loops without even thinking that\n-   // this must stay here...\n-   int real_max_sight_range = light_sight_range > max_sight_range ? light_sight_range : max_sight_range;\n-   int distance_to_look = DAYLIGHT_LEVEL;\n-\n-   bool can_see = pl_sees( realx, realy, distance_to_look );\n-   lit_level lit = light_at(realx, realy);\n-\n-   // now we're gonna adjust real_max_sight, to cover some nearby \"highlights\",\n-   // but at the same time changing light-level depending on distance,\n-   // to create actual \"gradual\" stuff\n-   // Also we'll try to ALWAYS show LL_BRIGHT stuff independent of where it is...\n-   if (lit != LL_BRIGHT) {\n-       if (dist > real_max_sight_range) {\n-           int intLit = (int)lit - (dist - real_max_sight_range)/2;\n-           if (intLit < 0) intLit = LL_DARK;\n-           lit = (lit_level)intLit;\n-       }\n-   }\n-   // additional case for real_max_sight_range\n-   // if both light_sight_range and max_sight_range were small\n-   // it means we really have limited visibility (e.g. inside a pit)\n-   // and we shouldn't touch that\n-   if (lit > LL_DARK && real_max_sight_range > 1) {\n-       real_max_sight_range = distance_to_look;\n-   }\n+    update_visibility_variables();\n \n-   if ((bio_night_active && dist < 15 && dist > natural_sight_range) || // if bio_night active, blackout 15 tile radius around player\n-       dist > real_max_sight_range ||\n-       (dist > light_sight_range &&\n-         (lit == LL_DARK ||\n-         (u_sight_impaired && lit != LL_BRIGHT) ||\n-          !can_see))) {\n-    if (u_is_boomered)\n-     mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_magenta, '#');\n-    else\n-         mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_dkgray, '#');\n-   } else if (dist > light_sight_range && u_sight_impaired && lit == LL_BRIGHT) {\n-    if (u_is_boomered)\n-     mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_pink, '#');\n-    else\n-     mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_ltgray, '#');\n-   } else if (dist <= u_clairvoyance || can_see) {\n-    drawsq(w, g->u, realx, realy, false, true, center.x, center.y,\n-           (dist > low_sight_range && LL_LIT > lit) ||\n-           (dist > sight_range && LL_LOW == lit),\n-           LL_BRIGHT == lit);\n-   } else {\n-    mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_black,' ');\n-   }\n-  }\n- }\n-    g->draw_critter( g->u, center );\n+    lit_level ll;\n+\n+    for  (int realx = center.x - getmaxx(w)/2; realx <= center.x + getmaxx(w)/2; realx++) {\n+        for (int realy = center.y - getmaxy(w)/2; realy <= center.y + getmaxy(w)/2; realy++) {\n+            ll = apparent_light_at(realx, realy);\n+            switch (ll) {\n+                case LL_DARK: // can't see this square at all\n+                    if (u_is_boomered)\n+                        mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_magenta, '#');\n+                    else\n+                        mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_dkgray, '#');\n+                    break;\n+                case LL_BRIGHT_ONLY: // can only tell that this square is bright\n+                    if (u_is_boomered)\n+                        mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_pink, '#');\n+                    else\n+                        mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_ltgray, '#');\n+                    break;\n+                case LL_LOW: // low light, square visible in monochrome\n+                case LL_LIT: // normal light\n+                case LL_BRIGHT: // bright light\n+                    drawsq(w, g->u, realx, realy, false, true, center.x, center.y, ll==LL_LOW, ll==LL_BRIGHT);\n+                    break;\n+                case LL_BLANK:\n+                    mvwputch(w, realy+getmaxy(w)/2 - center.y, realx+getmaxx(w)/2 - center.x, c_black,' ');\n+                    break;\n+                default: // shouldn't happen","path":"src/map.cpp","position":199,"original_position":199,"commit_id":"43b30ae7d8548a81329ec34e3f96f7bc903a5d9a","original_commit_id":"43b30ae7d8548a81329ec34e3f96f7bc903a5d9a","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":"> shouldn't happen\r\n\r\nThan don't add it (-: No, really. The compiler would have warned you if you had forgotten one of the possible enum values (or if somebody adds another value and does not handle it here). However, with the default entry, this helpful feature of the compiler is completely disabled.\r\n\r\nHaving no code for the default will also create visible effect whenever this case actually happens (the displayed map will have \"holes\" where nothing is drawn), granted your magenta '!' is also very easy to spot.\r\n\r\nOther than that, this commit looks fine.","created_at":"2015-03-25T18:45:35Z","updated_at":"2015-03-25T18:45:35Z","html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11797#discussion_r27153009","pull_request_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11797","_links":{"self":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments/27153009"},"html":{"href":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11797#discussion_r27153009"},"pull_request":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11797"}}},"pull_request":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11797","id":31950439,"html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11797","diff_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11797.diff","patch_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11797.patch","issue_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/11797","number":11797,"state":"open","locked":false,"title":"Deduplicate visibility code in map::draw and cata_tiles::light_at [WIP] [CR]","user":{"login":"sparr","id":121299,"avatar_url":"https://avatars.githubusercontent.com/u/121299?v=3","gravatar_id":"","url":"https://api.github.com/users/sparr","html_url":"https://github.com/sparr","followers_url":"https://api.github.com/users/sparr/followers","following_url":"https://api.github.com/users/sparr/following{/other_user}","gists_url":"https://api.github.com/users/sparr/gists{/gist_id}","starred_url":"https://api.github.com/users/sparr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sparr/subscriptions","organizations_url":"https://api.github.com/users/sparr/orgs","repos_url":"https://api.github.com/users/sparr/repos","events_url":"https://api.github.com/users/sparr/events{/privacy}","received_events_url":"https://api.github.com/users/sparr/received_events","type":"User","site_admin":false},"body":"map::draw() and cata_tiles::light_at() do a lot of the same things, checking visibility distance, light levels, etc. they are also not quite consistent with each other.\r\n\r\nI'm going to take the behavior of map::draw() and move it out into some functions, using some of the code style from cata_tiles, so that cata_tiles can use the same functions in map.\r\n\r\nThis will allow further work on #11718 \r\n\r\nResolves #11790 ","created_at":"2015-03-25T18:15:04Z","updated_at":"2015-03-25T18:45:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"153f3de02a9f57ea48cded4f4dfb9f8734ac48a6","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11797/commits","review_comments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11797/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/11797/comments","statuses_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/43b30ae7d8548a81329ec34e3f96f7bc903a5d9a","head":{"label":"sparr:deduplicate_visibility_code","ref":"deduplicate_visibility_code","sha":"43b30ae7d8548a81329ec34e3f96f7bc903a5d9a","user":{"login":"sparr","id":121299,"avatar_url":"https://avatars.githubusercontent.com/u/121299?v=3","gravatar_id":"","url":"https://api.github.com/users/sparr","html_url":"https://github.com/sparr","followers_url":"https://api.github.com/users/sparr/followers","following_url":"https://api.github.com/users/sparr/following{/other_user}","gists_url":"https://api.github.com/users/sparr/gists{/gist_id}","starred_url":"https://api.github.com/users/sparr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sparr/subscriptions","organizations_url":"https://api.github.com/users/sparr/orgs","repos_url":"https://api.github.com/users/sparr/repos","events_url":"https://api.github.com/users/sparr/events{/privacy}","received_events_url":"https://api.github.com/users/sparr/received_events","type":"User","site_admin":false},"repo":{"id":32027760,"name":"Cataclysm-DDA","full_name":"sparr/Cataclysm-DDA","owner":{"login":"sparr","id":121299,"avatar_url":"https://avatars.githubusercontent.com/u/121299?v=3","gravatar_id":"","url":"https://api.github.com/users/sparr","html_url":"https://github.com/sparr","followers_url":"https://api.github.com/users/sparr/followers","following_url":"https://api.github.com/users/sparr/following{/other_user}","gists_url":"https://api.github.com/users/sparr/gists{/gist_id}","starred_url":"https://api.github.com/users/sparr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sparr/subscriptions","organizations_url":"https://api.github.com/users/sparr/orgs","repos_url":"https://api.github.com/users/sparr/repos","events_url":"https://api.github.com/users/sparr/events{/privacy}","received_events_url":"https://api.github.com/users/sparr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sparr/Cataclysm-DDA","description":"Cataclysm - Dark Days Ahead. A fork/variant of Cataclysm Roguelike by Whales.","fork":true,"url":"https://api.github.com/repos/sparr/Cataclysm-DDA","forks_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/forks","keys_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/teams","hooks_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/hooks","issue_events_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/issues/events{/number}","events_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/events","assignees_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/assignees{/user}","branches_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/branches{/branch}","tags_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/tags","blobs_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/git/refs{/sha}","trees_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/statuses/{sha}","languages_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/languages","stargazers_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/stargazers","contributors_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/contributors","subscribers_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/subscribers","subscription_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/subscription","commits_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/commits{/sha}","git_commits_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/git/commits{/sha}","comments_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/comments{/number}","issue_comment_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/issues/comments{/number}","contents_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/contents/{+path}","compare_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/merges","archive_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/downloads","issues_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/issues{/number}","pulls_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/pulls{/number}","milestones_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/milestones{/number}","notifications_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/labels{/name}","releases_url":"https://api.github.com/repos/sparr/Cataclysm-DDA/releases{/id}","created_at":"2015-03-11T16:16:29Z","updated_at":"2015-03-25T03:09:27Z","pushed_at":"2015-03-25T18:12:10Z","git_url":"git://github.com/sparr/Cataclysm-DDA.git","ssh_url":"git@github.com:sparr/Cataclysm-DDA.git","clone_url":"https://github.com/sparr/Cataclysm-DDA.git","svn_url":"https://github.com/sparr/Cataclysm-DDA","homepage":"http://en.cataclysmdda.com/","size":383395,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"CleverRaven:master","ref":"master","sha":"b1c416186747b9d4e5ef8c3303930b162c0c6d13","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-25T02:04:07Z","pushed_at":"2015-03-25T18:34:46Z","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":626,"watchers_count":626,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":681,"mirror_url":null,"open_issues_count":891,"forks":681,"open_issues":891,"watchers":626,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11797"},"html":{"href":"https://github.com/CleverRaven/Cataclysm-DDA/pull/11797"},"issue":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/11797"},"comments":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/11797/comments"},"review_comments":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/11797/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/11797/commits"},"statuses":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/43b30ae7d8548a81329ec34e3f96f7bc903a5d9a"}}}}