diff --git a/public/images/items.json b/public/images/items.json index 6af2029efd9..7a6069240ab 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -72,6 +72,27 @@ "h": 15 } }, + { + "filename": "eviolite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 15, + "h": 15 + }, + "frame": { + "x": 55, + "y": 0, + "w": 15, + "h": 15 + } + }, { "filename": "prism_scale", "rotated": false, @@ -87,7 +108,7 @@ "h": 15 }, "frame": { - "x": 55, + "x": 70, "y": 0, "w": 15, "h": 15 @@ -108,7 +129,7 @@ "h": 15 }, "frame": { - "x": 70, + "x": 85, "y": 0, "w": 24, "h": 15 @@ -129,7 +150,7 @@ "h": 16 }, "frame": { - "x": 94, + "x": 109, "y": 0, "w": 16, "h": 16 @@ -150,7 +171,7 @@ "h": 16 }, "frame": { - "x": 110, + "x": 125, "y": 0, "w": 16, "h": 16 @@ -171,7 +192,7 @@ "h": 16 }, "frame": { - "x": 126, + "x": 141, "y": 0, "w": 16, "h": 16 @@ -192,7 +213,7 @@ "h": 16 }, "frame": { - "x": 142, + "x": 157, "y": 0, "w": 16, "h": 16 @@ -213,7 +234,7 @@ "h": 16 }, "frame": { - "x": 158, + "x": 173, "y": 0, "w": 16, "h": 16 @@ -234,7 +255,7 @@ "h": 16 }, "frame": { - "x": 174, + "x": 189, "y": 0, "w": 16, "h": 16 @@ -255,7 +276,7 @@ "h": 16 }, "frame": { - "x": 190, + "x": 205, "y": 0, "w": 16, "h": 16 @@ -276,7 +297,7 @@ "h": 16 }, "frame": { - "x": 206, + "x": 221, "y": 0, "w": 16, "h": 16 @@ -297,7 +318,7 @@ "h": 16 }, "frame": { - "x": 222, + "x": 237, "y": 0, "w": 16, "h": 16 @@ -318,7 +339,7 @@ "h": 16 }, "frame": { - "x": 238, + "x": 253, "y": 0, "w": 16, "h": 16 @@ -339,7 +360,7 @@ "h": 16 }, "frame": { - "x": 254, + "x": 269, "y": 0, "w": 16, "h": 16 @@ -360,7 +381,7 @@ "h": 16 }, "frame": { - "x": 270, + "x": 285, "y": 0, "w": 16, "h": 16 @@ -381,7 +402,7 @@ "h": 16 }, "frame": { - "x": 286, + "x": 301, "y": 0, "w": 16, "h": 16 @@ -402,7 +423,7 @@ "h": 16 }, "frame": { - "x": 302, + "x": 317, "y": 0, "w": 16, "h": 16 @@ -423,7 +444,7 @@ "h": 16 }, "frame": { - "x": 318, + "x": 333, "y": 0, "w": 16, "h": 16 @@ -444,7 +465,7 @@ "h": 16 }, "frame": { - "x": 334, + "x": 349, "y": 0, "w": 16, "h": 16 @@ -465,7 +486,7 @@ "h": 16 }, "frame": { - "x": 350, + "x": 365, "y": 0, "w": 16, "h": 16 @@ -486,7 +507,7 @@ "h": 16 }, "frame": { - "x": 366, + "x": 381, "y": 0, "w": 16, "h": 16 @@ -507,28 +528,7 @@ "h": 16 }, "frame": { - "x": 382, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "gengarite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 398, + "x": 397, "y": 0, "w": 16, "h": 16 @@ -556,7 +556,7 @@ } }, { - "filename": "glalitite", + "filename": "gengarite", "rotated": false, "trimmed": true, "sourceSize": { @@ -577,7 +577,7 @@ } }, { - "filename": "gyaradosite", + "filename": "glalitite", "rotated": false, "trimmed": true, "sourceSize": { @@ -598,7 +598,7 @@ } }, { - "filename": "heracronite", + "filename": "gyaradosite", "rotated": false, "trimmed": true, "sourceSize": { @@ -619,7 +619,7 @@ } }, { - "filename": "houndoominite", + "filename": "heracronite", "rotated": false, "trimmed": true, "sourceSize": { @@ -640,7 +640,7 @@ } }, { - "filename": "kangaskhanite", + "filename": "houndoominite", "rotated": false, "trimmed": true, "sourceSize": { @@ -661,7 +661,7 @@ } }, { - "filename": "latiasite", + "filename": "kangaskhanite", "rotated": false, "trimmed": true, "sourceSize": { @@ -676,13 +676,13 @@ }, "frame": { "x": 92, - "y": 16, + "y": 15, "w": 16, "h": 16 } }, { - "filename": "latiosite", + "filename": "latiasite", "rotated": false, "trimmed": true, "sourceSize": { @@ -703,7 +703,7 @@ } }, { - "filename": "lopunnite", + "filename": "latiosite", "rotated": false, "trimmed": true, "sourceSize": { @@ -724,7 +724,7 @@ } }, { - "filename": "lucarionite", + "filename": "lopunnite", "rotated": false, "trimmed": true, "sourceSize": { @@ -745,7 +745,7 @@ } }, { - "filename": "manectite", + "filename": "lucarionite", "rotated": false, "trimmed": true, "sourceSize": { @@ -766,7 +766,7 @@ } }, { - "filename": "mawilite", + "filename": "manectite", "rotated": false, "trimmed": true, "sourceSize": { @@ -787,7 +787,7 @@ } }, { - "filename": "medichamite", + "filename": "mawilite", "rotated": false, "trimmed": true, "sourceSize": { @@ -807,6 +807,27 @@ "h": 16 } }, + { + "filename": "medichamite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 204, + "y": 16, + "w": 16, + "h": 16 + } + }, { "filename": "mega_bracelet", "rotated": false, @@ -822,7 +843,7 @@ "h": 16 }, "frame": { - "x": 204, + "x": 220, "y": 16, "w": 20, "h": 16 @@ -843,7 +864,7 @@ "h": 16 }, "frame": { - "x": 224, + "x": 240, "y": 16, "w": 16, "h": 16 @@ -864,7 +885,7 @@ "h": 16 }, "frame": { - "x": 240, + "x": 256, "y": 16, "w": 16, "h": 16 @@ -885,7 +906,7 @@ "h": 16 }, "frame": { - "x": 256, + "x": 272, "y": 16, "w": 16, "h": 16 @@ -906,7 +927,7 @@ "h": 16 }, "frame": { - "x": 272, + "x": 288, "y": 16, "w": 16, "h": 16 @@ -927,7 +948,7 @@ "h": 16 }, "frame": { - "x": 288, + "x": 304, "y": 16, "w": 16, "h": 16 @@ -948,7 +969,7 @@ "h": 16 }, "frame": { - "x": 304, + "x": 320, "y": 16, "w": 16, "h": 16 @@ -969,7 +990,7 @@ "h": 16 }, "frame": { - "x": 320, + "x": 336, "y": 16, "w": 16, "h": 16 @@ -990,7 +1011,7 @@ "h": 16 }, "frame": { - "x": 336, + "x": 352, "y": 16, "w": 17, "h": 16 @@ -1011,7 +1032,7 @@ "h": 16 }, "frame": { - "x": 353, + "x": 369, "y": 16, "w": 16, "h": 16 @@ -1032,7 +1053,7 @@ "h": 16 }, "frame": { - "x": 369, + "x": 385, "y": 16, "w": 16, "h": 16 @@ -1052,27 +1073,6 @@ "w": 16, "h": 16 }, - "frame": { - "x": 385, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "scizorite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, "frame": { "x": 0, "y": 30, @@ -1081,7 +1081,7 @@ } }, { - "filename": "sharpedonite", + "filename": "scizorite", "rotated": false, "trimmed": true, "sourceSize": { @@ -1102,7 +1102,7 @@ } }, { - "filename": "slowbronite", + "filename": "sharpedonite", "rotated": false, "trimmed": true, "sourceSize": { @@ -1123,7 +1123,7 @@ } }, { - "filename": "soul_dew", + "filename": "slowbronite", "rotated": false, "trimmed": true, "sourceSize": { @@ -1144,7 +1144,7 @@ } }, { - "filename": "steelixite", + "filename": "soul_dew", "rotated": false, "trimmed": true, "sourceSize": { @@ -1164,6 +1164,27 @@ "h": 16 } }, + { + "filename": "steelixite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 80, + "y": 31, + "w": 16, + "h": 16 + } + }, { "filename": "strawberry_sweet", "rotated": false, @@ -1179,7 +1200,7 @@ "h": 16 }, "frame": { - "x": 80, + "x": 96, "y": 32, "w": 16, "h": 16 @@ -1200,7 +1221,7 @@ "h": 16 }, "frame": { - "x": 96, + "x": 112, "y": 32, "w": 16, "h": 16 @@ -1221,7 +1242,7 @@ "h": 16 }, "frame": { - "x": 112, + "x": 128, "y": 32, "w": 16, "h": 16 @@ -1242,7 +1263,7 @@ "h": 16 }, "frame": { - "x": 128, + "x": 144, "y": 32, "w": 16, "h": 16 @@ -1263,7 +1284,7 @@ "h": 17 }, "frame": { - "x": 144, + "x": 160, "y": 32, "w": 23, "h": 17 @@ -1284,7 +1305,7 @@ "h": 17 }, "frame": { - "x": 167, + "x": 183, "y": 32, "w": 23, "h": 17 @@ -1305,7 +1326,7 @@ "h": 17 }, "frame": { - "x": 190, + "x": 206, "y": 32, "w": 23, "h": 17 @@ -1326,7 +1347,7 @@ "h": 17 }, "frame": { - "x": 213, + "x": 229, "y": 32, "w": 23, "h": 17 @@ -1347,7 +1368,7 @@ "h": 17 }, "frame": { - "x": 236, + "x": 252, "y": 32, "w": 20, "h": 17 @@ -1368,7 +1389,7 @@ "h": 17 }, "frame": { - "x": 256, + "x": 272, "y": 32, "w": 23, "h": 17 @@ -1389,7 +1410,7 @@ "h": 17 }, "frame": { - "x": 279, + "x": 295, "y": 32, "w": 23, "h": 17 @@ -1410,7 +1431,7 @@ "h": 18 }, "frame": { - "x": 302, + "x": 318, "y": 32, "w": 18, "h": 18 @@ -1431,7 +1452,7 @@ "h": 18 }, "frame": { - "x": 320, + "x": 336, "y": 32, "w": 24, "h": 18 @@ -1452,7 +1473,7 @@ "h": 18 }, "frame": { - "x": 344, + "x": 360, "y": 32, "w": 18, "h": 18 @@ -1473,33 +1494,12 @@ "h": 18 }, "frame": { - "x": 362, + "x": 378, "y": 32, "w": 24, "h": 18 } }, - { - "filename": "flame_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 386, - "y": 32, - "w": 18, - "h": 18 - } - }, { "filename": "mystery_egg", "rotated": false, @@ -1522,7 +1522,7 @@ } }, { - "filename": "light_stone", + "filename": "flame_orb", "rotated": false, "trimmed": true, "sourceSize": { @@ -1542,6 +1542,27 @@ "h": 18 } }, + { + "filename": "light_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 34, + "y": 47, + "w": 18, + "h": 18 + } + }, { "filename": "masterpiece_teacup", "rotated": false, @@ -1557,7 +1578,7 @@ "h": 18 }, "frame": { - "x": 34, + "x": 52, "y": 47, "w": 21, "h": 18 @@ -1578,7 +1599,7 @@ "h": 18 }, "frame": { - "x": 55, + "x": 73, "y": 47, "w": 23, "h": 18 @@ -1599,7 +1620,7 @@ "h": 18 }, "frame": { - "x": 78, + "x": 96, "y": 48, "w": 21, "h": 18 @@ -1620,7 +1641,7 @@ "h": 18 }, "frame": { - "x": 99, + "x": 117, "y": 48, "w": 18, "h": 18 @@ -1641,7 +1662,7 @@ "h": 18 }, "frame": { - "x": 117, + "x": 135, "y": 48, "w": 21, "h": 18 @@ -1662,7 +1683,7 @@ "h": 18 }, "frame": { - "x": 138, + "x": 156, "y": 49, "w": 20, "h": 18 @@ -1683,7 +1704,7 @@ "h": 18 }, "frame": { - "x": 158, + "x": 176, "y": 49, "w": 20, "h": 18 @@ -1704,7 +1725,7 @@ "h": 18 }, "frame": { - "x": 178, + "x": 196, "y": 49, "w": 20, "h": 18 @@ -1725,7 +1746,7 @@ "h": 18 }, "frame": { - "x": 198, + "x": 216, "y": 49, "w": 20, "h": 18 @@ -1746,7 +1767,7 @@ "h": 18 }, "frame": { - "x": 218, + "x": 236, "y": 49, "w": 20, "h": 18 @@ -1767,7 +1788,7 @@ "h": 18 }, "frame": { - "x": 238, + "x": 256, "y": 49, "w": 20, "h": 18 @@ -1788,7 +1809,7 @@ "h": 18 }, "frame": { - "x": 258, + "x": 276, "y": 49, "w": 20, "h": 18 @@ -1809,7 +1830,7 @@ "h": 18 }, "frame": { - "x": 278, + "x": 296, "y": 49, "w": 20, "h": 18 @@ -1830,7 +1851,7 @@ "h": 18 }, "frame": { - "x": 298, + "x": 316, "y": 50, "w": 20, "h": 18 @@ -1851,7 +1872,7 @@ "h": 18 }, "frame": { - "x": 318, + "x": 336, "y": 50, "w": 20, "h": 18 @@ -1872,7 +1893,7 @@ "h": 18 }, "frame": { - "x": 338, + "x": 356, "y": 50, "w": 20, "h": 18 @@ -1893,12 +1914,33 @@ "h": 18 }, "frame": { - "x": 358, + "x": 376, "y": 50, "w": 20, "h": 18 } }, + { + "filename": "oval_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 19 + }, + "frame": { + "x": 396, + "y": 50, + "w": 18, + "h": 19 + } + }, { "filename": "wl_ice_heal", "rotated": false, @@ -1913,48 +1955,6 @@ "w": 20, "h": 18 }, - "frame": { - "x": 378, - "y": 50, - "w": 20, - "h": 18 - } - }, - { - "filename": "leftovers", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 15, - "h": 22 - }, - "frame": { - "x": 398, - "y": 50, - "w": 15, - "h": 22 - } - }, - { - "filename": "wl_item_drop", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, "frame": { "x": 0, "y": 65, @@ -1963,7 +1963,7 @@ } }, { - "filename": "wl_item_urge", + "filename": "wl_item_drop", "rotated": false, "trimmed": true, "sourceSize": { @@ -1984,7 +1984,7 @@ } }, { - "filename": "wl_max_elixir", + "filename": "wl_item_urge", "rotated": false, "trimmed": true, "sourceSize": { @@ -2005,7 +2005,7 @@ } }, { - "filename": "oval_stone", + "filename": "wl_max_elixir", "rotated": false, "trimmed": true, "sourceSize": { @@ -2013,16 +2013,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 19 + "x": 6, + "y": 8, + "w": 20, + "h": 18 }, "frame": { "x": 60, "y": 65, - "w": 18, - "h": 19 + "w": 20, + "h": 18 } }, { @@ -2040,7 +2040,7 @@ "h": 18 }, "frame": { - "x": 78, + "x": 80, "y": 66, "w": 20, "h": 18 @@ -2061,7 +2061,7 @@ "h": 18 }, "frame": { - "x": 98, + "x": 100, "y": 66, "w": 20, "h": 18 @@ -2082,7 +2082,7 @@ "h": 18 }, "frame": { - "x": 118, + "x": 120, "y": 66, "w": 20, "h": 18 @@ -2103,7 +2103,7 @@ "h": 18 }, "frame": { - "x": 138, + "x": 140, "y": 67, "w": 20, "h": 18 @@ -2124,7 +2124,7 @@ "h": 18 }, "frame": { - "x": 158, + "x": 160, "y": 67, "w": 20, "h": 18 @@ -2145,7 +2145,7 @@ "h": 18 }, "frame": { - "x": 178, + "x": 180, "y": 67, "w": 20, "h": 18 @@ -2166,7 +2166,7 @@ "h": 18 }, "frame": { - "x": 198, + "x": 200, "y": 67, "w": 20, "h": 18 @@ -2187,7 +2187,7 @@ "h": 18 }, "frame": { - "x": 218, + "x": 220, "y": 67, "w": 20, "h": 18 @@ -2208,7 +2208,7 @@ "h": 19 }, "frame": { - "x": 238, + "x": 240, "y": 67, "w": 19, "h": 19 @@ -2229,33 +2229,12 @@ "h": 19 }, "frame": { - "x": 257, + "x": 259, "y": 67, "w": 22, "h": 19 } }, - { - "filename": "miracle_seed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 19, - "h": 19 - }, - "frame": { - "x": 279, - "y": 67, - "w": 19, - "h": 19 - } - }, { "filename": "coupon", "rotated": false, @@ -2271,8 +2250,8 @@ "h": 19 }, "frame": { - "x": 298, - "y": 68, + "x": 281, + "y": 67, "w": 23, "h": 19 } @@ -2292,7 +2271,7 @@ "h": 19 }, "frame": { - "x": 321, + "x": 304, "y": 68, "w": 22, "h": 19 @@ -2313,7 +2292,7 @@ "h": 19 }, "frame": { - "x": 343, + "x": 326, "y": 68, "w": 23, "h": 19 @@ -2334,7 +2313,7 @@ "h": 19 }, "frame": { - "x": 366, + "x": 349, "y": 68, "w": 20, "h": 19 @@ -2355,12 +2334,33 @@ "h": 19 }, "frame": { - "x": 386, - "y": 72, + "x": 369, + "y": 68, "w": 21, "h": 19 } }, + { + "filename": "miracle_seed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 19, + "h": 19 + }, + "frame": { + "x": 390, + "y": 69, + "w": 19, + "h": 19 + } + }, { "filename": "mystic_ticket", "rotated": false, @@ -2419,7 +2419,7 @@ }, "frame": { "x": 46, - "y": 84, + "y": 83, "w": 20, "h": 19 } @@ -2634,27 +2634,6 @@ "h": 20 } }, - { - "filename": "gb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 285, - "y": 87, - "w": 20, - "h": 20 - } - }, { "filename": "golden_egg", "rotated": false, @@ -2670,12 +2649,33 @@ "h": 20 }, "frame": { - "x": 305, - "y": 87, + "x": 285, + "y": 86, "w": 17, "h": 20 } }, + { + "filename": "gb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 302, + "y": 87, + "w": 20, + "h": 20 + } + }, { "filename": "hard_stone", "rotated": false, @@ -2718,27 +2718,6 @@ "h": 20 } }, - { - "filename": "lucky_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 365, - "y": 87, - "w": 17, - "h": 20 - } - }, { "filename": "legend_plate", "rotated": false, @@ -2754,12 +2733,33 @@ "h": 20 }, "frame": { - "x": 382, - "y": 91, + "x": 365, + "y": 87, "w": 25, "h": 20 } }, + { + "filename": "lucky_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 390, + "y": 88, + "w": 17, + "h": 20 + } + }, { "filename": "magnet", "rotated": false, @@ -2818,7 +2818,7 @@ }, "frame": { "x": 42, - "y": 103, + "y": 102, "w": 20, "h": 20 } @@ -3049,7 +3049,7 @@ }, "frame": { "x": 278, - "y": 107, + "y": 106, "w": 24, "h": 20 } @@ -3117,27 +3117,6 @@ "h": 20 } }, - { - "filename": "berry_pot", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 18, - "h": 22 - }, - "frame": { - "x": 364, - "y": 107, - "w": 18, - "h": 22 - } - }, { "filename": "adamant_crystal", "rotated": false, @@ -3153,8 +3132,8 @@ "h": 21 }, "frame": { - "x": 382, - "y": 111, + "x": 364, + "y": 107, "w": 23, "h": 21 } @@ -3174,33 +3153,12 @@ "h": 21 }, "frame": { - "x": 0, - "y": 122, + "x": 387, + "y": 108, "w": 23, "h": 21 } }, - { - "filename": "quick_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 21 - }, - "frame": { - "x": 23, - "y": 122, - "w": 19, - "h": 21 - } - }, { "filename": "auspicious_armor", "rotated": false, @@ -3216,8 +3174,8 @@ "h": 21 }, "frame": { - "x": 42, - "y": 123, + "x": 0, + "y": 122, "w": 23, "h": 21 } @@ -3237,12 +3195,54 @@ "h": 21 }, "frame": { - "x": 65, - "y": 124, + "x": 23, + "y": 122, "w": 20, "h": 21 } }, + { + "filename": "quick_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 21 + }, + "frame": { + "x": 43, + "y": 122, + "w": 19, + "h": 21 + } + }, + { + "filename": "spell_tag", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 19, + "h": 21 + }, + "frame": { + "x": 62, + "y": 123, + "w": 19, + "h": 21 + } + }, { "filename": "deep_sea_tooth", "rotated": false, @@ -3258,7 +3258,7 @@ "h": 21 }, "frame": { - "x": 85, + "x": 81, "y": 124, "w": 22, "h": 21 @@ -3279,7 +3279,7 @@ "h": 21 }, "frame": { - "x": 107, + "x": 103, "y": 125, "w": 21, "h": 21 @@ -3300,7 +3300,7 @@ "h": 21 }, "frame": { - "x": 128, + "x": 124, "y": 125, "w": 22, "h": 21 @@ -3321,7 +3321,7 @@ "h": 21 }, "frame": { - "x": 150, + "x": 146, "y": 125, "w": 28, "h": 21 @@ -3342,7 +3342,7 @@ "h": 21 }, "frame": { - "x": 178, + "x": 174, "y": 125, "w": 28, "h": 21 @@ -3363,7 +3363,7 @@ "h": 21 }, "frame": { - "x": 206, + "x": 202, "y": 125, "w": 28, "h": 21 @@ -3384,7 +3384,7 @@ "h": 21 }, "frame": { - "x": 234, + "x": 230, "y": 126, "w": 28, "h": 21 @@ -3405,12 +3405,33 @@ "h": 21 }, "frame": { - "x": 262, - "y": 127, + "x": 258, + "y": 126, "w": 28, "h": 21 } }, + { + "filename": "leftovers", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 15, + "h": 22 + }, + "frame": { + "x": 286, + "y": 126, + "w": 15, + "h": 22 + } + }, { "filename": "mint_spdef", "rotated": false, @@ -3426,7 +3447,7 @@ "h": 21 }, "frame": { - "x": 290, + "x": 301, "y": 127, "w": 28, "h": 21 @@ -3447,7 +3468,7 @@ "h": 21 }, "frame": { - "x": 318, + "x": 329, "y": 127, "w": 23, "h": 21 @@ -3468,33 +3489,12 @@ "h": 21 }, "frame": { - "x": 341, - "y": 127, + "x": 352, + "y": 128, "w": 23, "h": 21 } }, - { - "filename": "metronome", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 364, - "y": 129, - "w": 17, - "h": 22 - } - }, { "filename": "n_solarizer", "rotated": false, @@ -3510,12 +3510,33 @@ "h": 21 }, "frame": { - "x": 381, - "y": 132, + "x": 375, + "y": 129, "w": 23, "h": 21 } }, + { + "filename": "full_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 4, + "w": 15, + "h": 23 + }, + "frame": { + "x": 398, + "y": 129, + "w": 15, + "h": 23 + } + }, { "filename": "poison_barb", "rotated": false, @@ -3559,7 +3580,7 @@ } }, { - "filename": "spell_tag", + "filename": "berry_pot", "rotated": false, "trimmed": true, "sourceSize": { @@ -3568,14 +3589,35 @@ }, "spriteSourceSize": { "x": 7, - "y": 6, - "w": 19, - "h": 21 + "y": 5, + "w": 18, + "h": 22 }, "frame": { "x": 42, + "y": 143, + "w": 18, + "h": 22 + } + }, + { + "filename": "zoom_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 60, "y": 144, - "w": 19, + "w": 21, "h": 21 } }, @@ -3594,7 +3636,7 @@ "h": 21 }, "frame": { - "x": 61, + "x": 81, "y": 145, "w": 22, "h": 21 @@ -3615,8 +3657,8 @@ "h": 21 }, "frame": { - "x": 83, - "y": 145, + "x": 103, + "y": 146, "w": 22, "h": 21 } @@ -3636,7 +3678,7 @@ "h": 21 }, "frame": { - "x": 105, + "x": 125, "y": 146, "w": 22, "h": 21 @@ -3657,33 +3699,12 @@ "h": 21 }, "frame": { - "x": 127, + "x": 147, "y": 146, "w": 23, "h": 21 } }, - { - "filename": "zoom_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 150, - "y": 146, - "w": 21, - "h": 21 - } - }, { "filename": "blank_memory", "rotated": false, @@ -3699,7 +3720,7 @@ "h": 22 }, "frame": { - "x": 171, + "x": 170, "y": 146, "w": 22, "h": 22 @@ -3720,33 +3741,12 @@ "h": 22 }, "frame": { - "x": 193, + "x": 192, "y": 146, "w": 22, "h": 22 } }, - { - "filename": "lock_capsule", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 215, - "y": 146, - "w": 19, - "h": 22 - } - }, { "filename": "charcoal", "rotated": false, @@ -3762,7 +3762,7 @@ "h": 22 }, "frame": { - "x": 234, + "x": 214, "y": 147, "w": 22, "h": 22 @@ -3783,8 +3783,8 @@ "h": 22 }, "frame": { - "x": 256, - "y": 148, + "x": 236, + "y": 147, "w": 22, "h": 22 } @@ -3804,8 +3804,8 @@ "h": 22 }, "frame": { - "x": 278, - "y": 148, + "x": 258, + "y": 147, "w": 22, "h": 22 } @@ -3825,7 +3825,7 @@ "h": 22 }, "frame": { - "x": 300, + "x": 280, "y": 148, "w": 22, "h": 22 @@ -3846,54 +3846,12 @@ "h": 22 }, "frame": { - "x": 322, + "x": 302, "y": 148, "w": 22, "h": 22 } }, - { - "filename": "hard_meteorite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 20, - "h": 22 - }, - "frame": { - "x": 344, - "y": 148, - "w": 20, - "h": 22 - } - }, - { - "filename": "soothe_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 364, - "y": 151, - "w": 17, - "h": 22 - } - }, { "filename": "electirizer", "rotated": false, @@ -3909,8 +3867,8 @@ "h": 22 }, "frame": { - "x": 381, - "y": 153, + "x": 324, + "y": 148, "w": 22, "h": 22 } @@ -3930,54 +3888,12 @@ "h": 22 }, "frame": { - "x": 0, - "y": 164, + "x": 346, + "y": 149, "w": 22, "h": 22 } }, - { - "filename": "metal_coat", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 22, - "y": 164, - "w": 19, - "h": 22 - } - }, - { - "filename": "sitrus_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 20, - "h": 22 - }, - "frame": { - "x": 41, - "y": 165, - "w": 20, - "h": 22 - } - }, { "filename": "enigma_berry", "rotated": false, @@ -3993,29 +3909,8 @@ "h": 22 }, "frame": { - "x": 61, - "y": 166, - "w": 22, - "h": 22 - } - }, - { - "filename": "fairy_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 83, - "y": 166, + "x": 368, + "y": 150, "w": 22, "h": 22 } @@ -4035,8 +3930,8 @@ "h": 22 }, "frame": { - "x": 105, - "y": 167, + "x": 390, + "y": 152, "w": 24, "h": 22 } @@ -4056,12 +3951,75 @@ "h": 22 }, "frame": { - "x": 129, - "y": 167, + "x": 0, + "y": 164, "w": 24, "h": 22 } }, + { + "filename": "metronome", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 24, + "y": 164, + "w": 17, + "h": 22 + } + }, + { + "filename": "fairy_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 41, + "y": 165, + "w": 22, + "h": 22 + } + }, + { + "filename": "soothe_bell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 63, + "y": 165, + "w": 17, + "h": 22 + } + }, { "filename": "fighting_memory", "rotated": false, @@ -4077,8 +4035,8 @@ "h": 22 }, "frame": { - "x": 153, - "y": 168, + "x": 80, + "y": 166, "w": 22, "h": 22 } @@ -4098,8 +4056,8 @@ "h": 22 }, "frame": { - "x": 175, - "y": 168, + "x": 102, + "y": 167, "w": 22, "h": 22 } @@ -4119,14 +4077,14 @@ "h": 22 }, "frame": { - "x": 197, - "y": 168, + "x": 124, + "y": 167, "w": 22, "h": 22 } }, { - "filename": "full_heal", + "filename": "ganlon_berry", "rotated": false, "trimmed": true, "sourceSize": { @@ -4134,20 +4092,83 @@ "h": 32 }, "spriteSourceSize": { - "x": 9, - "y": 4, - "w": 15, - "h": 23 + "x": 5, + "y": 5, + "w": 22, + "h": 22 }, "frame": { - "x": 219, - "y": 168, - "w": 15, - "h": 23 + "x": 146, + "y": 167, + "w": 22, + "h": 22 } }, { - "filename": "ganlon_berry", + "filename": "ghost_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 168, + "y": 168, + "w": 22, + "h": 22 + } + }, + { + "filename": "grass_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 190, + "y": 168, + "w": 22, + "h": 22 + } + }, + { + "filename": "ground_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 212, + "y": 169, + "w": 22, + "h": 22 + } + }, + { + "filename": "guard_spec", "rotated": false, "trimmed": true, "sourceSize": { @@ -4168,7 +4189,7 @@ } }, { - "filename": "ghost_memory", + "filename": "hard_meteorite", "rotated": false, "trimmed": true, "sourceSize": { @@ -4176,121 +4197,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, + "x": 7, "y": 5, - "w": 22, + "w": 20, "h": 22 }, "frame": { "x": 256, - "y": 170, - "w": 22, - "h": 22 - } - }, - { - "filename": "grass_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 278, - "y": 170, - "w": 22, - "h": 22 - } - }, - { - "filename": "ground_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 300, - "y": 170, - "w": 22, - "h": 22 - } - }, - { - "filename": "guard_spec", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 322, - "y": 170, - "w": 22, - "h": 22 - } - }, - { - "filename": "hyper_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 344, - "y": 170, - "w": 17, - "h": 23 - } - }, - { - "filename": "mystic_water", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, + "y": 169, "w": 20, - "h": 23 - }, - "frame": { - "x": 361, - "y": 173, - "w": 20, - "h": 23 + "h": 22 } }, { @@ -4308,8 +4224,8 @@ "h": 22 }, "frame": { - "x": 381, - "y": 175, + "x": 276, + "y": 170, "w": 23, "h": 22 } @@ -4329,8 +4245,8 @@ "h": 22 }, "frame": { - "x": 0, - "y": 186, + "x": 299, + "y": 170, "w": 22, "h": 22 } @@ -4350,12 +4266,33 @@ "h": 22 }, "frame": { - "x": 22, - "y": 187, + "x": 321, + "y": 170, "w": 22, "h": 22 } }, + { + "filename": "lock_capsule", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 343, + "y": 171, + "w": 19, + "h": 22 + } + }, { "filename": "magmarizer", "rotated": false, @@ -4371,8 +4308,8 @@ "h": 22 }, "frame": { - "x": 44, - "y": 188, + "x": 362, + "y": 172, "w": 22, "h": 22 } @@ -4392,12 +4329,33 @@ "h": 22 }, "frame": { - "x": 66, - "y": 188, + "x": 384, + "y": 174, "w": 27, "h": 22 } }, + { + "filename": "metal_coat", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 0, + "y": 186, + "w": 19, + "h": 22 + } + }, { "filename": "mini_black_hole", "rotated": false, @@ -4413,8 +4371,8 @@ "h": 22 }, "frame": { - "x": 93, - "y": 189, + "x": 19, + "y": 186, "w": 22, "h": 22 } @@ -4434,8 +4392,8 @@ "h": 22 }, "frame": { - "x": 115, - "y": 189, + "x": 41, + "y": 187, "w": 24, "h": 22 } @@ -4455,8 +4413,8 @@ "h": 22 }, "frame": { - "x": 139, - "y": 190, + "x": 65, + "y": 188, "w": 22, "h": 22 } @@ -4476,8 +4434,8 @@ "h": 22 }, "frame": { - "x": 161, - "y": 190, + "x": 87, + "y": 189, "w": 22, "h": 22 } @@ -4497,8 +4455,8 @@ "h": 22 }, "frame": { - "x": 183, - "y": 190, + "x": 109, + "y": 189, "w": 22, "h": 22 } @@ -4518,8 +4476,8 @@ "h": 22 }, "frame": { - "x": 205, - "y": 191, + "x": 131, + "y": 189, "w": 22, "h": 22 } @@ -4539,8 +4497,8 @@ "h": 22 }, "frame": { - "x": 227, - "y": 191, + "x": 153, + "y": 190, "w": 23, "h": 22 } @@ -4560,8 +4518,8 @@ "h": 22 }, "frame": { - "x": 250, - "y": 192, + "x": 176, + "y": 190, "w": 22, "h": 22 } @@ -4581,8 +4539,8 @@ "h": 22 }, "frame": { - "x": 272, - "y": 192, + "x": 198, + "y": 191, "w": 22, "h": 22 } @@ -4602,12 +4560,33 @@ "h": 22 }, "frame": { - "x": 294, - "y": 192, + "x": 220, + "y": 191, "w": 22, "h": 22 } }, + { + "filename": "sitrus_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 20, + "h": 22 + }, + "frame": { + "x": 242, + "y": 191, + "w": 20, + "h": 22 + } + }, { "filename": "starf_berry", "rotated": false, @@ -4623,7 +4602,7 @@ "h": 22 }, "frame": { - "x": 316, + "x": 262, "y": 192, "w": 22, "h": 22 @@ -4644,33 +4623,12 @@ "h": 22 }, "frame": { - "x": 338, - "y": 193, + "x": 284, + "y": 192, "w": 22, "h": 22 } }, - { - "filename": "dragon_fang", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 360, - "y": 196, - "w": 21, - "h": 23 - } - }, { "filename": "thunder_stone", "rotated": false, @@ -4686,8 +4644,8 @@ "h": 22 }, "frame": { - "x": 381, - "y": 197, + "x": 306, + "y": 192, "w": 22, "h": 22 } @@ -4706,6 +4664,90 @@ "w": 22, "h": 22 }, + "frame": { + "x": 328, + "y": 193, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_dark", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 350, + "y": 194, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_dragon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 372, + "y": 196, + "w": 22, + "h": 22 + } + }, + { + "filename": "hyper_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 394, + "y": 196, + "w": 17, + "h": 23 + } + }, + { + "filename": "tm_electric", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, "frame": { "x": 0, "y": 208, @@ -4714,7 +4756,7 @@ } }, { - "filename": "tm_dark", + "filename": "potion", "rotated": false, "trimmed": true, "sourceSize": { @@ -4722,58 +4764,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, + "x": 8, "y": 5, - "w": 22, - "h": 22 + "w": 17, + "h": 23 }, "frame": { "x": 22, - "y": 209, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_dragon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 44, - "y": 210, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_electric", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 66, - "y": 210, - "w": 22, - "h": 22 + "y": 208, + "w": 17, + "h": 23 } }, { @@ -4791,8 +4791,8 @@ "h": 22 }, "frame": { - "x": 88, - "y": 211, + "x": 39, + "y": 209, "w": 22, "h": 22 } @@ -4812,8 +4812,8 @@ "h": 22 }, "frame": { - "x": 110, - "y": 211, + "x": 61, + "y": 210, "w": 22, "h": 22 } @@ -4833,8 +4833,8 @@ "h": 22 }, "frame": { - "x": 132, - "y": 212, + "x": 83, + "y": 211, "w": 22, "h": 22 } @@ -4854,8 +4854,8 @@ "h": 22 }, "frame": { - "x": 154, - "y": 212, + "x": 105, + "y": 211, "w": 22, "h": 22 } @@ -4875,8 +4875,8 @@ "h": 22 }, "frame": { - "x": 176, - "y": 212, + "x": 127, + "y": 211, "w": 22, "h": 22 } @@ -4896,8 +4896,8 @@ "h": 22 }, "frame": { - "x": 198, - "y": 213, + "x": 149, + "y": 212, "w": 22, "h": 22 } @@ -4917,8 +4917,8 @@ "h": 22 }, "frame": { - "x": 220, - "y": 213, + "x": 171, + "y": 212, "w": 22, "h": 22 } @@ -4938,8 +4938,8 @@ "h": 22 }, "frame": { - "x": 242, - "y": 214, + "x": 193, + "y": 213, "w": 22, "h": 22 } @@ -4959,8 +4959,8 @@ "h": 22 }, "frame": { - "x": 264, - "y": 214, + "x": 215, + "y": 213, "w": 22, "h": 22 } @@ -4980,8 +4980,8 @@ "h": 22 }, "frame": { - "x": 286, - "y": 214, + "x": 237, + "y": 213, "w": 22, "h": 22 } @@ -5001,7 +5001,7 @@ "h": 22 }, "frame": { - "x": 308, + "x": 259, "y": 214, "w": 22, "h": 22 @@ -5022,8 +5022,8 @@ "h": 22 }, "frame": { - "x": 330, - "y": 215, + "x": 281, + "y": 214, "w": 22, "h": 22 } @@ -5043,8 +5043,8 @@ "h": 22 }, "frame": { - "x": 352, - "y": 219, + "x": 303, + "y": 214, "w": 22, "h": 22 } @@ -5064,14 +5064,14 @@ "h": 22 }, "frame": { - "x": 374, - "y": 219, + "x": 325, + "y": 215, "w": 22, "h": 22 } }, { - "filename": "potion", + "filename": "water_memory", "rotated": false, "trimmed": true, "sourceSize": { @@ -5079,20 +5079,62 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, + "x": 5, "y": 5, - "w": 17, - "h": 23 + "w": 22, + "h": 22 }, "frame": { - "x": 396, - "y": 219, - "w": 17, - "h": 23 + "x": 347, + "y": 216, + "w": 22, + "h": 22 } }, { - "filename": "water_memory", + "filename": "water_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 369, + "y": 218, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_accuracy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 391, + "y": 219, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_attack", "rotated": false, "trimmed": true, "sourceSize": { @@ -5113,7 +5155,7 @@ } }, { - "filename": "water_stone", + "filename": "x_defense", "rotated": false, "trimmed": true, "sourceSize": { @@ -5134,7 +5176,7 @@ } }, { - "filename": "x_accuracy", + "filename": "super_potion", "rotated": false, "trimmed": true, "sourceSize": { @@ -5142,58 +5184,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, + "x": 8, "y": 5, - "w": 22, - "h": 22 + "w": 17, + "h": 23 }, "frame": { "x": 44, - "y": 232, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_attack", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 66, - "y": 232, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_defense", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 88, - "y": 233, - "w": 22, - "h": 22 + "y": 231, + "w": 17, + "h": 23 } }, { @@ -5211,8 +5211,8 @@ "h": 22 }, "frame": { - "x": 110, - "y": 233, + "x": 61, + "y": 232, "w": 22, "h": 22 } @@ -5232,8 +5232,8 @@ "h": 22 }, "frame": { - "x": 132, - "y": 234, + "x": 83, + "y": 233, "w": 22, "h": 22 } @@ -5253,8 +5253,8 @@ "h": 22 }, "frame": { - "x": 154, - "y": 234, + "x": 105, + "y": 233, "w": 22, "h": 22 } @@ -5274,8 +5274,8 @@ "h": 23 }, "frame": { - "x": 176, - "y": 234, + "x": 127, + "y": 233, "w": 22, "h": 23 } @@ -5295,14 +5295,14 @@ "h": 23 }, "frame": { - "x": 198, - "y": 235, + "x": 149, + "y": 234, "w": 23, "h": 23 } }, { - "filename": "lansat_berry", + "filename": "dragon_fang", "rotated": false, "trimmed": true, "sourceSize": { @@ -5311,13 +5311,13 @@ }, "spriteSourceSize": { "x": 5, - "y": 4, + "y": 5, "w": 21, "h": 23 }, "frame": { - "x": 221, - "y": 235, + "x": 172, + "y": 234, "w": 21, "h": 23 } @@ -5337,8 +5337,8 @@ "h": 23 }, "frame": { - "x": 242, - "y": 236, + "x": 193, + "y": 235, "w": 22, "h": 23 } @@ -5358,12 +5358,33 @@ "h": 23 }, "frame": { - "x": 264, - "y": 236, + "x": 215, + "y": 235, "w": 24, "h": 23 } }, + { + "filename": "mystic_water", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 20, + "h": 23 + }, + "frame": { + "x": 239, + "y": 235, + "w": 20, + "h": 23 + } + }, { "filename": "coin_case", "rotated": false, @@ -5379,33 +5400,12 @@ "h": 23 }, "frame": { - "x": 288, + "x": 259, "y": 236, "w": 24, "h": 23 } }, - { - "filename": "sachet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 18, - "h": 23 - }, - "frame": { - "x": 312, - "y": 236, - "w": 18, - "h": 23 - } - }, { "filename": "dark_tera_shard", "rotated": false, @@ -5421,12 +5421,33 @@ "h": 23 }, "frame": { - "x": 330, - "y": 237, + "x": 283, + "y": 236, "w": 22, "h": 23 } }, + { + "filename": "sachet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 18, + "h": 23 + }, + "frame": { + "x": 305, + "y": 236, + "w": 18, + "h": 23 + } + }, { "filename": "dragon_tera_shard", "rotated": false, @@ -5442,12 +5463,33 @@ "h": 23 }, "frame": { - "x": 352, - "y": 241, + "x": 323, + "y": 237, "w": 22, "h": 23 } }, + { + "filename": "dynamax_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 23, + "h": 23 + }, + "frame": { + "x": 345, + "y": 238, + "w": 23, + "h": 23 + } + }, { "filename": "electric_tera_shard", "rotated": false, @@ -5463,14 +5505,14 @@ "h": 23 }, "frame": { - "x": 374, - "y": 241, + "x": 368, + "y": 240, "w": 22, "h": 23 } }, { - "filename": "super_potion", + "filename": "expert_belt", "rotated": false, "trimmed": true, "sourceSize": { @@ -5478,15 +5520,15 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, + "x": 4, + "y": 4, + "w": 24, "h": 23 }, "frame": { - "x": 396, - "y": 242, - "w": 17, + "x": 390, + "y": 241, + "w": 24, "h": 23 } }, @@ -5533,28 +5575,7 @@ } }, { - "filename": "dynamax_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 23 - }, - "frame": { - "x": 44, - "y": 254, - "w": 23, - "h": 23 - } - }, - { - "filename": "leaf_stone", + "filename": "fire_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -5564,34 +5585,13 @@ "spriteSourceSize": { "x": 5, "y": 5, - "w": 21, + "w": 22, "h": 23 }, "frame": { - "x": 67, + "x": 44, "y": 254, - "w": 21, - "h": 23 - } - }, - { - "filename": "expert_belt", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 23 - }, - "frame": { - "x": 88, - "y": 255, - "w": 24, + "w": 22, "h": 23 } }, @@ -5610,33 +5610,12 @@ "h": 24 }, "frame": { - "x": 112, - "y": 255, + "x": 66, + "y": 254, "w": 16, "h": 24 } }, - { - "filename": "fire_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 128, - "y": 256, - "w": 22, - "h": 23 - } - }, { "filename": "fire_tera_shard", "rotated": false, @@ -5652,8 +5631,8 @@ "h": 23 }, "frame": { - "x": 150, - "y": 256, + "x": 82, + "y": 255, "w": 22, "h": 23 } @@ -5673,8 +5652,8 @@ "h": 23 }, "frame": { - "x": 172, - "y": 257, + "x": 104, + "y": 255, "w": 22, "h": 23 } @@ -5694,8 +5673,8 @@ "h": 23 }, "frame": { - "x": 194, - "y": 258, + "x": 126, + "y": 256, "w": 22, "h": 23 } @@ -5715,8 +5694,8 @@ "h": 23 }, "frame": { - "x": 216, - "y": 258, + "x": 148, + "y": 257, "w": 22, "h": 23 } @@ -5736,8 +5715,8 @@ "h": 23 }, "frame": { - "x": 238, - "y": 259, + "x": 170, + "y": 257, "w": 22, "h": 23 } @@ -5757,8 +5736,8 @@ "h": 23 }, "frame": { - "x": 260, - "y": 259, + "x": 192, + "y": 258, "w": 23, "h": 23 } @@ -5778,8 +5757,29 @@ "h": 23 }, "frame": { - "x": 283, - "y": 259, + "x": 215, + "y": 258, + "w": 22, + "h": 23 + } + }, + { + "filename": "ice_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 237, + "y": 258, "w": 22, "h": 23 } @@ -5799,56 +5799,14 @@ "h": 23 }, "frame": { - "x": 305, + "x": 259, "y": 259, "w": 24, "h": 23 } }, { - "filename": "ice_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 329, - "y": 260, - "w": 22, - "h": 23 - } - }, - { - "filename": "leppa_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 351, - "y": 264, - "w": 24, - "h": 23 - } - }, - { - "filename": "sharp_beak", + "filename": "lansat_berry", "rotated": false, "trimmed": true, "sourceSize": { @@ -5857,13 +5815,13 @@ }, "spriteSourceSize": { "x": 5, - "y": 5, + "y": 4, "w": 21, "h": 23 }, "frame": { - "x": 375, - "y": 264, + "x": 283, + "y": 259, "w": 21, "h": 23 } @@ -5883,12 +5841,54 @@ "h": 24 }, "frame": { - "x": 396, - "y": 265, + "x": 304, + "y": 259, "w": 16, "h": 24 } }, + { + "filename": "leaf_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 320, + "y": 260, + "w": 21, + "h": 23 + } + }, + { + "filename": "leppa_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 341, + "y": 261, + "w": 24, + "h": 23 + } + }, { "filename": "never_melt_ice", "rotated": false, @@ -5903,6 +5903,48 @@ "w": 22, "h": 23 }, + "frame": { + "x": 365, + "y": 263, + "w": 22, + "h": 23 + } + }, + { + "filename": "normal_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 387, + "y": 264, + "w": 22, + "h": 23 + } + }, + { + "filename": "petaya_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, "frame": { "x": 0, "y": 275, @@ -5911,7 +5953,7 @@ } }, { - "filename": "normal_tera_shard", + "filename": "poison_tera_shard", "rotated": false, "trimmed": true, "sourceSize": { @@ -5931,48 +5973,6 @@ "h": 23 } }, - { - "filename": "petaya_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 44, - "y": 277, - "w": 22, - "h": 23 - } - }, - { - "filename": "poison_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 66, - "y": 277, - "w": 22, - "h": 23 - } - }, { "filename": "psychic_tera_shard", "rotated": false, @@ -5988,8 +5988,8 @@ "h": 23 }, "frame": { - "x": 88, - "y": 278, + "x": 44, + "y": 277, "w": 22, "h": 23 } @@ -6009,8 +6009,8 @@ "h": 23 }, "frame": { - "x": 110, - "y": 279, + "x": 66, + "y": 278, "w": 23, "h": 23 } @@ -6030,33 +6030,12 @@ "h": 23 }, "frame": { - "x": 133, - "y": 279, + "x": 89, + "y": 278, "w": 23, "h": 23 } }, - { - "filename": "hp_up", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 156, - "y": 279, - "w": 16, - "h": 24 - } - }, { "filename": "reaper_cloth", "rotated": false, @@ -6072,8 +6051,8 @@ "h": 23 }, "frame": { - "x": 172, - "y": 280, + "x": 112, + "y": 279, "w": 22, "h": 23 } @@ -6093,29 +6072,8 @@ "h": 23 }, "frame": { - "x": 194, - "y": 281, - "w": 22, - "h": 23 - } - }, - { - "filename": "steel_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 216, - "y": 281, + "x": 134, + "y": 280, "w": 22, "h": 23 } @@ -6135,12 +6093,54 @@ "h": 23 }, "frame": { - "x": 238, - "y": 282, + "x": 156, + "y": 280, "w": 24, "h": 23 } }, + { + "filename": "sharp_beak", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 180, + "y": 281, + "w": 21, + "h": 23 + } + }, + { + "filename": "steel_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 201, + "y": 281, + "w": 22, + "h": 23 + } + }, { "filename": "stellar_tera_shard", "rotated": false, @@ -6156,8 +6156,8 @@ "h": 23 }, "frame": { - "x": 262, - "y": 282, + "x": 223, + "y": 281, "w": 22, "h": 23 } @@ -6177,12 +6177,33 @@ "h": 23 }, "frame": { - "x": 284, + "x": 245, "y": 282, "w": 23, "h": 23 } }, + { + "filename": "twisted_spoon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 268, + "y": 282, + "w": 24, + "h": 23 + } + }, { "filename": "water_tera_shard", "rotated": false, @@ -6198,8 +6219,8 @@ "h": 23 }, "frame": { - "x": 307, - "y": 282, + "x": 292, + "y": 283, "w": 22, "h": 23 } @@ -6219,33 +6240,12 @@ "h": 23 }, "frame": { - "x": 329, + "x": 314, "y": 283, "w": 21, "h": 23 } }, - { - "filename": "twisted_spoon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 350, - "y": 287, - "w": 24, - "h": 23 - } - }, { "filename": "wide_lens", "rotated": false, @@ -6261,14 +6261,14 @@ "h": 23 }, "frame": { - "x": 374, - "y": 287, + "x": 335, + "y": 284, "w": 22, "h": 23 } }, { - "filename": "elixir", + "filename": "big_root", "rotated": false, "trimmed": true, "sourceSize": { @@ -6276,15 +6276,36 @@ "h": 32 }, "spriteSourceSize": { - "x": 7, + "x": 4, "y": 4, - "w": 18, + "w": 23, "h": 24 }, "frame": { - "x": 396, - "y": 289, - "w": 18, + "x": 357, + "y": 286, + "w": 23, + "h": 24 + } + }, + { + "filename": "blank_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 380, + "y": 287, + "w": 24, "h": 24 } }, @@ -6310,49 +6331,7 @@ } }, { - "filename": "big_root", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 21, - "y": 299, - "w": 23, - "h": 24 - } - }, - { - "filename": "blank_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 44, - "y": 300, - "w": 24, - "h": 24 - } - }, - { - "filename": "ether", + "filename": "elixir", "rotated": false, "trimmed": true, "sourceSize": { @@ -6366,8 +6345,8 @@ "h": 24 }, "frame": { - "x": 68, - "y": 300, + "x": 21, + "y": 299, "w": 18, "h": 24 } @@ -6387,8 +6366,8 @@ "h": 24 }, "frame": { - "x": 86, - "y": 301, + "x": 39, + "y": 300, "w": 24, "h": 24 } @@ -6408,33 +6387,12 @@ "h": 24 }, "frame": { - "x": 110, - "y": 302, + "x": 63, + "y": 301, "w": 24, "h": 24 } }, - { - "filename": "full_restore", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 134, - "y": 302, - "w": 18, - "h": 24 - } - }, { "filename": "dread_plate", "rotated": false, @@ -6450,14 +6408,14 @@ "h": 24 }, "frame": { - "x": 152, - "y": 303, + "x": 87, + "y": 301, "w": 24, "h": 24 } }, { - "filename": "iron", + "filename": "ether", "rotated": false, "trimmed": true, "sourceSize": { @@ -6465,15 +6423,15 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, + "x": 7, "y": 4, - "w": 16, + "w": 18, "h": 24 }, "frame": { - "x": 176, - "y": 303, - "w": 16, + "x": 111, + "y": 302, + "w": 18, "h": 24 } }, @@ -6492,33 +6450,12 @@ "h": 24 }, "frame": { - "x": 192, - "y": 304, + "x": 129, + "y": 303, "w": 24, "h": 24 } }, - { - "filename": "lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 216, - "y": 304, - "w": 17, - "h": 24 - } - }, { "filename": "fist_plate", "rotated": false, @@ -6534,8 +6471,8 @@ "h": 24 }, "frame": { - "x": 233, - "y": 305, + "x": 153, + "y": 303, "w": 24, "h": 24 } @@ -6555,8 +6492,8 @@ "h": 24 }, "frame": { - "x": 257, - "y": 305, + "x": 177, + "y": 304, "w": 24, "h": 24 } @@ -6576,12 +6513,33 @@ "h": 24 }, "frame": { - "x": 281, - "y": 305, + "x": 201, + "y": 304, "w": 24, "h": 24 } }, + { + "filename": "full_restore", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 225, + "y": 304, + "w": 18, + "h": 24 + } + }, { "filename": "golden_punch", "rotated": false, @@ -6597,33 +6555,12 @@ "h": 24 }, "frame": { - "x": 305, + "x": 243, "y": 305, "w": 24, "h": 24 } }, - { - "filename": "max_elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 329, - "y": 306, - "w": 18, - "h": 24 - } - }, { "filename": "gracidea", "rotated": false, @@ -6639,8 +6576,8 @@ "h": 24 }, "frame": { - "x": 347, - "y": 310, + "x": 267, + "y": 305, "w": 24, "h": 24 } @@ -6660,35 +6597,14 @@ "h": 24 }, "frame": { - "x": 371, - "y": 310, + "x": 291, + "y": 306, "w": 24, "h": 24 } }, { - "filename": "max_ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 395, - "y": 313, - "w": 18, - "h": 24 - } - }, - { - "filename": "max_lure", + "filename": "hp_up", "rotated": false, "trimmed": true, "sourceSize": { @@ -6698,13 +6614,13 @@ "spriteSourceSize": { "x": 8, "y": 4, - "w": 17, + "w": 16, "h": 24 }, "frame": { - "x": 0, - "y": 322, - "w": 17, + "x": 315, + "y": 306, + "w": 16, "h": 24 } }, @@ -6723,8 +6639,8 @@ "h": 24 }, "frame": { - "x": 17, - "y": 323, + "x": 331, + "y": 307, "w": 24, "h": 24 } @@ -6744,14 +6660,56 @@ "h": 24 }, "frame": { - "x": 41, - "y": 324, + "x": 355, + "y": 310, "w": 24, "h": 24 } }, { - "filename": "max_potion", + "filename": "iron", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 379, + "y": 311, + "w": 16, + "h": 24 + } + }, + { + "filename": "lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 395, + "y": 311, + "w": 17, + "h": 24 + } + }, + { + "filename": "max_elixir", "rotated": false, "trimmed": true, "sourceSize": { @@ -6765,8 +6723,29 @@ "h": 24 }, "frame": { - "x": 65, - "y": 324, + "x": 0, + "y": 322, + "w": 18, + "h": 24 + } + }, + { + "filename": "max_ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 18, + "y": 323, "w": 18, "h": 24 } @@ -6785,6 +6764,48 @@ "w": 24, "h": 24 }, + "frame": { + "x": 36, + "y": 324, + "w": 24, + "h": 24 + } + }, + { + "filename": "kings_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 60, + "y": 325, + "w": 23, + "h": 24 + } + }, + { + "filename": "lucky_punch", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, "frame": { "x": 83, "y": 325, @@ -6793,28 +6814,7 @@ } }, { - "filename": "kings_rock", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 107, - "y": 326, - "w": 23, - "h": 24 - } - }, - { - "filename": "max_repel", + "filename": "max_lure", "rotated": false, "trimmed": true, "sourceSize": { @@ -6824,55 +6824,13 @@ "spriteSourceSize": { "x": 8, "y": 4, - "w": 16, + "w": 17, "h": 24 }, "frame": { - "x": 130, + "x": 107, "y": 326, - "w": 16, - "h": 24 - } - }, - { - "filename": "lucky_punch", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 146, - "y": 327, - "w": 24, - "h": 24 - } - }, - { - "filename": "max_revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 24 - }, - "frame": { - "x": 170, - "y": 327, - "w": 22, + "w": 17, "h": 24 } }, @@ -6891,33 +6849,12 @@ "h": 24 }, "frame": { - "x": 192, - "y": 328, + "x": 124, + "y": 327, "w": 24, "h": 24 } }, - { - "filename": "pp_max", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 216, - "y": 328, - "w": 16, - "h": 24 - } - }, { "filename": "lucky_punch_master", "rotated": false, @@ -6933,8 +6870,8 @@ "h": 24 }, "frame": { - "x": 232, - "y": 329, + "x": 148, + "y": 327, "w": 24, "h": 24 } @@ -6954,8 +6891,8 @@ "h": 24 }, "frame": { - "x": 256, - "y": 329, + "x": 172, + "y": 328, "w": 24, "h": 24 } @@ -6975,12 +6912,75 @@ "h": 24 }, "frame": { - "x": 280, - "y": 329, + "x": 196, + "y": 328, "w": 24, "h": 24 } }, + { + "filename": "max_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 220, + "y": 328, + "w": 18, + "h": 24 + } + }, + { + "filename": "max_repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 238, + "y": 329, + "w": 16, + "h": 24 + } + }, + { + "filename": "max_revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 24 + }, + "frame": { + "x": 254, + "y": 329, + "w": 22, + "h": 24 + } + }, { "filename": "meadow_plate", "rotated": false, @@ -6996,30 +6996,9 @@ "h": 24 }, "frame": { - "x": 304, - "y": 329, - "w": 24, - "h": 24 - } - }, - { - "filename": "pp_up", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 328, + "x": 276, "y": 330, - "w": 16, + "w": 24, "h": 24 } }, @@ -7038,8 +7017,8 @@ "h": 24 }, "frame": { - "x": 344, - "y": 334, + "x": 300, + "y": 330, "w": 24, "h": 24 } @@ -7059,8 +7038,8 @@ "h": 24 }, "frame": { - "x": 368, - "y": 334, + "x": 324, + "y": 331, "w": 24, "h": 24 } @@ -7080,14 +7059,56 @@ "h": 24 }, "frame": { - "x": 392, - "y": 337, + "x": 348, + "y": 334, "w": 21, "h": 24 } }, { - "filename": "protein", + "filename": "pixie_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 369, + "y": 335, + "w": 24, + "h": 24 + } + }, + { + "filename": "pp_max", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 393, + "y": 335, + "w": 16, + "h": 24 + } + }, + { + "filename": "pp_up", "rotated": false, "trimmed": true, "sourceSize": { @@ -7108,7 +7129,7 @@ } }, { - "filename": "pixie_plate", + "filename": "protein", "rotated": false, "trimmed": true, "sourceSize": { @@ -7116,15 +7137,15 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, + "x": 8, "y": 4, - "w": 24, + "w": 16, "h": 24 }, "frame": { "x": 16, "y": 347, - "w": 24, + "w": 16, "h": 24 } }, @@ -7143,7 +7164,7 @@ "h": 24 }, "frame": { - "x": 40, + "x": 32, "y": 348, "w": 20, "h": 24 @@ -7164,8 +7185,8 @@ "h": 24 }, "frame": { - "x": 60, - "y": 348, + "x": 52, + "y": 349, "w": 16, "h": 24 } @@ -7185,117 +7206,12 @@ "h": 24 }, "frame": { - "x": 76, + "x": 68, "y": 349, "w": 23, "h": 24 } }, - { - "filename": "salac_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 99, - "y": 350, - "w": 24, - "h": 24 - } - }, - { - "filename": "shiny_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 123, - "y": 350, - "w": 21, - "h": 24 - } - }, - { - "filename": "scanner", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 144, - "y": 351, - "w": 24, - "h": 24 - } - }, - { - "filename": "silk_scarf", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 168, - "y": 351, - "w": 24, - "h": 24 - } - }, - { - "filename": "sky_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 192, - "y": 352, - "w": 24, - "h": 24 - } - }, { "filename": "super_repel", "rotated": false, @@ -7311,113 +7227,8 @@ "h": 24 }, "frame": { - "x": 216, - "y": 352, - "w": 16, - "h": 24 - } - }, - { - "filename": "splash_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 232, - "y": 353, - "w": 24, - "h": 24 - } - }, - { - "filename": "spooky_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 256, - "y": 353, - "w": 24, - "h": 24 - } - }, - { - "filename": "stone_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 280, - "y": 353, - "w": 24, - "h": 24 - } - }, - { - "filename": "sun_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 304, - "y": 353, - "w": 24, - "h": 24 - } - }, - { - "filename": "unknown", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 328, - "y": 354, + "x": 91, + "y": 349, "w": 16, "h": 24 } @@ -7437,14 +7248,14 @@ "h": 24 }, "frame": { - "x": 344, - "y": 358, + "x": 107, + "y": 350, "w": 17, "h": 24 } }, { - "filename": "toxic_plate", + "filename": "salac_berry", "rotated": false, "trimmed": true, "sourceSize": { @@ -7458,14 +7269,14 @@ "h": 24 }, "frame": { - "x": 361, - "y": 358, + "x": 124, + "y": 351, "w": 24, "h": 24 } }, { - "filename": "zap_plate", + "filename": "scanner", "rotated": false, "trimmed": true, "sourceSize": { @@ -7479,8 +7290,92 @@ "h": 24 }, "frame": { - "x": 385, - "y": 361, + "x": 148, + "y": 351, + "w": 24, + "h": 24 + } + }, + { + "filename": "shiny_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 172, + "y": 352, + "w": 21, + "h": 24 + } + }, + { + "filename": "silk_scarf", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 193, + "y": 352, + "w": 24, + "h": 24 + } + }, + { + "filename": "unknown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 217, + "y": 352, + "w": 16, + "h": 24 + } + }, + { + "filename": "sky_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 233, + "y": 353, "w": 24, "h": 24 } @@ -7500,12 +7395,159 @@ "h": 24 }, "frame": { - "x": 0, - "y": 370, + "x": 257, + "y": 353, "w": 16, "h": 24 } }, + { + "filename": "splash_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 273, + "y": 354, + "w": 24, + "h": 24 + } + }, + { + "filename": "spooky_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 297, + "y": 354, + "w": 24, + "h": 24 + } + }, + { + "filename": "stone_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 321, + "y": 355, + "w": 24, + "h": 24 + } + }, + { + "filename": "sun_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 345, + "y": 358, + "w": 24, + "h": 24 + } + }, + { + "filename": "toxic_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 369, + "y": 359, + "w": 24, + "h": 24 + } + }, + { + "filename": "prison_bottle", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 1, + "w": 17, + "h": 30 + }, + "frame": { + "x": 393, + "y": 359, + "w": 17, + "h": 30 + } + }, + { + "filename": "zap_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 0, + "y": 371, + "w": 24, + "h": 24 + } + }, { "filename": "black_augurite", "rotated": false, @@ -7521,8 +7563,8 @@ "h": 25 }, "frame": { - "x": 16, - "y": 371, + "x": 24, + "y": 372, "w": 22, "h": 25 } @@ -7542,8 +7584,8 @@ "h": 26 }, "frame": { - "x": 38, - "y": 372, + "x": 46, + "y": 373, "w": 23, "h": 26 } @@ -7563,7 +7605,7 @@ "h": 26 }, "frame": { - "x": 61, + "x": 69, "y": 373, "w": 24, "h": 26 @@ -7584,7 +7626,7 @@ "h": 26 }, "frame": { - "x": 85, + "x": 93, "y": 374, "w": 27, "h": 26 @@ -7605,8 +7647,8 @@ "h": 27 }, "frame": { - "x": 112, - "y": 374, + "x": 120, + "y": 375, "w": 32, "h": 27 } @@ -7626,33 +7668,12 @@ "h": 28 }, "frame": { - "x": 144, - "y": 375, + "x": 152, + "y": 376, "w": 29, "h": 28 } }, - { - "filename": "prison_bottle", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 17, - "h": 30 - }, - "frame": { - "x": 173, - "y": 375, - "w": 17, - "h": 30 - } - }, { "filename": "galarica_cuff", "rotated": false, @@ -7668,7 +7689,7 @@ "h": 30 }, "frame": { - "x": 190, + "x": 181, "y": 376, "w": 29, "h": 30 @@ -7689,8 +7710,8 @@ "h": 31 }, "frame": { - "x": 219, - "y": 377, + "x": 210, + "y": 376, "w": 22, "h": 31 } @@ -7710,7 +7731,7 @@ "h": 31 }, "frame": { - "x": 241, + "x": 232, "y": 377, "w": 17, "h": 31 @@ -7731,7 +7752,7 @@ "h": 31 }, "frame": { - "x": 258, + "x": 249, "y": 377, "w": 17, "h": 31 @@ -7752,8 +7773,8 @@ "h": 31 }, "frame": { - "x": 275, - "y": 377, + "x": 266, + "y": 378, "w": 22, "h": 31 } @@ -7773,8 +7794,8 @@ "h": 31 }, "frame": { - "x": 297, - "y": 377, + "x": 288, + "y": 378, "w": 22, "h": 31 } @@ -7794,8 +7815,8 @@ "h": 31 }, "frame": { - "x": 319, - "y": 378, + "x": 310, + "y": 379, "w": 22, "h": 31 } @@ -7815,7 +7836,7 @@ "h": 31 }, "frame": { - "x": 341, + "x": 332, "y": 382, "w": 17, "h": 31 @@ -7836,8 +7857,8 @@ "h": 31 }, "frame": { - "x": 358, - "y": 382, + "x": 349, + "y": 383, "w": 22, "h": 31 } @@ -7848,6 +7869,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:b516eabbda93be0375a8d45471c54e6c:5bf73f118de19726fc5d5a538ddc6f22:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:077d4cf8bc7743c80fe2829518c5c3cc:a57a58205d62e190c1abfe922add9b68:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index 51d692b1c73..8b2b0debd3d 100644 Binary files a/public/images/items.png and b/public/images/items.png differ diff --git a/public/images/items/eviolite.png b/public/images/items/eviolite.png new file mode 100644 index 00000000000..8eb195ece2a Binary files /dev/null and b/public/images/items/eviolite.png differ diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index aea0f1560fc..7dfee23aa63 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -10,7 +10,7 @@ import * as Utils from "../utils"; import { Type, TypeDamageMultiplier, getTypeDamageMultiplier, getTypeRgb } from "../data/type"; import { getLevelTotalExp } from "../data/exp"; import { Stat } from "../data/pokemon-stat"; -import { AttackTypeBoosterModifier, DamageMoneyRewardModifier, EnemyDamageBoosterModifier, EnemyDamageReducerModifier, EnemyEndureChanceModifier, EnemyFusionChanceModifier, HiddenAbilityRateBoosterModifier, PokemonBaseStatModifier, PokemonFriendshipBoosterModifier, PokemonHeldItemModifier, PokemonMultiHitModifier, PokemonNatureWeightModifier, ShinyRateBoosterModifier, SurviveDamageModifier, TempBattleStatBoosterModifier, TerastallizeModifier } from "../modifier/modifier"; +import { AttackTypeBoosterModifier, DamageMoneyRewardModifier, EnemyDamageBoosterModifier, EnemyDamageReducerModifier, EnemyEndureChanceModifier, EnemyFusionChanceModifier, HiddenAbilityRateBoosterModifier, PokemonBaseStatModifier, PokemonFriendshipBoosterModifier, PokemonHeldItemModifier, PokemonMultiHitModifier, PokemonNatureWeightModifier, ShinyRateBoosterModifier, SurviveDamageModifier, TempBattleStatBoosterModifier, EvolutionStatBoosterModifier, TerastallizeModifier } from "../modifier/modifier"; import { PokeballType } from "../data/pokeball"; import { Gender } from "../data/gender"; import { initMoveAnim, loadMoveAnimAssets } from "../data/battle-anims"; @@ -657,6 +657,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.scene.applyModifiers(TempBattleStatBoosterModifier, this.isPlayer(), battleStat as integer as TempBattleStat, statLevel); } const statValue = new Utils.NumberHolder(this.getStat(stat)); + this.scene.applyModifiers(EvolutionStatBoosterModifier, this.isPlayer(), this, stat, statValue); + const fieldApplied = new Utils.BooleanHolder(false); for (const pokemon of this.scene.getField(true)) { applyFieldBattleStatMultiplierAbAttrs(FieldMultiplyBattleStatAbAttr, pokemon, stat, statValue, this, fieldApplied); diff --git a/src/locales/de/modifier-type.ts b/src/locales/de/modifier-type.ts index f5536e2c6d7..171587d6ead 100644 --- a/src/locales/de/modifier-type.ts +++ b/src/locales/de/modifier-type.ts @@ -182,6 +182,8 @@ export const modifierType: ModifierTypeTranslationEntries = { "SOOTHE_BELL": { name: "Sanftglocke" }, + "EVIOLITE": { name: "Evolith", description: "Ein mysteriöser Klumpen, der die Vert. u. Spez.-Vert. von Pokémon erhöht, die sich noch entwickeln können." }, + "SOUL_DEW": { name: "Seelentau", description: "Erhöht den Einfluss des Wesens eines Pokemon auf seine Werte um 10% (additiv)." }, "NUGGET": { name: "Nugget" }, diff --git a/src/locales/en/modifier-type.ts b/src/locales/en/modifier-type.ts index f8073400358..001d50c4e21 100644 --- a/src/locales/en/modifier-type.ts +++ b/src/locales/en/modifier-type.ts @@ -182,6 +182,8 @@ export const modifierType: ModifierTypeTranslationEntries = { "SOOTHE_BELL": { name: "Soothe Bell" }, + "EVIOLITE": { name: "Eviolite", description: "This mysterious evolutionary lump boosts the Defense and Sp. Def stats when held by a Pokémon that can still evolve." }, + "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)." }, "NUGGET": { name: "Nugget" }, diff --git a/src/locales/es/modifier-type.ts b/src/locales/es/modifier-type.ts index 8bdb6f13f41..6998e616488 100644 --- a/src/locales/es/modifier-type.ts +++ b/src/locales/es/modifier-type.ts @@ -182,6 +182,8 @@ export const modifierType: ModifierTypeTranslationEntries = { "SOOTHE_BELL": { name: "Camp. Alivio" }, + "EVIOLITE": { name: "Mineral Evolutivo", description: "Roca misteriosa. El Pokémon portador aumentará su Defensa y su Defensa Especial si aún puede evolucionar." }, + "SOUL_DEW": { name: "Rocío bondad", description: "Aumenta la influencia de la naturaleza de un Pokémon en sus estadísticas en un 10% (aditivo)." }, "NUGGET": { name: "Pepita" }, diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 284744bb236..43e7c5ad757 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -182,6 +182,8 @@ export const modifierType: ModifierTypeTranslationEntries = { "SOOTHE_BELL": { name: "Grelot Zen" }, + "EVIOLITE": { name: "Évoluroc", description: "Un étrange concentré d’évolution qui augmente la Défense et la Défense Spéciale d’un Pokémon pouvant évoluer." }, + "SOUL_DEW": { name: "Rosée Âme", description: "Augmente de 10% l’influence de la nature d’un Pokémon sur ses statistiques (cumulatif)." }, "NUGGET": { name: "Pépite" }, diff --git a/src/locales/it/modifier-type.ts b/src/locales/it/modifier-type.ts index 07e7e6909f4..963a06a4e5d 100644 --- a/src/locales/it/modifier-type.ts +++ b/src/locales/it/modifier-type.ts @@ -182,6 +182,8 @@ export const modifierType: ModifierTypeTranslationEntries = { "SOOTHE_BELL": { name: "Calmanella" }, + "EVIOLITE": { name: "Evolcondensa", description: "Misteriosa materia evolutiva. Aumenta la Difesa e la Difesa Speciale di un Pokémon che può ancora evolversi." }, + "SOUL_DEW": { name: "Cuorugiada", description: "Aumenta del 10% l'influenza della natura di un Pokémon sulle sue statistiche (Aggiuntivo)." }, "NUGGET": { name: "Pepita" }, diff --git a/src/locales/ko/modifier-type.ts b/src/locales/ko/modifier-type.ts index a0cd013088a..1201a1a436a 100644 --- a/src/locales/ko/modifier-type.ts +++ b/src/locales/ko/modifier-type.ts @@ -182,6 +182,8 @@ export const modifierType: ModifierTypeTranslationEntries = { "SOOTHE_BELL": { name: "평온의방울" }, + "EVIOLITE": { name: "진화의휘석", description: "진화의 이상한 덩어리. 지니게 하면 진화 전 포켓몬의 방어와 특수방어가 올라간다." }, + "SOUL_DEW": { name: "마음의물방울", description: "지닌 포켓몬의 성격의 효과가 10% 증가한다 (합연산)." }, "NUGGET": { name: "금구슬" }, diff --git a/src/locales/zh_CN/modifier-type.ts b/src/locales/zh_CN/modifier-type.ts index bbea9d45537..c3b11722e72 100644 --- a/src/locales/zh_CN/modifier-type.ts +++ b/src/locales/zh_CN/modifier-type.ts @@ -182,6 +182,8 @@ export const modifierType: ModifierTypeTranslationEntries = { "SOOTHE_BELL": { name: "安抚之铃" }, + "EVIOLITE": { name: "进化奇石", description: "进化的神奇石块。携带后,还能进化的宝可梦的 防御和特防就会提高。" }, + "SOUL_DEW": { name: "心之水滴", description: "增加宝可梦性格影响10% (加算)。" }, "NUGGET": { name: "金珠" }, diff --git a/src/locales/zh_TW/modifier-type.ts b/src/locales/zh_TW/modifier-type.ts index bf9bcb2bc53..8d7695bb735 100644 --- a/src/locales/zh_TW/modifier-type.ts +++ b/src/locales/zh_TW/modifier-type.ts @@ -187,6 +187,10 @@ export const modifierType: ModifierTypeTranslationEntries = { LUCKY_EGG: { name: "幸運蛋" }, GOLDEN_EGG: { name: "金蛋" }, SOOTHE_BELL: { name: "安撫之鈴" }, + EVIOLITE: { + name: "進化奇石", + description: "進化的神奇石塊。攜帶後,還能進化的寶可夢的 防禦和特防就會提高。" + }, SOUL_DEW: { name: "心之水滴", description: "增加寶可夢性格影響10% (加算)。", diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 7094185eff2..895ee4b46c2 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1193,6 +1193,8 @@ export const modifierTypes = { SOOTHE_BELL: () => new PokemonFriendshipBoosterModifierType("modifierType:ModifierType.SOOTHE_BELL", "soothe_bell"), + EVIOLITE: () => new PokemonHeldItemModifierType("modifierType:ModifierType.EVIOLITE", "eviolite", (type, args) => new Modifiers.EvolutionStatBoosterModifier(type, (args[0] as Pokemon).id, [Stat.DEF, Stat.SPDEF], 1.5)), + SOUL_DEW: () => new PokemonHeldItemModifierType("modifierType:ModifierType.SOUL_DEW", "soul_dew", (type, args) => new Modifiers.PokemonNatureWeightModifier(type, (args[0] as Pokemon).id)), NUGGET: () => new MoneyRewardModifierType("modifierType:ModifierType.NUGGET", "nugget", 1, "modifierType:ModifierType.MoneyRewardModifierType.extra.small"), @@ -1366,6 +1368,7 @@ const modifierPool: ModifierPool = { new WeightedModifierType(modifierTypes.MINT, 4), new WeightedModifierType(modifierTypes.RARE_EVOLUTION_ITEM, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 15) * 4, 32), 32), new WeightedModifierType(modifierTypes.AMULET_COIN, 3), + //new WeightedModifierType(modifierTypes.EVIOLITE, (party: Pokemon[]) => party.some(p => ((p.getSpeciesForm(true).speciesId in pokemonEvolutions) || (p.isFusion() && (p.getFusionSpeciesForm(true).speciesId in pokemonEvolutions))) && !p.getHeldItems().some(i => i instanceof Modifiers.EvolutionStatBoosterModifier)) ? 10 : 0), new WeightedModifierType(modifierTypes.TOXIC_ORB, (party: Pokemon[]) => { const checkedAbilities = [Abilities.QUICK_FEET, Abilities.GUTS, Abilities.MARVEL_SCALE, Abilities.TOXIC_BOOST, Abilities.POISON_HEAL, Abilities.MAGIC_GUARD]; const checkedMoves = [Moves.FACADE, Moves.TRICK, Moves.FLING, Moves.SWITCHEROO, Moves.PSYCHO_SHIFT]; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index d47ede6d4ca..efd67104215 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -706,6 +706,83 @@ export class PokemonBaseStatModifier extends PokemonHeldItemModifier { } } +/** + * Modifier used for held items, specifically Eviolite, that apply + * {@linkcode Stat} boost(s) using a multiplier if the holder can evolve. + * @extends PokemonHeldItemModifier + * @see {@linkcode apply} + */ +export class EvolutionStatBoosterModifier extends PokemonHeldItemModifier { + /** The stats that the held item boosts */ + private stats: Stat[]; + /** The multiplier used to increase the relevant stat(s) */ + private multiplier: number; + + constructor(type: ModifierType, pokemonId: integer, stats: Stat[], multiplier: number, stackCount?: integer) { + super(type, pokemonId, stackCount); + + this.stats = stats; + this.multiplier = multiplier; + } + + clone() { + return new EvolutionStatBoosterModifier(this.type, this.pokemonId, this.stats, this.multiplier, this.stackCount); + } + + getArgs(): any[] { + return [ ...super.getArgs(), this.stats, this.multiplier ]; + } + + matchType(modifier: Modifier): boolean { + return modifier instanceof EvolutionStatBoosterModifier; + } + + /** + * Checks if the incoming stat is listed in {@linkcode stats} + * @param args [0] {@linkcode Pokemon} N/A + * [1] {@linkcode Stat} being checked at the time + * [2] {@linkcode Utils.NumberHolder} N/A + * @returns true if the stat could be boosted, false otherwise + */ + shouldApply(args: any[]): boolean { + return this.stats.includes(args[1] as Stat); + } + + /** + * Boosts the incoming stat value by a {@linkcode multiplier} if the holder + * can evolve. Note that, if the holder is a fusion, they will receive + * only half of the boost if either of the fused members are fully + * evolved. However, if they are both unevolved, the full boost + * will apply. + * @param args [0] {@linkcode Pokemon} that holds the held item + * [1] {@linkcode Stat} N/A + * [2] {@linkcode Utils.NumberHolder} that holds the resulting value of the stat + * @returns true if the stat boost applies successfully, false otherwise + * @see shouldApply + */ + apply(args: any[]): boolean { + const holder = args[0] as Pokemon; + const statValue = args[2] as Utils.NumberHolder; + const isUnevolved = holder.getSpeciesForm(true).speciesId in pokemonEvolutions; + + if (holder.isFusion() && (holder.getFusionSpeciesForm(true).speciesId in pokemonEvolutions) !== isUnevolved) { + // Half boost applied if holder is fused and either part of fusion is fully evolved + statValue.value *= 1 + (this.multiplier - 1) / 2; + return true; + } else if (isUnevolved) { + // Full boost applied if holder is unfused and unevolved or, if fused, both parts of fusion are unevolved + statValue.value *= this.multiplier; + return true; + } + + return false; + } + + getMaxHeldItemCount(_pokemon: Pokemon): integer { + return 1; + } +} + /** * Applies Specific Type item boosts (e.g., Magnet) */ diff --git a/src/test/items/eviolite.test.ts b/src/test/items/eviolite.test.ts new file mode 100644 index 00000000000..5b4561d4877 --- /dev/null +++ b/src/test/items/eviolite.test.ts @@ -0,0 +1,278 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import Phase from "phaser"; +import GameManager from "#app/test/utils/gameManager"; +import * as overrides from "#app/overrides"; +import { Stat } from "#app/data/pokemon-stat"; +import { EvolutionStatBoosterModifier } from "#app/modifier/modifier"; +import { modifierTypes } from "#app/modifier/modifier-type"; +import * as Utils from "#app/utils"; +import i18next from "#app/plugins/i18n"; +import { Species } from "#enums/species"; + +describe("Items - Eviolite", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phase.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + + vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true); + }); + + it("EVIOLITE activates in battle correctly", async() => { + vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{ name: "EVIOLITE" }]); + const consoleSpy = vi.spyOn(console, "log"); + await game.startBattle([ + Species.PICHU + ]); + + const partyMember = game.scene.getParty()[0]; + + // Checking consoe log to make sure Eviolite is applied when getBattleStat (with the appropriate stat) is called + partyMember.getBattleStat(Stat.DEF); + expect(consoleSpy).toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), ""); + + // Printing dummy console messages along the way so subsequent checks don't pass because of the first + console.log(""); + + partyMember.getBattleStat(Stat.SPDEF); + expect(consoleSpy).toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), ""); + + console.log(""); + + partyMember.getBattleStat(Stat.ATK); + expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), ""); + + console.log(""); + + partyMember.getBattleStat(Stat.SPATK); + expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), ""); + + console.log(""); + + partyMember.getBattleStat(Stat.SPD); + expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), ""); + }); + + it("EVIOLITE held by unevolved, unfused pokemon", async() => { + await game.startBattle([ + Species.PICHU + ]); + + const partyMember = game.scene.getParty()[0]; + + const defStat = partyMember.getStat(Stat.DEF); + const spDefStat = partyMember.getStat(Stat.SPDEF); + + // Making sure modifier is not applied without holding item + const defValue = new Utils.NumberHolder(defStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + const spDefValue = new Utils.NumberHolder(spDefStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1); + expect(spDefValue.value / spDefStat).toBe(1); + + // Giving Eviolite to party member and testing if it applies + partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1.5); + expect(spDefValue.value / spDefStat).toBe(1.5); + }, 20000); + + it("EVIOLITE held by fully evolved, unfused pokemon", async() => { + await game.startBattle([ + Species.RAICHU, + ]); + + const partyMember = game.scene.getParty()[0]; + + const defStat = partyMember.getStat(Stat.DEF); + const spDefStat = partyMember.getStat(Stat.SPDEF); + + // Making sure modifier is not applied without holding item + const defValue = new Utils.NumberHolder(defStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + const spDefValue = new Utils.NumberHolder(spDefStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1); + expect(spDefValue.value / spDefStat).toBe(1); + + // Giving Eviolite to party member and testing if it applies + partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1); + expect(spDefValue.value / spDefStat).toBe(1); + }, 20000); + + it("EVIOLITE held by completely unevolved, fused pokemon", async() => { + await game.startBattle([ + Species.PICHU, + Species.CLEFFA + ]); + + const partyMember = game.scene.getParty()[0]; + const ally = game.scene.getParty()[1]; + + // Fuse party members (taken from PlayerPokemon.fuse(...) function) + partyMember.fusionSpecies = ally.species; + partyMember.fusionFormIndex = ally.formIndex; + partyMember.fusionAbilityIndex = ally.abilityIndex; + partyMember.fusionShiny = ally.shiny; + partyMember.fusionVariant = ally.variant; + partyMember.fusionGender = ally.gender; + partyMember.fusionLuck = ally.luck; + + const defStat = partyMember.getStat(Stat.DEF); + const spDefStat = partyMember.getStat(Stat.SPDEF); + + // Making sure modifier is not applied without holding item + const defValue = new Utils.NumberHolder(defStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + const spDefValue = new Utils.NumberHolder(spDefStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1); + expect(spDefValue.value / spDefStat).toBe(1); + + // Giving Eviolite to party member and testing if it applies + partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1.5); + expect(spDefValue.value / spDefStat).toBe(1.5); + }, 20000); + + it("EVIOLITE held by partially unevolved (base), fused pokemon", async() => { + await game.startBattle([ + Species.PICHU, + Species.CLEFABLE + ]); + + const partyMember = game.scene.getParty()[0]; + const ally = game.scene.getParty()[1]; + + // Fuse party members (taken from PlayerPokemon.fuse(...) function) + partyMember.fusionSpecies = ally.species; + partyMember.fusionFormIndex = ally.formIndex; + partyMember.fusionAbilityIndex = ally.abilityIndex; + partyMember.fusionShiny = ally.shiny; + partyMember.fusionVariant = ally.variant; + partyMember.fusionGender = ally.gender; + partyMember.fusionLuck = ally.luck; + + const defStat = partyMember.getStat(Stat.DEF); + const spDefStat = partyMember.getStat(Stat.SPDEF); + + // Making sure modifier is not applied without holding item + const defValue = new Utils.NumberHolder(defStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + const spDefValue = new Utils.NumberHolder(spDefStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1); + expect(spDefValue.value / spDefStat).toBe(1); + + // Giving Eviolite to party member and testing if it applies + partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1.25); + expect(spDefValue.value / spDefStat).toBe(1.25); + }, 20000); + + it("EVIOLITE held by partially unevolved (fusion), fused pokemon", async() => { + await game.startBattle([ + Species.RAICHU, + Species.CLEFFA + ]); + + const partyMember = game.scene.getParty()[0]; + const ally = game.scene.getParty()[1]; + + // Fuse party members (taken from PlayerPokemon.fuse(...) function) + partyMember.fusionSpecies = ally.species; + partyMember.fusionFormIndex = ally.formIndex; + partyMember.fusionAbilityIndex = ally.abilityIndex; + partyMember.fusionShiny = ally.shiny; + partyMember.fusionVariant = ally.variant; + partyMember.fusionGender = ally.gender; + partyMember.fusionLuck = ally.luck; + + const defStat = partyMember.getStat(Stat.DEF); + const spDefStat = partyMember.getStat(Stat.SPDEF); + + // Making sure modifier is not applied without holding item + const defValue = new Utils.NumberHolder(defStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + const spDefValue = new Utils.NumberHolder(spDefStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1); + expect(spDefValue.value / spDefStat).toBe(1); + + // Giving Eviolite to party member and testing if it applies + partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1.25); + expect(spDefValue.value / spDefStat).toBe(1.25); + }, 20000); + + it("EVIOLITE held by completely evolved, fused pokemon", async() => { + await game.startBattle([ + Species.RAICHU, + Species.CLEFABLE + ]); + + const partyMember = game.scene.getParty()[0]; + const ally = game.scene.getParty()[1]; + + // Fuse party members (taken from PlayerPokemon.fuse(...) function) + partyMember.fusionSpecies = ally.species; + partyMember.fusionFormIndex = ally.formIndex; + partyMember.fusionAbilityIndex = ally.abilityIndex; + partyMember.fusionShiny = ally.shiny; + partyMember.fusionVariant = ally.variant; + partyMember.fusionGender = ally.gender; + partyMember.fusionLuck = ally.luck; + + const defStat = partyMember.getStat(Stat.DEF); + const spDefStat = partyMember.getStat(Stat.SPDEF); + + // Making sure modifier is not applied without holding item + const defValue = new Utils.NumberHolder(defStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + const spDefValue = new Utils.NumberHolder(spDefStat); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1); + expect(spDefValue.value / spDefStat).toBe(1); + + // Giving Eviolite to party member and testing if it applies + partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue); + partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue); + + expect(defValue.value / defStat).toBe(1); + expect(spDefValue.value / spDefStat).toBe(1); + }, 20000); +});