From 1969d3666997ef4273f8577e3f4e7e855d5fefeb Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Thu, 30 Mar 2023 10:50:46 -0400 Subject: [PATCH] Add Sacred Ash and Golden Pokeball modifiers --- public/images/items.json | 1900 ++++++++++++++-------------- public/images/items.png | Bin 14874 -> 15558 bytes public/images/items/pb_gold.png | Bin 0 -> 513 bytes public/images/items/sacred_ash.png | Bin 0 -> 297 bytes src/battle-phase.ts | 6 +- src/modifier.ts | 44 +- 6 files changed, 1010 insertions(+), 940 deletions(-) create mode 100644 public/images/items/pb_gold.png create mode 100644 public/images/items/sacred_ash.png diff --git a/public/images/items.json b/public/images/items.json index 7c2740d5f47..f66205872aa 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -4,935 +4,11 @@ "image": "items.png", "format": "RGBA8888", "size": { - "w": 988, - "h": 26 + "w": 210, + "h": 124 }, "scale": 1, "frames": [ - { - "filename": "sun_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 1, - "y": 1, - "w": 24, - "h": 24 - } - }, - { - "filename": "big_root", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 27, - "y": 1, - "w": 23, - "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": 52, - "y": 1, - "w": 23, - "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": 77, - "y": 1, - "w": 22, - "h": 24 - } - }, - { - "filename": "shiny_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 101, - "y": 1, - "w": 21, - "h": 24 - } - }, - { - "filename": "elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 124, - "y": 1, - "w": 18, - "h": 24 - } - }, - { - "filename": "ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 144, - "y": 1, - "w": 18, - "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": 164, - "y": 1, - "w": 18, - "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": 184, - "y": 1, - "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": 204, - "y": 1, - "w": 18, - "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": 224, - "y": 1, - "w": 18, - "h": 24 - } - }, - { - "filename": "calcium", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 244, - "y": 1, - "w": 16, - "h": 24 - } - }, - { - "filename": "carbos", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 262, - "y": 1, - "w": 16, - "h": 24 - } - }, - { - "filename": "hp_up", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 280, - "y": 1, - "w": 16, - "h": 24 - } - }, - { - "filename": "iron", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 298, - "y": 1, - "w": 16, - "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": 316, - "y": 1, - "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": 334, - "y": 1, - "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": 352, - "y": 1, - "w": 16, - "h": 24 - } - }, - { - "filename": "zinc", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 370, - "y": 1, - "w": 16, - "h": 24 - } - }, - { - "filename": "expert_belt", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 23 - }, - "frame": { - "x": 388, - "y": 1, - "w": 24, - "h": 23 - } - }, - { - "filename": "scope-lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 414, - "y": 1, - "w": 24, - "h": 23 - } - }, - { - "filename": "rare_candy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 440, - "y": 1, - "w": 23, - "h": 23 - } - }, - { - "filename": "fire_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 465, - "y": 1, - "w": 22, - "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": 489, - "y": 1, - "w": 22, - "h": 23 - } - }, - { - "filename": "leaf_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 513, - "y": 1, - "w": 21, - "h": 23 - } - }, - { - "filename": "hyper_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 536, - "y": 1, - "w": 17, - "h": 23 - } - }, - { - "filename": "potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 555, - "y": 1, - "w": 17, - "h": 23 - } - }, - { - "filename": "super_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 574, - "y": 1, - "w": 17, - "h": 23 - } - }, - { - "filename": "full_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 4, - "w": 15, - "h": 23 - }, - "frame": { - "x": 593, - "y": 1, - "w": 15, - "h": 23 - } - }, - { - "filename": "exp_share", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 610, - "y": 1, - "w": 24, - "h": 22 - } - }, - { - "filename": "ice_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 636, - "y": 1, - "w": 22, - "h": 22 - } - }, - { - "filename": "thunder_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 660, - "y": 1, - "w": 22, - "h": 22 - } - }, - { - "filename": "water_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 684, - "y": 1, - "w": 22, - "h": 22 - } - }, - { - "filename": "moon_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 708, - "y": 1, - "w": 23, - "h": 21 - } - }, - { - "filename": "dusk_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 733, - "y": 1, - "w": 21, - "h": 21 - } - }, - { - "filename": "shiny_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 756, - "y": 1, - "w": 21, - "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": 779, - "y": 1, - "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": 802, - "y": 1, - "w": 23, - "h": 20 - } - }, - { - "filename": "gb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 827, - "y": 1, - "w": 20, - "h": 20 - } - }, - { - "filename": "mb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 849, - "y": 1, - "w": 20, - "h": 20 - } - }, - { - "filename": "pb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 871, - "y": 1, - "w": 20, - "h": 20 - } - }, - { - "filename": "ub", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 893, - "y": 1, - "w": 20, - "h": 20 - } - }, - { - "filename": "golden_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 915, - "y": 1, - "w": 17, - "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": 934, - "y": 1, - "w": 17, - "h": 20 - } - }, { "filename": "everstone", "rotated": false, @@ -948,7 +24,7 @@ "h": 17 }, "frame": { - "x": 953, + "x": 1, "y": 1, "w": 20, "h": 17 @@ -969,11 +45,977 @@ "h": 17 }, "frame": { - "x": 975, + "x": 23, "y": 1, "w": 12, "h": 17 } + }, + { + "filename": "gb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 37, + "y": 1, + "w": 20, + "h": 20 + } + }, + { + "filename": "golden_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 59, + "y": 1, + "w": 17, + "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": 78, + "y": 1, + "w": 17, + "h": 20 + } + }, + { + "filename": "mb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 97, + "y": 1, + "w": 20, + "h": 20 + } + }, + { + "filename": "pb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 119, + "y": 1, + "w": 20, + "h": 20 + } + }, + { + "filename": "pb_gold", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 141, + "y": 1, + "w": 20, + "h": 20 + } + }, + { + "filename": "sacred_ash", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 163, + "y": 1, + "w": 24, + "h": 20 + } + }, + { + "filename": "ub", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 189, + "y": 1, + "w": 20, + "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": 1, + "y": 20, + "w": 23, + "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": 26, + "y": 23, + "w": 21, + "h": 21 + } + }, + { + "filename": "moon_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 49, + "y": 23, + "w": 23, + "h": 21 + } + }, + { + "filename": "shiny_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 74, + "y": 23, + "w": 21, + "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": 97, + "y": 23, + "w": 21, + "h": 21 + } + }, + { + "filename": "exp_share", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 22 + }, + "frame": { + "x": 120, + "y": 23, + "w": 24, + "h": 22 + } + }, + { + "filename": "ice_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 146, + "y": 23, + "w": 22, + "h": 22 + } + }, + { + "filename": "thunder_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 170, + "y": 23, + "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": 194, + "y": 23, + "w": 15, + "h": 23 + } + }, + { + "filename": "water_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 1, + "y": 42, + "w": 22, + "h": 22 + } + }, + { + "filename": "expert_belt", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 23 + }, + "frame": { + "x": 25, + "y": 46, + "w": 24, + "h": 23 + } + }, + { + "filename": "fire_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 51, + "y": 46, + "w": 22, + "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": 75, + "y": 46, + "w": 22, + "h": 23 + } + }, + { + "filename": "hyper_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 99, + "y": 46, + "w": 17, + "h": 23 + } + }, + { + "filename": "leaf_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 118, + "y": 47, + "w": 21, + "h": 23 + } + }, + { + "filename": "potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 141, + "y": 47, + "w": 17, + "h": 23 + } + }, + { + "filename": "rare_candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 160, + "y": 47, + "w": 23, + "h": 23 + } + }, + { + "filename": "scope-lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 185, + "y": 48, + "w": 24, + "h": 23 + } + }, + { + "filename": "super_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 1, + "y": 66, + "w": 17, + "h": 23 + } + }, + { + "filename": "big_root", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 20, + "y": 71, + "w": 23, + "h": 24 + } + }, + { + "filename": "calcium", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 45, + "y": 71, + "w": 16, + "h": 24 + } + }, + { + "filename": "carbos", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 63, + "y": 71, + "w": 16, + "h": 24 + } + }, + { + "filename": "elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 81, + "y": 71, + "w": 18, + "h": 24 + } + }, + { + "filename": "ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 101, + "y": 72, + "w": 18, + "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": 121, + "y": 72, + "w": 18, + "h": 24 + } + }, + { + "filename": "hp_up", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 141, + "y": 72, + "w": 16, + "h": 24 + } + }, + { + "filename": "iron", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 159, + "y": 72, + "w": 16, + "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": 177, + "y": 73, + "w": 23, + "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": 1, + "y": 91, + "w": 16, + "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": 19, + "y": 97, + "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": 39, + "y": 97, + "w": 18, + "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": 59, + "y": 97, + "w": 18, + "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": 79, + "y": 97, + "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": 97, + "y": 98, + "w": 22, + "h": 24 + } + }, + { + "filename": "protein", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 121, + "y": 98, + "w": 16, + "h": 24 + } + }, + { + "filename": "shiny_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 139, + "y": 98, + "w": 21, + "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": 162, + "y": 99, + "w": 24, + "h": 24 + } + }, + { + "filename": "zinc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 188, + "y": 99, + "w": 16, + "h": 24 + } } ] } @@ -981,6 +1023,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:0fbe989299ea54627b5b7d5b405f8567:5048493cee296d650568a53c265436a0:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:f6d42f3902a6c864624ba8b4c713ac70:810a6f167460a184bbc1cb505f67095f:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index dd55607b7851f0daa76a9a9bdbf3638823d12cee..ca7d70ae4dea77d7599f357c063158ce857742f7 100644 GIT binary patch literal 15558 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 literal 14874 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 literal 0 HcmV?d00001 diff --git a/src/battle-phase.ts b/src/battle-phase.ts index 764b68a90c8..5bdb8ce9a1c 100644 --- a/src/battle-phase.ts +++ b/src/battle-phase.ts @@ -6,7 +6,7 @@ import { Mode } from './ui/ui'; import { Command } from "./ui/command-ui-handler"; import { interp } from "./temp_interpreter"; import { Stat } from "./pokemon-stat"; -import { ExpBoosterModifier, getNewModifierType, getNewModifierTypes as getModifierTypesForWave, ModifierType, PokemonBaseStatModifier, PokemonModifierType, regenerateModifierPoolThresholds } from "./modifier"; +import { ExpBoosterModifier, ExtraModifierModifier, getModifierTypesForWave, ModifierType, PokemonModifierType, regenerateModifierPoolThresholds } from "./modifier"; import PartyUiHandler from "./ui/party-ui-handler"; import { doPokeballBounceAnim, getPokeballAtlasKey, getPokeballCatchMultiplier, getPokeballTintColor as getPokeballTintColor, PokeballType } from "./pokeball"; import { pokemonLevelMoves } from "./pokemon-level-moves"; @@ -761,7 +761,9 @@ export class SelectModifierPhase extends BattlePhase { super.start(); regenerateModifierPoolThresholds(this.scene.getParty()); - const types: Array = getModifierTypesForWave(this.scene.waveIndex, 3); + const modifierCount = new Utils.IntegerHolder(3); + this.scene.applyModifiers(ExtraModifierModifier, modifierCount); + const types: Array = getModifierTypesForWave(this.scene.waveIndex, modifierCount.value); this.scene.ui.setMode(Mode.MODIFIER_SELECT, types, (cursor: integer) => { if (cursor < 0) { diff --git a/src/modifier.ts b/src/modifier.ts index df436a9d947..0adaa68f8b9 100644 --- a/src/modifier.ts +++ b/src/modifier.ts @@ -223,16 +223,19 @@ export abstract class ConsumablePokemonModifier extends PokemonModifier { export class PokemonHpRestoreModifier extends ConsumablePokemonModifier { private restorePercent: integer; + private fainted: boolean; - constructor(type: ModifierType, pokemonId: integer, restorePercent: integer, ) { + constructor(type: ModifierType, pokemonId: integer, restorePercent: integer, fainted?: boolean) { super(type, pokemonId); this.restorePercent = restorePercent; + this.fainted = !!fainted; } apply(args: any[]): boolean { const pokemon = args[0] as Pokemon; - pokemon.hp = Math.min(pokemon.hp + Math.max((this.restorePercent * 0.01) * pokemon.getMaxHp(), this.restorePercent), pokemon.getMaxHp()); + if (!pokemon.hp === this.fainted) + pokemon.hp = Math.min(pokemon.hp + Math.max((this.restorePercent * 0.01) * pokemon.getMaxHp(), this.restorePercent), pokemon.getMaxHp()); return true; } @@ -294,6 +297,18 @@ export class ShinyRateBoosterModifier extends Modifier { } } +export class ExtraModifierModifier extends Modifier { + constructor(type: ModifierType) { + super(type); + } + + apply(args: any[]): boolean { + (args[0] as Utils.IntegerHolder).value += this.stackCount; + + return true; + } +} + export enum ModifierTier { COMMON, GREAT, @@ -344,8 +359,9 @@ export abstract class PokemonModifierType extends ModifierType { export class PokemonHpRestoreModifierType extends PokemonModifierType { protected restorePercent: integer; - constructor(name: string, restorePercent: integer, iconImage?: string) { - super(name, `Restore ${restorePercent} HP or ${restorePercent}% HP for one POKéMON, whichever is higher`, (_type, args) => new PokemonHpRestoreModifier(this, args[0], this.restorePercent), + constructor(name: string, restorePercent: integer, newModifierFunc?: Function, iconImage?: string) { + super(name, `Restore ${restorePercent} HP or ${restorePercent}% HP for one POKéMON, whichever is higher`, + newModifierFunc || ((_type, args) => new PokemonHpRestoreModifier(this, args[0], this.restorePercent, false)), (pokemon: PlayerPokemon) => { if (pokemon.hp >= pokemon.getMaxHp()) return PartyUiHandler.NoEffectMessage; @@ -358,7 +374,7 @@ export class PokemonHpRestoreModifierType extends PokemonModifierType { export class PokemonReviveModifierType extends PokemonHpRestoreModifierType { constructor(name: string, restorePercent: integer, iconImage?: string) { - super(name, restorePercent, iconImage); + super(name, restorePercent, (_type, args) => new PokemonHpRestoreModifier(this, args[0], this.restorePercent, true), iconImage); this.description = `Revive one POKéMON and restore ${restorePercent}% HP`; this.selectFilter = (pokemon: PlayerPokemon) => { @@ -380,8 +396,14 @@ export class PokemonBaseStatBoosterModifierType extends PokemonModifierType { } class AllPokemonFullHpRestoreModifierType extends ModifierType { + constructor(name: string, description?: string, newModifierFunc?: Function, iconImage?: string) { + super(name, description || `Restore 100% HP for all POKéMON`, newModifierFunc || ((_type, _args) => new PokemonHpRestoreModifier(this, -1, 100, false)), iconImage); + } +} + +class AllPokemonFullReviveModifierType extends AllPokemonFullHpRestoreModifierType { constructor(name: string, iconImage?: string) { - super(name, `Restore 100% HP for all POKéMON`, (_type, _args) => new PokemonHpRestoreModifier(this, -1, 100), iconImage); + super(name, `Revives all fainted POKéMON, restoring 100% HP`, (_type, _args) => new PokemonHpRestoreModifier(this, -1, 100, true), iconImage); } } @@ -445,10 +467,14 @@ const modifierPool = { ].map(m => { m.setTier(ModifierTier.ULTRA); return m; }), [ModifierTier.MASTER]: [ new AddPokeballModifierType(PokeballType.MASTER_BALL, 1, 'mb'), - new WeightedModifierType(new ModifierType('SHINY CHARM', 'Dramatically increases the chance of a wild POkéMON being shiny', (type, _args) => new ShinyRateBoosterModifier(type)), 2) + new WeightedModifierType(new AllPokemonFullReviveModifierType('SACRED ASH'), (party: Array) => { + return party.filter(p => !p.hp).length >= Math.ceil(party.length / 2) ? 1 : 0; + }), + new WeightedModifierType(new ModifierType('SHINY CHARM', 'Dramatically increases the chance of a wild POKéMON being shiny', (type, _args) => new ShinyRateBoosterModifier(type)), 2) ].map(m => { m.setTier(ModifierTier.MASTER); return m; }), [ModifierTier.LUXURY]: [ - new ExpBoosterModifierType('GOLDEN EGG', 100) + new ExpBoosterModifierType('GOLDEN EGG', 100), + new ModifierType(`GOLDEN ${getPokeballName(PokeballType.POKEBALL)}`, 'Adds 1 extra ITEM option at the end of every battle', (type, _args) => new ExtraModifierModifier(type), 'pb_gold') ].map(m => { m.setTier(ModifierTier.LUXURY); return m; }), }; @@ -483,7 +509,7 @@ export function regenerateModifierPoolThresholds(party: Array) { console.log(modifierPoolThresholds) } -export function getNewModifierTypes(waveIndex: integer, count: integer): Array { +export function getModifierTypesForWave(waveIndex: integer, count: integer): Array { if (waveIndex % 10 === 0) return modifierPool[ModifierTier.LUXURY]; const ret = [];