The real-data era: token live, stubs retired, editions on demand
BGG application approved. The migration the stub markers guarded for weeks: both synthetic caches deleted; tests/fixtures/bgg_cache re-recorded from the live API (recording list extended to every scenario the suite exercises — Civilization truncation, the Sorcerer SPI tiebreak, StarForce, Flat Top's thematic year, Alice Is Missing's rpgitem fallback); resolve --force re-matched all 133 titles for real (109 auto, 6 ambiguous, 18 unmatched, 30 edition ballots); data/STUB_DATA.marker deleted with its exit condition met — the guard mechanism stays armed should stubs ever regenerate. Reality fixed one bug and taught one lesson. The bug: a multi-type search lists an expansion twice (once per matched type) and the parser kept the generic boardgame entry — parse_search now dedupes by id preferring the specific type, which is what keeps expansion tagging (the base-vs-expansion review guard) alive on real data. The lesson: hand-built ambiguity is tidier than the real thing — Wingspan has 46 versions with three plausible English Stonemaier printings, so the suite's synthetic version ids and version_auto expectations became real ballots (assertions updated to recorded reality; the cue-plumbing test keeps its crafted two-version scenario via an injected transport). New: pick edition. A cue-less matched row is version_unknown by design (never guess) — but the owner knows which printing the box is. open_version_ballot() fetches the game's complete version list, cue-scores it when cues exist, and marks the row version_ambiguous so the normal Review edition pass presents it; the Titles page grows the button (Eric's three Wiz-Wars: two cue-less copies can now each claim their edition). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g
This commit is contained in:
co-authored by
Claude Fable 5
parent
15d3120029
commit
59f4b8c43c
@@ -1 +1,707 @@
|
||||
<items><item type="boardgame" id="3585"><name type="primary" value="game"/><versions><item type="boardgameversion" id="358501"><name type="primary" value="SPI Designer's Edition"/><yearpublished value="1975"/><link type="boardgamepublisher" id="1" value="Simulations Publications, Inc. (SPI)"/><link type="language" id="1" value="English"/></item><item type="boardgameversion" id="358502"><name type="primary" value="SPI folio edition"/><yearpublished value="1975"/><link type="boardgamepublisher" id="1" value="Simulations Publications, Inc. (SPI)"/><link type="language" id="1" value="English"/></item></versions></item></items>
|
||||
<?xml version="1.0" encoding="utf-8"?><items termsofuse="https://boardgamegeek.com/xmlapi/termsofuse"><item type="boardgame" id="3585">
|
||||
<thumbnail>https://cf.geekdo-images.com/NpauF7CJudER5H5nj-z-gA__small/img/Vo85InhIcQUg1myZBiHCL22uu8A=/fit-in/200x150/filters:strip_icc()/pic10078.jpg</thumbnail>
|
||||
<image>https://cf.geekdo-images.com/NpauF7CJudER5H5nj-z-gA__original/img/eGfEPINMJA_0pAKWAYyjJaXmaQo=/0x0/filters:format(jpeg)/pic10078.jpg</image>
|
||||
|
||||
<name type="primary" sortindex="1" value="Sorcerer: The Game of Magical Conflict" />
|
||||
|
||||
|
||||
<name type="alternate" sortindex="4" value="De Magier: een Spel van Magische Konflikten" />
|
||||
|
||||
<name type="alternate" sortindex="1" value="Sorcier: Le Jeu des Conflits Magiques" />
|
||||
|
||||
<description>Sorcerer is a fantasy wargame. Each player has an army consisting of Sorcerers, human infantry, and magical units (trolls, demons, and dragons). Sorcerers specialize in types of magic represented by 7 different colors. Sorcerer adds a twist to the old "combat differential" system (attack strength minus defense strength) by adding a circular system of combat bonuses based upon what colors of magic are attacking each other; Blue/Green/Yellow/Grey/Orange/Red/Purple with each color having a strong advantage over it's neighbor to the right (with Purple circling around to have power over Blue) and a disadvantage against it's neighbor to the left, with lessening combat bonuses the further away the color is from itself. Combat bonuses are also given based on map position as the hexes alternate colors of magic instead of representing physical terrain. Attacking from one's own color is good.
|
||||
|
||||
Several different scenarios are included in the rulebook that range from 1 to 6 players.
|
||||
|
||||
</description>
|
||||
<yearpublished value="1975" />
|
||||
<minplayers value="1" />
|
||||
<maxplayers value="6" />
|
||||
<poll name="suggested_numplayers" title="User Suggested Number of Players" totalvotes="2">
|
||||
|
||||
<results numplayers="1">
|
||||
<result value="Best" numvotes="0" />
|
||||
<result value="Recommended" numvotes="2" />
|
||||
<result value="Not Recommended" numvotes="0" />
|
||||
</results>
|
||||
|
||||
<results numplayers="2">
|
||||
<result value="Best" numvotes="2" />
|
||||
<result value="Recommended" numvotes="0" />
|
||||
<result value="Not Recommended" numvotes="0" />
|
||||
</results>
|
||||
|
||||
<results numplayers="3">
|
||||
<result value="Best" numvotes="2" />
|
||||
<result value="Recommended" numvotes="0" />
|
||||
<result value="Not Recommended" numvotes="0" />
|
||||
</results>
|
||||
|
||||
<results numplayers="4">
|
||||
<result value="Best" numvotes="1" />
|
||||
<result value="Recommended" numvotes="1" />
|
||||
<result value="Not Recommended" numvotes="0" />
|
||||
</results>
|
||||
|
||||
<results numplayers="5">
|
||||
<result value="Best" numvotes="1" />
|
||||
<result value="Recommended" numvotes="1" />
|
||||
<result value="Not Recommended" numvotes="0" />
|
||||
</results>
|
||||
|
||||
<results numplayers="6">
|
||||
<result value="Best" numvotes="2" />
|
||||
<result value="Recommended" numvotes="0" />
|
||||
<result value="Not Recommended" numvotes="0" />
|
||||
</results>
|
||||
|
||||
<results numplayers="6+">
|
||||
<result value="Best" numvotes="0" />
|
||||
<result value="Recommended" numvotes="1" />
|
||||
<result value="Not Recommended" numvotes="0" />
|
||||
</results>
|
||||
</poll>
|
||||
<poll-summary name="suggested_numplayers" title="User Suggested Number of Players">
|
||||
<result name="bestwith" value="Best with 2–3, 6 players" />
|
||||
<result name="recommmendedwith" value="Recommended with 1–6+ players" />
|
||||
</poll-summary> <playingtime value="60" />
|
||||
<minplaytime value="60" />
|
||||
<maxplaytime value="60" />
|
||||
<minage value="10" />
|
||||
<poll name="suggested_playerage" title="User Suggested Player Age" totalvotes="2">
|
||||
<results>
|
||||
<result value="2" numvotes="0" />
|
||||
<result value="3" numvotes="0" />
|
||||
<result value="4" numvotes="0" />
|
||||
<result value="5" numvotes="0" />
|
||||
<result value="6" numvotes="0" />
|
||||
<result value="8" numvotes="0" />
|
||||
<result value="10" numvotes="0" />
|
||||
<result value="12" numvotes="1" />
|
||||
<result value="14" numvotes="0" />
|
||||
<result value="16" numvotes="1" />
|
||||
<result value="18" numvotes="0" />
|
||||
<result value="21 and up" numvotes="0" />
|
||||
</results>
|
||||
</poll> <poll name="language_dependence" title="Language Dependence" totalvotes="2">
|
||||
|
||||
<results>
|
||||
<result level="1" value="No necessary in-game text" numvotes="0" />
|
||||
<result level="2" value="Some necessary text - easily memorized or small crib sheet" numvotes="0" />
|
||||
<result level="3" value="Moderate in-game text - needs crib sheet or paste ups" numvotes="2" />
|
||||
<result level="4" value="Extensive use of text - massive conversion needed to be playable" numvotes="0" />
|
||||
<result level="5" value="Unplayable in another language" numvotes="0" />
|
||||
</results>
|
||||
</poll>
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamecategory" id="1010" value="Fantasy" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamecategory" id="1019" value="Wargame" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamemechanic" id="2001" value="Action Points" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamemechanic" id="2676" value="Grid Movement" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamemechanic" id="2026" value="Hexagon Grid" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamemechanic" id="2003" value="Rock-Paper-Scissors" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamemechanic" id="2070" value="Simulation" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamedesigner" id="1030" value="Redmond Aksel Simonsen" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="16468" value="Larry Catalano" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="20667" value="Gwen England" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="5061" value="Manfred F. Milkuhn" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="7661" value="Linda Mosca" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="1030" value="Redmond Aksel Simonsen" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamepublisher" id="120" value="SPI (Simulations Publications, Inc.)" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<versions><item type="boardgameversion" id="158145">
|
||||
<thumbnail>https://cf.geekdo-images.com/NpauF7CJudER5H5nj-z-gA__small/img/Vo85InhIcQUg1myZBiHCL22uu8A=/fit-in/200x150/filters:strip_icc()/pic10078.jpg</thumbnail>
|
||||
<image>https://cf.geekdo-images.com/NpauF7CJudER5H5nj-z-gA__original/img/eGfEPINMJA_0pAKWAYyjJaXmaQo=/0x0/filters:format(jpeg)/pic10078.jpg</image>
|
||||
<canonicalname value="Sorcerer: The Game of Magical Conflict"></canonicalname>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameversion" id="3585" value="Sorcerer: The Game of Magical Conflict" inbound="true"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<name type="primary" sortindex="1" value="SPI boxed edition" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamepublisher" id="120" value="SPI (Simulations Publications, Inc.)" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="16468" value="Larry Catalano" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="20667" value="Gwen England" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="5061" value="Manfred F. Milkuhn" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="7661" value="Linda Mosca" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="1030" value="Redmond Aksel Simonsen" />
|
||||
|
||||
|
||||
|
||||
|
||||
<yearpublished value="1975" />
|
||||
<productcode value="" />
|
||||
<width value="8.4" />
|
||||
<length value="11.5" />
|
||||
<depth value="2.1" />
|
||||
<weight value="1" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="language" id="2184" value="English" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</item>
|
||||
<item type="boardgameversion" id="211154">
|
||||
<thumbnail>https://cf.geekdo-images.com/FDBZTggGOpwHI8w-85bmtg__small/img/-gErHFk_f_I1VCtPATCfFnUXwzg=/fit-in/200x150/filters:strip_icc()/pic162215.jpg</thumbnail>
|
||||
<image>https://cf.geekdo-images.com/FDBZTggGOpwHI8w-85bmtg__original/img/SmLq9Ek_eQQY22d9RR1KMVzvZrs=/0x0/filters:format(jpeg)/pic162215.jpg</image>
|
||||
<canonicalname value="Sorcerer: The Game of Magical Conflict"></canonicalname>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameversion" id="3585" value="Sorcerer: The Game of Magical Conflict" inbound="true"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<name type="primary" sortindex="1" value="SPI Designer's Edition" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamepublisher" id="120" value="SPI (Simulations Publications, Inc.)" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="16468" value="Larry Catalano" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="20667" value="Gwen England" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="5061" value="Manfred F. Milkuhn" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="7661" value="Linda Mosca" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="1030" value="Redmond Aksel Simonsen" />
|
||||
|
||||
|
||||
|
||||
|
||||
<yearpublished value="1975" />
|
||||
<productcode value="" />
|
||||
<width value="8.4" />
|
||||
<length value="11.5" />
|
||||
<depth value="2.1" />
|
||||
<weight value="0" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="language" id="2184" value="English" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</item>
|
||||
<item type="boardgameversion" id="249246">
|
||||
<thumbnail>https://cf.geekdo-images.com/6PzQJaC0yM57G1BqsIyWDA__small/img/dToTgfcoYlMXtY3WQIAdRoV92Cw=/fit-in/200x150/filters:strip_icc()/pic1220937.jpg</thumbnail>
|
||||
<image>https://cf.geekdo-images.com/6PzQJaC0yM57G1BqsIyWDA__original/img/Aka747_k1gwm3uMO175vJwVe9NE=/0x0/filters:format(jpeg)/pic1220937.jpg</image>
|
||||
<canonicalname value="Sorcerer: The Game of Magical Conflict"></canonicalname>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameversion" id="3585" value="Sorcerer: The Game of Magical Conflict" inbound="true"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<name type="primary" sortindex="1" value="SPI flat-pack edition" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamepublisher" id="120" value="SPI (Simulations Publications, Inc.)" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<yearpublished value="1975" />
|
||||
<productcode value="" />
|
||||
<width value="11.75" />
|
||||
<length value="14.75" />
|
||||
<depth value="1" />
|
||||
<weight value="0" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="language" id="2184" value="English" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</item>
|
||||
<item type="boardgameversion" id="158147">
|
||||
<thumbnail>https://cf.geekdo-images.com/5jjVx3HxQGYOedpJCO0M2w__small/img/A26lvJ3YzHDj6ORPsoDYs-E1Hb8=/fit-in/200x150/filters:strip_icc()/pic361569.jpg</thumbnail>
|
||||
<image>https://cf.geekdo-images.com/5jjVx3HxQGYOedpJCO0M2w__original/img/FaQ0icl0S8FgMg6ZQxVpr5xNPgA=/0x0/filters:format(jpeg)/pic361569.jpg</image>
|
||||
<canonicalname value="Sorcier: Le Jeu des Conflits Magiques"></canonicalname>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameversion" id="3585" value="Sorcerer: The Game of Magical Conflict" inbound="true"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<name type="primary" sortindex="1" value="SPI French/Dutch edition" />
|
||||
|
||||
|
||||
<name type="alternate" sortindex="4" value="De Magier: een Spel van Magische Konflikten" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamepublisher" id="120" value="SPI (Simulations Publications, Inc.)" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="16468" value="Larry Catalano" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="20667" value="Gwen England" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="5061" value="Manfred F. Milkuhn" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="7661" value="Linda Mosca" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="1030" value="Redmond Aksel Simonsen" />
|
||||
|
||||
|
||||
|
||||
|
||||
<yearpublished value="1975" />
|
||||
<productcode value="" />
|
||||
<width value="0" />
|
||||
<length value="0" />
|
||||
<depth value="0" />
|
||||
<weight value="0" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="language" id="2183" value="Dutch" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="language" id="2187" value="French" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</item>
|
||||
<item type="boardgameversion" id="33889">
|
||||
<thumbnail>https://cf.geekdo-images.com/FDBZTggGOpwHI8w-85bmtg__small/img/-gErHFk_f_I1VCtPATCfFnUXwzg=/fit-in/200x150/filters:strip_icc()/pic162215.jpg</thumbnail>
|
||||
<image>https://cf.geekdo-images.com/FDBZTggGOpwHI8w-85bmtg__original/img/SmLq9Ek_eQQY22d9RR1KMVzvZrs=/0x0/filters:format(jpeg)/pic162215.jpg</image>
|
||||
<canonicalname value="Sorcerer: The Game of Magical Conflict"></canonicalname>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameversion" id="3585" value="Sorcerer: The Game of Magical Conflict" inbound="true"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<name type="primary" sortindex="1" value="UK flat box edition" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgamepublisher" id="120" value="SPI (Simulations Publications, Inc.)" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="16468" value="Larry Catalano" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="20667" value="Gwen England" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="5061" value="Manfred F. Milkuhn" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="7661" value="Linda Mosca" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="boardgameartist" id="1030" value="Redmond Aksel Simonsen" />
|
||||
|
||||
|
||||
|
||||
|
||||
<yearpublished value="1975" />
|
||||
<productcode value="" />
|
||||
<width value="11.8" />
|
||||
<length value="15" />
|
||||
<depth value="1" />
|
||||
<weight value="0.99208" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link type="language" id="2184" value="English" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</item>
|
||||
</versions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</item>
|
||||
</items>
|
||||
Reference in New Issue
Block a user