stsdb 0.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
stsdb/__init__.py ADDED
@@ -0,0 +1,3 @@
1
+ from .core import query_card, query_relic
2
+
3
+ __all__ = ["query_card", "query_relic"]
stsdb/__main__.py ADDED
@@ -0,0 +1,5 @@
1
+ from .cli import main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ main()
stsdb/cli.py ADDED
@@ -0,0 +1,35 @@
1
+ import argparse
2
+ import json
3
+
4
+ from .core import query_card, query_relic
5
+
6
+
7
+ def _build_parser():
8
+ parser = argparse.ArgumentParser(description="Deterministic exact-match query toolset")
9
+ subparsers = parser.add_subparsers(dest="tool", required=True)
10
+
11
+ card_parser = subparsers.add_parser("query_card", help="Query a card by exact name")
12
+ card_parser.add_argument("name", help="Exact card name")
13
+ card_parser.add_argument(
14
+ "--upgrade-times",
15
+ type=int,
16
+ default=0,
17
+ help="Requested upgrade count (default: 0)",
18
+ )
19
+
20
+ relic_parser = subparsers.add_parser("query_relic", help="Query a relic by exact name")
21
+ relic_parser.add_argument("name", help="Exact relic name")
22
+
23
+ return parser
24
+
25
+
26
+ def main():
27
+ parser = _build_parser()
28
+ args = parser.parse_args()
29
+
30
+ if args.tool == "query_card":
31
+ result = query_card(args.name, args.upgrade_times)
32
+ else:
33
+ result = query_relic(args.name)
34
+
35
+ print(json.dumps(result, ensure_ascii=True))
stsdb/core.py ADDED
@@ -0,0 +1,137 @@
1
+ import csv
2
+ from functools import lru_cache
3
+ from importlib.resources import files
4
+
5
+
6
+ def _normalize_cost(raw_cost: str):
7
+ if raw_cost == "NULL":
8
+ return None
9
+ return int(raw_cost)
10
+
11
+
12
+ def _data_path(filename: str):
13
+ return files("stsdb").joinpath("data", filename)
14
+
15
+
16
+ @lru_cache(maxsize=1)
17
+ def _cards_by_name():
18
+ cards = {}
19
+ with _data_path("card.csv").open("r", encoding="utf-8", newline="") as f:
20
+ reader = csv.reader(f, delimiter=";")
21
+ for row in reader:
22
+ name, rarity, card_type, cost, description = row
23
+ cards[name] = {
24
+ "name": name,
25
+ "rarity": None if rarity == "NULL" else rarity,
26
+ "type": card_type,
27
+ "cost": _normalize_cost(cost),
28
+ "description": description,
29
+ }
30
+ return cards
31
+
32
+
33
+ @lru_cache(maxsize=1)
34
+ def _relics_by_name():
35
+ relics = {}
36
+ with _data_path("relic.csv").open("r", encoding="utf-8", newline="") as f:
37
+ reader = csv.reader(f, delimiter=";")
38
+ for row in reader:
39
+ name, rarity, description = row
40
+ relics[name] = {
41
+ "name": name,
42
+ "rarity": rarity,
43
+ "description": description,
44
+ }
45
+ return relics
46
+
47
+
48
+ @lru_cache(maxsize=1)
49
+ def _card_playable_by():
50
+ card_map = {}
51
+ with _data_path("play.csv").open("r", encoding="utf-8", newline="") as f:
52
+ reader = csv.reader(f, delimiter=";")
53
+ for row in reader:
54
+ card_name, hero_name = row
55
+ card_map.setdefault(card_name, []).append(hero_name)
56
+ return card_map
57
+
58
+
59
+ @lru_cache(maxsize=1)
60
+ def _card_upgrade_by_name():
61
+ upgrades = {}
62
+ with _data_path("card_upgrade.csv").open("r", encoding="utf-8", newline="") as f:
63
+ reader = csv.reader(f, delimiter=";")
64
+ for row in reader:
65
+ card_name, has_upgrade, cost_upgraded, description_upgraded = row
66
+ upgrades[card_name] = {
67
+ "has_upgrade": has_upgrade == "true",
68
+ "cost_upgraded": _normalize_cost(cost_upgraded),
69
+ "description_upgraded": description_upgraded,
70
+ }
71
+ return upgrades
72
+
73
+
74
+ @lru_cache(maxsize=1)
75
+ def _relic_available_to():
76
+ relic_map = {}
77
+ with _data_path("relic_availability.csv").open("r", encoding="utf-8", newline="") as f:
78
+ reader = csv.reader(f, delimiter=";")
79
+ for row in reader:
80
+ relic_name, hero_name = row
81
+ relic_map.setdefault(relic_name, []).append(hero_name)
82
+ return relic_map
83
+
84
+
85
+ def _apply_searing_blow_upgrades(base_card, upgrade_times: int):
86
+ if upgrade_times <= 0:
87
+ return base_card
88
+
89
+ base_damage = 12
90
+ upgraded_damage = (upgrade_times * (upgrade_times + 7)) // 2 + base_damage
91
+ upgraded_description = f"Deal {upgraded_damage} damage. Can be Upgraded any number of times."
92
+
93
+ upgraded_card = dict(base_card)
94
+ upgraded_card["description"] = upgraded_description
95
+ return upgraded_card
96
+
97
+
98
+ def query_card(name: str, upgrade_times: int = 0):
99
+ if upgrade_times < 0:
100
+ return {"found": False, "error": "INVALID_UPGRADE_TIMES"}
101
+
102
+ card = _cards_by_name().get(name)
103
+ if card is None:
104
+ return {"found": False, "error": "CARD_NOT_FOUND"}
105
+
106
+ entry = dict(card)
107
+ upgrade_info = _card_upgrade_by_name().get(name)
108
+
109
+ applied_upgrade_times = 0
110
+ max_upgrade_times = 0
111
+
112
+ if name == "Searing Blow":
113
+ entry = _apply_searing_blow_upgrades(entry, upgrade_times)
114
+ applied_upgrade_times = upgrade_times
115
+ max_upgrade_times = -1
116
+ elif upgrade_info and upgrade_info["has_upgrade"]:
117
+ max_upgrade_times = 1
118
+ if upgrade_times > 0:
119
+ applied_upgrade_times = 1
120
+ entry["cost"] = upgrade_info["cost_upgraded"]
121
+ entry["description"] = upgrade_info["description_upgraded"]
122
+
123
+ entry["playable_by"] = _card_playable_by().get(name, [])
124
+ entry["requested_upgrade_times"] = upgrade_times
125
+ entry["applied_upgrade_times"] = applied_upgrade_times
126
+ entry["max_upgrade_times"] = max_upgrade_times
127
+ return {"found": True, "entry": entry}
128
+
129
+
130
+ def query_relic(name: str):
131
+ relic = _relics_by_name().get(name)
132
+ if relic is None:
133
+ return {"found": False, "error": "RELIC_NOT_FOUND"}
134
+
135
+ entry = dict(relic)
136
+ entry["available_to"] = _relic_available_to().get(name, [])
137
+ return {"found": True, "entry": entry}
stsdb/data/card.csv ADDED
@@ -0,0 +1,372 @@
1
+ Apparition;Special;Skill;1;Gain 1 Intangible. Exhaust. Ethereal.
2
+ Bite;Special;Attack;1;Deal7 damage. Heal 2 HP.
3
+ J.A.X.;Special;Skill;0;Lost 3 HP. Gain 2 Strenght.
4
+ Ritual Dagger;Special;Attack;1;Deal 15 damage. If this kills an enemy then permanently increase this card's damage by 3.
5
+ Shiv;Special;Attack;0;Deal 4 damage. Exhaust.
6
+ Bandage Up;Uncommon;Skill;0;Heal 4 HP. Exhaust.
7
+ Blind;Uncommon;Skill;0;Apply 2 Weak.
8
+ Dark Shackles;Uncommon;Skill;0;Enemy loses 9 Strength for the rest of this turn.
9
+ Deep Breath;Uncommon;Skill;0;Shuffle your discard pile into your draw pile. Draw 1 card.
10
+ Discovery;Uncommon;Skill;1;Choose 1 of 3 random cards to add to your hand. It costs 0 this turn. Exhaust.
11
+ Dramatic Entrance;Uncommon;Skill;0;Innate. Deal 6 damage to ALL enemies.
12
+ Enlightenment;Uncommon;Skill;0;Reduce the cost of cards in your hand to 1 this turn.
13
+ Finesse;Uncommon;Skill;0;Gain 2 Block. Draw 1 card.
14
+ Flash of Steel;Uncommon;Attack;0;Deal 3 damage. Draw 1 card.
15
+ Forethought;Uncommon;Skill;0;Place a card from your hand on the bottom of your draw pile. It costs 0 until played.
16
+ Good Instincts;Uncommon;Skill;0;Gain 5 Block
17
+ Impatience;Uncommon;Skill;0;If you have no Attackcards in your hand, draw 2 cards.
18
+ Jack of All Trades;Uncommon;Skill;0;Add 1 random Colorless card to your hand. Exhaust.
19
+ Madness;Uncommon;Skill;1;A random card in your hand costs 0 for the rest of combat. Exhaust.
20
+ Mind Blast;Uncommon;Attack;2;Innate. Deal damage equal to the number of cards in your draw pile.
21
+ Panacea;Uncommon;Skill;0;Gain 1 Artifact. Exhaust.
22
+ Panic Button;Uncommon;Skill;0;Gain 30 Block. You cannot gain Block from cards for the next 2 turns. Exhaust.
23
+ Purity;Uncommon;Skill;0;Choose and exhaust 3 cards in your hand. Exhaust.
24
+ Swift Strike;Uncommon;Attack;0;Deal 6 damage.
25
+ Trip;Uncommon;Skill;0;Apply 2 Vulnerable.
26
+ Apotheosis;Rare;Skill;2;Upgrade ALL of your cards for the rest of combat. Exhaust.
27
+ Chrysalis;Rare;Skill;2;Add 3 random Skillsinto your Draw Pile. They cost 0 this combat. Exhaust.
28
+ Hand of Greed;Rare;Attack;2;Deal 20 damage. If this kills a non-minion enemy, gain 20 Gold.
29
+ Magnetism;Rare;Skill;2;At the start of each turn, add a random colorless card to your hand.
30
+ Master of Strategy;Rare;Skill;0;Draw 3 cards. Exhaust.
31
+ Mayhem;Rare;Power;2;At the start of your turn, play the top card of your draw pile.
32
+ Metamorphosis;Rare;Skill;2;Add 3 random Attacks into your Draw Pile. They cost 0 this combat. Exhaust.
33
+ Panache;Rare;Power;0;Every time you play 5 cards in a single turn, deal 10 damage to ALL enemies.
34
+ Sadistic Nature;Rare;Power;0;Whenever you apply a Debuff to an enemy, they take 3 damage.
35
+ Secret Technique;Rare;Skill;0;Choose a Skill from your draw pile and place it into your hand. Exhaust.
36
+ Secret Weapon;Rare;Skill;0;Choose an Attack from your draw pile and place it into your hand. Exhaust.
37
+ The Bomb;Rare;Skill;2;At the end of 3 turns, deal 30 damage to ALL enemies.
38
+ Thinking Ahead;Rare;Skill;0;Draw 2 cards. Place a card from your hand on top of your draw pile. Exhaust.
39
+ Transmutation;Rare;Skill;NULL;Add X random colorless cards into your hand. They cost 0 this turn. Exhaust.
40
+ Violence;Rare;Skill;0;Place 3 random Attack cards from your draw pile into your hand. Exhaust.
41
+ Ascender's Bane;NULL;Curse;NULL;Unplayable. Cannot be removed from your deck. Ethereal.
42
+ Clumsy;NULL;Curse;NULL;Unplayable. Ethereal.
43
+ Decay;NULL;Curse;NULL;Unplayable. At the end of your turn, take 2 damage.
44
+ Doubt;NULL;Curse;NULL;Unplayable. At the end of your turn, gain 1 Weak.
45
+ Injury;NULL;Curse;NULL;Unplayable.
46
+ Necronomicurse;NULL;Curse;NULL;Unplayable. There is no escape from this Curse.
47
+ Normality;NULL;Curse;NULL;Unplayable. You cannot play more than 3 cards this turn.
48
+ Pain;NULL;Curse;NULL;Unplayable. While in hand, lose 1 HP when other cards are played.
49
+ Parasite;NULL;Curse;NULL;Unplayable. If transformed or removed from your deck, lose 3 Max HP.
50
+ Pride;NULL;Curse;NULL;Unplayable. At the end of your turn, put a copy of this card on top of your draw pile. Exhaust.
51
+ Regret;NULL;Curse;NULL;Unplayable. At the end of your turn, lose HP equal to the number of cards in your hand.
52
+ Shame;NULL;Curse;NULL;Unplayable. At the end of your turn, gain 1 Frail.
53
+ Writhe;NULL;Curse;NULL;Unplayable. Innate.
54
+ Burn;NULL;Status;NULL;
55
+ Dazed;NULL;Status;NULL;Unplayable. Ethereal.
56
+ Wound;NULL;Status;NULL;Unplayable.
57
+ Slimed;NULL;Status;1;Exhaust
58
+ Void;NULL;Status;NULL;Unplayable. When this card is drawn, lose 1 Energy. Ethereal.
59
+ Defend;Starter;Skill;1;Gain 5 Block.
60
+ Strike;Starter;Attack;1;Deal 6 damage.
61
+ Defend (Ironclad);Basic;Skill;1;Gain 5 Block.
62
+ Strike (Ironclad);Basic;Attack;1;Deal 6 damage.
63
+ Defend (Silent);Basic;Skill;1;Gain 5 Block.
64
+ Strike (Silent);Basic;Attack;1;Deal 6 damage.
65
+ Defend (Defect);Basic;Skill;1;Gain 5 Block.
66
+ Strike (Defect);Basic;Attack;1;Deal 6 damage.
67
+ Bash;Starter;Attack;2;Deal 8 damage. Apply 2 Vulnerable.
68
+ Anger;Common;Attack;0;Deal 6 damage. Add a copy of this card to your discard pile.
69
+ Armaments;Common;Skill;1;Gain 5 Block. Upgrade a card in your hand for the rest of combat.
70
+ Body Slam;Common;Attack;1;Deal damage equal to your current Block.
71
+ Clash;Common;Attack;0;Can only be played if every card in your hand is an Attack. Deal 14 damage.
72
+ Cleave;Common;Attack;1;Deal 8 damage to ALL enemies.
73
+ Clothesline;Common;Attack;2;Deal 12 damage. Apply 2 Weak.
74
+ Flex;Common;Skill;0;Gain 2 Strength. At the end of your turn, lose 2 Strength.
75
+ Havoc;Common;Skill;1;Play the top card of your draw pile and Exhaust it.
76
+ Headbutt;Common;Attack;1;Deal 9 damage. Place a card from your discard pile on top of your draw pile.
77
+ Heavy Blade;Common;Attack;2;Deal 14 damage. Strength affects Heavy Blade 3 times.
78
+ Iron Wave;Common;Attack;1;Gain 5 Block. Deal 5 damage.
79
+ Perfected Strike;Common;Attack;2;Deal 6 damage. Deals an additional 2 damage for ALL of your cards containing Strike.
80
+ Pommel Strike;Common;Attack;1;Deal 9 damage. Draw 1 card.
81
+ Shrug It Off;Common;Skill;1;Gain 8 Block. Draw 1 card.
82
+ Sword Boomerang;Common;Attack;1;Deal 3 damage to a random enemy 3 times.
83
+ Thunderclap;Common;Attack;1;Deal 4 damage and apply 1 Vulnerable to ALL enemies.
84
+ True Grit;Common;Skill;1;Gain 7 Block. Exhaust a random card from your hand.
85
+ Twin Strike;Common;Attack;1;Deal 5 damage twice.
86
+ Warcry;Common;Skill;2;Draw 1 card. Place a card from your hand on top of your draw pile. Exhaust.
87
+ Wild Strike;Common;Attack;1;Deal 12 damage. Shuffle a Wound into your draw pile.
88
+ Battle Trance;Uncommon;Skill;0;Draw 3 cards. You cannot draw additional cards this turn.
89
+ Blood for Blood;Uncommon;Attack;4;Cost 1 less energy for each time you lose HP in combat. Deal 18 damage.
90
+ Bloodletting;Uncommon;Skill;0;Lose 3 HP. Gain 1 Energy.
91
+ Burning Pact;Uncommon;Skill;1; Exhaust 1 card. Draw 2 cards.
92
+ Carnage;Uncommon;Attack;2;Ethereal. Deal 20 damage.
93
+ Combust;Uncommon;Power;1;At the end of your turn, lose 1 HP and deal 5 damage to ALL enemies.
94
+ Corruption;Uncommon;Power;3;Skills cost 0. Whenever you play a Skill,Exhaust it.
95
+ Disarm;Uncommon;Skill;1;Enemy loses 2 Strength. Exhaust.
96
+ Dropkick;Uncommon;Attack;1;Deal 5 damage. If the enemy is Vulnerable, gain 1 energy and draw 1 card.
97
+ Dual Wield;Uncommon;Skill;1;Create a copy of an Attack or Power card in your hand.
98
+ Entrench;Uncommon;Skill;2;Double your current Block.
99
+ Evolve;Uncommon;Power;1;Whenever you draw a Status, draw 1 card.
100
+ Feel No Pain;Uncommon;Power;1;Whenever a card is Exhausted, gain 3 Block.
101
+ Fire Breathing;Uncommon;Power;1;At the end of your turn, for each Attack played this turn deal 1 damage to ALL enemies.
102
+ Flame Barrier;Uncommon;Skill;2;Gain 12 Block. Whenever you are attacked this turn, deal 4 damage to the attacker.
103
+ Ghostly Armor;Uncommon;Skill;1;Ethereal. Gain 10 Block.
104
+ Hemokinesis;Uncommon;Attack;1;Lose 3 HP. Deal 14 damage.
105
+ Infernal Blade;Uncommon;Skill;1;Add a random Attack to your hand. It costs 0 this turn. Exhaust.
106
+ Inflame;Uncommon;Power;1;Gain 2 Strength.
107
+ Intimidate;Uncommon;Skill;1;Apply 1 Weak to ALL enemies. Exhaust.
108
+ Metallicize;Uncommon;Power;1;At the end of your turn, gain 3 Block.
109
+ Power Through;Uncommon;Skill;1;Add 2 Wounds to your hand. Gain 15 Block.
110
+ Pummel;Uncommon;Attack;1;Deal 2 damage 4 times. Exhaust.
111
+ Rage;Uncommon;Skill;0;Whenever you play an Attack this turn, gain 3 Block
112
+ Rampage;Uncommon;Attack;1;Deal 8 damage. Every time this card is played, increase its damage by 5 for this combat.
113
+ Reckless Charge;Uncommon;Attack;0;Deal 7 damage. Shuffle a Dazed into your draw pile
114
+ Rupture;Uncommon;Power;1;Whenever you lose HP from a card, gain 1 Strength.
115
+ Searing Blow;Uncommon;Attack;2;Deal 12 damage. Can be upgraded any number of times.
116
+ Second Wind;Uncommon;Skill;1;Exhaust all non-Attack cards in your hand and gain 5 Block for each.
117
+ Seeing Red;Uncommon;Skill;1;Gain 2 energy. Exhaust.
118
+ Sentinel;Uncommon;Skill;1;Gain 5 Block. If this card is Exhausted, gain 2 energy.
119
+ Sever Soul;Uncommon;Attack;2;Exhaust all non-Attack cards in your hand. Deal 16 damage.
120
+ Shockwave;Uncommon;Skill;2;Apply 3 Weak and Vulnerable to ALL enemies. Exhaust.
121
+ Spot Weakness;Uncommon;Skill;1;If an enemy intends to attack, gain 3 Strength.
122
+ Uppercut;Uncommon;Attack;2;Deal 13 damage. Apply 1 Weak. Apply 1 Vulnerable.
123
+ Whirlwind;Uncommon;Attack;NULL;Deal 5 damage to ALL enemies X times.
124
+ Barricade;Rare;Power;3;Block no longer expires at the start of your turn.
125
+ Berserk;Rare;Power;0;Gain 3 Vulnerable. Gain 1 Energy at the start of your turn.
126
+ Bludgeon;Rare;Attack;3; Deal 32 damage.
127
+ Brutality;Rare;Power;0;At the start of your turn, lose 1 HP and draw 1 card.
128
+ Dark Embrace;Rare;Power;2;Whenever a card is Exhausted, draw 1 card.
129
+ Demon Form;Rare;Power;3;At the start of each turn, gain 2 Strength.
130
+ Double Tap;Rare;Skill;1;This turn, your next Attack is played twice.
131
+ Exhume;Rare;Skill;1;Place a card from your Exhaust pile into your hand. Exhaust.
132
+ Feed;Rare;Attack;1;Deal 10 damage. If this kills a non-minion enemy, gain 3 permanent Max HP. Exhaust.
133
+ Fiend Fire;Rare;Attack;1;Exhaust your hand. Deal 7 damage for each Exhausted card. Exhaust.
134
+ Immolate;Rare;Attack;2;Deal 21 damage to ALL enemies. Add a Burn to your discard pile.
135
+ Impervious;Rare;Skill;2;Gain 30 Block. Exhaust.
136
+ Juggernaut;Rare;Power;2;Whenever you gain Block, deal 5 damage to a random enemy.
137
+ Limit Break;Rare;Skill;1;Double your Strength. Exhaust
138
+ Offering;Rare;Skill;0;Lose 6 HP. Gain 2 energy. Draw 3 cards. Exhaust.
139
+ Reaper;Rare;Attack;2;Deal 4 damage to ALL enemies. Heal for unblocked damage dealt. Exhaust.
140
+ Neutralize;Starter;Attack;0;Deal 3 damage. Apply 1 Weak.
141
+ Survivor;Starter;Skill;1;Gain 8 Block. Discard a card.
142
+ Acrobatics;Common;Skill;1;Draw 3 cards. Discard 1 card.
143
+ Backflip;Common;Skill;1;Gain 5 block. Draw 2 cards.
144
+ Bane;Common;Attack;1;Deal 7 damage. If the enemy is Poisoned, deal 7 damage again.
145
+ Blade Dance;Common;Skill;1;Add 2 Shivs to your hand.
146
+ Cloak and Dagger;Common;Skill;1;Gain 6 Block. Add 1 Shiv to your hand.
147
+ Dagger Spray;Common;Attack;1;Deal 4 damage to ALL enemies twice.
148
+ Dagger Throw;Common;Attack;1;Deal 9 damage. Draw 1 card. Discard 1 card.
149
+ Deadly Poison;Common;Skill;1;Apply 5 Poison.
150
+ Deflect;Common;Skill;0;Gain 4 Block.
151
+ Dodge and Roll;Common;Skill;1;Gain 4 Block. Next turn gain 4 Deal 8 damage. Next turn gain 1 Energy.Block.
152
+ Flying Knee;Common;Attack;1;Deal 8 damage. Next turn gain 1 Energy.
153
+ Outmaneuver;Common;Skill;1;Next turn gain 2 Energy.
154
+ Piercing Wail;Common;Skill;1;ALL enemies lose 6 Strength for 1 turn. Exhaust.
155
+ Poisoned Stab;Common;Attack;1;Deal 6 damage. Apply 3 Poison.
156
+ Prepared;Common;Skill;0;Draw 1 card. Discard 1 card.
157
+ Quick Slash;Common;Attack;1;Deal 8 damage. Draw 1 card.
158
+ Slice;Common;Attack;0;Deal 5 damage.
159
+ Sneaky Strike;Common;Attack;2;Deal 10 damage. If you have discarded a card this turn, gain 2 Energy.
160
+ Sucker Punch;Common;Attack;1;Deal 7 damage. Apply 1 Weak.
161
+ Accuracy;Uncommon;Power;1;Shivs deal 3 additional damage.
162
+ All-Out Attack;Uncommon;Attack;1;Deal 10 damage to ALL enemies. Discard 1 card at random.
163
+ Backstab;Uncommon;Attack;0;Deal 11 damage. Innate. Exhaust.
164
+ Blur;Uncommon;Skill;1;Gain 5 Block. Block is not removed at the start of your next turn.
165
+ Bouncing Flask;Uncommon;Skill;2;Apply 3 poison to a random enemy 3 times.
166
+ Calculated Gamble;Uncommon;Skill;0;Discard your hand, then draw that many cards. Exhaust.
167
+ Caltrops;Uncommon;Power;1;Whenever you are attacked, deal 3 damage to the attacker.
168
+ Catalyst;Uncommon;Skill;1;Double an enemy's Poison. Exhaust.
169
+ Choke;Uncommon;Attack;2;Deal 12 damage. Whenever you play a card this turn, targeted enemy loses 3 HP.
170
+ Concentrate;Uncommon;Skill;0;Discard 3 cards. Gain 2 Energy.
171
+ Crippling Cloud;Uncommon;Skill;2;Apply 4 Poison and 2 Weak to ALL enemies. Exhaust.
172
+ Dash;Uncommon;Attack;2;Gain 10 Block. Deal 10 damage.
173
+ Distraction;Uncommon;Skill;1;Add a random Skill to your hand. It costs 0 this turn. Exhaust.
174
+ Endless Agony;Uncommon;Attack;0;Whenever you draw this card, add a copy of it to your hand. Deal 4 damage. Exhaust.
175
+ Escape Plan;Uncommon;Skill;0;Draw 1 card. If the card is a Skill, gain 3 Block.
176
+ Eviscerate;Uncommon;Attack;4;Costs 1 less Energy for each card discarded this turn. Deal 6 damage three times.
177
+ Expertise;Uncommon;Skill;1;Draw cards until you have 6 in your hand.
178
+ Finisher;Uncommon;Attack;1;Deal 6 damage for each Attack played this turn.
179
+ Flechettes;Uncommon;Attack;1;Deal 4 damage for each Skill in your hand.
180
+ Footwork;Uncommon;Power;1;Gain 2 Dexterity.
181
+ Heel Hook;Uncommon;Attack;1;Deal 5 damage. If the enemy is Weak, Gain 1 Energy and draw 1 card.
182
+ Infinite Blades;Uncommon;Power;1;At the start of your turn, add a Shiv to your hand.
183
+ Leg Sweep;Uncommon;Skill;2;Apply 2 Weak. Gain 11 Block.
184
+ Masterful Stab;Uncommon;Attack;0;Costs 1 additional Energy for each time you lose HP this combat. Deal 12 damage.
185
+ Noxious Fumes;Uncommon;Power;1;At the start of your turn, apply 2 Poison to ALL enemies.
186
+ Predator;Uncommon;Attack;2;Deal 15 damage. Draw 2 more cards next turn.
187
+ Reflex;Uncommon;Skill;NULL;Unplayable. If this card is discarded from your hand, draw 1 cards.
188
+ Riddle with Holes;Uncommon;Attack;2;Deal 3 damage 5 times.
189
+ Setup;Uncommon;Skill;1;Place a card in your hand on top of your draw pile. It costs 0 until it is played.
190
+ Skewer;Uncommon;Attack;NULL;Deal 7 damage X times.
191
+ Tactician;Uncommon;Skill;NULL;Unplayable. If this card is discarded from your hand, gain 1 Energy.
192
+ Terror;Uncommon;Skill;1;Apply 99 Vulnerable. Exhaust.
193
+ Well-Laid Plans;Uncommon;Power;0;At the end of your turn, Retain up to 1 card.
194
+ A Thousand Cuts;Rare;Power;2;Whenever you play a card, deal 1 damage to ALL enemies.
195
+ Adrenaline;Rare;Skill;0;Gain 1 Energy. Draw 2 cards. Exhaust.
196
+ After Image;Rare;Power;1;Whenever you play a card, gain 1 Block.
197
+ Alchemize;Rare;Skill;1;Obtain a random potion. Exhaust.
198
+ Bullet Time;Rare;Skill;3;You cannot draw additional cards this turn. Reduce the cost of cards in your hand to 0 this turn.
199
+ Burst;Rare;Skill;1;This turn your next 1 Skill is played twice.
200
+ Corpse Explosion;Rare;Skill;2;Apply 6 Poison. When the enemy dies, deal damage equal to its max HP to ALL enemies.
201
+ Die Die Die;Rare;Attack;1;Deal 13 damage to ALL enemies. Exhaust.
202
+ Doppelganger;Rare;Skill;NULL;Next turn, draw X cards and gain X Energy.
203
+ Envenom;Rare;Power;2;Whenever an attack deals unblocked damage, apply 1 Poison.
204
+ Glass Knife;Rare;Attack;1;Deal 8 damage twice. Glass Knife's damage is lowered by 2 this combat.
205
+ Grand Finale;Rare;Attack;0;Can only be played if there are no cards in your draw pile. Deal 50 damage to ALL enemies.
206
+ Malaise;Rare;Skill;NULL;Enemy loses X Strength. Apply X Weak. Exhaust.
207
+ Nightmare;Rare;Skill;3;Choose a card. Next turn, add 3 copies of that card into your hand. Exhaust.
208
+ Phantasmal Killer;Rare;Skill;2;On your next turn, your Attack damage is doubled.
209
+ Storm of Steel;Rare;Skill;2;Discard your hand. Add 1 Shiv to your hand for each card discarded.
210
+ Tools of the Trade;Rare;Power;1;At the start of your turn, draw 1 card and discard 1 card.
211
+ Unload;Rare;Attack;1;Deal 14 damage. Discard all non-Attack cards.
212
+ Wraith Form;Rare;Power;3;Gain 2 Intangible. At the end of your turn, lose 1 Dexterity.
213
+ Dualcast;Starter;Skill;1;Evoke your next Orb
214
+ Zap;Starter;Skill;1;Channel 1 Lightning
215
+ Ball Lightning;Common;Attack;1;Deal 7 damage. Channel 1 Lightning.
216
+ Barrage;Common;Attack;1;Deal 4 damage for each Channeled Orb.
217
+ Beam Cell;Common;Attack;0;Deal 3 damage and apply 1 Vulnerable.
218
+ Charge Battery;Common;Skill;1;Gain 7 Block.Next turn, gain 1 Energy.
219
+ Claw;Common;Attack;0;Deal 3 damage. All Claw cards deal 2 additional damage this combat.
220
+ Cold Snap;Common;Attack;1;Deal 6 damage. Channel 1 Frost.
221
+ Compile Driver;Common;Attack;1;Deal 7 damage. Draw 1 card for each unique Orb you have.
222
+ Coolheaded;Common;Skill;1;Channel 1 Frost.Draw 1 card.
223
+ Go for the Eyes;Common;Attack;0;Deal 3 damage. If the enemy intends to attack, apply 1 Weak.
224
+ Hologram;Common;Skill;1;Gain 3 Block. Return a card from your discard pile to your hand. Exhaust
225
+ Leap;Common;Skill;1;Gain 9 Block.
226
+ Rebound;Common;Attack;1;Deal 9 damage. Put the next card you play this turn on top of your draw pile.
227
+ Recursion;Common;Skill;1;Evoke your next Orb. Channel the Orb that was just Evoked.
228
+ Stack;Common;Skill;1;Gain Block equal to the number of cards in your discard pile.
229
+ Steam Barrier;Common;Skill;0;Gain 6 Block. Decrease this card's Block by 1 this combat.
230
+ Streamline;Common;Attack;2;Deal 15 damage. Whenever you play this card, reduce its cost by 1 for this combat.
231
+ Sweeping Beam;Common;Attack;1;Deal 6 damage to ALL enemies. Draw 1 card.
232
+ TURBO;Common;Skill;0;Gain 2 Energy. Add a Void into your discard pile.
233
+ Aggregate;Uncommon;Skill;1;Gain 1 Energy for every 6 cards in your draw pile.
234
+ Auto-Shields;Uncommon;Skill;1;If you have 0 Block, gain 11 Block.
235
+ Blizzard;Uncommon;Attack;1;Deal damage equal to 2 times the Frost Channeled this combat to ALL enemies.
236
+ Boot Sequence;Uncommon;Skill;0;Gain 10 Block. Innate. Exhaust.
237
+ Bullseye;Uncommon;Attack;1;Deal 8 damage. Apply 1 Lock-On.
238
+ Capacitor;Uncommon;Power;1;Gain 2 Orb slots.
239
+ Chaos;Uncommon;Skill;1;Channel 1 random Orb.
240
+ Chill;Uncommon;Skill;0;Channel 1 Frost for each enemy in combat. Exhaust.
241
+ Consume;Uncommon;Skill;2;Gain 2 Focus. Lose 1 Orb Slot.
242
+ Darkness;Uncommon;Skill;1;Channel 1 Dark.
243
+ Defragment;Uncommon;Power;1;Gain 1 Focus.
244
+ Doom and Gloom;Uncommon;Attack;2;Deal 10 damage to ALL enemies. Channel 1 Dark.
245
+ Double Energy;Uncommon;Skill;1;Double your Energy. Exhaust.
246
+ Equilibrium;Uncommon;Skill;2;Gain 13 Block. Retain your hand this turn.
247
+ FTL;Uncommon;Attack;0;Deal 5 damage. If you have played less than 3 cards this turn, draw 1 card.
248
+ Force Field;Uncommon;Skill;4;Costs 1 less Energy for each Power card played this combat. Gain 12 Block.
249
+ Fusion;Uncommon;Skill;2;Channel 1 Plasma.
250
+ Genetic Algorithm;Uncommon;Skill;1;Gain 1 Block. When played, permanently increase this card's Block by 2. Exhaust.
251
+ Glacier;Uncommon;Skill;2;Gain 7 Block. Channel 2 Frost.
252
+ Heatsinks;Uncommon;Power;1;Whenever you play a Power card, draw 1 card.
253
+ Hello World;Uncommon;Power;1;At the start of your turn, add a random Common card into your hand.
254
+ Loop;Uncommon;Power;1;At the start of your turn, trigger the passive ability of your next Orb
255
+ Melter;Uncommon;Attack;1;Remove all Block from an enemy. Deal 10 amage.
256
+ Overclock;Uncommon;Skill;0;Draw 2 cards. Add a Burn into your discard pile.
257
+ Recycle;Uncommon;Skill;1;Exhaust a card. Gain Energy equal to its cost.
258
+ Reinforced Body;Uncommon;Skill;NULL;Gain 7 Block X times.
259
+ Reprogram;Uncommon;Skill;0;Look at the top 4 cards of your draw pile. You may discard any of them.
260
+ Rip and Tear;Uncommon;Attack;1;Deal 7 damage to a random enemy 2 times.
261
+ Scrape;Uncommon;Attack;1;Deal 7 damage. Draw 3 cards. Discard all cards drawn this way that do not cost 0.
262
+ Self Repair;Uncommon;Power;1;At the end of combat, heal 7 HP.
263
+ Skim;Uncommon;Skill;1;Draw 3 cards.
264
+ Static Discharge;Uncommon;Power;1;Whenever you take attack damage, Channel 1 Lightning.
265
+ Storm;Uncommon;Power;1;Whenever you play a Power, Channel 1 Lightning.
266
+ Sunder;Uncommon;Attack;3;Deal 24 damage. If this kills the enemy, gain 3 Energy.
267
+ Tempest;Uncommon;Skill;NULL;Channel X Lightning. Exhaust.
268
+ White Noise;Uncommon;Skill;1;Add a random Power to your hand. It costs 0 this turn. Exhaust.
269
+ All for One;Rare;Attack;2;Deal 10 damage. Put all Cost 0 cards from your discard pile into your hand.
270
+ Amplify;Rare;Skill;1;This turn, your next Power is played twice.
271
+ Biased Cognition;Rare;Power;1;Gain 4 Focus. At the start of each turn, lose 1 Focus.
272
+ Buffer;Rare;Power;2;Prevent the next time you would lose HP.
273
+ Core Surge;Rare;Attack;1;Deal 11 damage. Gain 1 Artifact. Exhaust.
274
+ Creative AI;Rare;Power;3;At the start of each turn, add a random Power card to your hand.
275
+ Echo Form;Rare;Power;3;The first card you play each turn is played twice. Ethereal.
276
+ Electrodynamics;Rare;Power;2;Lightning now hits ALL enemies. Channel 2 Lightning.
277
+ Fission;Rare;Skill;0;Remove ALL of your Orbs, gain 1 Energy and draw 1 card for each Orb removed. Exhaust.
278
+ Hyperbeam;Rare;Attack;2;Deal 26 damage to ALL enemies. Lose 3 Focus.
279
+ Machine Learning;Rare;Power;1;At the start of your turn, draw 1 additional card.
280
+ Meteor Strike;Rare;Attack;5;Deal 24 damage. Channel 3 Plasma.
281
+ Multi-Cast;Rare;Skill;NULL;Evoke your next Orb X times.
282
+ Rainbow;Rare;Skill;2;Channel 1 Lightning, 1 Frost, and 1 Dark. Exhaust.
283
+ Reboot;Rare;Skill;0;Shuffle all of your cards into your draw pile, then draw 4 cards. Exhaust.
284
+ Seek;Rare;Skill;0;Choose a card from your draw pile and place it into your hand. Exhaust.
285
+ Thunder Strike;Rare;Attack;3;Deal 7 damage to a random enemy for each Lightning Channeled this combat.
286
+ Defend (Watcher);Basic;Skill;1;Gain 5 Block.
287
+ Eruption;Basic;Attack;2;Deal 9 damage. Enter Wrath.
288
+ Strike (Watcher);Basic;Attack;1;Deal 6 damage.
289
+ Vigilance;Basic;Skill;2;Gain 8 Block. Enter Calm.
290
+ Bowling Bash;Common;Attack;1;Deal 7 damage for each enemy in combat.
291
+ Consecrate;Common;Attack;0;Deal 5 damage to ALL enemies.
292
+ Crescendo;Common;Skill;1;Retain. Enter Wrath. Exhaust.
293
+ Crush Joints;Common;Attack;1;Deal 8 damage. If the last card played this combat was a Skill, apply 1 Vulnerable.
294
+ Cut Through Fate;Common;Attack;1;Deal 7 damage. Scry 2. Draw 1 card.
295
+ Empty Body;Common;Skill;1;Gain 7 Block. Exit your Stance.
296
+ Empty Fist;Common;Attack;1;Deal 9 damage. Exit your Stance.
297
+ Evaluate;Common;Skill;1;Gain 6 Block. Shuffle an Insight into your draw pile.
298
+ Flurry of Blows;Common;Attack;0;Deal 4 damage. Whenever you change Stances, return this from the discard pile to your hand.
299
+ Flying Sleeves;Common;Attack;1;Retain. Deal 4 damage twice.
300
+ Follow-Up;Common;Attack;1;Deal 7 damage. If the previous card played was an Attack, gain Energy.
301
+ Halt;Common;Skill;0;Gain 3 Block. If you are in Wrath, gain 9 additional Block.
302
+ Just Lucky;Common;Attack;0;Scry 1. Gain 2 Block. Deal 3 damage.
303
+ Pressure Points;Common;Skill;1;Apply 8 Mark. ALL enemies lose HP equal to their Mark.
304
+ Prostrate;Common;Skill;0;Gain 2 Mantra. Gain 4 Block.
305
+ Protect;Common;Skill;2;Retain. Gain 12 Block.
306
+ Sash Whip;Common;Attack;1;Deal 8 damage. If the last card played this combat was an Attack, apply 1 Weak.
307
+ Third Eye;Common;Skill;1;Gain 7 Block. Scry 3.
308
+ Tranquility;Common;Skill;1;Retain. Enter Calm. Exhaust.
309
+ Battle Hymn;Uncommon;Power;1;At the start of each turn add a Smite into your hand.
310
+ Carve Reality;Uncommon;Attack;1;Deal 6 damage. Add a Smite into your hand.
311
+ Collect;Uncommon;Skill;NULL;Put a Miracle+ into your hand at the start of your next X turns. Exhaust
312
+ Conclude;Uncommon;Attack;1;Deal 12 damage to ALL enemies. End your turn.
313
+ Deceive Reality;Uncommon;Skill;1;Gain 4 Block. Add a Safety into your hand.
314
+ Empty Mind;Uncommon;Skill;1;Exit your Stance. Draw 2 cards.
315
+ Fasting;Uncommon;Power;2;Gain 3 Strength. Gain 3 Dexterity. Gain 1 less Energy at the start of each turn.
316
+ Fear No Evil;Uncommon;Attack;1;Deal 8 damage. If the enemy intends to Attack, enter Calm.
317
+ Foreign Influence;Uncommon;Skill;0;Choose 1 of 3 Attacks of any color to add to your hand. Exhaust.
318
+ Foresight;Uncommon;Power;1;At the start of your turn, Scry 3.
319
+ Indignation;Uncommon;Skill;1;If you are in Wrath, apply 3 Vulnerable to ALL enemies, otherwise enter Wrath.
320
+ Inner Peace;Uncommon;Skill;1;If you are in Calm, draw 3 cards, otherwise Enter Calm.
321
+ Like Water;Uncommon;Power;1;At the end of your turn, if you are in Calm, gain 5 Block.
322
+ Meditate;Uncommon;Skill;1;Put 1 card from your discard pile into your hand and Retain it. Enter Calm. End your turn.
323
+ Mental Fortress;Uncommon;Power;1;Whenever you switch Stances, gain 4 Block.
324
+ Nirvana;Uncommon;Power;1;Whenever you Scry, gain 3 Block.
325
+ Perseverance;Uncommon;Skill;1;Retain. Gain 5 Block. Whenever this card is Retained, increase its Block by 2.
326
+ Pray;Uncommon;Skill;1;Gain 3 Mantra. Shuffle an Insight into your draw pile.
327
+ Reach Heaven;Uncommon;Attack;2;Deal 10 damage. Shuffle a Through Violence into your draw pile.
328
+ Rushdown;Uncommon;Power;1;Whenever you enter Wrath, draw 2 cards.
329
+ Sanctity;Uncommon;Skill;1;Gain 6 Block. If the last card played this combat was a Skill, draw 2 cards.
330
+ Sands of Time;Uncommon;Attack;4;Retain. Deal 20 damage. Whenever this card is Retained, lower its cost by 1.
331
+ Signature Move;Uncommon;Attack;2;Can only be played if this is the only Attack in your hand. Deal 30 damage.
332
+ Simmering Fury;Uncommon;Skill;1;At the start of your next turn, enter Wrath and draw 2 cards.
333
+ Study;Uncommon;Power;2;At the end of your turn, shuffle an Insight into your draw pile.
334
+ Swivel;Uncommon;Skill;2;Gain 8 Block. The next Attack you play costs 0.
335
+ Talk to the Hand;Uncommon;Attack;1;Deal 5 damage. Whenever you attack this enemy, gain 2 Block. Exhaust.
336
+ Tantrum;Uncommon;Attack;1;Deal 3 damage 3 times. Enter Wrath. Shuffle this card into your draw pile.
337
+ Wallop;Uncommon;Attack;2;Deal 9 damage. Gain Block equal to unblocked damage dealt.
338
+ Wave of the Hand;Uncommon;Skill;1;Whenever you gain Block this turn, apply 1 Weak to ALL enemies.
339
+ Weave;Uncommon;Attack;0;Deal 4 damage. Whenever you Scry, return this from the discard pile to your hand.
340
+ Wheel Kick;Uncommon;Attack;2;Deal 15 damage. Draw 2 cards.
341
+ Windmill Strike;Uncommon;Attack;2;Retain. Deal 7 damage. Whenever this card is Retained, increase its damage by 4.
342
+ Worship;Uncommon;Skill;2;Gain 5 Mantra.
343
+ Wreath of Flame;Uncommon;Skill;1;Your next Attack deals 5 additional damage.
344
+ Alpha;Rare;Skill;1;Shuffle a Beta into your draw pile. Exhaust.
345
+ Blasphemy;Rare;Skill;1;Enter Divinity. Die next turn. Exhaust
346
+ Brilliance;Rare;Attack;1;Deal 12 damage. Deals additional damage equal to Mantra gained this combat.
347
+ Conjure Blade;Rare;Skill;NULL;Shuffle an Expunger into your draw pile. Exhaust.
348
+ Deus Ex Machina;Rare;Skill;NULL;Unplayable. When you draw this card, add 2 Miracles to your hand and Exhaust.
349
+ Deva Form;Rare;Power;3;Ethereal. At the start of your turn, gain Energy and increase this gain by 1.
350
+ Devotion;Rare;Power;1;At the start of your turn, gain 2 Mantra.
351
+ Establishment;Rare;Power;1;Whenever a card is Retained, lower its cost by 1.
352
+ Judgment;Rare;Skill;1;If the enemy has 30 or less HP, set their HP to 0.
353
+ Lesson Learned;Rare;Attack;2;Deal 10 damage. If Fatal, Upgrade a random card in your deck. Exhaust.
354
+ Master Reality;Rare;Power;1;Whenever a card is created during combat, Upgrade it.
355
+ Omniscience;Rare;Skill;4;Choose a card in your draw pile. Play the chosen card twice and Exhaust it. Exhaust.
356
+ Ragnarok;Rare;Attack;3;Deal 5 damage to a random enemy 5 times.
357
+ Scrawl;Rare;Skill;1;Draw cards until your hand is full. Exhaust.
358
+ Spirit Shield;Rare;Skill;2;Gain 3 Block for each card in your hand.
359
+ Vault;Rare;Skill;3;Take an extra turn after this one. End your turn. Exhaust.
360
+ Wish;Rare;Skill;3;Choose one: Gain 6 Plated Armor, 3 Strength, or 25 Gold. Exhaust.
361
+ Become Almighty;Special;Power;NULL;Gain 3 Strength.
362
+ Beta;Special;Skill;2;Shuffle an Omega into draw pile. Exhaust.
363
+ Curse of the Bell;Curse;Curse;NULL;Unplayable. Cannot be removed from your deck.
364
+ Expunger;Special;Attack;1;Deal 9 damage X times.
365
+ Fame and Fortune;Special;Skill;NULL;Gain 25 Gold
366
+ Insight;Special;Skill;0;Retain. Draw 2 cards. Exhaust.
367
+ Live Forever;Special;Power;NULL;Gain 6 Plated Armor.
368
+ Miracle;Special;Skill;0;Retain. Gain Energy. Exhaust.
369
+ Omega;Special;Power;3;At the end of your turn, deal 50 damage to ALL enemies.
370
+ Safety;Special;Skill;1;Retain. Gain 12 Block. Exhaust.
371
+ Smite;Special;Attack;1;Retain. Deal 12 damage. Exhaust.
372
+ Through Violence;Special;Attack;0;Retain. Deal 20 damage. Exhaust.