CleverRaven / CleverRaven/Cataclysm-DDA
Moving Through Walls when Dragging Furniture in specific circumstances
- Dominant language
- C++
- Stars
- 13.2k
- Forks
- 4.6k
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 205
Description
### Describe the bug
While going up a ramp from Z-1 to Z0 while dragging furniture, I was able to move through a wall into the building.
### Steps to reproduce
1. Create a world and a random character that has enough STR to drag furniture around (alternatively, a shopping cart also works, but really, anything that you have to drag is sufficient)
2. Teleport to a 4x3 Farmouse with a Vineyard.
3. Go down the slope into the "basement" where all the barrels with alcohol are.
4. Grab a piece of furniture and move Z-levels with it - ensure that you are the first object to move up (ie you have to be pulling, not pushing, the item).
5. Notice that you are now on Z Level 0, but the item you are pushing is yet to show up.
6. Now, instead of moving into an open space, move towards the wall that's on the opposite side (in this case, move into the kitchen);
7. Enjoy as you become one with the wall and are able to move as freely as the furniture allows you to (it will eventually collide with other pieces of furniture).
### Expected behavior
I would expect to not go through walls via Z-Levels shenanigans.
### Screenshots
1. https://i.imgur.com/JrXLPpP.png
2. https://i.imgur.com/g9a5129.png
3. https://i.imgur.com/kivowhX.png
### Versions and configuration
Windows
41acb30 - 2022-10-27-0619
Tiles
No game altering mods.
### Additional context
This is probably possible to replicate in other locations that share the same "ramp" properties.
Contributor guide
Research direction
Start by reproducing the listed farmhouse ramp scenario with draggable furniture, moving from Z-1 to Z0 while pulling and then approaching the wall. Trace the movement and dragging behavior at the ramp transition, and verify that the character and furniture remain blocked by walls after the fix. No source files or tests are named in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100