Feature: Dynamic conditions (code only)#370
Merged
crashkonijn merged 7 commits intomasterfrom Dec 11, 2025
Merged
Conversation
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pull request introduces a major refactor to the condition system in the GOAP framework, adding support for both value-based and reference-based conditions. It also updates the capability and goal creation logic to leverage these new condition types, and adds a new world key and sensor for "LowHunger". The editor and runtime logic are updated to handle these changes, improving flexibility and extensibility for defining agent behaviors.
Condition System Refactor
Conditionclass with two new types:ValueConditionfor conditions comparing against a constant value, andReferenceConditionfor conditions comparing against another world key's value. Corresponding interfacesIValueConditionandIReferenceConditionare introduced, and all builder methods and scriptable conversions are updated to use these types.ConditionObserverandWorldDataBaseto support reference-based condition checking, allowing comparisons between different world keys.Capability and Goal Builder Updates
ActionBuilderandGoalBuilderto allow adding reference conditions, enabling actions and goals to depend on relationships between world key values rather than just fixed thresholds.HungerwithLowHunger, and registered the newLowHungerSensorandLowHungerworld key.Editor and Visualization Improvements
CapabilityConfigScriptableto improve asset integrity.Sensor System Changes
Minor Configuration Updates
validateTargetproperty to the wander capability asset for improved configuration.Fixes #364