Verify water gathering interaction

This commit is contained in:
2026-05-17 16:08:41 -07:00
parent 054552202d
commit fa9d1835f9
5 changed files with 93 additions and 3 deletions
+8
View File
@@ -430,6 +430,14 @@ construction recipes have an in-world source instead of relying on debug grants.
Edible plants are represented by `BP_EdiblePlantResourceNode`, which yields the
MVP `food` item from scrub, grassland, and drainage-candidate forage patches.
Freshwater gathering uses `AAgrarianWaterSource` instead of the depleting
resource-node class. The placed `BP_FreshWaterSource` is still an
`IAgrarianInteractable`, appears through the same focused interaction prompt,
and restores thirst through `UAgrarianSurvivalComponent::AddWater` on server
authority. This keeps drinking compatible with the existing replicated survival
component while leaving later container filling, water quality, and source
depletion rules for future water-system work.
### Wildlife Navigation
MVP wildlife movement is server authoritative. `AAgrarianWildlifeBase` uses an
+6 -2
View File
@@ -12,8 +12,9 @@ height, slope, and drainage-candidate analysis.
patches that yield the MVP `food` item.
- Stone: slope, exposed terrain, and valley-edge areas.
Freshwater remains separate because the water-source roadmap item follows this
pass and should be implemented as its own gameplay actor/system.
Freshwater is separate from depleting resource nodes. Ground Zero uses
`BP_FreshWaterSource`, an interactable water actor that restores thirst through
the survival component.
## Implementation
@@ -24,6 +25,9 @@ pass and should be implemented as its own gameplay actor/system.
Zero resource nodes.
- Added `Scripts/verify_ground_zero_resources.py` to validate node presence,
yield item IDs, and remaining harvests.
- Freshwater placement and interaction are covered by
`Scripts/verify_ground_zero_water_source.py` and
`Scripts/verify_water_gathering_interaction.py`.
## Counts
+6
View File
@@ -19,6 +19,12 @@ it restores thirst through `UAgrarianSurvivalComponent::AddWater`.
- Restore amount: `45`
- Interaction text: `Drink from Fresh Water Spring`
- Player path: focus the source, use the shared interact input, and let
`AAgrarianGameCharacter::ServerInteract` validate range before calling the
water source interaction.
- Automation: `Scripts/verify_ground_zero_water_source.py` validates placement
and restore amount, while `Scripts/verify_water_gathering_interaction.py`
verifies the native interaction path and documentation remain wired.
## Follow-Up