From 0a8b71ff316ad6e9ae8224813c2e213042a757e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Tue, 25 Oct 2022 11:00:50 +0200 Subject: EAA : add header, version, reorder --- EnemyActionArdennes/EAA-cards.lou | 114 +++++++++++++++++++++----------------- 1 file changed, 63 insertions(+), 51 deletions(-) diff --git a/EnemyActionArdennes/EAA-cards.lou b/EnemyActionArdennes/EAA-cards.lou index a14a13f..077d692 100644 --- a/EnemyActionArdennes/EAA-cards.lou +++ b/EnemyActionArdennes/EAA-cards.lou @@ -29,13 +29,32 @@ @SysDatabase @FontDef { fontdefs } @SysDatabase @RefStyle { refstyle } -def @Tag left c right x { white @Colour @CurveBox margin {2p} paint {c} x } -def @Title left y right x { white @Colour @Box margin {1p} 5.7c @Wide black @Colour { |1c 8p @Font @B {x} } y } + +def @CHeader + named @HTags {} + named @HTitle {} + named @HVersion {1.0} + named @HTag {} +{ + @Tbl + rule {no} + m {0c} + aformat { + @Cell i {right} ml {.5c} mr {.3c} 8p @Font @B A + | @Cell i {left} ma {.05c} width {5.7c} 8p @Font @B B + | @Cell m {.05c} 6p @Font C + | @Cell D + } + { + @Rowa A {@HTags} B {@HTitle} C {@HVersion} D {@HTag} + } +} +def @CTag left c right x { white @Colour @CurveBox margin {2p} paint {c} x } # 65mm x 89mm def @HCard right x { 90d @Rotate black @Colour @CurveBox margin {.1c} 8.7c @Wide 6.3c @High black @Colour { x } } def @VCard right x { black @Colour @CurveBox margin {.1c} 6.3c @Wide 8.7c @High black @Colour { x } } -def @Red {rgb .8 .1 0} +def @Red {rgb .8 .1 0} def @GCol {rgb .49 .48 .51} def @ACol {rgb .51 .56 .28} def @VCol {rgb .3 .07 .81} @@ -67,9 +86,9 @@ def @Desc {@Ding a77 @Sym numbersign} #def @LineA { /.3c @OneRow { 0 0 moveto xsize 0 lineto 1 pt setlinewidth stroke } @Graphic } def @Roadblocks { @VCard { - {{@Xrgb olivedrab} @Tag R0} @Title { @GS |.2c Roadblocks} - /.2v + @CHeader @HTags {@GS} @HTitle {Roadblocks} @HVersion {1.1} @HTag {{@Xrgb olivedrab} @CTag R0} @BulletList + gap {.7v} @ListItem{the hex is considered @B empty (@Allied Reserve Deployment)} @ListItem{it has the following @B effects on @German units: @BulletList @@ -105,9 +124,9 @@ def @Roadblocks { @VCard { } } def @Reserve { @VCard { - {{@Xrgb sienna1} @Tag D0} @Title { @GS |.2c Allied Reserve Deployment} - /.3v + @CHeader @HTags {@GS} @HTitle {Allied Reserve Deployment} @HTag {{@Xrgb sienna1} @CTag D0} @BulletList + gap {.7v} @ListItem{@B never in @German @City, @B never in danger of @I Surround} @ListItem{@B @Underline {Method A} @Day 16+ @B S @Asc @I Reserve @Sym arrowdblright @Day 18+ @Asc @I OutOfContact @BulletList @@ -147,10 +166,9 @@ def @Reserve { @VCard { def @States { @VCard { - {{@Xrgb goldenrod} @Tag S0} @Title {@GS @VS |.2c Unit States} - #/.4v + @CHeader @HTags {@GS @VS} @HTitle {Unit States} @HTag {{@Xrgb goldenrod} @CTag S0} @BulletList - gap {0.4v} + gap {0.3v} @ListItem{@B @Underline @B Supply : road from map edge + @B 4 hexes not through enemy : @BulletList @ListItem{@I Roadblock, @I Bridge, @City, unit and unoccupied @B ZOC} @@ -188,7 +206,7 @@ def @States { @VCard { } } def @SupplyStates { @VCard { - {{@Xrgb goldenrod} @Tag S1} @Title {@GS @VS |.2c Supply States} + @CHeader @HTags {@GS @VS} @HTitle {Supply States} @HTag {{@Xrgb goldenrod} @CTag S1} @BulletList @ListItem{@B @Underline LowSupply : @BulletList @@ -223,8 +241,7 @@ def @SupplyStates { @VCard { } } def @CombatTacticsGS { @VCard { - {{@Xrgb dodgerblue} @Tag T0} @Title {@GS |.2c Combat Tactics} - /.3v + @CHeader @HTags {@GS} @HTitle {Combat Tactics} @HTag {{@Xrgb dodgerblue} @CTag T0} @BulletList @ListItem{@B Airpower @Sym slash @B Artillery : linked to @I {Combat Chit}} @ListItem{@B @Atk @B {Assault Coordination} : inactive adjacent stacks may attack} @@ -255,8 +272,8 @@ def @CombatTacticsGS { @VCard { } } def @CombatTacticsVS { @VCard { - {{@Xrgb dodgerblue} @Tag T1} @Title {@VS |.2c Combat Tactics} - /.7v + @CHeader @HTags {@VS} @HTitle {Combat Tactics} @HTag {{@Xrgb dodgerblue} @CTag T1} + /.3v @BulletList gap {1v} @ListItem{@B Airpower @Sym slash @B Artillery : linked to @I {Combat Chit}} @@ -280,7 +297,7 @@ def @CombatTacticsVS { @VCard { } } def @CombatChits { @VCard { - {{@Xrgb firebrick} @Tag C0} @Title {@GS |.2c Combat Tactics @Char ampersand Chits} + @CHeader @HTags {@GS} @HTitle {Combat Tactics @Char ampersand Chits} @HTag {{@Xrgb firebrick} @CTag C0} @BulletList @ListItem{@Atk {@Sym ampersand} @Def : @B must have @B 1+ in @I Supply @B not @I Dispersed unit} @ListItem{@German @Atk : @Char numbersign @I Tactics {@Sym slash} Activation @B @Sym lessequal card @I CommandValue} @@ -311,7 +328,7 @@ def @CombatChits { @VCard { } } def @CombatResolution { @VCard { - {{@Xrgb firebrick} @Tag C1} @Title {@GS |.2c Combat Resolution} + @CHeader @HTags {@GS} @HTitle {Combat Resolution} @HTag {{@Xrgb firebrick} @CTag C1} @BulletList @ListItem{@B evenly distribute step loss between units and hexes} @ListItem{@Allied @B{step loss priority} : @Desc multi-step @Sym arrowdblright @Desc single-step} @@ -347,9 +364,9 @@ def @CombatResolution { @VCard { } } def @CombatRetreat { @VCard { - {{@Xrgb firebrick} @Tag C2} @Title {@GS @VS |.2c Combat Retreat} - /.3v + @CHeader @HTags {@GS @VS} @HTitle {Combat Retreat} @HVersion {1.1} @HTag {{@Xrgb firebrick} @CTag C2} @BulletList + gap {.7v} @ListItem{@Def units retreat @B together and end in the @B {same hex}, /.3v except to @B {avoid overstacking} at the @B end of the retreat} @ListItem{@AlliedGS may break @B stacking but @B {next hit} is taken as a @B retreat /.3v} @@ -374,10 +391,9 @@ these retreating units do @B {not count} in that combat and are @B eliminated if } } def @CombatAdvance { @VCard { - {{@Xrgb firebrick} @Tag C3} @Title {@GS |.2c Combat Advance} - /.3v + @CHeader @HTags {@GS} @HTitle {Combat Advance} @HVersion {1.1} @HTag {{@Xrgb firebrick} @CTag C3} @BulletList - gap {.3v} + gap {.5v} @ListItem{@Atk may advance into the @B vacated combat hex @B ignoring @I ZOC} @ListItem{if @Def retreated @B {2 hexes} or is @B eliminated (leaves no path) : @BulletList @@ -417,7 +433,7 @@ def @CombatAdvance { @VCard { } } def @GameStart { @HCard { - @Title {@GS @VS December @Day 16 Rules} + @CHeader @HTags {@GS @VS} @HTitle {December @Day 16 Rules} @BulletList gap {.5v} @ListItem{@GS @Allied 424.106.XVIII infantry @Sym arrowdblright @I Reserve, @Allied 16.1.V infantry @Sym arrowdblright hex 0608} @@ -441,8 +457,7 @@ def @GameStart { @HCard { } } def @AlliedActivation { @VCard { - {{@Xrgb purple2} @Tag A0} @Title {@GS |.2c @Allied Activation} - /.3v + @CHeader @HTags {@GS} @HTitle {Allied Activation} @HTag {{@Xrgb purple2} @CTag A0} @BulletList # - 10.71 FIXME do not activate a Corps with 1 unit @ListItem{a formation is @B eligible for @B activation if at least @B 1 unit is : @@ -478,8 +493,7 @@ def @AlliedActivation { @VCard { } } def @GermanEvents { @VCard { - {{@Xrgb magenta3} @Tag E0} @Title { @GS |.2c German Events} - /.3v + @CHeader @HTags {@GS} @HTitle {German Events} @HTag {{@Xrgb magenta3} @CTag E0} @BulletList gap {.8v} @ListItem{@B {Allied Command Crisis} : delay @I {British Corps} units @Sym ampersand Command Cards from December 22 to 23} @@ -502,8 +516,7 @@ stopped unit may continue moving, does not count towards @Allied Command Level} } } def @AlliedEventsA { @VCard { - {{@Xrgb magenta3} @Tag E1} @Title { @GS |.2c Allied Events} - /.3v + @CHeader @HTags {@GS} @HTitle {Allied Events} @HTag {{@Xrgb magenta3} @CTag E1} @BulletList gap {.8v} @ListItem{@B {Airpower} : remove @I OutOfSupply or @I Isolated marker from 1 unit{@Sym slash}stack @@ -525,8 +538,7 @@ into an adjacent hex in @I Communication (friendly occupied @Sym arrowdblright r } } def @AlliedEventsB { @VCard { - {{@Xrgb magenta3} @Tag E2} @Title { @GS |.2c Allied Engineers Events} - /.7v + @CHeader @HTags {@GS} @HTitle {Allied Engineers Events} @HTag {{@Xrgb magenta3} @CTag E2} @BulletList gap {.7v} @ListItem{@B {Engineers} : conduct 1 of the following in priority order : @@ -562,8 +574,7 @@ def @AlliedEventsB { @VCard { } } def @Replacement { @VCard { - {{@Xrgb sienna1} @Tag D1} @Title { @GS |.2c Replacement @Sym ampersand German Reserve} - /.3v + @CHeader @HTags {@GS} @HTitle {Replacement @Sym ampersand German Reserve} @HTag {{@Xrgb sienna1} @CTag D1} @BulletList gap {1.1v} @ListItem{@B {Replacement} is not considered a unit activation : @@ -599,11 +610,12 @@ def @Replacement { @VCard { } } def @British { @VCard { - {{@Xrgb sienna1} @Tag D2} @Title { @GS |.2c British XXX Corps} - /.3v + @CHeader @HTags {@GS} @HTitle {British XXX Corps} @HTag {{@Xrgb sienna1} @CTag D2} @BulletList + gap {.7v} @ListItem{if no @B {British XXX Corps} unit is on the map: @BulletList + gap {.7v} @ListItem{if @B 1+ @German unit is @I Proximate to a hex west of the @I Meuse :#, place the @B first unit following these criteria : @BulletList @ListItem{deploy the @B first unit as follows : @@ -630,21 +642,21 @@ def @British { @VCard { } /.4v @BulletList - @ListItem{subsequent units are deployed as follows : + gap {.7v} + @ListItem{subsequent units are deployed as follows : + @BulletList + @ListItem{using the regular deployment rules plus : @BulletList - @ListItem{using the regular deployment rules plus : - @BulletList - @ListItem{as attached to the US 1 @Sup st Army} - @ListItem{must deploy west of the @I Meuse} - @ListItem{but not restricted by @I Corps boundaries} - @RawEndList} + @ListItem{as attached to the US 1 @Sup st Army} + @ListItem{must deploy west of the @I Meuse} + @ListItem{but not restricted by @I Corps boundaries} @RawEndList} + @RawEndList} @EndList } } def @Sequence { @VCard { - @Title {@GS |.2c Daily Sequence Key Points} - /.3v + @CHeader @HTags {@GS} @HTitle {Daily Sequence Key Points} @TaggedList gap {1.1v} labelwidth {.4c} @@ -691,7 +703,7 @@ def @Sequence { @VCard { } } def @NextCard { @VCard { - {{@Xrgb cyan} @Tag R0} @Title {@GS |.2c Something} + @CHeader @HTags {@GS @VS} @HTitle {Something} @HVersion {1.x} @HTag {{@Xrgb cyan} @CTag R0} /.3v @BulletList @ListItem{@B {Something} : @@ -711,8 +723,6 @@ def @NextCard { @VCard { @Text @Begin @LLP @LLP # silence : 8.9c object too high for 0.0c space; will try elsewhere, but why ? -@Display @Roadblocks -@Display @Reserve @Display @States @Display @SupplyStates @Display @CombatTacticsGS @@ -721,13 +731,15 @@ def @NextCard { @VCard { @Display @CombatResolution @Display @CombatRetreat @Display @CombatAdvance -@Display @GameStart -@Display @AlliedActivation +@Display @Reserve +@Display @Replacement +@Display @British +@Display @Roadblocks @Display @GermanEvents @Display @AlliedEventsA @Display @AlliedEventsB -@Display @Replacement -@Display @British +@Display @AlliedActivation +@Display @GameStart @Display @Sequence # TODO -- cgit v1.1-2-g2b99