Skip to content

Conversation

@ShnitzelX2
Copy link
Contributor

@ShnitzelX2 ShnitzelX2 commented Feb 5, 2026

Summary

Infrastructure "move ACT_MULTIPLE_BUTCHER, ACT_FETCH_REQUIRED, ACT_MULTIPLE_CONSTRUCTION to activity_actors"

Purpose of change

Update legacy activities.

  • Fixes "Complete %s task at zone %s..." #84289
  • Fixes an unreported error caused by Adjusted activity processing #83768, where it was assumed that tools on the ground for a multi-activity could be removed for that activity's requirements even though an activity can be far away from the unmoved ground tools. Tools on the ground haven't been fetchable for over two months and nobody reported it?

Describe the solution

  1. 3ee43dd, 84987dd, 11b47fe are the bog-standard updates for multi-activities I've been doing lately, nothing special with those. 9ef5afd is some functions I missed doing those.
  2. fab651a is a safety check for the activity backlog being pushed to infinitely.
  3. ba01a27 moves some necessary fetch-related multi_activity_actor namespace functions to multi_zone_activity_actor, and also fixes some consequences of multi-activities no longer calling static functions.
  4. 06db84a moves some large or blocks into a JSON field.
  5. e9d426c fixes 84289

Describe alternatives you've considered

Also adds a TODO for making test case act_multiple_construction check for moving tools, because it always assumes that tools are in the player's inventory and missed the unreported error mentioned above.

Testing

ACT_MULTIPLE_BUTCHER
Tested the following for butchering three chicken corpses in a Loot: Corpses Zone with a machete:

  • successful as avatar (does not continue butchering after finishing one corpse, not a new issue)
  • successful as npc
  • serialization without error through save/load during NPC activity
  • successfully loading activity from 0.H save (cancels gracefully)

ACT_MULTIPLE_CONSTRUCTION
Tested the following for a "Build Door" Zone:

  • successful as avatar
  • successful as npc
  • serialization without error through save/load during NPC activity
  • successfully loading activity from 0.H save (cancels gracefully, partial construction could be finished)
  • multiple-stage constrution with fetches (replicated from multiple-step construction activity with fetch required act_build_test.cpp, which also passes locally)

ACT_FETCH_REQUIRED
Tested with ACT_MULTIPLE_CONSTRUCTION as above:

  • successful as avatar
  • successful as npc
  • serialization without error through save/load during NPC activity
  • successfully loading activity from 0.H save (cancels gracefully)
  • also tested ACT_VEHICLE_DECONSTRUCTION with near zone, successfully fetched halfway into activity

Additional context

Fixed 84289 message:
image

@github-actions github-actions bot added NPC / Factions NPCs, AI, Speech, Factions, Ownership [JSON] Changes (can be) made in JSON Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Code: Tests Measurement, self-control, statistics, balancing. [C++] Changes (can be) made in C++. Previously named `Code` <Bugfix> This is a fix for a bug (or closes open issue) Code: Infrastructure / Style / Static Analysis Code internal infrastructure and style json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions labels Feb 5, 2026
@ShnitzelX2 ShnitzelX2 force-pushed the multi-build-activity-actor-3 branch from 8e76325 to 9978377 Compare February 6, 2026 00:38
@github-actions github-actions bot added BasicBuildPassed This PR builds correctly, label assigned by github actions and removed BasicBuildPassed This PR builds correctly, label assigned by github actions labels Feb 6, 2026
@Maleclypse Maleclypse merged commit 17550dc into CleverRaven:master Feb 7, 2026
29 of 49 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) [C++] Changes (can be) made in C++. Previously named `Code` Code: Infrastructure / Style / Static Analysis Code internal infrastructure and style Code: Tests Measurement, self-control, statistics, balancing. Crafting / Construction / Recipes Includes: Uncrafting / Disassembling [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions NPC / Factions NPCs, AI, Speech, Factions, Ownership

Projects

None yet

Development

Successfully merging this pull request may close these issues.

"Complete %s task at zone %s..."

2 participants