@codehawks/agent-battle-arena-mcp 1.0.0

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.
Files changed (74) hide show
  1. package/README.md +112 -0
  2. package/dist/data/creatures.d.ts +6 -0
  3. package/dist/data/creatures.d.ts.map +1 -0
  4. package/dist/data/creatures.js +524 -0
  5. package/dist/data/creatures.js.map +1 -0
  6. package/dist/data/moves.d.ts +5 -0
  7. package/dist/data/moves.d.ts.map +1 -0
  8. package/dist/data/moves.js +1034 -0
  9. package/dist/data/moves.js.map +1 -0
  10. package/dist/data/sprites.d.ts +6 -0
  11. package/dist/data/sprites.d.ts.map +1 -0
  12. package/dist/data/sprites.js +5 -0
  13. package/dist/data/sprites.js.map +1 -0
  14. package/dist/data/types.d.ts +115 -0
  15. package/dist/data/types.d.ts.map +1 -0
  16. package/dist/data/types.js +29 -0
  17. package/dist/data/types.js.map +1 -0
  18. package/dist/engine/ai.d.ts +4 -0
  19. package/dist/engine/ai.d.ts.map +1 -0
  20. package/dist/engine/ai.js +138 -0
  21. package/dist/engine/ai.js.map +1 -0
  22. package/dist/engine/battle.d.ts +12 -0
  23. package/dist/engine/battle.d.ts.map +1 -0
  24. package/dist/engine/battle.js +313 -0
  25. package/dist/engine/battle.js.map +1 -0
  26. package/dist/engine/damage.d.ts +14 -0
  27. package/dist/engine/damage.d.ts.map +1 -0
  28. package/dist/engine/damage.js +51 -0
  29. package/dist/engine/damage.js.map +1 -0
  30. package/dist/engine/effects.d.ts +9 -0
  31. package/dist/engine/effects.d.ts.map +1 -0
  32. package/dist/engine/effects.js +99 -0
  33. package/dist/engine/effects.js.map +1 -0
  34. package/dist/engine/typeChart.d.ts +7 -0
  35. package/dist/engine/typeChart.d.ts.map +1 -0
  36. package/dist/engine/typeChart.js +73 -0
  37. package/dist/engine/typeChart.js.map +1 -0
  38. package/dist/index.d.ts +3 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +14 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/server.d.ts +3 -0
  43. package/dist/server.d.ts.map +1 -0
  44. package/dist/server.js +97 -0
  45. package/dist/server.js.map +1 -0
  46. package/dist/tools/getMoveInfo.d.ts +4 -0
  47. package/dist/tools/getMoveInfo.d.ts.map +1 -0
  48. package/dist/tools/getMoveInfo.js +33 -0
  49. package/dist/tools/getMoveInfo.js.map +1 -0
  50. package/dist/tools/getSprites.d.ts +2 -0
  51. package/dist/tools/getSprites.d.ts.map +1 -0
  52. package/dist/tools/getSprites.js +15 -0
  53. package/dist/tools/getSprites.js.map +1 -0
  54. package/dist/tools/getState.d.ts +2 -0
  55. package/dist/tools/getState.d.ts.map +1 -0
  56. package/dist/tools/getState.js +18 -0
  57. package/dist/tools/getState.js.map +1 -0
  58. package/dist/tools/listCreatures.d.ts +4 -0
  59. package/dist/tools/listCreatures.d.ts.map +1 -0
  60. package/dist/tools/listCreatures.js +36 -0
  61. package/dist/tools/listCreatures.js.map +1 -0
  62. package/dist/tools/makeMove.d.ts +4 -0
  63. package/dist/tools/makeMove.d.ts.map +1 -0
  64. package/dist/tools/makeMove.js +21 -0
  65. package/dist/tools/makeMove.js.map +1 -0
  66. package/dist/tools/startBattle.d.ts +6 -0
  67. package/dist/tools/startBattle.d.ts.map +1 -0
  68. package/dist/tools/startBattle.js +22 -0
  69. package/dist/tools/startBattle.js.map +1 -0
  70. package/dist/utils/rng.d.ts +11 -0
  71. package/dist/utils/rng.d.ts.map +1 -0
  72. package/dist/utils/rng.js +26 -0
  73. package/dist/utils/rng.js.map +1 -0
  74. package/package.json +45 -0
package/README.md ADDED
@@ -0,0 +1,112 @@
1
+ # Agent Battle Arena — MCP Server
2
+
3
+ A turn-based creature battle game where **Claude is the player**. Claude strategises, picks moves, and renders each turn as a visual React artifact — while the MCP server runs the game engine and opponent AI.
4
+
5
+ **50 creatures. 12 types. 100+ moves. Pixel art sprites. 3 AI difficulties.**
6
+
7
+ ## Install
8
+
9
+ ### Claude Desktop
10
+
11
+ Add to your `claude_desktop_config.json`:
12
+
13
+ ```json
14
+ {
15
+ "mcpServers": {
16
+ "agent-battle-arena": {
17
+ "command": "npx",
18
+ "args": ["-y", "agent-battle-arena-mcp"]
19
+ }
20
+ }
21
+ }
22
+ ```
23
+
24
+ **Config file location:**
25
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
26
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
27
+
28
+ Restart Claude Desktop, then say: **"Let's battle!"**
29
+
30
+ ### Claude Code
31
+
32
+ ```bash
33
+ claude mcp add agent-battle-arena -- npx -y agent-battle-arena-mcp
34
+ ```
35
+
36
+ ### From source
37
+
38
+ ```bash
39
+ git clone https://github.com/LouisKnworpsworx/agent-battle-arena-mcp
40
+ cd agent-battle-arena-mcp
41
+ npm install && npm run build
42
+ ```
43
+
44
+ Then point your MCP config at `dist/index.js`.
45
+
46
+ ## How It Works
47
+
48
+ ```
49
+ You say "Let's battle!" → Claude calls start_battle → gets random creatures
50
+ → calls get_battle_sprites → gets pixel art images → renders React artifact
51
+ → You say a move or "go" → Claude calls make_move → both sides attack
52
+ → artifact updates with new HP, damage, effects → repeat until KO
53
+ ```
54
+
55
+ Claude acts as your champion — reasoning about type matchups, move selection, and strategy. You can coach it ("buff your defense"), override it ("use Overcharge, full send"), or just say "go" and watch it play.
56
+
57
+ ## MCP Tools
58
+
59
+ | Tool | Description |
60
+ |------|-------------|
61
+ | `start_battle` | Start a battle — random creature, choose difficulty |
62
+ | `make_move` | Execute a move — resolves both player + opponent turn |
63
+ | `get_battle_sprites` | Fetch pixel art sprites for the React artifact |
64
+ | `get_state` | Re-read battle state for strategy planning |
65
+ | `list_creatures` | Browse all 50 creatures with stats and moves |
66
+ | `get_move_info` | Deep-dive on a specific move |
67
+
68
+ ## Creatures
69
+
70
+ 50 creatures across 12 types, each with unique stats and 4 moves:
71
+
72
+ | Type | Creatures |
73
+ |------|-----------|
74
+ | Electric | Voltfang, Shockeel, Thundermane, Sparkfly |
75
+ | Earth | Terraclaw, Boulderback, Dustfang, Quakejaw |
76
+ | Water | Aquaveil, Tidalfin, Coralguard, Mistweaver, Depthcrawl |
77
+ | Fire | Pyrothon, Cinderboar, Ashraven, Magmawyrm, Emberfox |
78
+ | Air | Zephyrix, Stormtalon, Breezepaw, Galewing |
79
+ | Plant | Thornvine, Bloomfang, Mossback, Fernstrike |
80
+ | Light | Glimmox, Solarius, Lumidrake, Haloveil |
81
+ | Shadow | Umbrashar, Duskfang, Grimshade, Voidmoth |
82
+ | Metal | Ironhide, Steelstrike, Chromajaw, Cogsworth |
83
+ | Ice | Frostbite, Glacieron, Shiverfin, Rimeclaw |
84
+ | Poison | Toxispore, Venomaw, Blightroot, Miasmatic |
85
+ | Plasma | Novablaze, Ionraptor, Pulsegeist, Arcflare |
86
+
87
+ ## Features
88
+
89
+ - **3 AI difficulties** — Easy (random), Normal (type-aware), Hard (predictive)
90
+ - **12-type effectiveness chart** — super effective, not very effective, neutral
91
+ - **Status effects** — burn, freeze, poison, paralysis
92
+ - **Stat modifiers** — attack/defense/speed stages (±4)
93
+ - **Critical hits** — 10% base, some moves boost crit rate
94
+ - **Move effects** — buffs, debuffs, healing, recoil, status infliction
95
+ - **Pixel art sprites** — unique AI-generated art for every creature
96
+ - **Arena backgrounds** — type-themed battle environments
97
+ - **Best of 3 mode** — series battles with score tracking
98
+
99
+ ## Type Chart
100
+
101
+ ```
102
+ Electric → Water, Air Plant → Water, Earth
103
+ Earth → Electric, Fire, Metal Light → Shadow, Poison
104
+ Water → Fire, Earth Shadow → Light, Plasma
105
+ Fire → Plant, Ice, Metal Metal → Ice, Air
106
+ Air → Plant, Poison Ice → Plant, Air, Plasma
107
+ Poison → Plant, Light Plasma → Metal, Water
108
+ ```
109
+
110
+ ## License
111
+
112
+ MIT
@@ -0,0 +1,6 @@
1
+ import { CreatureDefinition } from './types.js';
2
+ export declare const ALL_CREATURES: Record<string, CreatureDefinition>;
3
+ export declare function getCreature(name: string): CreatureDefinition | undefined;
4
+ export declare function getCreatureNames(): string[];
5
+ export declare function getCreaturesByType(type: string): CreatureDefinition[];
6
+ //# sourceMappingURL=creatures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creatures.d.ts","sourceRoot":"","sources":["../../src/data/creatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CA6gB5D,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAExE;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAErE"}
@@ -0,0 +1,524 @@
1
+ export const ALL_CREATURES = {
2
+ Voltfang: {
3
+ name: 'Voltfang',
4
+ type: 'electric',
5
+ hp: 100,
6
+ attack: 80,
7
+ defense: 55,
8
+ speed: 90,
9
+ moves: ['Thunder Strike', 'Quick Slash', 'Static Shield', 'Overcharge'],
10
+ flavour: 'Lightning wolf, glass cannon',
11
+ },
12
+ Terraclaw: {
13
+ name: 'Terraclaw',
14
+ type: 'earth',
15
+ hp: 120,
16
+ attack: 70,
17
+ defense: 85,
18
+ speed: 40,
19
+ moves: ['Rock Slam', 'Burrow', 'Harden', 'Earthquake'],
20
+ flavour: 'Armoured mole, tanky bruiser',
21
+ },
22
+ Aquaveil: {
23
+ name: 'Aquaveil',
24
+ type: 'water',
25
+ hp: 110,
26
+ attack: 65,
27
+ defense: 70,
28
+ speed: 75,
29
+ moves: ['Hydro Blast', 'Bubble Shield', 'Tidal Wave', 'Heal Pulse'],
30
+ flavour: 'Jellyfish mage, balanced caster',
31
+ },
32
+ Pyrothon: {
33
+ name: 'Pyrothon',
34
+ type: 'fire',
35
+ hp: 95,
36
+ attack: 90,
37
+ defense: 50,
38
+ speed: 85,
39
+ moves: ['Fire Fang', 'Inferno', 'Quick Slash', 'Heat Up'],
40
+ flavour: 'Fire serpent, fast attacker',
41
+ },
42
+ Zephyrix: {
43
+ name: 'Zephyrix',
44
+ type: 'air',
45
+ hp: 85,
46
+ attack: 60,
47
+ defense: 45,
48
+ speed: 100,
49
+ moves: ['Gale Force', 'Tailwind', 'Aerial Ace', 'Tempest'],
50
+ flavour: 'Storm hawk, speed demon',
51
+ },
52
+ Thornvine: {
53
+ name: 'Thornvine',
54
+ type: 'plant',
55
+ hp: 115,
56
+ attack: 55,
57
+ defense: 80,
58
+ speed: 50,
59
+ moves: ['Vine Whip', 'Spore Cloud', 'Root Heal', 'Solar Beam'],
60
+ flavour: 'Ancient tree, staller/healer',
61
+ },
62
+ Glimmox: {
63
+ name: 'Glimmox',
64
+ type: 'light',
65
+ hp: 90,
66
+ attack: 75,
67
+ defense: 60,
68
+ speed: 80,
69
+ moves: ['Prismatic Beam', 'Flash Blind', 'Holy Light', 'Radiant Burst'],
70
+ flavour: 'Crystal fox, status specialist',
71
+ },
72
+ Umbrashar: {
73
+ name: 'Umbrashar',
74
+ type: 'shadow',
75
+ hp: 100,
76
+ attack: 85,
77
+ defense: 50,
78
+ speed: 70,
79
+ moves: ['Shadow Bite', 'Dark Pulse', 'Night Slash', 'Void Strike'],
80
+ flavour: 'Shadow shark, crit fisher',
81
+ },
82
+ Ironhide: {
83
+ name: 'Ironhide',
84
+ type: 'metal',
85
+ hp: 130,
86
+ attack: 60,
87
+ defense: 95,
88
+ speed: 30,
89
+ moves: ['Iron Slam', 'Steel Wall', 'Metal Claw', 'Iron Crusher'],
90
+ flavour: 'Steel tortoise, wall',
91
+ },
92
+ Frostbite: {
93
+ name: 'Frostbite',
94
+ type: 'ice',
95
+ hp: 95,
96
+ attack: 75,
97
+ defense: 65,
98
+ speed: 70,
99
+ moves: ['Ice Fang', 'Frost Breath', 'Blizzard', 'Chill Aura'],
100
+ flavour: 'Ice wolf, debuffer',
101
+ },
102
+ Toxispore: {
103
+ name: 'Toxispore',
104
+ type: 'poison',
105
+ hp: 105,
106
+ attack: 70,
107
+ defense: 60,
108
+ speed: 65,
109
+ moves: ['Toxic Sting', 'Acid Spray', 'Poison Cloud', 'Venom Burst'],
110
+ flavour: 'Mushroom, DoT specialist',
111
+ },
112
+ Novablaze: {
113
+ name: 'Novablaze',
114
+ type: 'plasma',
115
+ hp: 80,
116
+ attack: 95,
117
+ defense: 40,
118
+ speed: 95,
119
+ moves: ['Plasma Bolt', 'Energy Surge', 'Nova Flash', 'Quick Slash'],
120
+ flavour: 'Pure energy, ultimate glass cannon',
121
+ },
122
+ // === ELECTRIC (new) ===
123
+ Shockeel: {
124
+ name: 'Shockeel',
125
+ type: 'electric',
126
+ hp: 90,
127
+ attack: 85,
128
+ defense: 50,
129
+ speed: 80,
130
+ moves: ['Discharge', 'Chain Lightning', 'Spark Jab', 'Volt Tackle'],
131
+ flavour: 'Electric eel, paralysis specialist',
132
+ },
133
+ Thundermane: {
134
+ name: 'Thundermane',
135
+ type: 'electric',
136
+ hp: 110,
137
+ attack: 75,
138
+ defense: 70,
139
+ speed: 55,
140
+ moves: ['Thunder Strike', 'Overcharge', 'Harden', 'Chain Lightning'],
141
+ flavour: 'Thunder lion, patient powerhouse',
142
+ },
143
+ Sparkfly: {
144
+ name: 'Sparkfly',
145
+ type: 'electric',
146
+ hp: 80,
147
+ attack: 70,
148
+ defense: 45,
149
+ speed: 100,
150
+ moves: ['Spark Jab', 'Lightning Rod', 'Discharge', 'Static Shield'],
151
+ flavour: 'Lightning bug, speedy disruptor',
152
+ },
153
+ // === EARTH (new) ===
154
+ Boulderback: {
155
+ name: 'Boulderback',
156
+ type: 'earth',
157
+ hp: 135,
158
+ attack: 55,
159
+ defense: 90,
160
+ speed: 25,
161
+ moves: ['Rock Slam', 'Stone Edge', 'Sand Veil', 'Harden'],
162
+ flavour: 'Rock armadillo, immovable fortress',
163
+ },
164
+ Dustfang: {
165
+ name: 'Dustfang',
166
+ type: 'earth',
167
+ hp: 95,
168
+ attack: 80,
169
+ defense: 55,
170
+ speed: 75,
171
+ moves: ['Burrow', 'Mud Shot', 'Quick Slash', 'Earthquake'],
172
+ flavour: 'Desert coyote, hit-and-run',
173
+ },
174
+ Quakejaw: {
175
+ name: 'Quakejaw',
176
+ type: 'earth',
177
+ hp: 115,
178
+ attack: 85,
179
+ defense: 65,
180
+ speed: 45,
181
+ moves: ['Earthquake', 'Boulder Toss', 'Tremor', 'Quicksand'],
182
+ flavour: 'Tectonic croc, raw power',
183
+ },
184
+ // === WATER (new) ===
185
+ Tidalfin: {
186
+ name: 'Tidalfin',
187
+ type: 'water',
188
+ hp: 95,
189
+ attack: 90,
190
+ defense: 45,
191
+ speed: 80,
192
+ moves: ['Hydro Blast', 'Aqua Jet', 'Steam Blast', 'Quick Slash'],
193
+ flavour: 'Ocean shark, aggressive striker',
194
+ },
195
+ Coralguard: {
196
+ name: 'Coralguard',
197
+ type: 'water',
198
+ hp: 125,
199
+ attack: 55,
200
+ defense: 85,
201
+ speed: 35,
202
+ moves: ['Tidal Wave', 'Bubble Shield', 'Heal Pulse', 'Whirlpool'],
203
+ flavour: 'Coral guardian, living reef wall',
204
+ },
205
+ Mistweaver: {
206
+ name: 'Mistweaver',
207
+ type: 'water',
208
+ hp: 85,
209
+ attack: 70,
210
+ defense: 55,
211
+ speed: 90,
212
+ moves: ['Steam Blast', 'Rain Dance', 'Aqua Jet', 'Torrent'],
213
+ flavour: 'Mist phantom, elusive striker',
214
+ },
215
+ Depthcrawl: {
216
+ name: 'Depthcrawl',
217
+ type: 'water',
218
+ hp: 105,
219
+ attack: 80,
220
+ defense: 70,
221
+ speed: 55,
222
+ moves: ['Torrent', 'Whirlpool', 'Hydro Blast', 'Heal Pulse'],
223
+ flavour: 'Abyssal lurker, pressure fighter',
224
+ },
225
+ // === FIRE (new) ===
226
+ Cinderboar: {
227
+ name: 'Cinderboar',
228
+ type: 'fire',
229
+ hp: 110,
230
+ attack: 85,
231
+ defense: 60,
232
+ speed: 55,
233
+ moves: ['Fire Fang', 'Wildfire', 'Heat Up', 'Flame Whip'],
234
+ flavour: 'Blazing boar, relentless charger',
235
+ },
236
+ Ashraven: {
237
+ name: 'Ashraven',
238
+ type: 'fire',
239
+ hp: 80,
240
+ attack: 80,
241
+ defense: 45,
242
+ speed: 95,
243
+ moves: ['Inferno', 'Flame Burst', 'Scorch', 'Ember'],
244
+ flavour: 'Ash phoenix, burn everything',
245
+ },
246
+ Magmawyrm: {
247
+ name: 'Magmawyrm',
248
+ type: 'fire',
249
+ hp: 100,
250
+ attack: 95,
251
+ defense: 55,
252
+ speed: 60,
253
+ moves: ['Inferno', 'Wildfire', 'Fire Wall', 'Flame Whip'],
254
+ flavour: 'Lava wyrm, devastating firepower',
255
+ },
256
+ Emberfox: {
257
+ name: 'Emberfox',
258
+ type: 'fire',
259
+ hp: 85,
260
+ attack: 75,
261
+ defense: 50,
262
+ speed: 90,
263
+ moves: ['Fire Fang', 'Flame Burst', 'Quick Slash', 'Heat Up'],
264
+ flavour: 'Fire fox, nimble trickster',
265
+ },
266
+ // === AIR (new) ===
267
+ Stormtalon: {
268
+ name: 'Stormtalon',
269
+ type: 'air',
270
+ hp: 95,
271
+ attack: 75,
272
+ defense: 55,
273
+ speed: 85,
274
+ moves: ['Cyclone', 'Gale Force', 'Wind Slash', 'Hurricane'],
275
+ flavour: 'Storm eagle, sky dominator',
276
+ },
277
+ Breezepaw: {
278
+ name: 'Breezepaw',
279
+ type: 'air',
280
+ hp: 80,
281
+ attack: 70,
282
+ defense: 50,
283
+ speed: 95,
284
+ moves: ['Aerial Ace', 'Tailwind', 'Jetstream', 'Downdraft'],
285
+ flavour: 'Wind lynx, evasive debuffer',
286
+ },
287
+ Galewing: {
288
+ name: 'Galewing',
289
+ type: 'air',
290
+ hp: 105,
291
+ attack: 80,
292
+ defense: 60,
293
+ speed: 65,
294
+ moves: ['Tempest', 'Cyclone', 'Gale Force', 'Tailwind'],
295
+ flavour: 'Sky drake, heavy air striker',
296
+ },
297
+ // === PLANT (new) ===
298
+ Bloomfang: {
299
+ name: 'Bloomfang',
300
+ type: 'plant',
301
+ hp: 95,
302
+ attack: 80,
303
+ defense: 55,
304
+ speed: 75,
305
+ moves: ['Leaf Blade', 'Thorn Barrage', 'Growth', 'Quick Slash'],
306
+ flavour: 'Floral predator, aggressive grower',
307
+ },
308
+ Mossback: {
309
+ name: 'Mossback',
310
+ type: 'plant',
311
+ hp: 130,
312
+ attack: 50,
313
+ defense: 85,
314
+ speed: 35,
315
+ moves: ['Vine Whip', 'Root Heal', 'Photosynthesis', 'Spore Cloud'],
316
+ flavour: 'Moss bear, unkillable healer',
317
+ },
318
+ Fernstrike: {
319
+ name: 'Fernstrike',
320
+ type: 'plant',
321
+ hp: 85,
322
+ attack: 75,
323
+ defense: 50,
324
+ speed: 90,
325
+ moves: ['Leaf Blade', 'Nature\'s Wrath', 'Thorn Barrage', 'Spore Cloud'],
326
+ flavour: 'Fern mantis, precise blade dancer',
327
+ },
328
+ // === LIGHT (new) ===
329
+ Solarius: {
330
+ name: 'Solarius',
331
+ type: 'light',
332
+ hp: 105,
333
+ attack: 85,
334
+ defense: 55,
335
+ speed: 65,
336
+ moves: ['Radiant Burst', 'Starfall', 'Dazzle', 'Light Beam'],
337
+ flavour: 'Solar lion, blinding powerhouse',
338
+ },
339
+ Lumidrake: {
340
+ name: 'Lumidrake',
341
+ type: 'light',
342
+ hp: 95,
343
+ attack: 70,
344
+ defense: 65,
345
+ speed: 80,
346
+ moves: ['Prismatic Beam', 'Solar Flare', 'Purify', 'Light Beam'],
347
+ flavour: 'Crystal drake, versatile caster',
348
+ },
349
+ Haloveil: {
350
+ name: 'Haloveil',
351
+ type: 'light',
352
+ hp: 90,
353
+ attack: 60,
354
+ defense: 75,
355
+ speed: 70,
356
+ moves: ['Light Beam', 'Flash Blind', 'Holy Light', 'Dazzle'],
357
+ flavour: 'Halo wraith, support specialist',
358
+ },
359
+ // === SHADOW (new) ===
360
+ Duskfang: {
361
+ name: 'Duskfang',
362
+ type: 'shadow',
363
+ hp: 90,
364
+ attack: 90,
365
+ defense: 45,
366
+ speed: 85,
367
+ moves: ['Shadow Bite', 'Night Slash', 'Dark Pulse', 'Quick Slash'],
368
+ flavour: 'Shadow wolf, relentless crit hunter',
369
+ },
370
+ Grimshade: {
371
+ name: 'Grimshade',
372
+ type: 'shadow',
373
+ hp: 115,
374
+ attack: 65,
375
+ defense: 75,
376
+ speed: 50,
377
+ moves: ['Dark Pulse', 'Dark Shroud', 'Dread Pulse', 'Void Strike'],
378
+ flavour: 'Shade tree, patient shadow tank',
379
+ },
380
+ Voidmoth: {
381
+ name: 'Voidmoth',
382
+ type: 'shadow',
383
+ hp: 80,
384
+ attack: 75,
385
+ defense: 50,
386
+ speed: 95,
387
+ moves: ['Night Slash', 'Shadow Claw', 'Dark Pulse', 'Abyss Strike'],
388
+ flavour: 'Void moth, phantom assassin',
389
+ },
390
+ // === METAL (new) ===
391
+ Steelstrike: {
392
+ name: 'Steelstrike',
393
+ type: 'metal',
394
+ hp: 90,
395
+ attack: 80,
396
+ defense: 65,
397
+ speed: 75,
398
+ moves: ['Rivet Shot', 'Iron Slam', 'Steel Spike', 'Shrapnel Blast'],
399
+ flavour: 'Steel hawk, aerial metal striker',
400
+ },
401
+ Chromajaw: {
402
+ name: 'Chromajaw',
403
+ type: 'metal',
404
+ hp: 120,
405
+ attack: 75,
406
+ defense: 80,
407
+ speed: 35,
408
+ moves: ['Iron Crusher', 'Metal Claw', 'Forge', 'Steel Wall'],
409
+ flavour: 'Chrome croc, armored crusher',
410
+ },
411
+ Cogsworth: {
412
+ name: 'Cogsworth',
413
+ type: 'metal',
414
+ hp: 85,
415
+ attack: 70,
416
+ defense: 60,
417
+ speed: 85,
418
+ moves: ['Steel Spike', 'Rivet Shot', 'Alloy Shield', 'Quick Slash'],
419
+ flavour: 'Clockwork spider, mechanical precision',
420
+ },
421
+ // === ICE (new) ===
422
+ Glacieron: {
423
+ name: 'Glacieron',
424
+ type: 'ice',
425
+ hp: 120,
426
+ attack: 80,
427
+ defense: 70,
428
+ speed: 40,
429
+ moves: ['Glacial Crush', 'Ice Fang', 'Hailstorm', 'Harden'],
430
+ flavour: 'Glacier bear, frozen powerhouse',
431
+ },
432
+ Shiverfin: {
433
+ name: 'Shiverfin',
434
+ type: 'ice',
435
+ hp: 90,
436
+ attack: 75,
437
+ defense: 55,
438
+ speed: 85,
439
+ moves: ['Icicle Spear', 'Shatter', 'Chill Aura', 'Blizzard'],
440
+ flavour: 'Frost shark, freezing speedster',
441
+ },
442
+ Rimeclaw: {
443
+ name: 'Rimeclaw',
444
+ type: 'ice',
445
+ hp: 95,
446
+ attack: 85,
447
+ defense: 50,
448
+ speed: 75,
449
+ moves: ['Ice Fang', 'Glacial Crush', 'Shatter', 'Permafrost'],
450
+ flavour: 'Frost scorpion, debuff striker',
451
+ },
452
+ // === POISON (new) ===
453
+ Venomaw: {
454
+ name: 'Venomaw',
455
+ type: 'poison',
456
+ hp: 90,
457
+ attack: 85,
458
+ defense: 50,
459
+ speed: 80,
460
+ moves: ['Venom Fang', 'Sludge Bomb', 'Toxic Sting', 'Noxious Fumes'],
461
+ flavour: 'Venom serpent, aggressive poisoner',
462
+ },
463
+ Blightroot: {
464
+ name: 'Blightroot',
465
+ type: 'poison',
466
+ hp: 120,
467
+ attack: 55,
468
+ defense: 80,
469
+ speed: 45,
470
+ moves: ['Poison Cloud', 'Plague Strike', 'Acid Spray', 'Root Heal'],
471
+ flavour: 'Blight fungus, toxic staller',
472
+ },
473
+ Miasmatic: {
474
+ name: 'Miasmatic',
475
+ type: 'poison',
476
+ hp: 85,
477
+ attack: 75,
478
+ defense: 55,
479
+ speed: 90,
480
+ moves: ['Sludge Bomb', 'Noxious Fumes', 'Venom Burst', 'Toxic Sting'],
481
+ flavour: 'Toxic vapor, fast and deadly',
482
+ },
483
+ // === PLASMA (new) ===
484
+ Ionraptor: {
485
+ name: 'Ionraptor',
486
+ type: 'plasma',
487
+ hp: 95,
488
+ attack: 85,
489
+ defense: 50,
490
+ speed: 80,
491
+ moves: ['Plasma Bolt', 'Ion Beam', 'Fusion Blast', 'Quick Slash'],
492
+ flavour: 'Ion raptor, devastating predator',
493
+ },
494
+ Pulsegeist: {
495
+ name: 'Pulsegeist',
496
+ type: 'plasma',
497
+ hp: 85,
498
+ attack: 80,
499
+ defense: 55,
500
+ speed: 85,
501
+ moves: ['Particle Storm', 'Plasma Bolt', 'Plasma Shield', 'Nova Flash'],
502
+ flavour: 'Pulse spirit, volatile phantom',
503
+ },
504
+ Arcflare: {
505
+ name: 'Arcflare',
506
+ type: 'plasma',
507
+ hp: 90,
508
+ attack: 90,
509
+ defense: 40,
510
+ speed: 90,
511
+ moves: ['Nova Flash', 'Fusion Blast', 'Energy Surge', 'Pulse Wave'],
512
+ flavour: 'Arc phoenix, maximum offense',
513
+ },
514
+ };
515
+ export function getCreature(name) {
516
+ return ALL_CREATURES[name];
517
+ }
518
+ export function getCreatureNames() {
519
+ return Object.keys(ALL_CREATURES);
520
+ }
521
+ export function getCreaturesByType(type) {
522
+ return Object.values(ALL_CREATURES).filter(c => c.type === type);
523
+ }
524
+ //# sourceMappingURL=creatures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creatures.js","sourceRoot":"","sources":["../../src/data/creatures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { MoveDefinition, MoveType } from './types.js';
2
+ export declare const ALL_MOVES: Record<string, MoveDefinition>;
3
+ export declare function getMove(name: string): MoveDefinition | undefined;
4
+ export declare function getMovesByType(type: MoveType): MoveDefinition[];
5
+ //# sourceMappingURL=moves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moves.d.ts","sourceRoot":"","sources":["../../src/data/moves.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA2hCpD,CAAC;AAEF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,EAAE,CAE/D"}