{"action":"created","comment":{"url":"https://api.github.com/repos/vcmi/vcmi/pulls/comments/178239930","pull_request_review_id":108271477,"id":178239930,"diff_hunk":"@@ -0,0 +1,311 @@\n+/*\n+ * NetPacksLobby.h, part of VCMI engine\n+ *\n+ * Authors: listed in file AUTHORS in main folder\n+ *\n+ * License: GNU General Public License v2.0 or later\n+ * Full text of license available in license.txt file, in main folder\n+ *\n+ */\n+#pragma once\n+\n+#include \"NetPacksBase.h\"\n+\n+#include \"StartInfo.h\"\n+\n+class CCampaignState;\n+class CLobbyScreen;\n+class CServerHandler;\n+class CMapInfo;\n+struct StartInfo;\n+class CMapGenOptions;\n+struct ClientPlayer;\n+class CVCMIServer;\n+\n+struct CPackForLobby : public CPack","path":"lib/NetPacksLobby.h","position":25,"original_position":25,"commit_id":"5f06ae552690b2b0fa5206ef9de0f4e392cecb83","original_commit_id":"5f06ae552690b2b0fa5206ef9de0f4e392cecb83","user":{"login":"alexvins","id":1083924,"avatar_url":"https://avatars0.githubusercontent.com/u/1083924?v=4","gravatar_id":"","url":"https://api.github.com/users/alexvins","html_url":"https://github.com/alexvins","followers_url":"https://api.github.com/users/alexvins/followers","following_url":"https://api.github.com/users/alexvins/following{/other_user}","gists_url":"https://api.github.com/users/alexvins/gists{/gist_id}","starred_url":"https://api.github.com/users/alexvins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexvins/subscriptions","organizations_url":"https://api.github.com/users/alexvins/orgs","repos_url":"https://api.github.com/users/alexvins/repos","events_url":"https://api.github.com/users/alexvins/events{/privacy}","received_events_url":"https://api.github.com/users/alexvins/received_events","type":"User","site_admin":false},"body":"It may have (pure) virtual methods but they must be used only in LIB.","created_at":"2018-03-30T06:30:49Z","updated_at":"2018-03-30T06:30:50Z","html_url":"https://github.com/vcmi/vcmi/pull/402#discussion_r178239930","pull_request_url":"https://api.github.com/repos/vcmi/vcmi/pulls/402","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/vcmi/vcmi/pulls/comments/178239930"},"html":{"href":"https://github.com/vcmi/vcmi/pull/402#discussion_r178239930"},"pull_request":{"href":"https://api.github.com/repos/vcmi/vcmi/pulls/402"}},"in_reply_to_id":178186508},"pull_request":{"url":"https://api.github.com/repos/vcmi/vcmi/pulls/402","id":161486189,"html_url":"https://github.com/vcmi/vcmi/pull/402","diff_url":"https://github.com/vcmi/vcmi/pull/402.diff","patch_url":"https://github.com/vcmi/vcmi/pull/402.patch","issue_url":"https://api.github.com/repos/vcmi/vcmi/issues/402","number":402,"state":"open","locked":false,"title":"[WIP] Reworked pregame for multiplayer","user":{"login":"ArseniyShestakov","id":9513350,"avatar_url":"https://avatars0.githubusercontent.com/u/9513350?v=4","gravatar_id":"","url":"https://api.github.com/users/ArseniyShestakov","html_url":"https://github.com/ArseniyShestakov","followers_url":"https://api.github.com/users/ArseniyShestakov/followers","following_url":"https://api.github.com/users/ArseniyShestakov/following{/other_user}","gists_url":"https://api.github.com/users/ArseniyShestakov/gists{/gist_id}","starred_url":"https://api.github.com/users/ArseniyShestakov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ArseniyShestakov/subscriptions","organizations_url":"https://api.github.com/users/ArseniyShestakov/orgs","repos_url":"https://api.github.com/users/ArseniyShestakov/repos","events_url":"https://api.github.com/users/ArseniyShestakov/events{/privacy}","received_events_url":"https://api.github.com/users/ArseniyShestakov/received_events","type":"User","site_admin":false},"body":"**Code is still work-in-progress.**\r\n\r\nAltered H3 behavior:\r\n- Player is able to choose hero for the AI. H3 don't let you do that, but I see this as pointless limitation.\r\n\r\nSome experimental / fun commands for the lobby chat:\r\n\r\n- ```!passhost <connectionId>```\r\nThis will pass \"host\" privilege to another client. Server also automatically pass host privilege if client holding privilege is disconnected.\r\n- ```!forcep <connectedPlayerId> <playerColorId>```\r\nThis will forcefully assign client player to in-game player of certain color.\r\nImplemented for proof-of-concept cooperative gameplay since multiple clients will be able to control the same player colors. Though any changes in options will override this change since lobby code is not aware of possibility. So setup everything, leave one connectedPlayer unused, assign it to color you want with command and start the game.\r\nOf course in-game UI will require significant amount of work to make it actually fun to play. For now camera centered moving hero, popups appear for both players and something will likely cause crashes, but you can still have some fun with it!","created_at":"2018-01-06T16:36:05Z","updated_at":"2018-03-30T06:30:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4592659a90f997d44ba23e1583f6de8ddb2f5184","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":469126895,"url":"https://api.github.com/repos/vcmi/vcmi/labels/client","name":"client","color":"c5def5","default":false},{"id":469126939,"url":"https://api.github.com/repos/vcmi/vcmi/labels/server","name":"server","color":"fef2c0","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/vcmi/vcmi/pulls/402/commits","review_comments_url":"https://api.github.com/repos/vcmi/vcmi/pulls/402/comments","review_comment_url":"https://api.github.com/repos/vcmi/vcmi/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vcmi/vcmi/issues/402/comments","statuses_url":"https://api.github.com/repos/vcmi/vcmi/statuses/5f06ae552690b2b0fa5206ef9de0f4e392cecb83","head":{"label":"vcmi:feature/multiplayer","ref":"feature/multiplayer","sha":"5f06ae552690b2b0fa5206ef9de0f4e392cecb83","user":{"login":"vcmi","id":2861395,"avatar_url":"https://avatars3.githubusercontent.com/u/2861395?v=4","gravatar_id":"","url":"https://api.github.com/users/vcmi","html_url":"https://github.com/vcmi","followers_url":"https://api.github.com/users/vcmi/followers","following_url":"https://api.github.com/users/vcmi/following{/other_user}","gists_url":"https://api.github.com/users/vcmi/gists{/gist_id}","starred_url":"https://api.github.com/users/vcmi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcmi/subscriptions","organizations_url":"https://api.github.com/users/vcmi/orgs","repos_url":"https://api.github.com/users/vcmi/repos","events_url":"https://api.github.com/users/vcmi/events{/privacy}","received_events_url":"https://api.github.com/users/vcmi/received_events","type":"Organization","site_admin":false},"repo":{"id":18490421,"name":"vcmi","full_name":"vcmi/vcmi","owner":{"login":"vcmi","id":2861395,"avatar_url":"https://avatars3.githubusercontent.com/u/2861395?v=4","gravatar_id":"","url":"https://api.github.com/users/vcmi","html_url":"https://github.com/vcmi","followers_url":"https://api.github.com/users/vcmi/followers","following_url":"https://api.github.com/users/vcmi/following{/other_user}","gists_url":"https://api.github.com/users/vcmi/gists{/gist_id}","starred_url":"https://api.github.com/users/vcmi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcmi/subscriptions","organizations_url":"https://api.github.com/users/vcmi/orgs","repos_url":"https://api.github.com/users/vcmi/repos","events_url":"https://api.github.com/users/vcmi/events{/privacy}","received_events_url":"https://api.github.com/users/vcmi/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vcmi/vcmi","description":"Open-source engine for Heroes of Might and Magic III","fork":false,"url":"https://api.github.com/repos/vcmi/vcmi","forks_url":"https://api.github.com/repos/vcmi/vcmi/forks","keys_url":"https://api.github.com/repos/vcmi/vcmi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vcmi/vcmi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vcmi/vcmi/teams","hooks_url":"https://api.github.com/repos/vcmi/vcmi/hooks","issue_events_url":"https://api.github.com/repos/vcmi/vcmi/issues/events{/number}","events_url":"https://api.github.com/repos/vcmi/vcmi/events","assignees_url":"https://api.github.com/repos/vcmi/vcmi/assignees{/user}","branches_url":"https://api.github.com/repos/vcmi/vcmi/branches{/branch}","tags_url":"https://api.github.com/repos/vcmi/vcmi/tags","blobs_url":"https://api.github.com/repos/vcmi/vcmi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vcmi/vcmi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vcmi/vcmi/git/refs{/sha}","trees_url":"https://api.github.com/repos/vcmi/vcmi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vcmi/vcmi/statuses/{sha}","languages_url":"https://api.github.com/repos/vcmi/vcmi/languages","stargazers_url":"https://api.github.com/repos/vcmi/vcmi/stargazers","contributors_url":"https://api.github.com/repos/vcmi/vcmi/contributors","subscribers_url":"https://api.github.com/repos/vcmi/vcmi/subscribers","subscription_url":"https://api.github.com/repos/vcmi/vcmi/subscription","commits_url":"https://api.github.com/repos/vcmi/vcmi/commits{/sha}","git_commits_url":"https://api.github.com/repos/vcmi/vcmi/git/commits{/sha}","comments_url":"https://api.github.com/repos/vcmi/vcmi/comments{/number}","issue_comment_url":"https://api.github.com/repos/vcmi/vcmi/issues/comments{/number}","contents_url":"https://api.github.com/repos/vcmi/vcmi/contents/{+path}","compare_url":"https://api.github.com/repos/vcmi/vcmi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vcmi/vcmi/merges","archive_url":"https://api.github.com/repos/vcmi/vcmi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vcmi/vcmi/downloads","issues_url":"https://api.github.com/repos/vcmi/vcmi/issues{/number}","pulls_url":"https://api.github.com/repos/vcmi/vcmi/pulls{/number}","milestones_url":"https://api.github.com/repos/vcmi/vcmi/milestones{/number}","notifications_url":"https://api.github.com/repos/vcmi/vcmi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vcmi/vcmi/labels{/name}","releases_url":"https://api.github.com/repos/vcmi/vcmi/releases{/id}","deployments_url":"https://api.github.com/repos/vcmi/vcmi/deployments","created_at":"2014-04-06T13:42:23Z","updated_at":"2018-03-29T04:28:08Z","pushed_at":"2018-03-30T00:10:58Z","git_url":"git://github.com/vcmi/vcmi.git","ssh_url":"git@github.com:vcmi/vcmi.git","clone_url":"https://github.com/vcmi/vcmi.git","svn_url":"https://github.com/vcmi/vcmi","homepage":"https://vcmi.eu/","size":35715,"stargazers_count":782,"watchers_count":782,"language":"C++","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":147,"mirror_url":null,"archived":false,"open_issues_count":14,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0"},"forks":147,"open_issues":14,"watchers":782,"default_branch":"develop"}},"base":{"label":"vcmi:develop","ref":"develop","sha":"2b64bf29ed13a96e652e23746564022f8f65f7a1","user":{"login":"vcmi","id":2861395,"avatar_url":"https://avatars3.githubusercontent.com/u/2861395?v=4","gravatar_id":"","url":"https://api.github.com/users/vcmi","html_url":"https://github.com/vcmi","followers_url":"https://api.github.com/users/vcmi/followers","following_url":"https://api.github.com/users/vcmi/following{/other_user}","gists_url":"https://api.github.com/users/vcmi/gists{/gist_id}","starred_url":"https://api.github.com/users/vcmi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcmi/subscriptions","organizations_url":"https://api.github.com/users/vcmi/orgs","repos_url":"https://api.github.com/users/vcmi/repos","events_url":"https://api.github.com/users/vcmi/events{/privacy}","received_events_url":"https://api.github.com/users/vcmi/received_events","type":"Organization","site_admin":false},"repo":{"id":18490421,"name":"vcmi","full_name":"vcmi/vcmi","owner":{"login":"vcmi","id":2861395,"avatar_url":"https://avatars3.githubusercontent.com/u/2861395?v=4","gravatar_id":"","url":"https://api.github.com/users/vcmi","html_url":"https://github.com/vcmi","followers_url":"https://api.github.com/users/vcmi/followers","following_url":"https://api.github.com/users/vcmi/following{/other_user}","gists_url":"https://api.github.com/users/vcmi/gists{/gist_id}","starred_url":"https://api.github.com/users/vcmi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcmi/subscriptions","organizations_url":"https://api.github.com/users/vcmi/orgs","repos_url":"https://api.github.com/users/vcmi/repos","events_url":"https://api.github.com/users/vcmi/events{/privacy}","received_events_url":"https://api.github.com/users/vcmi/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vcmi/vcmi","description":"Open-source engine for Heroes of Might and Magic III","fork":false,"url":"https://api.github.com/repos/vcmi/vcmi","forks_url":"https://api.github.com/repos/vcmi/vcmi/forks","keys_url":"https://api.github.com/repos/vcmi/vcmi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vcmi/vcmi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vcmi/vcmi/teams","hooks_url":"https://api.github.com/repos/vcmi/vcmi/hooks","issue_events_url":"https://api.github.com/repos/vcmi/vcmi/issues/events{/number}","events_url":"https://api.github.com/repos/vcmi/vcmi/events","assignees_url":"https://api.github.com/repos/vcmi/vcmi/assignees{/user}","branches_url":"https://api.github.com/repos/vcmi/vcmi/branches{/branch}","tags_url":"https://api.github.com/repos/vcmi/vcmi/tags","blobs_url":"https://api.github.com/repos/vcmi/vcmi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vcmi/vcmi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vcmi/vcmi/git/refs{/sha}","trees_url":"https://api.github.com/repos/vcmi/vcmi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vcmi/vcmi/statuses/{sha}","languages_url":"https://api.github.com/repos/vcmi/vcmi/languages","stargazers_url":"https://api.github.com/repos/vcmi/vcmi/stargazers","contributors_url":"https://api.github.com/repos/vcmi/vcmi/contributors","subscribers_url":"https://api.github.com/repos/vcmi/vcmi/subscribers","subscription_url":"https://api.github.com/repos/vcmi/vcmi/subscription","commits_url":"https://api.github.com/repos/vcmi/vcmi/commits{/sha}","git_commits_url":"https://api.github.com/repos/vcmi/vcmi/git/commits{/sha}","comments_url":"https://api.github.com/repos/vcmi/vcmi/comments{/number}","issue_comment_url":"https://api.github.com/repos/vcmi/vcmi/issues/comments{/number}","contents_url":"https://api.github.com/repos/vcmi/vcmi/contents/{+path}","compare_url":"https://api.github.com/repos/vcmi/vcmi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vcmi/vcmi/merges","archive_url":"https://api.github.com/repos/vcmi/vcmi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vcmi/vcmi/downloads","issues_url":"https://api.github.com/repos/vcmi/vcmi/issues{/number}","pulls_url":"https://api.github.com/repos/vcmi/vcmi/pulls{/number}","milestones_url":"https://api.github.com/repos/vcmi/vcmi/milestones{/number}","notifications_url":"https://api.github.com/repos/vcmi/vcmi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vcmi/vcmi/labels{/name}","releases_url":"https://api.github.com/repos/vcmi/vcmi/releases{/id}","deployments_url":"https://api.github.com/repos/vcmi/vcmi/deployments","created_at":"2014-04-06T13:42:23Z","updated_at":"2018-03-29T04:28:08Z","pushed_at":"2018-03-30T00:10:58Z","git_url":"git://github.com/vcmi/vcmi.git","ssh_url":"git@github.com:vcmi/vcmi.git","clone_url":"https://github.com/vcmi/vcmi.git","svn_url":"https://github.com/vcmi/vcmi","homepage":"https://vcmi.eu/","size":35715,"stargazers_count":782,"watchers_count":782,"language":"C++","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":147,"mirror_url":null,"archived":false,"open_issues_count":14,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0"},"forks":147,"open_issues":14,"watchers":782,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/vcmi/vcmi/pulls/402"},"html":{"href":"https://github.com/vcmi/vcmi/pull/402"},"issue":{"href":"https://api.github.com/repos/vcmi/vcmi/issues/402"},"comments":{"href":"https://api.github.com/repos/vcmi/vcmi/issues/402/comments"},"review_comments":{"href":"https://api.github.com/repos/vcmi/vcmi/pulls/402/comments"},"review_comment":{"href":"https://api.github.com/repos/vcmi/vcmi/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vcmi/vcmi/pulls/402/commits"},"statuses":{"href":"https://api.github.com/repos/vcmi/vcmi/statuses/5f06ae552690b2b0fa5206ef9de0f4e392cecb83"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"alexvins"}}