Skip to content

Releases: wordbots/wordbots-parser

v0.20.4-beta

15 Feb 07:26
Compare
Choose a tag to compare
v0.20.4-beta Pre-release
Pre-release

(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

v0.20.3-beta

22 Aug 03:10
Compare
Choose a tag to compare
v0.20.3-beta Pre-release
Pre-release

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

  • Parser improvements:
    • Speed up error analysis significantly (#248)
    • New "ExactReplace" substitution type to support auto-suggestions where a single word is modified (possibly cutting through a token) (#246)
    • Parse "smart quotes" as regular quotes (#249)
  • Lexicon improvements:
    • "Lose 3 energy and return a enemy robot to your hand” (#245)
    • "Activate: spawn a 1/1/2 robot named “Iceado” on a adjacent empty tile” (#243)
    • "When enemy robots are adjacent to this structure all adjacent enemy robots can't attack" (#250)
    • Proper auto-suggestion for “Activate: gain +1 health and +1 attack” (#244)

v0.20.2-beta

22 May 01:18
Compare
Choose a tag to compare
v0.20.2-beta Pre-release
Pre-release

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

  • Integrity-verification of cards via parser-generated HMACs, to prevent XSS attacks: #239, #240
  • Parse support for "Deal 1 damage to all objects within 1 space of a tile": #241
  • Validate that PayEnergy doesn't appear inside a triggered action (because it leads to in-game bugs): #242

v0.20.1-beta

15 May 06:46
Compare
Choose a tag to compare
v0.20.1-beta Pre-release
Pre-release

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

New vocabulary

  • Support for selecting multiple targets in ChooseO, ChooseC, and ChooseT (e.g. "Discard 2 cards", "Deal 2 damage to 2 objects": #223, #233
  • AfterDealsDamage trigger (e.g. "Whenever this robot deals damage, draw a card"): #230, #231
  • "This robot can activate again": #221

Lexicon improvements

  • better support for "moved this turn": #218
  • "If your hand has 1 or fewer cards, draw a card": #217
  • "Deal 3 damage to an enemy robot up to 3 tiles away": #226
  • "Spawn a copy of this object on an adjacent tile": #237
  • "Startup: This robot loses attack equal to your kernel's health": #224
  • "Give a random other friendly robot Taunt": #232
  • "Activate: Pay all your energy.": #227

Server improvements

  • /version endpoint: #235
  • Better logging: #215

v0.20.0-beta

29 Apr 21:37
Compare
Choose a tag to compare
v0.20.0-beta Pre-release
Pre-release

v0.19.0-alpha

08 Apr 20:33
Compare
Choose a tag to compare
v0.19.0-alpha Pre-release
Pre-release

Corresponding wordbots-core release: https://github.com/wordbots/wordbots-core/releases/tag/v0.19.0-alpha

Full Changelog: v0.18.0-alpha...v0.19.0-alpha

v0.18.0-alpha

05 Oct 23:55
997fc1b
Compare
Choose a tag to compare
v0.18.0-alpha Pre-release
Pre-release

Corresponding wordbots-core release: https://github.com/wordbots/wordbots-core/releases/tag/v0.18.0-alpha

v0.16.0-alpha

01 Jul 20:13
Compare
Choose a tag to compare
v0.16.0-alpha Pre-release
Pre-release

v0.14.0-alpha

05 Dec 05:21
Compare
Choose a tag to compare
v0.14.0-alpha Pre-release
Pre-release

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

v0.13.1-alpha

20 Jul 05:52
24a5980
Compare
Choose a tag to compare
v0.13.1-alpha Pre-release
Pre-release

Parsing improvements: #145, #151, #152, #153, #154, #155, #156, #157, #158, #159, #161.

Stability improvements: #148, #150.

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