From aae0a828dd68fa2a8f25eaa8987718d09430c99d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Mon, 28 Feb 2022 23:39:22 +0100 Subject: add EnemyActionArdennes --- EnemyActionArdennes/EAA-cards.lou | 345 ++++++++++++++++++++++++++++++++++++++ EnemyActionArdennes/EAA-cards.pdf | Bin 0 -> 12516 bytes EnemyActionArdennes/Makefile | 13 ++ 3 files changed, 358 insertions(+) create mode 100644 EnemyActionArdennes/EAA-cards.lou create mode 100644 EnemyActionArdennes/EAA-cards.pdf create mode 100644 EnemyActionArdennes/Makefile diff --git a/EnemyActionArdennes/EAA-cards.lou b/EnemyActionArdennes/EAA-cards.lou new file mode 100644 index 0000000..cfc9359 --- /dev/null +++ b/EnemyActionArdennes/EAA-cards.lou @@ -0,0 +1,345 @@ +# encoding : iso-8859-1 + +@SysInclude { langdefs } +@SysInclude { bsf } +@SysInclude { dsf } +@SysInclude { docf } +@SysInclude { tbl } + +@Use { @BasicSetup + @InitialFont { Times Base 7p } + @ListOuterGap { 0.60v @OrIfPlain 1f } + @ListGap { 0.60v @OrIfPlain 1f } + @ListIndent { 0s } + @ListLabelWidth { 0.60f @OrIfPlain 5s } +} +@Use { @DocumentSetup + @PageOrientation { Landscape } + @TopMargin { 0.5c @OrIfPlain 6f } + @FootMargin { 0.5c @OrIfPlain 6f } + @OddLeftMargin { .1c @OrIfPlain 10s } + @OddRightMargin { .1c @OrIfPlain 10s } + @EvenLeftMargin { .1c @OrIfPlain 10s } + @EvenRightMargin { .1c @OrIfPlain 10s } + @ColumnNumber { 4 } + @ColumnGap { .1c @OrIfPlain 6s } +} +@Use { @OrdinarySetup } +@SysDatabase @FontDef { fontdefs } +@SysDatabase @RefStyle { refstyle } + +def @Title right x { /.1c |1c 8p @Font @B {x}} +# 65mm x 89mm +def @HCard right x { 90d @Rotate black @Colour @CurveBox 8.9c @Wide 6.5c @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 @GCol {rgb .49 .48 .51} +def @ACol {rgb .51 .56 .28} +def @VCol {rgb .3 .07 .81} + +def @VS { @VCol @Colour @Box margin {1p} paint {@VCol} white @Color 2P } +def @GS { @GCol @Colour @Box margin {1p} paint {@GCol} white @Color GS } +def @AS { @ACol @Colour @Box margin {1p} paint {@ACol} white @Color AS } +#def @Allied { @ACol @Colour @B Allied } +#def @German { @GCol @Colour @B German } +def @AlliedGS { 7p @Font @GCol @Colour @Box margin {.5p} paint {@GCol} white @Color Allied} +def @GermanGS { 7p @Font @GCol @Colour @Box margin {.5p} paint {@GCol} white @Color German} +def @Allied { Allied } +def @German { German } +def @Day right x { white @Colour @Box margin {1p} paint {@Red} white @Colour x } +def @A { white @Colour @Box margin {1p} paint {@ACol} A } +def @G { white @Colour @Box margin {1p} paint {@GCol} G } +#def @Atk { white @Colour @Box margin {1p} paint {rgb .75 .22 .17} A } +#def @Def { white @Colour @Box margin {1p} paint {rgb .15 .68 .37} D } +def @Atk { {rgb .82 .32 .1} @Colour @CurveBox margin {1p} black @Colour A } +def @Def { {rgb .16 .65 .35} @Colour @CurveBox margin {1p} black @Colour D } +def @Bracked { @B{[}{unit}@B{]} } +def @City { @I City{@Char slash}@I Town} + +def @Roadblocks { @VCard { + @Title {@GS @B Roadblocks} + /.3v + @BulletList + @ListItem{the hex is considered empty} +#@ListItem{it only @B impacts German units: + @ListItem{it has the following @B effects on @German units: + @BulletList + @ListItem{it @B blocks move{@Sym slash}advance, @I Proximity, @I Supply} + @ListItem{it @B stops adjacent move{@Sym slash}advance if @B connected to it by a @B Road} + @ListItem{adjacent @I{Strategic Move} is not allowed} + @RawEndList} + @EndList + /.2v + @BulletList + @ListItem{once per @Underline Activation, @B place a @I Roadblock on a roll @Sym lessequal @B HV + /.2v when a @German unit moves{@Sym slash}advance into a hex @B adjacent to : + @TaggedList + @TagItem{@Bullet}{an empty @I Position, in @Allied @I Supply, on a @B Road hex} + @TagItem{@Bullet}{not a @German @City or adjacent to a @German unit} + @TagItem{@Star}{if @B HV < @B 5 : not in @Allied @B ZOC} + @TagItem{@Star}{if @Day 20+ : only if @B VP} + @RawEndList} + @EndList + /.2v + @BulletList + @ListItem{@B remove a @I Roadblock when : + @BulletList + @ListItem{an @Allied unit @B enters its hex} + @ListItem{during @Underline{Supply Phase} it is @I{OutOfCom} with @German @B or @Allied} + @ListItem{during @Underline{@German Activation} it is @B adjacent to an active unit : + @TaggedList + @TagItem{@Star}{if in @I Supply or @B VP, replace it on a roll @Sym lessequal @B HV + @BulletList + @ListItem{with an @Allied reserve or then @I{OutOfContact}} + @ListItem{@B same @I division @Sym arrowdblright @I corps @Sym arrowdblright @I army as the closest @Allied unit} + @RawEndList} + @RawEndList} + @RawEndList} + @EndList + /.2v + @BulletList + @ListItem{@B {check priority} : highest @B HV @Sym arrowdblright @B westernmost} + @EndList +} } + +def @Reserve { @VCard { + @Title {@GS Allied Reserve Deployment} + /.3v + @BulletList + @ListItem{@B never in @German @City, @B never in danger of @I Surround} + @ListItem{@B @Underline {Method A} @Day 16+ @I Reserve then @Day 18+ @I OutOfContact + @BulletList + @ListItem{within the @I corps boundaries} + @ListItem{empty @I Position, in @I Supply were it occupied} + @ListItem{@I Proximate to a @German unit} + @ListItem{not in @Allied @B ZOC unless: + @BulletList + @ListItem{@B HV is @B 5+ @B or deployment fixes @I OutOfCommunication} + #@ListItem{@B or deployment fixes @I OutOfCommunication} + @RawEndList} + @RawEndList /.4v} + @ListItem{@B @Underline {Method B} @Day 18+ @I Reserve + @BulletList + @ListItem{@B first with @B{same division} unit, in @I Supply, in @I Communication} + @ListItem{@B then within the @I corps boundaries + @BulletList + @ListItem{empty @I Position, in @I Supply were it occupied} + @ListItem{within @B 3 hexes of a @Allied unit in the @B {same army}} + @ListItem{within @B 4 hexes of a @German unit} + @RawEndList} + @RawEndList /.2v} + @ListItem{@B {tie breaker} : + @BulletList + @ListItem{@B first within @B 3 hexes @B same @I division @Sym arrowdblright @I corps @Sym arrowdblright @I army} + @ListItem{@B then highest @B HV @Sym arrowdblright westernmost @Sym arrowdblright closest to @German} + @RawEndList} + @ListItem{@B @Underline {OutOfContact} : + @BulletList + @ListItem{not @I Dispersed, not @I Isolated in @I Communication and either is: + @BulletList + @ListItem{not @I Proximate and it's removal would not create a @B GAP} + @ListItem{not @I Surrounded, lowest @Char numbersign in a @B 5+ steps or @B 8+ points stack} + @RawEndList} + @RawEndList} + @EndList +} } + + +def @States { @VCard { + @Title {@GS @VS Unit States} + /.4v + @BulletList +# gap {0.4v} +# @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} +# @ListItem{if crossing an @I River, the path is limited to @B 1 hex} +# @ListItem{@I Westwall @B blocks @Allied @I Supply unless occupied} +# @RawEndList} + @ListItem{@B @Underline @Bracked : + @BulletList + @ListItem{may @B not attack on it's own} + @ListItem{does @B not add to chit draw when attacking} + @ListItem{@B {no ZOC} unless stacked, in @City, @German in @I Westwall} + @RawEndList /.6v} + @ListItem{@B @Underline Dispersed : + @TaggedList + @TagItem{@Bullet}{has @B{no ZOC}} + @TagItem{@Bullet}{may @B not move, attack, advance after combat or build an @B IP} + @TagItem{@Bullet}{may retreat @B {only 1} hex (alos applies to units stacked with it)} + @TagItem{@Star}{if all defending units are @I Dispersed : + @BulletList + @ListItem{the defender may @B not use @I CombatTactic} + @ListItem{the attacker may @B{disregard 1} attacker @B hit} + @RawEndList} + @TagItem{@Bullet}{@AlliedGS : @I Dispersed @I OutOfContact can't be taken as @I Reserve} # https://boardgamegeek.com/thread/2152674/article/31279171#31279171 + @RawEndList /.6v} + @ListItem{@B @Underline OutOfFuel : + @BulletList + # https://boardgamegeek.com/thread/1451035/article/28979783#28979783 + @ListItem{may @B not attack, move, retreat, advance, deploy from @I Reserve} + @ListItem{the attacker may @B{disregard 1} attacker @B hit} + @ListItem{@B cumulative with @I LowSupply and @I OutOfSupply} + @ListItem{do @B {not cumulate} with @I Isolated, the card is still discarded} + @RawEndList} + @EndList +} } + +def @SupplyStates { @VCard { + @Title {@GS @VS Supply States} + /.5v + @BulletList + @ListItem{@B @Underline LowSupply : + @BulletList + @ListItem{@B no @I CombatTactic may be played in that unit's support.} + @ListItem{may @B not receive @I Replacements} + @ListItem{@German : may @B not @B exit the map} + @ListItem{@AlliedGS : may @B not lead an @B attack} + @RawEndList /.4v} + @ListItem{@B @Underline OutOfSupply @I LowSupply + : + @BulletList + @ListItem{may @B not @B attack or build an @B IP} + @ListItem{if @I mechanized may move @B {only 1} hex} + @ListItem{@I OutOfSupply only : attacker @B +1 @I CombatChit, @B {disregard 1} hit} + @RawEndList /.4v} + @ListItem{@B @Underline Isolated @I OutOfSupply + : + @BulletList + @ListItem{has @B {no ZOC} (even if in @City)} + @ListItem{may @B {not exit} an enemy @B ZOC} + @ListItem{@I infantry may move or retreat @B {only 1} hex} + @ListItem{@I mechanized may @B not move or retreat} + @ListItem{may @B {not enter} enemy @City or cross enemy @I Bridge} + @ListItem{does @B not affect the placement of enemy @I Reserve unit} + @ListItem{@Allied : may @B {not enter} an empty @I Westwall hex} + @ListItem{@AlliedGS : @I Isolated @I OutOfContact can't be taken as @I Reserve.} # FIXME can't find a reference + @ListItem{@I Isolated only : attacker @B +2 @I CombatChits, @B {disregard all} hits} + @RawEndList} + @EndList +} } + +def @CombatTacticsGS { @VCard { + @Title {@GS Combat Tactics} + /.3v + @BulletList + #gap {0.3v} + @ListItem{@B Airpower @Sym slash @B Artillery : linked to @I {Combat Chit}} + @ListItem{@B @Atk @B {Assault Coordination} : inactive adjacent stacks may attack} + @ListItem{@A @Def @B {Bug Out} + @BulletList + @ListItem{@Day 16-18 odds are @Sym greaterequal 3:1 and @I HoldCheck fail : /.2v retreat @B 2 hexes, not @I Dispersed, attacker may advance} + @ListItem{@Day 19+ @B 3+ steps, not @I Surrounded : move highest @Char numbersign unit /.2v into the nearest empty in @I Supply not @I Proximate @I Position} + @RawEndList} + @ListItem{@B {Combat Engineers} @Sym slash @B Engineers : + @BulletList + @ListItem{@B attacker : @B +1 strength, remove @B IP} #, disregard @I {Combat Engineer}} + @ListItem{@B defender : place an @B IP if possible unless @I {Combat Engineer}} + @RawEndList} + @ListItem{@A @B {Corps Artillery} : like @I Artillery @B and draw a second card} + @ListItem{@G @B {Fixed Artillery} : @I Artillery within @B FAR from a @I Westwall} + @ListItem{@G @Atk @B {Inf Infiltration} : +@I Flanked (not in @City), -@B{1 hex}} + #@ListItem{@G @B {Infantry Infiltration} : attacker only, a non-City is considered @I Flanked, the attack is not considered a @B 1 hex attack} + @ListItem{@B {Panzer{@Sym slash}Tank Battalion} : @B +1 strength, + @I Armor} + @ListItem{@G @Atk @B {Press the Attack} : @B +1 @I {Combat Chit}} + @ListItem{@B {Reinforce Battle} : @B 1 stack that did not attack or move in the current @I Activation may move and participate in the combat + @BulletList + @ListItem{@B {@German defender} : strength : reinforcing @Sym lessequal defending} + @ListItem{@B @Allied : stack with lowest {@Char numbersign}, preserve @B Line, protect @B VP} + #@ListItem{@B @Allied : select the stack with lowest numbered units, preserving line and protecting VP hexes takes priority} + @RawEndList} + @ListItem{@A @Def @B Screen : max @I {Combat Chit} @B-2} + @EndList +} } + +def @CombatTacticsVS { @VCard { + @Title {@VS Combat Tactics} + /.7v + @BulletList + gap {1v} + @ListItem{@B Airpower @Sym slash @B Artillery : linked to @I {Combat Chit}} + @ListItem{@B @Atk @B {Assault Coordination} : inactive adjacent stacks may attack} + @ListItem{@A @Def @B {Bug Out} : retreat @B 2 hexes, not @I Dispersed, /.2v attacker may advance} + @ListItem{@B {Combat Engineers} @Sym slash @B Engineers : + @BulletList + @ListItem{@B attacker : @B +1 strength, remove @B IP} #, disregard @I {Combat Engineer}} + @ListItem{@B defender : place an @B IP if possible unless @I {Combat Engineer}} + @RawEndList} + @ListItem{@A @B {Corps Artillery} : like @I Artillery @B but reshuffle if not empty} + @ListItem{@G @B {Fixed Artillery} : @I Artillery within @B FAR from a @I Westwall} + @ListItem{@G @Atk @B {Inf Infiltration} : +@I Flanked (not in @City), -@B{1 hex}} + #@ListItem{@G @B {Infantry Infiltration} : attacker only, a non-City is considered @I Flanked, the attack is not considered a @B 1 hex attack} + @ListItem{@G @B {Panzer Battalion} : @B +1 strength, + @I Armor} + @ListItem{@G @Atk @B {Press the Attack} : @B +1 @I {Combat Chit}} + @ListItem{@B {Reinforce Battle} : @B 1 stack that did not attack or move in the current @I Activation may move and participate in the combat} + @ListItem{@A @Def @B Screen : max @I {Combat Chit} @B-2} + @ListItem{@A @B {Tank Battalion} : @B +1 strength, + @I Armor} + @EndList +} } + +def @Combat { @VCard { + @Title {@GS Combat Tactics @Char ampersand Chits} + #/.5v + @TaggedList + #gap {0.8v} + @TagItem{@Bullet}{@German @Atk : @Char numbersign @I Tactics {@Sym slash} Activation @B @Sym lessequal card @I CommandValue} + @TagItem{@Bullet}{@German @Def : @B 1 @I CombatTactic ... @B VDH @Atk @Char slash @Def : @Sym emptyset} + #@TagItem{@Bullet}{@German @B VDH : may not use @I CombatTactic} + @TagItem{@Star}{if @B 1+ @Allied are in in @I Supply, draw @B {1 card} : + @TaggedList + @TagItem{@Star}{@Def if card's @B{formation matches} any defending unit @B and /.2v @B {@Sym less 4} steps, in @I Communication, not in danger of @I Surround + @BulletList + @ListItem{add an @B {undetected defender} that @B matches the formation} + @ListItem{take it from @I Reserve @Sym arrowdblright @I OutOfContact @Sym arrowdblright lowest @Char numbersign} + @RawEndList} + @TagItem{@Bullet}{@Atk @Char slash @B otherwise use the @I CombatTactic if any} + @RawEndList} + @TagItem{@Bullet}{@B min @I {Combat Chit} : @Char numbersign @Def @B steps} + @TagItem{@Bullet}{@B max @I {Combat Chit} : @Char numbersign non-@Bracked @Atk @B units: + @BulletList + @ListItem{+1 for @B each @I CombatTactic played by the @Atk} + @ListItem{+1 for @B {each 3+} steps @Atk unit} + @ListItem{+1 if @B 1+ @Atk unit is @B Elite} + @ListItem{+1 if the @Def are @I OutOfSupply} + @ListItem{+2 if the @Def are @I Isolated} + @ListItem{-2 if the @Def played @I Tactic Screen} + @RawEndList} + @ListItem{@B{hit adjustments}: + @BulletList + @ListItem{@B {D-1} : @Def in @City, @B IP (remove it) or German in @I Westwall} + @ListItem{@B {A-1} : @Def are all @I Dispersed, @I OutOfSupply or @I OutOfFuel} + @ListItem{@B {A=@Sym emptyset} : @Def are all @I Isolated} + @RawEndList} + @EndList +} } + +def @NextCard { @VCard { + @Title {@GS Title} + /.3v + @BulletList + @ListItem{@B {Something} : + @BulletList + @ListItem{Start + @BulletList + @ListItem{point A} + @ListItem{point B} + @RawEndList} + @RawEndList} + @EndList +} } + +@Document +@InitialSpace { lout } +// +@Text @Begin + +@PP +@Display @Roadblocks +@Display @Reserve +@Display @States +@Display @SupplyStates +@Display @CombatTacticsGS +@Display @CombatTacticsVS +@Display @Combat +@Display @NextCard + +@End @Text diff --git a/EnemyActionArdennes/EAA-cards.pdf b/EnemyActionArdennes/EAA-cards.pdf new file mode 100644 index 0000000..0a0676a Binary files /dev/null and b/EnemyActionArdennes/EAA-cards.pdf differ diff --git a/EnemyActionArdennes/Makefile b/EnemyActionArdennes/Makefile new file mode 100644 index 0000000..24594cd --- /dev/null +++ b/EnemyActionArdennes/Makefile @@ -0,0 +1,13 @@ + +.SUFFIXES: .lou .pdf + +.lou.pdf: + lout -Z $< -o $@ + +EAA-cards.pdf: EAA-cards.lou + +build: EAA-cards.pdf + +clean: + -@ rm EAA-cards.pdf + -- cgit v1.1-2-g2b99