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
AgrarianGameArchive/Scripts/verify_movement_baseline.py
T

44 lines
1.2 KiB
Python

import math
import unreal
MOVEMENT_DEFAULTS = {
"WalkSpeed": 140.0,
"SprintSpeed": 550.0,
"SprintStaminaCostPerSecond": 28.0,
"MinSprintStamina": 5.0,
"AgeYears": 25.0,
"PhysicalConditionMultiplier": 1.0,
"StrengthMultiplier": 1.0,
"EnduranceMultiplier": 1.0,
"ComfortableCarryWeight": 25.0,
"HeavyCarryWeight": 60.0,
"TerrainMovementMultiplier": 1.0,
}
def load(path):
asset = unreal.EditorAssetLibrary.load_asset(path)
if not asset:
raise RuntimeError(f"Could not load {path}")
return asset
def main():
character_bp = load("/Game/ThirdPerson/Blueprints/BP_ThirdPersonCharacter")
character_cdo = unreal.get_default_object(character_bp.generated_class())
mismatches = []
for property_name, expected in MOVEMENT_DEFAULTS.items():
actual = float(character_cdo.get_editor_property(property_name))
if not math.isclose(actual, expected, rel_tol=0.0, abs_tol=0.01):
mismatches.append(f"{property_name}: expected {expected}, got {actual}")
if mismatches:
raise RuntimeError("Movement baseline verification failed: " + "; ".join(mismatches))
unreal.log("Agrarian movement baseline verification complete.")
main()