CleverRaven / CleverRaven/Cataclysm-DDA

Moving Through Walls when Dragging Furniture in specific circumstances

Open
#61,968 1 comment 0 reactions 0 assignees View on GitHub
(S2 - Confirmed)
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.