{"action":"closed","number":129,"pull_request":{"url":"https://api.github.com/repos/def-/ddnet/pulls/129","id":27166152,"html_url":"https://github.com/def-/ddnet/pull/129","diff_url":"https://github.com/def-/ddnet/pull/129.diff","patch_url":"https://github.com/def-/ddnet/pull/129.patch","issue_url":"https://api.github.com/repos/def-/ddnet/issues/129","number":129,"state":"closed","locked":false,"title":"Client side prediction of weak/strong hook","user":{"login":"trml","id":9425859,"avatar_url":"https://avatars.githubusercontent.com/u/9425859?v=3","gravatar_id":"","url":"https://api.github.com/users/trml","html_url":"https://github.com/trml","followers_url":"https://api.github.com/users/trml/followers","following_url":"https://api.github.com/users/trml/following{/other_user}","gists_url":"https://api.github.com/users/trml/gists{/gist_id}","starred_url":"https://api.github.com/users/trml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trml/subscriptions","organizations_url":"https://api.github.com/users/trml/orgs","repos_url":"https://api.github.com/users/trml/repos","events_url":"https://api.github.com/users/trml/events{/privacy}","received_events_url":"https://api.github.com/users/trml/received_events","type":"User","site_admin":false},"body":"Sometimes the client will predict the wrong hook strength, and this is an attempt to correct that, by making the client detect if it has strong/weak.\r\n\r\nIt only attempts to detect weak/strong between the client and other players (I think it would be possible to detect it between every player, but it would be more complex and require more work). Also, since the detection works by looking at past interaction between you and other players, there is a small delay before the detection takes effect. This is slightly noticable the first time you hook another player, but after that the predicted hook strength should be correct until one of you respawns.\r\n\r\nI didnt add a config flag for it and just made it activated when antiping_players is active (not sure if that is the best solution)","created_at":"2015-01-11T18:23:39Z","updated_at":"2015-01-17T05:37:46Z","closed_at":"2015-01-17T05:37:46Z","merged_at":"2015-01-17T05:37:46Z","merge_commit_sha":"77e27b0f25553438a3678279aff9065d36cd1314","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/def-/ddnet/pulls/129/commits","review_comments_url":"https://api.github.com/repos/def-/ddnet/pulls/129/comments","review_comment_url":"https://api.github.com/repos/def-/ddnet/pulls/comments/{number}","comments_url":"https://api.github.com/repos/def-/ddnet/issues/129/comments","statuses_url":"https://api.github.com/repos/def-/ddnet/statuses/19318b55034263eac94e9f9eb26efb9dbdd29a45","head":{"label":"trml:predict_hookstrength","ref":"predict_hookstrength","sha":"19318b55034263eac94e9f9eb26efb9dbdd29a45","user":{"login":"trml","id":9425859,"avatar_url":"https://avatars.githubusercontent.com/u/9425859?v=3","gravatar_id":"","url":"https://api.github.com/users/trml","html_url":"https://github.com/trml","followers_url":"https://api.github.com/users/trml/followers","following_url":"https://api.github.com/users/trml/following{/other_user}","gists_url":"https://api.github.com/users/trml/gists{/gist_id}","starred_url":"https://api.github.com/users/trml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trml/subscriptions","organizations_url":"https://api.github.com/users/trml/orgs","repos_url":"https://api.github.com/users/trml/repos","events_url":"https://api.github.com/users/trml/events{/privacy}","received_events_url":"https://api.github.com/users/trml/received_events","type":"User","site_admin":false},"repo":{"id":25849571,"name":"ddnet","full_name":"trml/ddnet","owner":{"login":"trml","id":9425859,"avatar_url":"https://avatars.githubusercontent.com/u/9425859?v=3","gravatar_id":"","url":"https://api.github.com/users/trml","html_url":"https://github.com/trml","followers_url":"https://api.github.com/users/trml/followers","following_url":"https://api.github.com/users/trml/following{/other_user}","gists_url":"https://api.github.com/users/trml/gists{/gist_id}","starred_url":"https://api.github.com/users/trml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trml/subscriptions","organizations_url":"https://api.github.com/users/trml/orgs","repos_url":"https://api.github.com/users/trml/repos","events_url":"https://api.github.com/users/trml/events{/privacy}","received_events_url":"https://api.github.com/users/trml/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/trml/ddnet","description":"DDraceNetwork, a mod of Teeworlds","fork":true,"url":"https://api.github.com/repos/trml/ddnet","forks_url":"https://api.github.com/repos/trml/ddnet/forks","keys_url":"https://api.github.com/repos/trml/ddnet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/trml/ddnet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/trml/ddnet/teams","hooks_url":"https://api.github.com/repos/trml/ddnet/hooks","issue_events_url":"https://api.github.com/repos/trml/ddnet/issues/events{/number}","events_url":"https://api.github.com/repos/trml/ddnet/events","assignees_url":"https://api.github.com/repos/trml/ddnet/assignees{/user}","branches_url":"https://api.github.com/repos/trml/ddnet/branches{/branch}","tags_url":"https://api.github.com/repos/trml/ddnet/tags","blobs_url":"https://api.github.com/repos/trml/ddnet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/trml/ddnet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/trml/ddnet/git/refs{/sha}","trees_url":"https://api.github.com/repos/trml/ddnet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/trml/ddnet/statuses/{sha}","languages_url":"https://api.github.com/repos/trml/ddnet/languages","stargazers_url":"https://api.github.com/repos/trml/ddnet/stargazers","contributors_url":"https://api.github.com/repos/trml/ddnet/contributors","subscribers_url":"https://api.github.com/repos/trml/ddnet/subscribers","subscription_url":"https://api.github.com/repos/trml/ddnet/subscription","commits_url":"https://api.github.com/repos/trml/ddnet/commits{/sha}","git_commits_url":"https://api.github.com/repos/trml/ddnet/git/commits{/sha}","comments_url":"https://api.github.com/repos/trml/ddnet/comments{/number}","issue_comment_url":"https://api.github.com/repos/trml/ddnet/issues/comments/{number}","contents_url":"https://api.github.com/repos/trml/ddnet/contents/{+path}","compare_url":"https://api.github.com/repos/trml/ddnet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/trml/ddnet/merges","archive_url":"https://api.github.com/repos/trml/ddnet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/trml/ddnet/downloads","issues_url":"https://api.github.com/repos/trml/ddnet/issues{/number}","pulls_url":"https://api.github.com/repos/trml/ddnet/pulls{/number}","milestones_url":"https://api.github.com/repos/trml/ddnet/milestones{/number}","notifications_url":"https://api.github.com/repos/trml/ddnet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/trml/ddnet/labels{/name}","releases_url":"https://api.github.com/repos/trml/ddnet/releases{/id}","created_at":"2014-10-28T02:31:02Z","updated_at":"2015-01-10T20:23:30Z","pushed_at":"2015-01-11T16:41:53Z","git_url":"git://github.com/trml/ddnet.git","ssh_url":"git@github.com:trml/ddnet.git","clone_url":"https://github.com/trml/ddnet.git","svn_url":"https://github.com/trml/ddnet","homepage":null,"size":157927,"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":"DDRace64"}},"base":{"label":"def-:DDRace64","ref":"DDRace64","sha":"788f560d9ddecfd1a19c155f1427953e46a1750f","user":{"login":"def-","id":2335377,"avatar_url":"https://avatars.githubusercontent.com/u/2335377?v=3","gravatar_id":"","url":"https://api.github.com/users/def-","html_url":"https://github.com/def-","followers_url":"https://api.github.com/users/def-/followers","following_url":"https://api.github.com/users/def-/following{/other_user}","gists_url":"https://api.github.com/users/def-/gists{/gist_id}","starred_url":"https://api.github.com/users/def-/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/def-/subscriptions","organizations_url":"https://api.github.com/users/def-/orgs","repos_url":"https://api.github.com/users/def-/repos","events_url":"https://api.github.com/users/def-/events{/privacy}","received_events_url":"https://api.github.com/users/def-/received_events","type":"User","site_admin":false},"repo":{"id":22821674,"name":"ddnet","full_name":"def-/ddnet","owner":{"login":"def-","id":2335377,"avatar_url":"https://avatars.githubusercontent.com/u/2335377?v=3","gravatar_id":"","url":"https://api.github.com/users/def-","html_url":"https://github.com/def-","followers_url":"https://api.github.com/users/def-/followers","following_url":"https://api.github.com/users/def-/following{/other_user}","gists_url":"https://api.github.com/users/def-/gists{/gist_id}","starred_url":"https://api.github.com/users/def-/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/def-/subscriptions","organizations_url":"https://api.github.com/users/def-/orgs","repos_url":"https://api.github.com/users/def-/repos","events_url":"https://api.github.com/users/def-/events{/privacy}","received_events_url":"https://api.github.com/users/def-/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/def-/ddnet","description":"DDraceNetwork, a mod of Teeworlds","fork":false,"url":"https://api.github.com/repos/def-/ddnet","forks_url":"https://api.github.com/repos/def-/ddnet/forks","keys_url":"https://api.github.com/repos/def-/ddnet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/def-/ddnet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/def-/ddnet/teams","hooks_url":"https://api.github.com/repos/def-/ddnet/hooks","issue_events_url":"https://api.github.com/repos/def-/ddnet/issues/events{/number}","events_url":"https://api.github.com/repos/def-/ddnet/events","assignees_url":"https://api.github.com/repos/def-/ddnet/assignees{/user}","branches_url":"https://api.github.com/repos/def-/ddnet/branches{/branch}","tags_url":"https://api.github.com/repos/def-/ddnet/tags","blobs_url":"https://api.github.com/repos/def-/ddnet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/def-/ddnet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/def-/ddnet/git/refs{/sha}","trees_url":"https://api.github.com/repos/def-/ddnet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/def-/ddnet/statuses/{sha}","languages_url":"https://api.github.com/repos/def-/ddnet/languages","stargazers_url":"https://api.github.com/repos/def-/ddnet/stargazers","contributors_url":"https://api.github.com/repos/def-/ddnet/contributors","subscribers_url":"https://api.github.com/repos/def-/ddnet/subscribers","subscription_url":"https://api.github.com/repos/def-/ddnet/subscription","commits_url":"https://api.github.com/repos/def-/ddnet/commits{/sha}","git_commits_url":"https://api.github.com/repos/def-/ddnet/git/commits{/sha}","comments_url":"https://api.github.com/repos/def-/ddnet/comments{/number}","issue_comment_url":"https://api.github.com/repos/def-/ddnet/issues/comments/{number}","contents_url":"https://api.github.com/repos/def-/ddnet/contents/{+path}","compare_url":"https://api.github.com/repos/def-/ddnet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/def-/ddnet/merges","archive_url":"https://api.github.com/repos/def-/ddnet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/def-/ddnet/downloads","issues_url":"https://api.github.com/repos/def-/ddnet/issues{/number}","pulls_url":"https://api.github.com/repos/def-/ddnet/pulls{/number}","milestones_url":"https://api.github.com/repos/def-/ddnet/milestones{/number}","notifications_url":"https://api.github.com/repos/def-/ddnet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/def-/ddnet/labels{/name}","releases_url":"https://api.github.com/repos/def-/ddnet/releases{/id}","created_at":"2014-08-11T00:03:57Z","updated_at":"2015-01-17T05:37:08Z","pushed_at":"2015-01-17T05:37:46Z","git_url":"git://github.com/def-/ddnet.git","ssh_url":"git@github.com:def-/ddnet.git","clone_url":"https://github.com/def-/ddnet.git","svn_url":"https://github.com/def-/ddnet","homepage":null,"size":164797,"stargazers_count":16,"watchers_count":16,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":20,"mirror_url":null,"open_issues_count":13,"forks":20,"open_issues":13,"watchers":16,"default_branch":"DDRace64"}},"_links":{"self":{"href":"https://api.github.com/repos/def-/ddnet/pulls/129"},"html":{"href":"https://github.com/def-/ddnet/pull/129"},"issue":{"href":"https://api.github.com/repos/def-/ddnet/issues/129"},"comments":{"href":"https://api.github.com/repos/def-/ddnet/issues/129/comments"},"review_comments":{"href":"https://api.github.com/repos/def-/ddnet/pulls/129/comments"},"review_comment":{"href":"https://api.github.com/repos/def-/ddnet/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/def-/ddnet/pulls/129/commits"},"statuses":{"href":"https://api.github.com/repos/def-/ddnet/statuses/19318b55034263eac94e9f9eb26efb9dbdd29a45"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"def-","id":2335377,"avatar_url":"https://avatars.githubusercontent.com/u/2335377?v=3","gravatar_id":"","url":"https://api.github.com/users/def-","html_url":"https://github.com/def-","followers_url":"https://api.github.com/users/def-/followers","following_url":"https://api.github.com/users/def-/following{/other_user}","gists_url":"https://api.github.com/users/def-/gists{/gist_id}","starred_url":"https://api.github.com/users/def-/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/def-/subscriptions","organizations_url":"https://api.github.com/users/def-/orgs","repos_url":"https://api.github.com/users/def-/repos","events_url":"https://api.github.com/users/def-/events{/privacy}","received_events_url":"https://api.github.com/users/def-/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"commits":1,"additions":86,"deletions":9,"changed_files":2}}