knitr::opts_chunk$set(
  echo = FALSE, 
  fig.width=8,
  fig.height=8
)
devtools::load_all()
library(MundusCentrum)
game <- do.call(new_game, args = jsonlite::fromJSON("anno_duo.json", simplifyVector = FALSE))
cat("# {{PLAYER}}\n\n")
print(game, .p = "{{PLAYER}}")

Turns

see the starting point

This is the state of the game at the beginning

#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

TURN 1 {#turn1}

Mundus Centrum Campaign
0.248.853.M41

++++++TRANSMITTED: MUNDUS CENTRUM
+++++++++RECEIVED: THE ROCK
+++++++++++AUTHOR: DEATHWING CAPTAIN LAZAAR
++++++++++SUBJECT: LOG OF MUNDUS CENTRUM CAMPAIGN
++++++++++THOUGHT: A MOMENT OF LAXITY SPAWNS A LIFETIME OF HERESY.


    248.853.M41: Following the leads we received from Brother Interrogator Chaplain Asmodai, we made haste to Sector Mundus Centrum. Upon translation from warp space, we were immediately set upon by one of the Great Devourer’s many tendrils. The battle in high orbit above Mundus Centrum would have delayed our landing onto the main continent for weeks had not the unheralded arrival of a large contingent of Necron tomb ships not caught the Tyranid bio-forms unawares.  Void battle was joined between the Tyranid and Necron ships, and we used this brief respite to land a small force of our brothers planet-side in the North East region of the continent (Imperial Designation: Rhun). I have accompanied my fellow marines to lead from the field, leaving Brother Aralith in command of the fleet.

    The derelict star port in South Rhun is in some disrepair, but it will suffice for our purposes as an operational command center.  Brother Techmarine Ophaniel reports that with some maintenance, we may be able to link the other abandoned star ports on the continent and reactivate the dormant orbital defense systems, allowing us to target the xenos interlopers and cleanse local space of their alien taint.

    In our descent to Rhun, augurs picked up a disturbing number of returns from other craft entering the atmosphere.  To the South, it appears the shambling Necron host has endeavored to gain a foothold in the former capital region (Imperial Designation: Gondor).  To the West, bio-forms of the insatiable Tyranids have assumedly already begun to consume and destroy one of the continent’s main agricultural regions (Imperial Designation: Eriador).

    The presence of these xenos armies will surely slow the hunt for our quarry, but we will persevere undeterred.  For the Emperor.  For the Lion.

moves

game <- game %>%
  modify_unit("big_grizz", 1,   "move",  c("D3", "C2")) %>%
  modify_unit("big_grizz", c(2, 7, 17, 18),   "control",  "D4") %>%
  modify_unit("big_grizz", c(3, 5:6, 13, 22),   "soar",  c("F5S", "H2S", "H2")) %>% # transport
  modify_unit("big_grizz", c(8, 23),   "move",  c("D3", "C4", "C5")) %>% # transport
  modify_unit("big_grizz", 9,   "move",  "F5") %>%
  modify_unit("big_grizz", c(10:12, 16),   "move",  c("D2", "D1")) %>%
  modify_unit("big_grizz", c(14:15, 19:21),   "move",  "F5") %>%
  modify_unit("eric",      c(1:6, 13:14, 8:11),   "move",  "E7") %>%
  modify_unit("eric",      7,     "control","G7") %>%
  modify_unit("eric",      12,     "move", c("E7", "E5")) %>%
  modify_unit("eric",      15:18,   "soar", c("G8S", "G10S", "I1S", "I3S")) %>% # transport IS THIS LEGAL? do you need to use a move to land?
  modify_unit("eric",      19,   "move","G6") %>%
  modify_unit("eric",      20,   "move", c("E7", "E6")) %>%
  modify_unit("eric",      21,   "move", c("E7", "E4")) %>% 
  modify_unit("eric",      c(22:24, 26),   "soar", c("G8S", "H3S", "H3")) %>% # transport 
  modify_unit("eric",      25,   "move","G8") %>%
  modify_unit("eric",      27,   "move", c("E7", "F4")) %>%
  modify_unit("eric",      28,   "move", c("E7", "F8")) %>% # cool example here of if you got waylaid in E7 you would have strength together
  modify_unit("chris",     c(6, 13),  "move","A2") %>%
  modify_unit("chris",     c(5, 7, 8, 12, 23),  "move","A3") %>%
  modify_unit("chris",     1,  "move","A4") %>%
  modify_unit("chris",     c(10, 14, 24),  "move","A6") %>%
  modify_unit("chris",     c(3, 9, 17, 18, 22),  "move","A7") %>%
  modify_unit("chris",     2,  "move", c("A6", "A8")) %>%
  modify_unit("chris",     19,  "move",c("B7", "B10")) %>%
  modify_unit("chris",     21,  "move", c("B9", "B11")) %>%
  modify_unit("chris",     c(4, 15),  "move","B7") %>%
  modify_unit("chris",     20,  "move", c("A7", "E1")) %>%
  modify_unit("chris",     c(11, 16, 25),  "control","A5") %>%
  reconcile_player_orders()

Attempt to reconcile moves.

#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

TURN 2 {#turn2}

    249.853.M41: Controlling actions are underway.  We are casting our nets wide.  Capture is only a matter of time.

    Brother Techmarine Myrdean reports that a moderate warband of Necrons has landed nearby his position in the South (Imperial Designation: Mordor). He expects conflict within 15 hours.

moves

game <- game %>%
  modify_unit("big_grizz", 1,   "move",  c("C1", "B4")) %>%
  modify_unit("big_grizz", 7,   "move",  "D2") %>%
  modify_unit("big_grizz", 6,   "move",  "H5") %>%
  modify_unit("big_grizz", c(3, 5, 13, 22),   "control",  "H2") %>%
  modify_unit("big_grizz", c(8, 23),   "control",  "C5") %>%
  modify_unit("big_grizz", 9,   "control",  "F5") %>%
  modify_unit("big_grizz", c(10:12, 16),   "move",  c("B1", "B4")) %>%
  modify_unit("big_grizz", c(14:15, 19:21),   "move",  "C5") %>%
  modify_unit("eric",      c(1:6, 13:14, 8:11),   "move",  "E5") %>%
  modify_unit("eric",      7,     "move","E7") %>%
  modify_unit("eric",      12,     "move", c("F3", "F2")) %>%
  modify_unit("eric",      c(15, 16,18),     "move","I4") %>%
  modify_unit("eric",      17,   "control","I3") %>%
  modify_unit("eric",      19,   "control","G6") %>%
  modify_unit("eric",      20,   "move", c("E4", "E3")) %>%
  modify_unit("eric",      21,   "move", c("E1", "A8")) %>%
  modify_unit("eric",      c(22:24, 26),   "move","H2") %>%
  modify_unit("eric",      25,   "control","G8") %>%
  modify_unit("eric",      27,   "move", c("F7", "F5")) %>%
  modify_unit("eric",      28,   "move", c("H1", "H3")) %>%
  modify_unit("chris",     c(6),  "move","A4") %>%
  modify_unit("chris",     c(13),  "control","A2") %>%
  modify_unit("chris",     c(5, 12, 23),  "move","B2") %>%
  modify_unit("chris",     c(7, 8),  "control","A3") %>%
  modify_unit("chris",     1,  "move", c("A6", "A8")) %>%
  modify_unit("chris",     c(14),  "control","A6") %>%
  modify_unit("chris",     c(10, 24),  "move","A8") %>%
  modify_unit("chris",     c(3,17, 18, 22),  "move","B9") %>%
  modify_unit("chris",     c(9),  "control","A7") %>%
  modify_unit("chris",     2,  "move", "E1") %>%
  modify_unit("chris",     19,  "move", c("B11", "E1")) %>%
  modify_unit("chris",     21,  "move","B6") %>%
  modify_unit("chris",     4,  "move","B8") %>%
  modify_unit("chris",     15,  "move","B9") %>%
  modify_unit("chris",     20,  "move", c("B11", "E2")) %>%
  modify_unit("chris",     11,  "move","B7") %>%
  modify_unit("chris",     c(16, 25),  "control","A5") %>%
  reconcile_player_orders()

Attempt to reconcile moves.

#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

# retreats
game <- game %>%
  modify_unit("eric", "F5",   "move","F8") %>%
  kill_unit("eric", 21) %>%
  modify_unit("eric", "H2",   "move","H3") %>%
  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

TURN 3 {#turn3}

250.853.M41: Brother Techmarine Myrdean has successfully repelled a Necron attack to his position at the star port Barad-Dur. The Storm Raven Barador was invaluable in this defense, but Myrdean fears the Necrons are merely testing our strength and resolve before mounting larger attacks. Defensive infrastructure must be built quickly to solidify our grip in Mordor.

    Squad Galizur was also met with some resistance in the expansive territory of the Brown Lands.  A small and meddlesome force of scarabs tried, unsuccessfully, to halt Galizur’s progress in bringing the territory under our control.  Such small storms can be easily weathered.  I am concerned the coming tempest may prove otherwise. The Emperor Protects. 

moves

game <- game %>%
  modify_unit("big_grizz", c(1, 10, 11, 12, 16),   "move",  c("B1", "B3")) %>%
  modify_unit("big_grizz", 7,   "control",  "D2") %>%
  modify_unit("big_grizz", 6,   "control",  "H5") %>%
  modify_unit("big_grizz", c(3, 5, 13, 22),   "move",  "H3") %>%
  modify_unit("big_grizz", c(8, 20, 21, 23),   "move",  "C3") %>%
  modify_unit("big_grizz", 9,   "sneak",  "C4") %>%
  modify_unit("big_grizz", c(4, 15, 19),   "sneak",  "C3") %>%
  modify_unit("big_grizz", 14,   "reinforce",  "C5") %>%

  modify_unit("eric", 1, "move",    "F3") %>%
  modify_unit("eric", 2, "move",    "F3") %>%
  modify_unit("eric", 3, "move",    "F4") %>%
  modify_unit("eric", 4, "move",    "F3") %>%
  modify_unit("eric", 5, "move",    "F3") %>%
  modify_unit("eric", 6, "move",    "F3") %>%
  modify_unit("eric", 7, "move",    "E5") %>%
  modify_unit("eric", 8, "move",    "F4") %>%
  modify_unit("eric", 9, "move",    "F3") %>%
  modify_unit("eric", 10, "move",   "F4") %>%
  modify_unit("eric", 11, "move",   "F3") %>%
  modify_unit("eric", 12, "move",   c("C3", "F7")) %>%
  modify_unit("eric", 13, "move",   "F3") %>%
  modify_unit("eric", 14, "sneak",  "E5") %>%
  modify_unit("eric", 15, "move",   "I5") %>%
  modify_unit("eric", 16, "move",   "I5") %>%
  modify_unit("eric", 17, "move",   "I4") %>%
  modify_unit("eric", 18, "control",    "I4") %>%
  modify_unit("eric", 19, "move",   "G9") %>%
  modify_unit("eric", 20, "move",   "E4") %>%
  modify_unit("eric", 21, "rejoin", "G7") %>%
  modify_unit("eric", 22, "move",   "H5") %>%
  modify_unit("eric", 23, "move",   "H5") %>%
  modify_unit("eric", 24, "move",   "H5") %>%
  modify_unit("eric", 25, "move",   "G10") %>%
  modify_unit("eric", 26, "move",   "H5") %>%
  modify_unit("eric", 27, "move",   "F7") %>%
  modify_unit("eric", 28, "reinforce",  "H3") %>%

  modify_unit("chris", c(20), "defend", "E2") %>%
  modify_unit("chris", c(5, 23), "defend", "B2") %>%
  modify_unit("chris", c(16, 25), "defend", "A5") %>%
  modify_unit("chris", 3, "sneak", "B11") %>%
  modify_unit("chris", c(1,17,18) , "move", "B11") %>%
  modify_unit("chris", 2, "move", "E2") %>%
  modify_unit("chris", c(4) , "sneak", "B2") %>%
  modify_unit("chris", c(7) , "move", "B2") %>%
  modify_unit("chris", 6, "move", "A1") %>%
  modify_unit("chris", 8, "move", "B5") %>%
  modify_unit("chris", 9, "sneak", "B9") %>%
  modify_unit("chris", c(10) , "sneak", "E1") %>%
  modify_unit("chris", c(24) , "move", "E1") %>%
  modify_unit("chris", 11, "control", "B7") %>%
  modify_unit("chris", 12, "control", "B2") %>%
  modify_unit("chris", 13, "move", "A4") %>%
  modify_unit("chris", 14, "move", "A8") %>%
  modify_unit("chris", 15, "control", "B9") %>%
  modify_unit("chris", 19, "move", "E3") %>%
  modify_unit("chris", 21, "move", "B3") %>%
  modify_unit("chris", 22, "move", "B7") %>%
  add_bridge("A8", "E1") %>% # chris

  reconcile_player_orders()

Attempt to reconcile moves.

#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

# retreats
game <- game %>%
  modify_unit("chris",     "B3",  "move","B2") %>%
  modify_unit("eric", "C3",   "move",  "F3") %>%
  modify_unit("eric", "H5",   "move",  "H4") %>%
  modify_unit("eric", "H3",   "move",  "H1") %>%
  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

Discussion Notes

TURN 4 {#turn4}

251.853.M41: Ravenwing Talonmaster Castiel has demonstrated unparalleled prowess as a hunter of the Second Company.  I have inducted him further into the ranks of the Inner Circle, and expect his name will be well-remembered in the halls of The Rock.  While scouting the northern reaches of Angmar, Castiel came upon a swarm of winged creatures (Imperial Designation: Gargoyles). Unfortunately, the vermin escaped before they could be properly put to the sword.  It seems the voracious appetite of the Great Devourer knows some bounds after all.

Our forces in the densely forested region (Imperial Designation: Mirkwood) came across another small, scouting contingent of Necron scarabs.  Negligible resistance met.  Similarly, Brother Techmarine Myrdean came into contact with constructs of the same variety in the southern territory of Mount Doom.  While dealing with these insectoid nuisances is a trivial matter, the broader goal of the Necrons remains a mystery, and is therefore disquieting. 

The retreat of the Necrons from Myrdean’s wrath in yesterday’s battle for Barad-Dur was an apparent feint.  All available intelligence led Myrdean to believe this small band had fled due-East from his location, and he gave chase only to find the aforementioned scarabs. The true destination of the Necrons was later discovered to be the territory of Gorgoroth, where Squad Naamand was caught in the open as they were setting up the defenses.  Emperor be praised, Naamand was able to signal us in the South Rhun star port before his squad could be overrun.  Brothers Abathar and Apharan of the Deathwing accompanied me with their squads to the front, and we were only just able to stem that tide of living metal from rising over Gorgoroth.

We are undaunted, and we know no fear!

moves

game <- game %>%

  modify_unit("big_grizz", c(1, 10, 11, 12, 16),   "move",  c("B1", "B4")) %>%
  modify_unit("big_grizz", 7,   "move",  "D1") %>%
  modify_unit("big_grizz", 6,   "move",  "H6") %>%
  modify_unit("big_grizz", 5,   "control",  "H3") %>%
  modify_unit("big_grizz", c(3, 13, 22),   "move",  c("H3", "H4")) %>%
  modify_unit("big_grizz", c(8, 23),   "control",  "C3") %>%
  modify_unit("big_grizz", 21,   "move",  "F2") %>%
  modify_unit("big_grizz", 9,   "control",  "C4") %>%
  modify_unit("big_grizz", c(4, 15, 19, 20),   "sneak",  "F2") %>%
  modify_unit("big_grizz", 14,   "reinforce",  "C5") %>%
  modify_unit("big_grizz", 2,   "move",  "H2") %>%
  modify_unit("big_grizz", c(17, 18),   "move",  "H4") %>%

  modify_unit("eric",  1,  "move",          "E5") %>%
  modify_unit("eric",  2,  "move",          "E5") %>%
  modify_unit("eric",  3,  "move",          "E5") %>%
  modify_unit("eric",  4,  "move",          "E5") %>%
  modify_unit("eric",  5,  "move",          "E5") %>%
  modify_unit("eric",  6,  "move",          "E5") %>%
  modify_unit("eric",  7,  "control",       "E5") %>%
  modify_unit("eric",  8,  "move",          "E5") %>%
  modify_unit("eric",  9,  "move",          "E5") %>%
  modify_unit("eric",  10,  "move",         "E5") %>%
  modify_unit("eric",  11,  "move",         "E5") %>%
  modify_unit("eric",  12,  "move",         "E5") %>%
  modify_unit("eric",  13,  "move",         "E5") %>%
  modify_unit("eric",  14,  "move",         "E5") %>%
  modify_unit("eric",  15,  "soar",        c("I5S", "H6S", "H6")) %>%
  modify_unit("eric",  16,  "soar",        c("I5S", "H6S", "H6")) %>%
  modify_unit("eric",  17,  "soar",        c("I4S", "H6S", "H6")) %>%
  modify_unit("eric",  18,  "soar",        c("I4S", "H6S", "H6")) %>%
  modify_unit("eric",  19,  "control",      "G9") %>%
  modify_unit("eric",  20,  "reinforce",    "E4") %>%
  modify_unit("eric",  21,  "move",         c("G8", "H4")) %>%
  modify_unit("eric",  22,  "reinforce",    "H4") %>%
  modify_unit("eric",  23,  "reinforce",    "H4") %>%
  modify_unit("eric",  24,  "reinforce",    "H4") %>%
  modify_unit("eric",  25,  "control",      "G10") %>%
  modify_unit("eric",  26,  "control",      "H4") %>%
  modify_unit("eric",  27,  "reinforce",    "F7") %>%
  modify_unit("eric",  28,  "reinforce",    "H1") %>%

  modify_unit("chris", c(2, 4, 16, 19, 20, 21, 23, 25), "reinforce") %>%  
  modify_unit("chris", c(1),  "move", c("B8", "B2")) %>%
  modify_unit("chris", c(3),  "sneak", "E1") %>%
  modify_unit("chris", c(5),  "move", "B1") %>%
  modify_unit("chris", c(6),  "control", "A1") %>%
  modify_unit("chris", c(7),  "move", "B6") %>%
  modify_unit("chris", c(8),  "control", "B5") %>%
  modify_unit("chris", c(9),  "sneak", "B10") %>%
  modify_unit("chris", c(10), "control", "E1") %>%
  modify_unit("chris", c(11), "move", "B8") %>%
  modify_unit("chris", c(12), "move", "B1") %>%
  modify_unit("chris", c(13), "control", "A4") %>%
  modify_unit("chris", c(14), "control", "A8") %>%
  modify_unit("chris", c(15), "move", "B11") %>%
  modify_unit("chris", c(17), "move", "E2") %>%
  modify_unit("chris", c(18), "move", "E2") %>%
  modify_unit("chris", c(22), "move", "B2") %>%
  modify_unit("chris", c(24), "move", "E3") %>%

  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

# retreats
game <- game %>%
  modify_unit("chris",     "B1",  "move","B2") %>%
  modify_unit("chris",     c(25, 16),  "move","B2") %>%
  modify_unit("big_grizz", c(3, 6, 13, 17, 18, 22),   "move",  "H5") %>%
  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

TURN 5 {#turn5}

252.853.M41: Ravenwing Talonmaster Castiel encountered stiff resistance in the far northern territory of Forodwaith.  He and his accompanying Ravenwing brothers were set upon by wave after wave of Tyranid bio-forms.  The battle was going in their favor until a massive, tentacled spore plummeted from the sky, straight into the heart of the fight.  This new monstrosity would have been difficult enough to deal with on its own, but it came carrying terrible passengers!  Spilling forth from the abomination’s mucus-covered orifices, the large bio-forms (Imperial Designation: Hive Guard) opened fire, and turned the tide of battle against the Ravenwing.  Castiel and his brothers narrowly escaped, but he assures me that they remain combat-ready.

Brother Techmarine Myrdean led a daring assault into the mountain passes of Minas Morgul.  Unfortunately, the Necron host my Deathwing brothers and I had forced to flee the fields of Gorgoroth quickly set up defenses, and ambushed Myrdean in his ascent to meet them.  Repelled from Minas Morgul, our Techmarine has withdrawn back to Gorgoroth to reassess the tactical situation and plan his next attack.  Meanwhile, word has come from Brother Naamand in Nurn that yet another Necron craft has entered his airspace.  Truly, the arrogance of these “undying” legions is staggering.

Every day brings more clues as to the whereabouts of our quarry, and while significantly slowed by antagonistic, xenos elements in the field, our command of this continent’s star ports is all but assured within the month.

Success is measured in blood; yours or your enemy’s.

moves

game <- game %>%

  modify_unit("big_grizz", c(1, 10, 11, 12, 16),   "move",  c("C1", "B6")) %>%
  modify_unit("big_grizz", 7,   "control",  "D1") %>%
  modify_unit("big_grizz", 6,   "control",  "H6") %>%
  modify_unit("big_grizz", 5,   "move",  "H1") %>%
  modify_unit("big_grizz", c(3, 13, 17, 18, 22),   "move",  c("H6")) %>%
  modify_unit("big_grizz", c(8, 23),   "move",  c("F2", "F1")) %>%
  modify_unit("big_grizz", 21,   "move",  "F1") %>%
  modify_unit("big_grizz", 9,   "move",  "C2") %>%
  modify_unit("big_grizz", c(4, 15, 19, 20),   "sneak",  "F1") %>%
  modify_unit("big_grizz", 14,   "move",  "F7") %>%
  modify_unit("big_grizz", 2,   "reinforce",  "H2") %>%
  add_trap("big_grizz", "H5") %>%

  modify_unit("eric", 1, "move",  "F3") %>%
  modify_unit("eric", 2, "move",  "F3") %>%
  modify_unit("eric", 3, "move",  "F3") %>%
  modify_unit("eric", 4, "move",  "F3") %>%
  modify_unit("eric", 5, "move",  "F3") %>%
  modify_unit("eric", 6, "move",  "F3") %>%
  modify_unit("eric", 7, "move",  "E7") %>%
  modify_unit("eric", 8, "move",  "F3") %>%
  modify_unit("eric", 9, "move",  "F3") %>%
  modify_unit("eric", 10, "move",  "F3") %>%
  modify_unit("eric", 11, "move",  "F3") %>%
  modify_unit("eric", 12, "move",  "F3") %>%
  modify_unit("eric", 13, "move",  "F3") %>%
  modify_unit("eric", 14, "move",  "H5") %>%
  modify_unit("eric", 15, "descend",  "H5") %>%
  modify_unit("eric", 16, "move",  "H5") %>%
  modify_unit("eric", 17, "move",  "H5") %>%
  modify_unit("eric", 18, "move",  "H5") %>%
  modify_unit("eric", 19, "move",  "G5") %>%
  modify_unit("eric", 20, "defend",  "E4") %>%
  modify_unit("eric", 21, "regenerate",  "G7") %>%
  modify_unit("eric", 22, "move",  "H5") %>%
  modify_unit("eric", 23, "move",  "H5") %>%
  modify_unit("eric", 24, "move",  "H5") %>%
  modify_unit("eric", 25, "move",  "I1") %>%
  modify_unit("eric", 26, "move",  "H5") %>%
  modify_unit("eric", 27, "defend",  "F7") %>%
  modify_unit("eric", 28, "defend",  "H1") %>%
  destroy_bridge("E4", "E7") %>% # eric
  add_trap("eric", "E4") %>%

  modify_unit("chris", c(2, 17, 18), "move", "F1") %>%  
  modify_unit("chris", c(1,12,23),  "move", c("B1")) %>%
  modify_unit("chris", c(3, 10, 24),  "move", c("E4")) %>%
  modify_unit("chris", c(4, 22),  "move", c("B6")) %>%
  modify_unit("chris", c(5 , 16, 25),  "move", c("B5")) %>%
  modify_unit("chris", 6, "move", "A4") %>%
  modify_unit("chris", 7, "control", "B6") %>%
  modify_unit("chris", 8, "move", "B2") %>%
  modify_unit("chris", 9, "control", "B10") %>%
  modify_unit("chris", 11, "control", "B8") %>%
  modify_unit("chris", 13,  "move", "A5") %>%
  modify_unit("chris", 14, "move", "E1") %>%
  modify_unit("chris", 15, "control", "B11") %>%
  modify_unit("chris", 19, "move", c("E2", "F1")) %>%
  modify_unit("chris", 20, "reinforce") %>%
  modify_unit("chris", 21, "move", "B3") %>%


  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

# retreats
game <- game %>%
  kill_unit("chris", 24) %>%
  modify_unit("chris", "F1", "move",  "E2") %>%
  modify_unit("chris", "B6", "move",  "B2") %>%
  modify_unit("eric", 28, "move",  "F8") %>%
  modify_unit("eric", 27, "move",  "F3") %>%
  modify_unit("eric", 20, "move",  "E5") %>%
  destroy_trap("big_grizz", "H5") %>%
  destroy_trap("eric", "E4") %>%

  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

Discussion Notes

TURN 6 {#turn6}

253.853.M41: Our grim resolve has not gone unrewarded!  Intelligence on the presence of Fallen on Mundus Centrum has proven valid and actionable. Thanks to the investigatory measures of our forces in the field, it is believed by my brothers of the Inner Circle that a captain of our ancient enemy is behind many of the xenos machinations on the continent.  Every action we take is removing options for his escape, and I am certain that his capture is imminent.

Brother Epistolary Larathiel informs me that with the capture of space port Moria, he can begin to set up suitable chambers for interrogation.  This space port, located in the continent’s largest mountain range, has many deep passages and hidden chambers, not unlike The Rock.  Larathiel assures me that Moria provides an ideal location for offering deliverance.

Possession of Moria was hard-won, though.  Psychic abominations of the Tyranid host were also drawn to the strategic location, and had it not been for our phobos-bedecked brethren catching them off-guard, the fight for the space port could have easily gone the other way.  The Emperor truly does protect, and we are his wrath made manifest.

Castiel continues his pressure campaign in the North to great success, beating back tyranid bio-forms along the mountain ranges.  His quick strike and withdrawal doctrines of war are well-suited for the terrain. 

To the South, only small confrontations to report as scarab constructs flee before the might of Honorable Brother Seraphus and squad Kazaral.  I fear, though, that our resiliency in Mordor has not yet truly been tested.  Traps were set in Gorgoroth to slow the Necron advance on my position in the Barad-Dur star port, but they seem to have done little to disabuse the soulless shamblers of their conquest-driven notions.  Without a doubt, the siege on Barad-Dur will commence within the next eight hours.  Let them come.

Only in death does duty end. 

moves

game <- game %>%

  modify_unit("big_grizz", c(1, 10, 11, 12, 16),   "move",  c("E2", "F1")) %>%
  modify_unit("big_grizz", 7,   "move",  "D3") %>%
  modify_unit("big_grizz", c(17),   "move",  "H5") %>%
  modify_unit("big_grizz", c(6),   "move",  "I4") %>% # how was this a legal move (H6 -> I4, over mountains)?
  modify_unit("big_grizz", 5,   "control",  "H1") %>%
  modify_unit("big_grizz", c(3, 13, 18, 22),   "move",  c("H5", "H2")) %>%
  modify_unit("big_grizz", c(8),   "control",  c("F1")) %>%
  modify_unit("big_grizz", c(21, 23) ,  "reinforce",  "F1") %>%
  modify_unit("big_grizz", 9,   "control",  "C2") %>%
  modify_unit("big_grizz", c(4, 15, 19, 20),   "reinforce",  "F1") %>%
  modify_unit("big_grizz", 14,   "move",  "F4") %>%
  modify_unit("big_grizz", 2,   "reinforce",  "H2") %>%
  add_trap("big_grizz", "H5") %>%

  modify_unit('eric', '1', 'move', 'F2') %>%
  modify_unit('eric', '2', 'move', 'F2') %>%
  modify_unit('eric', '3', 'move', 'F2') %>%
  modify_unit('eric', '4', 'move', 'F2') %>%
  modify_unit('eric', '5', 'move', 'F2') %>%
  modify_unit('eric', '6', 'move', 'F2') %>%
  modify_unit('eric', '7', 'control', 'E7') %>%
  modify_unit('eric', '8', 'move', 'F2') %>%
  modify_unit('eric', '9', 'move', 'F2') %>%
  modify_unit('eric', '10', 'move', 'F2') %>%
  modify_unit('eric', '11', 'move', 'F2') %>%
  modify_unit('eric', '12', 'move', 'F2') %>%
  modify_unit('eric', '13', 'move', 'F2') %>%
  modify_unit('eric', '14', 'move', 'H2') %>%
  modify_unit('eric', '15', 'move', 'H2') %>%
  modify_unit('eric', '16', 'move', 'H2') %>%
  modify_unit('eric', '17', 'move', 'H2') %>%
  modify_unit('eric', '18', 'move', 'H2') %>%
  modify_unit('eric', '19', 'control', 'G5') %>%
  modify_unit('eric', '20', 'defend', 'E5') %>%
  modify_unit('eric', '21', 'move', 'H4') %>%
  modify_unit('eric', '22', 'move', 'H2') %>%
  modify_unit('eric', '23', 'move', 'H2') %>%
  modify_unit('eric', '24', 'move', 'H2') %>%
  modify_unit('eric', '25', 'control', 'I1') %>%
  modify_unit('eric', '26', 'move', 'H2') %>%
  modify_unit('eric', '27', 'defend', 'F3') %>%
  modify_unit('eric', '28', 'defend', 'F8') %>%

  add_bridge("B2", "B6") %>% # chris
  modify_unit('chris', c(1, 12), "move", "B4") %>%
  modify_unit('chris', c(2,17,19,20), "reinforce", "E2") %>%
  modify_unit('chris', c(4, 11, 22), "move", "B6") %>%
  modify_unit('chris', c(5, 16, 25), "reinforce", "B5") %>%
  modify_unit('chris', c(14,24), "move", "E3" ) %>%
  modify_unit('chris', 3,"reinforce",  "E4") %>% 
  modify_unit('chris', 6,"move",  "A2") %>% 
  modify_unit('chris', 7,"move",  "B3") %>% 
  modify_unit('chris', 8,"move",  "B1") %>% 
  modify_unit('chris', 9,"move",  "B11") %>% 
  modify_unit('chris', 10,"control", "E4") %>% 
  modify_unit('chris', 13,"reinforce", "A5") %>% 
  modify_unit('chris', 15,"move",  "B8") %>% 
  modify_unit('chris', 18,"move",  "B2") %>% 
  modify_unit('chris', 21,"move",  c("B1", "B4")) %>%
  modify_unit('chris', 23,"defend",  "B1") %>% 

  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

# retreats
game <- game %>%
  modify_unit("big_grizz", c(3, 13, 17, 18, 22),   "move",  "H5") %>%
  modify_unit("big_grizz", 2,   "move",  "H3") %>%
  modify_unit("big_grizz", c(1, 4, 8, 10, 11, 12, 15, 16, 19, 20, 21, 23), "move",  "F1") %>%
  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

TURN 7 {#turn7}

254.853.M41: I bring fell tidings.  We were met with conflict on two fronts today, and the fates did not see fit to grace us with victory.  The greatness of our failures in the field may only be matched by the rage in my hearts, which burns hotter than the fires of a Nocturne caldera.  We must be vigilant and strong.  The Emperor knows what evil lurks in the vacillation of the weak.  We will cleanse ourselves in the blood of our enemies.

On the northern front, Talonmaster Castiel and his brothers of the Ravenwing made haste to help fortify the Epistolary Larathiel’s position in Moria.  Not only will the 2nd company’s method of war be useful in what portends to be a protracted siege, but our Fallen quarry had also left sign of his passing within those deep, stygian chasms. Ever on the hunt, the Ravenwing wished to investigate the area further. 

Upon approach to Moria, through the sparse ruins and thorny trees of Eregion, Brother Nithael spotted our prey as he fled from Larathiel’s occupying forces out of the star port’s West-gate.  Caught in the open, the betrayer turned South and made to escape by covering his retreat with the growing Tyranid presence in the territory.  Castiel and his brothers gave chase, and were all but upon the malefactor when they lost sight of him over one of the many rises in that region of hillocks.  When they reached the ridge, woe and bafflement befell them in equal measure at what their eyes did see in the shallow valley below!

There was the Fallen captain, walking unhurriedly through what seemed to be thousands of chittering, yet becalmed, Tyranid gargoyles.  Whether through some warp-spawned sorcery, or by use of an unknown and powerful artifact, the traitor was able to walk among the Tyranid bio-forms as though invisible to their many, hungry eyes.  Unfortunately for our Ravenwing brothers, the roar of their engines alerted the larger beasts of the swarm to their arrival, and battle was joined before more suitable conditions for the conflict could be attained.

Within seconds, the largest of the beasts (Imperial Designation: Hive Tyrant) was ripping into the ranks of Nithael’s bike squad, all of whom quickly succumbed to the monstrosity’s wicked attentions. With that, the tone for the battle was set, and even the quick sortie of Larathiel’s forces from Moria could not adequately change the momentum of those opening, xenos attacks.  A hasty retreat back into the star port was the only option.  Both Nithael’s squad and Castiel himself were injured to the point of death, but I have been assured that all available resources are being spared to bring them back from the brink.

To the South, we faired little better.  The Necron host was somehow able to avoid most of the traps we laid in the marshy fields of Gorgoroth, and came in force to the gates of Barad-Dur star port.  Screaming through the skies to our defense was Brother Techmarine Myrdean, with Apharan’s Deathwing Knights and Honorable Brother Helah, all loaded within the Storm Raven. Though we had the upper-hand in our defensible position, with so few of us to man the ramparts, it was only a matter of time before that soulless, mechanical tide would rise over our walls.  The Storm Raven was critically damaged in the opening volleys, leaving the eight of us on the ground to bring the Emperor’s mercy to the xenos scum.

To a man, we fought without fear of death.  To a man, we fell before the unnumbered constructs.

The Fallen fugitive has escaped capture.  Barad-Dur is in the hands of the filthy, Necron abominations.  This day will live in infamy within the halls of The Rock for years to come.  We are beaten today, but unbroken.  May the Emperor and the Lion guide us.  The Unforgiven cry out for blood, and there is never enough.

moves

game <- game %>%

  modify_unit("big_grizz", c(1, 4, 8, 10, 11, 12, 15, 16, 19, 20, 21, 23),   "defend",  c("F1")) %>%
  modify_unit("big_grizz", 7,   "control",  "D3") %>%
  modify_unit("big_grizz", c(6),   "control",  "I4") %>%
  modify_unit("big_grizz", 5,   "move",  "F8") %>%
  modify_unit("big_grizz", c(2, 3, 13, 17, 18, 22),   "move",  c("H2")) %>%
  modify_unit("big_grizz", 9,   "sneak",  "C1") %>%
  modify_unit("big_grizz", 14,   "move",  "F3") %>%
  add_trap("big_grizz", "H5") %>%
  add_trap("big_grizz", "F1") %>%

  modify_unit('eric', '1', 'move', 'F1') %>%
  modify_unit('eric', '2', 'move', 'F1') %>%
  modify_unit('eric', '3', 'move', 'F1') %>%
  modify_unit('eric', '4', 'move', 'F1') %>%
  modify_unit('eric', '5', 'move', 'F1') %>%
  modify_unit('eric', '6', 'move', 'F1') %>%
  modify_unit('eric', '7', 'move', 'F4') %>%
  modify_unit('eric', '8', 'move', 'F1') %>%
  modify_unit('eric', '9', 'move', 'F1') %>%
  modify_unit('eric', '10', 'move', 'F1') %>%
  modify_unit('eric', '11', 'move', 'F1') %>%
  modify_unit('eric', '12', 'move', 'F1') %>%
  modify_unit('eric', '13', 'move', 'F1') %>%
  modify_unit('eric', '14', 'defend', 'H2') %>%
  modify_unit('eric', '15', 'transport', c('H2S', 'I5S')) %>%
  modify_unit('eric', '16', 'transport', c('H2S', 'I5S')) %>%
  modify_unit('eric', '17', 'defend', 'H2') %>%
  modify_unit('eric', '18', 'defend', 'H2') %>%
  modify_unit('eric', '19', 'move', 'G4') %>%
  modify_unit('eric', '20', 'defend', 'E5') %>%
  modify_unit('eric', '21', 'defend', 'H4') %>%
  modify_unit('eric', '22', 'defend', 'H2') %>%
  modify_unit('eric', '23', 'defend', 'H2') %>%
  modify_unit('eric', '24', 'defend', 'H2') %>%
  modify_unit('eric', '25', 'move', 'I3') %>%
  modify_unit('eric', '26', 'control', 'H2') %>%
  modify_unit('eric', '27', 'defend', 'F3') %>%
  modify_unit('eric', '28', 'defend', 'F8') %>%

  add_bridge("B11", "E2") %>% # chris -2 RP
  modify_unit("chris", c(1, 21),  "move", c("B1", "D2")) %>%
  modify_unit("chris", c(2, 16, 17, 19, 20, 25), "move", "F1") %>%
  modify_unit("chris", c(3, 10),  "move", "E3") %>%
  modify_unit("chris", c(4, 9, 22, 24),  "move", "E2") %>%
  modify_unit("chris", 5,  "defend", "B5") %>%
  modify_unit("chris", 6,  "move", "B2") %>%
  modify_unit("chris", 7,  "control", "B3") %>%
  modify_unit("chris", 8,  "control", "B1") %>%
  modify_unit("chris", 11,  "control", "B6") %>%
  modify_unit("chris", 12,  "control", "B4") %>%
  modify_unit("chris", 13,  "control", "E2") %>%
  modify_unit("chris", 14,  "control", "E3") %>%
  modify_unit("chris", 15,  "move", "B7") %>%
  modify_unit("chris", 18,  "move", "B6") %>%
  modify_unit("chris", 23,  "move", "D2") %>%

  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

game <- game %>%

  modify_unit("big_grizz", c(3, 13, 17, 18, 22),   "retreat",  "H5") %>%
  modify_unit("big_grizz", 2,   "retreat",  "H3") %>%

  modify_unit('eric', '1', 'retreat', 'F2') %>%
  modify_unit('eric', '2', 'retreat', 'F2') %>%
  modify_unit('eric', '3', 'retreat', 'F2') %>%
  modify_unit('eric', '4', 'retreat', 'F2') %>%
  modify_unit('eric', '5', 'retreat', 'F2') %>%
  modify_unit('eric', '6', 'retreat', 'F2') %>%
  modify_unit('eric', '7', 'retreat', 'F2') %>%
  modify_unit('eric', '8', 'retreat', 'F2') %>%
  kill_unit('eric', '9') %>%
  modify_unit('eric', '10', 'retreat', 'F2') %>%
  modify_unit('eric', '11', 'retreat', 'F2') %>%
  modify_unit('eric', '12', 'retreat', 'F2') %>%
  modify_unit('eric', '13', 'retreat', 'F2') %>%
  modify_unit('eric', '27', 'retreat', 'F2') %>%
  modify_unit('eric', '28', 'retreat', 'F4') %>%

  modify_unit("chris", c(2, 16, 17, 19, 20, 25), "retreat", "E2") %>%

  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

Discussion Notes

My next big task is to encode legal movements, and the first step of that is to get a complete set of what the possible actions are. So far I have the following:

Other thoughts:

TURN 8 {#turn8}

255.853.M41: Let the events of this day in Moria be a warning to all enemies of the Emperor!  Delve too deep into our affairs, and you will awaken shadow and flame.  Corner the Lion, and witness his wrath. It gladdens my heart that my brothers and I are born to such times that we are afforded the opportunity to deal out death in judgement of the Imperium’s foes.

The combined forces of Larathiel and Castiel have proven a steadfast bulwark against the xenos aggressors in the Moria space port.  Tyranid bio-forms approached from the West as the Necrons marched from the East, almost as though they had coordinated the assault in a deadly pincer move. With no clear route for escape, our brothers in the mountains endeavored to not require one.

Castiel’s Ravenwing caught the assembling Tyranids off guard in a swift sortie before the chitinous host could properly prepare their siege positions, and deftly cut off their most direct track to the West-gates.  With supporting fire from squads Hamion and Boriel, the first arrivals of the Great Devourer were wiped from the field in mere moments by the Ravenwing’s thrust.  This daring assault forced any Tyranid reinforcements to scuttle uncomfortably between the Necron anvil and our hammer. 

All of the Unforgiven in Moria fought with courage befitting the Emperor’s chosen, but none more than Astathor.  The foul Hive Tyrant that had so beleaguered our brothers on the piedmont of Eregion raged through our ranks yet again, and made haste to slaughter our supporting-fire units at the gates.  Astathor recognized the beast’s intentions right away, and ran to engage the winged abomination before it reached our lines.  Even embarked within the tactical warsuit’s large frame, the Hive Tyrant towered above Astathor as he advanced into striking distance.  Taking fire from seemingly every angle, the Tyrant reared up to cleave Astathor with a terrifying blow.  At that moment, using the impetus of his charge, Astathor punched his Invictor fist straight through the creature’s exposed chest, laying it low in a pool of its own ichor.

The Necrons faired only slightly better in this fight.  Perhaps off-put by our demonstration of prowess with the Tyranids, they kept mostly to the outskirts of our defenses, like gob-smacked spectators to a fight in the pits.  They were sorely mistaken if they believed their near observer-status would keep our wrath at arms’ length, though.  Fire from our back lines, fire from the harrying bolts of the Ravenwing, and fire from Larathiel’s very mind found them, and forced them back.

Defeat in battle was but one of the gifts we bestowed upon our enemies in Moria.  In anticipation of the siege, Larathiel had tasked our brethren with the setting of melta-charges around the periphery of the star port. When the xenos hordes fled the field, the mines detonated and star-hot death rose up from the rocky ground to meet them.  Larathiel reports that the xenos screams continued long into the night, and that sweet music did much for the morale of Moria’s defenders.   

To the South, unfortunately, we are met with another defeat at Barad-Dur star port.  The Necrons made quick work of re-purposing the defenses we had set up there only days ago, and their greater numbers overpowered us again.  Perhaps there is some truth to the “undying” moniker that so many of the Astra Militarum are fond of using when describing the dynastic legions?  It is as though every construct we cut down, two more rise to take their place.  Only brother Apharan and his squad of knights seem capable of bringing enough force to bear to stop any significant reanimation protocols on the field.  We remain undaunted though, and will surely win back the star port in our next assault.

No respite.  No Forgiveness.  There is only war.

moves

game <- game %>%

  modify_unit("big_grizz", c(1, 4, 8, 10, 11, 12, 15, 16, 19, 20, 21, 23),   "defend",  c("F1")) %>%
  modify_unit("big_grizz", 7,   "move",  "C2") %>%
  modify_unit("big_grizz", c(6),   "defend",  "I4") %>%
  modify_unit("big_grizz", 5,   "control",  "F8") %>%
  modify_unit("big_grizz", 2,   "move",  "H1") %>%
  modify_unit("big_grizz", 17,   "move",  "H4") %>%
  modify_unit("big_grizz", c(3, 13, 18, 22),   "move",  c("H5S", "I5S")) %>%
  modify_unit("big_grizz", 9,   "control",  "C1") %>%
  modify_unit("big_grizz", 14,   "move",  "F2") %>%
  add_trap("big_grizz", "F1") %>%

  modify_unit('eric', '1', 'move', 'F3') %>%
  modify_unit('eric', '2', 'move', 'F3') %>%
  modify_unit('eric', '3', 'move', 'F3') %>%
  modify_unit('eric', '4', 'move', 'F3') %>%
  modify_unit('eric', '5', 'move', 'F3') %>%
  modify_unit('eric', '6', 'move', 'F3') %>%
  modify_unit('eric', '7', 'move', 'F3') %>%
  modify_unit('eric', '8', 'move', 'F3') %>%
  modify_unit('eric', '10', 'move', 'F3') %>%
  modify_unit('eric', '11', 'move', 'F3') %>%
  modify_unit('eric', '12', 'move', 'F3') %>%
  modify_unit('eric', '13', 'move', 'F3') %>%
  modify_unit('eric', '14', 'defend', 'H2') %>%
  modify_unit('eric', '15', 'move', 'I4') %>%
  modify_unit('eric', '16', 'move', 'I4') %>%
  modify_unit('eric', '17', 'defend', 'H2') %>%
  modify_unit('eric', '18', 'defend', 'H2') %>%
  modify_unit('eric', '19', 'control', 'G4') %>%
  modify_unit('eric', '20', 'defend', 'H2') %>%
  modify_unit('eric', '21', 'defend', 'H2') %>%
  modify_unit('eric', '22', 'defend', 'H2') %>%
  modify_unit('eric', '23', 'defend', 'H2') %>%
  modify_unit('eric', '24', 'defend', 'H2') %>%
  modify_unit('eric', '25', 'move', 'I4') %>%
  modify_unit('eric', '26', 'defend', 'H2') %>%
  modify_unit('eric', '27', 'defend', 'F2') %>%
  modify_unit('eric', '28', 'move', 'E5') %>%

  modify_unit('chris', 1, "move", c("D4")) %>%
  modify_unit('chris', 5, "defend", "B5") %>%
  modify_unit('chris', 8, "move", "D2") %>%
  modify_unit('chris', 15, "move", "B5") %>%
  modify_unit('chris', c(6, 7), "move", "B1") %>%
  modify_unit('chris', c(2, 4, 9, 13, 16, 19, 20, 22, 24, 25), "move", "F1") %>%
  modify_unit('chris', c(3, 10, 11, 14), "move", "E2") %>%
  modify_unit('chris', c(12, 18), "move", "C1") %>%
  modify_unit('chris', c(21, 23), "defend", "D2") %>%
  kill_unit("chris", 17) %>%

  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

game <- game %>%

  modify_unit('eric', '21', 'retreat', 'G5') %>%
  modify_unit('big_grizz', '14', 'retreat', 'F4') %>%
  modify_unit('big_grizz', '6', 'retreat', 'I5') %>%
  modify_unit('chris', c(2, 4, 9, 13, 16, 19, 20, 22, 24, 25), "retreat", "E2") %>%
  modify_unit('chris', "C1", "retreat", "B6") %>%


  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

TURN 9 {#turn9}

+++++++++++++++++++++++++++++++++

256.853.M41: Many minor skirmishes for territory took place today in Mundus Centrum.  The power dynamics on the ground are shifting rapidly, and we must agilely respond.

In the far-northern, forested regions of Mirkwood, Squad Galizur was able to defend the territory of Carrock against a roving band of Tyranid bio-forms.  The Phobos-pattern armour lends itself well to this dense terrain, and Galizur’s practiced guerilla tactics were key in driving away the carapaced menace.

Honorable Brother Seraphus, who had been attempting to reconnoiter with our brothers in Moria, was met with stiff resistance along the continent’s central mountain range, and was repelled by the Necrons he found in Lorien. His communications assure me that he only sustained minor damage before he was forced from the field. 

Deathwing Sergeant Abathar quickly dispatched a minor irritation of scarab constructs that blocked his path through the Minas Morgul pass. His squad is indomitably marching West to loose their wrath upon any who stand in their way.

Squad Naamand, unfortunately, was ambushed and quickly surrounded in our recently acquired star port of Near Harad.  Though they were loathe to leave behind such a valuable asset to the Necron filth, Naamand and his brothers were able to escape through an ancient and disused tunnel system, making a rendezvous with Myrdean and his forces to the East in the Khand territory.  I am promised news of Near Harad’s recapture imminently.

The battle of most consequence again took place in the Moria star port.  Castiel and Larathiel’s forces prepared their defenses for another two-front assault from the Necrons and Tyranids.  The heads, and various other body-parts, of those cruel races were put on spikes at the borders of Moria as a summons to another slaughter, but only the chittering masses of Hive Fleet Kraken deigned to accept the invitation.  Victory against those hateful creatures was hard-won, but nearly guaranteed as our brothers were only challenged on the western front. 

In the course of all these confrontations, much information has been won as to the whereabouts of our Fallen quarry.  When that traitorous captain was last seen, he was heading south out of the Eregion piedmont, and it appears he continued that direction for at least another two days.  More investigation is needed, but we will begin to tighten our search radius, and tighten the noose.  He will not escape us again.  Weakness characterizes those we bring to justice; their failures as numerous as the stars in the galaxy. 

moves

game <- game %>%

  modify_unit("big_grizz", c(1, 4, 8, 10, 11, 12, 15, 16, 19, 20, 21, 23),   "move",  c("F2")) %>%
  modify_unit("big_grizz", 7,   "move",  "C4") %>%
  modify_unit("big_grizz", c(6),   "move",  "I4") %>%
  modify_unit("big_grizz", 5,   "move",  "G8") %>%
  modify_unit("big_grizz", 2,   "move",  "F8") %>%
  modify_unit("big_grizz", 17,   "move",  "G8") %>%
  modify_unit("big_grizz", c(3, 13, 18, 22),   "move",  c("I5", "I4")) %>%
  modify_unit("big_grizz", 9,   "move",  "B6") %>%
  modify_unit("big_grizz", 14,   "move",  "E7") %>%
  add_trap("big_grizz", "F4") %>%
  destroy_bridge("F2", "C3") %>% # big_grizz

  modify_unit('eric', '1', 'move', 'E5') %>%
  modify_unit('eric', '2', 'move', 'E5') %>%
  modify_unit('eric', '3', 'move', 'E5') %>%
  modify_unit('eric', '4', 'move', 'E5') %>%
  modify_unit('eric', '5', 'move', 'E5') %>%
  modify_unit('eric', '6', 'move', 'E5') %>%
  modify_unit('eric', '7', 'move', 'E5') %>%
  modify_unit('eric', '8', 'move', 'E5') %>%
  modify_unit('eric', '10', 'move', 'E5') %>%
  modify_unit('eric', '11', 'move', 'E5') %>%
  modify_unit('eric', '12', 'move', 'E5') %>%
  modify_unit('eric', '13', 'move', 'E5') %>%
  modify_unit('eric', '14', 'move', 'H5') %>%
  modify_unit('eric', '15', 'defend', 'I4') %>%
  modify_unit('eric', '16', 'defend', 'I4') %>%
  modify_unit('eric', '17', 'move', 'H5') %>%
  modify_unit('eric', '18', 'move', 'H5') %>%
  modify_unit('eric', '19', 'move', 'G3') %>%
  modify_unit('eric', '20', 'move', 'F3') %>%
  modify_unit('eric', '21', 'move', 'H6') %>%
  modify_unit('eric', '22', 'move', 'H5') %>% # - manticore platfroms on H2, uprising on H3
  modify_unit('eric', '23', 'move', 'H5') %>%
  modify_unit('eric', '24', 'move', 'H5') %>%
  modify_unit('eric', '25', 'control', 'I4') %>%
  modify_unit('eric', '26', 'move', 'H5') %>%
  modify_unit('eric', '27', 'defend', 'F2') %>%
  modify_unit('eric', '28', 'move', 'E7') %>%
  local_uprising('H5') %>% # eric
  local_uprising('H3') %>% # eric

  modify_unit('chris', 1, "defend", "D4") %>%
  modify_unit('chris', 5, "defend", "B5") %>%
  modify_unit('chris', 6, "move", "D1") %>%
  modify_unit('chris', 7, "move", "D2") %>%
  modify_unit('chris', 15, "reinforce", "B5") %>%
  modify_unit('chris', c(2, 3, 4, 9, 10, 11, 13, 14, 16, 19, 20, 22, 24, 25), "defend", "E2") %>%
  modify_unit('chris', c(8, 21, 23), "move", "D4") %>%
  modify_unit('chris', c(12, 18), "move", "C1") %>%

  reconcile_player_orders()
#print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

game <- game %>%

  modify_unit('big_grizz', '9', 'respawn', 'C5') %>%

  modify_unit('eric', '15', 'retreat', 'I3') %>%
  modify_unit('eric', '16', 'retreat', 'I3') %>%
  modify_unit('eric', '25', 'retreat', 'I3') %>%
  modify_unit('eric', '27', 'retreat', 'F3') %>%
  modify_unit('eric', '28', 'retreat', 'G7') %>%

  destroy_trap('big_grizz', 'H5') %>%

  reconcile_player_orders()
print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

TURN 10 {#turn10}

+++++++++++++++++++++++++++++++++

257.853.M41: As expected, the Near Harad space port is back under our control!  Thanks to the information gathered by squad Naamand about the secret tunnels through the space port, Myrdean and his force were able to quickly re-enter the area and catch the invading Necrons unawares.  The xenos did not even have time to re-purpose the fortifications before they were set upon by our avenging brothers, and they fled the field before any serious battle could ensue.  While we have well-earned our reputation for grim resolve and stubborn defiance, we are not so foolish or inflexible to be incapable of employing feinted retreats.

Only in death does duty end, and so concludes squad Galizur’s service to the Emperor and the Lion.  Some anomalous, technological error in Galizur’s auspex led him and his brothers to their doom on the borders of Carrock as they were scouting the edge of the forest.  While trying to ascertain the best path to take through the mountains into the Rhudaur territory, they were assailed by some bestial, Tyranid bio-forms (Imperial Designation: Pyrovores).  Several of Galizur’s squad were veritably boiled within their phobos armour by the xenos’ incandescent fireballs, launched from their dorsal bio-weapons, before our brothers even knew there was an enemy in the vicinity.  Galizur and his Corporal Fareol made to retreat back into the dark forest, but were caught in their flight by a swarm of smaller bio-forms.  Surely, many xenos were slain, but Galizur is forever lost to us.  I have put in a request to our orbital counterparts to send us another squad of Infiltrators, and I am having Brother Techmarine Myrdean run diagnostics on the auspex failures so that such mistake is never made again.

Serve the Emperor today, for tomorrow you may be dead.

moves

game <- game %>%

  modify_unit("big_grizz", c(1, 10, 11, 12, 16),   "move",  c("C3", "C1")) %>%
  modify_unit("big_grizz", c(4, 15, 19, 20, 21),   "move",  c("C3")) %>%
  modify_unit("big_grizz", c(8, 23),   "move",  c("F3", "F4")) %>%
  modify_unit("big_grizz", 7,   "move",  "C2") %>%
  modify_unit("big_grizz", c(6),   "move",  "H6") %>%
  modify_unit("big_grizz", 5,   "control",  "G8") %>%
  modify_unit("big_grizz", 2,   "move",  "F7") %>%
  modify_unit("big_grizz", 17,   "move",  "F8") %>%
  modify_unit("big_grizz", c(3, 13, 18, 22),   "move",  c("I4S", "H6S", "G10S", "G8S")) %>%
  modify_unit("big_grizz", 9,   "move",  "F7") %>%
  modify_unit("big_grizz", 14,   "move",  "F4") %>%

  modify_unit('eric', '1', 'defend', 'E5') %>%
  modify_unit('eric', '4', 'defend', 'E5') %>%
  modify_unit('eric', '6', 'defend', 'E5') %>%
  modify_unit('eric', '7', 'defend', 'E5') %>%
  modify_unit('eric', '8', 'defend', 'E5') %>%
  modify_unit('eric', '9', 'regenerate', 'G7') %>%
  modify_unit('eric', '10', 'defend', 'E5') %>%
  modify_unit('eric', '11', 'defend', 'E5') %>%
  modify_unit('eric', '15', 'defend', 'I3') %>%
  modify_unit('eric', '16', 'defend', 'I3') %>%
  modify_unit('eric', '25', 'defend', 'I3') %>%
  modify_unit('eric', '17', 'move', 'H6') %>%
  modify_unit('eric', '18', 'move', 'H6') %>%
  modify_unit('eric', '22', 'move', 'H6') %>%
  modify_unit('eric', '23', 'move', 'H6') %>%
  modify_unit('eric', '24', 'move', 'H6') %>%
  modify_unit('eric', '26', 'move', 'H6') %>%
  modify_unit('eric', '2', 'move', 'H6') %>% # teleportarium requisition
  modify_unit('eric', '3', 'move', 'H2') %>% # deep strike between starports
  modify_unit('eric', '14', 'move', 'H2') %>%
  modify_unit('eric', '28', 'defend', 'G7') %>%
  modify_unit('eric', '27', 'move', 'E7') %>%
  modify_unit('eric', '20', 'move', 'E7') %>%
  modify_unit('eric', '13', 'move', 'E7') %>%
  modify_unit('eric', '5', 'move', 'E7') %>%
  modify_unit('eric', '12', 'move', 'E6') %>%
  modify_unit('eric', '21', 'move', 'H4') %>%
  modify_unit('eric', '19', 'control', 'G3') %>%

  modify_unit('chris', 1, "move", "D3") %>%
  modify_unit('chris', 2, "defend", "F1") %>%
  modify_unit('chris', c(3,4,9,10,11,13,14,16,22,24,25), "move", "F1") %>%
  modify_unit('chris', c(19,20), "move", "F2") %>%
  modify_unit('chris', c(18,15,12), "control", "C1") %>%
  modify_unit('chris', 5, "reinforce", "B5") %>%
  modify_unit('chris', 6, "control", "D1") %>%
  modify_unit('chris', 7, "control", "D2") %>%
  modify_unit('chris', 8, "control", "D4") %>%
  modify_unit('chris', c(21,23), "defend", "D4") %>%

  reconcile_player_orders()
print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

game <- game %>%

  modify_unit("big_grizz", 6,   "respawn",  "C5") %>%
  modify_unit("chris", "C1",   "retreat",  "B4") %>%
  destroy_trap("big_grizz", "F1") %>% # chris

  reconcile_player_orders()
print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

TURN 11 {#turn11}

+++++++++++++++++++++++++++++++++



258.853.M41: The situation on the ground has changed rapidly in the last 24 hours.  Our Northeastern front has been overwhelmed by waves of Tyranid bio-forms, and we must quickly redistribute our forces on the continent to meet and stem the xenos tide.  They may appear to be more tooth and claw than brain, but if they are able to infiltrate many more of the available star ports, I am concerned they will irrevocably damage any of the remaining technological systems that still function on this throne-forsaken planet.

Ravenwing Talonmaster Castiel led a successful strike against the swarms in the forested region of Carrock, driving back those slavering masses that had laid low Galizur’s squad just yesterday.  No trace of Galizur’s squad could be found, and it is as though the bio-forms somehow digested the sacred armour that once protected our brothers.  Castiel assures me that his contingent of the second company will continue to purge the North of the Tyranid foe.

To the South, Squad Naamand tried to make a quick escape through the mountains from Haradwaith back into Mordor so as to avoid any unnecessary contact with the Necron forces encircling their star port position.  Communication with Naamand was lost right as his squad was exiting the tunnels through those hills, and they are assumed dead, caught by constructs waiting for them in Nurn.  Squad Sariel has been requisitioned from orbit to replace Naamand.  May fortune favour them better, and may many xenos fall to their bolter and blade.

We know no fear.  It was cut from our souls at birth.  We can feel it only as an absence, as an empty shadow cast by the light of annihilation.

moves

game <- game %>%

  modify_unit("big_grizz", c(1, 10, 11, 12, 16),   "move",  c("C2", "D3")) %>%
  modify_unit("big_grizz", c(4, 15, 19),   "move",  c("C1")) %>%
  modify_unit("big_grizz", c(20, 21),   "move",  c("C5")) %>%
  modify_unit("big_grizz", c(8, 23),   "control",  c("F4")) %>%
  modify_unit("big_grizz", 7,   "move",  "C1") %>%
  modify_unit("big_grizz", c(6),   "move",  "F5") %>%
  modify_unit("big_grizz", 5,   "move",  "F8") %>%
  modify_unit("big_grizz", 2,   "move",  "C5") %>%
  modify_unit("big_grizz", 17,   "move",  "F5") %>%
  modify_unit("big_grizz", c(3, 13, 18, 22),   "move",  c("G8", "F8", "F5")) %>%
  modify_unit("big_grizz", 9,   "control",  "F7") %>%
  modify_unit("big_grizz", 14,   "defend",  "F4") %>%

  modify_unit('eric', '1', 'move', 'F3') %>%
  add_bridge("E7", "E4") %>% # eric
  modify_unit('eric', '4', 'move', 'F3') %>%
  modify_unit('eric', '6', 'move', 'F3') %>%
  modify_unit('eric', '7', 'move', 'F3') %>%
  modify_unit('eric', '8', 'move', 'F3') %>%
  modify_unit('eric', '9', 'defend', 'G7') %>%
  modify_unit('eric', '10', 'move', 'F3') %>%
  modify_unit('eric', '11', 'move', 'F3') %>%
  modify_unit('eric', '15', 'defend', 'I3') %>%
  modify_unit('eric', '16', 'defend', 'I3') %>%
  modify_unit('eric', '25', 'defend', 'I3') %>%
  modify_unit('eric', '17', 'move', 'I4') %>%
  modify_unit('eric', '18', 'move', 'I4') %>%
  modify_unit('eric', '22', 'move', 'I4') %>%
  modify_unit('eric', '23', 'move', 'I4') %>%
  modify_unit('eric', '24', 'move', 'I4') %>%
  modify_unit('eric', '26', 'move', 'I4') %>%
  modify_unit('eric', '2', 'move', 'I4') %>%
  modify_unit('eric', '3', 'reinforce', 'H2') %>% # siege drill for H6
  modify_unit('eric', '14', 'reinforce', 'H2') %>%
  modify_unit('eric', '28', 'move', 'E4') %>%
  modify_unit('eric', '27', 'move', 'E4') %>%
  modify_unit('eric', '20', 'move', 'E4') %>%
  modify_unit('eric', '13', 'move', 'E4') %>%
  modify_unit('eric', '5', 'move', 'E4') %>%
  modify_unit('eric', '12', 'move', 'E4') %>%
  modify_unit('eric', '21', 'move', 'H4') %>%
  modify_unit('eric', '19', 'move', 'G2') %>%

  modify_unit("chris", 5, "defend", "B5") %>%
  modify_unit("chris", 6, "move", "D3") %>%
  modify_unit("chris", 9, "control", "F1") %>%
  modify_unit("chris", c(1, 7),  "move", "D4") %>%
  modify_unit("chris", c(2, 4, 10, 11, 14, 22, 24),  "move", "F2") %>%
  modify_unit("chris", c(3, 13, 16, 25),  "reinforce", "F1") %>%
  modify_unit("chris", c(8, 17, 21, 23), "defend", "D4") %>%
  modify_unit("chris", c(12, 15, 18),  "defend", "B4") %>%
  modify_unit("chris", c(19, 20),  "defend", "F2") %>%
  modify_unit("chris", 17, "respawn", "D4") %>%
  destroy_bridge("B2", "B6") %>% # chris
  destroy_bridge("B8", "B6") %>% # chris
  add_trap("chris", "B4") %>%

  reconcile_player_orders()
print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves

game <- game %>%
  modify_unit("chris", 6, "retreat", "D1") %>%
  reconcile_player_orders()
print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

TURN 12 {#turn12}

+++++++++++++++++++++++++++++++++

259.853.M41: Ravenwing Talonmaster Castiel has successfully reentered the Rhun region, pushing back a small tendril of the [data corruption] according to plan.  All haste [data corruption] imminent! Vox channels are [data corruption] disturbing.  The Emperor ects.

++++++++++++++++CONNECTION LOST++++++++++++++++

moves

game <- game %>%

  modify_unit("big_grizz", c(1, 10, 16),   "move",  c("D4")) %>%
  modify_unit("big_grizz", c(4, 15, 19),   "defend",  c("C1")) %>%
  modify_unit("big_grizz", c(2, 20, 21),   "reinforce",  c("C5")) %>%
  modify_unit("big_grizz", c(8, 23),   "move",  c("F7", "C2")) %>%
  modify_unit("big_grizz", 7,   "control",  "C1") %>%
  modify_unit("big_grizz", c(11, 12),   "move",  c("D1", "D2")) %>%
  modify_unit("big_grizz", 5,   "move",  "F5") %>%
  modify_unit("big_grizz", c(3, 6, 13, 17, 18, 22), "move",  c("D4")) %>%
  modify_unit("big_grizz", 9,   "move",  "F4") %>%
  modify_unit("big_grizz", 14,   "move",  "F7") %>%

  add_trap("chris", "F1") %>%
  add_trap("chris", "D4") %>%
  add_bridge("F2", "C3") %>% # chris
  modify_unit("chris", c(1,7,8,17,21,23), "defend", "D4") %>%
  modify_unit("chris", c(2,4,10,11,19,20,22,24), "move", "C3") %>%
  modify_unit("chris", c(3,9), "move", "E2") %>%
  modify_unit("chris", c(5), "defend", "B5") %>%
  modify_unit("chris", c(6), "move", "B1") %>%
  modify_unit("chris", c(12, 15, 18), "move", "C1") %>%
  modify_unit("chris", c(13, 16, 25), "reinforce", "F1") %>%
  modify_unit("chris", c(14), "control", "F2") %>%

  modify_unit('eric', '1', 'move', 'F2') %>%
  modify_unit('eric', '4', 'move', 'F2') %>%
  modify_unit('eric', '6', 'move', 'F2') %>%
  modify_unit('eric', '7', 'move', 'F2') %>%
  modify_unit('eric', '8', 'move', 'F2') %>%
  modify_unit('eric', '9', 'defend', 'G7') %>%
  modify_unit('eric', '10', 'move', 'F2') %>%
  modify_unit('eric', '11', 'move', 'F2') %>%
  modify_unit('eric', '15', 'move', c('I4', 'I4S')) %>%
  modify_unit('eric', '16', 'move', c('I4', 'I4S')) %>%
  modify_unit('eric', '25', 'move', 'I4') %>%
  modify_unit('eric', '17', 'move', 'I4S') %>%
  modify_unit('eric', '18', 'move', c('I4S', 'H6S')) %>%
  modify_unit('eric', '22', 'move', c('I4S', 'H6S')) %>%
  modify_unit('eric', '23', 'move', c('I4S', 'H6S')) %>%
  modify_unit('eric', '24', 'move', c('I4S', 'H6S')) %>%
  modify_unit('eric', '26', 'move', 'I4S') %>%
  modify_unit('eric', '2', 'move', c('I4S', 'H6S')) %>%
  modify_unit('eric', '3', 'reinforce', 'H2') %>%
  modify_unit('eric', '14', 'reinforce', 'H2') %>%
  modify_unit('eric', '28', 'move', 'E3') %>%
  modify_unit('eric', '27', 'move', 'E3') %>%
  modify_unit('eric', '20', 'move', 'E3') %>%
  modify_unit('eric', '13', 'move', 'E3') %>%
  modify_unit('eric', '5', 'move', 'E3') %>%
  modify_unit('eric', '12', 'move', 'E3') %>%
  modify_unit('eric', '21', 'defend', 'H4') %>%
  modify_unit('eric', '19', 'control', 'G2') %>%

  reconcile_player_orders()
print(draw_map(game, "{{PLAYER}}"))
print_map_df(game, "{{PLAYER}}")

moves...

Rmd Hash: {{RMD_MD5}}

Code Commit Hash: {{CODE_HASH}}



seth127/MundusCentrum documentation built on Dec. 23, 2021, 12:20 a.m.