Commit Graph

64 Commits

Author SHA1 Message Date
Tim Van Baak ce25329d27 Refactor away Unit.Province 2024-08-14 08:15:10 -07:00
Tim Van Baak 4df5ef84dc Shift usage of Unit.Location to Unit.LocationId
This is in preparation for removing province and location references from Unit
2024-08-14 07:39:49 -07:00
Tim Van Baak 7400334a3d Always name locations 2024-08-14 06:55:40 -07:00
Tim Van Baak b2ff8896b2 Enable basic World serialization 2024-08-13 22:14:55 -07:00
Tim Van Baak c9bd8c8194 Delete Season.Coord 2024-08-13 18:56:21 -07:00
Tim Van Baak 5989970c42 Refactor timelines and season creation logic into World 2024-08-13 18:56:21 -07:00
Tim Van Baak cc2c29980a Add two more CLI verbs to implement 2024-08-13 18:56:21 -07:00
Tim Van Baak 984676f587 Add more JsonIgnores 2024-08-13 18:56:21 -07:00
Tim Van Baak fd8c725286 Store order history by timeline designation instead of reference 2024-08-12 21:58:24 -07:00
Tim Van Baak 27ffaccd20 Update Season ctor 2024-08-12 15:27:20 -07:00
Tim Van Baak b17ce9485a Refactor season futures into World 2024-08-12 15:25:23 -07:00
Tim Van Baak 3242186208 Use a simpler override where available 2024-08-12 14:57:16 -07:00
Tim Van Baak 11dfa403e4 Rename PastId back to Past 2024-08-12 14:52:50 -07:00
Tim Van Baak ae77c3c708 Remove Season.Past so all lookups go through World 2024-08-12 14:51:07 -07:00
Tim Van Baak f5afb4105b Move more timeline logic from Season to World 2024-08-12 14:50:15 -07:00
Tim Van Baak 7d4f7760be Move GetAdjacentSeasons to PathFinder 2024-08-12 14:12:49 -07:00
Tim Van Baak 5dfe9a5bb5 Replace most uses of Season creators to World 2024-08-12 13:56:06 -07:00
Tim Van Baak 5472dda931 Eliminate RootSeason field 2024-08-12 10:59:48 -07:00
Tim Van Baak 9696919773 Update timeline designator usage
Timelines are now identified by strings and come first in timeline-turn tuples.
2024-08-12 09:28:56 -07:00
Tim Van Baak 3d48a7d6f6 Refactor timeline factory to generate string ids
The strings are immediately shimmed back to ints for now
2024-08-12 07:51:18 -07:00
Tim Van Baak dab37c239b Refactor province and power information into Map 2024-08-11 21:45:25 -07:00
Tim Van Baak 135997a7cd Add a real CLI for adjudication 2024-08-10 14:54:03 -07:00
Tim Van Baak 3db01c0ffd Update projects to dotnet 8 2024-08-09 06:53:22 -07:00
Jaculabilis b241d206f4 Only fork on new moves into a season 2022-11-08 19:12:03 -08:00
Jaculabilis 069cb4c548 Prevent orders from being double counted if they affect multiple seasons 2022-11-08 18:55:27 -08:00
Jaculabilis 95ed8c7682 Fix error caused by decisions with no history 2022-11-08 18:41:46 -08:00
Jaculabilis 39c3aabe45 Implement AdvanceTimeline resolution 2022-11-08 16:25:47 -08:00
Jaculabilis 7471a035f0 Log decision updates 2022-11-06 22:01:36 -08:00
Jaculabilis a565ee1b05 Add better ToString overrides to decision classes 2022-11-06 21:58:21 -08:00
Jaculabilis 25d707b3b8 Log recursive decision traversal 2022-11-06 21:55:46 -08:00
Jaculabilis c0a9330d2e Add depth tracking to decision resolution 2022-11-06 21:51:45 -08:00
Jaculabilis 23a826c815 Add adjudicator logger 2022-11-06 21:09:22 -08:00
Jaculabilis 46c28a087c Shorten string representations
The new format for representing timeline, province, and season is T-PRO@S. Hopefully this is easier to read than the PRO T:S format.
2022-11-06 20:27:28 -08:00
Jaculabilis 18c11c7ffd Add an AdvanceTimeline decision type 2022-11-06 14:39:01 -08:00
Jaculabilis 105c372779 Add ToString overrides for orders 2022-04-07 15:58:17 -07:00
Jaculabilis 5e74ffc19f Apply null-forgiving operator where relevant 2022-04-07 15:48:46 -07:00
Jaculabilis d491ea9f64 Fix missing temporal dimension to dislodge checks 2022-03-30 13:00:51 -07:00
Jaculabilis 9f5ecaa16a Add province shortcuts to decrease verbosity 2022-03-30 12:52:57 -07:00
Jaculabilis 6948db29df Save previous orders so time travel can re-adjudicate them 2022-03-29 20:40:19 -07:00
Jaculabilis 6a6810ef07 Add basic movement phase update tests 2022-03-29 17:16:00 -07:00
Jaculabilis d4e68844c6 Simplify world updates and expose root season 2022-03-28 22:34:57 -07:00
Jaculabilis aa9c9c548b Enable hold strength across parallel worlds 2022-03-28 17:41:38 -07:00
Jaculabilis ff64b459ca Reduce verbosity of test case assertions 2022-03-28 15:05:04 -07:00
Jaculabilis 609e8cc60c Add dislodge checks to DATC A tests 2022-03-28 09:39:03 -07:00
Jaculabilis b026adbfbc Add some basic unit tests for the movement adjudicator 2022-03-27 15:10:34 -07:00
Jaculabilis 6b1b9dce10 Refactor adjudication into separate adjudication and update steps
This makes it easier to unit test adjudication decisions directly.
2022-03-27 14:39:00 -07:00
Jaculabilis 36ea621782 Move decision classes out of the movement adjudicator 2022-03-24 09:22:13 -07:00
Jaculabilis d2ec79647a Add movement phase order adjudication
This implementation does not handle convoys nor account for circular movement and convoy paradoxes.
2022-03-24 08:18:33 -07:00
Jaculabilis d6d9102f05 Add model for retreating unit information 2022-03-24 07:25:51 -07:00
Jaculabilis a162e6c7ef Finish filling out the standard map 2022-03-23 11:17:02 -07:00