diff --git a/public/images/ui/pokemon_icons_9.json b/public/images/ui/pokemon_icons_9.json index 702514c9e9a..f2cb25c73d5 100644 --- a/public/images/ui/pokemon_icons_9.json +++ b/public/images/ui/pokemon_icons_9.json @@ -4,13 +4,55 @@ "image": "pokemon_icons_9.png", "format": "RGBA8888", "size": { - "w": 125, - "h": 449 + "w": 122, + "h": 474 }, "scale": 1, "frames": [ { - "filename": "8194", + "filename": "980.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 9, + "w": 24, + "h": 17 + }, + "frame": { + "x": 0, + "y": 0, + "w": 24, + "h": 17 + } + }, + { + "filename": "980s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 9, + "w": 24, + "h": 17 + }, + "frame": { + "x": 24, + "y": 0, + "w": 24, + "h": 17 + } + }, + { + "filename": "8194.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -23,162 +65,162 @@ "w": 20, "h": 19 }, - "frame": { - "x": 0, - "y": 0, - "w": 20, - "h": 19 - } - }, - { - "filename": "8194s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 10, - "w": 20, - "h": 19 - }, - "frame": { - "x": 20, - "y": 0, - "w": 20, - "h": 19 - } - }, - { - "filename": "985", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 29, - "h": 23 - }, - "frame": { - "x": 40, - "y": 0, - "w": 29, - "h": 23 - } - }, - { - "filename": "985s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 29, - "h": 23 - }, - "frame": { - "x": 69, - "y": 0, - "w": 29, - "h": 23 - } - }, - { - "filename": "8128", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 27, - "h": 23 - }, - "frame": { - "x": 98, - "y": 0, - "w": 27, - "h": 23 - } - }, - { - "filename": "8128s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 27, - "h": 23 - }, - "frame": { - "x": 0, - "y": 23, - "w": 27, - "h": 23 - } - }, - { - "filename": "1011", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 27, - "y": 23, - "w": 21, - "h": 24 - } - }, - { - "filename": "1011s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 4, - "w": 21, - "h": 24 - }, "frame": { "x": 48, + "y": 0, + "w": 20, + "h": 19 + } + }, + { + "filename": "8194s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 10, + "w": 20, + "h": 19 + }, + "frame": { + "x": 68, + "y": 0, + "w": 20, + "h": 19 + } + }, + { + "filename": "985.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 29, + "h": 23 + }, + "frame": { + "x": 88, + "y": 0, + "w": 29, + "h": 23 + } + }, + { + "filename": "985s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 29, + "h": 23 + }, + "frame": { + "x": 0, + "y": 23, + "w": 29, + "h": 23 + } + }, + { + "filename": "8128.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 27, + "h": 23 + }, + "frame": { + "x": 29, + "y": 23, + "w": 27, + "h": 23 + } + }, + { + "filename": "8128s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 27, + "h": 23 + }, + "frame": { + "x": 56, + "y": 23, + "w": 27, + "h": 23 + } + }, + { + "filename": "1011.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 83, "y": 23, "w": 21, "h": 24 } }, { - "filename": "986", + "filename": "1011s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 0, + "y": 47, + "w": 21, + "h": 24 + } + }, + { + "filename": "986.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -192,14 +234,14 @@ "h": 25 }, "frame": { - "x": 69, - "y": 23, + "x": 21, + "y": 47, "w": 25, "h": 25 } }, { - "filename": "986s", + "filename": "986s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -213,14 +255,35 @@ "h": 25 }, "frame": { - "x": 94, - "y": 23, + "x": 46, + "y": 47, "w": 25, "h": 25 } }, { - "filename": "990", + "filename": "990.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 30, + "h": 25 + }, + "frame": { + "x": 71, + "y": 47, + "w": 30, + "h": 25 + } + }, + { + "filename": "990s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -235,13 +298,13 @@ }, "frame": { "x": 0, - "y": 48, + "y": 72, "w": 30, "h": 25 } }, { - "filename": "990s", + "filename": "987.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -249,20 +312,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 30, - "h": 25 + "x": 9, + "y": 3, + "w": 26, + "h": 26 }, "frame": { "x": 30, - "y": 48, - "w": 30, - "h": 25 + "y": 72, + "w": 26, + "h": 26 } }, { - "filename": "987", + "filename": "987s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -276,14 +339,14 @@ "h": 26 }, "frame": { - "x": 60, - "y": 48, + "x": 56, + "y": 72, "w": 26, "h": 26 } }, { - "filename": "987s", + "filename": "991.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -291,20 +354,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 9, + "x": 10, "y": 3, - "w": 26, + "w": 22, "h": 26 }, "frame": { - "x": 86, - "y": 48, - "w": 26, + "x": 82, + "y": 72, + "w": 22, "h": 26 } }, { - "filename": "991", + "filename": "991s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -319,13 +382,13 @@ }, "frame": { "x": 0, - "y": 74, + "y": 98, "w": 22, "h": 26 } }, { - "filename": "991s", + "filename": "8128-aqua.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -333,20 +396,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, - "y": 3, - "w": 22, + "x": 9, + "y": 4, + "w": 30, "h": 26 }, "frame": { "x": 22, - "y": 74, - "w": 22, + "y": 98, + "w": 30, "h": 26 } }, { - "filename": "8128-aqua", + "filename": "8128s-aqua.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -360,35 +423,14 @@ "h": 26 }, "frame": { - "x": 44, - "y": 74, + "x": 52, + "y": 98, "w": 30, "h": 26 } }, { - "filename": "8128s-aqua", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 4, - "w": 30, - "h": 26 - }, - "frame": { - "x": 74, - "y": 74, - "w": 30, - "h": 26 - } - }, - { - "filename": "984", + "filename": "984.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -401,477 +443,456 @@ "w": 34, "h": 27 }, - "frame": { - "x": 0, - "y": 100, - "w": 34, - "h": 27 - } - }, - { - "filename": "984s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 34, - "h": 27 - }, - "frame": { - "x": 34, - "y": 100, - "w": 34, - "h": 27 - } - }, - { - "filename": "993", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 1, - "w": 32, - "h": 27 - }, - "frame": { - "x": 68, - "y": 100, - "w": 32, - "h": 27 - } - }, - { - "filename": "993s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 1, - "w": 32, - "h": 27 - }, - "frame": { - "x": 0, - "y": 127, - "w": 32, - "h": 27 - } - }, - { - "filename": "1022", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 31, - "h": 27 - }, - "frame": { - "x": 32, - "y": 127, - "w": 31, - "h": 27 - } - }, - { - "filename": "1022s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 31, - "h": 27 - }, - "frame": { - "x": 63, - "y": 127, - "w": 31, - "h": 27 - } - }, - { - "filename": "979", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 29, - "h": 28 - }, - "frame": { - "x": 94, - "y": 127, - "w": 29, - "h": 28 - } - }, - { - "filename": "979s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 29, - "h": 28 - }, - "frame": { - "x": 0, - "y": 155, - "w": 29, - "h": 28 - } - }, - { - "filename": "982", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 1, - "w": 24, - "h": 28 - }, - "frame": { - "x": 29, - "y": 155, - "w": 24, - "h": 28 - } - }, - { - "filename": "982s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 1, - "w": 24, - "h": 28 - }, - "frame": { - "x": 53, - "y": 155, - "w": 24, - "h": 28 - } - }, - { - "filename": "992", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 1, - "w": 32, - "h": 28 - }, - "frame": { - "x": 77, - "y": 155, - "w": 32, - "h": 28 - } - }, - { - "filename": "992s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 1, - "w": 32, - "h": 28 - }, - "frame": { - "x": 0, - "y": 183, - "w": 32, - "h": 28 - } - }, - { - "filename": "1009", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 34, - "h": 28 - }, - "frame": { - "x": 32, - "y": 183, - "w": 34, - "h": 28 - } - }, - { - "filename": "1009s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 34, - "h": 28 - }, - "frame": { - "x": 66, - "y": 183, - "w": 34, - "h": 28 - } - }, - { - "filename": "1010", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 1, - "w": 23, - "h": 28 - }, - "frame": { - "x": 100, - "y": 183, - "w": 23, - "h": 28 - } - }, - { - "filename": "1010s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 1, - "w": 23, - "h": 28 - }, - "frame": { - "x": 0, - "y": 211, - "w": 23, - "h": 28 - } - }, - { - "filename": "989", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 27, - "h": 29 - }, - "frame": { - "x": 23, - "y": 211, - "w": 27, - "h": 29 - } - }, - { - "filename": "989s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 27, - "h": 29 - }, - "frame": { - "x": 50, - "y": 211, - "w": 27, - "h": 29 - } - }, - { - "filename": "1005", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 34, - "h": 29 - }, - "frame": { - "x": 77, - "y": 211, - "w": 34, - "h": 29 - } - }, - { - "filename": "1005s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 34, - "h": 29 - }, - "frame": { - "x": 0, - "y": 240, - "w": 34, - "h": 29 - } - }, - { - "filename": "1006", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 24, - "h": 29 - }, - "frame": { - "x": 34, - "y": 240, - "w": 24, - "h": 29 - } - }, - { - "filename": "1006s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 24, - "h": 29 - }, - "frame": { - "x": 58, - "y": 240, - "w": 24, - "h": 29 - } - }, - { - "filename": "8128-blaze", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 1, - "w": 31, - "h": 29 - }, "frame": { "x": 82, - "y": 240, + "y": 98, + "w": 34, + "h": 27 + } + }, + { + "filename": "984s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 3, + "y": 2, + "w": 34, + "h": 27 + }, + "frame": { + "x": 0, + "y": 125, + "w": 34, + "h": 27 + } + }, + { + "filename": "993.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 32, + "h": 27 + }, + "frame": { + "x": 34, + "y": 125, + "w": 32, + "h": 27 + } + }, + { + "filename": "993s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 32, + "h": 27 + }, + "frame": { + "x": 66, + "y": 125, + "w": 32, + "h": 27 + } + }, + { + "filename": "1022.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 2, "w": 31, + "h": 27 + }, + "frame": { + "x": 0, + "y": 152, + "w": 31, + "h": 27 + } + }, + { + "filename": "1022s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 2, + "w": 31, + "h": 27 + }, + "frame": { + "x": 31, + "y": 152, + "w": 31, + "h": 27 + } + }, + { + "filename": "979.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 1, + "w": 29, + "h": 28 + }, + "frame": { + "x": 62, + "y": 152, + "w": 29, + "h": 28 + } + }, + { + "filename": "979s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 1, + "w": 29, + "h": 28 + }, + "frame": { + "x": 91, + "y": 152, + "w": 29, + "h": 28 + } + }, + { + "filename": "982.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 1, + "w": 24, + "h": 28 + }, + "frame": { + "x": 0, + "y": 180, + "w": 24, + "h": 28 + } + }, + { + "filename": "982s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 1, + "w": 24, + "h": 28 + }, + "frame": { + "x": 24, + "y": 180, + "w": 24, + "h": 28 + } + }, + { + "filename": "992.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 32, + "h": 28 + }, + "frame": { + "x": 48, + "y": 180, + "w": 32, + "h": 28 + } + }, + { + "filename": "992s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 32, + "h": 28 + }, + "frame": { + "x": 80, + "y": 180, + "w": 32, + "h": 28 + } + }, + { + "filename": "1009.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 4, + "y": 1, + "w": 34, + "h": 28 + }, + "frame": { + "x": 0, + "y": 208, + "w": 34, + "h": 28 + } + }, + { + "filename": "1009s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 4, + "y": 1, + "w": 34, + "h": 28 + }, + "frame": { + "x": 34, + "y": 208, + "w": 34, + "h": 28 + } + }, + { + "filename": "1010.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 1, + "w": 23, + "h": 28 + }, + "frame": { + "x": 68, + "y": 208, + "w": 23, + "h": 28 + } + }, + { + "filename": "1010s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 1, + "w": 23, + "h": 28 + }, + "frame": { + "x": 91, + "y": 208, + "w": 23, + "h": 28 + } + }, + { + "filename": "989.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 0, + "w": 27, + "h": 29 + }, + "frame": { + "x": 0, + "y": 236, + "w": 27, "h": 29 } }, { - "filename": "8128s-blaze", + "filename": "989s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 0, + "w": 27, + "h": 29 + }, + "frame": { + "x": 27, + "y": 236, + "w": 27, + "h": 29 + } + }, + { + "filename": "1005.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 3, + "y": 0, + "w": 34, + "h": 29 + }, + "frame": { + "x": 54, + "y": 236, + "w": 34, + "h": 29 + } + }, + { + "filename": "1005s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 3, + "y": 0, + "w": 34, + "h": 29 + }, + "frame": { + "x": 88, + "y": 236, + "w": 34, + "h": 29 + } + }, + { + "filename": "1006.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 0, + "w": 24, + "h": 29 + }, + "frame": { + "x": 0, + "y": 265, + "w": 24, + "h": 29 + } + }, + { + "filename": "1006s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 0, + "w": 24, + "h": 29 + }, + "frame": { + "x": 24, + "y": 265, + "w": 24, + "h": 29 + } + }, + { + "filename": "8128-blaze.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -885,14 +906,35 @@ "h": 29 }, "frame": { - "x": 0, - "y": 269, + "x": 48, + "y": 265, "w": 31, "h": 29 } }, { - "filename": "981", + "filename": "8128s-blaze.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 1, + "w": 31, + "h": 29 + }, + "frame": { + "x": 79, + "y": 265, + "w": 31, + "h": 29 + } + }, + { + "filename": "981.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -906,14 +948,14 @@ "h": 30 }, "frame": { - "x": 31, - "y": 269, + "x": 0, + "y": 294, "w": 25, "h": 30 } }, { - "filename": "981s", + "filename": "981s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -927,14 +969,14 @@ "h": 30 }, "frame": { - "x": 56, - "y": 269, + "x": 25, + "y": 294, "w": 25, "h": 30 } }, { - "filename": "983", + "filename": "982-three-segment.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -948,14 +990,35 @@ "h": 30 }, "frame": { - "x": 81, - "y": 269, + "x": 50, + "y": 294, "w": 27, "h": 30 } }, { - "filename": "983s", + "filename": "982s-three-segment.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 0, + "w": 27, + "h": 30 + }, + "frame": { + "x": 77, + "y": 294, + "w": 27, + "h": 30 + } + }, + { + "filename": "983.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -970,13 +1033,13 @@ }, "frame": { "x": 0, - "y": 299, + "y": 324, "w": 27, "h": 30 } }, { - "filename": "988", + "filename": "983s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -986,18 +1049,18 @@ "spriteSourceSize": { "x": 7, "y": 0, - "w": 28, + "w": 27, "h": 30 }, "frame": { "x": 27, - "y": 299, - "w": 28, + "y": 324, + "w": 27, "h": 30 } }, { - "filename": "988s", + "filename": "988.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1011,14 +1074,14 @@ "h": 30 }, "frame": { - "x": 55, - "y": 299, + "x": 54, + "y": 324, "w": 28, "h": 30 } }, { - "filename": "994", + "filename": "988s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1028,18 +1091,18 @@ "spriteSourceSize": { "x": 7, "y": 0, - "w": 29, + "w": 28, "h": 30 }, "frame": { - "x": 83, - "y": 299, - "w": 29, + "x": 82, + "y": 324, + "w": 28, "h": 30 } }, { - "filename": "994s", + "filename": "994.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1054,13 +1117,13 @@ }, "frame": { "x": 0, - "y": 329, + "y": 354, "w": 29, "h": 30 } }, { - "filename": "995", + "filename": "994s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1075,13 +1138,13 @@ }, "frame": { "x": 29, - "y": 329, + "y": 354, "w": 29, "h": 30 } }, { - "filename": "995s", + "filename": "995.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1096,13 +1159,13 @@ }, "frame": { "x": 58, - "y": 329, + "y": 354, "w": 29, "h": 30 } }, { - "filename": "1018", + "filename": "995s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1110,20 +1173,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 4, + "x": 7, "y": 0, - "w": 33, + "w": 29, "h": 30 }, "frame": { "x": 87, - "y": 329, - "w": 33, + "y": 354, + "w": 29, "h": 30 } }, { - "filename": "1018s", + "filename": "1018.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1138,76 +1201,13 @@ }, "frame": { "x": 0, - "y": 359, + "y": 384, "w": 33, "h": 30 } }, { - "filename": "1019", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 33, - "h": 30 - }, - "frame": { - "x": 33, - "y": 359, - "w": 33, - "h": 30 - } - }, - { - "filename": "1019s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 33, - "h": 30 - }, - "frame": { - "x": 66, - "y": 359, - "w": 33, - "h": 30 - } - }, - { - "filename": "1020", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 4, - "y": 0, - "w": 33, - "h": 30 - }, - "frame": { - "x": 0, - "y": 389, - "w": 33, - "h": 30 - } - }, - { - "filename": "1020s", + "filename": "1018s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1222,13 +1222,55 @@ }, "frame": { "x": 33, - "y": 389, + "y": 384, "w": 33, "h": 30 } }, { - "filename": "1021", + "filename": "1019.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 3, + "y": 0, + "w": 33, + "h": 30 + }, + "frame": { + "x": 66, + "y": 384, + "w": 33, + "h": 30 + } + }, + { + "filename": "1019s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 3, + "y": 0, + "w": 33, + "h": 30 + }, + "frame": { + "x": 0, + "y": 414, + "w": 33, + "h": 30 + } + }, + { + "filename": "1020.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1238,18 +1280,39 @@ "spriteSourceSize": { "x": 4, "y": 0, - "w": 32, + "w": 33, "h": 30 }, "frame": { - "x": 66, - "y": 389, - "w": 32, + "x": 33, + "y": 414, + "w": 33, "h": 30 } }, { - "filename": "1021s", + "filename": "1020s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 4, + "y": 0, + "w": 33, + "h": 30 + }, + "frame": { + "x": 66, + "y": 414, + "w": 33, + "h": 30 + } + }, + { + "filename": "1021.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1264,13 +1327,13 @@ }, "frame": { "x": 0, - "y": 419, + "y": 444, "w": 32, "h": 30 } }, { - "filename": "1023", + "filename": "1021s.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1278,20 +1341,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 9, + "x": 4, "y": 0, - "w": 22, + "w": 32, "h": 30 }, "frame": { "x": 32, - "y": 419, - "w": 22, + "y": 444, + "w": 32, "h": 30 } }, { - "filename": "1023s", + "filename": "1023.png", "rotated": false, "trimmed": true, "sourceSize": { @@ -1305,8 +1368,29 @@ "h": 30 }, "frame": { - "x": 54, - "y": 419, + "x": 64, + "y": 444, + "w": 22, + "h": 30 + } + }, + { + "filename": "1023s.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 0, + "w": 22, + "h": 30 + }, + "frame": { + "x": 86, + "y": 444, "w": 22, "h": 30 } @@ -1317,6 +1401,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:08e8b433699d2eec848a23537f768e83:6af67c3bacff6ddb10829c9668f79a32:6fb417eff82c0971c86b4818772ba292$" + "smartupdate": "$TexturePacker:SmartUpdate:9abaeab03f570b8b40162436db3bc62a:614452adcf477f8c7c2970faaab035f3:6fb417eff82c0971c86b4818772ba292$" } } diff --git a/public/images/ui/pokemon_icons_9.png b/public/images/ui/pokemon_icons_9.png index 1b9510cebe0..e5824ea377f 100644 Binary files a/public/images/ui/pokemon_icons_9.png and b/public/images/ui/pokemon_icons_9.png differ diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 5712a3b13f0..40f1e83fc60 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -2053,18 +2053,18 @@ export function initSpecies() { new PokemonForm("Three-Segment Form", "three-segment", Type.NORMAL, null, 4.5, 47.4, Abilities.SERENE_GRACE, Abilities.RUN_AWAY, Abilities.RATTLED, 520, 125, 100, 80, 85, 75, 55, 45, 50, 182), ), new PokemonSpecies(Species.KINGAMBIT, "Kingambit", 9, false, false, false, "Big Blade Pokémon", Type.DARK, Type.STEEL, 2, 120, Abilities.DEFIANT, Abilities.SUPREME_OVERLORD, Abilities.PRESSURE, 550, 100, 135, 120, 60, 85, 50, 25, 50, 275, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GREAT_TUSK, "Great Tusk", 9, false, false, false, "Paradox Pokémon", Type.GROUND, Type.FIGHTING, 2.2, 320, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 570, 115, 131, 131, 53, 53, 87, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SCREAM_TAIL, "Scream Tail", 9, false, false, false, "Paradox Pokémon", Type.FAIRY, Type.PSYCHIC, 1.2, 8, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 570, 115, 65, 99, 65, 115, 111, 50, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.BRUTE_BONNET, "Brute Bonnet", 9, false, false, false, "Paradox Pokémon", Type.GRASS, Type.DARK, 1.2, 21, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 570, 111, 127, 99, 79, 99, 55, 50, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.FLUTTER_MANE, "Flutter Mane", 9, false, false, false, "Paradox Pokémon", Type.GHOST, Type.FAIRY, 1.4, 4, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 570, 55, 55, 55, 135, 135, 135, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SLITHER_WING, "Slither Wing", 9, false, false, false, "Paradox Pokémon", Type.BUG, Type.FIGHTING, 3.2, 92, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 570, 85, 135, 79, 85, 105, 81, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SANDY_SHOCKS, "Sandy Shocks", 9, false, false, false, "Paradox Pokémon", Type.ELECTRIC, Type.GROUND, 2.3, 60, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 570, 85, 81, 97, 121, 85, 101, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_TREADS, "Iron Treads", 9, false, false, false, "Paradox Pokémon", Type.GROUND, Type.STEEL, 0.9, 240, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 570, 90, 112, 120, 72, 70, 106, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_BUNDLE, "Iron Bundle", 9, false, false, false, "Paradox Pokémon", Type.ICE, Type.WATER, 0.6, 11, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 570, 56, 80, 114, 124, 60, 136, 50, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_HANDS, "Iron Hands", 9, false, false, false, "Paradox Pokémon", Type.FIGHTING, Type.ELECTRIC, 1.8, 380.7, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 570, 154, 140, 108, 50, 68, 50, 50, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_JUGULIS, "Iron Jugulis", 9, false, false, false, "Paradox Pokémon", Type.DARK, Type.FLYING, 1.3, 111, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 570, 94, 80, 86, 122, 80, 108, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_MOTH, "Iron Moth", 9, false, false, false, "Paradox Pokémon", Type.FIRE, Type.POISON, 1.2, 36, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 570, 80, 70, 60, 140, 110, 110, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_THORNS, "Iron Thorns", 9, false, false, false, "Paradox Pokémon", Type.ROCK, Type.ELECTRIC, 1.6, 303, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 570, 100, 134, 110, 70, 84, 72, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.GREAT_TUSK, "Great Tusk", 9, false, false, false, "Paradox Pokémon", Type.GROUND, Type.FIGHTING, 2.2, 320, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 115, 131, 131, 53, 53, 87, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.SCREAM_TAIL, "Scream Tail", 9, false, false, false, "Paradox Pokémon", Type.FAIRY, Type.PSYCHIC, 1.2, 8, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 115, 65, 99, 65, 115, 111, 50, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.BRUTE_BONNET, "Brute Bonnet", 9, false, false, false, "Paradox Pokémon", Type.GRASS, Type.DARK, 1.2, 21, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 111, 127, 99, 79, 99, 55, 50, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.FLUTTER_MANE, "Flutter Mane", 9, false, false, false, "Paradox Pokémon", Type.GHOST, Type.FAIRY, 1.4, 4, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 55, 55, 55, 135, 135, 135, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.SLITHER_WING, "Slither Wing", 9, false, false, false, "Paradox Pokémon", Type.BUG, Type.FIGHTING, 3.2, 92, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 85, 135, 79, 85, 105, 81, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.SANDY_SHOCKS, "Sandy Shocks", 9, false, false, false, "Paradox Pokémon", Type.ELECTRIC, Type.GROUND, 2.3, 60, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 85, 81, 97, 121, 85, 101, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_TREADS, "Iron Treads", 9, false, false, false, "Paradox Pokémon", Type.GROUND, Type.STEEL, 0.9, 240, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 90, 112, 120, 72, 70, 106, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_BUNDLE, "Iron Bundle", 9, false, false, false, "Paradox Pokémon", Type.ICE, Type.WATER, 0.6, 11, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 56, 80, 114, 124, 60, 136, 50, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_HANDS, "Iron Hands", 9, false, false, false, "Paradox Pokémon", Type.FIGHTING, Type.ELECTRIC, 1.8, 380.7, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 154, 140, 108, 50, 68, 50, 50, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_JUGULIS, "Iron Jugulis", 9, false, false, false, "Paradox Pokémon", Type.DARK, Type.FLYING, 1.3, 111, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 94, 80, 86, 122, 80, 108, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_MOTH, "Iron Moth", 9, false, false, false, "Paradox Pokémon", Type.FIRE, Type.POISON, 1.2, 36, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 80, 70, 60, 140, 110, 110, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_THORNS, "Iron Thorns", 9, false, false, false, "Paradox Pokémon", Type.ROCK, Type.ELECTRIC, 1.6, 303, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 100, 134, 110, 70, 84, 72, 30, 0, 285, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.FRIGIBAX, "Frigibax", 9, false, false, false, "Ice Fin Pokémon", Type.DRAGON, Type.ICE, 0.5, 17, Abilities.THERMAL_EXCHANGE, Abilities.NONE, Abilities.ICE_BODY, 320, 65, 75, 45, 35, 45, 55, 45, 50, 64, GrowthRate.SLOW, 50, false), new PokemonSpecies(Species.ARCTIBAX, "Arctibax", 9, false, false, false, "Ice Fin Pokémon", Type.DRAGON, Type.ICE, 0.8, 30, Abilities.THERMAL_EXCHANGE, Abilities.NONE, Abilities.ICE_BODY, 423, 90, 95, 66, 45, 65, 62, 25, 50, 148, GrowthRate.SLOW, 50, false), new PokemonSpecies(Species.BAXCALIBUR, "Baxcalibur", 9, false, false, false, "Ice Dragon Pokémon", Type.DRAGON, Type.ICE, 2.1, 210, Abilities.THERMAL_EXCHANGE, Abilities.NONE, Abilities.ICE_BODY, 600, 115, 145, 92, 75, 86, 87, 10, 50, 300, GrowthRate.SLOW, 50, false), @@ -2077,24 +2077,24 @@ export function initSpecies() { new PokemonSpecies(Species.CHIEN_PAO, "Chien-Pao", 9, true, false, false, "Ruinous Pokémon", Type.DARK, Type.ICE, 1.9, 152.2, Abilities.SWORD_OF_RUIN, Abilities.NONE, Abilities.SWORD_OF_RUIN, 570, 80, 120, 80, 90, 65, 135, 6, 0, 285, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.TING_LU, "Ting-Lu", 9, true, false, false, "Ruinous Pokémon", Type.DARK, Type.GROUND, 2.7, 699.7, Abilities.VESSEL_OF_RUIN, Abilities.NONE, Abilities.VESSEL_OF_RUIN, 570, 155, 110, 125, 55, 80, 45, 6, 0, 285, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.CHI_YU, "Chi-Yu", 9, true, false, false, "Ruinous Pokémon", Type.DARK, Type.FIRE, 0.4, 4.9, Abilities.BEADS_OF_RUIN, Abilities.NONE, Abilities.BEADS_OF_RUIN, 570, 55, 80, 80, 135, 120, 100, 6, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ROARING_MOON, "Roaring Moon", 9, false, false, false, "Paradox Pokémon", Type.DRAGON, Type.DARK, 2, 380, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 590, 105, 139, 71, 55, 101, 119, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_VALIANT, "Iron Valiant", 9, false, false, false, "Paradox Pokémon", Type.FAIRY, Type.FIGHTING, 1.4, 35, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 590, 74, 130, 90, 120, 60, 116, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.KORAIDON, "Koraidon", 9, false, true, false, "Paradox Pokémon", Type.FIGHTING, Type.DRAGON, 2.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.ORICHALCUM_PULSE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335, GrowthRate.SLOW, null, false, false, - new PokemonForm("Apex Build", "apex-build", Type.FIGHTING, Type.DRAGON, 2.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.ORICHALCUM_PULSE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), - new PokemonForm("Limited Build", "limited-build", Type.FIGHTING, Type.DRAGON, 3.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.ORICHALCUM_PULSE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), - new PokemonForm("Sprinting Build", "sprinting-build", Type.FIGHTING, Type.DRAGON, 3.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.ORICHALCUM_PULSE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), - new PokemonForm("Swimming Build", "swimming-build", Type.FIGHTING, Type.DRAGON, 3.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.ORICHALCUM_PULSE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), - new PokemonForm("Gliding Build", "gliding-build", Type.FIGHTING, Type.DRAGON, 3.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.ORICHALCUM_PULSE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), + new PokemonSpecies(Species.ROARING_MOON, "Roaring Moon", 9, false, false, false, "Paradox Pokémon", Type.DRAGON, Type.DARK, 2, 380, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 590, 105, 139, 71, 55, 101, 119, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_VALIANT, "Iron Valiant", 9, false, false, false, "Paradox Pokémon", Type.FAIRY, Type.FIGHTING, 1.4, 35, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 590, 74, 130, 90, 120, 60, 116, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.KORAIDON, "Koraidon", 9, false, true, false, "Paradox Pokémon", Type.FIGHTING, Type.DRAGON, 2.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335, GrowthRate.SLOW, null, false, false, + new PokemonForm("Apex Build", "apex-build", Type.FIGHTING, Type.DRAGON, 2.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), + new PokemonForm("Limited Build", "limited-build", Type.FIGHTING, Type.DRAGON, 3.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), + new PokemonForm("Sprinting Build", "sprinting-build", Type.FIGHTING, Type.DRAGON, 3.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), + new PokemonForm("Swimming Build", "swimming-build", Type.FIGHTING, Type.DRAGON, 3.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), + new PokemonForm("Gliding Build", "gliding-build", Type.FIGHTING, Type.DRAGON, 3.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335), ), - new PokemonSpecies(Species.MIRAIDON, "Miraidon", 9, false, true, false, "Paradox Pokémon", Type.ELECTRIC, Type.DRAGON, 3.5, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.HADRON_ENGINE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335, GrowthRate.SLOW, null, false, false, - new PokemonForm("Ultimate Mode", "ultimate-mode", Type.ELECTRIC, Type.DRAGON, 3.5, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.HADRON_ENGINE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), - new PokemonForm("Low-Power Mode", "low-power-mode", Type.ELECTRIC, Type.DRAGON, 2.8, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.HADRON_ENGINE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), - new PokemonForm("Drive Mode", "drive-mode", Type.ELECTRIC, Type.DRAGON, 2.8, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.HADRON_ENGINE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), - new PokemonForm("Aquatic Mode", "aquatic-mode", Type.ELECTRIC, Type.DRAGON, 2.8, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.HADRON_ENGINE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), - new PokemonForm("Glide Mode", "glide-mode", Type.ELECTRIC, Type.DRAGON, 2.8, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.HADRON_ENGINE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), + new PokemonSpecies(Species.MIRAIDON, "Miraidon", 9, false, true, false, "Paradox Pokémon", Type.ELECTRIC, Type.DRAGON, 3.5, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335, GrowthRate.SLOW, null, false, false, + new PokemonForm("Ultimate Mode", "ultimate-mode", Type.ELECTRIC, Type.DRAGON, 3.5, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), + new PokemonForm("Low-Power Mode", "low-power-mode", Type.ELECTRIC, Type.DRAGON, 2.8, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), + new PokemonForm("Drive Mode", "drive-mode", Type.ELECTRIC, Type.DRAGON, 2.8, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), + new PokemonForm("Aquatic Mode", "aquatic-mode", Type.ELECTRIC, Type.DRAGON, 2.8, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), + new PokemonForm("Glide Mode", "glide-mode", Type.ELECTRIC, Type.DRAGON, 2.8, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335), ), - new PokemonSpecies(Species.WALKING_WAKE, "Walking Wake", 9, false, false, false, "Paradox Pokémon", Type.WATER, Type.DRAGON, 3.5, 280, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 590, 99, 83, 91, 125, 83, 109, 5, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_LEAVES, "Iron Leaves", 9, false, false, false, "Paradox Pokémon", Type.GRASS, Type.PSYCHIC, 1.5, 125, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 590, 90, 130, 88, 70, 108, 104, 5, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.WALKING_WAKE, "Walking Wake", 9, false, false, false, "Paradox Pokémon", Type.WATER, Type.DRAGON, 3.5, 280, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 590, 99, 83, 91, 125, 83, 109, 5, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_LEAVES, "Iron Leaves", 9, false, false, false, "Paradox Pokémon", Type.GRASS, Type.PSYCHIC, 1.5, 125, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 590, 90, 130, 88, 70, 108, 104, 5, 0, 295, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.DIPPLIN, "Dipplin", 9, false, false, false, "Candy Apple Pokémon", Type.GRASS, Type.DRAGON, 0.4, 9.7, Abilities.SUPERSWEET_SYRUP, Abilities.GLUTTONY, Abilities.STICKY_HOLD, 485, 80, 80, 110, 95, 80, 40, 45, 50, 170, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.POLTCHAGEIST, "Poltchageist", 9, false, false, false, "Matcha Pokémon", Type.GRASS, Type.GHOST, 0.1, 1.1, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.SINISTCHA, "Sinistcha", 9, false, false, false, "Matcha Pokémon", Type.GRASS, Type.GHOST, 0.2, 2.2, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178, GrowthRate.SLOW, null, false), @@ -2109,10 +2109,10 @@ export function initSpecies() { ), new PokemonSpecies(Species.ARCHALUDON, "Archaludon", 9, false, false, false, "Alloy Pokémon", Type.STEEL, Type.DRAGON, 2, 60, Abilities.STAMINA, Abilities.STURDY, Abilities.STALWART, 535, 90, 105, 130, 125, 65, 85, 10, 50, null, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.HYDRAPPLE, "Hydrapple", 9, false, false, false, "Apple Hydra Pokémon", Type.GRASS, Type.DRAGON, 1.8, 93, Abilities.SUPERSWEET_SYRUP, Abilities.REGENERATOR, Abilities.STICKY_HOLD, 540, 106, 80, 110, 120, 80, 44, 10, 50, null, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.GOUGING_FIRE, "Gouging Fire", 9, false, false, false, "Paradox Pokémon", Type.FIRE, Type.DRAGON, 3.5, 590, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 590, 105, 115, 121, 65, 93, 91, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.RAGING_BOLT, "Raging Bolt", 9, false, false, false, "Paradox Pokémon", Type.ELECTRIC, Type.DRAGON, 5.2, 480, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.PROTOSYNTHESIS, 590, 125, 73, 91, 137, 89, 75, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_BOULDER, "Iron Boulder", 9, false, false, false, "Paradox Pokémon", Type.ROCK, Type.PSYCHIC, 1.5, 162.5, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 590, 90, 120, 80, 68, 108, 124, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_CROWN, "Iron Crown", 9, false, false, false, "Paradox Pokémon", Type.STEEL, Type.PSYCHIC, 1.6, 156, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.QUARK_DRIVE, 590, 90, 72, 100, 122, 108, 98, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.GOUGING_FIRE, "Gouging Fire", 9, false, false, false, "Paradox Pokémon", Type.FIRE, Type.DRAGON, 3.5, 590, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 590, 105, 115, 121, 65, 93, 91, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.RAGING_BOLT, "Raging Bolt", 9, false, false, false, "Paradox Pokémon", Type.ELECTRIC, Type.DRAGON, 5.2, 480, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 590, 125, 73, 91, 137, 89, 75, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_BOULDER, "Iron Boulder", 9, false, false, false, "Paradox Pokémon", Type.ROCK, Type.PSYCHIC, 1.5, 162.5, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 590, 90, 120, 80, 68, 108, 124, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.IRON_CROWN, "Iron Crown", 9, false, false, false, "Paradox Pokémon", Type.STEEL, Type.PSYCHIC, 1.6, 156, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 590, 90, 72, 100, 122, 108, 98, 10, 0, 295, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.TERAPAGOS, "Terapagos", 9, false, true, false, "Tera Pokémon", Type.NORMAL, null, 0.2, 6.5, Abilities.TERA_SHIFT, Abilities.NONE, Abilities.NONE, 450, 90, 65, 85, 65, 85, 60, 5, 50, null, GrowthRate.SLOW, 50, false, false, new PokemonForm("Normal Form", "", Type.NORMAL, null, 0.2, 6.5, Abilities.TERA_SHIFT, Abilities.NONE, Abilities.NONE, 450, 90, 65, 85, 65, 85, 60, 5, 50, null), new PokemonForm("Terastal Form", "terastal", Type.NORMAL, null, 0.3, 16, Abilities.TERA_SHELL, Abilities.NONE, Abilities.NONE, 600, 95, 95, 110, 105, 110, 85, 5, 50, null), diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 0fd086e723b..f2588535b41 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -203,7 +203,7 @@ export class PokemonPpRestoreModifierType extends PokemonMoveModifierType { return null; }, iconImage, 'ether'); - this.restorePoints = this.restorePoints; + this.restorePoints = restorePoints; } } @@ -218,7 +218,24 @@ export class PokemonAllMovePpRestoreModifierType extends PokemonModifierType { return null; }, iconImage, 'elixir'); - this.restorePoints = this.restorePoints; + this.restorePoints = restorePoints; + } +} + +export class PokemonPpUpModifierType extends PokemonMoveModifierType { + protected upPoints: integer; + + constructor(name: string, upPoints: integer, iconImage?: string) { + super(name, `Permanently increase PP for one Pokémon move by ${upPoints} for every 5 maximum PP (maximum 3)`, (_type, args) => new Modifiers.PokemonPpUpModifier(this, (args[0] as PlayerPokemon).id, (args[1] as integer), this.upPoints), + (_pokemon: PlayerPokemon) => { + return null; + }, (pokemonMove: PokemonMove) => { + if (pokemonMove.getMove().pp < 5 || pokemonMove.ppUp >= 3) + return PartyUiHandler.NoEffectMessage; + return null; + }, iconImage, 'ppUp'); + + this.upPoints = upPoints; } } @@ -662,6 +679,9 @@ export const modifierTypes = { ELIXIR: () => new PokemonAllMovePpRestoreModifierType('Elixir', 10), MAX_ELIXIR: () => new PokemonAllMovePpRestoreModifierType('Max Elixir', -1), + PP_UP: () => new PokemonPpUpModifierType('PP Up', 1), + PP_MAX: () => new PokemonPpUpModifierType('PP Max', 3), + LURE: () => new DoubleBattleChanceBoosterModifierType('Lure', 5), SUPER_LURE: () => new DoubleBattleChanceBoosterModifierType('Super Lure', 10), MAX_LURE: () => new DoubleBattleChanceBoosterModifierType('Max Lure', 25), @@ -854,6 +874,8 @@ const modifierPool = { [ModifierTier.ULTRA]: [ new WeightedModifierType(modifierTypes.ULTRA_BALL, 8), new WeightedModifierType(modifierTypes.MAX_LURE, 4), + new WeightedModifierType(modifierTypes.PP_UP, 6), + new WeightedModifierType(modifierTypes.PP_MAX, 2), new WeightedModifierType(modifierTypes.ATTACK_TYPE_BOOSTER, 4), new WeightedModifierType(modifierTypes.TM_ULTRA, 5), new WeightedModifierType(modifierTypes.MEMORY_MUSHROOM, (party: Pokemon[]) => party.filter(p => p.getLearnableLevelMoves().length).length ? 4 : 0), diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 00075b2b6a0..c4836f9561e 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -924,6 +924,24 @@ export class PokemonAllMovePpRestoreModifier extends ConsumablePokemonModifier { } } +export class PokemonPpUpModifier extends ConsumablePokemonMoveModifier { + private upPoints: integer; + + constructor(type: ModifierType, pokemonId: integer, moveIndex: integer, upPoints: integer) { + super(type, pokemonId, moveIndex); + + this.upPoints = upPoints; + } + + apply(args: any[]): boolean { + const pokemon = args[0] as Pokemon; + const move = pokemon.getMoveset()[this.moveIndex]; + move.ppUp = Math.min(move.ppUp + this.upPoints, move.ppUp + 3); + + return true; + } +} + export class PokemonLevelIncrementModifier extends ConsumablePokemonModifier { constructor(type: ModifierType, pokemonId: integer) { super(type, pokemonId); diff --git a/src/pokemon.ts b/src/pokemon.ts index d7293a06948..857627d599f 100644 --- a/src/pokemon.ts +++ b/src/pokemon.ts @@ -2426,15 +2426,19 @@ export class PokemonMove { isUsable(pokemon: Pokemon, ignorePp?: boolean): boolean { if (this.moveId && pokemon.summonData?.disabledMove === this.moveId) return false; - return ignorePp || this.ppUsed < this.getMove().pp + this.ppUp || this.getMove().pp === -1; + return ignorePp || this.ppUsed < this.getMovePp() || this.getMove().pp === -1; } getMove(): Move { return allMoves[this.moveId]; } + getMovePp(): integer { + return this.getMove().pp + this.ppUp * Math.max(Math.floor(this.getMove().pp / 5), 1); + } + getPpRatio(): number { - return 1 - (this.ppUsed / (this.getMove().pp + this.ppUp)); + return 1 - (this.ppUsed / this.getMovePp()); } getName(): string {