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
Jaculabilis
697614e34f
Add DATC 6.A.* test cases
...
For now, just the parts that can be decided with validation are run. The tests and parts of tests requiring movement adjudication will be implemented fully when movement adjudication is implemented.
2022-03-22 23:21:09 -07:00
Jaculabilis
8c828661e2
Add validation constraint
2022-03-22 22:11:14 -07:00
Jaculabilis
c50dbf6b46
Add movement order validation tests
2022-03-22 21:30:20 -07:00
Jaculabilis
be3f6a527f
Refactor Support*Order to inherit from abstract SupportOrder
2022-03-22 12:57:01 -07:00
Jaculabilis
70b004edab
Define ToString methods on the main models
2022-03-15 17:36:47 -07:00
Jaculabilis
b0a8100641
Refactor World to avoid double enumeration
...
If an enumerable that created objects were passed, it would duplicate the objects when re-enumerated, which breaks all the reference equality logic.
2022-03-15 15:43:37 -07:00
Jaculabilis
18c5435c96
Refactor map definitions into World
2022-03-15 14:52:08 -07:00