Enable 6.A.5 and 6.A.7
This commit is contained in:
parent
1a44021e00
commit
128f5a4230
|
@ -194,6 +194,21 @@ public class MovementPhaseAdjudicator : IPhaseAdjudicator
|
||||||
// unit can move to the destination.
|
// unit can move to the destination.
|
||||||
List<SupportMoveOrder> supportMoveOrders = unitOrders.OfType<SupportMoveOrder>().ToList();
|
List<SupportMoveOrder> supportMoveOrders = unitOrders.OfType<SupportMoveOrder>().ToList();
|
||||||
|
|
||||||
|
// Trivial check: armies cannot move to water and fleets cannot move to land.
|
||||||
|
AdjudicatorHelpers.InvalidateIfNotMatching(
|
||||||
|
order => (order.Target.Type == UnitType.Army && order.Location.Type == LocationType.Land)
|
||||||
|
|| (order.Target.Type == UnitType.Fleet && order.Location.Type == LocationType.Water),
|
||||||
|
ValidationReason.IllegalDestinationType,
|
||||||
|
ref supportMoveOrders,
|
||||||
|
ref validationResults);
|
||||||
|
|
||||||
|
// Trivial check: a unit cannot move to where it already is.
|
||||||
|
AdjudicatorHelpers.InvalidateIfNotMatching(
|
||||||
|
order => !(order.Location.Key == order.Target.Location && order.Season == order.Unit.Season),
|
||||||
|
ValidationReason.DestinationMatchesOrigin,
|
||||||
|
ref supportMoveOrders,
|
||||||
|
ref validationResults);
|
||||||
|
|
||||||
// Support-move orders are invalid if the unit supports a move to any location in its own
|
// Support-move orders are invalid if the unit supports a move to any location in its own
|
||||||
// province.
|
// province.
|
||||||
AdjudicatorHelpers.InvalidateIfNotMatching(
|
AdjudicatorHelpers.InvalidateIfNotMatching(
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
# 6.A.5. TEST CASE, MOVE TO OWN SECTOR WITH CONVOY
|
# 6.A.5. TEST CASE, MOVE TO OWN SECTOR WITH CONVOY
|
||||||
# Moving to the same sector is still illegal with convoy (2023 rulebook, page 7, "Note: An Army can move across water provinces from one coastal province to another...").
|
# Moving to the same sector is still illegal with convoy (2023 rulebook, page 7, "Note: An Army can move across water provinces from one coastal province to another...").
|
||||||
|
|
||||||
# TODO convoy order parsing
|
|
||||||
#test:skip
|
|
||||||
|
|
||||||
unit England F North Sea
|
unit England F North Sea
|
||||||
unit England A Yorkshire
|
unit England A Yorkshire
|
||||||
unit England A Liverpool
|
unit England A Liverpool
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
# 6.A.7. TEST CASE, ONLY ARMIES CAN BE CONVOYED
|
# 6.A.7. TEST CASE, ONLY ARMIES CAN BE CONVOYED
|
||||||
# A fleet cannot be convoyed.
|
# A fleet cannot be convoyed.
|
||||||
|
|
||||||
# TODO convoy order parsing
|
|
||||||
#test:skip
|
|
||||||
|
|
||||||
unit England F London
|
unit England F London
|
||||||
unit England F North Sea
|
unit England F North Sea
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue