Skip to content

playerbot movement systems and fix client_data extraction with updated config#204

Draft
hermensbas wants to merge 1 commit into
test-stagingfrom
fix/mmaps-config-overrides-and-aliases
Draft

playerbot movement systems and fix client_data extraction with updated config#204
hermensbas wants to merge 1 commit into
test-stagingfrom
fix/mmaps-config-overrides-and-aliases

Conversation

@hermensbas

Copy link
Copy Markdown
Collaborator

Summary

Three small fixes to the mmaps config parser and shipped YAML so mmaps-config.yaml actually behaves the way its docs and example claim:

  • YAML keys renamed to singular (vertexPerMapEdge / vertexPerTileEdge) — the parser only reads the singular form (matching every C++ struct, default, and variable name), but the shipped YAML wrote the plural. Plural keys were silently ignored, hidden by C++ defaults that happen to match.
  • vertexPerTileEdge map override — the struct field and resolver path already existed, but the YAML loader never populated it from mapsOverrides. Wired up.
  • maxSimplificationError per-map / per-tile override — promised by the YAML docs and example, but the parser ignored it at both override levels and the resolver hardcoded the global value. Now follows the same resolveFloat pattern as the walkable* parameters.

Impact

No mmap regeneration needed. Default-config builds produce identical output. Only configs that previously relied on the silently-broken plural keys, or used the documented-but-unimplemented overrides, will see different output — and in those cases the new behaviour matches what was already documented.

@hermensbas hermensbas changed the title Fix/mmaps config overrides and aliases playerbot movement systems and fix client_data extraction with updated config May 10, 2026
@hermensbas
hermensbas force-pushed the fix/mmaps-config-overrides-and-aliases branch 2 times, most recently from 134b183 to bc96aa5 Compare June 5, 2026 08:08
@hermensbas
hermensbas force-pushed the fix/mmaps-config-overrides-and-aliases branch 2 times, most recently from 43fb73a to 4bb6c4d Compare June 26, 2026 21:10
mmaps extraction (mmaps-config.yaml + MapBuilder):
- Per-map/tile overrides for vertexPerTileEdge and maxSimplificationError; singular vertex*Edge keys.
- Tag 50-60deg slopes NAV_GROUND_STEEP (modAlmostUnwalkableTriangles) on top of clearing >60deg.

Bot nav filter (PathGenerator, MOD_PLAYERBOTS):
- CreateFilter detects a bot via GetSession()->IsBot() and applies a stricter filter: include
  ground/water, exclude lava/slime and NAV_GROUND_STEEP, and cost deep water. It runs in the
  constructor so all bot movement is covered; real players and creatures are unchanged.
- Add NAV_GROUND_STEEP (0x10) nav flag.
- Double MAX_PATH_LENGTH to 148 for long bot routes; expose SetNavTerrainCost/SetExcludeFlags.
@hermensbas
hermensbas force-pushed the fix/mmaps-config-overrides-and-aliases branch from 4bb6c4d to 65018ac Compare June 26, 2026 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant