{"action":"created","issue":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/12794","labels_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/12794/labels{/name}","comments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/12794/comments","events_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/12794/events","html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/12794","id":91503448,"number":12794,"title":"[WiP][CR]Falling furniture, vehicles and items","user":{"login":"Coolthulhu","id":1878860,"avatar_url":"https://avatars.githubusercontent.com/u/1878860?v=3","gravatar_id":"","url":"https://api.github.com/users/Coolthulhu","html_url":"https://github.com/Coolthulhu","followers_url":"https://api.github.com/users/Coolthulhu/followers","following_url":"https://api.github.com/users/Coolthulhu/following{/other_user}","gists_url":"https://api.github.com/users/Coolthulhu/gists{/gist_id}","starred_url":"https://api.github.com/users/Coolthulhu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Coolthulhu/subscriptions","organizations_url":"https://api.github.com/users/Coolthulhu/orgs","repos_url":"https://api.github.com/users/Coolthulhu/repos","events_url":"https://api.github.com/users/Coolthulhu/events{/privacy}","received_events_url":"https://api.github.com/users/Coolthulhu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-06-27T19:03:10Z","updated_at":"2015-06-28T12:25:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/12794","html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/12794","diff_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/12794.diff","patch_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/12794.patch"},"body":"First point from #6823:\r\n>Unsupported items, furniture, vehicles and creatures on one level should fall to the next\r\n\r\nCreatures already fall (unless they can fly). This PR is about the rest.\r\n\r\nMost of the stuff works as described: falls when unsupported. Internally I implemented it by adding a \"support dirty\" cache, which contains all tiles from which floor was recently removed.\r\nEach turn the contents of the cache are checked for stuff that should fall, then the cache is emptied.\r\n\r\nModerate issues:\r\n* [ ] Ash, rubble, flowers etc. are furniture, meaning they can't share a tile with a heavy locker falling on them. This needs some smart solution (or at least allowing some of them to be overwritten) not to have chairs floating on ash.\r\n* [ ] No standardized method of telling what is a \"full\"/\"occupied\" tile. Currently bookcases and chairs float on vehicles, vehicles on bookcases and chars, bookcases and chairs on ash, creatures float on bookcases but NOT on chairs and especially not on ash. Items never float. Only creatures float on creatures.\r\n* [ ] Vehicles support other vehicles, but vehicles with \"vehicular\" support removed from under them won't fall - only vehicles with floor removed from under them will.\r\n* [ ] Allow processing falling multiple times per turn, so that items falling on overfilled pile won't hang in air for a turn.\r\n\r\nMinor issues (will fix if someone has a nice idea, but I wouldn't consider them blockers):\r\n* [ ] \"SEALED\" containers spill their contents when dropped on overfilled tiles that could not contain all their contents\r\n* [ ] \"SEALED\" containers \"vacuum\" up the contents of the tiles they occupy. Also happens in master when you move (grab+pull) a crate over items.\r\n* [ ] When furniture is pulled, movement from player's position (not furn's position) is used to check for traps and dangerous terrain. Ledge is considered a trap.\r\n\r\nBalancing (not a part of this PR, but maybe someone has good suggestions):\r\n* Vehicle-on-vehicle landing. How to damage either vehicle, how to compare their \"power\", when to give up on bashing and just let them float\r\n* Vehicles mostly in air. A deathroller with just 1 of its tiles hanging on a tile.\r\n* Vehicle landing damage - how heavy, should it depend on horizontal speed\r\n* Furniture landing on stuff and damage. We don't have pianos to drop on people, but we have ovens, fridges and dumpsters\r\n* Vehicles landing on stuff and damage. From wheelchairs and inflated boats to APCs.\r\n* Creatures being landed on by stuff they can't move over. Status effects, extra damage?\r\n* Falling heavy stuff punching through floor"},"comment":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/comments/116268809","html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/12794#issuecomment-116268809","issue_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/12794","id":116268809,"user":{"login":"DavidKeaton","id":1715605,"avatar_url":"https://avatars.githubusercontent.com/u/1715605?v=3","gravatar_id":"","url":"https://api.github.com/users/DavidKeaton","html_url":"https://github.com/DavidKeaton","followers_url":"https://api.github.com/users/DavidKeaton/followers","following_url":"https://api.github.com/users/DavidKeaton/following{/other_user}","gists_url":"https://api.github.com/users/DavidKeaton/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidKeaton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidKeaton/subscriptions","organizations_url":"https://api.github.com/users/DavidKeaton/orgs","repos_url":"https://api.github.com/users/DavidKeaton/repos","events_url":"https://api.github.com/users/DavidKeaton/events{/privacy}","received_events_url":"https://api.github.com/users/DavidKeaton/received_events","type":"User","site_admin":false},"created_at":"2015-06-28T12:25:39Z","updated_at":"2015-06-28T12:25:39Z","body":"Would you merely check length of vehicle, then if >50% of it is over, then cause it to fall? Curious.\n\nAlso, I gotcha Coolthulhu, that isn't the easiest to determine without explicit dimensions of objects."}}