{"action":"created","issue":{"url":"https://api.github.com/repos/otland/forgottenserver/issues/994","labels_url":"https://api.github.com/repos/otland/forgottenserver/issues/994/labels{/name}","comments_url":"https://api.github.com/repos/otland/forgottenserver/issues/994/comments","events_url":"https://api.github.com/repos/otland/forgottenserver/issues/994/events","html_url":"https://github.com/otland/forgottenserver/pull/994","id":43351260,"number":994,"title":"[WIP] Added a prototype version of a casting system","user":{"login":"djarek","id":6125067,"avatar_url":"https://avatars.githubusercontent.com/u/6125067?v=3","gravatar_id":"","url":"https://api.github.com/users/djarek","html_url":"https://github.com/djarek","followers_url":"https://api.github.com/users/djarek/followers","following_url":"https://api.github.com/users/djarek/following{/other_user}","gists_url":"https://api.github.com/users/djarek/gists{/gist_id}","starred_url":"https://api.github.com/users/djarek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djarek/subscriptions","organizations_url":"https://api.github.com/users/djarek/orgs","repos_url":"https://api.github.com/users/djarek/repos","events_url":"https://api.github.com/users/djarek/events{/privacy}","received_events_url":"https://api.github.com/users/djarek/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":111,"created_at":"2014-09-22T01:11:45Z","updated_at":"2015-06-19T17:20:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/otland/forgottenserver/pulls/994","html_url":"https://github.com/otland/forgottenserver/pull/994","diff_url":"https://github.com/otland/forgottenserver/pull/994.diff","patch_url":"https://github.com/otland/forgottenserver/pull/994.patch"},"body":"Closes #984\r\nEdit: Chatroom feature has been added, however there are still some issues to work out.\r\n As for the internal details: broadcasting is done by the ASI/O thread when it calls the Connection::onWriteOperation(...) method. The dispatcher thread does only one additional copy (it is required, as the ASI/O thread receives the message object with it's content already encrypted) which is then used for broadcasting. All variables relevant to the casting system have been placed in the ProtocolGame class. Starting a cast is achieved by using the !cast [password] talkaction. Stopping it is done by using !stopcast. Joining a stream as a spectator is achieved by logging in with an empty account name and a password, assuming the caster set one. If something isn't clear, feel free to ask. I'm open to suggestions if you think there's something that could be improved (probably there is).\r\n\r\nP.S. don't merge yet ;)"},"comment":{"url":"https://api.github.com/repos/otland/forgottenserver/issues/comments/113580472","html_url":"https://github.com/otland/forgottenserver/pull/994#issuecomment-113580472","issue_url":"https://api.github.com/repos/otland/forgottenserver/issues/994","id":113580472,"user":{"login":"marksamman","id":636597,"avatar_url":"https://avatars.githubusercontent.com/u/636597?v=3","gravatar_id":"","url":"https://api.github.com/users/marksamman","html_url":"https://github.com/marksamman","followers_url":"https://api.github.com/users/marksamman/followers","following_url":"https://api.github.com/users/marksamman/following{/other_user}","gists_url":"https://api.github.com/users/marksamman/gists{/gist_id}","starred_url":"https://api.github.com/users/marksamman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marksamman/subscriptions","organizations_url":"https://api.github.com/users/marksamman/orgs","repos_url":"https://api.github.com/users/marksamman/repos","events_url":"https://api.github.com/users/marksamman/events{/privacy}","received_events_url":"https://api.github.com/users/marksamman/received_events","type":"User","site_admin":false},"created_at":"2015-06-19T17:20:36Z","updated_at":"2015-06-19T17:20:36Z","body":"@djarek if there is enough common code, go ahead. I haven't had time to review this lately so I'm not sure how much of the same code is repeated in both classes right now."}}