{"action":"created","issue":{"url":"https://api.github.com/repos/tgstation/tgstation/issues/20283","repository_url":"https://api.github.com/repos/tgstation/tgstation","labels_url":"https://api.github.com/repos/tgstation/tgstation/issues/20283/labels{/name}","comments_url":"https://api.github.com/repos/tgstation/tgstation/issues/20283/comments","events_url":"https://api.github.com/repos/tgstation/tgstation/issues/20283/events","html_url":"https://github.com/tgstation/tgstation/pull/20283","id":174783795,"number":20283,"title":"More than 2 hands!? WHAAAAAAT","user":{"login":"RemieRichards","id":4043781,"avatar_url":"https://avatars.githubusercontent.com/u/4043781?v=3","gravatar_id":"","url":"https://api.github.com/users/RemieRichards","html_url":"https://github.com/RemieRichards","followers_url":"https://api.github.com/users/RemieRichards/followers","following_url":"https://api.github.com/users/RemieRichards/following{/other_user}","gists_url":"https://api.github.com/users/RemieRichards/gists{/gist_id}","starred_url":"https://api.github.com/users/RemieRichards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RemieRichards/subscriptions","organizations_url":"https://api.github.com/users/RemieRichards/orgs","repos_url":"https://api.github.com/users/RemieRichards/repos","events_url":"https://api.github.com/users/RemieRichards/events{/privacy}","received_events_url":"https://api.github.com/users/RemieRichards/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/tgstation/tgstation/labels/Feature","name":"Feature","color":"009800"},{"url":"https://api.github.com/repos/tgstation/tgstation/labels/Priority:%20CRITICAL","name":"Priority: CRITICAL","color":"424242"},{"url":"https://api.github.com/repos/tgstation/tgstation/labels/Refactor","name":"Refactor","color":"FF9933"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":43,"created_at":"2016-09-02T15:16:46Z","updated_at":"2016-09-10T21:10:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/tgstation/tgstation/pulls/20283","html_url":"https://github.com/tgstation/tgstation/pull/20283","diff_url":"https://github.com/tgstation/tgstation/pull/20283.diff","patch_url":"https://github.com/tgstation/tgstation/pull/20283.patch"},"body":"## Changes:\r\n* Mobs can now have more than 2 hands\r\n* Minor rewrite of the \"Inventory API\" in terms of hands, this includes re-dos of procs, re-naming of procs, and refocusing hands around \"held indexes\"\r\n* In terms of things like twohanded weapons/fake twohands like guns, arms act as \"pairs\", eg: the \"upper left hand\" is paired with the \"upper right hand\", this means if you're holding a gun with recoil in your upper left hand, the upper right hand is the one that's checked for emptiness\r\n* for balance reasons you can still only wield 1 double wield weapon (I may remove this, since it'd not -too- much better)\r\n* All mobs with inhands now draw them on 1 layer, like how some of the random ```/carbon``` and simples did, and how I tried to change it to almost 3 years ago when giacom told me no, there's literally no reason to have separate hand layers, all visual issues are the same, all visual effect is the same, it's just for unification. (yes it means you're potentially drawing double the images each time, but this is REALLY not costly at all as you'd have to be holding that many items too.)\r\n* it \"works\" with dismemberment, it's just that all extra limbs are drawn where the normal ones would be, meaning you can't immediately tell how many hands somebody has, but attacking the \"left arm\" will keep attacking until they have no left arms, so functionally it all \"works\", visually: I need a spriter, probably.\r\n* Being handcuffed handcuffs ALL your pairs of limbs, because video game logic.\r\n\r\n## Todo:\r\n- [x] Get a test merge\r\n- [x] Fix crippling CPU usage from ```get_held_index_of_item()``` - Turns out, it *WAS* actually lava's fault! @MrStonedOne has a PR up to fix that, so let's mark it fixed here too.\r\n- [x] Fix Lizard/Species Accessories sprites - I have fixed (and future-proofed) them.\r\n- [x] Fix Stacks (metal etc.) disappearing - Stacks could apparently ```merge()``` with themselves in some conditions, resulting in them consuming themselves (although it depended on the amount in the stack, which is confusing and really really !FUN!)\r\n- [ ] Maybe get a 2nd test merge\r\n\r\n:cl: \r\nadd: Added the functionality for mobs to have multiple hands, this might have broken some things, so please report any weirdness\r\n/:cl:\r\n\r\nThis is the first time I've seen all the changes laid out in front of me, so there are probably issues, but I should be able to sort them. I have tested this quite heavily, fixing any issues I've found but 2 servers full of players are more likely to find any rarer quirks. - <B>Edit:</B> looking at it, it all looks pretty good!\r\n\r\n<del>Yes I know about the merge conflicts, it's probably somebody trying to use ```slot_[l/r]_hand``` which is no longer a thing OR one of the old proc names.</del>\r\n\r\n## Screenshot:\r\n![old_screenshot](http://i.imgur.com/qmkqSwv.png)\r\n<B>Yes, the hands are backwards in the image. No, that's not an issue in the PR anymore</B>"},"comment":{"url":"https://api.github.com/repos/tgstation/tgstation/issues/comments/246140578","html_url":"https://github.com/tgstation/tgstation/pull/20283#issuecomment-246140578","issue_url":"https://api.github.com/repos/tgstation/tgstation/issues/20283","id":246140578,"user":{"login":"RemieRichards","id":4043781,"avatar_url":"https://avatars.githubusercontent.com/u/4043781?v=3","gravatar_id":"","url":"https://api.github.com/users/RemieRichards","html_url":"https://github.com/RemieRichards","followers_url":"https://api.github.com/users/RemieRichards/followers","following_url":"https://api.github.com/users/RemieRichards/following{/other_user}","gists_url":"https://api.github.com/users/RemieRichards/gists{/gist_id}","starred_url":"https://api.github.com/users/RemieRichards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RemieRichards/subscriptions","organizations_url":"https://api.github.com/users/RemieRichards/orgs","repos_url":"https://api.github.com/users/RemieRichards/repos","events_url":"https://api.github.com/users/RemieRichards/events{/privacy}","received_events_url":"https://api.github.com/users/RemieRichards/received_events","type":"User","site_admin":false},"created_at":"2016-09-10T21:10:23Z","updated_at":"2016-09-10T21:10:23Z","body":"@nullbear ;_:"}}
{"actor":{"display_login":"RemieRichards"}}