Skip to content

Commit 034cb23

Browse files
committed
Update numerical value schema to support ? and *
1 parent 270e221 commit 034cb23

File tree

8 files changed

+239
-68
lines changed

8 files changed

+239
-68
lines changed

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,15 @@ The available tags are:
7474
These tags have been used in the past but are unused right now:
7575
- `st` => _Spell trait_, used to mark whether a card had bonded spells for Marie Lambeau, which is no longer relevant, but still part of the deckbuilding rules.
7676

77+
## Numerical values
78+
79+
Numerical values in the game can sometimes contain symbols such as `-` or `X`. Historically, consumers of this data expect these values to be `number | null`, so we have to use an enumeration to represent special characters. The following mappings are defined:
80+
- `0` and higher: literal integers.
81+
- `null`: `-`
82+
- `X`: `-2`
83+
- `*`: `-3`
84+
- `?`: `-4`
85+
7786
#### Translations
7887

7988
To merge new changes in default language in all locales, run the CoffeeScript script `update_locales`.

pack/side/blob_encounter.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
{
7676
"back_name": "It Is Exposed!",
7777
"back_text": "<b>If this is the first time this act has advanced, read the following:</b>\n<blockquote><i>You've seen the anomaly's true heart. It lies beneath the surface of the ooze, pulsing with unseen power and guiding its myriad forms with alien hunger. You suspect this organ, whatever it may be, holds the secret to destroying the anomaly once and for all.</i></blockquote><hr><b>Regardless of how many times this act has advanced, read the following:</b>\n<blockquote><i>After hours of investigation, you believe that you have pinpointed the creature's heart. Due to the way it shifts throughout the surface of its all-encompassing body, you know it won't stay at its current location for very long. Then you'll have to track it down again...</i></blockquote>\nChoose any [[Oozified]] location. Spawn the set-aside Vulnerable Heart enemy at the chosen location.",
78-
"clues": -2,
78+
"clues": -3,
7979
"code": "85005",
8080
"double_sided": true,
8181
"encounter_code": "blob_epic_multiplayer",
@@ -680,7 +680,7 @@
680680
"enemy_evade": null,
681681
"enemy_fight": null,
682682
"faction_code": "mythos",
683-
"health": -2,
683+
"health": -3,
684684
"illustrator": "Guillaume Ducos",
685685
"is_unique": true,
686686
"name": "Subject 8L-08",

pack/side/coh_encounter.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -409,8 +409,8 @@
409409
"code": "82019",
410410
"encounter_code": "venice",
411411
"encounter_position": 19,
412-
"enemy_evade": -2,
413-
"enemy_fight": -2,
412+
"enemy_evade": -4,
413+
"enemy_fight": -4,
414414
"enemy_horror": 2,
415415
"faction_code": "mythos",
416416
"health": 3,

pack/side/mtt_encounter.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@
673673
"victory": 1
674674
},
675675
{
676-
"back_link": "87034b",
676+
"back_link": "87034b",
677677
"code": "87034",
678678
"encounter_code": "machinations_through_time",
679679
"encounter_position": 33,
@@ -702,7 +702,7 @@
702702
"victory": 1
703703
},
704704
{
705-
"back_link": "87035b",
705+
"back_link": "87035b",
706706
"code": "87035",
707707
"encounter_code": "machinations_through_time",
708708
"encounter_position": 34,
@@ -845,7 +845,7 @@
845845
"victory": 1
846846
},
847847
{
848-
"back_link": "87039b",
848+
"back_link": "87039b",
849849
"code": "87039",
850850
"encounter_code": "machinations_through_time",
851851
"encounter_position": 36,
@@ -915,7 +915,7 @@
915915
"victory": 0
916916
},
917917
{
918-
"back_link": "87042b",
918+
"back_link": "87042b",
919919
"code": "87042",
920920
"encounter_code": "machinations_through_time",
921921
"encounter_position": 41,
@@ -953,7 +953,7 @@
953953
"enemy_fight": 3,
954954
"enemy_horror": 2,
955955
"faction_code": "mythos",
956-
"health": -2,
956+
"health": -3,
957957
"illustrator": "Helge C Balzer",
958958
"is_unique": true,
959959
"name": "Tyr'thrha",

pack/side/wog_encounter.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"back_name": "Reinforcements",
1919
"back_text": "If you are playing in Standalone Mode, add 1 [tablet] token to the chaos bag.\nShuffle the 2 set-aside Ethereal Entity enemies, the 3 Inevitable End treacheries, and the encounter discard pile into the encounter deck.\nIf this is the first agenda to advance to 1b, spawn the set-aside Hune-Stitched Herald enemy at the Athenaeum of the Empty Sky.",
2020
"code": "86002",
21-
"doom": -2,
21+
"doom": -3,
2222
"double_sided": true,
2323
"encounter_code": "war_of_the_outer_gods",
2424
"encounter_position": 2,
@@ -38,7 +38,7 @@
3838
"back_name": "Summoning of the Servitor",
3939
"back_text": "If you are playing in Standalone Mode, add 1 [tablet] token to the chaos bag.\nIf the Hune-Stitched Herald enemy is set-aside, shuffle it into the encounter deck.\nIf this is the first agenda to advance to 2b, spawn the set-aside The Inescapable Maw enemy at the Athenaeum of the Empty Sky.",
4040
"code": "86003",
41-
"doom": -2,
41+
"doom": -3,
4242
"double_sided": true,
4343
"encounter_code": "war_of_the_outer_gods",
4444
"encounter_position": 3,
@@ -58,7 +58,7 @@
5858
"back_name": "War is Over",
5959
"back_text": "If you are playing in Standalone Mode, add 1 [tablet] token to the chaos bag.\nFlip Hub Dimension to its <i>(Gateway to Destruction)</i> side. If Hub Dimension is not in play, put it into play, <i>(Gateway to Destruction)</i> side faceup.\nSpawn the set-aside Silenus enemy at Hub Dimension.\nSearch the encounter deck, encounter discard pile, and each play area for all green and red encounter cards and remove them from the game. Shuffle the encounter deck. Remove each agenda and act from the game and put the set-aside Silenus Descends agenda into play.",
6060
"code": "86004",
61-
"doom": -2,
61+
"doom": -3,
6262
"double_sided": true,
6363
"encounter_code": "war_of_the_outer_gods",
6464
"encounter_position": 4,
@@ -78,7 +78,7 @@
7878
"back_name": "Reinforcements",
7979
"back_text": "If you are playing in Standalone Mode, add 1 [cultist] token to the chaos bag.\nShuffle the 2 set-aside Bringer of Paradise enemies, the 3 Hunt Down treacheries, and the encounter discard pile into the encounter deck.\nIf this is the first agenda to advance to 1b, spawn the set-aside Horrific Shoggoth enemy at the Shrine of Magh'an Ark'at.",
8080
"code": "86005",
81-
"doom": -2,
81+
"doom": -3,
8282
"double_sided": true,
8383
"encounter_code": "war_of_the_outer_gods",
8484
"encounter_position": 5,
@@ -98,7 +98,7 @@
9898
"back_name": "Summoning of the Servitor",
9999
"back_text": "If you are playing in Standalone Mode, add 1 [cultist] token to the chaos bag.\nIf the Horrific Shoggoth enemy is set-aside, shuffle it into the encounter deck.\nIf this is the first agenda to advance to 2b, spawn the set-aside Vile Broodmaster enemy at the Shrine of Magh'an Ark'at.",
100100
"code": "86006",
101-
"doom": -2,
101+
"doom": -3,
102102
"double_sided": true,
103103
"encounter_code": "war_of_the_outer_gods",
104104
"encounter_position": 6,
@@ -118,7 +118,7 @@
118118
"back_name": "War is Over",
119119
"back_text": "If you are playing in Standalone Mode, add 1 [cultist] token to the chaos bag.\nFlip Hub Dimension to its <i>(Gateway to Destruction)</i> side. If Hub Dimension is not in play, put it into play, <i>(Gateway to Destruction)</i> side faceup.\nSpawn the set-aside Magh'an Ark'at enemy at Hub Dimension.\nSearch the encounter deck, encounter discard pile, and each play area for all blue and red encounter cards and remove them from the game. Shuffle the encounter deck. Remove each agenda and act from the game and put the set-aside The Egg Hatches agenda into play.",
120120
"code": "86007",
121-
"doom": -2,
121+
"doom": -3,
122122
"double_sided": true,
123123
"encounter_code": "war_of_the_outer_gods",
124124
"encounter_position": 7,
@@ -138,7 +138,7 @@
138138
"back_name": "Reinforcements",
139139
"back_text": "If you are playing in Standalone Mode, add 1 [elder_thing] token to the chaos bag.\nShuffle 3 of the 4 set-aside Trylogog enemies, the 2 Transmogrify treacheries, and the encounter discard pile into the encounter deck.\nIf this is the first agenda to advance to 1b, spawn the remaining set-aside Trylogog enemy. That enemy gains an additional swarming 2.",
140140
"code": "86008",
141-
"doom": -2,
141+
"doom": -3,
142142
"double_sided": true,
143143
"encounter_code": "war_of_the_outer_gods",
144144
"encounter_position": 8,
@@ -158,7 +158,7 @@
158158
"back_name": "The Swarm Spreads",
159159
"back_text": "If you are playing in Standalone Mode, add 1 [elder_thing] token to the chaos bag.\nIf a copy of Trylogog is set-aside, shuffle it into the encounter deck.\nIf this is the first agenda to advance to 2b, spawn the set-aside Droning Horde enemy at the Burning Pit.",
160160
"code": "86009",
161-
"doom": -2,
161+
"doom": -3,
162162
"double_sided": true,
163163
"encounter_code": "war_of_the_outer_gods",
164164
"encounter_position": 9,
@@ -178,7 +178,7 @@
178178
"back_name": "War is Over",
179179
"back_text": "If you are playing in Standalone Mode, add 1 [elder_thing] token to the chaos bag.\nFlip Hub Dimension to its <i>(Gateway to Destruction)</i> side. If Hub Dimension is not in play, put it into play, <i>(Gateway to Destruction)</i> side faceup.\nSpawn the set-aside Ezel-zen-rezl enemy at Hub Dimension.\nSearch the encounter deck, encounter discard pile, and each play area for all blue and green encounter cards and remove them from the game. Shuffle the encounter deck. Remove each agenda and act from the game and put the set-aside Ezel-zen-rezl Emerges agenda into play.",
180180
"code": "86010",
181-
"doom": -2,
181+
"doom": -3,
182182
"double_sided": true,
183183
"encounter_code": "war_of_the_outer_gods",
184184
"encounter_position": 10,
@@ -626,7 +626,7 @@
626626
"enemy_fight": 4,
627627
"enemy_horror": 3,
628628
"faction_code": "mythos",
629-
"health": -2,
629+
"health": -3,
630630
"illustrator": "Joshua Cairos",
631631
"is_unique": true,
632632
"name": "Silenus",
@@ -759,7 +759,7 @@
759759
"enemy_fight": 3,
760760
"enemy_horror": 1,
761761
"faction_code": "mythos",
762-
"health": -2,
762+
"health": -3,
763763
"illustrator": "Helge C Balzer",
764764
"is_unique": true,
765765
"name": "Magh'an Ark'at",
@@ -890,7 +890,7 @@
890890
"enemy_fight": 5,
891891
"enemy_horror": 2,
892892
"faction_code": "mythos",
893-
"health": -2,
893+
"health": -3,
894894
"illustrator": "Joshua Cairos",
895895
"is_unique": true,
896896
"name": "Ezel-zen-rezl",

pack/tdc/tdcc.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4133,10 +4133,10 @@
41334133
"code": "11701",
41344134
"encounter_code": "the_doom_of_arkham_part_2",
41354135
"encounter_position": 15,
4136-
"enemy_evade": null,
4137-
"enemy_fight": null,
4136+
"enemy_evade": -3,
4137+
"enemy_fight": -3,
41384138
"faction_code": "mythos",
4139-
"health": null,
4139+
"health": -3,
41404140
"illustrator": "JB Casacop",
41414141
"is_unique": true,
41424142
"name": "Cthulhu",

pack/tic/hhg.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"cost": 1,
55
"deck_limit": 2,
66
"faction_code": "guardian",
7-
"health": -2,
7+
"health": -3,
88
"illustrator": "Imad Awan",
99
"name": "Enchanted Armor",
1010
"pack_code": "hhg",
1111
"position": 189,
1212
"quantity": 2,
13-
"sanity": -2,
13+
"sanity": -3,
1414
"skill_agility": 1,
1515
"skill_willpower": 1,
1616
"slot": "Body. Arcane",

0 commit comments

Comments
 (0)