{"push_id":2151836077,"size":29,"distinct_size":29,"ref":"refs/heads/master","head":"429ecd6f0f949eb5b3d76fc18e7fe17dde326ea7","before":"10a12ba013a217c8588d164b251a5a7c1c891593","commits":[{"sha":"bb68f027708d5503ef10ad71084f6ba40727095f","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"First commit; trying to figure out best way to do datasheets.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/bb68f027708d5503ef10ad71084f6ba40727095f"},{"sha":"b977a6482838aa53cdad0328e5fcbf8725bec490","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Refactored datasheets, particularly weapon profiles.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/b977a6482838aa53cdad0328e5fcbf8725bec490"},{"sha":"f5dd19f5bca8241c86759d6f5eea51ddeb35bd3b","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Added more units; refactored some predicates.\n* Refactored unit profiles, composition and composition options, wargear\n  options.\n* Also changed faction_keywords and keywords to *keyword.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/f5dd19f5bca8241c86759d6f5eea51ddeb35bd3b"},{"sha":"3c6a69757133d8c606055d40651cde1f51971991","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Added dice module to simulate dice rolls.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/3c6a69757133d8c606055d40651cde1f51971991"},{"sha":"80132786cf47fdc312538dda7598845b0233585e","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Added Adeptus Astartes Tactical Squad to datasheets. Skullz and lulz.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/80132786cf47fdc312538dda7598845b0233585e"},{"sha":"0ca766b85c895c65f1ddcf9f2887a64f541cbcda","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Packritising alternative definitions of tactical drones.\n* Tactical drones are one example (there may be more) of a type of model\n  that can both form its own unit and also participate in other units\n  (because they can be selected to accompany Strike Teams etc). In fact,\n  \"tactical drone\" is not one kind of model, but rather one of the three\n  models that make up a Tactical Drone _unit_: a gun drone, a shield\n  drone or a marker drone. So when, e.g. the Strike Team datasheet says\n  that \"the unit may be accompanied by 2 Tactical Drones\" it refers to\n  the Tactical Drone unit for details of how to select and equip each of\n  those \"tactical drones\".\n* This can lead to a lot of complication but I think the best way to\n  de-confuse the issue is to follow the tactic the datasheets module is\n  following so far: to track models at the level of a unit, but provide\n  separate profiles for each type of model in the unit- so for example,\n  a Strike Team has a unit_profiles/11 clause for each type of model in\n  it, including Fire Warriors, Fire Warrior Shas'ui, DS8 Tactical\n  Support Turret and MV36 Guardian Drones. This leaves out the two\n  Tactical Drones that can accompany the unit which are however listed\n  in unit_composition_options/6 clauses. We'll just have to deal with\n  the fudgality in the unit composition logic- this will have to find\n  the unit composition options in unit_composition_options/6 and then\n  determine what models and how many of each can be added to the unit as\n  options.\n* To be honest, the Datasheets organisation (in the Indices, not my\n  code) is a bit of a mess. For instance, note that the DS8 Tactical\n  Support Turret is treated as wargear, but has its profile listed along\n  with the other models in the unit (which are not wargear) whereas\n  Tactical Drones that are not wargear but rather models of a separate\n  unit type are listed separately under their own unit. I can see the\n  latter being a choice meant to reduce clutter in datasheets, but the\n  former is just bad organisation of information. I mean, why is the\n  Turret a wargear option and not a unit compisition option? It's a\n  model with a profile, not a weapon, right?. I guess this has something\n  to do with the rules for deploying it (it gets deployed once and stays\n  put) but e.g. Drone Support rules handle a very similar situation for\n  Tactical Drones. So why not do the same for a Turret? I wonder if they\n  actually have databases in Games Workshop. They probably just have an\n  Excel file, hand-versioned, that they circulate internally. Well done\n  guys, the Age of Information is upon us.\n* OK, I'm probably being all software-engineer'y hoity-toity know-it\n  oity now. 'pologies.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/0ca766b85c895c65f1ddcf9f2887a64f541cbcda"},{"sha":"acc5b2d01dbd7797637d36438c09e9fc2d74db65","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Still fiddling with tactical drones representation.\n* It gets a bit more complicated with tactical drones than what I said\n  last time. Tactical Drone units are composed of 4 drones, each of\n  which can be any of the three types of model listed in the unit's\n  datasheet (gun drone, shield drone and marker drone). This is very\n  hard to represent as unit clauses so it'll have to be treated by unit\n  composition logic - but the information that a \"tactical drone\" is a\n  reference to three types of models must be in the datasheet unit\n  clauses. Currently, it isn't really.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/acc5b2d01dbd7797637d36438c09e9fc2d74db65"},{"sha":"babe2021120820112e808eaedf7b262dff16d389","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"First steps into simulation of shooting.\n* New modules for model, unit-handling logic.\n* Simulation module follows formal description in notes file. Currently\n  implementing model-sets and pre-correction version of number of\n  attacks calculation.\n* configuration module adds model_characteristics column names for use\n  by model logic.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/babe2021120820112e808eaedf7b262dff16d389"},{"sha":"9eb7f44bca772a298bb91319bf9b96871f571801","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Moved model-set logic to unit module.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/9eb7f44bca772a298bb91319bf9b96871f571801"},{"sha":"55ed833ff4695bb4035cd213f21f76b67126da79","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Fixed spelling errors in some entries.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/55ed833ff4695bb4035cd213f21f76b67126da79"},{"sha":"f81e412b64635d21b6e269cfb01fef1cbbd145f6","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Added X > 1 condition in rolls against target numers.\n* This is probably a universal rule- that an unmodified roll of 1 fails\n  always. Probably as in I've seen it a few times but there may well be\n  some exceptions because, hey. Why not?","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/f81e412b64635d21b6e269cfb01fef1cbbd145f6"},{"sha":"4ebb16abbe731bde53e2bced55eca4ea6b99636d","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Completed first, limited version of shooting sequence.\n* Fleshed out predicates for simulating one round of shooting between an\n  attacking unit and a target unit. See notes in shooting_sequence/3 for\n  details of limitations, which mostly depend on the rest of the project\n  treating unit profiles in a coherent and sensible way. Will get there.\n* shooting_sequence/3 currently outputs a set of models remaining in the\n  targeted unit as model/N terms (where the N is currently 11, as\n  determined in the configuration) with their W characteristic possibly\n  modified destructively to reflect damage taken in the shooting.\n* New predicates in unit, model, wargear modules support the shooting\n  sequence predicates above.\n* Most notably, added model_value/3 clause to allow destructive update\n  of a named characteristic.\n* I think the wargear module is brand new. This basically copies\n  model_value/3 but for weapon terms and since those aren't expected to\n  change only copies its first clause. Might need to generalise a bit,\n  this copy/pasta thing is never good.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/4ebb16abbe731bde53e2bced55eca4ea6b99636d"},{"sha":"4ff3d987dcede5e5de3c9b39b6140b59829c5c09","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Fixed simulation bugs and added rollouts predicate.\n* Shooting sequence predicates, particularly allocate_wounds/3, were\n  written so that they eliminated models with 0 wounds allocated to\n  them, or remaining unsaved, so that in the end we were removing\n  survivors from the target unit, instead of removing casualties. This\n  was fixed, though some refactoring might still be in order.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/4ff3d987dcede5e5de3c9b39b6140b59829c5c09"},{"sha":"3328a92002daecb67a0ffe7b2f0663f3d9e95d33","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Added rollouts report and n-rounds simulation & report.\n* Also, \"imported\" mathemagicks module. I'll probably decide to remove\n  this and find a better way to import it as needed, e.g. using pack.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/3328a92002daecb67a0ffe7b2f0663f3d9e95d33"},{"sha":"8fc804a4771e4f634c3fab1c17b42622d1434672","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Fixed little bug in shooting_sequence_/3.\n* Basically, if defenders ran out before all model sets got their chance\n  to shoot, shooting_sequence_/3 simply failed. I think it's on the side\n  of the defenders.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/8fc804a4771e4f634c3fab1c17b42622d1434672"},{"sha":"d3cbf7041714081131007b22ed4062ebec1057b7","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Improved generalisation of sequence simulation.\n* Added a new predicate, sequence_simulation/3, that should be\n  considered as the main sequence simulation primitive, called by\n  rollout and round simulation predicates.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/d3cbf7041714081131007b22ed4062ebec1057b7"},{"sha":"c1c62977963f7488ed187d914cc69024fc5a67cf","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Some refactoring and cleanups of sequence simulations, rollouts.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/c1c62977963f7488ed187d914cc69024fc5a67cf"},{"sha":"6bebaa03aae0b168321264f6848a93a21f9df672","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"More refactoring of simulations etc; changed names of stuff.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/6bebaa03aae0b168321264f6848a93a21f9df672"},{"sha":"99c762e8fbece56a3ef22f9fbf8b521f317fe988","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Fixed saving throws bug.\n* Because rolling 0 times fails, for all dice-rolling predicates in dice\n  module, attempting to save against 0 wounds failed, which generated\n  some really funny-looking results. Specifically, shooting at marines\n  with 1 gun drone killed more marines than shooting at them with 12.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/99c762e8fbece56a3ef22f9fbf8b521f317fe988"},{"sha":"39556e68dca33b622e6c6a881cb763dbc469d072","author":{"name":"YeGoblynQueenne@splinter","email":"fffa7c2ae822b4170d792a08bdd5200db4158d80@imperial.ac.uk"},"message":"Some notes and lots of fiddling with nomenclature.","distinct":true,"url":"https://api.github.com/repos/stassa/wh40ksim/commits/39556e68dca33b622e6c6a881cb763dbc469d072"}]}
{"actor":{"display_login":"stassa"}}