This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

84 lines
2.9 KiB
Python

from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
FILES = {
"setup_item_definitions.py": ROOT / "Scripts" / "setup_item_definitions.py",
"setup_playable_blueprints.py": ROOT / "Scripts" / "setup_playable_blueprints.py",
"setup_ground_zero_demo_map.py": ROOT / "Scripts" / "setup_ground_zero_demo_map.py",
"verify_playable_blueprints.py": ROOT / "Scripts" / "verify_playable_blueprints.py",
"verify_ground_zero_resources.py": ROOT / "Scripts" / "verify_ground_zero_resources.py",
"GroundZeroResourcePass.md": ROOT / "Docs" / "Terrain" / "GroundZeroResourcePass.md",
"TechnicalDesignDocument.md": ROOT / "Docs" / "TechnicalDesignDocument.md",
"AGRARIAN_DEVELOPMENT_ROADMAP.md": ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md",
}
EXPECTED = {
"setup_item_definitions.py": [
'"asset": "DA_Item_Stone"',
'"item_id": "stone"',
"Field stone suitable for crude tools",
'"unit_weight": 1.5',
],
"setup_playable_blueprints.py": [
'STONE_ITEM_PATH = "/Game/Agrarian/DataAssets/Items/DA_Item_Stone"',
'"asset": "BP_StoneResourceNode"',
'"yield_item_definition": STONE_ITEM_PATH',
'"remaining_harvests": 12',
'"quantity_per_harvest": 2',
],
"setup_ground_zero_demo_map.py": [
'"/Game/Agrarian/Blueprints/Resources/BP_StoneResourceNode"',
'"AGR_GZ_Stone_Slope_01"',
'"AGR_GZ_Stone_Slope_02"',
'"AGR_GZ_Stone_ExposedTerrain_03"',
'"AGR_GZ_Stone_ValleyEdge_04"',
],
"verify_playable_blueprints.py": [
'"/Game/Agrarian/Blueprints/Resources/BP_StoneResourceNode"',
'"yield_item_id": "stone"',
],
"verify_ground_zero_resources.py": [
'"stone": [',
'"AGR_GZ_Stone_Slope_01"',
'f"{len(EXPECTED_RESOURCE_LABELS[\'stone\'])} stone nodes."',
],
"GroundZeroResourcePass.md": [
"- Stone: slope, exposed terrain, and valley-edge areas.",
"Added `BP_StoneResourceNode`",
"Stone nodes: `4`",
],
"TechnicalDesignDocument.md": [
"### Gatherable Resources",
"`AAgrarianResourceNode`",
"`DA_Item_Stone`",
"`BP_StoneResourceNode`",
"primitive tools, campfires, and early",
"construction recipes",
],
"AGRARIAN_DEVELOPMENT_ROADMAP.md": [
"[x] Add stone resource.",
"`DA_Item_Stone`",
"`BP_StoneResourceNode`",
"Ground Zero resource pass",
],
}
def main():
missing = []
for label, path in FILES.items():
text = path.read_text(encoding="utf-8")
for snippet in EXPECTED[label]:
if snippet not in text:
missing.append(f"{label}: {snippet}")
if missing:
raise RuntimeError("Stone resource verification failed: " + "; ".join(missing))
print("Agrarian stone resource verification complete.")
if __name__ == "__main__":
main()