diff --git a/public/images/items.json b/public/images/items.json index 75212d733..b5f778fdc 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -4,8 +4,8 @@ "image": "items.png", "format": "RGBA8888", "size": { - "w": 243, - "h": 243 + "w": 248, + "h": 248 }, "scale": 1, "frames": [ @@ -72,6 +72,27 @@ "h": 31 } }, + { + "filename": "focus_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 27, + "y": 0, + "w": 24, + "h": 24 + } + }, { "filename": "golden_exp_charm", "rotated": false, @@ -107,27 +128,6 @@ "w": 24, "h": 24 }, - "frame": { - "x": 27, - "y": 0, - "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": 51, "y": 0, @@ -136,7 +136,7 @@ } }, { - "filename": "sun_stone", + "filename": "scanner", "rotated": false, "trimmed": true, "sourceSize": { @@ -156,6 +156,48 @@ "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": 99, + "y": 0, + "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": 123, + "y": 0, + "w": 24, + "h": 24 + } + }, { "filename": "big_root", "rotated": false, @@ -171,7 +213,7 @@ "h": 24 }, "frame": { - "x": 99, + "x": 147, "y": 0, "w": 23, "h": 24 @@ -192,7 +234,7 @@ "h": 23 }, "frame": { - "x": 122, + "x": 170, "y": 0, "w": 24, "h": 23 @@ -213,7 +255,7 @@ "h": 23 }, "frame": { - "x": 146, + "x": 194, "y": 0, "w": 24, "h": 23 @@ -233,52 +275,10 @@ "w": 24, "h": 23 }, - "frame": { - "x": 170, - "y": 0, - "w": 24, - "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": 194, - "y": 0, - "w": 24, - "h": 23 - } - }, - { - "filename": "berry_pouch", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, "frame": { "x": 218, "y": 0, - "w": 23, + "w": 24, "h": 23 } }, @@ -367,7 +367,7 @@ } }, { - "filename": "max_revive", + "filename": "reveal_glass", "rotated": false, "trimmed": true, "sourceSize": { @@ -375,18 +375,39 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, + "x": 4, "y": 4, - "w": 22, + "w": 23, "h": 24 }, "frame": { "x": 0, "y": 208, - "w": 22, + "w": 23, "h": 24 } }, + { + "filename": "silver_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 11, + "w": 24, + "h": 15 + }, + "frame": { + "x": 0, + "y": 232, + "w": 24, + "h": 15 + } + }, { "filename": "calcium", "rotated": false, @@ -450,6 +471,48 @@ "h": 24 } }, + { + "filename": "twisted_spoon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 40, + "y": 24, + "w": 24, + "h": 23 + } + }, + { + "filename": "berry_pouch", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 64, + "y": 24, + "w": 23, + "h": 23 + } + }, { "filename": "exp_balance", "rotated": false, @@ -465,7 +528,7 @@ "h": 22 }, "frame": { - "x": 40, + "x": 87, "y": 24, "w": 24, "h": 22 @@ -486,7 +549,7 @@ "h": 22 }, "frame": { - "x": 64, + "x": 111, "y": 24, "w": 24, "h": 22 @@ -507,7 +570,7 @@ "h": 22 }, "frame": { - "x": 88, + "x": 135, "y": 24, "w": 23, "h": 22 @@ -528,12 +591,33 @@ "h": 23 }, "frame": { - "x": 111, + "x": 158, "y": 24, "w": 22, "h": 23 } }, + { + "filename": "max_revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 24 + }, + "frame": { + "x": 180, + "y": 23, + "w": 22, + "h": 24 + } + }, { "filename": "rare_candy", "rotated": false, @@ -549,14 +633,14 @@ "h": 23 }, "frame": { - "x": 133, + "x": 202, "y": 23, "w": 23, "h": 23 } }, { - "filename": "fire_stone", + "filename": "rarer_candy", "rotated": false, "trimmed": true, "sourceSize": { @@ -564,81 +648,18 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, + "x": 4, "y": 5, - "w": 22, + "w": 23, "h": 23 }, "frame": { - "x": 156, + "x": 225, "y": 23, - "w": 22, + "w": 23, "h": 23 } }, - { - "filename": "focus_sash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 178, - "y": 23, - "w": 22, - "h": 23 - } - }, - { - "filename": "never_melt_ice", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 200, - "y": 23, - "w": 22, - "h": 23 - } - }, - { - "filename": "oval_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 222, - "y": 23, - "w": 21, - "h": 24 - } - }, { "filename": "iron", "rotated": false, @@ -661,7 +682,7 @@ } }, { - "filename": "reaper_cloth", + "filename": "fire_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -676,32 +697,11 @@ }, "frame": { "x": 49, - "y": 46, + "y": 47, "w": 22, "h": 23 } }, - { - "filename": "charcoal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 71, - "y": 46, - "w": 22, - "h": 22 - } - }, { "filename": "max_elixir", "rotated": false, @@ -716,153 +716,6 @@ "w": 18, "h": 24 }, - "frame": { - "x": 93, - "y": 46, - "w": 18, - "h": 24 - } - }, - { - "filename": "dire_hit", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 111, - "y": 47, - "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": 133, - "y": 46, - "w": 21, - "h": 23 - } - }, - { - "filename": "electirizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 154, - "y": 46, - "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": 176, - "y": 46, - "w": 22, - "h": 22 - } - }, - { - "filename": "sacred_ash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 198, - "y": 46, - "w": 24, - "h": 20 - } - }, - { - "filename": "shiny_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 222, - "y": 47, - "w": 21, - "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": 33, "y": 74, @@ -871,49 +724,7 @@ } }, { - "filename": "leaf_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 51, - "y": 69, - "w": 21, - "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": 72, - "y": 68, - "w": 21, - "h": 23 - } - }, - { - "filename": "dawn_stone", + "filename": "oval_charm", "rotated": false, "trimmed": true, "sourceSize": { @@ -922,15 +733,246 @@ }, "spriteSourceSize": { "x": 6, - "y": 6, - "w": 20, - "h": 21 + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 51, + "y": 70, + "w": 21, + "h": 24 + } + }, + { + "filename": "dragon_fang", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 71, + "y": 47, + "w": 21, + "h": 23 + } + }, + { + "filename": "focus_sash", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 92, + "y": 46, + "w": 22, + "h": 23 + } + }, + { + "filename": "never_melt_ice", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 114, + "y": 46, + "w": 22, + "h": 23 + } + }, + { + "filename": "reaper_cloth", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 136, + "y": 46, + "w": 22, + "h": 23 + } + }, + { + "filename": "charcoal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 158, + "y": 47, + "w": 22, + "h": 22 + } + }, + { + "filename": "dire_hit", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 180, + "y": 47, + "w": 22, + "h": 22 + } + }, + { + "filename": "electirizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 202, + "y": 46, + "w": 22, + "h": 22 + } + }, + { + "filename": "sacred_ash", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 224, + "y": 46, + "w": 24, + "h": 20 + } + }, + { + "filename": "soft_sand", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 224, + "y": 66, + "w": 24, + "h": 20 + } + }, + { + "filename": "shiny_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 72, + "y": 70, + "w": 21, + "h": 24 + } + }, + { + "filename": "guard_spec", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 }, "frame": { "x": 93, - "y": 70, - "w": 20, - "h": 21 + "y": 69, + "w": 22, + "h": 22 } }, { @@ -948,7 +990,7 @@ "h": 22 }, "frame": { - "x": 113, + "x": 115, "y": 69, "w": 22, "h": 22 @@ -969,7 +1011,7 @@ "h": 22 }, "frame": { - "x": 135, + "x": 137, "y": 69, "w": 22, "h": 22 @@ -990,14 +1032,14 @@ "h": 22 }, "frame": { - "x": 157, - "y": 68, + "x": 159, + "y": 69, "w": 22, "h": 22 } }, { - "filename": "metal_coat", + "filename": "leaf_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -1005,60 +1047,39 @@ "h": 32 }, "spriteSourceSize": { - "x": 6, + "x": 5, "y": 5, - "w": 19, + "w": 21, + "h": 23 + }, + "frame": { + "x": 181, + "y": 69, + "w": 21, + "h": 23 + } + }, + { + "filename": "protector", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, "h": 22 }, "frame": { - "x": 179, + "x": 202, "y": 68, - "w": 19, + "w": 22, "h": 22 } }, - { - "filename": "soft_sand", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 198, - "y": 66, - "w": 24, - "h": 20 - } - }, - { - "filename": "dusk_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 222, - "y": 71, - "w": 21, - "h": 21 - } - }, { "filename": "choice_specs", "rotated": false, @@ -1074,14 +1095,14 @@ "h": 18 }, "frame": { - "x": 198, + "x": 224, "y": 86, "w": 24, "h": 18 } }, { - "filename": "poison_barb", + "filename": "deep_sea_scale", "rotated": false, "trimmed": true, "sourceSize": { @@ -1091,14 +1112,35 @@ "spriteSourceSize": { "x": 5, "y": 6, - "w": 21, - "h": 21 + "w": 22, + "h": 20 }, "frame": { - "x": 222, - "y": 92, - "w": 21, - "h": 21 + "x": 202, + "y": 90, + "w": 22, + "h": 20 + } + }, + { + "filename": "dragon_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 24, + "h": 18 + }, + "frame": { + "x": 224, + "y": 104, + "w": 24, + "h": 18 } }, { @@ -1123,7 +1165,7 @@ } }, { - "filename": "protector", + "filename": "sharp_beak", "rotated": false, "trimmed": true, "sourceSize": { @@ -1133,18 +1175,18 @@ "spriteSourceSize": { "x": 5, "y": 5, - "w": 22, - "h": 22 + "w": 21, + "h": 23 }, "frame": { "x": 18, "y": 119, - "w": 22, - "h": 22 + "w": 21, + "h": 23 } }, { - "filename": "thunder_stone", + "filename": "mystic_water", "rotated": false, "trimmed": true, "sourceSize": { @@ -1152,20 +1194,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, + "x": 6, "y": 5, - "w": 22, - "h": 22 + "w": 20, + "h": 23 }, "frame": { "x": 18, - "y": 141, - "w": 22, - "h": 22 + "y": 142, + "w": 20, + "h": 23 } }, { - "filename": "deep_sea_tooth", + "filename": "dubious_disc", "rotated": false, "trimmed": true, "sourceSize": { @@ -1174,19 +1216,19 @@ }, "spriteSourceSize": { "x": 5, - "y": 6, + "y": 7, "w": 22, - "h": 21 + "h": 19 }, "frame": { "x": 18, - "y": 163, + "y": 165, "w": 22, - "h": 21 + "h": 19 } }, { - "filename": "max_potion", + "filename": "max_ether", "rotated": false, "trimmed": true, "sourceSize": { @@ -1207,7 +1249,28 @@ } }, { - "filename": "mystic_water", + "filename": "max_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 23, + "y": 208, + "w": 18, + "h": 24 + } + }, + { + "filename": "dawn_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -1216,40 +1279,19 @@ }, "spriteSourceSize": { "x": 6, - "y": 5, + "y": 6, "w": 20, - "h": 23 - }, - "frame": { - "x": 22, - "y": 208, - "w": 20, - "h": 23 - } - }, - { - "filename": "full_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 4, - "w": 15, - "h": 23 + "h": 21 }, "frame": { "x": 41, "y": 98, - "w": 15, - "h": 23 + "w": 20, + "h": 21 } }, { - "filename": "pp_max", + "filename": "thunder_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -1257,58 +1299,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 + "x": 5, + "y": 5, + "w": 22, + "h": 22 }, "frame": { - "x": 40, - "y": 121, - "w": 16, - "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": 40, - "y": 145, - "w": 16, - "h": 24 - } - }, - { - "filename": "protein", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 56, - "y": 92, - "w": 16, - "h": 24 + "x": 39, + "y": 119, + "w": 22, + "h": 22 } }, { @@ -1326,8 +1326,8 @@ "h": 22 }, "frame": { - "x": 72, - "y": 91, + "x": 61, + "y": 94, "w": 22, "h": 22 } @@ -1347,12 +1347,33 @@ "h": 22 }, "frame": { - "x": 94, - "y": 91, + "x": 61, + "y": 116, "w": 22, "h": 22 } }, + { + "filename": "pp_max", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 83, + "y": 94, + "w": 16, + "h": 24 + } + }, { "filename": "tm_dragon", "rotated": false, @@ -1368,33 +1389,12 @@ "h": 22 }, "frame": { - "x": 116, + "x": 99, "y": 91, "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": 138, - "y": 91, - "w": 20, - "h": 22 - } - }, { "filename": "tm_electric", "rotated": false, @@ -1410,54 +1410,12 @@ "h": 22 }, "frame": { - "x": 158, - "y": 90, + "x": 121, + "y": 91, "w": 22, "h": 22 } }, - { - "filename": "razor_fang", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 18, - "h": 20 - }, - "frame": { - "x": 180, - "y": 90, - "w": 18, - "h": 20 - } - }, - { - "filename": "zinc", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 56, - "y": 116, - "w": 16, - "h": 24 - } - }, { "filename": "tm_fairy", "rotated": false, @@ -1473,12 +1431,117 @@ "h": 22 }, "frame": { - "x": 72, - "y": 113, + "x": 143, + "y": 91, "w": 22, "h": 22 } }, + { + "filename": "pp_up", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 165, + "y": 91, + "w": 16, + "h": 24 + } + }, + { + "filename": "dusk_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 181, + "y": 92, + "w": 21, + "h": 21 + } + }, + { + "filename": "deep_sea_tooth", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 202, + "y": 110, + "w": 22, + "h": 21 + } + }, + { + "filename": "poison_barb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 181, + "y": 113, + "w": 21, + "h": 21 + } + }, + { + "filename": "binding_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 23, + "h": 20 + }, + "frame": { + "x": 83, + "y": 118, + "w": 23, + "h": 20 + } + }, { "filename": "tm_fighting", "rotated": false, @@ -1494,7 +1557,7 @@ "h": 22 }, "frame": { - "x": 94, + "x": 106, "y": 113, "w": 22, "h": 22 @@ -1515,12 +1578,75 @@ "h": 22 }, "frame": { - "x": 116, + "x": 128, "y": 113, "w": 22, "h": 22 } }, + { + "filename": "full_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 4, + "w": 15, + "h": 23 + }, + "frame": { + "x": 150, + "y": 113, + "w": 15, + "h": 23 + } + }, + { + "filename": "protein", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 165, + "y": 115, + "w": 16, + "h": 24 + } + }, + { + "filename": "black_glasses", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 224, + "y": 122, + "w": 23, + "h": 17 + } + }, { "filename": "tm_flying", "rotated": false, @@ -1536,54 +1662,12 @@ "h": 22 }, "frame": { - "x": 138, - "y": 113, + "x": 202, + "y": 131, "w": 22, "h": 22 } }, - { - "filename": "tm_ghost", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 160, - "y": 112, - "w": 22, - "h": 22 - } - }, - { - "filename": "dragon_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 24, - "h": 18 - }, - "frame": { - "x": 198, - "y": 104, - "w": 24, - "h": 18 - } - }, { "filename": "shiny_stone", "rotated": false, @@ -1599,12 +1683,96 @@ "h": 21 }, "frame": { - "x": 222, - "y": 113, + "x": 181, + "y": 134, "w": 21, "h": 21 } }, + { + "filename": "shell_bell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 23, + "h": 20 + }, + "frame": { + "x": 224, + "y": 139, + "w": 23, + "h": 20 + } + }, + { + "filename": "prism_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 15, + "h": 15 + }, + "frame": { + "x": 24, + "y": 232, + "w": 15, + "h": 15 + } + }, + { + "filename": "tm_ghost", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 202, + "y": 153, + "w": 22, + "h": 22 + } + }, + { + "filename": "wise_glasses", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 224, + "y": 159, + "w": 23, + "h": 17 + } + }, { "filename": "hyper_potion", "rotated": false, @@ -1620,12 +1788,117 @@ "h": 23 }, "frame": { - "x": 56, - "y": 140, + "x": 38, + "y": 142, "w": 17, "h": 23 } }, + { + "filename": "lum_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 40, + "y": 165, + "w": 20, + "h": 19 + } + }, + { + "filename": "metal_coat", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 41, + "y": 184, + "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": 206, + "w": 20, + "h": 22 + } + }, + { + "filename": "gb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 41, + "y": 228, + "w": 20, + "h": 20 + } + }, + { + "filename": "zinc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 55, + "y": 141, + "w": 16, + "h": 24 + } + }, { "filename": "tm_grass", "rotated": false, @@ -1641,92 +1914,8 @@ "h": 22 }, "frame": { - "x": 73, - "y": 135, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_ground", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 95, - "y": 135, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_ice", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 117, - "y": 135, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_normal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 139, - "y": 135, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_poison", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 161, - "y": 134, + "x": 71, + "y": 138, "w": 22, "h": 22 } @@ -1746,12 +1935,54 @@ "h": 22 }, "frame": { - "x": 182, - "y": 110, + "x": 93, + "y": 138, "w": 15, "h": 22 } }, + { + "filename": "tm_ground", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 108, + "y": 135, + "w": 22, + "h": 22 + } + }, + { + "filename": "magnet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 130, + "y": 135, + "w": 20, + "h": 20 + } + }, { "filename": "potion", "rotated": false, @@ -1767,14 +1998,14 @@ "h": 23 }, "frame": { - "x": 183, - "y": 132, + "x": 60, + "y": 165, "w": 17, "h": 23 } }, { - "filename": "tm_psychic", + "filename": "tm_ice", "rotated": false, "trimmed": true, "sourceSize": { @@ -1788,8 +2019,50 @@ "h": 22 }, "frame": { - "x": 200, - "y": 122, + "x": 77, + "y": 160, + "w": 22, + "h": 22 + } + }, + { + "filename": "everstone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 17 + }, + "frame": { + "x": 60, + "y": 188, + "w": 20, + "h": 17 + } + }, + { + "filename": "tm_normal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 61, + "y": 205, "w": 22, "h": 22 } @@ -1809,14 +2082,56 @@ "h": 21 }, "frame": { - "x": 222, - "y": 134, + "x": 61, + "y": 227, "w": 21, "h": 21 } }, { - "filename": "deep_sea_scale", + "filename": "spell_tag", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 19, + "h": 21 + }, + "frame": { + "x": 82, + "y": 227, + "w": 19, + "h": 21 + } + }, + { + "filename": "super_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 80, + "y": 182, + "w": 17, + "h": 23 + } + }, + { + "filename": "tm_poison", "rotated": false, "trimmed": true, "sourceSize": { @@ -1825,19 +2140,19 @@ }, "spriteSourceSize": { "x": 5, - "y": 6, + "y": 5, "w": 22, - "h": 20 + "h": 22 }, "frame": { - "x": 200, - "y": 144, + "x": 83, + "y": 205, "w": 22, - "h": 20 + "h": 22 } }, { - "filename": "silver_powder", + "filename": "metronome", "rotated": false, "trimmed": true, "sourceSize": { @@ -1845,16 +2160,37 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, - "y": 11, - "w": 24, - "h": 15 + "x": 7, + "y": 5, + "w": 17, + "h": 22 }, "frame": { - "x": 40, - "y": 169, - "w": 24, - "h": 15 + "x": 99, + "y": 160, + "w": 17, + "h": 22 + } + }, + { + "filename": "tm_psychic", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 97, + "y": 182, + "w": 22, + "h": 22 } }, { @@ -1872,8 +2208,8 @@ "h": 22 }, "frame": { - "x": 41, - "y": 184, + "x": 105, + "y": 204, "w": 22, "h": 22 } @@ -1893,75 +2229,12 @@ "h": 22 }, "frame": { - "x": 42, - "y": 206, + "x": 105, + "y": 226, "w": 22, "h": 22 } }, - { - "filename": "prism_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 15, - "h": 15 - }, - "frame": { - "x": 42, - "y": 228, - "w": 15, - "h": 15 - } - }, - { - "filename": "binding_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 23, - "h": 20 - }, - "frame": { - "x": 73, - "y": 157, - "w": 23, - "h": 20 - } - }, - { - "filename": "shell_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 23, - "h": 20 - }, - "frame": { - "x": 96, - "y": 157, - "w": 23, - "h": 20 - } - }, { "filename": "tm_water", "rotated": false, @@ -1977,7 +2250,7 @@ "h": 22 }, "frame": { - "x": 119, + "x": 116, "y": 157, "w": 22, "h": 22 @@ -1998,8 +2271,8 @@ "h": 22 }, "frame": { - "x": 141, - "y": 157, + "x": 119, + "y": 179, "w": 22, "h": 22 } @@ -2019,138 +2292,12 @@ "h": 22 }, "frame": { - "x": 163, - "y": 156, + "x": 127, + "y": 201, "w": 22, "h": 22 } }, - { - "filename": "everstone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 17 - }, - "frame": { - "x": 222, - "y": 155, - "w": 20, - "h": 17 - } - }, - { - "filename": "revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 12, - "h": 17 - }, - "frame": { - "x": 185, - "y": 155, - "w": 12, - "h": 17 - } - }, - { - "filename": "black_glasses", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 197, - "y": 164, - "w": 23, - "h": 17 - } - }, - { - "filename": "wise_glasses", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 220, - "y": 172, - "w": 23, - "h": 17 - } - }, - { - "filename": "metronome", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 63, - "y": 184, - "w": 17, - "h": 22 - } - }, - { - "filename": "super_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 64, - "y": 206, - "w": 17, - "h": 23 - } - }, { "filename": "x_attack", "rotated": false, @@ -2166,75 +2313,12 @@ "h": 22 }, "frame": { - "x": 80, - "y": 177, + "x": 127, + "y": 223, "w": 22, "h": 22 } }, - { - "filename": "golden_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 102, - "y": 177, - "w": 17, - "h": 20 - } - }, - { - "filename": "dubious_disc", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 - }, - "frame": { - "x": 119, - "y": 179, - "w": 22, - "h": 19 - } - }, - { - "filename": "upgrade", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 - }, - "frame": { - "x": 141, - "y": 179, - "w": 22, - "h": 19 - } - }, { "filename": "x_defense", "rotated": false, @@ -2250,8 +2334,8 @@ "h": 22 }, "frame": { - "x": 163, - "y": 178, + "x": 138, + "y": 155, "w": 22, "h": 22 } @@ -2271,8 +2355,8 @@ "h": 22 }, "frame": { - "x": 81, - "y": 199, + "x": 141, + "y": 177, "w": 22, "h": 22 } @@ -2292,8 +2376,8 @@ "h": 22 }, "frame": { - "x": 81, - "y": 221, + "x": 149, + "y": 199, "w": 22, "h": 22 } @@ -2313,14 +2397,14 @@ "h": 22 }, "frame": { - "x": 185, - "y": 181, + "x": 149, + "y": 221, "w": 22, "h": 22 } }, { - "filename": "gb", + "filename": "oval_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -2328,20 +2412,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 + "x": 7, + "y": 7, + "w": 18, + "h": 19 }, "frame": { - "x": 103, - "y": 198, - "w": 20, - "h": 20 + "x": 163, + "y": 139, + "w": 18, + "h": 19 } }, { - "filename": "magnet", + "filename": "upgrade", "rotated": false, "trimmed": true, "sourceSize": { @@ -2349,16 +2433,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 + "x": 5, + "y": 7, + "w": 22, + "h": 19 }, "frame": { - "x": 123, - "y": 198, - "w": 20, - "h": 20 + "x": 160, + "y": 158, + "w": 22, + "h": 19 } }, { @@ -2376,12 +2460,33 @@ "h": 20 }, "frame": { - "x": 143, - "y": 198, + "x": 182, + "y": 155, "w": 20, "h": 20 } }, + { + "filename": "candy_jar", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 163, + "y": 177, + "w": 19, + "h": 20 + } + }, { "filename": "pb", "rotated": false, @@ -2397,8 +2502,8 @@ "h": 20 }, "frame": { - "x": 103, - "y": 218, + "x": 182, + "y": 175, "w": 20, "h": 20 } @@ -2418,12 +2523,54 @@ "h": 20 }, "frame": { - "x": 123, - "y": 218, + "x": 202, + "y": 175, "w": 20, "h": 20 } }, + { + "filename": "razor_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 222, + "y": 176, + "w": 20, + "h": 19 + } + }, + { + "filename": "golden_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 171, + "y": 197, + "w": 17, + "h": 20 + } + }, { "filename": "ub", "rotated": false, @@ -2439,33 +2586,12 @@ "h": 20 }, "frame": { - "x": 143, - "y": 218, + "x": 188, + "y": 195, "w": 20, "h": 20 } }, - { - "filename": "spell_tag", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 19, - "h": 21 - }, - "frame": { - "x": 163, - "y": 200, - "w": 19, - "h": 21 - } - }, { "filename": "hard_stone", "rotated": false, @@ -2481,54 +2607,12 @@ "h": 20 }, "frame": { - "x": 163, - "y": 221, + "x": 208, + "y": 195, "w": 19, "h": 20 } }, - { - "filename": "lum_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 182, - "y": 203, - "w": 20, - "h": 19 - } - }, - { - "filename": "razor_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 182, - "y": 222, - "w": 20, - "h": 19 - } - }, { "filename": "lucky_egg", "rotated": false, @@ -2544,8 +2628,8 @@ "h": 20 }, "frame": { - "x": 202, - "y": 203, + "x": 171, + "y": 217, "w": 17, "h": 20 } @@ -2565,14 +2649,14 @@ "h": 19 }, "frame": { - "x": 202, - "y": 223, + "x": 188, + "y": 215, "w": 19, "h": 19 } }, { - "filename": "oval_stone", + "filename": "razor_fang", "rotated": false, "trimmed": true, "sourceSize": { @@ -2581,15 +2665,36 @@ }, "spriteSourceSize": { "x": 7, - "y": 7, + "y": 6, "w": 18, - "h": 19 + "h": 20 }, "frame": { - "x": 219, - "y": 189, + "x": 207, + "y": 215, "w": 18, - "h": 19 + "h": 20 + } + }, + { + "filename": "revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 12, + "h": 17 + }, + "frame": { + "x": 150, + "y": 136, + "w": 12, + "h": 17 } } ] @@ -2598,6 +2703,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:765f253f422caab501ac3462c455c37f:f48edcc7cd6d3b90aef5a1f31e2529df:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:b6805cfc15896d75dbfaf0817c2b16ed:fb72ca38a99466642275b1256b378b18:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index 16b7e5bc3..a369477d0 100644 Binary files a/public/images/items.png and b/public/images/items.png differ diff --git a/public/images/items/candy_jar.png b/public/images/items/candy_jar.png new file mode 100644 index 000000000..2718b9fa0 Binary files /dev/null and b/public/images/items/candy_jar.png differ diff --git a/public/images/items/focus_band.png b/public/images/items/focus_band.png new file mode 100644 index 000000000..830e12942 Binary files /dev/null and b/public/images/items/focus_band.png differ diff --git a/public/images/items/rarer_candy.png b/public/images/items/rarer_candy.png new file mode 100644 index 000000000..b8432bd82 Binary files /dev/null and b/public/images/items/rarer_candy.png differ diff --git a/public/images/items/reveal_glass.png b/public/images/items/reveal_glass.png new file mode 100644 index 000000000..3fae3bdf9 Binary files /dev/null and b/public/images/items/reveal_glass.png differ diff --git a/public/images/items/scanner.png b/public/images/items/scanner.png new file mode 100644 index 000000000..27a67484f Binary files /dev/null and b/public/images/items/scanner.png differ diff --git a/src/data/pokeball.ts b/src/data/pokeball.ts index 35bef2cac..e4551f6dc 100644 --- a/src/data/pokeball.ts +++ b/src/data/pokeball.ts @@ -55,7 +55,7 @@ export function getPokeballCatchMultiplier(type: PokeballType): number { case PokeballType.ULTRA_BALL: return 2; case PokeballType.MASTER_BALL: - return 10; + return -1; case PokeballType.LUXURY_BALL: return 1; } diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 315ac5b35..8b45b09db 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -243,6 +243,12 @@ export class PokemonLevelIncrementModifierType extends PokemonModifierType { } } +export class AllPokemonLevelIncrementModifierType extends ModifierType { + constructor(name: string, iconImage?: string) { + super(name, `Increase all party members' level by 1`, (_type, _args) => new Modifiers.PokemonLevelIncrementModifier(this, -1), iconImage); + } +} + function getBaseStatBoosterItemName(stat: Stat) { switch (stat) { case Stat.HP: @@ -431,14 +437,15 @@ class HeldItemTransferModifierType extends PokemonHeldItemModifierType { } } +type ModifierTypeFunc = () => ModifierType; type WeightedModifierTypeWeightFunc = (party: Pokemon[]) => integer; class WeightedModifierType { public modifierType: ModifierType; public weight: integer | WeightedModifierTypeWeightFunc; - constructor(modifierType: ModifierType, weight: integer | WeightedModifierTypeWeightFunc) { - this.modifierType = modifierType; + constructor(modifierTypeFunc: ModifierTypeFunc, weight: integer | WeightedModifierTypeWeightFunc) { + this.modifierType = modifierTypeFunc(); this.weight = weight; } @@ -448,46 +455,47 @@ class WeightedModifierType { } const modifierTypes = { - POKEBALL: new AddPokeballModifierType(PokeballType.POKEBALL, 5, 'pb'), - GREAT_BALL: new AddPokeballModifierType(PokeballType.GREAT_BALL, 5, 'gb'), - ULTRA_BALL: new AddPokeballModifierType(PokeballType.ULTRA_BALL, 5, 'ub'), - MASTER_BALL: new AddPokeballModifierType(PokeballType.MASTER_BALL, 1, 'mb'), + POKEBALL: () => new AddPokeballModifierType(PokeballType.POKEBALL, 5, 'pb'), + GREAT_BALL: () => new AddPokeballModifierType(PokeballType.GREAT_BALL, 5, 'gb'), + ULTRA_BALL: () => new AddPokeballModifierType(PokeballType.ULTRA_BALL, 5, 'ub'), + MASTER_BALL: () => new AddPokeballModifierType(PokeballType.MASTER_BALL, 1, 'mb'), - RARE_CANDY: new PokemonLevelIncrementModifierType('RARE CANDY'), + RARE_CANDY: () => new PokemonLevelIncrementModifierType('RARE CANDY'), + RARER_CANDY: () => new AllPokemonLevelIncrementModifierType('RARER CANDY'), - EVOLUTION_ITEM: new EvolutionItemModifierTypeGenerator(), + EVOLUTION_ITEM: () => new EvolutionItemModifierTypeGenerator(), - POTION: new PokemonHpRestoreModifierType('POTION', 20), - SUPER_POTION: new PokemonHpRestoreModifierType('SUPER POTION', 50), - HYPER_POTION: new PokemonHpRestoreModifierType('HYPER POTION', 200), - MAX_POTION: new PokemonHpRestoreModifierType('MAX POTION', 100, true), + POTION: () => new PokemonHpRestoreModifierType('POTION', 20), + SUPER_POTION: () => new PokemonHpRestoreModifierType('SUPER POTION', 50), + HYPER_POTION: () => new PokemonHpRestoreModifierType('HYPER POTION', 200), + MAX_POTION: () => new PokemonHpRestoreModifierType('MAX POTION', 100, true), - REVIVE: new PokemonReviveModifierType('REVIVE', 50), - MAX_REVIVE: new PokemonReviveModifierType('MAX REVIVE', 100), + REVIVE: () => new PokemonReviveModifierType('REVIVE', 50), + MAX_REVIVE: () => new PokemonReviveModifierType('MAX REVIVE', 100), - FULL_HEAL: new PokemonStatusHealModifierType('FULL HEAL'), + FULL_HEAL: () => new PokemonStatusHealModifierType('FULL HEAL'), - SACRED_ASH: new AllPokemonFullReviveModifierType('SACRED ASH'), + SACRED_ASH: () => new AllPokemonFullReviveModifierType('SACRED ASH'), - ETHER: new PokemonPpRestoreModifierType('ETHER', 10), - MAX_ETHER: new PokemonPpRestoreModifierType('MAX ETHER', -1), + ETHER: () => new PokemonPpRestoreModifierType('ETHER', 10), + MAX_ETHER: () => new PokemonPpRestoreModifierType('MAX ETHER', -1), - ELIXIR: new PokemonAllMovePpRestoreModifierType('ELIXIR', 10), - MAX_ELIXIR: new PokemonAllMovePpRestoreModifierType('MAX ELIXIR', -1), + ELIXIR: () => new PokemonAllMovePpRestoreModifierType('ELIXIR', 10), + MAX_ELIXIR: () => new PokemonAllMovePpRestoreModifierType('MAX ELIXIR', -1), - TEMP_STAT_BOOSTER: new ModifierTypeGenerator((party: Pokemon[]) => { + TEMP_STAT_BOOSTER: () => new ModifierTypeGenerator((party: Pokemon[]) => { const randTempBattleStat = Utils.randInt(7) as TempBattleStat; return new TempBattleStatBoosterModifierType(randTempBattleStat); }), - BASE_STAT_BOOSTER: new ModifierTypeGenerator((party: Pokemon[]) => { + BASE_STAT_BOOSTER: () => new ModifierTypeGenerator((party: Pokemon[]) => { const randStat = Utils.randInt(6) as Stat; return new PokemonBaseStatBoosterModifierType(getBaseStatBoosterItemName(randStat), randStat); }), - ATTACK_TYPE_BOOSTER: new AttackTypeBoosterModifierTypeGenerator(), + ATTACK_TYPE_BOOSTER: () => new AttackTypeBoosterModifierTypeGenerator(), - BERRY: new ModifierTypeGenerator((party: Pokemon[]) => { + BERRY: () => new ModifierTypeGenerator((party: Pokemon[]) => { const berryTypes = Utils.getEnumValues(BerryType); const randBerryType = berryTypes[Utils.randInt(berryTypes.length)]; return new PokemonHeldItemModifierType(getBerryName(randBerryType), getBerryEffectDescription(randBerryType), @@ -495,7 +503,7 @@ const modifierTypes = { null, 'berry'); }), - TM: new ModifierTypeGenerator((party: Pokemon[]) => { + TM: () => new ModifierTypeGenerator((party: Pokemon[]) => { const partyMemberCompatibleTms = party.map(p => (p as PlayerPokemon).compatibleTms); const uniqueCompatibleTms = partyMemberCompatibleTms.flat().filter((tm, i, array) => array.indexOf(tm) === i); if (!uniqueCompatibleTms.length) @@ -504,35 +512,37 @@ const modifierTypes = { return new TmModifierType(uniqueCompatibleTms[randTmIndex]); }), - EXP_SHARE: new ModifierType('EXP. SHARE', 'All POKéMON in your party gain an additional 10% of a battle\'s EXP. Points', + EXP_SHARE: () => new ModifierType('EXP. SHARE', 'All POKéMON in your party gain an additional 10% of a battle\'s EXP. Points', (type, _args) => new Modifiers.ExpShareModifier(type), 'exp_share'), - EXP_BALANCE: new ModifierType('EXP. BALANCE', 'All EXP. Points received from battles are split between the lower leveled party members', + EXP_BALANCE: () => new ModifierType('EXP. BALANCE', 'All EXP. Points received from battles are split between the lower leveled party members', (type, _args) => new Modifiers.ExpBalanceModifier(type), 'exp_balance'), - EXP_CHARM: new ExpBoosterModifierType('EXP CHARM', 25), - GOLDEN_EXP_CHARM: new ExpBoosterModifierType('GOLDEN EXP CHARM', 100), + EXP_CHARM: () => new ExpBoosterModifierType('EXP CHARM', 25), + GOLDEN_EXP_CHARM: () => new ExpBoosterModifierType('GOLDEN EXP CHARM', 100), - LUCKY_EGG: new PokemonExpBoosterModifierType('LUCKY EGG', 50), + LUCKY_EGG: () => new PokemonExpBoosterModifierType('LUCKY EGG', 50), - HEALING_CHARM: new ModifierType('HEALING CHARM', 'Doubles the effectiveness of HP restoring moves and items (excludes revives)', + HEALING_CHARM: () => new ModifierType('HEALING CHARM', 'Doubles the effectiveness of HP restoring moves and items (excludes revives)', (type, _args) => new Modifiers.HealingBoosterModifier(type, 2), 'healing_charm'), - OVAL_CHARM: new ModifierType('OVAL CHARM', 'For every X (no. of party members) items in a POKéMON\'s held item stack, give one to each other party member', + OVAL_CHARM: () => new ModifierType('OVAL CHARM', 'For every X (no. of party members) items in a POKéMON\'s held item stack, give one to each other party member', (type, _args) => new Modifiers.PartyShareModifier(type), 'oval_charm'), - BERRY_POUCH: new ModifierType('BERRY POUCH', 'Adds a 25% chance that a used berry will not be consumed', + CANDY_JAR: () => new ModifierType('CANDY JAR', 'Increases the number of levels added by RARE CANDY items by 1', (type, _args) => new Modifiers.LevelIncrementBoosterModifier(type)), + + BERRY_POUCH: () => new ModifierType('BERRY POUCH', 'Adds a 25% chance that a used berry will not be consumed', (type, _args) => new Modifiers.PreserveBerryModifier(type)), - LEFTOVERS: new PokemonHeldItemModifierType('LEFTOVERS', 'Heals 1/16 of a POKéMON\'s maximum HP every turn', + LEFTOVERS: () => new PokemonHeldItemModifierType('LEFTOVERS', 'Heals 1/16 of a POKéMON\'s maximum HP every turn', (type, args) => new Modifiers.TurnHealModifier(type, (args[0] as Pokemon).id)), - SHELL_BELL: new PokemonHeldItemModifierType('SHELL BELL', 'Heals 1/8 of a POKéMON\'s dealt damage', + SHELL_BELL: () => new PokemonHeldItemModifierType('SHELL BELL', 'Heals 1/8 of a POKéMON\'s dealt damage', (type, args) => new Modifiers.HitHealModifier(type, (args[0] as Pokemon).id)), - SHINY_CHARM: new ModifierType('SHINY CHARM', 'Dramatically increases the chance of a wild POKéMON being shiny', (type, _args) => new Modifiers.ShinyRateBoosterModifier(type)), + SHINY_CHARM: () => new ModifierType('SHINY CHARM', 'Dramatically increases the chance of a wild POKéMON being shiny', (type, _args) => new Modifiers.ShinyRateBoosterModifier(type)), - MINI_BLACK_HOLE: new HeldItemTransferModifierType('MINI BLACK HOLE'), + MINI_BLACK_HOLE: () => new HeldItemTransferModifierType('MINI BLACK HOLE'), - GOLDEN_POKEBALL: new ModifierType(`GOLDEN ${getPokeballName(PokeballType.POKEBALL)}`, 'Adds 1 extra item option at the end of every battle', + GOLDEN_POKEBALL: () => new ModifierType(`GOLDEN ${getPokeballName(PokeballType.POKEBALL)}`, 'Adds 1 extra item option at the end of every battle', (type, _args) => new Modifiers.ExtraModifierModifier(type), 'pb_gold', null, 'pb_bounce_1'), }; @@ -600,6 +610,7 @@ const modifierPool = { new WeightedModifierType(modifierTypes.ULTRA_BALL, 8), new WeightedModifierType(modifierTypes.EVOLUTION_ITEM, 12), new WeightedModifierType(modifierTypes.ATTACK_TYPE_BOOSTER, 5), + new WeightedModifierType(modifierTypes.CANDY_JAR, 3), //new WeightedModifierType(modifierTypes.OVAL_CHARM, 1), new WeightedModifierType(modifierTypes.HEALING_CHARM, 1), new WeightedModifierType(modifierTypes.LEFTOVERS, 2), @@ -616,7 +627,8 @@ const modifierPool = { ].map(m => { m.setTier(ModifierTier.MASTER); return m; }), [ModifierTier.LUXURY]: [ new WeightedModifierType(modifierTypes.GOLDEN_EXP_CHARM, (party: Pokemon[]) => party.filter(p => p.level < 100).length ? 1 : 0), - new WeightedModifierType(modifierTypes.GOLDEN_POKEBALL, 1) + new WeightedModifierType(modifierTypes.GOLDEN_POKEBALL, 1), + new WeightedModifierType(modifierTypes.RARER_CANDY, 1) ].map(m => { m.setTier(ModifierTier.LUXURY); return m; }), }; @@ -628,7 +640,7 @@ const enemyModifierPool = { new WeightedModifierType(modifierTypes.BASE_STAT_BOOSTER, 1) ].map(m => { m.setTier(ModifierTier.GREAT); return m; }), [ModifierTier.ULTRA]: [ - new WeightedModifierType(new AttackTypeBoosterModifierTypeGenerator(), 5), + new WeightedModifierType(modifierTypes.ATTACK_TYPE_BOOSTER, 5), new WeightedModifierType(modifierTypes.LUCKY_EGG, 2), ].map(m => { m.setTier(ModifierTier.ULTRA); return m; }), [ModifierTier.MASTER]: [ @@ -741,7 +753,7 @@ function getNewModifierTypeOption(party: Pokemon[], player?: boolean, tier?: Mod } export function getDefaultModifierTypeForTier(tier: ModifierTier): ModifierType { - let modifierType: ModifierType | WeightedModifierType = modifierPool[tier][tier !== ModifierTier.LUXURY ? 0 : 1]; + let modifierType: ModifierType | WeightedModifierType = modifierPool[tier][tier !== ModifierTier.LUXURY ? 0 : 2]; if (modifierType instanceof WeightedModifierType) modifierType = (modifierType as WeightedModifierType).modifierType; return modifierType; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 80ec2749b..13702f590 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -404,6 +404,30 @@ export class HitHealModifier extends PokemonHeldItemModifier { } } +export class LevelIncrementBoosterModifier extends PersistentModifier { + constructor(type: ModifierType, stackCount?: integer) { + super(type, stackCount); + } + + match(modifier: Modifier) { + return modifier instanceof LevelIncrementBoosterModifier; + } + + clone() { + return new LevelIncrementBoosterModifier(this.type, this.stackCount); + } + + shouldApply(args: any[]): boolean { + return super.shouldApply(args) && args[0] instanceof Utils.IntegerHolder; + } + + apply(args: any[]): boolean { + (args[0] as Utils.IntegerHolder).value += this.getStackCount(); + + return true; + } +} + export class BerryModifier extends PokemonHeldItemModifier { public berryType: BerryType; public consumed: boolean; @@ -587,7 +611,10 @@ export class PokemonLevelIncrementModifier extends ConsumablePokemonModifier { apply(args: any[]): boolean { const pokemon = args[0] as PlayerPokemon; - pokemon.level++; + const levelCount = new Utils.IntegerHolder(1); + pokemon.scene.applyModifiers(LevelIncrementBoosterModifier, true, levelCount); + + pokemon.level += levelCount.value; if (pokemon.level <= 100) { pokemon.exp = getLevelTotalExp(pokemon.level, pokemon.species.growthRate); pokemon.levelExp = 0;