march: Require all land units to start in the same sector

The capability to march land units spread over several sectors is
obscure and rarely useful.  Accidental use is probably more frequent
than intentional use.  Issues:

* Interactive prompts show only the leader's position, and give no
  clue that some land units are actually elsewhere.

* Path finding is supported only when all marching land units are in
  the same sector.

* In each step, the bmap is updated for the leader's radar.  The bmap
  is not updated around other marching land units.  Already odd when
  all units are in the leader's sector, and odder still when some are
  elsewhere.

* Interdiction becomes rather complex.  For each movement, every
  sector entered is interdicted independently.  This means the same
  ship, land unit or plane can interdict multiple times.  Interdiction
  order depends on the order the code examines land units. which the
  player can control.  This is all pretty much undocumented.

* Complicates the code and its maintenance.  Multiplies the number of
  test cases needed to cover march.

I feel we're better off without this feature.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2014-12-28 22:24:17 +01:00
parent 5d0faf7a88
commit 69c99a0f29
9 changed files with 54 additions and 81 deletions

View file

@ -16,6 +16,9 @@ march 22/21/23 jh
march 24 nh
| kidnapped in -5,3
march 25 gh
| not with leader
march 21/10 nh
__cmd added 1 1 0
|| get stuck on the way
| die, by hitting mine in 8,6
| #31 hits a mine, #30 doesn't

View file

@ -214,7 +214,7 @@ uid owner xloc yloc type effic mobil off tech opx opy mission radius army ship h
14 1 1 1 0 100 127 0 30 1 1 none 3 "" 1 0 42 () "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
15 1 1 1 0 100 127 0 30 1 1 none 3 "" -1 0 42 () "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 1 0
20 1 3 3 0 100 105 0 30 1 3 none 3 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
21 1 1 3 0 100 127 0 30 1 3 reserve 3 "" -1 127 42 (bombed) "hhhhn" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
21 1 2 4 0 100 105 0 30 1 3 none 3 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
22 1 3 3 7 100 60 0 40 0 0 none 0 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
23 1 3 3 7 50 -5 0 40 0 0 none 0 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
24 1 2 2 7 100 127 0 40 0 0 none 0 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0

View file

@ -786,6 +786,15 @@
Play#1 output Play#1 1 No lands
Play#1 output Play#1 1 command failed
Play#1 output Play#1 6 0 583
Play#1 input march 21/10 nh
Play#1 command march
Play#1 output Play#1 1 cav cavalry #10 is not with the leader & stays in 2,2
Play#1 output Play#1 1 Leader is cav cavalry #21
Play#1 output Play#1 1 cav cavalry #21 stopped at 2,4
Play#1 output Play#1 6 0 582
Play#1 input __cmd added 1 1 0
Play#1 command __cmd
Play#1 output Play#1 6 0 583
Play#1 input march 31/30 jX
Play#1 command march
Play#1 output Play#1 1 Leader is cav cavalry #31
@ -1480,7 +1489,7 @@
Play#0 output Play#0 1 1 14 cav cavalry 1,1 100% 2 0 127 0 30 42% 0 0 1S
Play#0 output Play#0 1 1 15 cav cavalry 1,1 100% 2 0 127 0 30 42% 0 0 1L
Play#0 output Play#0 1 1 20 cav cavalry 3,3 100% 5 0 105 0 30 42% 0 0
Play#0 output Play#0 1 1 21 cav cavalry 1,3 100% 5 127 127 0 30 42% 0 0
Play#0 output Play#0 1 1 21 cav cavalry 2,4 100% 5 0 105 0 30 42% 0 0
Play#0 output Play#0 1 1 22 tra train 3,3 100% 5 0 60 0 40 42% 0 0
Play#0 output Play#0 1 1 23 tra train 3,3 50% 5 0 -5 0 40 42% 0 0
Play#0 output Play#0 1 1 24 tra train 2,2 100% 5 0 127 0 40 42% 0 0
@ -1554,8 +1563,7 @@
Play#0 output Play#0 1 1 4 eng engineer 1,1 hhhhn b
Play#0 output Play#0 1 2 11 cav cavalry 1,1 hhhhn b
Play#0 output Play#0 1 1 12 cav cavalry 1,1 hhhhn b
Play#0 output Play#0 1 1 21 cav cavalry 1,3 hhhhn b
Play#0 output Play#0 1 5 units
Play#0 output Play#0 1 4 units
Play#0 output Play#0 6 0 636
Play#0 input miss l * ?mission#0 q
Play#0 command mission
@ -1563,7 +1571,6 @@
Play#0 output Play#0 1 eng engineer #4 1,1 1,1 1 is on a reserve mission
Play#0 output Play#0 1 cav cavalry #11 1,1 1,1 3 is on a reserve mission
Play#0 output Play#0 1 cav cavalry #12 1,1 1,1 3 is on a reserve mission
Play#0 output Play#0 1 cav cavalry #21 1,3 1,3 3 is on a reserve mission
Play#0 output Play#0 6 0 634
Play#0 input ctld
Play#0 output Play#0 1 Bye-bye