Skip to content

v0.20.4-beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@AlexNisnevich AlexNisnevich released this 15 Feb 07:26

(See also: https://github.com/wordbots/wordbots-core/releases/tag/v0.20.4-beta)

Parser improvements:

  • If there are multiple valid parses but not all pass AST validation, the parser will now select the first parse that passes validation rather than the “best parse” as determined by the parsing stage (#257)
  • Disallow parsing phrases that correspond to neither an Action nor an Ability (#281)
  • The error analyzer will try removing single-keyword phrases (“Startup:”, “Shutdown:”) if possible to produce valid syntax (#266)
  • Treat ConditionalAction the same as TriggeredAbility for certain validation rules (part of #267)

Parser bug fixes:

  • Fixed a major parsing bug where nodes representing lists of items weren’t type-checked for the type of item in the list, allowing gibberish parses that would break in-game (fix #273 and #275)
  • Fixed a bug where some cards were incorrectly marked as integrity violations due to unexpected spacing (78c66a0)
  • Fixed a bug where single-word replacements would be suggested by the error analyzer even if they didn’t produce a valid result themselves, resulting in invalid suggestions (#269)
  • Fixed a bug where ConditionalActions would sometimes produce invalid JavaScript (#264)

New game features supported:

  • Support spawning structures with “a structure with [N] health named […]” syntax (a7b1542)
  • “Equal to the number of objects destroyed this turn” (partial fix for #228)
  • Better support for selecting multiple of a collection, i.e. “Deal 2 damage to 2 enemy robots” (#261)
  • “Choose a tile. [do something with] that tile.” (#236)

New syntax supported:

  • “[…] lose X speed and Y health” (passing multiple attributes to “lose”) (#263)
  • “[…] have +X attack and +Y speed” (passing multiple attribute adjustments to “have”) (#271)
  • “discards their hand” (5eaf93e) and “discards all cards” (#259)
  • “That player’s deck”, “that player’s hand”, “that player’s discard pile” (#272)
  • “If […] is within X tiles of […]” (#262)
  • better attribute conditional syntax like “If […]’s health is X” and “if […]’s health is less than 3” (#270)
  • “a robot up to X tiles away” (#276)
  • “If [object] [condition], [action]” (#256)
  • “Give [attribute] to [object]” as equivalent to “Give [object] [attribute]” (#258)
  • “Turn [X] into [Y]” as a synonym for “Transform [X] into [Y]” (#260)
  • “Damage” as a synonym for “attack”/“power” (#265)

Stability:

  • Switch CI from CircleCI to GitHub Actions