From 957b5d0fa7c4808ecd6cf1440fdf7ccb93b1fe76 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Thu, 21 Dec 2023 23:00:45 -0500 Subject: [PATCH] Add friendship system in place of win count Add friendship system in place of win count; add soothe bell item --- public/images/items.json | 1041 ++++++++++++++------------- public/images/items.png | Bin 31436 -> 31497 bytes public/images/items/soothe_bell.png | Bin 0 -> 296 bytes src/battle-phases.ts | 15 +- src/data/move.ts | 10 +- src/data/pokemon-evolutions.ts | 46 +- src/modifier/modifier-type.ts | 9 + src/modifier/modifier.ts | 24 + src/pokemon.ts | 8 +- src/system/achv.ts | 1 + src/system/pokemon-data.ts | 4 +- 11 files changed, 609 insertions(+), 549 deletions(-) create mode 100644 public/images/items/soothe_bell.png diff --git a/public/images/items.json b/public/images/items.json index 2a0ea464c23..6c67b50c555 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -2971,7 +2971,7 @@ } }, { - "filename": "hyper_potion", + "filename": "soothe_bell", "rotated": false, "trimmed": true, "sourceSize": { @@ -2982,13 +2982,13 @@ "x": 8, "y": 5, "w": 17, - "h": 23 + "h": 22 }, "frame": { "x": 151, "y": 147, "w": 17, - "h": 23 + "h": 22 } }, { @@ -3118,7 +3118,7 @@ } }, { - "filename": "mystic_water", + "filename": "hyper_potion", "rotated": false, "trimmed": true, "sourceSize": { @@ -3126,15 +3126,15 @@ "h": 32 }, "spriteSourceSize": { - "x": 6, + "x": 8, "y": 5, - "w": 20, + "w": 17, "h": 23 }, "frame": { "x": 300, "y": 150, - "w": 20, + "w": 17, "h": 23 } }, @@ -3264,27 +3264,6 @@ "h": 22 } }, - { - "filename": "potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 132, - "y": 169, - "w": 17, - "h": 23 - } - }, { "filename": "tm_ghost", "rotated": false, @@ -3300,8 +3279,8 @@ "h": 22 }, "frame": { - "x": 149, - "y": 170, + "x": 132, + "y": 169, "w": 22, "h": 22 } @@ -3321,7 +3300,7 @@ "h": 22 }, "frame": { - "x": 171, + "x": 154, "y": 170, "w": 22, "h": 22 @@ -3342,33 +3321,12 @@ "h": 22 }, "frame": { - "x": 193, + "x": 176, "y": 170, "w": 22, "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": 215, - "y": 170, - "w": 17, - "h": 23 - } - }, { "filename": "tm_ice", "rotated": false, @@ -3384,8 +3342,8 @@ "h": 22 }, "frame": { - "x": 232, - "y": 171, + "x": 198, + "y": 170, "w": 22, "h": 22 } @@ -3405,7 +3363,7 @@ "h": 22 }, "frame": { - "x": 254, + "x": 220, "y": 171, "w": 22, "h": 22 @@ -3426,8 +3384,8 @@ "h": 22 }, "frame": { - "x": 276, - "y": 172, + "x": 242, + "y": 171, "w": 22, "h": 22 } @@ -3447,8 +3405,8 @@ "h": 22 }, "frame": { - "x": 298, - "y": 173, + "x": 264, + "y": 172, "w": 22, "h": 22 } @@ -3467,6 +3425,27 @@ "w": 22, "h": 22 }, + "frame": { + "x": 286, + "y": 173, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_steel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, "frame": { "x": 0, "y": 187, @@ -3475,7 +3454,7 @@ } }, { - "filename": "tm_steel", + "filename": "tm_water", "rotated": false, "trimmed": true, "sourceSize": { @@ -3496,7 +3475,7 @@ } }, { - "filename": "tm_water", + "filename": "water_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -3517,7 +3496,7 @@ } }, { - "filename": "water_stone", + "filename": "x_accuracy", "rotated": false, "trimmed": true, "sourceSize": { @@ -3538,7 +3517,7 @@ } }, { - "filename": "x_accuracy", + "filename": "x_attack", "rotated": false, "trimmed": true, "sourceSize": { @@ -3559,7 +3538,7 @@ } }, { - "filename": "x_attack", + "filename": "x_defense", "rotated": false, "trimmed": true, "sourceSize": { @@ -3580,7 +3559,7 @@ } }, { - "filename": "x_defense", + "filename": "x_sp_atk", "rotated": false, "trimmed": true, "sourceSize": { @@ -3595,13 +3574,13 @@ }, "frame": { "x": 132, - "y": 192, + "y": 191, "w": 22, "h": 22 } }, { - "filename": "x_sp_atk", + "filename": "x_sp_def", "rotated": false, "trimmed": true, "sourceSize": { @@ -3622,7 +3601,7 @@ } }, { - "filename": "x_sp_def", + "filename": "x_speed", "rotated": false, "trimmed": true, "sourceSize": { @@ -3643,7 +3622,7 @@ } }, { - "filename": "x_speed", + "filename": "black_belt", "rotated": false, "trimmed": true, "sourceSize": { @@ -3652,15 +3631,15 @@ }, "spriteSourceSize": { "x": 5, - "y": 5, + "y": 4, "w": 22, - "h": 22 + "h": 23 }, "frame": { "x": 198, - "y": 193, + "y": 192, "w": 22, - "h": 22 + "h": 23 } }, { @@ -3684,69 +3663,6 @@ "h": 23 } }, - { - "filename": "black_belt", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 243, - "y": 193, - "w": 22, - "h": 23 - } - }, - { - "filename": "clefairy_doll", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 265, - "y": 194, - "w": 24, - "h": 23 - } - }, - { - "filename": "coin_case", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 289, - "y": 195, - "w": 24, - "h": 23 - } - }, { "filename": "dragon_fang", "rotated": false, @@ -3762,50 +3678,8 @@ "h": 23 }, "frame": { - "x": 0, - "y": 209, - "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": 21, - "y": 210, - "w": 24, - "h": 23 - } - }, - { - "filename": "lansat_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 23 - }, - "frame": { - "x": 45, - "y": 210, + "x": 243, + "y": 193, "w": 21, "h": 23 } @@ -3825,12 +3699,33 @@ "h": 23 }, "frame": { - "x": 66, - "y": 212, + "x": 264, + "y": 194, "w": 22, "h": 23 } }, + { + "filename": "clefairy_doll", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 286, + "y": 195, + "w": 24, + "h": 23 + } + }, { "filename": "focus_sash", "rotated": false, @@ -3846,12 +3741,117 @@ "h": 23 }, "frame": { - "x": 88, - "y": 212, + "x": 0, + "y": 209, "w": 22, "h": 23 } }, + { + "filename": "coin_case", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 22, + "y": 210, + "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": 46, + "y": 210, + "w": 20, + "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": 66, + "y": 212, + "w": 24, + "h": 23 + } + }, + { + "filename": "potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 90, + "y": 212, + "w": 17, + "h": 23 + } + }, + { + "filename": "lansat_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 23 + }, + "frame": { + "x": 107, + "y": 213, + "w": 21, + "h": 23 + } + }, { "filename": "leaf_stone", "rotated": false, @@ -3867,7 +3867,7 @@ "h": 23 }, "frame": { - "x": 110, + "x": 128, "y": 213, "w": 21, "h": 23 @@ -3888,7 +3888,7 @@ "h": 23 }, "frame": { - "x": 131, + "x": 149, "y": 214, "w": 22, "h": 23 @@ -3909,7 +3909,7 @@ "h": 23 }, "frame": { - "x": 153, + "x": 171, "y": 214, "w": 22, "h": 23 @@ -3930,8 +3930,29 @@ "h": 23 }, "frame": { - "x": 175, - "y": 214, + "x": 193, + "y": 215, + "w": 23, + "h": 23 + } + }, + { + "filename": "rarer_candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 216, + "y": 216, "w": 23, "h": 23 } @@ -3951,54 +3972,12 @@ "h": 23 }, "frame": { - "x": 198, - "y": 215, + "x": 239, + "y": 216, "w": 22, "h": 23 } }, - { - "filename": "rarer_candy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 220, - "y": 216, - "w": 23, - "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": 243, - "y": 216, - "w": 21, - "h": 23 - } - }, { "filename": "scope-lens", "rotated": false, @@ -4014,12 +3993,54 @@ "h": 23 }, "frame": { - "x": 264, + "x": 261, "y": 217, "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": 285, + "y": 218, + "w": 21, + "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": 0, + "y": 232, + "w": 17, + "h": 23 + } + }, { "filename": "stick", "rotated": false, @@ -4035,33 +4056,12 @@ "h": 23 }, "frame": { - "x": 288, - "y": 218, + "x": 17, + "y": 233, "w": 23, "h": 23 } }, - { - "filename": "calcium", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 0, - "y": 232, - "w": 16, - "h": 24 - } - }, { "filename": "twisted_spoon", "rotated": false, @@ -4077,7 +4077,7 @@ "h": 23 }, "frame": { - "x": 16, + "x": 40, "y": 233, "w": 24, "h": 23 @@ -4098,12 +4098,33 @@ "h": 24 }, "frame": { - "x": 40, - "y": 233, + "x": 64, + "y": 235, "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": 87, + "y": 235, + "w": 16, + "h": 24 + } + }, { "filename": "carbos", "rotated": false, @@ -4119,8 +4140,8 @@ "h": 24 }, "frame": { - "x": 63, - "y": 235, + "x": 103, + "y": 236, "w": 16, "h": 24 } @@ -4140,8 +4161,8 @@ "h": 24 }, "frame": { - "x": 79, - "y": 235, + "x": 119, + "y": 236, "w": 21, "h": 24 } @@ -4161,8 +4182,8 @@ "h": 24 }, "frame": { - "x": 100, - "y": 236, + "x": 140, + "y": 237, "w": 24, "h": 24 } @@ -4182,7 +4203,7 @@ "h": 24 }, "frame": { - "x": 124, + "x": 164, "y": 237, "w": 18, "h": 24 @@ -4203,49 +4224,7 @@ "h": 24 }, "frame": { - "x": 142, - "y": 237, - "w": 18, - "h": 24 - } - }, - { - "filename": "focus_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 160, - "y": 237, - "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": 184, + "x": 182, "y": 238, "w": 18, "h": 24 @@ -4266,14 +4245,14 @@ "h": 24 }, "frame": { - "x": 202, + "x": 200, "y": 238, "w": 16, "h": 24 } }, { - "filename": "golden_punch", + "filename": "focus_band", "rotated": false, "trimmed": true, "sourceSize": { @@ -4287,14 +4266,14 @@ "h": 24 }, "frame": { - "x": 218, + "x": 216, "y": 239, "w": 24, "h": 24 } }, { - "filename": "iron", + "filename": "full_restore", "rotated": false, "trimmed": true, "sourceSize": { @@ -4302,20 +4281,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, + "x": 7, "y": 4, - "w": 16, + "w": 18, "h": 24 }, "frame": { - "x": 242, + "x": 240, "y": 239, - "w": 16, + "w": 18, "h": 24 } }, { - "filename": "grip_claw", + "filename": "golden_punch", "rotated": false, "trimmed": true, "sourceSize": { @@ -4335,6 +4314,48 @@ "h": 24 } }, + { + "filename": "grip_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 282, + "y": 241, + "w": 24, + "h": 24 + } + }, + { + "filename": "iron", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 0, + "y": 255, + "w": 16, + "h": 24 + } + }, { "filename": "kings_rock", "rotated": false, @@ -4350,8 +4371,8 @@ "h": 24 }, "frame": { - "x": 282, - "y": 241, + "x": 16, + "y": 256, "w": 23, "h": 24 } @@ -4371,12 +4392,33 @@ "h": 24 }, "frame": { - "x": 0, + "x": 39, "y": 256, "w": 24, "h": 24 } }, + { + "filename": "lucky_punch_great", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 63, + "y": 259, + "w": 24, + "h": 24 + } + }, { "filename": "pp_max", "rotated": false, @@ -4392,75 +4434,12 @@ "h": 24 }, "frame": { - "x": 24, - "y": 256, + "x": 87, + "y": 259, "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": 40, - "y": 257, - "w": 17, - "h": 24 - } - }, - { - "filename": "lucky_punch_great", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 57, - "y": 259, - "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": 81, - "y": 259, - "w": 18, - "h": 24 - } - }, { "filename": "lucky_punch_master", "rotated": false, @@ -4476,7 +4455,7 @@ "h": 24 }, "frame": { - "x": 99, + "x": 103, "y": 260, "w": 24, "h": 24 @@ -4497,12 +4476,54 @@ "h": 24 }, "frame": { - "x": 123, + "x": 127, "y": 261, "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": 151, + "y": 261, + "w": 17, + "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": 168, + "y": 262, + "w": 18, + "h": 24 + } + }, { "filename": "max_ether", "rotated": false, @@ -4518,8 +4539,8 @@ "h": 24 }, "frame": { - "x": 147, - "y": 261, + "x": 186, + "y": 262, "w": 18, "h": 24 } @@ -4539,8 +4560,8 @@ "h": 24 }, "frame": { - "x": 165, - "y": 261, + "x": 204, + "y": 263, "w": 17, "h": 24 } @@ -4560,8 +4581,8 @@ "h": 24 }, "frame": { - "x": 182, - "y": 262, + "x": 221, + "y": 263, "w": 18, "h": 24 } @@ -4581,8 +4602,8 @@ "h": 24 }, "frame": { - "x": 200, - "y": 262, + "x": 239, + "y": 263, "w": 16, "h": 24 } @@ -4602,33 +4623,12 @@ "h": 24 }, "frame": { - "x": 216, - "y": 263, + "x": 255, + "y": 264, "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": 238, - "y": 263, - "w": 16, - "h": 24 - } - }, { "filename": "muscle_band", "rotated": false, @@ -4644,12 +4644,54 @@ "h": 24 }, "frame": { - "x": 254, - "y": 264, + "x": 277, + "y": 265, "w": 24, "h": 24 } }, + { + "filename": "protein", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 301, + "y": 265, + "w": 16, + "h": 24 + } + }, + { + "filename": "unknown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 0, + "y": 279, + "w": 16, + "h": 24 + } + }, { "filename": "oval_charm", "rotated": false, @@ -4665,29 +4707,8 @@ "h": 24 }, "frame": { - "x": 278, - "y": 265, - "w": 21, - "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": 299, - "y": 265, + "x": 16, + "y": 280, "w": 21, "h": 24 } @@ -4707,54 +4728,12 @@ "h": 24 }, "frame": { - "x": 0, + "x": 37, "y": 280, "w": 23, "h": 24 } }, - { - "filename": "super_lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 23, - "y": 280, - "w": 17, - "h": 24 - } - }, - { - "filename": "unknown", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 40, - "y": 281, - "w": 16, - "h": 24 - } - }, { "filename": "salac_berry", "rotated": false, @@ -4770,14 +4749,14 @@ "h": 24 }, "frame": { - "x": 56, + "x": 60, "y": 283, "w": 24, "h": 24 } }, { - "filename": "zinc", + "filename": "super_lure", "rotated": false, "trimmed": true, "sourceSize": { @@ -4787,13 +4766,13 @@ "spriteSourceSize": { "x": 8, "y": 4, - "w": 16, + "w": 17, "h": 24 }, "frame": { - "x": 80, + "x": 84, "y": 283, - "w": 16, + "w": 17, "h": 24 } }, @@ -4812,12 +4791,54 @@ "h": 24 }, "frame": { - "x": 96, + "x": 101, "y": 284, "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": 125, + "y": 285, + "w": 21, + "h": 24 + } + }, + { + "filename": "zinc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 146, + "y": 285, + "w": 16, + "h": 24 + } + }, { "filename": "silk_scarf", "rotated": false, @@ -4833,8 +4854,8 @@ "h": 24 }, "frame": { - "x": 120, - "y": 285, + "x": 162, + "y": 286, "w": 24, "h": 24 } @@ -4854,8 +4875,8 @@ "h": 24 }, "frame": { - "x": 144, - "y": 285, + "x": 186, + "y": 287, "w": 24, "h": 24 } @@ -4875,8 +4896,8 @@ "h": 26 }, "frame": { - "x": 168, - "y": 286, + "x": 210, + "y": 287, "w": 23, "h": 26 } @@ -4896,8 +4917,8 @@ "h": 26 }, "frame": { - "x": 191, - "y": 287, + "x": 233, + "y": 288, "w": 27, "h": 26 } @@ -4917,8 +4938,8 @@ "h": 31 }, "frame": { - "x": 218, - "y": 287, + "x": 260, + "y": 288, "w": 17, "h": 31 } @@ -4938,8 +4959,8 @@ "h": 31 }, "frame": { - "x": 235, - "y": 287, + "x": 277, + "y": 289, "w": 17, "h": 31 } @@ -4959,8 +4980,8 @@ "h": 31 }, "frame": { - "x": 252, - "y": 288, + "x": 294, + "y": 289, "w": 17, "h": 31 } @@ -4971,6 +4992,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:2c02d802e31fc2d6bc57df9348890d2b:160f2fe36d715f1125159d665c96df73:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:61da70b972af5eec10d02ecfc1bb3cb8:06f01ef33cee0f2c3136790e7bcd6adf:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index daa7f46b04e744fed0a6534766732bc8fb9de0d8..24a91203015e54c1c365c05aa5dba658f8bff266 100644 GIT binary patch literal 31497 zcma&NcRZV4{P%xlAoi%%CbpKEEwvM~t=hX))F`b@ts)|&w6v(AYEz{}ts1Sp)vmn- zwO8yQxa0G^@B8=X{mbJK=kY%8b8?+4xxAivy|0rudODia6s!~g08rn%t7ZTIAjIVp z1|jyG=oo(j00^M>z)1bUGmi(l4-}P@KYjij5b%+3I@DjJ1^@4HadFW%G!y^z$JvsV z@Qs`Aqu!7ITd=lx+|%20-m7JA6+pl@e>9h^=^4dt94#-d9_~1uT_=W=?K zYai~4enwvzdh2Q7xK7$uNX4&;@Sroo{KB833JFQ6=##S^Izsc&`L_Vc_l>15vf{gs z%>9CIct|dtUCe(hJd2Yq{6_O{`Q=GL{$fvvkB6VOk_IL-_ToJ3x=VCx_3f0hMjbVi zrP=o2l<%L-qb9`uB(KM$;}2z@I#pLTXh&&{joaA9eSa>)#?V&co7pyW^!q4k;CvU6{7Kdf>^vp(1-35M!CK5sQIw3@G$wJe#y7aW2RWbATv!{udHwQYeuYPP4cYc z57+*l2>cDM&h&d#!OpJ`dmYLxPl(v$D6NyQiAv6yTLps}dq??zXcFJ>A`H&TiMp1-Q? zoS-nRbGWc6xT*BvWkcRr+DI*3=24u%T9wE4>vyM?ts`*~mKO%?9YL>N)!qkypEfhc zVVX>o3=9yM-mQ;d;$;MTVW49O5U+UR0~FmCd7aot?ta(Y3jk=JTs}d0%DK+~01n(! zLmK%_Y)q3|3>%*-qr@gJ0ui;&JQU!!2#nC%EFo6x>!V{hGolrIBVa#PJ zn@@2X`>Jg^u-PslEjBHgpj@@&rER4&z*qIAE>NJ}rLJ!3deG~gJ#tFRhZ$n0l@Dj` zTlpC8|L9Mw@7PSu7xNX4xY3_zm=&0{zt}xa`EThjSFG>xctFk;1M6=FO1c4? z(UumLn(hl8B~F-2y(TA8WzcQM#xN$w>X&Eh!^AXE<>>w6y_>=_mM9-@GA^!qhxGWa zoe=KEM&!Ywou=oTUI^A$bG?N}MjugA?UOWEzlBp$S(sbYFaVPVQ1e`!*f(!t$1?Pw z~*ZZEtZs7m4KXp27jX52+KW9{}9emYN?K49?hE39;2AYi1hnheMm z!ffplT|GeM8~id)eHoKn=G9^|fKY>IC<*+d|7Bdjha9Gmyr1E? z<|AC^3xyj$Is7xXU3a=w429M?&}3P`bu+f5$Y_ngfWB^fd7;v!x z1qFg%2q4o!g8c3h6O;yez{x!%sOmm3xPM&;V7i>5OAIs&a95YS**j*&Z{nfwZM8AM z*&vxT;EFmJiA!qrKr=JJjsqzP3{$fiLab9Lh6cHn^DDeS%dWy-339 zF+@wNIui~IkbMkV(W9VfQY~FQvVSU#B#xdP-6?4g)FVTE;SJe?+3+j1)X;u6EkbEB z?yrv<-f|6Zk6tE!V6@QM&h71iBU{MTh+S2974lCo;W{QO&M(0M_c?k)&5tx0+NBff zAYNa%p;l$x&Qf}1j>Q7^VNLCB@rCF38yuC%enKj&&zj^|AA0>2iT-6iYB!eHh3%rW z6Ks;Yv(0%q?8gvfg&kIO&Hg+P8z&CSJ0({s=#1tXdif**{#0C?_<2GlUfC{+lkh~a z)c9zNs1if%&k-^(`WC9Co~B2x^LV2<58dg-31h5%lO_ z0fI2)mkK_7XTu9e;LK<({NFuQ%@2<<)0F98+p8uSq-)~{ywO`+_AD94z1qa#?R8ja zvBZErb zB#>4#T32l12FfxKC>Tn-7+Ua)P6wYC)pl=~*WH-mC1dXZ5e4%Fa%4<#C5-8_w5v$^ z(wSSm_T90Q^V8>^tDW(@?R&%j7!(fDj?!NCtw_GcQ~gcc9+&Y=uM2e9s`ffq#9H

Ky2%lvJdXQ&1ftA7OjfwjbNSAJdVVlvp$Eg8mO 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 literal 31436 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 N8miA!%9PAd{{v*tv?2fi diff --git a/public/images/items/soothe_bell.png b/public/images/items/soothe_bell.png new file mode 100644 index 0000000000000000000000000000000000000000..62fd6ff26c5709751c13943ed51973b823707ec6 GIT binary patch literal 296 zcmV+@0oVSCP) z%?ZRH5QS4pT1YFFvDZC%+*Z;?O7OTX*oMm!J{X1^9m9eHk7xpZZ^oavZ7Wu+7!>=y zH|a5WyRLWxWNAUb!wmrXzF%D!`5Z?V??T}g<`tg3z*Io}X>ePClv01~6g4>$uKcPpjWGhzub^HJiXCySSCi&U`0000 p !== pokemon && p?.isActive(true)).forEach(p => p.removeTagsBySourceId(pokemon.id)); pokemon.faintCry(() => { + const friendshipDecrease = new Utils.IntegerHolder(10); + pokemon.friendship = Math.max(pokemon.friendship - friendshipDecrease.value, 0); pokemon.hideInfo(); this.scene.playSound('faint'); this.scene.tweens.add({ @@ -2291,8 +2291,13 @@ export class VictoryPhase extends PokemonPhase { for (let partyMember of expPartyMembers) { const pId = partyMember.id; const participated = participantIds.has(pId); - if (participated) - partyMember.winCount++; + if (participated) { + const friendshipIncrease = new Utils.IntegerHolder(2); + this.scene.applyModifier(PokemonFriendshipBoosterModifier, true, partyMember, friendshipIncrease); + partyMember.friendship = Math.min(partyMember.friendship + friendshipIncrease.value, 255); + if (partyMember.friendship === 255) + this.scene.validateAchv(achvs.MAX_FRIENDSHIP); + } else if (!expShareModifier) { partyMemberExp.push(0); continue; diff --git a/src/data/move.ts b/src/data/move.ts index 41e627d9467..2f728aff4bf 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2139,7 +2139,7 @@ export class SolarBeamPowerAttr extends VariablePowerAttr { } } -export class WinCountPowerAttr extends VariablePowerAttr { +export class FriendshipPowerAttr extends VariablePowerAttr { private invert: boolean; constructor(invert?: boolean) { @@ -2152,8 +2152,8 @@ export class WinCountPowerAttr extends VariablePowerAttr { const power = args[0] as Utils.NumberHolder; if (user instanceof PlayerPokemon) { - const winCount = Math.min(user.winCount, 100); - power.value = Math.max(!this.invert ? winCount : 100 - winCount, 1); + const friendshipPower = Math.floor(Math.min(user.friendship, 255) / 2.5); + power.value = Math.max(!this.invert ? friendshipPower : 102 - friendshipPower, 1); } return true; @@ -3492,11 +3492,11 @@ export function initMoves() { .soundBased() .target(MoveTarget.USER_AND_ALLIES), new AttackMove(Moves.RETURN, "Return", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, -1, "This full-power attack grows more powerful the more the user likes its Trainer.", -1, 0, 2) - .attr(WinCountPowerAttr), + .attr(FriendshipPowerAttr), new AttackMove(Moves.PRESENT, "Present (N)", Type.NORMAL, MoveCategory.PHYSICAL, -1, 90, 15, -1, "The user attacks by giving the target a gift with a hidden trap. It restores HP sometimes, however.", -1, 0, 2) .makesContact(false), new AttackMove(Moves.FRUSTRATION, "Frustration", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, -1, "This full-power attack grows more powerful the less the user likes its Trainer.", -1, 0, 2) - .attr(WinCountPowerAttr, true), + .attr(FriendshipPowerAttr, true), new StatusMove(Moves.SAFEGUARD, "Safeguard (N)", Type.NORMAL, -1, 25, -1, "The user creates a protective field that prevents status conditions for five turns.", -1, 0, 2) .target(MoveTarget.USER_SIDE), new StatusMove(Moves.PAIN_SPLIT, "Pain Split", Type.NORMAL, -1, 20, -1, "The user adds its HP to the target's HP, then equally shares the combined HP with the target.", -1, 0, 2) diff --git a/src/data/pokemon-evolutions.ts b/src/data/pokemon-evolutions.ts index eaab7a34ce2..8623bd92892 100644 --- a/src/data/pokemon-evolutions.ts +++ b/src/data/pokemon-evolutions.ts @@ -1279,9 +1279,9 @@ export const pokemonEvolutions: PokemonEvolutions = { new SpeciesEvolution(Species.STARMIE, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.MEDIUM) ], [Species.EEVEE]: [ - new SpeciesEvolution(Species.SYLVEON, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10 && !!p.getMoveset().find(m => m.getMove().type === Type.FAIRY)), SpeciesWildEvolutionDelay.MEDIUM), - new SpeciesEvolution(Species.ESPEON, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10 && p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM), - new SpeciesEvolution(Species.UMBREON, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10 && !p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM), + new SpeciesEvolution(Species.SYLVEON, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160 && !!p.getMoveset().find(m => m.getMove().type === Type.FAIRY)), SpeciesWildEvolutionDelay.MEDIUM), + new SpeciesEvolution(Species.ESPEON, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160 && p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM), + new SpeciesEvolution(Species.UMBREON, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160 && !p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM), new SpeciesEvolution(Species.VAPOREON, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.MEDIUM), new SpeciesEvolution(Species.JOLTEON, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.MEDIUM), new SpeciesEvolution(Species.FLAREON, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.MEDIUM), @@ -1558,64 +1558,64 @@ export const pokemonEvolutions: PokemonEvolutions = { new SpeciesEvolution(Species.ANNIHILAPE, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.moveset.filter(m => m.moveId === Moves.RAGE_FIST).length > 0), SpeciesWildEvolutionDelay.VERY_LONG) ], [Species.PICHU]: [ - new SpeciesEvolution(Species.PIKACHU, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.SHORT) + new SpeciesEvolution(Species.PIKACHU, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.SHORT) ], [Species.CLEFFA]: [ - new SpeciesEvolution(Species.CLEFAIRY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.SHORT) + new SpeciesEvolution(Species.CLEFAIRY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.SHORT) ], [Species.IGGLYBUFF]: [ - new SpeciesEvolution(Species.JIGGLYPUFF, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.SHORT) + new SpeciesEvolution(Species.JIGGLYPUFF, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.SHORT) ], [Species.GOLBAT]: [ - new SpeciesEvolution(Species.CROBAT, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.VERY_LONG) + new SpeciesEvolution(Species.CROBAT, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.VERY_LONG) ], [Species.CHANSEY]: [ - new SpeciesEvolution(Species.BLISSEY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.MEDIUM) + new SpeciesEvolution(Species.BLISSEY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.MEDIUM) ], [Species.MUNCHLAX]: [ - new SpeciesEvolution(Species.SNORLAX, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.MEDIUM) + new SpeciesEvolution(Species.SNORLAX, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.MEDIUM) ], [Species.TOGEPI]: [ - new SpeciesEvolution(Species.TOGETIC, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.SHORT) + new SpeciesEvolution(Species.TOGETIC, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.SHORT) ], [Species.AZURILL]: [ - new SpeciesEvolution(Species.MARILL, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.SHORT) + new SpeciesEvolution(Species.MARILL, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.SHORT) ], [Species.BUDEW]: [ - new SpeciesEvolution(Species.ROSELIA, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount > 10 && p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.SHORT) + new SpeciesEvolution(Species.ROSELIA, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160 && p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.SHORT) ], [Species.CHINGLING]: [ - new SpeciesEvolution(Species.CHIMECHO, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10 && !p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM) + new SpeciesEvolution(Species.CHIMECHO, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160 && !p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM) ], [Species.BUNEARY]: [ - new SpeciesEvolution(Species.LOPUNNY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.MEDIUM) + new SpeciesEvolution(Species.LOPUNNY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.MEDIUM) ], [Species.HAPPINY]: [ - new SpeciesEvolution(Species.CHANSEY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.SHORT) + new SpeciesEvolution(Species.CHANSEY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.SHORT) ], [Species.RIOLU]: [ - new SpeciesEvolution(Species.LUCARIO, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10 && p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM) + new SpeciesEvolution(Species.LUCARIO, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160 && p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM) ], [Species.WOOBAT]: [ - new SpeciesEvolution(Species.SWOOBAT, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.MEDIUM) + new SpeciesEvolution(Species.SWOOBAT, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.MEDIUM) ], [Species.SWADLOON]: [ - new SpeciesEvolution(Species.LEAVANNY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.LONG) + new SpeciesEvolution(Species.LEAVANNY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.LONG) ], [Species.TYPE_NULL]: [ - new SpeciesEvolution(Species.SILVALLY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 100), SpeciesWildEvolutionDelay.LONG) + new SpeciesEvolution(Species.SILVALLY, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.LONG) ], [Species.ALOLA_MEOWTH]: [ - new SpeciesEvolution(Species.ALOLA_PERSIAN, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.LONG) + new SpeciesEvolution(Species.ALOLA_PERSIAN, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.LONG) ], [Species.MILCERY]: [ - new SpeciesEvolution(Species.ALCREMIE, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10), SpeciesWildEvolutionDelay.MEDIUM) + new SpeciesEvolution(Species.ALCREMIE, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.MEDIUM) ], [Species.SNOM]: [ - new SpeciesEvolution(Species.FROSMOTH, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 10 && !p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM) + new SpeciesEvolution(Species.FROSMOTH, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160 && !p.scene.arena.isDaytime()), SpeciesWildEvolutionDelay.MEDIUM) ], [Species.GIMMIGHOUL]: [ - new SpeciesEvolution(Species.GHOLDENGO, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.winCount >= 50), SpeciesWildEvolutionDelay.VERY_LONG) + new SpeciesEvolution(Species.GHOLDENGO, 1, null, new SpeciesEvolutionCondition((p: Pokemon) => p.friendship >= 160), SpeciesWildEvolutionDelay.VERY_LONG) ], [Species.VENUSAUR]: [ new SpeciesFormEvolution(Species.VENUSAUR, '', SpeciesFormKey.MEGA, 1, EvolutionItem.VENUSAURITE, null, SpeciesWildEvolutionDelay.MEGA) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 7cdd09d9fe9..bbd993793d6 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -404,6 +404,12 @@ export class PokemonExpBoosterModifierType extends PokemonHeldItemModifierType { } } +export class PokemonFriendshipBoosterModifierType extends PokemonHeldItemModifierType { + constructor(name: string, iconImage?: string) { + super(name,'Increases friendship gain per victory by 50%', (_type, args) => new Modifiers.PokemonFriendshipBoosterModifier(this, (args[0] as Pokemon).id), iconImage); + } +} + export class TmModifierType extends PokemonModifierType { public moveId: Moves; @@ -673,6 +679,8 @@ export const modifierTypes = { LUCKY_EGG: () => new PokemonExpBoosterModifierType('Lucky Egg', 40), GOLDEN_EGG: () => new PokemonExpBoosterModifierType('Golden Egg', 100), + SOOTHE_BELL: () => new PokemonFriendshipBoosterModifierType('Soothe Bell'), + AMULET_COIN: () => new ModifierType('Amulet Coin', 'Increases money rewards by 20%', (type, _args) => new Modifiers.MoneyMultiplierModifier(type)), GOLDEN_PUNCH: () => new PokemonHeldItemModifierType('Golden Punch', 'Grants 20% of damage inflicted as money', (type, args) => new Modifiers.DamageMoneyRewardModifier(type, (args[0] as Pokemon).id)), COIN_CASE: () => new ModifierType('Coin Case', 'After every 10th battle, receive 10% of your money in interest', (type, _args) => new Modifiers.MoneyInterestModifier(type)), @@ -809,6 +817,7 @@ const modifierPool = { new WeightedModifierType(modifierTypes.REVIVER_SEED, 3), new WeightedModifierType(modifierTypes.CANDY_JAR, 3), new WeightedModifierType(modifierTypes.RARER_CANDY, 3), + new WeightedModifierType(modifierTypes.SOOTHE_BELL, 3), new WeightedModifierType(modifierTypes.GOLDEN_PUNCH, 2), new WeightedModifierType(modifierTypes.GRIP_CLAW, 2), new WeightedModifierType(modifierTypes.HEALING_CHARM, 1), diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 4228c217612..1a61f11d5bc 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -1198,6 +1198,30 @@ export class ExpBalanceModifier extends PersistentModifier { } } +export class PokemonFriendshipBoosterModifier extends PokemonHeldItemModifier { + constructor(type: ModifierTypes.PokemonFriendshipBoosterModifierType, pokemonId: integer, stackCount?: integer) { + super(type, pokemonId, stackCount); + } + + matchType(modifier: Modifier): boolean { + return modifier instanceof PokemonFriendshipBoosterModifier; + } + + clone(): PersistentModifier { + return new PokemonFriendshipBoosterModifier(this.type as ModifierTypes.PokemonFriendshipBoosterModifierType, this.pokemonId, this.stackCount); + } + + apply(args: any[]): boolean { + (args[1] as Utils.IntegerHolder).value *= 1 + 0.5 * this.getStackCount(); + + return true; + } + + getMaxHeldItemCount(pokemon: Pokemon): integer { + return 5; + } +} + export class MoneyMultiplierModifier extends PersistentModifier { constructor(type: ModifierType, stackCount?: integer) { super(type, stackCount); diff --git a/src/pokemon.ts b/src/pokemon.ts index d2770aced47..da912fc961b 100644 --- a/src/pokemon.ts +++ b/src/pokemon.ts @@ -64,7 +64,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public ivs: integer[]; public moveset: PokemonMove[]; public status: Status; - public winCount: integer; + public friendship: integer; public pauseEvolutions: boolean; public pokerus: boolean; @@ -122,7 +122,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.ivs = dataSource.ivs; this.moveset = dataSource.moveset; this.status = dataSource.status; - this.winCount = dataSource.winCount; + this.friendship = dataSource.friendship !== undefined ? dataSource.friendship : this.species.baseFriendship; this.pauseEvolutions = dataSource.pauseEvolutions; this.pokerus = !!dataSource.pokerus; this.fusionSpecies = dataSource.fusionSpecies instanceof PokemonSpecies ? dataSource.fusionSpecies : getPokemonSpecies(dataSource.fusionSpecies); @@ -158,7 +158,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (this.shiny === undefined) this.trySetShiny(); - this.winCount = 0; + this.friendship = species.baseFriendship; this.pokerus = false; if (scene.gameMode === GameMode.SPLICED_ENDLESS) @@ -455,7 +455,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ret *= 1.5; if (stat === Stat.SPD && this.status && this.status.effect === StatusEffect.PARALYSIS) ret >>= 2; - return ret; + return Math.floor(ret); } calculateStats(): void { diff --git a/src/system/achv.ts b/src/system/achv.ts index c5c6f0e059b..d9f3912bc47 100644 --- a/src/system/achv.ts +++ b/src/system/achv.ts @@ -123,6 +123,7 @@ export const achvs = { LV_250: new LevelAchv('Elite', 250, 'rarer_candy', 50).setSecret(true), LV_1000: new LevelAchv('To Go Even Further Beyond', 1000, 'candy_jar', 100).setSecret(true), TRANSFER_MAX_BATTLE_STAT: new Achv('Teamwork', 'Baton pass to another party member with at least one stat maxed out', 'stick', 20), + MAX_FRIENDSHIP: new Achv('Friendmaxxing', 'Reach max friendship on a Pokémon', 'soothe_bell', 25), MEGA_EVOLVE: new Achv('Megamorph', 'Mega evolve a Pokémon', 'mega_bracelet', 50), SPLICE: new Achv('Infinite Fusion', 'Splice two Pokémon together with DNA Splicers', 'dna_splicers', 10), MINI_BLACK_HOLE: new ModifierAchv('A Hole Lot of Items', 'Acquire a Mini Black Hole', 'mini_black_hole', 25, modifier => modifier instanceof TurnHeldItemTransferModifier).setSecret(), diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 9e25a69370e..bae40e8cf8f 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -24,7 +24,7 @@ export default class PokemonData { public ivs: integer[]; public moveset: PokemonMove[]; public status: Status; - public winCount: integer; + public friendship: integer; public pauseEvolutions: boolean; public pokerus: boolean; @@ -52,7 +52,7 @@ export default class PokemonData { this.hp = source.hp; this.stats = source.stats; this.ivs = source.ivs; - this.winCount = source.winCount; + this.friendship = source.friendship !== undefined ? source.friendship : getPokemonSpecies(this.species).baseFriendship; this.pauseEvolutions = !!source.pauseEvolutions; this.pokerus = !!source.pokerus;