-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serialize requirements for fetch activity #34907
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
KorGgenT
added
[C++]
Changes (can be) made in C++. Previously named `Code`
NPC / Factions
NPCs, AI, Speech, Factions, Ownership
labels
Oct 20, 2019
KorGgenT
reviewed
Oct 20, 2019
KorGgenT
reviewed
Oct 20, 2019
KorGgenT
reviewed
Oct 20, 2019
KorGgenT
reviewed
Oct 20, 2019
KorGgenT
reviewed
Oct 20, 2019
KorGgenT
reviewed
Oct 20, 2019
KorGgenT
reviewed
Oct 20, 2019
Co-Authored-By: Curtis Merrill <[email protected]>
Co-Authored-By: Curtis Merrill <[email protected]>
Co-Authored-By: Curtis Merrill <[email protected]>
Co-Authored-By: Curtis Merrill <[email protected]>
…Cataclysm-DDA into npc_act_serial_fix
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
[C++]
Changes (can be) made in C++. Previously named `Code`
NPC / Factions
NPCs, AI, Speech, Factions, Ownership
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
SUMMARY: Bugfixes "Serialize requirements for fetch activity"
Purpose of change
Fixes #34874
Describe the solution
This makes some changes to save/loading to enable NPCs to continue where they left off with their activities after loading. It saves automove route and destination_activity properly so npcs can have that restored, and sets up a proper serialization for requirement_data, so that custom requirements created on the fly during gameplay can be stored and retrieved.
Describe alternatives you've considered
N/A
Testing
Told an NPC to go and chop some trees, with a wood axe nearby, while they were walking toward the wood axe, I saved and loaded, they remembered they were walking there, and when they got there and retrieved the requirement_id stored in the backlog activity, it still pointed to a valid requirement_data object, as that had been reconstructed on load.
Also tested with construction, and they remembered their requirements there too, but this also revealed that currently, NPCs are not repeating the construction task after fetching, but thats something seperate Ill look at.
Additional context
N/A