ctan
2cc2ba1907
fix(combat): Thread 5-10-5 diagonal parity through all budget-consuming paths
...
The greedy move/run/flee/charge descent helpers hardcoded diagonal parity 0,
letting a speed-30 walker cover 6 diagonal cells (cell-count budget). Under
5-10-5 (SRD Movement, Tactical) the same walker covers only 4 cells
(1+2+1+2=6 squares).
Threading the running diagonal count:
- _best_move_step / _best_flee_step: accept diagonals_used param
- _descend_path / _run_line_path / _flee_path: track and pass parity
- _charge_end: use _path_cost_5105() instead of len(path) for max check
- _path_cost_5105: new helper; computes total 5-10-5 cost of any path
Updated golden paths in test_aoo_limit_one_per_round (5-cell path now
takes an orthogonal detour to avoid expensive 2nd diagonal), test_run_*
(speed-30 diagonal move stops at 4 cells), and staggered_withdraw
(single-speed diagonal withdraw stops at 4 cells).
2026-09-16 13:15:49 +02:00
..
2026-08-17 22:49:50 +02:00
2026-09-04 23:02:20 +02:00
2026-09-12 13:21:26 +02:00
2026-09-10 20:52:28 +02:00
2026-09-16 13:15:49 +02:00
2026-09-10 14:08:25 +02:00
2026-09-12 13:26:52 +02:00
2026-09-13 11:30:30 +02:00
2026-09-13 17:19:58 +02:00
2026-09-12 12:58:32 +02:00
2026-09-06 10:47:36 +02:00
2026-09-13 11:01:07 +02:00
2026-09-11 13:02:31 +02:00
2026-09-16 13:15:49 +02:00
2026-09-04 23:02:20 +02:00
2026-09-10 20:52:28 +02:00
2026-09-10 20:52:28 +02:00
2026-09-12 13:26:52 +02:00
2026-09-16 13:15:49 +02:00
2026-09-04 23:02:16 +02:00
2026-09-12 14:35:42 +02:00
2026-09-13 13:39:44 +02:00
2026-09-12 14:57:56 +02:00
2026-09-12 11:21:35 +02:00
2026-09-12 09:44:53 +02:00
2026-09-11 23:35:07 +02:00
2026-09-11 00:19:06 +02:00
2026-09-11 12:48:43 +02:00
2026-09-13 12:05:56 +02:00
2026-09-11 13:02:31 +02:00
2026-09-10 11:32:08 +02:00
2026-09-12 09:27:03 +02:00
2026-09-13 10:48:09 +02:00
2026-09-10 12:52:47 +02:00
2026-09-11 21:15:14 +02:00
2026-09-05 00:16:17 +02:00
2026-09-06 13:46:12 +02:00
2026-09-10 21:45:50 +02:00
2026-09-12 11:34:20 +02:00
2026-09-13 17:19:58 +02:00
2026-08-17 22:49:50 +02:00
2026-09-05 16:18:56 +02:00
2026-09-06 18:37:58 +02:00
2026-09-11 22:06:46 +02:00
2026-09-04 23:02:25 +02:00
2026-09-13 16:41:40 +02:00
2026-09-10 17:46:57 +02:00
2026-08-17 22:49:50 +02:00
2026-08-17 22:49:50 +02:00
2026-08-17 22:49:50 +02:00
2026-09-13 17:19:58 +02:00
2026-09-13 10:48:09 +02:00
2026-09-12 14:08:44 +02:00
2026-09-10 12:04:10 +02:00
2026-09-16 11:45:23 +02:00
2026-09-10 15:56:21 +02:00
2026-08-17 22:49:50 +02:00
2026-09-12 14:45:55 +02:00
2026-09-05 16:18:56 +02:00
2026-08-17 22:49:50 +02:00
2026-09-11 22:06:46 +02:00
2026-09-12 10:48:12 +02:00
2026-09-06 10:22:58 +02:00
2026-09-13 12:05:56 +02:00
2026-09-16 12:25:30 +02:00
2026-09-11 22:06:46 +02:00
2026-09-06 11:07:30 +02:00
2026-09-13 13:39:44 +02:00
2026-09-11 22:06:46 +02:00
2026-09-10 13:57:34 +02:00
2026-09-13 17:39:52 +02:00
2026-09-10 20:52:28 +02:00
2026-09-04 23:02:20 +02:00
2026-09-10 21:45:50 +02:00
2026-09-10 21:45:50 +02:00
2026-09-13 15:35:23 +02:00
2026-09-13 14:54:15 +02:00
2026-09-13 12:25:38 +02:00
2026-09-10 21:45:50 +02:00
2026-09-12 14:35:42 +02:00
2026-08-17 22:49:50 +02:00
2026-09-10 19:43:07 +02:00
2026-08-17 22:49:50 +02:00
2026-08-17 22:49:50 +02:00
2026-09-10 17:25:05 +02:00
2026-08-17 22:49:50 +02:00
2026-09-11 14:13:13 +02:00
2026-09-13 18:56:17 +02:00
2026-09-10 19:43:07 +02:00
2026-09-10 19:43:07 +02:00
2026-09-13 12:44:35 +02:00
2026-09-16 11:37:23 +02:00
2026-09-04 23:02:27 +02:00
2026-09-13 13:20:37 +02:00
2026-09-13 15:35:23 +02:00
2026-09-05 11:28:46 +02:00
2026-09-10 13:36:27 +02:00