1
0
mirror of https://github.com/tcgdex/cards-database.git synced 2025-08-15 01:41:59 +00:00

Compare commits

..

164 Commits

Author SHA1 Message Date
41bf9afde7 feat: Add ability for users to requests using the subfields values (#477) 2024-01-22 01:48:04 +01:00
2cfa860f6d fix: Undefined values crashing the request (#476) 2024-01-22 01:42:59 +01:00
b168b86006 chore: Update Bruno tests (#473) 2024-01-08 01:33:47 +01:00
dependabot[bot]
3a441887b8 build: bump actions/setup-node from 3 to 4 (#470)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avior <github@avior.me>
2024-01-08 00:50:15 +01:00
dependabot[bot]
e36c92a0b0 build: bump actions/checkout from 3 to 4 (#469)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-08 00:48:09 +01:00
33007d83bc fix: Invalid card when searching using the set and localid (#472) 2024-01-08 00:40:31 +01:00
8684fb14e4 feat: Add bruno to tests the APIs (#468) 2024-01-03 23:42:56 +01:00
8fd7afeb32 fix: better sorting defaults
Signed-off-by: Avior <github@avior.me>
2024-01-03 23:24:52 +01:00
28fcb66fc9 fix: 404 error for options requests
Signed-off-by: Avior <github@avior.me>
2024-01-03 21:06:52 +01:00
12ed23b5a2 fix: invalid OPTIONS request handling (#467) 2024-01-03 20:25:15 +01:00
b4dbdef4fa fix: set order not following the old way (#465) 2024-01-03 12:16:57 +01:00
ef23029d24 fix: log that want to production
Signed-off-by: Avior <github@avior.me>
2024-01-03 03:51:42 +01:00
b333423c5d feat: Add Paradox Rift (#464) 2024-01-03 03:34:52 +01:00
7fe2f0283c chore: Update legal cards for the 2023 season (#462) 2024-01-03 03:18:09 +01:00
b7e150fe45 chore: Document the GraphQL definition (#461) 2024-01-03 03:11:50 +01:00
5c8ca20a41 feat: Add better sorting/filtering/pagination (#458) 2024-01-03 02:27:56 +01:00
034b7e2cec feat: Move internals to bunJS (#459) 2024-01-03 00:40:03 +01:00
f8c1d7dce9 fix: HeartGold & Soulsilver serie rarities (#457) 2023-12-28 13:55:56 +01:00
2b9c364625 fix: Call of Legends rarity errors (#456) 2023-12-27 22:12:54 +01:00
c8db79bfaa fix: Gym Challenge errors (#455) 2023-12-27 22:05:41 +01:00
e18c919cfc fix: Diamond & Pearl rarities (#454) 2023-12-27 21:34:54 +01:00
3cb7e062da fix: Platinum Serie rarities (#453) 2023-12-27 20:33:44 +01:00
ed4d9a18b0 fix: invalid Sword & Shield rarities (#447) 2023-12-27 19:30:08 +01:00
6d133f5343 feat: Add missing german sets (HGSS & COL) (#451)
Some checks failed
Build Docker image / build (push) Failing after 42s
2023-12-06 01:20:07 +01:00
b24233b342 feat: Add missing German sets (#450) 2023-12-06 00:47:28 +01:00
a7011c519d feat: Add built image to dockerhub (#449)
Some checks failed
Build Docker image / build (push) Failing after 26s
2023-11-30 01:47:36 +01:00
2da15ced34 feat: Add a prebuilt docker image (#448)
Some checks failed
Build Docker image / build (push) Failing after 42s
2023-11-29 11:20:11 +01:00
3c93a3534c feat: Add Scarlet & violet three first sets (#446)
Some checks failed
Build / build (push) Failing after 59s
2023-11-12 14:56:22 +01:00
calli23
e0e3a1a4fd fix: added variants in Brilliant Stars (#432) 2023-03-21 15:18:18 +01:00
calli23
636a49f9a8 fix: modified variants in Crown Zenith (#427) 2023-02-06 16:47:30 +01:00
calli23
5cf0f1af5a fix: modified variants in Silver Tempest (#425) 2023-02-04 12:54:17 +01:00
allcontributors[bot]
6abe6193c1 docs: add calli23 as a contributor for data (#421)
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-01-30 10:16:05 +01:00
calli23
2a7e84c93a fix: modified variants in Pokémon Go and Astral Radiance (#420) 2023-01-30 09:41:17 +01:00
9074fbf511 feat: Add Crown Zenith (#416) 2023-01-22 19:11:31 +01:00
a2db003735 fix: Build error
Signed-off-by: Avior <github@avior.me>
2023-01-11 21:27:20 +01:00
4b340733d7 fix(server): Server not correctly handling +
Signed-off-by: Avior <github@avior.me>
2023-01-11 21:18:31 +01:00
2b23503864 fix: Add missing user-agent
Signed-off-by: Avior <f.bouillon@aptatio.com>
2022-12-09 15:57:16 +01:00
467f6e9e95 fix: Build issues
Signed-off-by: Avior <f.bouillon@aptatio.com>
2022-12-09 14:57:08 +01:00
c5af3d17e6 misc: Updated deps
Signed-off-by: Avior <f.bouillon@aptatio.com>
2022-12-09 14:56:34 +01:00
8192542c1d feat(server): Add better logging to detect potential errors
Signed-off-by: Avior <f.bouillon@aptatio.com>
2022-12-09 14:42:22 +01:00
33814d7df2 fix: Build error
Signed-off-by: Avior <f.bouillon@aptatio.com>
2022-11-25 10:31:37 +01:00
f5fa952e54 fix: Cache caching OPTIONS requests
Signed-off-by: Avior <f.bouillon@aptatio.com>
2022-11-25 10:24:26 +01:00
5c6a4749f8 feat: Add Silver Tempest to the DB (#386) 2022-11-11 19:59:43 +01:00
0146baaf82 feat: Added Lost Origin datas (#360) 2022-09-14 00:24:11 +02:00
7467090e2c fix: changed to new API URL
Signed-off-by: Avior <github@avior.me>
2022-09-12 23:57:16 +02:00
fad5e018a3 misc: Add Project funding 2022-08-06 18:23:36 +02:00
e7e0e4d639 feat: Add Pokemon GO set (#323)
Signed-off-by: Avior <github@avior.me>
2022-07-01 10:17:20 +02:00
91865f7f02 feat: Add Astral Radiance (#305) 2022-05-27 01:49:58 +02:00
a006f77bf4 fix: Add Status link to image 2022-05-13 15:43:29 +02:00
dependabot[bot]
2bed8a4995 build: bump docker/build-push-action from 2 to 3 (#291)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 10:32:35 +02:00
932b52b8d1 fix: incorrect card counts (#287)
Signed-off-by: Avior <github@avior.me>
2022-05-03 23:11:18 +02:00
dependabot[bot]
ecd9cb313f build: bump actions/setup-node from 2 to 3.1.0 (#267)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2 to 3.1.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2...v3.1.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02 10:46:44 +02:00
dependabot[bot]
f867e18ab7 build: bump actions/checkout from 2 to 3 (#254)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02 10:33:55 +02:00
82395591e1 build: Upgrade Deps (#286) 2022-05-02 10:05:48 +02:00
June
a65798f000 fix: mistype in evolveFrom name in french (#273) 2022-04-29 12:35:19 +02:00
a835c6ca29 fix: Handle variable lang directive (#272) 2022-04-11 12:17:22 +02:00
June
3d5beb1f76 fix: Set name in french is a mistype (Hidden Fates) (#269) 2022-04-05 10:40:46 +02:00
4ec775fe56 feat: Added XY Datas for other languages (#265) 2022-03-31 11:01:32 +02:00
fc74c637d3 fix: Incorrect year for the latest set 2022-03-16 12:47:25 +01:00
dependabot[bot]
452016f564 build: bump ts-node from 10.5.0 to 10.7.0 (#257)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-15 12:22:27 +01:00
dependabot[bot]
fe2a77115e build: bump ts-node from 10.5.0 to 10.7.0 in /server (#258)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-14 16:23:25 +01:00
7a5000c2f3 feat: Add Brilliant Stars (#250) 2022-02-25 17:39:00 +01:00
dependabot[bot]
7a21171219 build: bump fs-extra from 10.0.0 to 10.0.1 in /server (#246)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-23 15:29:05 +01:00
dependabot[bot]
29f66ed0a2 build: bump @types/node from 16.11.24 to 16.11.25 (#242)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-16 10:21:00 +01:00
dependabot[bot]
d9ced72b81 build: bump @types/node-fetch from 2.5.12 to 2.6.1 in /server (#244)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-16 10:06:50 +01:00
dependabot[bot]
e3ebaefbda build: bump @types/node from 16.11.22 to 16.11.24 in /server (#241)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-13 23:39:01 +01:00
dependabot[bot]
03f44625ac build: bump @types/node from 16.11.22 to 16.11.24 (#240)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-11 15:24:08 +01:00
dependabot[bot]
c10444cfe8 build: bump ts-node from 10.4.0 to 10.5.0 in /server (#239)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-11 15:09:24 +01:00
dependabot[bot]
919a098c80 build: bump ts-node from 10.4.0 to 10.5.0 (#238)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-09 17:00:42 +01:00
dependabot[bot]
5b858ec207 build: bump @types/node from 16.11.21 to 16.11.22 (#236)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-02 10:30:32 +01:00
dependabot[bot]
df64dbda1e build: bump @types/node from 16.11.21 to 16.11.22 in /server (#237)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-02 10:06:57 +01:00
dependabot[bot]
f50b536000 build: bump @tcgdex/sdk from 2.4.5 to 2.4.6 in /server (#235)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 11:48:27 +01:00
dependabot[bot]
659b60c5b9 build: bump typescript from 4.5.4 to 4.5.5 (#233)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-28 16:31:00 +01:00
dependabot[bot]
ed88d97f01 build: bump @types/node from 16.11.20 to 16.11.21 (#230)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-28 16:23:00 +01:00
dependabot[bot]
8116b8a36f build: bump typescript from 4.5.4 to 4.5.5 in /server (#234)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-24 00:05:30 +01:00
97a521ddac feat: Add Github Table as SVG (#232) 2022-01-19 11:29:27 +01:00
dependabot[bot]
fbde4a9b5f build: bump @types/node from 16.11.20 to 16.11.21 in /server (#231)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-19 10:25:42 +01:00
dependabot[bot]
02f3c4dbd8 build: bump @types/node from 16.11.19 to 16.11.20 (#227)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 11:33:20 +01:00
dependabot[bot]
7763d6b807 build: bump node-fetch from 2.6.6 to 2.6.7 in /server (#228)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 11:11:40 +01:00
dependabot[bot]
430d92fa27 build: bump @types/node from 16.11.19 to 16.11.20 in /server (#229)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 11:02:05 +01:00
62257cb5f0 fix: Fix Total progress without the correct pre language progress (#226) 2022-01-17 10:21:14 +01:00
fa2391397c fix: Add Sword & Shield Portuguese promos set name (#225) 2022-01-14 19:43:34 +01:00
bf1b890302 fix: Battle Styles has the correct card count (#224) 2022-01-12 11:39:16 +01:00
dependabot[bot]
509f961b94 build: bump @types/node from 16.11.18 to 16.11.19 (#222)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-05 18:50:17 +00:00
dependabot[bot]
77223376fa build: bump @types/node from 16.11.18 to 16.11.19 in /server (#223)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-05 10:39:33 +01:00
dependabot[bot]
a3be561b6e build: bump @types/node from 16.11.17 to 16.11.18 in /server (#221)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-04 09:50:54 +01:00
dependabot[bot]
b3a9874d2c build: bump @types/node from 16.11.17 to 16.11.18 (#220)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-04 09:44:39 +01:00
df5bb1aae3 Update util.ts 2021-12-30 23:46:27 +00:00
1d8077d8b4 perf: Remove Uneeded logging (#219) 2021-12-30 23:40:04 +00:00
16467d4a19 refactor: Add more logging forGraphQL errors (#218) 2021-12-30 23:11:53 +00:00
dependabot[bot]
9956808686 build: bump @types/node from 16.11.15 to 16.11.17 in /server (#217)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.15 to 16.11.17.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-24 14:59:04 +01:00
dependabot[bot]
5a77eb6397 build: bump @types/node from 16.11.15 to 16.11.17 (#216)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-23 23:18:24 +00:00
dependabot[bot]
d7cc241045 build: bump @types/node from 16.11.14 to 16.11.15 (#215)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-22 13:16:31 +01:00
dependabot[bot]
28ede1add3 build: bump @types/node from 16.11.14 to 16.11.15 in /server (#214)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-21 09:54:57 +01:00
dependabot[bot]
29c4c5b9b8 build: bump express from 4.17.1 to 4.17.2 in /server (#213)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 13:27:24 +00:00
dependabot[bot]
5e17ad4fd0 build: bump @types/node from 16.11.13 to 16.11.14 in /server (#212)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-16 11:43:02 +01:00
dependabot[bot]
b06a2c4a9d build: bump @types/node from 16.11.13 to 16.11.14 (#211)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-16 11:34:10 +01:00
0f05a63198 fix: StringEndpoint not corresponding to the docs (#210) 2021-12-15 10:50:47 +01:00
dependabot[bot]
fe7f6a0738 build: bump typescript from 4.5.3 to 4.5.4 (#205)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-14 10:12:17 +01:00
dependabot[bot]
6b9f33d79a build: bump typescript from 4.5.2 to 4.5.3 (#202)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-13 10:10:34 +01:00
dependabot[bot]
e842937023 build: bump @types/node from 16.11.11 to 16.11.12 in /server (#201)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.11 to 16.11.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-08 12:36:09 +01:00
dependabot[bot]
8d3164554f build: bump graphql from 15.7.2 to 15.8.0 in /server (#200)
Bumps [graphql](https://github.com/graphql/graphql-js) from 15.7.2 to 15.8.0.
- [Release notes](https://github.com/graphql/graphql-js/releases)
- [Commits](https://github.com/graphql/graphql-js/compare/v15.7.2...v15.8.0)

---
updated-dependencies:
- dependency-name: graphql
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-08 12:35:58 +01:00
dependabot[bot]
b0a72fe69e build: bump @types/node from 16.11.11 to 16.11.12 (#199)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.11 to 16.11.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-08 12:35:27 +01:00
dependabot[bot]
549ff493c8 build: bump @types/node from 16.11.10 to 16.11.11 in /server (#198)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.10 to 16.11.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-01 10:04:47 +01:00
dependabot[bot]
fa88847240 build: bump @types/node from 16.11.10 to 16.11.11 (#197)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.10 to 16.11.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-01 09:55:40 +01:00
c2ea960801 fix: Fix Endpoints not giving the correct card with a speicific id (#196)
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-11-30 15:23:01 +01:00
allcontributors[bot]
eecbee9194 docs: add JuneTwooo as a contributor for data (#195)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-11-25 14:22:20 +01:00
June
4dda72aa7f fix: Fix Jungle French name (#194)
Edit french "Jungla" to "Jungle"
2021-11-25 14:00:21 +01:00
dependabot[bot]
0bc30d6001 build: bump @types/node from 16.11.9 to 16.11.10 in /server (#193)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.9 to 16.11.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-24 10:09:17 +01:00
dependabot[bot]
7421e3c523 build: bump @types/node from 16.11.9 to 16.11.10 (#192)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.9 to 16.11.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-24 10:09:08 +01:00
6045261e59 fix: Fix server not Starting (#191)
Signed-off-by: Avior <github@avior.me>
2021-11-23 16:54:56 +01:00
16862a048e fix: Add missing German Translations (#190)
Signed-off-by: Avior <github@avior.me>
2021-11-23 16:18:30 +01:00
762ce389c1 feat: Add status Dashboard (#187)
* feat: Add status Dashboard

Still need some polishing like using the compiler instead of the live DB

Signed-off-by: Avior <github@avior.me>

* refactor: Simplified compiler files generators

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* chore: Add step to compiler for stats and optimize

Signed-off-by: Avior <github@avior.me>

* refactor: Remove unused variable

Signed-off-by: Avior <github@avior.me>
2021-11-23 16:12:50 +01:00
8ef099273e fix: Add E-Card French Translations (#166)
* fix: Add E-Card French Translations

Signed-off-by: Avior <github@avior.me>

* fix: Fixed Cards without rarity

Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-11-22 19:07:35 +00:00
d4be6fa84f fix: Add Diamond & Pearl French translations (#179)
* fix: Add the two first sets

Signed-off-by: Avior <github@avior.me>

* fix: Add DP, DP Black Star and Mysterious Treasures

Signed-off-by: Avior <github@avior.me>
2021-11-22 18:11:03 +00:00
b70c73d43e fix: Add Portuguese Sets/Series names translations (#186)
Signed-off-by: Avior <github@avior.me>
2021-11-22 15:51:59 +01:00
b365c15559 feat: Add Poké Card Creator Pack cards (#184)
Signed-off-by: Avior <github@avior.me>
2021-11-22 15:08:42 +01:00
d7d600c0d7 feat: Add W Promotional variant (#183)
Signed-off-by: Avior <github@avior.me>
2021-11-22 14:52:58 +01:00
227637fd97 fix: Misc Endpoints not working as intended (#181)
Signed-off-by: Avior <github@avior.me>
2021-11-22 14:46:03 +01:00
ac3a62c0ec fix: Fix database issues template data-type 2021-11-22 13:51:54 +01:00
dependabot[bot]
9d2cad1cc9 build: bump @types/node from 16.11.8 to 16.11.9 (#182)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.8 to 16.11.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-22 10:00:26 +01:00
afe33f4b3c fix: incorrect set being reconized (#180)
* fix: set fetching name not stricly checking

Signed-off-by: Avior <github@avior.me>

* fix: finding card by set not testing set name

Signed-off-by: Avior <github@avior.me>

* fix: incorrect set being reconized

Signed-off-by: Avior <github@avior.me>
2021-11-19 15:47:58 +01:00
dependabot[bot]
d81275b679 build: bump @types/node from 16.11.7 to 16.11.9 in /server (#178)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.7 to 16.11.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-19 09:57:09 +01:00
dependabot[bot]
6c0db1fba8 build: bump @types/node from 16.11.7 to 16.11.8 (#176)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.7 to 16.11.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-19 09:55:02 +01:00
b55cab7c6f fix: JSON endpoints not working as intended (#175)
* fix: set fetching name not stricly checking

Signed-off-by: Avior <github@avior.me>

* fix: finding card by set not testing set name

Signed-off-by: Avior <github@avior.me>
2021-11-18 11:52:10 +01:00
dependabot[bot]
7f83a6f8eb build: bump typescript from 4.4.4 to 4.5.2 in /server (#174)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.4.4 to 4.5.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.4.4...v4.5.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-18 10:12:28 +01:00
dependabot[bot]
f473f1e920 build: bump typescript from 4.4.4 to 4.5.2 (#173)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.4.4 to 4.5.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.4.4...v4.5.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-18 09:53:31 +01:00
ada32e3b20 feat: Add Baby stage (#123)
Signed-off-by: Avior <github@avior.me>
2021-11-17 15:09:13 +01:00
2f5f52b51c refactor: Add Sets/Series translations (#172)
* refactor: Add set/Series translations

Signed-off-by: Avior <github@avior.me>

* refactor: Done Trainer kits

Signed-off-by: Avior <github@avior.me>
2021-11-16 12:44:58 +01:00
df23371cb4 fix: Add most POP series French translations (#170)
* fix: Added most of the translations

Some translations aren't available or are user made without a card image depicted

Signed-off-by: Avior <github@avior.me>

* fix: Add sets French translations

Signed-off-by: Avior <github@avior.me>
2021-11-16 10:08:20 +01:00
b6fbcc1b77 fix: add EX French translations (#169)
* fix: Add for some sets

Signed-off-by: Avior <github@avior.me>

* Added Sets titles

Signed-off-by: Avior <github@avior.me>

* fix: Finished last EX sets

Signed-off-by: Avior <github@avior.me>

* Change Discord Link text
2021-11-15 16:24:10 +01:00
68054fe4c9 fix: Add Neo serie french translations (#167)
Signed-off-by: Avior <github@avior.me>
2021-11-12 17:24:19 +01:00
ffdd3b4656 fix: Add Base serie translations (#161)
Signed-off-by: Avior <github@avior.me>
2021-11-12 17:07:41 +01:00
3b8e87e284 fix: Fix Resistance and Weaknesses GQL being incorrect type (#168) 2021-11-12 16:05:57 +01:00
dependabot[bot]
64f107ca01 build: Bump @types/node from 16.11.6 to 16.11.7 in /server (#152)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.6 to 16.11.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-12 15:00:48 +01:00
dependabot[bot]
a15a6e122c Bump @types/node from 16.11.6 to 16.11.7 (#150)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.6 to 16.11.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avior <github@avior.me>
2021-11-12 14:55:57 +01:00
5ef66aac3b fix: Make /series/:serie case insensitive (#164)
Signed-off-by: Avior <github@avior.me>
2021-11-12 14:37:49 +01:00
a8c1188e5f fix: Fusion Strike id (#163)
I AM STUPID, FUCK MYSELF
2021-11-12 12:53:28 +01:00
2be1cb2be9 feat: Add Fusion Strike (#162)
Signed-off-by: Avior <github@avior.me>
2021-11-12 12:42:38 +01:00
Maxopoly
a0792cd72f fix: Fix typo in base1-1 (#160) 2021-11-12 09:45:34 +01:00
e12adb1641 fix: Same problem for set subid (#158)
* fix: Fix /sets/:id endpoint to check in lowercase

Signed-off-by: Avior <github@avior.me>

* fix: Same problem for set subid

Signed-off-by: Avior <github@avior.me>
2021-11-10 11:18:18 +01:00
d432b8a826 fix: Fix /sets/:id endpoint to check in lowercase (#157)
Signed-off-by: Avior <github@avior.me>
2021-11-09 15:23:33 +01:00
fa6322a635 feat: Add serie wide energies (#115)
Signed-off-by: Avior <github@avior.me>
2021-11-09 11:03:41 +01:00
dependabot[bot]
e7b660eb21 build: bump graphql from 15.7.0 to 15.7.2 in /server (#154)
Bumps [graphql](https://github.com/graphql/graphql-js) from 15.7.0 to 15.7.2.
- [Release notes](https://github.com/graphql/graphql-js/releases)
- [Commits](https://github.com/graphql/graphql-js/compare/v15.7.0...v15.7.2)

---
updated-dependencies:
- dependency-name: graphql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-09 10:35:44 +01:00
dependabot[bot]
aa88a08083 Bump js2xmlparser from 4.0.1 to 4.0.2 in /server (#146)
Bumps [js2xmlparser](https://github.com/michaelkourlas/node-js2xmlparser) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/michaelkourlas/node-js2xmlparser/releases)
- [Changelog](https://github.com/michaelkourlas/node-js2xmlparser/blob/master/CHANGES.md)
- [Commits](https://github.com/michaelkourlas/node-js2xmlparser/compare/v4.0.1...v4.0.2)

---
updated-dependencies:
- dependency-name: js2xmlparser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-09 10:28:42 +01:00
b4dc289f07 fix: Update Dependabot to use conventional commits (#153) 2021-11-09 10:11:28 +01:00
4dedacee58 docs: Update Code of Conduction, Contributing and templates (#145)
* feat: Add Code of Conduct

this Code of Conduct will be Enforced on the TCGdex's Github and on the TCGdex's Discord

* Update Issue templates

Signed-off-by: Avior <github@avior.me>

* Updated Documents

Signed-off-by: Avior <github@avior.me>
2021-11-08 17:10:19 +01:00
d65a69bcac fix: Change to use angular conventional changelog (#144) 2021-11-08 14:58:55 +01:00
c3149d9028 feat: Add Pull Request Template (#143) 2021-11-08 12:53:10 +01:00
4cee9d98cd fix: conventional Commits to use the correct preset (#142) 2021-11-08 11:24:28 +01:00
allcontributors[bot]
337f50a6df docs: add Maxopoly as a contributor for data (#140)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-11-04 19:33:53 +01:00
Maxopoly
9622f84388 feature: Complete german meta text (#139) 2021-11-04 19:33:04 +01:00
8c9657f8f2 Forogt to remove the import
Signed-off-by: Avior <github@avior.me>
2021-11-04 13:52:29 +01:00
02de2d5006 Fixed (#138)
Signed-off-by: Avior <github@avior.me>
2021-11-04 13:36:15 +01:00
7173179d6f Fix: card endpoint (#137)
* Fixed duplication bug

Signed-off-by: Avior <github@avior.me>

* Fixed

Signed-off-by: Avior <github@avior.me>
2021-11-04 12:30:08 +01:00
80ec53a57d Fix: duplication bug (#136)
Signed-off-by: Avior <github@avior.me>
2021-11-04 12:21:54 +01:00
7de5764409 fix: bad type (#135)
* Fixed path

Signed-off-by: Avior <github@avior.me>

* Fixed Builder

Signed-off-by: Avior <github@avior.me>

* Fixed

Signed-off-by: Avior <github@avior.me>
2021-11-04 12:03:06 +01:00
40240f2ab9 fix: Fixed DB path (#134)
* Fixed path

Signed-off-by: Avior <github@avior.me>

* Fixed Builder

Signed-off-by: Avior <github@avior.me>
2021-11-04 11:51:09 +01:00
65e5bdb9ee fix: Fixed paths not being changed (#133) 2021-11-04 11:01:56 +01:00
c4b4449fd4 feature: Implement new Server infrastructure with GraphQL. (#132)
* Added new compiler to db

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* Add compiled DB to artifacts

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* Fixed space error

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* Fixed?

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* Update node.js.yml

* Update node.js.yml

* Made change so the db is no longer dependent on the SDK

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* f

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* Fixed artifact

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* U

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* \Changed folder

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* Fixede?

Signed-off-by: Avior <florian.bouillon@delta-wings.net>

* Try with everything

* saved the file ;)

* ignore compiler

* Fixed prebuild being run again

* Fixed public folder

Signed-off-by: Avior <github@avior.me>

* fixed graphql file

Signed-off-by: Avior <github@avior.me>

* fixed?

Signed-off-by: Avior <github@avior.me>

* Check tree because life is potato

Signed-off-by: Avior <github@avior.me>

* this is harder

Signed-off-by: Avior <github@avior.me>

* f

Signed-off-by: Avior <github@avior.me>

* Fixed?

Signed-off-by: Avior <github@avior.me>

* r

Signed-off-by: Avior <github@avior.me>

* fd

Signed-off-by: Avior <github@avior.me>

* added back context

Signed-off-by: Avior <github@avior.me>

* ah

Signed-off-by: Avior <github@avior.me>

* AAH

Signed-off-by: Avior <github@avior.me>

* AAAH

Signed-off-by: Avior <github@avior.me>

* ffffffffffffffffff

Signed-off-by: Avior <github@avior.me>

* fix: Changed the default builder

Signed-off-by: Avior <github@avior.me>

* Removed useless tree function

Signed-off-by: Avior <github@avior.me>
2021-11-04 10:02:26 +01:00
allcontributors[bot]
c991193f4b docs: add Kevin-Adrea as a contributor for bug (#131)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-11-03 14:36:57 +01:00
a2a8582253 fix: enforce conventionnal commit (#130) 2021-11-02 19:34:55 +01:00
allcontributors[bot]
0bccc9866b docs: add JuneTwooo as a contributor for bug (#129)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* quick fix

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Avior <florian.bouillon@delta-wings.net>
2021-11-02 17:18:29 +01:00
allcontributors[bot]
cce0236851 docs: add Aviortheking as a contributor for code, data (#128)
* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* Fix All contributor not displaying correctly

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Avior <florian.bouillon@delta-wings.net>
2021-11-02 17:03:52 +01:00
10259 changed files with 249011 additions and 27079 deletions

64
.all-contributorsrc Normal file
View File

@@ -0,0 +1,64 @@
{
"files": [
"README.md"
],
"imageSize": 100,
"commit": false,
"badgeTemplate": "<a href=\"#contributors-\"><img src=\"https://img.shields.io/badge/all_contributors-<%= contributors.length %>-orange.svg?style=flat-square\" alt=\"All Contributors Badge\" /></a>",
"contributors": [
{
"login": "Aviortheking",
"name": "Avior",
"avatar_url": "https://avatars.githubusercontent.com/u/15822031?v=4",
"profile": "https://www.avior.me/",
"contributions": [
"code",
"data"
]
},
{
"login": "JuneTwooo",
"name": "June",
"avatar_url": "https://avatars.githubusercontent.com/u/1458019?v=4",
"profile": "https://github.com/JuneTwooo",
"contributions": [
"bug",
"data"
]
},
{
"login": "Kevin-Adrea",
"name": "Kevin-Adrea",
"avatar_url": "https://avatars.githubusercontent.com/u/36231620?v=4",
"profile": "https://github.com/Kevin-Adrea",
"contributions": [
"bug"
]
},
{
"login": "Maxopoly",
"name": "Maxopoly",
"avatar_url": "https://avatars.githubusercontent.com/u/12138136?v=4",
"profile": "https://github.com/Maxopoly",
"contributions": [
"data"
]
},
{
"login": "calli23",
"name": "calli23",
"avatar_url": "https://avatars.githubusercontent.com/u/24553863?v=4",
"profile": "https://github.com/calli23",
"contributions": [
"data"
]
}
],
"contributorsPerLine": 7,
"projectName": "cards-database",
"projectOwner": "tcgdex",
"repoType": "github",
"repoHost": "https://github.com",
"skipCi": true,
"commitConvention": "angular"
}

8
.bruno/bruno.json Normal file
View File

@@ -0,0 +1,8 @@
{
"version": "1",
"name": "TCGdex",
"type": "collection",
"presets": {
"requestType": "http"
}
}

View File

@@ -0,0 +1,28 @@
meta {
name: Get the cards list
type: http
seq: 1
}
get {
url: {{BASE_URL}}/v2/en/cards?sort:field=name&sort:order=DESC&pagination:page=1&pagination:itemsPerPage=4
body: none
auth: none
}
query {
sort:field: name
sort:order: DESC
pagination:page: 1
pagination:itemsPerPage: 4
~name: furret
}
assert {
res.status: eq 200
res.body.length: eq 4
}
docs {
Fully describe the card list request, it also has every parameters it can
}

View File

@@ -0,0 +1,16 @@
meta {
name: Get one card
type: http
seq: 2
}
get {
url: {{BASE_URL}}/v2/en/cards/swsh3-136
body: none
auth: none
}
assert {
res.status: eq 200
res.body.id: eq swsh3-136
}

View File

@@ -0,0 +1,3 @@
vars {
BASE_URL: http://localhost:3000
}

View File

@@ -0,0 +1,3 @@
vars {
BASE_URL: https://api.tcgdex.net
}

View File

@@ -0,0 +1,22 @@
meta {
name: 466 - Invalid Sorting
type: http
seq: 1
}
get {
url: {{BASE_URL}}/v2/en/sets/swsh8/53
body: none
auth: none
}
assert {
res.body.id: eq swsh8-53
res.status: eq 200
}
docs {
Validate the issue seen in
https://github.com/tcgdex/cards-database/issues/466
}

View File

@@ -0,0 +1,15 @@
meta {
name: 467 - Validate that we can run OPTIONS
type: http
seq: 2
}
options {
url: {{BASE_URL}}/status
body: none
auth: none
}
assert {
res.status: eq 200
}

View File

@@ -0,0 +1,22 @@
meta {
name: 471 - Invalid Set Sorting
type: http
seq: 3
}
get {
url: {{BASE_URL}}/v2/en/sets/swsh12/10
body: none
auth: none
}
assert {
res.body.id: eq swsh12-010
res.status: eq 200
}
docs {
Validate the issue seen in
https://github.com/tcgdex/cards-database/issues/471
}

View File

@@ -0,0 +1,25 @@
meta {
name: 474 - Queries crashing the server
type: http
seq: 2
}
get {
url: {{BASE_URL}}/v2/en/cards?legal.standard=true
body: none
auth: none
}
query {
legal.standard: true
}
assert {
res.status: eq 200
}
docs {
Validate the issue seen in
https://github.com/tcgdex/cards-database/issues/474
}

View File

@@ -0,0 +1,25 @@
meta {
name: 475 - Ability to query subfileds
type: http
seq: 4
}
get {
url: {{BASE_URL}}/v2/en/cards?legal.standard=true
body: none
auth: none
}
query {
legal.standard: true
}
assert {
res.status: eq 200
}
docs {
Validate the issue seen in
https://github.com/tcgdex/cards-database/issues/474
}

33
.bruno/graphql.bru Normal file
View File

@@ -0,0 +1,33 @@
meta {
name: GraphQL API
type: graphql
seq: 1
}
post {
url: {{BASE_URL}}/v2/graphql
body: graphql
auth: none
}
body:graphql {
query Pouet {
cards {
id
localId
name
set {
id
name
serie {
id
name
}
}
}
}
}
assert {
res.status: eq 200
}

View File

@@ -0,0 +1,25 @@
meta {
name: Get a list of sets
type: http
seq: 3
}
get {
url: {{BASE_URL}}/v2/en/sets?sort:field=name&sort:order=DESC&pagination:page=1&pagination:itemsPerPage=1&name=Dark
body: none
auth: none
}
query {
sort:field: name
sort:order: DESC
pagination:page: 1
pagination:itemsPerPage: 1
name: Dark
}
assert {
res.status: eq 200
res.body[0].id: eq swsh3
res.body.length: eq 1
}

16
.bruno/sets/get-a-set.bru Normal file
View File

@@ -0,0 +1,16 @@
meta {
name: Get a set
type: http
seq: 2
}
get {
url: {{BASE_URL}}/v2/en/sets/swsh3
body: none
auth: none
}
assert {
res.status: eq 200
res.body.id: eq swsh3
}

View File

@@ -0,0 +1,16 @@
meta {
name: Get one card from a set
type: http
seq: 1
}
get {
url: {{BASE_URL}}/v2/en/sets/swsh3/136
body: none
auth: none
}
assert {
res.status: eq 200
res.body.id: eq swsh3-136
}

22
.dockerignore Normal file
View File

@@ -0,0 +1,22 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
node_modules
# misc
.DS_Store
.env*
# debug
npm-debug.log*
dist/
*.asc
/data/**/*.js
# production
/server/dist
/server/generated

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
github: TCGdex

36
.github/ISSUE_TEMPLATE/api-issue.yml vendored Normal file
View File

@@ -0,0 +1,36 @@
name: API Issue Report
description: Use this when you found an issue involving the TCGdex Server
title: "issue:"
labels: [issue, server]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to help advance the project witg your issue report!
- type: checkboxes
id: issue-location
validations:
required: true
attributes:
label: Where are you having the issue
options:
- label: GraphQL
- label: JSON API
- type: checkboxes
id: issue-item
attributes:
label: Is the issue affecting one of the two elements below ?
options:
- label: Translations
- label: Definitions Files (Open API, GraphQL Schema, etc)
- type: textarea
id: description
attributes:
label: Description
description: What is happening
validations:
required: true

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: TCGdex Discord
url: https://discord.gg/NehYTAhsZE
about: You can post user code related issues here.

View File

@@ -0,0 +1,41 @@
name: Database Issue Report
description: Use this when you found an issue involving the TCGdex Datas
title: "issue:"
labels: [issue, database]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to help advance the project witg your issue report!
Note: if the issue is affecting translations or definitions files the correct issue report as the API one
- type: dropdown
id: data-type
validations:
required: true
attributes:
label: What seems to be the issue
description: Select the types of data that seems to be causing issues
options:
- Card
- Set
- Serie
- Other
- type: input
id: fields
attributes:
label: Field(s)
description: Tell which field(s) have the issue
placeholder: "ex: the Regulation Mark field"
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: Describe Your problem
placeholder: "ex: The cards have an incorrect name"
validations:
required: true

View File

@@ -1,7 +1,7 @@
name: Enhancement
description: You have an Idea that will enhance the API, Use this issue Template!
title: "[Up]: "
labels: [project/database, project/server, project/compiler, type/enhancement]
description: Use this template if you have an Idea that will enhance the API/Database
title: "enhancement: "
labels: [enhancement]
body:
- type: markdown
attributes:
@@ -25,6 +25,6 @@ body:
attributes:
label: Please explain in more details what idea you have
description: If you selected Other or new Data Type please put it as the first line
placeholder: "Ex: I would love to see the cards have this new field..."
placeholder: "Ex: I would love to see the cards have this new awesome field..."
validations:
required: true

View File

@@ -1,26 +0,0 @@
name: Incorect Data
description: Use this when you found an incorrect information on a card/set/serie
title: "[Data]: "
labels: [project/database, type/incorrect-data]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to help correct incorrect informations about the database!
It should take less than a day to get an answer!
- type: textarea
id: incorrect
attributes:
label: Path of the incorrect file(s)
description: Fill the different files that have incorrect informations (one per line) (you can use * if it concern a lot of files)
placeholder: "ex: data/Sword & Shield/Sword & Shield/1.ts"
validations:
required: true
- type: textarea
id: description
attributes:
label: Incorrect informations
description: Describe the incorrect informations
placeholder: "ex: The cards have an incorrect name"
validations:
required: true

View File

@@ -1,7 +1,7 @@
name: New Set
description: Use this Issue Template when you found a New set!
title: "[Set]: {Set Name}"
labels: [type/new-set, project/database]
description: Issue Template used when a new set has been announced by TPC
title: "new set: {Set Name}"
labels: [database]
body:
- type: markdown
attributes:
@@ -11,7 +11,7 @@ body:
id: source
attributes:
label: Source
description: Where did you find out about this new set
description: Where did you find out about this new set (domain name MUST be pokemon.com)
placeholder: "ex: https://www.pokemon.com/us/pokemon-tcg/sword-shield-evolving-skies/explore-and-watch/"
validations:
required: true

5
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,5 @@
<!--
Thanks for your Pull Request, Please provide the related Issue using "Fix #0" or describe the change(s) you made.
The issue title must follow Conventional Commit (verified by Github Actions) conventionalcommits.org.
More informations at https://github.com/tcgdex/cards-database/blob/master/CONTRIBUTING.md
-->

View File

@@ -5,13 +5,26 @@
version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
- package-ecosystem: "github-actions"
# Workflow files stored in the
# default location of `.github/workflows`
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
versioning-strategy: lockfile-only
commit-message:
prefix: build
- package-ecosystem: "npm"
directory: "/server"
schedule:
interval: "daily"
versioning-strategy: lockfile-only
commit-message:
prefix: build
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
commit-message:
prefix: build

59
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,59 @@
name: Build Docker image
on:
push:
branches:
- '*'
tags:
- v*
pull_request:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
ghcr.io/tcgdex/server
tcgdex/server
tags: |
type=edge
type=ref,event=pr
type=ref,event=branch,prefix=branch-
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=semver,pattern=latest
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to Github Packages
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
push: true
file: ./Dockerfile
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

View File

@@ -0,0 +1,14 @@
name: Conventionnal Commit
on: pull_request
jobs:
conventional:
name: Conventional PR
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: beemojs/conventional-pr-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
config-preset: angular

View File

@@ -1,45 +0,0 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Compile
on:
push:
branches:
- master
paths:
- 'data/**'
- 'meta/**'
pull_request:
jobs:
test:
name: Compilation Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup NodeJS
uses: actions/setup-node@v2.4.1
with:
node-version: 16.x
- name: Install packages
run: npm ci
- name: Build the database
run: npm run compile
push:
name: Launch the compiler
needs: test
if: ${{ github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- name: Compiler Dispatch
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.PAC }}
repository: tcgdex/compiler
event-type: card-database-update

32
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Test the Data
on:
push:
branches:
- '*'
pull_request:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup BunJS
uses: oven-sh/setup-bun@v1
- name: Install deps
run: |
bun install --frozen-lockfile
cd server
bun install --frozen-lockfile
- name: Validate the data & the server
run: |
bun run validate
cd server
bun run validate

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
*.js
node_modules/
dist/

128
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
the `contact@tcgdex.net` email or on Discord to `Avior#3872`.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

View File

@@ -1,33 +1,200 @@
# How to contribute
<!-- omit in toc -->
If you are here, I like you already !
# Contributing to TCGdex
## TL::DR
First off, thanks for taking the time to contribute! ❤️
A card is missing or has incorrect informations?
All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉
feel free to contribute to the database by adding [an Issue](https://github.com/tcgdex/cards-database/issues/new), [a Discussion](https://github.com/tcgdex/cards-database/discussions/new) or [a Pull Request](https://github.com/tcgdex/cards-database/pulls/compare)
> And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
>
> - Star the project
> - Tweet about it
> - Refer this project in your project's readme
> - Mention the project at local meetups and tell your friends/colleagues
## Database Issue or recomendation
<!-- omit in toc -->
We would love you to see what you can propose to make the Database/API better !
## Table of Contents
to do this you can check if there is not already an issue/discussion about it, and if there is nothing, add a new [Issues](https://github.com/tcgdex/cards-database/issues/new) if it's already well though, or [create a new discussion](https://github.com/tcgdex/cards-database/discussions/new) to speak about it
- [Code of Conduct](#code-of-conduct)
- [I Have a Question](#i-have-a-question)
- [I Want To Contribute](#i-want-to-contribute)
- [Reporting Issues](#reporting-issues)
- [Suggesting Enhancements](#suggesting-enhancements)
- [Your First Code Contribution](#your-first-code-contribution)
- [Improving The Documentation](#improving-the-documentation)
- [Styleguides](#styleguides)
- [Coding Guidlines](#coding-guidelines)
- [Commit Messages](#commit-messages)
- [Join The Project Team](#join-the-project-team)
## Pushing changes
## Code of Conduct
To send changes to our repository, you will have to follow the next steps:
This project and everyone participating in it is governed by the
[TCGdex Code of Conduct](https://github.com/tcgdex/cards-database/blob/master/CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable behavior to <contact@tcgdex.net>.
## I Have a Question
> If you want to ask a question, we assume that you have read the available Documentation at <https://www.tcgdex.dev>.
The best way to ask questions is to join our Discord server at <https://discord.gg/NehYTAhsZE>.
You can also ask them on the Github Repository, it is best to search for existing [Issues](https://github.com/tcgdex/cards-database/issues) that might help you. In case you have found a suitable issue and still need clarification, you can write your question in a new issue. It is also advisable to search the internet for answers first.
If you then still feel the need to ask a question and need clarification, we recommend the following:
- Open an [Issue](https://github.com/tcgdex/cards-database/issues/new/choose).
- Provide as much context as you can about what you're running into.
- Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant.
We will then take care of the issue as soon as possible.
<!--
You might want to create a separate issue tag for questions and include it in this description. People should then tag their issues accordingly.
Depending on how large the project is, you may want to outsource the questioning, e.g. to Stack Overflow or Gitter. You may add additional contact and information possibilities:
- IRC
- Slack
- Gitter
- Stack Overflow tag
- Blog
- FAQ
- Roadmap
- E-Mail List
- Forum
-->
## I Want To Contribute
> ### Legal Notice <!-- omit in toc -->
>
> When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.
### Reporting Issues
<!-- omit in toc -->
#### Before Submitting an Issue Report
A good issue report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible.
- Determine if your issue is not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the [documentation](https://www.tcgdex.dev). If you are looking for support, you might want to check [this section](#i-have-a-question)).
- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already an issue report existing for your bug or error in the [bug tracker](https://github.com/tcgdex/cards-database/issues).
- Also make sure to search the internet (including Stack Overflow) to see if users outside of the GitHub community have discussed the issue.
- Collect information about the bug:
- Stack trace (Traceback)
- OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
- Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant.
- Possibly your input and the output
- Can you reliably reproduce the issue? And can you also reproduce it with older versions?
<!-- omit in toc -->
#### How Do I Submit a Good Bug Report?
> You must never report security related issues, vulnerabilities or bugs to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to <security@tcgdex.net>.
<!-- You may add a PGP key to allow the messages to be sent encrypted as well. -->
We use GitHub issues to track bugs and errors. If you run into an issue with the project:
- Open an [Issue](https://github.com/tcgdex/cards-databaseissues/new). (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.)
- Explain the behavior you would expect and the actual behavior.
- Please provide as much context as possible and describe the *reproduction steps* that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case.
- Provide the information you collected in the previous section.
Once it's filed:
- The project team will label the issue accordingly.
- A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced.
- If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#your-first-code-contribution).
<!-- You might want to create an issue template for bugs and errors that can be used as a guide and that defines the structure of the information to be included. If you do so, reference it here in the description. -->
### Suggesting Enhancements
This section guides you through submitting an enhancement suggestion for TCGdex, **including completely new features and minor improvements to existing functionality**. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions.
<!-- omit in toc -->
#### Before Submitting an Enhancement
- Make sure that you are using the latest version.
- Read the [documentation](https://www.tcgdex.dev) carefully and find out if the functionality is already covered, maybe by an individual configuration.
- Perform a [search](https://github.com/tcgdex/cards-databaseissues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library.
<!-- omit in toc -->
#### How Do I Submit a Good Enhancement Suggestion?
Enhancement suggestions are tracked as [GitHub issues](https://github.com/tcgdex/cards-databaseissues).
- Use a **clear and descriptive title** for the issue to identify the suggestion.
- Provide a **step-by-step description of the suggested enhancement** in as many details as possible.
- **Describe the current behavior** and **explain which behavior you expected to see instead** and why. At this point you can also tell which alternatives do not work for you.
- You may want to **include screenshots and animated GIFs** which help you demonstrate the steps or point out the part which the suggestion is related to. You can use [this tool](https://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux. <!-- this should only be included if the project has a GUI -->
- **Explain why this enhancement would be useful** to most TCGdex users. You may also want to point out the other projects that solved it better and which could serve as inspiration.
<!-- You might want to create an issue template for enhancement suggestions that can be used as a guide and that defines the structure of the information to be included. If you do so, reference it here in the description. -->
### Your First Code Contribution
_note: Follow the different styleguides listed below when contributing_
- Fork 🍴 the project. _see the `fork` button at the top right of the screen_
- make the changes you want in your repository.
- Create a Pull request here https://github.com/tcgdex/cards-database/compare by selecting your repository patch with our `master` branch
- Create a Pull request here https://github.com/tcgdex/cards-database/compare by selecting your repository patch with our `master` branch _If it's not finished put WIP: before_
- we don't like ❌, so if your pull request has its automated checks ending with the red cross, please double check your changes until it show the awesome 🟢, or ask for help !
- If you pull request is ready for review you can go to the 🏖️ and we will handle the rest !
- If your pull request is ready for review remove WIP: put it s ready for review and we will handle the rest !
## coding Convention
### Improving The Documentation
The documentation is updated in the Documentation repository at <https://github.com/tcgdex/documentation>
## Styleguides
### Coding Guidelines
Install the plugin `.editorconfig` in your dev environment if it's not already done and thats it !
for those who don't want to install it the basic are these:
- Indent using `tab`
- Indent using the `tab` or `\t` character
- the line feed character is `\n`
- only use `;` when necessary and at the start of the line
- use double quotes `"` when editing files in the `data/` folder and single quote `'` in other files
- don't uglify your code (_why would you even do it_)
### Commit Messages
We follow the [Conventional Commit specification](conventionalcommits.org) and are using the [Angular format](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit) with some changes.
In short, please name your Pull Requests/Commits following this format
```
<type>(<scope>): <short summary>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
```
- `type` MUST be one of
- build: Changes affecting the files at `server/compiler`
- ci: Changes affecting the CI at `.github/workflows` or `Dockerfile`
- docs: Changes affecting the differents `.md` files
- feat: a new field/feature being added
- fix: data fixes/server fixes
- pref: Performance related fixes
- refactor: Misc code changes
- test: same as `ci`
- the field `(<scope>)` is optional
- `short summary` MUST follow thoses rules
- Capitalize the first letter
- use the imperative, present tense: "Change" not "Changed" nor "Changes"
- `<footer>` and `<body>` are both optional
## Attribution
This guide is based on [Contribution Gen]((https://github.com/bttger/contributing-gen)) and was adapted by the TCGdex community !

49
Dockerfile Normal file
View File

@@ -0,0 +1,49 @@
FROM docker.io/oven/bun:1-alpine as BUILD_IMAGE
# go to work folder
WORKDIR /usr/src/app
ADD --chown=bun:bun package.json bun.lockb ./
ADD --chown=bun:bun server/package.json server/bun.lockb ./server/
# install dependencies
RUN bun install --frozen-lockfile && \
cd server && \
bun install --frozen-lockfile
# Add project files
ADD --chown=bun:bun . .
# build
RUN cd server && \
bun run compile
# remove dev dependencies (bun do not yet support "prune")
RUN cd server && \
rm -rf node_modules && \
bun install --frozen-install --production
# go to another VM
FROM docker.io/oven/bun:1-alpine as PROD_IMAGE
# inform software to be in production
ENV NODE_ENV=production
# run as non root user
USER bun
# go to work folder
WORKDIR /usr/src/app
# copy from build image
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/generated ./generated
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/node_modules ./node_modules
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/src ./src
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/public ./public
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/package.json ./package.json
# Expose port
EXPOSE 3000
# run it !
CMD ["bun", "run", "start"]

View File

@@ -1,6 +1,6 @@
<p align="center">
<a href="https://www.tcgdex.net">
<img src="https://repository-images.githubusercontent.com/241652591/01dd7200-ca01-11eb-98e0-d8f04e7dfe42" width="50%" alt="Discord Link">
<img src="https://www.tcgdex.net/assets/og.png" width="90%" alt="TCGdex Main Image">
</a>
</p>
<p align="center">
@@ -16,45 +16,51 @@
<a href="https://github.com/tcgdex/compiler">
<img src="https://img.shields.io/github/workflow/status/tcgdex/cards-database/Compile?style=flat-square" alt="Compiler build passing" />
</a>
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
<a href="#contributors-"><img src="https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square" alt="All Contributors Badge" /></a>
<!-- ALL-CONTRIBUTORS-BADGE:END -->
</p>
# Pokemon TCGdex Cards Database
# TCGdex - Pokémon TCG Cards Database
A Multilanguage Pokémon TCG Database with Cards Pictures and most of the informations contained on the cards.
## Translations
## Getting Started
| | English | French | German | Italian | Portuguese | Spanish |
|-------------|---------|--------|--------|---------|------------|---------|
| Cards | 13869 | 9464 | 6133 | 6133 | 6133 | 6133 |
| Translated | 100% | 68% | 44% | 44% | 44% | 44% |
_If you need help for using/editing the database, [join us on Discord](https://discord.gg/NehYTAhsZE)!_
_want to help translating? each object fields on cards that have at least en,fr,es,de,it,pt can have the others!,_
_Also we have another translation files located at `meta/translations`_
### Using the Database
## Interact with the Database
_The full documentation is available at <https://www.tcgdex.dev>_
_documentation available at https://www.tcgdex.net/docs_
- The easiest way to interact with the database is by using one of our SDKs listed below.
- You can also direcly use the endpoints at `api.tcgdex.net` (see the documentation).
- You can build the API yourself by using our `Dockerfile` and using it on the port 3000
- The easiest way to interact with the database is by using one of our SDKs _list below_.
- You can also direcly use the endpoints at `api.tcgdex.net`.
- You can build the API yourself by using our [compiler](https://github.com/tcgdex/compiler) or download the already [compiled database](https://github.com/tcgdex/distribution).
## SDKs / API Wrappers
#### SDKs / API Wrappers
We currently officially support theses SDKs
- [Javascript/Typescript SDK](https://github.com/tcgdex/javascript-sdk)
- [PHP SDK](https://github.com/tcgdex/php-sdk)
- [Java SDK](https://github.com/tcgdex/java-sdk)
_If you have a SDK, start a [discussion](https://github.com/tcgdex/cards-database/discussions/new) to be added here_
### Editing the Database
There is three sub folders that will allow you to edit some faces of the database
## Join Us on Discord
- `/data`: Contains Cards Data architectured around `SerieName/SetName/CardLocalId` folders
- `/meta`: Contains informations for the project (definitions files, Translations for some fields)
- `/server`: The server that allow to communicate with the database
You want to ask something or you just want to discuss anything from an idea/improvement about the API to why Furret should be in the next Pokken Tournament game...
## Status
Well you can join us on [Discord](https://discord.gg/NehYTAhsZE) !
We are making sure to make every cards available for every languages they were available !
[![TCGdex Progress](https://api.tcgdex.net/status/github.svg)](https://api.tcgdex.net/status)
_want to help translating? each object fields on cards that have at least en,fr,es,de,it or pt can have the others!,_
_Also we have another translation files located at `meta/translations`_
## Contributing
@@ -69,7 +75,33 @@ TL::DR
As of February 2021, the v1 API is no longer supported.
## License
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://www.avior.me/"><img src="https://avatars.githubusercontent.com/u/15822031?v=4?s=100" width="100px;" alt="Avior"/><br /><sub><b>Avior</b></sub></a><br /><a href="https://github.com/tcgdex/cards-database/commits?author=Aviortheking" title="Code">💻</a> <a href="#data-Aviortheking" title="Data">🔣</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JuneTwooo"><img src="https://avatars.githubusercontent.com/u/1458019?v=4?s=100" width="100px;" alt="June"/><br /><sub><b>June</b></sub></a><br /><a href="https://github.com/tcgdex/cards-database/issues?q=author%3AJuneTwooo" title="Bug reports">🐛</a> <a href="#data-JuneTwooo" title="Data">🔣</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Kevin-Adrea"><img src="https://avatars.githubusercontent.com/u/36231620?v=4?s=100" width="100px;" alt="Kevin-Adrea"/><br /><sub><b>Kevin-Adrea</b></sub></a><br /><a href="https://github.com/tcgdex/cards-database/issues?q=author%3AKevin-Adrea" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Maxopoly"><img src="https://avatars.githubusercontent.com/u/12138136?v=4?s=100" width="100px;" alt="Maxopoly"/><br /><sub><b>Maxopoly</b></sub></a><br /><a href="#data-Maxopoly" title="Data">🔣</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/calli23"><img src="https://avatars.githubusercontent.com/u/24553863?v=4?s=100" width="100px;" alt="calli23"/><br /><sub><b>calli23</b></sub></a><br /><a href="#data-calli23" title="Data">🔣</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## Licenses
This database is not produced, endorsed, supported or affiliated with Nintendo or The Pokémon Company

BIN
bun.lockb Normal file

Binary file not shown.

View File

@@ -3,7 +3,11 @@ import { Serie } from '../interfaces'
const base: Serie = {
name: {
en: "Base",
fr: "Base"
fr: "Base",
es: "Clásica",
it: "Originale",
de: "Grund",
pt: "Coleção Básica"
},
id: "base"
}

View File

@@ -5,8 +5,7 @@ const base4: Set = {
id: "base4",
name: {
en: "Base Set 2",
fr: "Base Set 2"
en: "Base Set 2"
},
serie: serie,

View File

@@ -58,10 +58,9 @@ const card: Card = {
},
],
variants: {
wPromo: true
}
}
export default card

View File

@@ -6,7 +6,11 @@ const base1: Set = {
name: {
en: "Base Set",
fr: "Set de Base"
fr: "Set de Base",
es: "Edición Básica",
it: "Set Base",
de: "Grundset",
pt: "Coleção Básica"
},
serie: serie,

View File

@@ -4,35 +4,47 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Alakazam",
fr: "Alakazam",
de: "Simsala"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
65,
],
hp: 80,
types: [
"Psychic",
],
evolveFrom: {
en: "Kadabra",
},
stage: "Stage2",
abilities: [
{
type: "Poke-POWER",
type: "Pokemon Power",
name: {
en: "Damage Swap",
fr: "Transfert de dégâts",
de: "Schadenstausch"
},
effect: {
en: "As often as you like during your turn (before your attack), you may move 1 damage counter from 1 of your Pokémon to another as long as you don't Knock Out that Pokémon. This power can't be used if Alakazam is Asleep, Confused, or Paralyzed.",
fr: "Aussi souvent que vous le souhaitez pendant votre tour (avant votre attaque), vous pouvez déplacer 1 marqueur de dégâts depuis 1 de vos Pokémon vers un autre sous réserve de ne pas mettre ce Pokémon K.O. Ce pouvoir ne peut être utilisé si Alakazam est Endormi, Confus ou Paralysé.",
de: "Bist Du am Zug, kannst Du (vor Deinem Angriff) beliebig oft eine Schadensmarke von einem Deiner Pokémon auf ein anderes verschieben, solange Du dieses Pokémon nicht kampfunfähig machst. Diese Fähigkeit kann nicht eingesetzt werden, falls Simsala schlafend, verwirrt oder gelähmt ist."
},
},
],
attacks: [
{
cost: [
@@ -42,14 +54,19 @@ const card: Card = {
],
name: {
en: "Confuse Ray",
fr: "Onde Folie",
de: "Konfustrahl"
},
effect: {
en: "Flip a coin. If heads, the Definding Pokémon is now Confused.",
fr: "Lancez une pièce. Si c'est face, le Pokémon défenseur est maintenant Confus.",
de: "Wirf eine Münze bei \"Kopf\" ist das verteidigende Pokémon verwirrt"
},
damage: 30,
},
],
weaknesses: [
{
type: "Psychic",
@@ -59,8 +76,9 @@ const card: Card = {
retreat: 3,
description: {
fr: "Son super cerveau peut effectuer des opérations plus rapidement qu'un super ordinateur. Il a un Q.I. de 5000."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Mewtwo",
fr: "Mewtwo",
de: "Mewtu"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
150,
],
hp: 60,
types: [
"Psychic",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -29,11 +33,15 @@ const card: Card = {
],
name: {
en: "Psychic",
fr: "Psyko",
de: "Psychokinese"
},
effect: {
en: "Does 10 damage plus 10 more damage for each Energy card attached to the Defending Pokémon.",
fr: "Inflige 10 dégâts plus 10 dégâts supplémentaires pour chaque carte Énergie attachée au Pokémon Défenseur.",
de: "Fügt 10 Schadenspunkte plu 10 weitere Schadenspunkte für jede auf dem verteidigenden Pokémon angelegte Energiekarte zu"
},
damage: 10,
damage: "10+",
},
{
@@ -43,13 +51,18 @@ const card: Card = {
],
name: {
en: "Barrier",
fr: "Bouclier",
de: "Barriere"
},
effect: {
en: "Discard 1 Energy card attached to Mewtwo in order to use this attack. During your opponent's next turn, prevent all effects of attacks, including damage, done to Mewtwo.",
fr: "Défaussez 1 carte Énergie attachée à Mewtwo pour pouvoir utiliser cette attaque. Pendant le prochain tour de votre adversaire, prévenez tous les effets ou attaques, y compris les dégâts, infligés à Mewtwo.",
de: "Entferne eine auf Mewtu abgelegte Energiekarte um diesen Angriff auszuführen. Verhindere während desnächsten gegnerischen Zuges alle Auswirkungen von Angriffen auf Mewtu (einschließlich der Schadenspunkte)"
},
},
],
weaknesses: [
{
type: "Psychic",
@@ -57,10 +70,9 @@ const card: Card = {
},
],
description: {
fr: "Il est le fruit de nombreuses expériences génétiques horribles et malsaines."
}
}
export default card

View File

@@ -4,6 +4,8 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Lightning Energy",
fr: "Énergie Électrique",
de: "Elektroenergie"
},
illustrator: "Keiji Kinebuchi",
rarity: "Common",

View File

@@ -4,6 +4,8 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Psychic Energy",
fr: "Énergie Psy",
de: "Psychoenergie"
},
illustrator: "Keiji Kinebuchi",
rarity: "Common",

View File

@@ -4,6 +4,8 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Water Energy",
fr: "Énergie Eau",
de: "Wasserenergie"
},
illustrator: "Keiji Kinebuchi",
rarity: "Common",

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Nidoking",
fr: "Nidoking",
de: "Nidoking"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
34,
],
hp: 90,
types: [
"Grass",
],
evolveFrom: {
en: "Nidorino",
},
stage: "Stage2",
stage: "Stage2",
attacks: [
{
@@ -32,11 +38,15 @@ const card: Card = {
],
name: {
en: "Thrash",
fr: "Mania",
de: "Prügel"
},
effect: {
en: "Flip a coin. If heads, this attack does 30 damage plus 10 more damage; if tails, this attack does 30 damage and Nidoking does 10 damage to itself.",
fr: "Lancez une pièce. Si c'est face, cette attaque inflige 30 dégâts plus 10 dégâts supplémentaires ; si c'est pile, cette attaque inflige 30 dégâts et Nidoking s'inflige 10 dégâts.",
de: "Wirf eine Münze. Bei Kopf fügt dieser Angriff 30Schadenspunkte plus 10 weitere Schadenspunkte zu. Bei Zahl fügt dieser Angriff 30 Schadenspunkte zu, und Nidoking fügt sich selbst 10 Schadenspunkte zu."
},
damage: 30,
damage: "30+",
},
{
@@ -47,14 +57,19 @@ const card: Card = {
],
name: {
en: "Toxic",
fr: "Toxik",
de: "Toxin"
},
effect: {
en: "The Defending Pokémon is now Poisoned. It now takes 20 Poison damage instead of 10 after each player's turn (even if it was already Poisoned).",
fr: "Le Pokémon Défenseur est maintenant Empoisonné. Il subit maintenant 20 dégâts Poison au lieu de 10 après le tour de chaque joueur (même s'il était déjà empoisonné).",
de: "Das verteidigende Pkemon ist vergiftet. Es erleidet 20 Vergiftunsschadenspunkte anstatt 10 nach dem Zug jedes Spielers (selbst wenn esbereits vergiuftet war)"
},
damage: 40,
damage: 20,
},
],
weaknesses: [
{
type: "Psychic",
@@ -62,10 +77,9 @@ const card: Card = {
},
],
description: {
fr: "Sa queue est une arme redoutable, il s'en sert pour attraper sa proie et lui broyer les os."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Ninetales",
fr: "Feunard",
de: "Vulnona"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
38,
],
hp: 80,
types: [
"Fire",
],
evolveFrom: {
en: "Vulpix",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -31,9 +37,13 @@ const card: Card = {
],
name: {
en: "Lure",
fr: "Leurre",
de: "Lockvogel"
},
effect: {
en: "If your opponent has any Benched Pokémon, choose 1 of them and switch it with the Defending Pokémon.",
fr: "Si votre adversaire a des Pokémon sur le Banc, choisissez 1 d'entre eux et échangez-le avec le Pokémon Défenseur.",
de: "Falls Dein Gegner irgendwelche Pokémon auf der Bank hat, wähle eines von ihnen und tausce es mit dem verteidigenden Pokémon aus."
},
},
@@ -46,14 +56,19 @@ const card: Card = {
],
name: {
en: "Fire Blast",
fr: "Déflagration",
de: "Feuersturm"
},
effect: {
en: "Discard 1 Energy card attached to Ninetales in order to use this attack.",
fr: "Défaussez 1 carte Énergie attachée à Feunard pour pouvoir utiliser cette attaque.",
de: "Entferne eine auf Vulona abgelegte Energiekarte, um diesen Angriff auszuführen"
},
damage: 80,
},
],
weaknesses: [
{
type: "Water",
@@ -61,10 +76,9 @@ const card: Card = {
},
],
description: {
fr: "Très intelligent et rancunier. Attrapez-lui une de ses queues et il vous maudira pour 1000 ans."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Poliwrath",
fr: "Tartard",
de: "Quappo"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
62,
],
hp: 90,
types: [
"Water",
],
evolveFrom: {
en: "Poliwhirl",
},
stage: "Stage2",
stage: "Stage2",
attacks: [
{
@@ -32,11 +38,15 @@ const card: Card = {
],
name: {
en: "Water Gun",
fr: "Pistolet à O",
de: "Aquaknarre"
},
effect: {
en: "Does 30 damage plus 10 more damage for each Water Energy attached to Poliwrath but not used to pay for this attack's Energy cost. Extra Water Energy after the 2nd doesn't count.",
fr: "Inflige 30 dégâts plus 10 dégâts supplémentaires pour chaque Énergie attachée à Tartard en plus du coût en Énergie de cette attaque. Les Énergies supplémentaires après la seconde ne comptent pas.",
de: "Fügt 30 Schadenspunkte plus 10 weitere Schadenspunkte für jede an Quappo abgelegte Energiekarte zu, die nicht zum Zahlen der Energiekosten füür diesen Angriff verwendet wurde. Du kannst nicht mehr als 20 Schadenspunkte auf diese Weise hinzufügen."
},
damage: 30,
damage: "30+",
},
{
@@ -48,14 +58,19 @@ const card: Card = {
],
name: {
en: "Whirlpool",
fr: "Lessiveuse",
de: "Strudel"
},
effect: {
en: "If the Defending Pokémon has any Energy cards attached to it, choose 1 and discard it.",
fr: "Si des cartes Énergie sont attachées au Pokémon Défenseur, choisissez 1 d'elle et défaussez-la.",
de: "Sind auf dem verteidigenden Pokémon Energiekarten abgelegt, wähle eine von ihnen und entferne sie."
},
damage: 40,
},
],
weaknesses: [
{
type: "Grass",
@@ -63,10 +78,9 @@ const card: Card = {
},
],
description: {
fr: "Excellent nageur, il pratique le crawl ou la nage papillon mieux qu'un champion olympique."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Raichu",
fr: "Raichu",
de: "Raichu"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
26,
],
hp: 80,
types: [
"Lightning",
],
evolveFrom: {
en: "Pikachu",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,9 +38,13 @@ const card: Card = {
],
name: {
en: "Agility",
fr: "Hâte",
de: "Agilität"
},
effect: {
en: "Flip a coin. If heads, during your opponent's next turn, prevent all effects of attacks, including damage, done to Raichu.",
fr: "Lancez une pièce. Si c'est face, pendant le prochain tour de votre adversaire, prévenez tous les effets ou attaques, y compris les dégâts, infligés à Raichu.",
de: "Wirf eine Münze. Bei Kopf verhindere während des nächsten gegnerischen Zuges alle Auswirkungen von Angriffen auf Raichu (einschließlich der Schadenspunkte)."
},
damage: 20,
@@ -48,14 +58,19 @@ const card: Card = {
],
name: {
en: "Thunder",
fr: "Fatal-Foudre",
de: "Donner"
},
effect: {
en: "Flip a coin. If tails, Raichu does 30 damage to itself.",
fr: "Lancez une pièce. Si c'est pile, Raichu s'inflige 30 dégâts.",
de: "Wirf eine Münze. Bei Zahl fügt sich Raichu selbst 30 Schadenspunkte zu."
},
damage: 60,
},
],
weaknesses: [
{
type: "Fighting",
@@ -63,10 +78,9 @@ const card: Card = {
},
],
description: {
fr: "Il doit garder sa queue en contact avec le sol pour éviter toute électrocution."
}
}
export default card

View File

@@ -4,35 +4,47 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Venusaur",
fr: "Florizarre",
de: "Bisaflor"
},
illustrator: "Mitsuhiro Arita",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
3,
],
hp: 100,
types: [
"Grass",
],
evolveFrom: {
en: "Ivysaur",
},
stage: "Stage2",
abilities: [
{
type: "Poke-POWER",
type: "Pokemon Power",
name: {
en: "Energy Trans",
fr: "Transfert d'Énergie",
de: "Energieverteilung"
},
effect: {
en: "As often as you like during your turn (before your attack), you may take 1 Grass Energy card attached to 1 of your Pokémon and attach it to a different one. This power can't be used if Venusaur is Asleep, Confused, or Paralyzed.",
fr: "Aussi souvent que vous le souhaitez pendant votre tour (avant votre attaque), vous pouvez prendre 1 carte Énergie attachée à 1 de vos Pokémon et l'attacher à un autre. Ce pouvoir ne peut être utilisé si Florizarre est Endormi, Confus ou Paralysé.",
de: "Bist du am Zug, kannst Du (vor deinem Angriff) beliebig oft eine auf einem Deiner Pokémon abgelegte Energiekarte nehmen und auf ein anderes legen. Diese Fähigkeit kann nicht eingesetzt werden, falls Bisaflor schlafend, verwirrt oder gelähmt ist."
},
},
],
attacks: [
{
cost: [
@@ -43,12 +55,15 @@ const card: Card = {
],
name: {
en: "Solarbeam",
fr: "Lance-Soleil",
de: "Solarstrahl"
},
damage: 60,
},
],
weaknesses: [
{
type: "Fire",
@@ -56,10 +71,9 @@ const card: Card = {
},
],
description: {
fr: "Sa plante mûrit en absorbant les rayons du soleil. Il migre souvent vers les endroits ensoleillés."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Zapdos",
fr: "Électhor",
de: "Zapdos"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
145,
],
hp: 90,
types: [
"Lightning",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -31,9 +35,13 @@ const card: Card = {
],
name: {
en: "Thunder",
fr: "Tonnerre",
de: "Donner"
},
effect: {
en: "Flip a coin. If tails, Zapdos does 30 damage to itself.",
fr: "Lancez une pièce. Si c'est pile, Électhor s'inflige 30 dégâts.",
de: "Wirf eine Münze. Bei Zahl fügt sich Zapdos selbst 30 Schadenspunkte zu."
},
damage: 60,
@@ -47,9 +55,13 @@ const card: Card = {
],
name: {
en: "Thunderbolt",
fr: "Fatal-Foudre",
de: "Donnerblitz"
},
effect: {
en: "Discard all Energy cards attached to Zapdos in order to use this attack.",
fr: "Défaussez toutes les cartes Énergie attachées à Électhor pour pouvoir utiliser cette attaque.",
de: "Entferne alle auf Zapdos abgelegten Energiekarten, um diesen Angriff auszuführen."
},
damage: 100,
@@ -63,9 +75,9 @@ const card: Card = {
},
],
description: {
fr: "L'oiseau légendaire de la foudre. Il surgit hors des nuages en lançant d'énormes éclairs."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Beedrill",
fr: "Dardargnan",
de: "Bibor"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
15,
],
hp: 80,
types: [
"Grass",
],
evolveFrom: {
en: "Kakuna",
},
stage: "Stage2",
stage: "Stage2",
attacks: [
{
@@ -32,11 +38,15 @@ const card: Card = {
],
name: {
en: "Twineedle",
fr: "Double-Dard",
de: "Duonadel"
},
effect: {
en: "Flip 2 coins. This attack does 30 damage times the number of heads.",
fr: "Lancez 2 pièces. Cette attaque inflige 30 dégâts multipliés par le nombre de faces.",
de: "Wirf 2 Münzen. Dieser Angriff fügt jedesmal, wenn die Münze Kopf zeigt, 30 Schadenspunkte zu."
},
damage: 30,
damage: "30x",
},
{
@@ -47,20 +57,26 @@ const card: Card = {
],
name: {
en: "Poison Sting",
fr: "Dard-Venin",
de: "Giftstachel"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Poisoned.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Empoisonné.",
de: "Wirf eine Münze. Bei Kopf ist das verteidigende Pokémon vergiftet."
},
damage: 40,
},
],
weaknesses: [
{
type: "Fire",
value: "×2"
},
],
resistances: [
{
type: "Fighting",
@@ -68,9 +84,9 @@ const card: Card = {
},
],
description: {
fr: "Il vole à très grande vitesse. Il se bat avec les dards empoisonnés de ses bras."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Dragonair",
fr: "Draco",
de: "Dragonir"
},
illustrator: "Mitsuhiro Arita",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
148,
],
hp: 80,
types: [
"Colorless",
],
evolveFrom: {
en: "Dratini",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,11 +38,15 @@ const card: Card = {
],
name: {
en: "Slam",
fr: "Souplesse",
de: "Slam"
},
effect: {
en: "Flip 2 coins. This attack does 30 damage times the number of heads.",
fr: "Lancez 2 pièces. Cette attaque inflige 30 dégâts multipliés par le nombre de faces.",
de: "Wirf 2 Münzen. Dieser Angriff fügt jedesmal, wenn die Münze Kopf zeigt, 30 Schadenspunkte zu."
},
damage: 30,
damage: "30x",
},
{
@@ -48,9 +58,13 @@ const card: Card = {
],
name: {
en: "Hyper Beam",
fr: "Ultralaser",
de: "Hyperstrahl"
},
effect: {
en: "If the Defending Pokémon has any Energy cards attached to it, choose 1 of them and discard it.",
fr: "Si des cartes Énergie sont attachées au Pokémon Défenseur, choisissez 1 d'elle et défaussez-la.",
de: "Sind auf dem verteidigenden Ppkemon Energiekarten abgelegt, wähle eine von ihnen und entferne sie."
},
damage: 20,
@@ -64,9 +78,9 @@ const card: Card = {
},
],
description: {
fr: "Un Pokémon légendaire plein de charme. Il peut contrôler les variations climatiques."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Dugtrio",
fr: "Triopikeur",
de: "Digdri"
},
illustrator: "Keiji Kinebuchi",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
51,
],
hp: 70,
types: [
"Fighting",
],
evolveFrom: {
en: "Diglett",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,6 +38,8 @@ const card: Card = {
],
name: {
en: "Slash",
fr: "Tranche",
de: "Schlitzer"
},
damage: 40,
@@ -46,20 +54,26 @@ const card: Card = {
],
name: {
en: "Earthquake",
fr: "Séisme",
de: "Erdbeben"
},
effect: {
en: "Does 10 damage to each of your own Benched Pokémon. (Don't apply Weakness and Resistance for Benched Pokémon.)",
fr: "Inflige 10 dégâts à chacun des Pokémon sur votre propre Banc. (Ne pas appliquer la Faiblesse et la Résistance aux Pokémon sur le Banc.)",
de: "Fügt jedem Deiner eigenen Pokémon auf der Bank 10 Schadenspunkte zu. (Schwäche und Resistenz für Pokémon auf der Bank nicht anwenden!)"
},
damage: 70,
},
],
weaknesses: [
{
type: "Grass",
value: "×2"
},
],
resistances: [
{
type: "Lightning",
@@ -67,9 +81,9 @@ const card: Card = {
},
],
description: {
fr: "Un groupe de Taupiqueur. Ils créent des séismes en creusant à plus de 100 km de profondeur."
}
}
export default card

View File

@@ -4,35 +4,47 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Blastoise",
fr: "Tortank",
de: "Turtok"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
9,
],
hp: 100,
types: [
"Water",
],
evolveFrom: {
en: "Wartortle",
},
stage: "Stage2",
abilities: [
{
type: "Poke-POWER",
type: "Pokemon Power",
name: {
en: "Rain Dance",
fr: "Danse de la pluie",
de: "Regentanz"
},
effect: {
en: "As often as you like during your turn (before your attack), you may attach 1 Water Energy Card to 1 of your Water Pokémon. (This doesn't use up your 1 Energy card attachment for the turn.) This power can't be used if Blastoise is Asleep, Confused, or Paralyzed.",
fr: "Aussi souvent que vous le souhaitez pendant votre tour (avant votre attaque), vous pouvez attacher 1 carte Énergie à 1 de vos Pokémon (En plus de la carte Énergie que vous pouvez attacher normalement.) Ce pouvoir ne peut être utilisé si Tortank est Endormi, Confus ou Paralysé.",
de: "Bist Du am Zug kannst du (vor Deinem Angriff) beliebig oft eine Energiekarte auf eines Deiner Pokémon ablegen. (Damit ist die Ablegemöglichkeit von einer Energiekarte pro Zug nicht aufgebraucht.) Diese Fähigkeit kann nicht eingesetzt werden, falls Turtok schlafend, verwirrt oder gelähmt ist."
},
},
],
attacks: [
{
cost: [
@@ -42,14 +54,19 @@ const card: Card = {
],
name: {
en: "Hydro Pump",
fr: "Hydrocanon",
de: "Hydropumpe"
},
effect: {
en: "Does 40 damage plus 10 more damage for each attached Water Energy attached to Blastoise but not used to pay for this attack's Energy cost. Extra Water Energy after the 2nd doesn't count.",
fr: "Inflige 40 dégâts plus 10 dégâts supplémentaires pour chaque Énergie attachée à Tortank en plus du coût en Énergie de cette attaque. Les Énergies supplémentaires après la seconde ne comptent pas.",
de: "Fügt 40 Schadenspunkte plus 10 weitere schadenspunkte für jede auf Turtok abgelegte Energie zu, die nicht zum Zahlen der Energiekosten für diesen Angriff verwendet wurde. Du kannst nicht mehr als 20 Schadenspunkte auf diese Weise hinzufügen."
},
damage: "40+",
},
],
weaknesses: [
{
type: "Lightning",
@@ -57,10 +74,9 @@ const card: Card = {
},
],
description: {
fr: "Un Pokémon brutal armé de canons hydrauliques. Ses puissants jets d'eau sont dévastateurs."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Electabuzz",
fr: "Élektek",
de: "Elektek"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
125,
],
hp: 70,
types: [
"Lightning",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,9 +32,13 @@ const card: Card = {
],
name: {
en: "Thundershock",
fr: "Éclair",
de: "Donnerschock"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Paralyzed.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Paralysé.",
de: "Wirf eine Münze. Bei Kopf ist das verteidigende Pokémon gelhämt."
},
damage: 10,
@@ -42,14 +50,19 @@ const card: Card = {
],
name: {
en: "Thunderpunch",
fr: "Poing-Éclair",
de: "Donnerschlag"
},
effect: {
en: "Flip a coin. If heads, this attack does 30 damage plus 10 more damage; if tails, this attack does 30 damage and Electabuzz does 10 damage to itself.",
fr: "Lancez une pièce. Si c'est face, cette attaque inflige 30 dégâts plus 10 dégâts supplémentaires ; si c'est pile, cette attaque inflige 30 dégâts et Élektek s'inflige 10 dégâts.",
de: "Wirf eine Münze. Bei Kopf fügt dieser Angriff 30 Schdenspunkte plus 10 weitere Schadenspunkte zu. Bei Zahl fügt dieser Angriff 30 Schadenspunkte zu, und Elektek fügt sich selbst 10 Schadenspunkte zu."
},
damage: 30,
damage: "30+",
},
],
weaknesses: [
{
type: "Fighting",
@@ -57,10 +70,9 @@ const card: Card = {
},
],
description: {
fr: "Vivant dans les centrales, il provoque des pannes de courant en s'aventurant en ville."
}
}
export default card

View File

@@ -4,35 +4,47 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Electrode",
fr: "Électrode",
de: "Lektrobal"
},
illustrator: "Keiji Kinebuchi",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
101,
],
hp: 80,
types: [
"Lightning",
],
evolveFrom: {
en: "Voltorb",
},
stage: "Basic",
abilities: [
{
type: "Poke-POWER",
type: "Pokemon Power",
name: {
en: "Buzzap",
fr: "Buzzap",
de: "Summzapp"
},
effect: {
en: "At any time during your turn (before your attack) you may Knock Out Electrode and attach it to 1 of your other Pokémon. If you do, chose a type of Energy. Electrode is now an Energy card (instead of a Pokémon) that provides 2 energy of that type. This power can't be used if Electrode is Asleep, Confused, or Paralyzed.",
fr: "N'importe quand durant votre tour (avant votre attaque), vous pouvez mettre Électrode K.O. et l'attacher à 1 de vos autres Pokémon. Si vous le faites, choisissez un type d'Énergie. Électrode est maintenant une carte Énergie (au lieu d'un Pokémon) qui fournit 2 Énergies de ce type. Ce pouvoir ne peut être utilisé si Électrode est Endormi, Confus ou Paralysé.",
de: "Jederzeit während deines Zuges (vor Deinem Angriff) kannst Du Lektrobal kampfunfähig machenund auf eines Deiner Pokémon ablegen. Falls Du das tust, wähle einen Energietyp. Lektrobal ist eine Energiekarte (anstatt eines Pokémon), die 2 Energien dieses Typs liefert. Diese Fähigkeit kann nicxht eingesetzt werden, falls Lektrobal schlafend, verwirrt oder gelähmt ist."
},
},
],
attacks: [
{
cost: [
@@ -42,14 +54,19 @@ const card: Card = {
],
name: {
en: "Electric Shock",
fr: "Choc Électrique",
de: "Elektroschock"
},
effect: {
en: "Flip a coin. If tails, Electrode does 10 damage to itself.",
fr: "Lancez une pièce. Si c'est pile, Électrode s'inflige 10 dégâts.",
de: "Wirf eine Münze. Bei Zahl fügt Lektrobal sich selbst 10 Scahdenspunkte zu."
},
damage: 50,
},
],
weaknesses: [
{
type: "Fighting",
@@ -57,10 +74,9 @@ const card: Card = {
},
],
description: {
fr: "Il emmagasine des quantités énormes de courant électrique sous pression pouvant exploser."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Pidgeotto",
fr: "Roucoups",
de: "Tauboga"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
17,
],
hp: 60,
types: [
"Colorless",
],
evolveFrom: {
en: "Pidgey",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -31,9 +37,13 @@ const card: Card = {
],
name: {
en: "Whirlwind",
fr: "Cyclone",
de: "Wirbelwind"
},
effect: {
en: "If your opponent has any Benched Pokémon, he or she chooses 1 of them and switches it with the Defending Pokémon. (Do the damage before switching the Pokémon.)",
fr: "Si votre adversaire a au moins un Pokémon sur le Banc, il ou elle choisit l'1 d'eux et l'échange avec le Pokémon Défenseur. (Appliquez les dégâts avant d'échanger les Pokémon.)",
de: "Falls Dein Gegner irgendwelche Poke,mon auf der Bank hat, muss er eines von ihnen wählen und mit dem verteidigenden pokemon austauschen. (Füge die Schadenspunkte vor dem Auswechseln der Pokémon zu.)"
},
damage: 20,
@@ -46,19 +56,25 @@ const card: Card = {
],
name: {
en: "Mirror Move",
fr: "Mimique",
de: "Spiegeltrick"
},
effect: {
en: "If Pidgeotto was attacked last turn, do the final result of that attack on Pidgeotto to the Defending Pokémon.",
fr: "Si Roucoups a été attaqué pendant le tour précédent, appliquez le résultat final de cette attaque infligée à Roucoups sur le Pokémon Défenseur.",
de: "Falls Tauboga im letzten Ziug angegriffen wurde, füge dem verteidigenden Pokémon Schadenspunkte in Höhe der Endstärke dieses Angriffs zu."
},
},
],
weaknesses: [
{
type: "Lightning",
value: "×2"
},
],
resistances: [
{
type: "Fighting",
@@ -66,9 +82,9 @@ const card: Card = {
},
],
description: {
fr: "Il protège son territoire avec ardeur et repousse à coups de bec tout intrus."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Arcanine",
fr: "Arcanin",
de: "Arkani"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
59,
],
hp: 100,
types: [
"Fire",
],
evolveFrom: {
en: "Growlithe",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,9 +38,13 @@ const card: Card = {
],
name: {
en: "Flamethrower",
fr: "Lance-Flamme",
de: "Flammenwurf"
},
effect: {
en: "Discard 1 Energy card attached to Arcanine in order to use this attack.",
fr: "Défaussez 1 carte Énergie attachée à Arcanin pour pouvoir utiliser cette attaque.",
de: "Entferne eine auf Arkani abgelegte Energiekarte, um diesen Angriff auszuführen."
},
damage: 50,
@@ -48,14 +58,19 @@ const card: Card = {
],
name: {
en: "Take Down",
fr: "Bélier",
de: "Bodycheck"
},
effect: {
en: "Arcanine does 30 damage to itself.",
fr: "Arcanin s'inflige 30 dégâts.",
de: "Arkani fügt sich selbst 30 Schadenspunkte zu."
},
damage: 80,
},
],
weaknesses: [
{
type: "Water",
@@ -63,10 +78,9 @@ const card: Card = {
},
],
description: {
fr: "Un Pokémon très recherché pour sa grâce légendaire. Son pas élégant semble glisser sur le vent."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Charmeleon",
fr: "Reptincel",
de: "Glutexo"
},
illustrator: "Mitsuhiro Arita",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
5,
],
hp: 80,
types: [
"Fire",
],
evolveFrom: {
en: "Charmander",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,6 +38,8 @@ const card: Card = {
],
name: {
en: "Slash",
fr: "Tranche",
de: "Schlitzer"
},
damage: 30,
@@ -45,14 +53,19 @@ const card: Card = {
],
name: {
en: "Flamethrower",
fr: "Lance-flamme",
de: "Flammenwurf"
},
effect: {
en: "Discard 1 Energy card attached to Charmeleon in order to use this attack.",
fr: "Défaussez 1 carte Énergie attachée à Reptincel pour pouvoir utiliser cette attaque.",
de: "Entferne eine auf Glutexo abgelegte Energiekarte, um diesen Angriff auszuführen."
},
damage: 50,
},
],
weaknesses: [
{
type: "Water",
@@ -60,10 +73,9 @@ const card: Card = {
},
],
description: {
fr: "En agitant sa queue, il peut élever le niveau de la température à un degré incroyable."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Dewgong",
fr: "Lamantine",
de: "Jugong"
},
illustrator: "Mitsuhiro Arita",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
87,
],
hp: 80,
types: [
"Water",
],
evolveFrom: {
en: "Seel",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,6 +38,8 @@ const card: Card = {
],
name: {
en: "Aurora Beam",
fr: "Onde Boréale",
de: "Aurorastrahl"
},
damage: 50,
@@ -46,14 +54,19 @@ const card: Card = {
],
name: {
en: "Ice Beam",
fr: "Laser Glace",
de: "Ice Beam"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Paralyzed.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Paralysé.",
de: "Flip a coin. If heads, the Defending Pokémon is now Paralyzed."
},
damage: 30,
},
],
weaknesses: [
{
type: "Lightning",
@@ -61,10 +74,9 @@ const card: Card = {
},
],
description: {
fr: "Il emmagasine la chaleur dans son corps. Il peut nager dans l'eau glacée à plus de 8 nœuds."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Dratini",
fr: "Minidraco",
de: "Dratini"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
147,
],
hp: 40,
types: [
"Colorless",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,6 +32,8 @@ const card: Card = {
],
name: {
en: "Pound",
fr: "Écras' Face",
de: "Pfund"
},
damage: 10,
@@ -42,9 +48,9 @@ const card: Card = {
},
],
description: {
fr: "Longtemps considéré comme légendaire, une colonie fut découverte dans les océans."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Farfetch'd",
fr: "Canarticho",
de: "Porenta"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
83,
],
hp: 50,
types: [
"Colorless",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,9 +32,13 @@ const card: Card = {
],
name: {
en: "Leek Slap",
fr: "Coup d'oignon",
de: "Lauchschlag"
},
effect: {
en: "Flip a coin. If tails, this attack does nothing. Either way, you can't use this attack again as long as Farfetch'd stays in play (even putting Farfetch'd on the Bench won't let you use it again.)",
fr: "Lancez une pièce. Si c'est pile, cette attaque est sans effet. Quel que soit le résultat, vous ne pouvez plus utiliser cette attaque aussi longtemps que Canarticho reste en jeu (même renvoyer Canarticho sur le Banc ne vous permet pas de l'utiliser à nouveau).",
de: "Wir 1 Münze. Bei Zahl hat dieser Angriff keine Auswirkung. In jedem Fall kannst du diesen Angriff solange nicht mehr einsetzen, wie Porenta im Spiel bleibt (sogar wenn Porenta auf de Bank gesetzt wird, kan dieser Angriff nicht mehr eingesetzt werden.)"
},
damage: 30,
@@ -43,18 +51,22 @@ const card: Card = {
],
name: {
en: "Pot Smash",
fr: "Coup de casserole",
de: "Topfschmetterer"
},
damage: 30,
},
],
weaknesses: [
{
type: "Lightning",
value: "×2"
},
],
resistances: [
{
type: "Fighting",
@@ -62,9 +74,9 @@ const card: Card = {
},
],
description: {
fr: "Il utilise l'oignon qu'il a dans la bouche comme une épée d'acier."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Growlithe",
fr: "Caninos",
de: "Fukano"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
58,
],
hp: 60,
types: [
"Fire",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -29,12 +33,15 @@ const card: Card = {
],
name: {
en: "Flare",
fr: "Intimidation",
de: "Flackern"
},
damage: 20,
},
],
weaknesses: [
{
type: "Water",
@@ -42,10 +49,9 @@ const card: Card = {
},
],
description: {
fr: "Pour protéger son territoire, il aboie et mord jusqu'à ce que les intrus s'enfuient."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Haunter",
fr: "Spectrum",
de: "Alpollo"
},
illustrator: "Keiji Kinebuchi",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
93,
],
hp: 60,
types: [
"Psychic",
],
evolveFrom: {
en: "Gastly",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -30,9 +36,13 @@ const card: Card = {
],
name: {
en: "Hypnosis",
fr: "Hypnose",
de: "Hypnose"
},
effect: {
en: "The Defending Pokémon is now Asleep.",
fr: "Le Pokémon Défenseur est maintenant Endormi.",
de: "Das verteidigende Pokémon schläft jetzt."
},
},
@@ -43,9 +53,13 @@ const card: Card = {
],
name: {
en: "Dream Eater",
fr: "Dévorêve",
de: "Traumfresser"
},
effect: {
en: "You can't this attack unless the Defending Pokémon is Asleep.",
fr: "Vous ne pouvez utiliser cette attaque que si le Pokémon Défenseur est Endormi.",
de: "Du kannst diesen Angriff nur einsetzen, wenn das verteidigende Pokémon schlafend ist."
},
damage: 50,
@@ -59,9 +73,9 @@ const card: Card = {
},
],
description: {
fr: "Il peut se glisser à travers les murs comme une créature d'une autre dimension."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Chansey",
fr: "Leveinard",
de: "Chaneira"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
113,
],
hp: 120,
types: [
"Colorless",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -29,9 +33,13 @@ const card: Card = {
],
name: {
en: "Scrunch",
fr: "Compresse",
de: "Zähneknirschen"
},
effect: {
en: "Flip a coin. If heads, prevent all damage done to Chansey during your opponent's next turn. (Any other effects of attacks still happen.)",
fr: "Lancez une pièce. Si c'est face, prévenez tous les dégâts infligés à Leveinard pendant le prochain tour de votre adversaire. (Tout autre effet ou attaque est toujours valide.)",
de: "Wirf eine Münze. Bei \"Kopf\" kannst Du den Schaden, der Chaneira während des nächsten Zuges zugefügt wird, verhindern. (Alle anderen Auswirkungen von Angriffen finden immer noch statt.)"
},
},
@@ -44,20 +52,26 @@ const card: Card = {
],
name: {
en: "Double-edge",
fr: "Damoclès",
de: "Austeiler"
},
effect: {
en: "Chansey does 80 damage to itself.",
fr: "Leveinard s'inflige 80 points de dégâts.",
de: "Chaneira fügt sich selbst 80 Schadenspunkte zu."
},
damage: 80,
},
],
weaknesses: [
{
type: "Fighting",
value: "×2"
},
],
resistances: [
{
type: "Psychic",
@@ -65,9 +79,9 @@ const card: Card = {
},
],
description: {
fr: "Un Pokémon rare et difficile à capturer qui porte chance et bien-être à son possesseur."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Ivysaur",
fr: "Herbizarre",
de: "Bisaknosp"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
2,
],
hp: 60,
types: [
"Grass",
],
evolveFrom: {
en: "Barboach",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,6 +38,8 @@ const card: Card = {
],
name: {
en: "Vine Whip",
fr: "Fouet Lianes",
de: "Rankenhieb"
},
damage: 30,
@@ -45,14 +53,19 @@ const card: Card = {
],
name: {
en: "Poisonpowder",
fr: "Poudre Toxik",
de: "Giftpuder"
},
effect: {
en: "The Defending Pokémon is now Poisoned.",
fr: "Le Pokémon Défenseur est maintenant Empoisonné.",
de: "Das verteidigende Pokémon ist vergiftet."
},
damage: 30,
damage: 20,
},
],
weaknesses: [
{
type: "Fire",
@@ -60,10 +73,9 @@ const card: Card = {
},
],
description: {
fr: "Son bulbe dorsal devient si gros qu'il ne peut plus se tenir sur ses membres postérieurs."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Jynx",
fr: "Lippoutou",
de: "Rossana"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
124,
],
hp: 70,
types: [
"Psychic",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,11 +32,15 @@ const card: Card = {
],
name: {
en: "Doubleslap",
fr: "Torgnoles",
de: "Duplexhieb"
},
effect: {
en: "Flip 2 coins. This attack does 10 damage times the number of heads.",
fr: "Lancez 2 pièces. Cette attaque inflige 10 dégâts multipliés par le nombre de faces.",
de: "Wirf 2 Münzen. Dieser Angriff fügt jedesmal, wenn die Münze Kopf zeigt, 10 Schadenspunkte zu."
},
damage: 10,
damage: "10x",
},
{
@@ -43,14 +51,19 @@ const card: Card = {
],
name: {
en: "Meditate",
fr: "Yoga",
de: "Meditation"
},
effect: {
en: "Does 20 damage plus 10 more damage for each damage counter on the Defending Pokémon.",
fr: "Inflige 20 dégâts plus 10 dégâts supplémentaires pour chaque marqueur de dégâts sur le Pokémon Défenseur.",
de: "Fügt 20 Schadenspunkte plus 10 weitere für jede auf dem verteidigenden Pokémon abgelegte Schadensmarke zu."
},
damage: 20,
damage: "20+",
},
],
weaknesses: [
{
type: "Psychic",
@@ -58,10 +71,9 @@ const card: Card = {
},
],
description: {
fr: "Il lui suffit de méditer pour lancer une puissante attaque psychique."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Kadabra",
fr: "Kadabra",
de: "Kadabra"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
64,
],
hp: 60,
types: [
"Psychic",
],
evolveFrom: {
en: "Abra",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -31,9 +37,13 @@ const card: Card = {
],
name: {
en: "Recover",
fr: "Soin",
de: "Erholung"
},
effect: {
en: "Discard 1 Energy card attached to Kadabra in order use this attack. Remove all damage counters from Kadabra.",
fr: "Défaussez 1 carte Énergie attachée à Kadabra pour pouvoir utiliser cette attaque. Retirez tous les marqueurs de dégâts sur Kadabra.",
de: "Entferne eine auf kadabra abgelegte Energiekarte, um diesen Angriff auszuführen. Entferne alle Schadensmarken von Kadabra."
},
},
@@ -45,12 +55,15 @@ const card: Card = {
],
name: {
en: "Super Psy",
fr: "Super Psy",
de: "Super-Psychoschlag"
},
damage: 50,
},
],
weaknesses: [
{
type: "Psychic",
@@ -58,10 +71,9 @@ const card: Card = {
},
],
description: {
fr: "Son corps émet des ondes alpha provoquant des migraines à ceux qui se trouvent à proximité."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Kakuna",
fr: "Coconfort",
de: "Kokuna"
},
illustrator: "Keiji Kinebuchi",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
14,
],
hp: 80,
types: [
"Grass",
],
evolveFrom: {
en: "Weedle",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -31,9 +37,13 @@ const card: Card = {
],
name: {
en: "Stiffen",
fr: "Armure",
de: "Härtner"
},
effect: {
en: "Flip a coin. If heads, prevent all damage done to Kakuna during your opponent's next turn. (Any other effects of attacks still happen.)",
fr: "Lancez une pièce. Si c'est face, prévenez tous les dégâts infligés à Coconfort pendant le prochain tour de votre adversaire. (Tout autre effet ou attaque est toujours valide.)",
de: "Wirf eine Münze. Bei 'Kopf' verhindere allen Schaden, der Kokuna während des nächsten Zugs Deines Gegners zugefüght wird. (Alle anderen Auswirkungen von Angriffen finden immer noch statt)."
},
},
@@ -44,14 +54,19 @@ const card: Card = {
],
name: {
en: "Poisonpowder",
fr: "Poudre Toxik",
de: "Giftpuder"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Poisoned.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Empoisonné.",
de: "Wirf eine Münze. Bei 'Kopf' ist das verteidigende Pokémon vergiftet."
},
damage: 20,
},
],
weaknesses: [
{
type: "Fire",
@@ -59,10 +74,9 @@ const card: Card = {
},
],
description: {
fr: "Incapable de se déplacer de lui-même, il se défend en durcissant sa carapace."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Machoke",
fr: "Machopeur",
de: "Maschock"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
67,
],
hp: 80,
types: [
"Fighting",
],
evolveFrom: {
en: "Machop",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,11 +38,15 @@ const card: Card = {
],
name: {
en: "Karate Chop",
fr: "Poing-Karaté",
de: "Karateschlag"
},
effect: {
en: "Does 50 damage minus 10 for each damage counter on Machoke.",
fr: "Inflige 50 dégâts moins 10 dégâts pour chaque marqueur de dégâts sur Machopeur.",
de: "Fügt 50 Schadenspunkte minus 10 Schadenspunkte für jede Schadensmarke auf Maschock zu."
},
damage: 50,
damage: "50-",
},
{
@@ -48,14 +58,19 @@ const card: Card = {
],
name: {
en: "Submission",
fr: "Sacrifice",
de: "Überroller"
},
effect: {
en: "Machoke does 20 damage to itself.",
fr: "Machopeur s'inflige 20 dégâts.",
de: "Maschock fügt sich selbst 20 Schadenspunkte zu."
},
damage: 60,
},
],
weaknesses: [
{
type: "Psychic",
@@ -63,10 +78,9 @@ const card: Card = {
},
],
description: {
fr: "Son corps est si puissant qu'il lui faut une ceinture de force pour équilibrer ses mouvements."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Magikarp",
fr: "Magicarpe",
de: "Karpador"
},
illustrator: "Mitsuhiro Arita",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
129,
],
hp: 30,
types: [
"Water",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,6 +32,8 @@ const card: Card = {
],
name: {
en: "Tackle",
fr: "Charge",
de: "Tackle"
},
damage: 10,
@@ -39,14 +45,19 @@ const card: Card = {
],
name: {
en: "Flail",
fr: "Nageoire",
de: "Dreschflegel"
},
effect: {
en: "Does 10 damage times number of damage counters on Magikarp.",
fr: "Inflige 10 dégâts multipliés par le nombre de marqueurs de dégâts sur Magicarpe.",
de: "Fügt 10 Schadenspunkte mal der Anzahl der auf Karpador abgelegten Schadensmarken zu."
},
damage: 10,
damage: "10x",
},
],
weaknesses: [
{
type: "Lightning",
@@ -54,10 +65,9 @@ const card: Card = {
},
],
description: {
fr: "Autrefois, il était beaucoup plus puissant que cette créature minablement faible."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Magmar",
fr: "Magmar",
de: "Magmar"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
126,
],
hp: 50,
types: [
"Fire",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -29,6 +33,8 @@ const card: Card = {
],
name: {
en: "Fire Punch",
fr: "Poing de Feu",
de: "Feuerschlag"
},
damage: 30,
@@ -42,14 +48,19 @@ const card: Card = {
],
name: {
en: "Flamethrower",
fr: "Lance-flamme",
de: "Flammenwurf"
},
effect: {
en: "Discard 1 Energy card attached to Magmar in order to use this attack.",
fr: "Défaussez 1 carte Énergie attachée à Magmar pour pouvoir utiliser cette attaque.",
de: "Entferne eine auf Magmar abgelegte Energiekarte, um diesen Angriff auszuführen."
},
damage: 50,
},
],
weaknesses: [
{
type: "Water",
@@ -57,10 +68,9 @@ const card: Card = {
},
],
description: {
fr: "Son corps en fusion brûle d'une flamme orangée, le rendant invisible dans le feu."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Nidorino",
fr: "Nidorino",
de: "Nidorino"
},
illustrator: "Mitsuhiro Arita",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
33,
],
hp: 60,
types: [
"Grass",
],
evolveFrom: {
en: "Nidoran♂",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,11 +38,15 @@ const card: Card = {
],
name: {
en: "Double Kick",
fr: "Double Pied",
de: "Doppelkick"
},
effect: {
en: "Flip 2 coins. This attack does 30 damage times the number of heads.",
fr: "Lancez 2 pièces. Cette attaque inflige 30 dégâts multipliés par le nombre de faces.",
de: "Wirf 2 Münzen. Dieser Angriff fügt jedesmal, wenn die Münze 'Kopf' zeigt, 30 Schadenspunkte zu."
},
damage: 30,
damage: "30x",
},
{
@@ -48,12 +58,15 @@ const card: Card = {
],
name: {
en: "Horn Drill",
fr: "Empal' Korne",
de: "Hornbohrer"
},
damage: 50,
},
],
weaknesses: [
{
type: "Psychic",
@@ -61,10 +74,9 @@ const card: Card = {
},
],
description: {
fr: "Très agressif, il est prompt à répondre à la violence. La corne sur sa tête est venimeuse."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Poliwhirl",
fr: "Têtarte",
de: "Quaputzi"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
61,
],
hp: 60,
types: [
"Water",
],
evolveFrom: {
en: "Poliwag",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -31,9 +37,13 @@ const card: Card = {
],
name: {
en: "Amnesia",
fr: "Amnésie",
de: "Amnesie"
},
effect: {
en: "Choose 1 of defenders attacks. Defender cannot use that attack next turn.",
fr: "Choisissez 1 des attaques du Pokémon Défenseur. Ce Pokémon ne peut pas utiliser cette attaque pendant le prochain tour de votre adversaire.",
de: "Wähle einen der Angriffe des verteidigenden Pokémon. Dieses Pokémon kann diesen Angriff während des nächsten Zugs nicht einsetzen."
},
},
@@ -45,14 +55,19 @@ const card: Card = {
],
name: {
en: "Doubleslap",
fr: "Torgnoles",
de: "Duplexhieb"
},
effect: {
en: "Flip 2 coins. This attack does 30 damage times number of heads.",
fr: "Lancez 2 pièces. Cette attaque inflige 30 dégâts multipliés par le nombre de faces.",
de: "Wirf 2 Münzen. Dieser Angriff fügt jedesmal, wenn die Münze 'Kopf' zeigt 30 Schadenspunkte zu."
},
damage: 30,
damage: "30x",
},
],
weaknesses: [
{
type: "Grass",
@@ -60,10 +75,9 @@ const card: Card = {
},
],
description: {
fr: "Amphibie, il peut vivre à l'air libre mais il doit rester mouillé pour survivre."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Porygon",
fr: "Porygon",
de: "Porygon"
},
illustrator: "Tomoaki Imakuni",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
137,
],
hp: 30,
types: [
"Colorless",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,9 +32,13 @@ const card: Card = {
],
name: {
en: "Conversion 1",
fr: "Adaptation 1",
de: "Umwandlung 1"
},
effect: {
en: "If the Defending Pokémon has a Weakness, you may change it to a type of your choice other than Colorless.",
fr: "Si le Pokémon Défenseur avait une Faiblesse, vous pouvez la changer pour le type de votre choix, excepté Incolore.",
de: "Falls das verteidigende Pokémon eine Schwäche hat, kannst Du sie auf einen Typ deiner Wahl (außer Farblos) ändern."
},
},
@@ -41,19 +49,25 @@ const card: Card = {
],
name: {
en: "Conversion 2",
fr: "Adaptation 2",
de: "Umwandlung 2"
},
effect: {
en: "Change Porygon's Resistance to a type of your choice other than Colorless.",
fr: "Changez la Résistance de Porygon pour un type de votre choix, excepté Incolore.",
de: "Ändere Porygons Resistenz auf einen Typ Deiner Wahl (außer Farblos)."
},
},
],
weaknesses: [
{
type: "Fighting",
value: "×2"
},
],
resistances: [
{
type: "Psychic",
@@ -61,9 +75,9 @@ const card: Card = {
},
],
description: {
fr: "Un Pokémon fait de programmes et d'algorithmes. Il peut survivre en milieu virtuel."
}
}
export default card

View File

@@ -4,35 +4,47 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Charizard",
fr: "Dracaufeu",
de: "Glurak"
},
illustrator: "Mitsuhiro Arita",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
6,
],
hp: 120,
types: [
"Fire",
],
evolveFrom: {
en: "Charmeleon",
},
stage: "Stage2",
abilities: [
{
type: "Poke-POWER",
type: "Pokemon Power",
name: {
en: "Energy Burn",
fr: "Combustion d'Énergie",
de: "Energie verbrennen"
},
effect: {
en: "As often as you like during your turn (before your attack), you may turn all Energy attached to Charizard into Fire Energy for the rest of the turn. This power can't be used if Charizard is Asleep, Confused, or Paralyzed.",
fr: "Aussi souvent que vous le souhaitez pendant votre tour (avant votre attaque), vous pouvez transformer toutes les Énergies attachées à Dracaufeu en Énergie jusqu'à la fin du tour. Ce pouvoir ne peut être utilisé si Dracaufeu est Endormi, Confus ou Paralysé.",
de: "Bist Du am Zug, kannst Du (vor Deinem Angriff) beliebig oft alle auf Glurak abgelegte Energie in Energie für den Rest des Zugs verwandeln. Diese Fähigkeit kann nicht eingesetzt werden, falls Glurak schlafend, verwirrt oder gelähmt ist."
},
},
],
attacks: [
{
cost: [
@@ -43,20 +55,26 @@ const card: Card = {
],
name: {
en: "Fire Spin",
fr: "Danseflamme",
de: "Feuerwirbel"
},
effect: {
en: "Discard 2 Energy cards attached to Charizard in order to use this attack.",
fr: "Défaussez 2 cartes Énergie attachées à Dracaufeu pour pouvoir utiliser cette attaque.",
de: "Entferne 2 auf Glurak abgelegte Energiekarten, um diesen Angriff auszuführen."
},
damage: 100,
},
],
weaknesses: [
{
type: "Water",
value: "×2"
},
],
resistances: [
{
type: "Fighting",
@@ -64,9 +82,9 @@ const card: Card = {
},
],
description: {
fr: "Il peut fondre la roche de son souffle brûlant. Il est souvent la cause de nombreux incendies."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Raticate",
fr: "Rattatac",
de: "Rattikarl"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
20,
],
hp: 60,
types: [
"Colorless",
],
evolveFrom: {
en: "Poochyena",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -30,6 +36,8 @@ const card: Card = {
],
name: {
en: "Bite",
fr: "Morsure",
de: "Biss"
},
damage: 20,
@@ -43,20 +51,26 @@ const card: Card = {
],
name: {
en: "Super Fang",
fr: "Croc Fatal",
de: "Superzahn"
},
effect: {
en: "Does damage to the Defending Pokémon equal to half the Defending Pokémon's remaining HP (rounded up to the nearest 10).",
fr: "Inflige une quantité de dégâts au Pokémon Défenseur égale à la moitié de ses PV restants (arrondis à la dizaine la plus proche).",
de: "Fügt dem verteidigenden Pokémon Schadenspunkte in Höhe der Hälfte seiner verbleibenden KP (auf die nächste Zehnerstelle aufgerundet) zu."
},
damage: "?",
},
],
weaknesses: [
{
type: "Fighting",
value: "×2"
},
],
resistances: [
{
type: "Psychic",
@@ -64,9 +78,9 @@ const card: Card = {
},
],
description: {
fr: "Si ses moustaches sont coupées, il perd le sens de l'équilibre et devient moins rapide."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Seel",
fr: "Otaria",
de: "Jurob"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
86,
],
hp: 60,
types: [
"Water",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,12 +32,15 @@ const card: Card = {
],
name: {
en: "Headbutt",
fr: "Coup d'Boule",
de: "Kopfnuss"
},
damage: 10,
},
],
weaknesses: [
{
type: "Lightning",
@@ -41,10 +48,9 @@ const card: Card = {
},
],
description: {
fr: "La corne sur son front est très résistante. Elle lui sert à percer des blocs de glace."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Wartortle",
fr: "Carabaffe",
de: "Schillok"
},
illustrator: "Ken Sugimori",
rarity: "Uncommon",
category: "Pokemon",
set: Set,
dexId: [
8,
],
hp: 70,
types: [
"Water",
],
evolveFrom: {
en: "Squirtle",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -31,9 +37,13 @@ const card: Card = {
],
name: {
en: "Withdraw",
fr: "Repli",
de: "Panzerschutz"
},
effect: {
en: "Flip a coin. If heads, prevent all damage done to Wartortle during your opponent's next turn. (Any other effects of attacks still happen.)",
fr: "Lancez une pièce. Si c'est face, prévenez tous les dégâts infligés à Carabaffe pendant le prochain tour de votre adversaire. (Tout autre effet ou attaque est toujours valide.)",
de: "Wirf eine Münze. Bei 'Kopf' verhindere allen Schaden, der Schillok während des nächsten Zugs Deines Gegners zugefühgt wird. (Alle anderen Auswirkungen von Angriffen finden immer noch statt.)"
},
},
@@ -45,12 +55,15 @@ const card: Card = {
],
name: {
en: "Bite",
fr: "Morsure",
de: "Biss"
},
damage: 40,
},
],
weaknesses: [
{
type: "Lightning",
@@ -58,10 +71,9 @@ const card: Card = {
},
],
description: {
fr: "Il se cache au fond de l'eau pour guetter sa proie. Ses oreilles sont des gouvernails."
}
}
export default card

View File

@@ -4,38 +4,47 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Abra",
fr: "Abra",
de: "Abra"
},
illustrator: "Mitsuhiro Arita",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
63,
],
hp: 30,
types: [
"Psychic",
],
stage: "Basic",
attacks: [
{
cost: [
"Psychic",
"Colorless",
],
name: {
en: "Psyshock",
fr: "Choc Psy",
de: "Psychoschock"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Paralyzed.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Paralysé.",
de: "Wirf eine Münze. Bei 'Kopf' ist das verteidigende Pokémon gelähmt."
},
damage: 10,
},
],
weaknesses: [
{
type: "Psychic",
@@ -43,10 +52,9 @@ const card: Card = {
},
],
description: {
fr: "Son don de télépathie lui permet de sentir le danger et de se téléporter en lieu sûr."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Bulbasaur",
fr: "Bulbizarre",
de: "Bisasam"
},
illustrator: "Mitsuhiro Arita",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
1,
],
hp: 40,
types: [
"Grass",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -29,14 +33,19 @@ const card: Card = {
],
name: {
en: "Leech Seed",
fr: "Vampigraine",
de: "Schmarotzer"
},
effect: {
en: "Unless all damage from this attack is prevented, you may remove 1 damage counter from Bulbasaur.",
fr: "À moins que tous les dégâts infligés par cette attaque ne soient prévenus, vous pouvez retirer 1 marqueur de dégâts de Bulbizarre.",
de: "Falls das verteidigende Pokémon den Schaden dieses Angriffs nicht abwehren kann, kannst du eine Schadensmarke von Bisasam entfernen."
},
damage: 20,
},
],
weaknesses: [
{
type: "Fire",
@@ -44,10 +53,9 @@ const card: Card = {
},
],
description: {
fr: "Il a une étrange graine plantée sur son dos. Elle grandit avec lui depuis la naissance."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Caterpie",
fr: "Chenipan",
de: "Raupy"
},
illustrator: "Ken Sugimori",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
10,
],
hp: 40,
types: [
"Grass",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,14 +32,19 @@ const card: Card = {
],
name: {
en: "String Shot",
fr: "Sécrétion",
de: "Fadenschuss"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Paralyzed.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Paralysé.",
de: "Wirf 1 Münze. Bei \"Kopf\" ist das Aktive Pokémon deines Gegners jetzt paralysiert."
},
damage: 10,
},
],
weaknesses: [
{
type: "Fire",
@@ -43,10 +52,9 @@ const card: Card = {
},
],
description: {
fr: "Ses petites pattes sont équipées de ventouses, lui permettant de grimper aux murs."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Charmander",
fr: "Salamèche",
de: "Glumanda"
},
illustrator: "Mitsuhiro Arita",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
4,
],
hp: 50,
types: [
"Fire",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,6 +32,8 @@ const card: Card = {
],
name: {
en: "Scratch",
fr: "Griffe",
de: "Kratzer"
},
damage: 10,
@@ -40,14 +46,19 @@ const card: Card = {
],
name: {
en: "Ember",
fr: "Flammèche",
de: "Glut"
},
effect: {
en: "Discard 1 Energy card attached to Charmander in order to use this attack.",
fr: "Défaussez 1 carte Énergie attachée à Salamèche pour pouvoir utiliser cette attaque.",
de: "Entferne eine auf Glumanda abgelegte Energiekarte, um diesen Angriff auszuführen."
},
damage: 30,
},
],
weaknesses: [
{
type: "Water",
@@ -55,10 +66,9 @@ const card: Card = {
},
],
description: {
fr: "Il préfère les endroits chauds. En cas de pluie, de la vapeur se forme autour de sa queue."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Diglett",
fr: "Taupiqueur",
de: "Digda"
},
illustrator: "Keiji Kinebuchi",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
50,
],
hp: 30,
types: [
"Fighting",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,6 +32,8 @@ const card: Card = {
],
name: {
en: "Dig",
fr: "Tunnel",
de: "Schaufler"
},
damage: 10,
@@ -40,18 +46,22 @@ const card: Card = {
],
name: {
en: "Mud Slap",
fr: "Jet de boue",
de: "Schlammbad"
},
damage: 30,
},
],
weaknesses: [
{
type: "Grass",
value: "×2"
},
],
resistances: [
{
type: "Lightning",
@@ -59,9 +69,9 @@ const card: Card = {
},
],
description: {
fr: "Il vit à un mètre sous la terre et se nourrit de racines. Il apparaît rarement à la surface."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Doduo",
fr: "Doduo",
de: "Dodu"
},
illustrator: "Mitsuhiro Arita",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
84,
],
hp: 50,
types: [
"Colorless",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,20 +32,26 @@ const card: Card = {
],
name: {
en: "Fury Attack",
fr: "Furie",
de: "Furienschlag"
},
effect: {
en: "Flip 2 coins. This attack does 10 damage times the number of heads.",
fr: "Lancez 2 pièces. Cette attaque inflige 10 dégâts multipliés par le nombre de faces.",
de: "Wirf 2 Münzen. Dieser Angriff fügt jedesmal, wenn die Münze \"Kopf\" zeigt, 10 Schadenspunkte zu."
},
damage: 10,
damage: "10x",
},
],
weaknesses: [
{
type: "Lightning",
value: "×2"
},
],
resistances: [
{
type: "Fighting",
@@ -49,9 +59,9 @@ const card: Card = {
},
],
description: {
fr: "Cet oiseau vole très mal mais court très vite. Il laisse de gigantesques empreintes de pas."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Drowzee",
fr: "Soporifik",
de: "Traumato"
},
illustrator: "Ken Sugimori",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
96,
],
hp: 50,
types: [
"Psychic",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,6 +32,8 @@ const card: Card = {
],
name: {
en: "Pound",
fr: "Écras' Face",
de: "Pfund"
},
damage: 10,
@@ -40,14 +46,19 @@ const card: Card = {
],
name: {
en: "Confuse Ray",
fr: "Onde Folie",
de: "Konfustrahl"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Confused.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Confus.",
de: "Wirf eine Münze. Bei 'Kopf' ist das verteidigende Pokémon verwirrt."
},
damage: 10,
},
],
weaknesses: [
{
type: "Psychic",
@@ -55,10 +66,9 @@ const card: Card = {
},
],
description: {
fr: "Il endort ses ennemis et dévore leurs songes. En mangeant de mauvais rêves, il devient malade."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Clefairy",
fr: "Mélofée",
de: "Piepi"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
35,
],
hp: 40,
types: [
"Colorless",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,9 +32,13 @@ const card: Card = {
],
name: {
en: "Sing",
fr: "Berceuse",
de: "Gesang"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Asleep.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Endormi.",
de: "Wirf eine Münze. Bei \"Kopf\" ist das verteidigende Pokémon schlafend."
},
},
@@ -42,19 +50,25 @@ const card: Card = {
],
name: {
en: "Metronome",
fr: "Métronome",
de: "Metronom"
},
effect: {
en: "Choose 1 of Defending Pokémon's attacks. Metronome copies that attack except for its Energy costs and anything else required in order to use that attack, such as discarding energy cards. (No matter what type the defender is, Clefairy's type is still Colorless.)",
fr: "Choisissez 1 des attaques du Pokémon Défenseur. Métronome copie cette attaque à l'exception de son coût d'Énergie et de toute autre action requise pour utiliser cette attaque, comme par exemple, défausser des cartes Énergie. (Quel que soit le type du Pokémon Défenseur, Mélofée demeure de type Incolore.)",
de: "Wähle einen der Angriffe des verteidigenden Pokémon. Metronom kopiert diesen Angriff, außer seiner Energiekosten und was sonst noch für den Einsatz dieses Angriffs erforderlich ist, wie z.B. das Entfernen von Energiekarten. (Unabhängig vom Typ des Verteidigenden Pokémon ist der Typ der Piepi immer noch farblos.)"
},
},
],
weaknesses: [
{
type: "Fighting",
value: "×2"
},
],
resistances: [
{
type: "Psychic",
@@ -62,9 +76,9 @@ const card: Card = {
},
],
description: {
fr: "Très recherché pour son aura mystique, il est très rare et ne vit que dans des endroits précis."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Gastly",
fr: "Fantominus",
de: "Nebulak"
},
illustrator: "Keiji Kinebuchi",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
92,
],
hp: 30,
types: [
"Psychic",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,9 +32,13 @@ const card: Card = {
],
name: {
en: "Sleeping Gas",
fr: "Gaz Soporifique",
de: "Schlafgas"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Asleep.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Endormi.",
de: "Wirf eine Münze. Bei 'Kopf' ist das verteidigende Pokémon schlafend."
},
},
@@ -41,9 +49,13 @@ const card: Card = {
],
name: {
en: "Destiny Bond",
fr: "Prélèvement du Destin",
de: "Schicksalsband"
},
effect: {
en: "Discard 1 Energy card attached to Gastly in order to use this attack. If a Pokémon Knocks Out Gastly during your opponent's next turn, Knock Out that Pokémon.",
fr: "Défaussez 1 carte Énergie attachée à Fantominus pour pouvoir utiliser cette attaque. Si un Pokémon met Fantominus K.O. pendant le prochain tour de votre adversaire, mettez ce Pokémon K.O.",
de: "Entferne eine auf Nebulak abgelegte Energiekarte, um diesen Angriff auzuführen. Falls ein Pokémon Nebulak während des nächsten gegnerischen Zugs kampufunfähig macht, mache dieses Pokémon kampfunfähig."
},
},
@@ -56,9 +68,9 @@ const card: Card = {
},
],
description: {
fr: "Ce Pokémon gazeux plonge ses victimes dans un profond sommeil sans qu'elles s'en aperçoivent."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Koffing",
fr: "Smogo",
de: "Smogon"
},
illustrator: "Mitsuhiro Arita",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
109,
],
hp: 50,
types: [
"Grass",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -29,14 +33,19 @@ const card: Card = {
],
name: {
en: "Foul Gas",
fr: "Gaz infect",
de: "Fäulnisgas"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Poisoned; if tails, it is now Confused.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Empoisonné ; si c'est pile, il est maintenant Confus.",
de: "Wirf eine Münze. Bei 'Kopf' ist das verteidigende Pokémon vergiftet; bei 'Zahl' verwirrt."
},
damage: 10,
},
],
weaknesses: [
{
type: "Psychic",
@@ -44,10 +53,9 @@ const card: Card = {
},
],
description: {
fr: "Son corps, constitué de gaz toxiques et instables, peut exploser soudainement."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Machop",
fr: "Machoc",
de: "Machollo"
},
illustrator: "Mitsuhiro Arita",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
66,
],
hp: 50,
types: [
"Fighting",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,12 +32,15 @@ const card: Card = {
],
name: {
en: "Low Kick",
fr: "Balayage",
de: "Kick"
},
damage: 20,
},
],
weaknesses: [
{
type: "Psychic",
@@ -41,10 +48,9 @@ const card: Card = {
},
],
description: {
fr: "Il adore la musculation. Il pratique les arts martiaux pour devenir encore plus fort."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Magnemite",
fr: "Magneti",
de: "Magnetilo"
},
illustrator: "Keiji Kinebuchi",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
81,
],
hp: 40,
types: [
"Lightning",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,9 +32,13 @@ const card: Card = {
],
name: {
en: "Thunder Wave",
fr: "Cage-Éclair",
de: "Donnerwelle"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Paralyzed.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Paralysé.",
de: "Wirf eine Münze. Bei 'Kopf' ist das verteidigende Pokémon gelähmt."
},
damage: 10,
@@ -42,14 +50,19 @@ const card: Card = {
],
name: {
en: "Selfdestruct",
fr: "Destruction",
de: "Finale"
},
effect: {
en: "Does 10 damage to each Pokémon on each player's Bench. (Don't apply Weakness and Resistance for Benched Pokémon.) Magnemite does 40 damage to itself.",
fr: "Inflige 10 dégâts à chaque Pokémon sur le Banc de chaque joueur. (Ne pas appliquer la Faiblesse et la Résistance aux Pokémon sur le Banc.) Magneti s'inflige 40 dégâts.",
de: "Fügt jedem Pokémon auf der Bank eines jeden Spielers 10 Schadenspunkte zu. (Schwäche und resistenz für Pokémon auf der Bank nicht anwenden!) Magnetilo fügt isch selbst 40 Schadenspunkte zu."
},
damage: 40,
},
],
weaknesses: [
{
type: "Fighting",
@@ -57,10 +70,9 @@ const card: Card = {
},
],
description: {
fr: "Il contrôle la gravité pour pouvoir voler. Il attaque avec des Cages-Éclair."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Metapod",
fr: "Chrysacier",
de: "Safcon"
},
illustrator: "Ken Sugimori",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
11,
],
hp: 70,
types: [
"Grass",
],
evolveFrom: {
en: "Caterpie",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -31,9 +37,13 @@ const card: Card = {
],
name: {
en: "Stiffen",
fr: "Armure",
de: "Verhärten"
},
effect: {
en: "Flip a coin. If heads, prevent all damage done to Metapod during your opponent's next turn. (Any other effects of attacks still happen.)",
fr: "Lancez une pièce. Si c'est face, prévenez tous les dégâts infligés à Chrysacier pendant le prochain tour de votre adversaire. (Tout autre effet ou attaque est toujours valide.)",
de: "Während des nächsten Zuges deines Gegners wird Schaden, der diesem Pokémon durch Angriffe zugefügt wird, um 40 Schadenspunkte reduziert (nachdem Schwäche und Resistenz verrechnet wurden)."
},
},
@@ -44,14 +54,19 @@ const card: Card = {
],
name: {
en: "Stun Spore",
fr: "Para-spore",
de: "Stachelspore"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Paralyzed.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Paralysé.",
de: "Wirf 1 Münze. Bei \"Kopf\" ist das Aktive Pokémon deines Gegners jetzt paralysiert."
},
damage: 20,
},
],
weaknesses: [
{
type: "Fire",
@@ -59,10 +74,9 @@ const card: Card = {
},
],
description: {
fr: "Il est vulnérable aux attaques tant que sa carapace fragile expose son corps tendre et mou."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Nidoran♂",
fr: "Nidoran ♂",
de: "Nidoran M"
},
illustrator: "Ken Sugimori",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
32,
],
hp: 40,
types: [
"Grass",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,14 +32,19 @@ const card: Card = {
],
name: {
en: "Horn Hazard",
fr: "Chanc' Korne",
de: "Gefährliches Horn"
},
effect: {
en: "Flip a coin. If tails, this attack does nothing.",
fr: "Lancez une pièce. Si c'est pile, cette attaque est sans effet.",
de: "Wirf eine Münze. Bei 'Zahl' zeigt dieser Angriff keine Wirkung."
},
damage: 30,
},
],
weaknesses: [
{
type: "Psychic",
@@ -43,10 +52,9 @@ const card: Card = {
},
],
description: {
fr: "Son ouïe très fine l'avertit du danger. Plus ses cornes sont grandes, plus son poison est mortel."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Onix",
fr: "Onix",
de: "Onix"
},
illustrator: "Ken Sugimori",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
95,
],
hp: 90,
types: [
"Fighting",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,6 +32,8 @@ const card: Card = {
],
name: {
en: "Rock Throw",
fr: "Jet-Pierres",
de: "Steinwurf"
},
damage: 10,
@@ -40,13 +46,18 @@ const card: Card = {
],
name: {
en: "Harden",
fr: "Armure",
de: "Härtner"
},
effect: {
en: "During opponent's next turn, whenever 30 or less damage is done to Onix (after applying Weakness and Resistance), prevent that damage. (Any other effects of attacks still happen.)",
fr: "Pendant le prochain tour de votre adversaire, à chaque fois que 30 dégâts ou moins sont infligés à Onix (après application de la Faiblesse et de la Résistance), prévenez ces dégâts. (Tout autre effet ou attaque est toujours valide.)",
de: "Immer wenn Onix während des nächsten gegnerischen Zugs 30 oder weniger Schadenspunkte zugefügt werden, verhindere diesen Schaden (nachdem Schwäche und Resistenz abgerechnet wurden), (Alle anderen Auwirkungen von Angriffen finden immer noch statt)."
},
},
],
weaknesses: [
{
type: "Grass",
@@ -54,10 +65,9 @@ const card: Card = {
},
],
description: {
fr: "Les parties en pierre de son corps durcissent pour devenir comme un diamant de couleur noire."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Pidgey",
fr: "Roucool",
de: "Taubsi"
},
illustrator: "Ken Sugimori",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
16,
],
hp: 40,
types: [
"Colorless",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -29,20 +33,26 @@ const card: Card = {
],
name: {
en: "Whirlwind",
fr: "Cyclone",
de: "Wirbelwind"
},
effect: {
en: "If your opponent has any Benched Pokémon, he or she chooses 1 of them and switches it with the Defending Pokémon. (Do the damage before switching the Pokémon.)",
fr: "Si votre adversaire a au moins un Pokémon sur le Banc, il ou elle choisit l'1 d'eux et l'échange avec le Pokémon Défenseur. (Appliquez les dégâts avant d'échanger les Pokémon.)",
de: "Falls Dein gegner irgendwelche Pokémon auf der Bank hat, muss er eines von ihnen wählen und mit dem verteidigenden Pokémon austauschen. (Fühe die Schadenspunkte vor dem Auswechseln des Pokémon zu.)"
},
damage: 10,
},
],
weaknesses: [
{
type: "Lightning",
value: "×2"
},
],
resistances: [
{
type: "Fighting",
@@ -50,9 +60,9 @@ const card: Card = {
},
],
description: {
fr: "Il est souvent vu dans les forêts. Il brasse l'air de ses ailes près du sol pour projeter du sable."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Pikachu",
fr: "Pikachu",
de: "Pikachu"
},
illustrator: "Mitsuhiro Arita",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
25,
],
hp: 40,
types: [
"Lightning",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,6 +32,8 @@ const card: Card = {
],
name: {
en: "Gnaw",
fr: "Rogne",
de: "Nagen"
},
damage: 10,
@@ -40,14 +46,19 @@ const card: Card = {
],
name: {
en: "Thunder Jolt",
fr: "Secousse Tonnerre",
de: "Donnerschock"
},
effect: {
en: "Flip a coin. If tails, Pikachu does 10 damage to itself.",
fr: "Lancez une pièce. Si c'est pile, Pikachu s'inflige 10 dégâts.",
de: "Wirf eine Münze. Bei \"Zahl\" fügt Pikachu sich selbst 10 Schadenspunkte zu."
},
damage: 30,
},
],
weaknesses: [
{
type: "Fighting",
@@ -55,10 +66,9 @@ const card: Card = {
},
],
description: {
fr: "Quand plusieurs de ces Pokémon se réunissent, ils provoquent de gigantesques orages."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Poliwag",
fr: "Ptitard",
de: "Quapsel"
},
illustrator: "Ken Sugimori",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
60,
],
hp: 40,
types: [
"Water",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,14 +32,19 @@ const card: Card = {
],
name: {
en: "Water Gun",
fr: "Pistolet à O",
de: "Aquaknarre"
},
effect: {
en: "Does 10 damage plus 10 damage for each Energy attached to Poliwag but not used to pay for this attack's Energy cost. Extra Energy after the end don't count.",
fr: "Inflige 30 dégâts plus 10 dégâts supplémentaires pour chaque Énergie attachée à Ptitard en plus du coût en Énergie de cette attaque. Les Énergies supplémentaires après la seconde ne comptent pas.",
de: "Fügt 10 Schadenspunkte plus 10 weitere Schadenspunkte für jede auf Quapsel abgelegte Energie zu, die nicht zum Zahlen der Energiekosten für diesen Angriff verwendet wurde. Du kannst nicht mehr als 20 Schadenspunkte auf diese Weise hinzufügen."
},
damage: 10,
damage: "10+",
},
],
weaknesses: [
{
type: "Grass",
@@ -43,10 +52,9 @@ const card: Card = {
},
],
description: {
fr: "Il court mal avec ses petites pattes. Il préfère nager que de se tenir debout."
}
}
export default card

View File

@@ -4,24 +4,30 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Gyarados",
fr: "Léviator",
de: "Garados"
},
illustrator: "Mitsuhiro Arita",
rarity: "Rare",
category: "Pokemon",
set: Set,
dexId: [
130,
],
hp: 100,
types: [
"Water",
],
evolveFrom: {
en: "Magikarp",
},
stage: "Stage1",
stage: "Stage1",
attacks: [
{
@@ -32,6 +38,8 @@ const card: Card = {
],
name: {
en: "Dragon Rage",
fr: "Draco-Rage",
de: "Drachenwut"
},
damage: 50,
@@ -46,20 +54,26 @@ const card: Card = {
],
name: {
en: "Bubblebeam",
fr: "Bulles d'O",
de: "Blubbstrahl"
},
effect: {
en: "Flip a coin. If heads, the Defending Pokémon is now Paralyzed.",
fr: "Lancez une pièce. Si c'est face, le Pokémon Défenseur est maintenant Paralysé.",
de: "Wirf eine Münze. Bei Kopf ist das verteidigende Pokémon gelähmt."
},
damage: 40,
},
],
weaknesses: [
{
type: "Grass",
value: "×2"
},
],
resistances: [
{
type: "Fighting",
@@ -67,9 +81,9 @@ const card: Card = {
},
],
description: {
fr: "Gigantesque et maléfique, il est capable de raser une ville dans un accès de rage terrifiante."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Ponyta",
fr: "Ponyta",
de: "Ponita"
},
illustrator: "Ken Sugimori",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
77,
],
hp: 40,
types: [
"Fire",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -29,6 +33,8 @@ const card: Card = {
],
name: {
en: "Smash Kick",
fr: "Ruade",
de: "Schmetterkick"
},
damage: 20,
@@ -41,12 +47,15 @@ const card: Card = {
],
name: {
en: "Flame Tail",
fr: "Queue de flamme",
de: "Flammenpfad"
},
damage: 30,
},
],
weaknesses: [
{
type: "Water",
@@ -54,10 +63,9 @@ const card: Card = {
},
],
description: {
fr: "Ses sabots sont plus résistants que le diamant. Il peut aplatir n'importe quoi en le piétinant."
}
}
export default card

View File

@@ -4,23 +4,27 @@ import Set from '../Base Set'
const card: Card = {
name: {
en: "Rattata",
fr: "Rattata",
de: "Rattfratz"
},
illustrator: "Mitsuhiro Arita",
rarity: "Common",
category: "Pokemon",
set: Set,
dexId: [
19,
],
hp: 30,
types: [
"Colorless",
],
stage: "Basic",
attacks: [
{
cost: [
@@ -28,18 +32,22 @@ const card: Card = {
],
name: {
en: "Bite",
fr: "Morsure",
de: "Biss"
},
damage: 20,
},
],
weaknesses: [
{
type: "Fighting",
value: "×2"
},
],
resistances: [
{
type: "Psychic",
@@ -47,9 +55,9 @@ const card: Card = {
},
],
description: {
fr: "Sa morsure est très puissante. Petit et rapide, on en voit un peu partout."
}
}
export default card

Some files were not shown because too many files have changed in this diff Show More