CleverRaven / CleverRaven/Cataclysm-DDA

Screecher zombie interrupts hauling, causing items to be deleted

Open
#51,589 8 comments 0 reactions 0 assignees View on GitHub
(S2 - Confirmed) Items / Item Actions / Item Qualities Monsters
Dominant language
C++
Stars
13.2k
Forks
4.6k
Avg merge
2d 1h
Merged PRs (30d)
205

Description

### Describe the bug

On two occasions while hauling large stacks of items in safe mode I was interrupted by seeing a screecher zombie come into view. After choosing to ignore them and continue hauling, they would approach and screech causing another interrupt and debug error to pop up. After dealing with the issue, I found that some of the hauled items were missing. (Specifically, I was hauling *multiple units* of items in both cases and I believe this may be related. `Sheets of glass` from car windhields, if it helps)

I don't have a screenshot of the error, but I believe this is the debug output: `12:34:51.897 ERROR : src/activity_actor.cpp:952 [virtual void move_items_activity_actor::do_turn(player_activity&, Character&)] Lost target item of ACT_MOVE_ITEMS`

### Steps To Reproduce

Safe mode enabled (?)

Begin hauling a stack of items

Get interrupted by screecher's wail

*Some* hauled items disappear

### Expected behavior

Items should not disappear

### Screenshots

_No response_

### Versions and configuration

(Please also see additional context for further version info)

- OS: Windows
- OS Version: 10.0 1809
- Game Version: d3b1ed2 [64-bit]
- Graphics Version: Tiles
- Game Language: System language []
- Mods loaded: [
Dark Days Ahead [dda],
Graphical Overmap [Graphical_Overmap]
]

### Additional context

I had this occur in two separate late 0.E experimental versions. The version listed above is the version where I had the second occurrence.

I have tried to reproduce this effect with a debugged character, on both the 0.E versions and more current experimentals, but no combination of circumstances produced any missing items. (I was not able to reproduce issue during testing at all)

I am often in the habit of ignoring lone zombies that show up until I have to deal with them - this never caused issues aside from these two screechers, which makes me believe the screeching is related in some way. Otherwise it is likely I would have encountered this on other occasions with more common zombies.

I was hauling *multiple units* of items in both cases and I believe this may be related. In both cases the interrupt also took a surprisingly long time - despite choosing to interrupt hauling at the wailing prompt, the log showed that the lone screechers moved several more turns and attacked several times before I regained control of my character.

In both instances I was wielding a lucerne hammer and using the brawling style, it is possible some combination of the above attacks+counters/blocks+hauling turn-flow caused the items to be erroneously discarded. I did not account for weapon/style in my own attempts to reproduce.

Contributor guide

Open the contributing guide

Research direction

Start at src/activity_actor.cpp:952, where the reported ACT_MOVE_ITEMS lost-target error is logged. Try the hauling sequence with a multi-unit stack, safe mode, and a screecher interruption, then compare the activity behavior with the debug output. Done means interrupted hauling no longer deletes any hauled items.

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.