diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 3e6b8bf6d0d..a30cb642a46 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -30,7 +30,7 @@ - [ ] The PR is self-contained and cannot be split into smaller PRs? - [ ] Have I provided a clear explanation of the changes? - [ ] Have I considered writing automated tests for the issue? -- [ ] If I have text, did I add make it translatable and added a key in the English language? +- [ ] If I have text, did I make it translatable and add a key in the English locale file(s)? - [ ] Have I tested the changes (manually)? - [ ] Are all unit tests still passing? (`npm run test`) - [ ] Are the changes visual? diff --git a/index.css b/index.css index 8034c1a4b38..abf4f9f708c 100644 --- a/index.css +++ b/index.css @@ -148,10 +148,10 @@ input:-internal-autofill-selected { /* Show cycle buttons only on STARTER_SELECT and on touch configuration panel */ #touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadOpenFilters, -#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleForm, -#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleShiny, +#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT'], [data-ui-mode='RUN_INFO']) #apadCycleForm, +#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT'], [data-ui-mode='RUN_INFO']) #apadCycleShiny, #touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleNature, -#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleAbility, +#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT'], [data-ui-mode='RUN_INFO']) #apadCycleAbility, #touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleGender, #touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleVariant { display: none; diff --git a/public/battle-anims/baddy-bad.json b/public/battle-anims/baddy-bad.json new file mode 100644 index 00000000000..0cf840ff8b9 --- /dev/null +++ b/public/battle-anims/baddy-bad.json @@ -0,0 +1,2186 @@ +{ + "id": 822, + "graphic": "GEN8- Fiery", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -18.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -18.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -18.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 181, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 3, + "y": -19, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 15, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 17, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 17, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 18, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 19, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 20, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 21, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 22, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 200, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 23, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 200, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 200, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 200, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 25, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -63.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 26, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 27, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 28, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 29, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 129, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 30, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 129.5, + "y": -65.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 30, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 31, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -67, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 32, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 33, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 34, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 35, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 36, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 37, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 38, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 39, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "GEN8- Fiery_bg", + "bgX": 0, + "bgY": 0, + "opacity": 255, + "duration": 5, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "PRSFX- Dark Pulse1.wav", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "21": [ + { + "frameIndex": 21, + "resourceName": "PRSFX- Fire Pledge.wav", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "35": [ + { + "frameIndex": 35, + "resourceName": "PRSFX- Fire Pledge.wav", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/blazing-torque.json b/public/battle-anims/blazing-torque.json new file mode 100644 index 00000000000..354aa5f1a8c --- /dev/null +++ b/public/battle-anims/blazing-torque.json @@ -0,0 +1,2109 @@ +{ + "id": 394, + "graphic": "PRAS- Fire", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 28, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 108, + "zoomY": 108, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 56, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 117, + "zoomY": 117, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 85, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 126, + "zoomY": 126, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -20, + "y": -6.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 19, + "opacity": 140, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 9.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 19, + "opacity": 140, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 113, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -48, + "y": 2, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 20, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -8, + "y": 24, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 20, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -16, + "y": 4, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 19, + "opacity": 140, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 141, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -64, + "y": 14, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 21, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -20, + "y": 38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 21, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -32, + "y": 11, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 20, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 8, + "y": 8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 19, + "opacity": 140, + "priority": 1, + "focus": 3 + }, + { + "x": -16, + "y": -13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 19, + "opacity": 140, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 170, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -84, + "y": 19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 22, + "opacity": 145, + "priority": 1, + "focus": 3 + }, + { + "x": -28, + "y": 54, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 22, + "opacity": 142, + "priority": 1, + "focus": 3 + }, + { + "x": -48, + "y": 23, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 21, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 4, + "y": 27, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 20, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -44, + "y": -9, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 20, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -12, + "y": 2.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 19, + "opacity": 140, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 198, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -64, + "y": 29.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 22, + "opacity": 135, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 39, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 21, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -68, + "y": -4, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 21, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -32, + "y": 10.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 20, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 226, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -16, + "y": 53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 22, + "opacity": 145, + "priority": 1, + "focus": 3 + }, + { + "x": -84, + "y": 2.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 22, + "opacity": 135, + "priority": 1, + "focus": 3 + }, + { + "x": -48, + "y": 22, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 21, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -64, + "y": 27.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 22, + "opacity": 145, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 24.5, + "y": -12, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 24.5, + "y": -12, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 49.5, + "y": -24, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 49.5, + "y": -24, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 74, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 74, + "y": -36, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 99, + "y": -48, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -48, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 124, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -60, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 124, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 51, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -60, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -59, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 130, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 112, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 102, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -62.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 132, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 145, + "priority": 1, + "focus": 3 + }, + { + "x": 116, + "y": -65.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 145, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -50, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -58.5, + "zoomX": 135, + "zoomY": 135, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 145, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 100, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 153, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -69.5, + "zoomX": 100, + "zoomY": 100, + "angle": 51, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 144.5, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "angle": 51, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 121, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "angle": 51, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -55, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 124, + "y": -61.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 148, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + } + ], + [ + { + "x": 88, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 144, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 204, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 152, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "angle": 102, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 157, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "angle": 102, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 126, + "y": -86.5, + "zoomX": 100, + "zoomY": 100, + "angle": 102, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 152, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 128, + "y": -71.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 156, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + } + ], + [ + { + "x": 76, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 152, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 164, + "y": -83, + "zoomX": 100, + "zoomY": 100, + "angle": 153, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 169.5, + "y": -48.5, + "zoomX": 100, + "zoomY": 100, + "angle": 153, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 131, + "y": -97, + "zoomX": 100, + "zoomY": 100, + "angle": 153, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 164, + "y": -67.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 132, + "y": -81.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 172, + "y": -34.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + } + ], + [ + { + "x": 60, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 160, + "y": -48, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 176, + "y": -89.5, + "zoomX": 100, + "zoomY": 100, + "angle": 205, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 182, + "y": -47, + "zoomX": 100, + "zoomY": 100, + "angle": 205, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 136.5, + "y": -107.5, + "zoomX": 100, + "zoomY": 100, + "angle": 205, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 176, + "y": -73.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 136, + "y": -94, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 184, + "y": -31, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + } + ], + [ + { + "x": 48, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 152, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 188, + "y": -96.5, + "zoomX": 100, + "zoomY": 100, + "angle": 256, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 194.5, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "angle": 256, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 141.5, + "y": -118, + "zoomX": 100, + "zoomY": 100, + "angle": 256, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 188, + "y": -83, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 144, + "y": -103.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 196, + "y": -29.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + } + ], + [ + { + "x": 28, + "y": -48, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 144, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 200, + "y": -103, + "zoomX": 100, + "zoomY": 100, + "angle": 307, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 207, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "angle": 307, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 146.5, + "y": -128.5, + "zoomX": 100, + "zoomY": 100, + "angle": 307, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 200, + "y": -87, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 148, + "y": -113, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + }, + { + "x": 208, + "y": -27.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 160, + "priority": 3, + "focus": 3 + } + ], + [ + { + "x": 16, + "y": -40, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 212, + "y": -109.5, + "zoomX": 100, + "zoomY": 100, + "angle": 359, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 75, + "priority": 1, + "focus": 3 + }, + { + "x": 220, + "y": -42, + "zoomX": 100, + "zoomY": 100, + "angle": 359, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 120, + "priority": 1, + "focus": 3 + }, + { + "x": 152, + "y": -138.5, + "zoomX": 100, + "zoomY": 100, + "angle": 359, + "visible": true, + "target": 2, + "graphicFrame": 66, + "opacity": 120, + "priority": 1, + "focus": 3 + }, + { + "x": 212, + "y": -94, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 78, + "priority": 3, + "focus": 3 + }, + { + "x": 152, + "y": -122.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 78, + "priority": 3, + "focus": 3 + }, + { + "x": 220, + "y": -30, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 24, + "opacity": 78, + "priority": 3, + "focus": 3 + } + ], + [ + { + "x": 8, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 191, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 191, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 127, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 127, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 63, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 63, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Flare Blitz1.wav", + "volume": 100, + "pitch": 75, + "eventType": "AnimTimedSoundEvent" + } + ], + "9": [ + { + "frameIndex": 9, + "resourceName": "PRAS- Outrage BG", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 9, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 255, + "duration": 5, + "eventType": "AnimTimedUpdateBgEvent" + } + ], + "13": [ + { + "frameIndex": 13, + "resourceName": "PRSFX- Flare Blitz3.wav", + "volume": 100, + "pitch": 80, + "eventType": "AnimTimedSoundEvent" + } + ], + "14": [ + { + "frameIndex": 14, + "resourceName": "PRSFX- Flare Blitz2.wav", + "volume": 100, + "pitch": 80, + "eventType": "AnimTimedSoundEvent" + } + ], + "16": [ + { + "frameIndex": 16, + "resourceName": "PRSFX- Flare Blitz3.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "19": [ + { + "frameIndex": 19, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedUpdateBgEvent" + }, + { + "frameIndex": 19, + "resourceName": "PRSFX- Flare Blitz3.wav", + "volume": 100, + "pitch": 120, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/bouncy-bubble.json b/public/battle-anims/bouncy-bubble.json new file mode 100644 index 00000000000..b1d931b62fa --- /dev/null +++ b/public/battle-anims/bouncy-bubble.json @@ -0,0 +1,3322 @@ +{ + "id": 61, + "graphic": "PRAS- Water", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 44.5, + "y": -19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -12, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 65.5, + "y": -30.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 44, + "y": -21, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -4, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 86, + "y": -42, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -34, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 46, + "y": -19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 28, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 107, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 84, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 68.5, + "y": -30.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 41.5, + "y": -18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 104, + "y": -59.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 91, + "y": -42, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 59, + "y": -29, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 45.5, + "y": -18, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 22, + "y": -6, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 113.5, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 76.5, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 67, + "y": -27.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 46.5, + "y": -22, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 44.5, + "y": -19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 26, + "y": -10, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 94, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 88.5, + "y": -37, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 70, + "y": -35.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 65.5, + "y": -30.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 42, + "y": -19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 28, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 112, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 110, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 93.5, + "y": -49, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 126, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 86, + "y": -42, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 60.5, + "y": -30.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 47, + "y": -18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -4, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 112, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 116.5, + "y": -62.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 132, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 79, + "y": -42, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 70, + "y": -29, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 43.5, + "y": -22, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 26, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 132, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 107, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 122, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 97.5, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 93.5, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 63.5, + "y": -35.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 44.5, + "y": -19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 116.5, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 83, + "y": -49, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 65.5, + "y": -30.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 44, + "y": -18, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 116, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 44.5, + "y": -21, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 28, + "y": -12, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 116, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 86, + "y": -42, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -27.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 103, + "y": -62.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 122, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 65.5, + "y": -34, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 46, + "y": -21, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 26, + "y": -6, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 123, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 107, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 84, + "y": -37, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 116, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 126, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 86, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 68.5, + "y": -34, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 48, + "y": -19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 22, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 123, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 104, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 107, + "y": -59.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 91, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 72, + "y": -30.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 46, + "y": -18, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -4, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 123, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 123, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 96, + "y": -42, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 68.5, + "y": -27.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 44.5, + "y": -17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -6, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 113.5, + "y": -59.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 24, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 91, + "y": -37, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 65.5, + "y": -26, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 41.5, + "y": -18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 130, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 40.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -12, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 113.5, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 86, + "y": -34.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 59, + "y": -29, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 144, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 129, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 57.5, + "y": -32, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 42, + "y": -22, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 28, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 144, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 107, + "y": -43.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 76.5, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 127, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 74, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 60.5, + "y": -35.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 44.5, + "y": -22, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 26, + "y": -6, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 94, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 144, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 125, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 91, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 79, + "y": -49, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 65.5, + "y": -35.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 46, + "y": -21, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 28, + "y": -12, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 112, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 123, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 108, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 86, + "y": -49, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 68.5, + "y": -34, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 47, + "y": -19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 28, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 97.5, + "y": -62.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 123, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 116, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 112, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 91, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 70, + "y": -30.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 45.5, + "y": -18, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 107, + "y": -62.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 125, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 108, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 113.5, + "y": -59.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 93.5, + "y": -42, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 67, + "y": -27.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 127, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 116, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 116.5, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 88.5, + "y": -37, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 127, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 110, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 140, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 132, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 28, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 29, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 30, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Bubblebeam.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/buzzy-buzz.json b/public/battle-anims/buzzy-buzz.json new file mode 100644 index 00000000000..b1cd7daa82d --- /dev/null +++ b/public/battle-anims/buzzy-buzz.json @@ -0,0 +1,1419 @@ +{ + "id": 570, + "graphic": "PRAS- Electric", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 105, + "zoomY": 90, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 110, + "zoomY": 80, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 53, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 105, + "zoomY": 90, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 12, + "y": -25.5, + "zoomX": 100, + "zoomY": 100, + "angle": 45, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 28.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 53, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 43, + "y": -7.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 48, + "y": 8, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 19, + "y": -34, + "zoomX": 100, + "zoomY": 100, + "angle": 44, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 37, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 54, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 53, + "y": -14.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 59.5, + "y": 2, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 26.5, + "y": -42.5, + "zoomX": 100, + "zoomY": 100, + "angle": 44, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 46, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 54, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 63.5, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 71, + "y": -4, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 34, + "y": -50.5, + "zoomX": 100, + "zoomY": 100, + "angle": 43, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 54.5, + "y": -43.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 55, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 74, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 83, + "y": -10, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 41.5, + "y": -59, + "zoomX": 100, + "zoomY": 100, + "angle": 43, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 63.5, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 55, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 84.5, + "y": -35.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 94.5, + "y": -16, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 49, + "y": -67.5, + "zoomX": 100, + "zoomY": 100, + "angle": 42, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 72.5, + "y": -59.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 56, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 95, + "y": -42.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 106.5, + "y": -22, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 56, + "y": -75.5, + "zoomX": 100, + "zoomY": 100, + "angle": 42, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 81, + "y": -67, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 56, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 105.5, + "y": -49.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 118, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 63.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "angle": 41, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 90, + "y": -75, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 53, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 116, + "y": -56.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 130, + "y": -34, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 71, + "y": -92.5, + "zoomX": 100, + "zoomY": 100, + "angle": 41, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -83, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 53, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 126.5, + "y": -63.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 141.5, + "y": -40, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 78.5, + "y": -100.5, + "zoomX": 100, + "zoomY": 100, + "angle": 40, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 107.5, + "y": -90.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 54, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 137, + "y": -70.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 153.5, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 86, + "y": -109, + "zoomX": 100, + "zoomY": 100, + "angle": 40, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 116.5, + "y": -98.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 54, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 147.5, + "y": -77.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 165, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 93.5, + "y": -117, + "zoomX": 100, + "zoomY": 100, + "angle": 40, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 125.5, + "y": -106, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 55, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 158, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 13, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 177, + "y": -57.5, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 2, + "graphicFrame": 12, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 55, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 56, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 56, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 57, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "visible": true, + "target": 2, + "graphicFrame": 57, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "3": [ + { + "frameIndex": 3, + "resourceName": "PRSFX- Electro Ball2.wav", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/combat-torque.json b/public/battle-anims/combat-torque.json new file mode 100644 index 00000000000..8390263edaa --- /dev/null +++ b/public/battle-anims/combat-torque.json @@ -0,0 +1,3667 @@ +[ + { + "id": 794, + "graphic": "PRAS- Me First", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 359, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + 64, + 64, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 1 + } + ], + [ + { + "x": -4, + "y": 4, + "zoomX": 100, + "zoomY": 100, + "angle": 350, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 96, + 96, + 96, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + } + ], + [ + { + "x": -8, + "y": 8, + "zoomX": 100, + "zoomY": 100, + "angle": 340, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 128, + 128, + 128, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + } + ], + [ + { + "x": -12, + "y": 12, + "zoomX": 100, + "zoomY": 100, + "angle": 330, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 160, + 160, + 160, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + } + ], + [ + { + "x": -16, + "y": 16, + "zoomX": 100, + "zoomY": 100, + "angle": 320, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 192, + 192, + 192, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 1 + } + ], + [ + { + "x": -20, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 224, + 224, + 224, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 1 + } + ], + [ + { + "x": -20, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 1 + } + ], + [ + { + "x": -20, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 1 + } + ], + [ + { + "x": -20, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 1 + } + ], + [ + { + "x": -20, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 1 + } + ], + [ + { + "x": -20, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 1 + } + ], + [ + { + "x": -20, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 1 + } + ], + [ + { + "x": -20, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 1 + } + ], + [ + { + "x": 78.5, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 2, + "opacity": 160, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 1, + "opacity": 180, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "focus": 1 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 152, + "y": -83.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 176, + "y": -103, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 200, + "y": -122.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 170, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 310, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 224, + "y": -141.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 86, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 102, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "angle": 320, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 224, + "y": -141.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 76.5, + "y": -38.5, + "zoomX": 100, + "zoomY": 100, + "angle": 330, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 224.5, + "y": -141.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 51, + "y": -26, + "zoomX": 100, + "zoomY": 100, + "angle": 340, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 224.5, + "y": -141.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 25.5, + "y": -13, + "zoomX": 100, + "zoomY": 100, + "angle": 350, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 224.5, + "y": -141.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 224.5, + "y": -141.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 224, + 224, + 224, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 192, + 192, + 192, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 160, + 160, + 160, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 128, + 128, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 36, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 96, + 96, + 96, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 72, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + 64, + 64, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 109, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 32, + 32, + 32, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 145, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 182, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 218, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "GEN8- Meteor Assault BG", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 255, + "duration": 8, + "eventType": "AnimTimedUpdateBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "PRSFX- Giga Impact2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "15": [ + { + "frameIndex": 15, + "resourceName": "PRSFX- Giga Impact1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "24": [ + { + "frameIndex": 24, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 3, + "eventType": "AnimTimedUpdateBgEvent" + } + ] + }, + "position": 4, + "hue": 215 + }, + { + "id": 794, + "graphic": "PRAS- Me First", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 1, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + 64, + 64, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 132, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "angle": 10, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 96, + 96, + 96, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "angle": 20, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 128, + 128, + 128, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 140, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 160, + 160, + 160, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 144, + "y": -80, + "zoomX": 100, + "zoomY": 100, + "angle": 40, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 192, + 192, + 192, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -88, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 224, + 224, + 224, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 20, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "locked": true, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -88, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -88, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -88, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -88, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -88, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 40, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 80, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 3, + "opacity": 140, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 2, + "opacity": 160, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 52, + "y": -32, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 2, + "opacity": 160, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 1, + "opacity": 180, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": -24, + "y": 12, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": -48, + "y": 32, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": -72, + "y": 52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 170, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": -96, + "y": 72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 85, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 50, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": -96, + "y": 72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 28, + "y": -12, + "zoomX": 100, + "zoomY": 100, + "angle": 40, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -96, + "y": 72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 52, + "y": -24, + "zoomX": 100, + "zoomY": 100, + "angle": 30, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -96, + "y": 72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 76, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "angle": 20, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -96, + "y": 72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 104, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "angle": 10, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -96, + "y": 72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -96, + "y": 72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 224, + 224, + 224, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -96, + "y": 72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 192, + 192, + 192, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 160, + 160, + 160, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 36, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 128, + 128, + 128, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 72, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 96, + 96, + 96, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 109, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + 64, + 64, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 146, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 32, + 32, + 32, + 0 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 182, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 218, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "GEN8- Meteor Assault BG Opp", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 255, + "duration": 8, + "eventType": "AnimTimedUpdateBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "PRSFX- Giga Impact2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "15": [ + { + "frameIndex": 15, + "resourceName": "PRSFX- Giga Impact1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "24": [ + { + "frameIndex": 24, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 3, + "eventType": "AnimTimedUpdateBgEvent" + } + ] + }, + "position": 4, + "hue": 0 + } +] \ No newline at end of file diff --git a/public/battle-anims/floaty-fall.json b/public/battle-anims/floaty-fall.json new file mode 100644 index 00000000000..814ddda1bd9 --- /dev/null +++ b/public/battle-anims/floaty-fall.json @@ -0,0 +1,1665 @@ +[ + { + "id": 560, + "graphic": "PRAS- Strike", + "frames": [ + [ + { + "x": 4, + "y": -12, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 12, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 24, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -156, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 40, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 128, + "y": -200, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 128, + "y": -200, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 128, + "y": -128, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 90, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -70, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 140, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 102, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -54.5, + "zoomX": 100, + "zoomY": 52, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 127.5, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 145, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 76.5, + "y": -38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -57, + "zoomX": 100, + "zoomY": 64, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 51, + "y": -26, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -59.5, + "zoomX": 100, + "zoomY": 76, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 25.5, + "y": -13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -62, + "zoomX": 100, + "zoomY": 88, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Flying Press2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "16": [ + { + "frameIndex": 16, + "resourceName": "PRSFX- Flying Press3.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "17": [ + { + "frameIndex": 17, + "resourceName": "PRSFX- Flying Press1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 + }, + { + "id": 560, + "graphic": "PRAS- Strike", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 124, + "y": -80, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 116, + "y": -104, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 104, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 77, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -144, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 70, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -94, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -34, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 140, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 40, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 3, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 80, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 145, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 85, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 32, + "y": -49, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 90, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 64, + "y": -54, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 95, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 96, + "y": -59, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Flying Press2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "16": [ + { + "frameIndex": 16, + "resourceName": "PRSFX- Flying Press3.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "17": [ + { + "frameIndex": 17, + "resourceName": "PRSFX- Flying Press1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 + } +] \ No newline at end of file diff --git a/public/battle-anims/freezy-frost.json b/public/battle-anims/freezy-frost.json new file mode 100644 index 00000000000..191706696c5 --- /dev/null +++ b/public/battle-anims/freezy-frost.json @@ -0,0 +1,3755 @@ +{ + "id": 329, + "graphic": "PRAS- Sheer Cold", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 95.5, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 10, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 30, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 20, + 60 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 30, + 90 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 90, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 40, + 120 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 120, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 50, + 150 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 150, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 60, + 180 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 180, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 240 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 50, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 80, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 60, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + }, + { + "x": 168, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 40, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + }, + { + "x": 176, + "y": -28.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 20, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 70, + 210 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 210, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 60, + 180 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 180, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 50, + 150 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 150, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 40, + 120 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 120, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 30, + 90 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 90, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 20, + 60 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 60, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 0, + 0, + 10, + 30 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 30, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRAS- Sheer Cold BG", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 255, + "duration": 8, + "eventType": "AnimTimedUpdateBgEvent" + } + ], + "4": [ + { + "frameIndex": 4, + "resourceName": "PRSFX- Sheer Cold.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "29": [ + { + "frameIndex": 29, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 8, + "eventType": "AnimTimedUpdateBgEvent" + } + ] + }, + "position": 1, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/glitzy-glow.json b/public/battle-anims/glitzy-glow.json new file mode 100644 index 00000000000..87ea70debe7 --- /dev/null +++ b/public/battle-anims/glitzy-glow.json @@ -0,0 +1,7757 @@ +[ + { + "id": 354, + "graphic": "PRAS- Psycho Boost", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 80, + "tone": [ + 0, + -113, + -30, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 120, + "tone": [ + 0, + -120, + -8, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + 0, + -128, + 15, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + 0, + -135, + 37, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + 0, + -143, + 60, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + 0, + -150, + 82, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + 0, + -157, + 105, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -4, + -164, + 111, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -7, + -170, + 118, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -10, + -176, + 124, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -13, + -182, + 131, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -16, + -189, + 137, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -19, + -195, + 144, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -22, + -201, + 150, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -25, + -207, + 157, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -29, + -213, + 163, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -32, + -219, + 169, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -35, + -225, + 175, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -38, + -231, + 182, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -41, + -237, + 188, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -44, + -243, + 194, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -47, + -249, + 200, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -16.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 33.5, + "y": -22.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 47, + "y": -28.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -34.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 74, + "y": -40.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 87.5, + "y": -46.5, + "zoomX": 170, + "zoomY": 170, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 101, + "y": -52.5, + "zoomX": 170, + "zoomY": 170, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 114.5, + "y": -58.5, + "zoomX": 170, + "zoomY": 170, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 170, + "zoomY": 170, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -15, + -10, + -15, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 127, + "tone": [ + -45, + -230, + 186, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 110, + "y": -82.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 50, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -30, + -19, + -30, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 63, + "tone": [ + -40, + -204, + 165, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 110, + "y": -82.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 140, + "zoomY": 140, + "angle": 60, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -45, + -28, + -45, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 110, + "y": -82.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 145, + "y": -50.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 120, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 150, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -60, + -38, + -60, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 110, + "y": -82.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 145, + "y": -50.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 180, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 200, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -75, + -47, + -75, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 110, + "y": -82.5, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 145, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -64, + "zoomX": 180, + "zoomY": 180, + "angle": 240, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 3 + }, + { + "x": 98.5, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -90, + -56, + -90, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 110, + "y": -82.5, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "tone": [ + -20, + -102, + 82, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 145, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 160, + "zoomY": 160, + "angle": 300, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 3 + }, + { + "x": 98.5, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -105, + -66, + -105, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 110, + "y": -82.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -15, + -77, + 62, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 145, + "y": -51, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 132, + "y": -64, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 3 + }, + { + "x": 98.5, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 145.5, + "y": -87, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 136, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -75, + -120, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 110, + "y": -82.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "tone": [ + -10, + -51, + 41, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 145, + "y": -51, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 136, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 60, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 3 + }, + { + "x": 98.5, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 145.5, + "y": -87, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -135, + -84, + -135, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 145, + "y": -51, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 120, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 3 + }, + { + "x": 98.5, + "y": -45.5, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 145.5, + "y": -87, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 111, + "y": -81, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -138, + -95, + -132, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 145, + "y": -51, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 80, + "zoomY": 80, + "angle": 180, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 3 + }, + { + "x": 98.5, + "y": -45.5, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 145.5, + "y": -87, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 111, + "y": -81, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -140, + -106, + -128, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 124, + "y": -64, + "zoomX": 60, + "zoomY": 60, + "angle": 240, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 98.5, + "y": -45.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 145.5, + "y": -87, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 111, + "y": -81, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -142, + -117, + -125, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -64, + "zoomX": 40, + "zoomY": 40, + "angle": 300, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "priority": 1, + "focus": 3 + }, + { + "x": 98.5, + "y": -45.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 145.5, + "y": -87, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 111, + "y": -81, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -144, + -127, + -121, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 124, + "y": -64, + "zoomX": 20, + "zoomY": 20, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 50, + "priority": 1, + "focus": 3 + }, + { + "x": 145.5, + "y": -87, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 111, + "y": -81, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 124.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 148.5, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -146, + -138, + -118, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 145.5, + "y": -87, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 111, + "y": -81, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 124.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 148.5, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -148, + -149, + -114, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 111, + "y": -81, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 148.5, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 136, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -150, + -159, + -110, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 111, + "y": -81, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 148.5, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -150, + -165, + -116, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 148.5, + "y": -44.5, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 132.5, + "y": -92, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -150, + -171, + -122, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -64, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 148.5, + "y": -44.5, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 132.5, + "y": -92, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -150, + -177, + -128, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 148.5, + "y": -44.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -38.5, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 132.5, + "y": -92, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -150, + -183, + -133, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 148.5, + "y": -44.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -38.5, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 132.5, + "y": -92, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -150, + -189, + -139, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 99, + "y": -38.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 132.5, + "y": -92, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -150, + -195, + -145, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 99, + "y": -38.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 132.5, + "y": -92, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -150, + -200, + -150, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 132.5, + "y": -92, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 136, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -135, + -180, + -135, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 132.5, + "y": -92, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -160, + -120, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -105, + -140, + -105, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -90, + -120, + -90, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -75, + -100, + -75, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -60, + -80, + -60, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -45, + -60, + -45, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -30, + -40, + -30, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -15, + -20, + -15, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRAS- Psycho Boost BG", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 255, + "duration": 10, + "eventType": "AnimTimedUpdateBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "PRSFX- Psycho Boost1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "32": [ + { + "frameIndex": 32, + "resourceName": "PRSFX- Psycho Boost2.wav", + "volume": 100, + "pitch": 110, + "eventType": "AnimTimedSoundEvent" + } + ], + "62": [ + { + "frameIndex": 62, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedUpdateBgEvent" + } + ] + }, + "position": 4, + "hue": 0 + }, + { + "id": 354, + "graphic": "PRAS- Psycho Boost", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 80, + "tone": [ + 0, + -113, + -30, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 120, + "tone": [ + 0, + -120, + -8, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + 0, + -128, + 15, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + 0, + -135, + 37, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + 0, + -143, + 60, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + 0, + -150, + 82, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + 0, + -157, + 105, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -4, + -164, + 111, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -7, + -170, + 118, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -10, + -176, + 124, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -13, + -182, + 131, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -16, + -189, + 137, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 130, + "zoomY": 130, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -19, + -195, + 144, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -22, + -201, + 150, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -25, + -207, + 157, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -29, + -213, + 163, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -32, + -219, + 169, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -35, + -225, + 175, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -38, + -231, + 182, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -41, + -237, + 188, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -44, + -243, + 194, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -48.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -47, + -249, + 200, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -43.5, + "zoomX": 152, + "zoomY": 152, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -38, + "zoomX": 154, + "zoomY": 154, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 72, + "y": -32.5, + "zoomX": 156, + "zoomY": 156, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 60, + "y": -27, + "zoomX": 158, + "zoomY": 158, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 48, + "y": -22, + "zoomX": 161, + "zoomY": 161, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 36, + "y": -16.5, + "zoomX": 163, + "zoomY": 163, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 24, + "y": -11, + "zoomX": 165, + "zoomY": 165, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 12, + "y": -5.5, + "zoomX": 167, + "zoomY": 167, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 170, + "zoomY": 170, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 200, + "tone": [ + -50, + -255, + 207, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -15, + -10, + -15, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 127, + "tone": [ + -45, + -230, + 186, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -18, + "y": -18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 50, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -30, + -19, + -30, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 63, + "tone": [ + -40, + -205, + 165, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -18, + "y": -18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 140, + "zoomY": 140, + "angle": 60, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -45, + -28, + -45, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -18, + "y": -18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "tone": [ + -35, + -179, + 144, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 17, + "y": 13.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + }, + { + "x": -4, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 120, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 150, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -60, + -38, + -60, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -18, + "y": -18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "tone": [ + -30, + -154, + 123, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 17, + "y": 13.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + }, + { + "x": -8, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 180, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 200, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -75, + -47, + -75, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -18, + "y": -18.5, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "tone": [ + -25, + -128, + 103, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 17, + "y": 13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -4, + "y": 0, + "zoomX": 180, + "zoomY": 180, + "angle": 240, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 2 + }, + { + "x": -29.5, + "y": 18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -8, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -90, + -56, + -90, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -18, + "y": -18.5, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "tone": [ + -20, + -103, + 82, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 17, + "y": 13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 160, + "zoomY": 160, + "angle": 300, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 2 + }, + { + "x": -29.5, + "y": 18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -105, + -66, + -105, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -18, + "y": -18.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -15, + -77, + 61, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 17, + "y": 13, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 4, + "y": 0, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 2 + }, + { + "x": -29.5, + "y": 18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 17.5, + "y": -23, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -75, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -18, + "y": -18.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "tone": [ + -10, + -52, + 40, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 17, + "y": 13, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 8, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 60, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 2 + }, + { + "x": -29.5, + "y": 18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 17.5, + "y": -23, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -135, + -84, + -135, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 17, + "y": 13, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 120, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 2 + }, + { + "x": -29.5, + "y": 18.5, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 17.5, + "y": -23, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -17, + "y": -17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 8, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -138, + -95, + -132, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 17, + "y": 13, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "tone": [ + -5, + -23, + 17, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 80, + "zoomY": 80, + "angle": 180, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 200, + "priority": 1, + "focus": 2 + }, + { + "x": -29.5, + "y": 18.5, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 17.5, + "y": -23, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -17, + "y": -17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -140, + -106, + -128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -4, + "y": 0, + "zoomX": 60, + "zoomY": 60, + "angle": 240, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 150, + "tone": [ + -4, + -19, + 14, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -29.5, + "y": 18.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "priority": 1, + "focus": 2 + }, + { + "x": 17.5, + "y": -23, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -17, + "y": -17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -142, + -117, + -125, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -8, + "y": 0, + "zoomX": 40, + "zoomY": 40, + "angle": 300, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 100, + "tone": [ + -3, + -15, + 11, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -29.5, + "y": 18.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 2 + }, + { + "x": 17.5, + "y": -23, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -17, + "y": -17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -144, + -127, + -121, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -4, + "y": 0, + "zoomX": 20, + "zoomY": 20, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 50, + "tone": [ + -3, + -12, + 8, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 17.5, + "y": -23, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "priority": 1, + "focus": 2 + }, + { + "x": -17, + "y": -17, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -3.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 20.5, + "y": 19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -146, + -138, + -118, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 17.5, + "y": -23, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "tone": [ + -2, + -8, + 5, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -17, + "y": -17, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -3.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 20.5, + "y": 19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -148, + -149, + -114, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -17, + "y": -17, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -1, + -4, + 2, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -4, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 20, + "y": 19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -29, + "y": 25.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 8, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -150, + -159, + -110, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -17, + "y": -17, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 20.5, + "y": 19.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -29, + "y": 25.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -149, + -162, + -114, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "priority": 1, + "focus": 2 + }, + { + "x": 20.5, + "y": 19.5, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -29, + "y": 25.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 4.5, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -147, + -165, + -117, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": 0, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 2 + }, + { + "x": 20.5, + "y": 19.5, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": -29, + "y": 25.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 4.5, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -145, + -167, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 20.5, + "y": 19.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "priority": 1, + "focus": 2 + }, + { + "x": -29, + "y": 25.5, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 4.5, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 60, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -8, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -143, + -170, + -123, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 20.5, + "y": 19.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 2 + }, + { + "x": -29, + "y": 25.5, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 4.5, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 120, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -141, + -173, + -126, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -29, + "y": 25.5, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "priority": 1, + "focus": 2 + }, + { + "x": 4.5, + "y": -28, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 180, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -139, + -175, + -129, + 0 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -29, + "y": 25.5, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 2 + }, + { + "x": 4.5, + "y": -28, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -137, + -178, + -132, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 4.5, + "y": -28, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 180, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -135, + -180, + -135, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 4.5, + "y": -28, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 140, + "zoomY": 140, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 180, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -160, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 160, + "zoomY": 160, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 120, + "tone": [ + -5, + -26, + 20, + 0 + ], + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -105, + -140, + -105, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 180, + "zoomY": 180, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 60, + "locked": true, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -90, + -120, + -90, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -75, + -100, + -75, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -60, + -80, + -60, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -45, + -60, + -45, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -30, + -40, + -30, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -15, + -20, + -15, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRAS- Psycho Boost Opp BG", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 255, + "duration": 10, + "eventType": "AnimTimedUpdateBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "PRSFX- Psycho Boost1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "32": [ + { + "frameIndex": 32, + "resourceName": "PRSFX- Psycho Boost2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "62": [ + { + "frameIndex": 62, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedUpdateBgEvent" + } + ] + }, + "position": 4, + "hue": 0 + } +] \ No newline at end of file diff --git a/public/battle-anims/ivy-cudgel.json b/public/battle-anims/ivy-cudgel.json new file mode 100644 index 00000000000..ee46f86bebe --- /dev/null +++ b/public/battle-anims/ivy-cudgel.json @@ -0,0 +1,1245 @@ +{ + "id": 452, + "graphic": "PRAS- Wood Hammer", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 160, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 140, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -73, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 148, + "y": -73, + "zoomX": 100, + "zoomY": 100, + "angle": 90, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -32, + "zoomX": 100, + "zoomY": 100, + "angle": 139, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 80, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 101.5, + "y": -82, + "zoomX": 100, + "zoomY": 100, + "angle": 46, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 160, + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -79, + "zoomX": 100, + "zoomY": 100, + "angle": 143, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 160, + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -54.5, + "zoomX": 100, + "zoomY": 100, + "angle": 125, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -20.5, + "zoomX": 100, + "zoomY": 100, + "angle": 170, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 160, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "angle": 340, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -55.5, + "zoomX": 100, + "zoomY": 100, + "angle": 225, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -49, + "zoomX": 100, + "zoomY": 100, + "angle": 45, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "angle": 20, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -43, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 91, + "y": -91, + "zoomX": 100, + "zoomY": 100, + "angle": 93, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 164, + "y": -84.5, + "zoomX": 100, + "zoomY": 100, + "angle": 197, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 114.5, + "y": -47.5, + "zoomX": 100, + "zoomY": 100, + "angle": 125, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -9, + "zoomX": 100, + "zoomY": 100, + "angle": 201, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 138.5, + "y": -69.5, + "zoomX": 100, + "zoomY": 100, + "angle": 340, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 134, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "angle": 225, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "angle": 45, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 130, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "angle": 20, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 134, + "y": -39, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 80.5, + "y": -99.5, + "zoomX": 100, + "zoomY": 100, + "angle": 139, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 172, + "y": -90.5, + "zoomX": 100, + "zoomY": 100, + "angle": 251, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 113, + "y": -40, + "zoomX": 100, + "zoomY": 100, + "angle": 125, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 126.5, + "y": 3, + "zoomX": 100, + "zoomY": 100, + "angle": 233, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 141, + "y": -73, + "zoomX": 100, + "zoomY": 100, + "angle": 340, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 140, + "y": -47.5, + "zoomX": 100, + "zoomY": 100, + "angle": 225, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -53.5, + "zoomX": 100, + "zoomY": 100, + "angle": 45, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "angle": 21, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 136, + "y": -35, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 70, + "y": -108.5, + "zoomX": 100, + "zoomY": 100, + "angle": 186, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -96, + "zoomX": 100, + "zoomY": 100, + "angle": 305, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -32.5, + "zoomX": 100, + "zoomY": 100, + "angle": 125, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 124.5, + "y": 14.5, + "zoomX": 100, + "zoomY": 100, + "angle": 264, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "angle": 340, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 146, + "y": -43.5, + "zoomX": 100, + "zoomY": 100, + "angle": 225, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -55.5, + "zoomX": 100, + "zoomY": 100, + "angle": 45, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 126, + "y": -80, + "zoomX": 100, + "zoomY": 100, + "angle": 22, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 138, + "y": -31, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 60, + "y": -117, + "zoomX": 100, + "zoomY": 100, + "angle": 233, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 70, + "priority": 1, + "focus": 1 + }, + { + "x": 188, + "y": -101.5, + "zoomX": 100, + "zoomY": 100, + "angle": 359, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 70, + "priority": 1, + "focus": 1 + }, + { + "x": 110.5, + "y": -25.5, + "zoomX": 100, + "zoomY": 100, + "angle": 125, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 123, + "y": 26.5, + "zoomX": 100, + "zoomY": 100, + "angle": 296, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 146.5, + "y": -79.5, + "zoomX": 100, + "zoomY": 100, + "angle": 340, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "angle": 225, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -58, + "zoomX": 100, + "zoomY": 100, + "angle": 45, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 124, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "angle": 23, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 140, + "y": -27, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 160, + "priority": 1, + "focus": 1 + }, + { + "x": 109, + "y": -18, + "zoomX": 100, + "zoomY": 100, + "angle": 125, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 121, + "y": 38, + "zoomX": 100, + "zoomY": 100, + "angle": 327, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 1 + }, + { + "x": 149, + "y": -83, + "zoomX": 100, + "zoomY": 100, + "angle": 340, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 158, + "y": -35.5, + "zoomX": 100, + "zoomY": 100, + "angle": 225, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "angle": 45, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 122, + "y": -88, + "zoomX": 100, + "zoomY": 100, + "angle": 24, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 142, + "y": -23, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 60, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -10.5, + "zoomX": 100, + "zoomY": 100, + "angle": 125, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 119.5, + "y": 50, + "zoomX": 100, + "zoomY": 100, + "angle": 359, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 80, + "priority": 1, + "focus": 1 + }, + { + "x": 152, + "y": -86, + "zoomX": 100, + "zoomY": 100, + "angle": 340, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 164, + "y": -31.5, + "zoomX": 100, + "zoomY": 100, + "angle": 225, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -62, + "zoomX": 100, + "zoomY": 100, + "angle": 45, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -92, + "zoomX": 100, + "zoomY": 100, + "angle": 25, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 140, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Wood Hammer.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/magical-torque.json b/public/battle-anims/magical-torque.json new file mode 100644 index 00000000000..7f006e1b98d --- /dev/null +++ b/public/battle-anims/magical-torque.json @@ -0,0 +1,1260 @@ +{ + "id": 789, + "graphic": "PRAS- Psystrike", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 32, + -32, + 64, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 150, + "zoomY": 150, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 150, + "zoomY": 150, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 150, + "zoomY": 150, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -85.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 150, + "zoomY": 150, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -85.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 150, + "zoomY": 150, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -85.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 157, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 150, + "zoomY": 150, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -85.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 157, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 150, + "zoomY": 150, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -85.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 157, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 64, + -64, + 128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 150, + "zoomY": 150, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -85.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 157, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -85.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 157, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -85.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 157, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 157, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 157, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "Darkness2.m4a", + "volume": 80, + "pitch": 60, + "eventType": "AnimTimedSoundEvent" + } + ], + "15": [ + { + "frameIndex": 15, + "resourceName": "Explosion6.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/mortal-spin.json b/public/battle-anims/mortal-spin.json new file mode 100644 index 00000000000..f795b3c5898 --- /dev/null +++ b/public/battle-anims/mortal-spin.json @@ -0,0 +1,3846 @@ +[ + { + "id": 342, + "graphic": "PRAS- Poison Tail", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -87, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 55, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -87, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 55, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -87, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -81.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 124, + "y": -75.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -69.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 140, + "y": -63.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 139, + "y": -59, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -81.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 140, + "y": -63.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -59, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -81.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 148, + "y": -57.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 188, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -58.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -81.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 148, + "y": -57.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 121, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -49.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -61.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -65.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -81, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 148, + "y": -57.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 55, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -64.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -70, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -85, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -56.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -67, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -74, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -89, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -70, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -78, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -92.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -63.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -73, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -82, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -96.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -67, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -75.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -86, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -100.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -70.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -78.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -90, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -104, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -74, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -81.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -94, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -104, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -77.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -98, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -104, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -81, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -87, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -102, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -111, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -84.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -89.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -106, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -88, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -92.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 100, + "y": -110, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -91.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -95.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -95, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -98, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -98.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -101, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -102, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -104, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -105.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -106.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -109, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -109.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -112, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -112, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "4": [ + { + "frameIndex": 4, + "resourceName": "PRSFX- Poison Tail2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "5": [ + { + "frameIndex": 5, + "resourceName": "PRSFX- Poison Tail2.wav", + "volume": 100, + "pitch": 70, + "eventType": "AnimTimedSoundEvent" + } + ], + "10": [ + { + "frameIndex": 10, + "resourceName": "PRSFX- Poison Tail1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 + }, + { + "id": 342, + "graphic": "PRAS- Poison Tail", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 28, + "y": -35.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 55, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 24, + "y": -31, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 155, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -26, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 16, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 12, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 8, + "y": -11.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 6.5, + "y": -8.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 1 + }, + { + "x": -20, + "y": 9.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 1 + }, + { + "x": -30.5, + "y": -13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 1 + }, + { + "x": 5, + "y": 21, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -2, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 6.5, + "y": -8.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 1 + }, + { + "x": -20, + "y": 9.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 1 + }, + { + "x": -30.5, + "y": -13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 1 + }, + { + "x": 5, + "y": 21, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -4, + "y": 3, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 6, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -20, + "y": 9.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -31, + "y": -13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": 21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -4, + "y": 3, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 155, + "priority": 1, + "focus": 1 + }, + { + "x": 7, + "y": -12, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -20.5, + "y": 6.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -31, + "y": -17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 5.5, + "y": 18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -4, + "y": 3, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 55, + "priority": 1, + "focus": 1 + }, + { + "x": 8, + "y": -16, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -21, + "y": 3.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -30.5, + "y": -21, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 6.5, + "y": 16, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 9, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -21.5, + "y": 0.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -30, + "y": -25, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 7.5, + "y": 13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 10, + "y": -24, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -22, + "y": -2, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -29.5, + "y": -29, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 8, + "y": 10.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 11, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -22.5, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -29.5, + "y": -33, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 9, + "y": 7.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 12, + "y": -31.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -23, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -29, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 10, + "y": 5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 13, + "y": -35.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -23.5, + "y": -10.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -28.5, + "y": -40.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 10.5, + "y": 2, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 14, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -24, + "y": -13.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -28, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 11.5, + "y": -0.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 15, + "y": -43.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -24.5, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -28, + "y": -48.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -3.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 16, + "y": -47.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -25, + "y": -19, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -27.5, + "y": -52.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 13, + "y": -6, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 17, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -25.5, + "y": -22, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -27, + "y": -56, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 14, + "y": -9, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 18, + "y": -55, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -26, + "y": -25, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -26.5, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 15, + "y": -11.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 19, + "y": -59, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -26.5, + "y": -27.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -26.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 15.5, + "y": -14.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -27, + "y": -30.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -26, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 16.5, + "y": -17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 21, + "y": -67, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -27.5, + "y": -33.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -25.5, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 17.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 22.5, + "y": -70.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -27.5, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": -25, + "y": -75.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 18.5, + "y": -22.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 22.5, + "y": -70.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 1 + }, + { + "x": -27.5, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 149, + "priority": 1, + "focus": 1 + }, + { + "x": -25, + "y": -75.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 1 + }, + { + "x": 18.5, + "y": -22.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 155, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 22.5, + "y": -70.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 1 + }, + { + "x": -27.5, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 44, + "priority": 1, + "focus": 1 + }, + { + "x": -25, + "y": -75.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 1 + }, + { + "x": 18.5, + "y": -22.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 55, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "5": [ + { + "frameIndex": 5, + "resourceName": "PRSFX- Poison Tail2.wav", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "6": [ + { + "frameIndex": 6, + "resourceName": "PRSFX- Poison Tail2.wav", + "volume": 100, + "pitch": 70, + "eventType": "AnimTimedSoundEvent" + } + ], + "10": [ + { + "frameIndex": 10, + "resourceName": "PRSFX- Poison Tail1.wav", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 + } +] \ No newline at end of file diff --git a/public/battle-anims/noxious-torque.json b/public/battle-anims/noxious-torque.json new file mode 100644 index 00000000000..67c060cc8b9 --- /dev/null +++ b/public/battle-anims/noxious-torque.json @@ -0,0 +1,1129 @@ +{ + "id": 839, + "graphic": "PRAS- Poison Sting", + "frames": [ + [ + { + "x": 0, + "y": -4, + "zoomX": 110, + "zoomY": 110, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -6, + "zoomX": 115, + "zoomY": 115, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -8, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -20.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -32.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -56.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -107.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -95.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -83.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -71.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 84.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 90, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 96.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 90, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 90, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 90, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 171.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 90, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 159.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 90, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 147.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 90, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 135.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "angle": 90, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -10, + "zoomX": 125, + "zoomY": 125, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 96.5, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -8, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 96.5, + "y": -80, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -6, + "zoomX": 115, + "zoomY": 115, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 130, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 159.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 100, + "priority": 1, + "focus": 1 + }, + { + "x": 96.5, + "y": -88, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -4, + "zoomX": 110, + "zoomY": 110, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 159.5, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": -2, + "zoomX": 105, + "zoomY": 105, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 126, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 159.5, + "y": -80, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 100, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 130, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Weather Ball3.wav", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "7": [ + { + "frameIndex": 7, + "resourceName": "Twine.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "21": [ + { + "frameIndex": 21, + "resourceName": "PRSFX- Toxic2.wav", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/pika-papow.json b/public/battle-anims/pika-papow.json new file mode 100644 index 00000000000..3282acb1e81 --- /dev/null +++ b/public/battle-anims/pika-papow.json @@ -0,0 +1,6994 @@ +{ + "id": 892, + "graphic": "PRAS- Electric", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -10, + -10, + -10, + 14 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 36, + "zoomY": 36, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 102, + "color": [ + 0, + 0, + 15, + 12 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -19, + -19, + -19, + 28 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 42, + "zoomY": 42, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 153, + "color": [ + 0, + 0, + 31, + 25 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 30, + "zoomY": 30, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 51, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -29, + -29, + -29, + 42 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 48, + "zoomY": 48, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 204, + "color": [ + 0, + 0, + 47, + 37 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 36, + "zoomY": 36, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 102, + "color": [ + 0, + 0, + 15, + 12 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -38, + -38, + -38, + 56 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 54, + "zoomY": 54, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 63, + 50 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 42, + "zoomY": 42, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 153, + "color": [ + 0, + 0, + 31, + 25 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 30, + "zoomY": 30, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 51, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -48, + -48, + -48, + 70 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 60, + "zoomY": 60, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 79, + 62 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 48, + "zoomY": 48, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 204, + "color": [ + 0, + 0, + 47, + 37 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 36, + "zoomY": 36, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 102, + "color": [ + 0, + 0, + 15, + 12 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -57, + -57, + -57, + 85 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 66, + "zoomY": 66, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 95, + 75 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 54, + "zoomY": 54, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 63, + 50 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 42, + "zoomY": 42, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 153, + "color": [ + 0, + 0, + 31, + 25 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 30, + "zoomY": 30, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 51, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -67, + -67, + -67, + 99 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 72, + "zoomY": 72, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 111, + 87 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 60, + "zoomY": 60, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 79, + 62 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 48, + "zoomY": 48, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 204, + "color": [ + 0, + 0, + 47, + 37 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 36, + "zoomY": 36, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 102, + "color": [ + 0, + 0, + 15, + 12 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -76, + -76, + -76, + 113 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 78, + "zoomY": 78, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 127, + 100 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 66, + "zoomY": 66, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 95, + 75 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 54, + "zoomY": 54, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 63, + 50 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 42, + "zoomY": 42, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 153, + "color": [ + 0, + 0, + 31, + 25 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -85, + -85, + -85, + 127 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 84, + "zoomY": 84, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 143, + 112 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 72, + "zoomY": 72, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 111, + 87 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 60, + "zoomY": 60, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 79, + 62 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 48, + "zoomY": 48, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 204, + "color": [ + 0, + 0, + 47, + 37 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -95, + -95, + -95, + 141 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 90, + "zoomY": 90, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 159, + 125 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 78, + "zoomY": 78, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 127, + 100 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 66, + "zoomY": 66, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 95, + 75 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 54, + "zoomY": 54, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 63, + 50 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -104, + -104, + -104, + 155 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 96, + "zoomY": 96, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 175, + 137 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 84, + "zoomY": 84, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 143, + 112 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 72, + "zoomY": 72, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 111, + 87 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 60, + "zoomY": 60, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 79, + 62 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -114, + -114, + -114, + 170 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 102, + "zoomY": 102, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 191, + 150 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 90, + "zoomY": 90, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 159, + 125 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 78, + "zoomY": 78, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 127, + 100 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 66, + "zoomY": 66, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 95, + 75 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -123, + -123, + -123, + 184 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 108, + "zoomY": 108, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 207, + 162 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 96, + "zoomY": 96, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 175, + 137 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 84, + "zoomY": 84, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 143, + 112 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 72, + "zoomY": 72, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 111, + 87 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -133, + -133, + -133, + 198 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 114, + "zoomY": 114, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 223, + 175 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 102, + "zoomY": 102, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 191, + 150 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 90, + "zoomY": 90, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 159, + 125 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 78, + "zoomY": 78, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 127, + 100 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -142, + -142, + -142, + 212 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 239, + 187 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 108, + "zoomY": 108, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 207, + 162 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 96, + "zoomY": 96, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 175, + 137 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 84, + "zoomY": 84, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 143, + 112 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -152, + -152, + -152, + 226 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 114, + "zoomY": 114, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 223, + 175 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 102, + "zoomY": 102, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 191, + 150 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 90, + "zoomY": 90, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 159, + 125 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -161, + -161, + -161, + 240 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 239, + 187 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 108, + "zoomY": 108, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 207, + 162 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 96, + "zoomY": 96, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 175, + 137 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 114, + "zoomY": 114, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 223, + 175 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 102, + "zoomY": 102, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 191, + 150 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 239, + 187 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 108, + "zoomY": 108, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 207, + 162 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 114, + "zoomY": 114, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 223, + 175 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 239, + 187 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 0, + 0, + 255, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 27, + 27, + 250, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 27, + 27, + 250, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 27, + 27, + 250, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 27, + 27, + 250, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 55, + 55, + 246, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 55, + 55, + 246, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 55, + 55, + 246, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 55, + 55, + 246, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 82, + 82, + 241, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 82, + 82, + 241, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 82, + 82, + 241, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 82, + 82, + 241, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 110, + 110, + 237, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 110, + 110, + 237, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 110, + 110, + 237, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 110, + 110, + 237, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 137, + 137, + 233, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 137, + 137, + 233, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 137, + 137, + 233, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 137, + 137, + 233, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 165, + 165, + 228, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 165, + 165, + 228, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 165, + 165, + 228, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 165, + 165, + 228, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 192, + 192, + 224, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 192, + 192, + 224, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 192, + 192, + 224, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 192, + 192, + 224, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 32, + "y": -16, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 32, + "y": -16, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 32, + "y": -16, + "zoomX": 120, + "zoomY": 120, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 32, + "y": -16, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -32, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -32, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -32, + "zoomX": 120, + "zoomY": 120, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -32, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 96, + "y": -48, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 96, + "y": -48, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 96, + "y": -48, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 96, + "y": -48, + "zoomX": 120, + "zoomY": 120, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -36, + -36, + -36, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 204, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 204, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 204, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 204, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -72, + -72, + -72, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 153, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 153, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 153, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 153, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -108, + -108, + -108, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 102, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 315, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 102, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 102, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 102, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 116, + "y": -34.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -144, + -144, + -144, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 51, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 270, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 51, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 180, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 51, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 120, + "zoomY": 120, + "angle": 90, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 51, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 116, + "y": -42, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -31.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -58, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -47.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -30.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -55.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -38.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -74.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -63.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -26.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -54, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -71.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -82.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -34.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -62.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -79.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -42.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -36.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -87.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -70.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -82.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -58, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -52.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -94.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -60.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -74, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -60.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -54.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -30, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -76, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -86, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -68.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -62.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -38, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -72, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -76.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -70.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 143.5, + "y": -38, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 6, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -68, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -84.5, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -78.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -54, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 143.5, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 7, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -86.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -62, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 143.5, + "y": -54, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 139.5, + "y": -94.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -70, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 143.5, + "y": -62, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -78, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 143.5, + "y": -70, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 116, + "y": -86, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 143.5, + "y": -78, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 143.5, + "y": -86, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 12, + "opacity": 170, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -180, + -180, + -180, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 143.5, + "y": -94, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 13, + "opacity": 85, + "color": [ + 220, + 220, + 220, + 200 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -160, + -160, + -160, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -140, + -140, + -140, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -100, + -100, + -100, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -80, + -80, + -80, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -60, + -60, + -60, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -40, + -40, + -40, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -20, + -20, + -20, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -170, + -170, + -170, + 255 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -142, + -142, + -142, + 212 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -114, + -114, + -114, + 170 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -85, + -85, + -85, + 127 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -57, + -57, + -57, + 85 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -29, + -29, + -29, + 42 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "Thunder9.m4a", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "29": [ + { + "frameIndex": 29, + "resourceName": "", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "38": [ + { + "frameIndex": 38, + "resourceName": "PRSFX- Burn Up1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "40": [ + { + "frameIndex": 40, + "resourceName": "PRSFX- Burn Up1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "42": [ + { + "frameIndex": 42, + "resourceName": "PRSFX- Burn Up1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "44": [ + { + "frameIndex": 44, + "resourceName": "PRSFX- Burn Up1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "46": [ + { + "frameIndex": 46, + "resourceName": "PRSFX- Burn Up1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "48": [ + { + "frameIndex": 48, + "resourceName": "PRSFX- Burn Up1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "50": [ + { + "frameIndex": 50, + "resourceName": "PRSFX- Burn Up1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 2, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/psyblade.json b/public/battle-anims/psyblade.json new file mode 100644 index 00000000000..1f4ce283302 --- /dev/null +++ b/public/battle-anims/psyblade.json @@ -0,0 +1,1923 @@ +[ + { + "id": 427, + "graphic": "PRAS- Psycho Cut", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "angle": 359, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "angle": 287, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "angle": 215, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "angle": 143, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "angle": 71, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 36.5, + "y": -12.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 24, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 49, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 36, + "y": -12.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 24, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 61.5, + "y": -27.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 49, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 36, + "y": -12.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 74, + "y": -35, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 61, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 49, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 86.5, + "y": -42.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 74, + "y": -34.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 61, + "y": -27.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 86, + "y": -42.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 74, + "y": -34, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 111.5, + "y": -57.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 86, + "y": -42.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 112, + "y": -57.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 99, + "y": -49.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 112, + "y": -57.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Psycho Cut.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 + }, + { + "id": 427, + "graphic": "PRAS- Psycho Cut", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "angle": 213, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "angle": 252, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "angle": 291, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "angle": 330, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "angle": 10, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 107, + "y": -58, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 94, + "y": -50.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 107, + "y": -58, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 120, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 81, + "y": -43.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 94, + "y": -50.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 107, + "y": -58, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 68, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 81, + "y": -43.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 94, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 55, + "y": -29, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 68, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 81, + "y": -43.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 42, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 55, + "y": -29, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 68, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 29, + "y": -14.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 42, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 55, + "y": -29, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 16.5, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 29, + "y": -14.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "priority": 1, + "focus": 3 + }, + { + "x": 42, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 16.5, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 29, + "y": -14.5, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 100, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 16.5, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "angle": 60, + "mirror": true, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 150, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Psycho Cut.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 + } +] \ No newline at end of file diff --git a/public/battle-anims/sappy-seed.json b/public/battle-anims/sappy-seed.json new file mode 100644 index 00000000000..d32c2bb2417 --- /dev/null +++ b/public/battle-anims/sappy-seed.json @@ -0,0 +1,4895 @@ +[ + { + "id": 73, + "graphic": "PRAS- Leech Seed", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -22.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "focus": 3 + }, + { + "x": 5, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "focus": 3 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 63, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "focus": 3 + }, + { + "x": 5, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "focus": 3 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 127, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "focus": 3 + }, + { + "x": 5, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 51, + "focus": 3 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 191, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "focus": 3 + }, + { + "x": 5, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 102, + "focus": 3 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 5, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "focus": 3 + }, + { + "x": 5, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 153, + "focus": 3 + }, + { + "x": 21.5, + "y": -32.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 51, + "focus": 3 + }, + { + "x": 5, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 204, + "focus": 3 + }, + { + "x": 26.5, + "y": -43, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 102, + "focus": 3 + }, + { + "x": 5, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 36, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 153, + "focus": 3 + }, + { + "x": 22, + "y": -35, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 46, + "y": -58.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 204, + "focus": 3 + }, + { + "x": 29, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 62, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -21.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 36, + "y": -43.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 78, + "y": -71, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 18.5, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + }, + { + "x": 64.5, + "y": -65, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 101.5, + "y": -66.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 44, + "y": -57, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 87, + "y": -70, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 125, + "y": -61.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -66, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 109.5, + "y": -74.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 137, + "y": -53.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -74.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 116, + "y": -62, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 92, + "y": -69.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -54.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 104, + "y": -56.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 148, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 107, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 187, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 187, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 187, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 110, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 110, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 110, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 40, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 40, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 40, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 40, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 40, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 40, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 110, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 110, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 110, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 187, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 187, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 187, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 187, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 187, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 187, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 204, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 204, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 204, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 153, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 153, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 153, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 102, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 102, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 102, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 51, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 51, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 51, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "priority": 1, + "focus": 3 + }, + { + "x": 149, + "y": -46.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "4": [ + { + "frameIndex": 4, + "resourceName": "PRSFX- Leech Seed2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 + }, + { + "id": 73, + "graphic": "PRAS- Leech Seed", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 63, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 127, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 191, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 85, + "priority": 1, + "focus": 2 + }, + { + "x": 104, + "y": -67, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 170, + "priority": 1, + "focus": 2 + }, + { + "x": 92, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 72, + "y": -58.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 85, + "priority": 1, + "focus": 2 + }, + { + "x": 104, + "y": -67, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 53, + "y": -50, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 170, + "priority": 1, + "focus": 2 + }, + { + "x": 84, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 37.5, + "y": -37.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 70, + "y": -56.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 22, + "y": -25, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 88, + "y": -59, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 56, + "y": -46, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 6.5, + "y": -12.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 75.19999999999999, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 42, + "y": -31, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": -9, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 62.400000000000006, + "y": -35, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 28, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": -24, + "y": 13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 49.599999999999994, + "y": -19, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": 14, + "y": -2, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 36.8, + "y": -3, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": 0, + "y": 13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 24, + "y": 13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 183, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 183, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 183, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 111, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 111, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 111, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 40, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 40, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 40, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 40, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 40, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 40, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 93, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 93, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 93, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 147, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 147, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 147, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 201, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 201, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 201, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 204, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 204, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 204, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 153, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 153, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 153, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 102, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 102, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 102, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 51, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 51, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 51, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 20, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "focus": 2 + }, + { + "x": -4, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "focus": 2 + }, + { + "x": -28, + "y": 17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "focus": 2 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Leech Seed2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 + } +] \ No newline at end of file diff --git a/public/battle-anims/sizzly-slide.json b/public/battle-anims/sizzly-slide.json new file mode 100644 index 00000000000..a045f425f9c --- /dev/null +++ b/public/battle-anims/sizzly-slide.json @@ -0,0 +1,2715 @@ +[ + { + "id": 488, + "graphic": "PRAS- Fire", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 155, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": -0.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": -0.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": -1, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": -0.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": -0.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": -0.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -4, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 25, + "y": -12, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 21.5, + "y": -13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 50.5, + "y": -23.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 47, + "y": -25.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 75.5, + "y": -35.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 72.5, + "y": -38, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 101, + "y": -47, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 98, + "y": -50.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 126.5, + "y": -58.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 123.5, + "y": -63, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 144, + "y": -70.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 145.5, + "y": -73.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 140.5, + "y": -69.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 162, + "y": -82.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 255, + 0, + 0, + 0 + ], + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 163.5, + "y": -83, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 157.5, + "y": -75.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 180, + "y": -94.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 181.5, + "y": -92, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 174.5, + "y": -81.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 198, + "y": -106.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 168, + "y": -85, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 193, + "y": -96.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 168.5, + "y": -86, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 154.5, + "y": -78, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 162.5, + "y": -82, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 141, + "y": -71, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 157, + "y": -77.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 157, + "y": -77.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": -54.5, + "y": 38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": -36.5, + "y": 25.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": -18.5, + "y": 12.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "1": [ + { + "frameIndex": 1, + "resourceName": "PRSFX- Flame Charge1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "15": [ + { + "frameIndex": 15, + "resourceName": "PRSFX- Flame Charge1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "20": [ + { + "frameIndex": 20, + "resourceName": "PRSFX- Flame Charge2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 + }, + { + "id": 488, + "graphic": "PRAS- Fire", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -54.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 155, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -54.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -54, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 117, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -53.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -53.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -53, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -52.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -52.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -51, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 102.5, + "y": -52, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 101, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 77, + "y": -40, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 74, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 51.5, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 47, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 26, + "y": -16, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 20, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": -2.5, + "y": 1.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0.5, + "y": -4, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": -6.5, + "y": 7, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": -18, + "y": 9.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -10, + "y": 0.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -18, + "y": 12.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 9, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": -33, + "y": 18, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -20.5, + "y": 5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": -29.5, + "y": 18, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 10, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": -48, + "y": 26.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -30.5, + "y": 9.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": -41, + "y": 23.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": -48, + "y": 26.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -54.5, + "y": 38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": -63.5, + "y": 44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 11, + "opacity": 255, + "priority": 2, + "focus": 3 + } + ], + [ + { + "x": -48, + "y": 26.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": -54.5, + "y": 38.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "tone": [ + 255, + 0, + 0, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": -16, + "y": 8.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -31.5, + "y": 16, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "tone": [ + 255, + 0, + 0, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -20, + "y": 5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "tone": [ + 255, + 0, + 0, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": -20, + "y": 5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "tone": [ + 255, + 0, + 0, + 0 + ], + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 178.5, + "y": -86.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 165.5, + "y": -81, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 153, + "y": -75.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 140.5, + "y": -70, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "1": [ + { + "frameIndex": 1, + "resourceName": "PRSFX- Flame Charge1.wav", + "volume": 100, + "pitch": 110, + "eventType": "AnimTimedSoundEvent" + } + ], + "15": [ + { + "frameIndex": 15, + "resourceName": "PRSFX- Flame Charge1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "20": [ + { + "frameIndex": 20, + "resourceName": "PRSFX- Flame Charge2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 1, + "hue": 0 + } +] \ No newline at end of file diff --git a/public/battle-anims/sparkly-swirl.json b/public/battle-anims/sparkly-swirl.json new file mode 100644 index 00000000000..7972d6bec03 --- /dev/null +++ b/public/battle-anims/sparkly-swirl.json @@ -0,0 +1,2236 @@ +{ + "id": 617, + "graphic": "PRAS- Strike", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -40, + -40, + -40, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -80, + -80, + -80, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 110, + "y": -48, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 154.5, + "y": -54, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 106, + "y": -80.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 141.5, + "y": -79, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 141.5, + "y": -45.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 114, + "y": -77.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 146, + "y": -58.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108.5, + "y": -38, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 154.5, + "y": -78, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 107, + "y": -73.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 134.5, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 111.5, + "y": -43, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 151.5, + "y": -40, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 125.5, + "y": -88.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 102.5, + "y": -42.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 146, + "y": -44.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 113.5, + "y": -57, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 140.5, + "y": -70.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 148, + "y": -37, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 93.5, + "y": -75.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 99.5, + "y": -41.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 154, + "y": -40.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 155.5, + "y": -85, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 104.5, + "y": -41.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 134, + "y": -43, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 154.5, + "y": -60, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 100, + "y": -56.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 149, + "y": -86.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 147, + "y": -41, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 107, + "y": -53.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 160, + "y": -69, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 102.5, + "y": -45, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 113, + "y": -80, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -43, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -120, + -120, + -120, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 105, + "y": -39.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -80, + -80, + -80, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + -40, + -40, + -40, + 0 + ], + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRAS- Flash FG", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 5, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 255, + "duration": 4, + "eventType": "AnimTimedUpdateBgEvent" + } + ], + "1": [ + { + "frameIndex": 1, + "resourceName": "Saint7.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "6": [ + { + "frameIndex": 6, + "resourceName": "Saint8.m4a", + "volume": 80, + "pitch": 60, + "eventType": "AnimTimedSoundEvent" + } + ], + "11": [ + { + "frameIndex": 11, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "13": [ + { + "frameIndex": 13, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "15": [ + { + "frameIndex": 15, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "17": [ + { + "frameIndex": 17, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "19": [ + { + "frameIndex": 19, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "21": [ + { + "frameIndex": 21, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "23": [ + { + "frameIndex": 23, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "25": [ + { + "frameIndex": 25, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "27": [ + { + "frameIndex": 27, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "29": [ + { + "frameIndex": 29, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "31": [ + { + "frameIndex": 31, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "33": [ + { + "frameIndex": 33, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "35": [ + { + "frameIndex": 35, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "37": [ + { + "frameIndex": 37, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "39": [ + { + "frameIndex": 39, + "resourceName": "", + "bgX": 0, + "bgY": 0, + "opacity": 0, + "duration": 4, + "eventType": "AnimTimedUpdateBgEvent" + }, + { + "frameIndex": 39, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "41": [ + { + "frameIndex": 41, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "43": [ + { + "frameIndex": 43, + "resourceName": "Blow1.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 4, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/splishy-splash.json b/public/battle-anims/splishy-splash.json new file mode 100644 index 00000000000..99718798bb5 --- /dev/null +++ b/public/battle-anims/splishy-splash.json @@ -0,0 +1,2458 @@ +[ + { + "id": 57, + "graphic": "", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Surf.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + }, + { + "frameIndex": 0, + "resourceName": "PRAS- Surf FG", + "bgX": -10, + "bgY": 365, + "opacity": 0, + "duration": 2, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "", + "bgX": 400, + "bgY": 340, + "duration": 45, + "eventType": "AnimTimedUpdateBgEvent" + } + ], + "1": [ + { + "frameIndex": 1, + "resourceName": "", + "opacity": 200, + "duration": 6, + "eventType": "AnimTimedUpdateBgEvent" + } + ], + "30": [ + { + "frameIndex": 30, + "resourceName": "", + "opacity": 0, + "duration": 15, + "eventType": "AnimTimedUpdateBgEvent" + } + ] + }, + "position": 4, + "hue": 0 + }, + { + "id": 57, + "graphic": "", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Surf.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + }, + { + "frameIndex": 0, + "resourceName": "PRAS- Surf FG Opp - Copie", + "bgX": -50, + "bgY": 0, + "opacity": 0, + "duration": 2, + "eventType": "AnimTimedAddBgEvent" + }, + { + "frameIndex": 0, + "resourceName": "", + "bgX": -600, + "bgY": 200, + "duration": 45, + "eventType": "AnimTimedUpdateBgEvent" + } + ], + "1": [ + { + "frameIndex": 1, + "resourceName": "", + "opacity": 200, + "duration": 6, + "eventType": "AnimTimedUpdateBgEvent" + } + ], + "30": [ + { + "frameIndex": 30, + "resourceName": "", + "opacity": 0, + "duration": 15, + "eventType": "AnimTimedUpdateBgEvent" + } + ] + }, + "position": 4, + "hue": 0 + } +] diff --git a/public/battle-anims/syrup-bomb.json b/public/battle-anims/syrup-bomb.json new file mode 100644 index 00000000000..82b3a39253e --- /dev/null +++ b/public/battle-anims/syrup-bomb.json @@ -0,0 +1,1800 @@ +[ + { + "id": 787, + "graphic": "GEN8- Apple Acid", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 80, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 70, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 80, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 90, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 90, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 80, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 70, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 80, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 90, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 14, + "y": -14, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 32, + "y": -36, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 52, + "y": -51.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 70, + "y": -66.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 89.5, + "y": -78.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 115, + "y": -75, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128.5, + "y": -66.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128.5, + "y": -66.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -59, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -53.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -48, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -42.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -37, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128.5, + "y": -29.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "Poison.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 + }, + { + "id": 787, + "graphic": "GEN8- Apple Acid", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 80, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 70, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 80, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 90, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 90, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 80, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 70, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 80, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 90, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 103, + "y": -77.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 80, + "y": -74, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 50.5, + "y": -54.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 33, + "y": -38, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 16.5, + "y": -13.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 7, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 4 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 14, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 4 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 21, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 4 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 4 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 35, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 4 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 42, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "Poison.m4a", + "volume": 80, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 + } +] \ No newline at end of file diff --git a/public/battle-anims/veevee-volley.json b/public/battle-anims/veevee-volley.json new file mode 100644 index 00000000000..7590707e65e --- /dev/null +++ b/public/battle-anims/veevee-volley.json @@ -0,0 +1,886 @@ +{ + "id": 216, + "graphic": "PRAS- Love", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": 0.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -6.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -0.5, + "y": 18.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 135, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -3, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -10, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -0.5, + "y": 14.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -7, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -13.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -0.5, + "y": 10.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -10.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -17, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -0.5, + "y": 6.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -14.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -21, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -0.5, + "y": 2.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -18, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -24.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -0.5, + "y": -1, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -22, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -28, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -0.5, + "y": -5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -25.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -31.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -0.5, + "y": -9, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -29, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -35, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": -0.5, + "y": -13, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -33, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 130, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -39, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 130, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -16.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 8, + "y": -2, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 27, + "y": -37, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 70, + "priority": 1, + "focus": 2 + }, + { + "x": -30, + "y": -43.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 70, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 130, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 16, + "y": -6, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": -24.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 70, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 24, + "y": -8, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -58, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 12, + "y": -4, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -58, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 255, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 3 + }, + { + "x": 124, + "y": -58, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 130, + "priority": 1, + "focus": 3 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Return1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "11": [ + { + "frameIndex": 11, + "resourceName": "PRSFX- Return2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 3, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/wicked-torque.json b/public/battle-anims/wicked-torque.json new file mode 100644 index 00000000000..c20bac6a4f1 --- /dev/null +++ b/public/battle-anims/wicked-torque.json @@ -0,0 +1,14194 @@ +{ + "id": 663, + "graphic": "PRAS- Coil", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 27, + 0, + 0, + 19 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 54, + 0, + 0, + 39 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 82, + 0, + 0, + 59 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 109, + 0, + 0, + 78 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 137, + 0, + 0, + 98 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 58, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -22.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 164, + 0, + 0, + 118 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -22.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -22.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": -22.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": -22.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": -22.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -22.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -22.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -22.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": -22.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": -22.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": -22.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -22.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -22.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -22.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": -22.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": -22.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": -22.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -22.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 35.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 58, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -45, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -45, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -45, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -45, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": -45, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": -45, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": -45, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -45, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -45, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -45, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": -45, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": -45, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": -45, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -45, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -45, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -45, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": -45, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": -45, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": -45, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 13, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 35.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 58, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -67.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -67.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -67.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -67.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -67.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": -67.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": -67.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": -67.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -67.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -67.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -67.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": -67.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": -67.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": -67.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -67.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -67.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -67.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": -67.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": -67.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": -8.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 13, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 35.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": -90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": -90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": -90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": -90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": -90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": -90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": -90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": -90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": -32, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -8.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 13, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": -112, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -112, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": -112, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": -112, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -112, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -112, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -112, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": -112, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": -112, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": -112, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -112, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -112, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -112, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": -112, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": -112, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": -112, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -112, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -112, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": -112, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": -54, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -32, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -8.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -80, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -54, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -32, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -80, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": -54, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -107, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": -107, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": -107, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 1 + }, + { + "x": -107, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": -107, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": -107, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 1 + }, + { + "x": -107, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -107, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": -107, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": -107, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 1 + } + ], + [ + { + "x": -84, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": -83.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": -83.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 1 + }, + { + "x": -83.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": -83.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": -83.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 1 + }, + { + "x": -83.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": -83.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -83.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": -83.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 1 + } + ], + [ + { + "x": -60.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": -59.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": -59.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 1 + }, + { + "x": -59.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": -59.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": -59.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 1 + }, + { + "x": -59.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": -59.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": -59.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -59.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 1 + } + ], + [ + { + "x": -35.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -35.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": -35.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": -35.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": -35.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -35.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -35.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -35.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": -35.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": -35.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": -35.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -35.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -35.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -35.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": -35.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": -35.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": -35.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -35.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -35.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": -11.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": -11.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -11.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": -11.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": -11.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": -11.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -11.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -11.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -11.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": -11.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": -11.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": -11.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -11.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -11.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -11.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": -11.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": -11.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": -11.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": -11.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -67.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 12.5, + "y": -63.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 12.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 12.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 12.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 12.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 12.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 12.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 12.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 12.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 12.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 12.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -45, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -67.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 36.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 36.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 36.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 1 + }, + { + "x": 36.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 36.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 36.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 1 + }, + { + "x": 36.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 36.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 36.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 36.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 1 + }, + { + "x": -20, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -45, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -67.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 60, + "y": -64.5, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 60.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 60.5, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 1 + }, + { + "x": 60.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 60.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 60.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 1 + }, + { + "x": 60.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 60.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 60.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 60.5, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 1 + }, + { + "x": 4, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -20, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -45, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 84, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 84, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 84, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 1 + }, + { + "x": 84, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 84, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 84, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 1 + }, + { + "x": 84, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 84, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 84, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 84, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 1 + }, + { + "x": 27.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": -20, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 108, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 108, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 108, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 108, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 108, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 108, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 108, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 108, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 108, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 108, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 108, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 51.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 27.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 4, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 132.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 132, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 132, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 132, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 132, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 132, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 132, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 76, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 51.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 27.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 132, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 155, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 156, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 156, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 156, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 156, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 156, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 156, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 1 + }, + { + "x": 156, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 156, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 156, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 99.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 76, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 51.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 156, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 178, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 180, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 180, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 1 + }, + { + "x": 180, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 180, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 180, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 1 + }, + { + "x": 180, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 1 + }, + { + "x": 180, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 180, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 1 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 99.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 76, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 180, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 204, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 204, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 1 + }, + { + "x": 204, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 204, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 204, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 1 + }, + { + "x": 204, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 204, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 1 + }, + { + "x": 204, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 1 + }, + { + "x": 148, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 99.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 204, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + } + ], + [ + { + "x": 224, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 228, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 1 + }, + { + "x": 228, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 228, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 228, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 1 + }, + { + "x": 228, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + }, + { + "x": 228, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 1 + }, + { + "x": 228, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -44, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 1 + }, + { + "x": 170.5, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 148, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 124, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 228, + "y": -84, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 169, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 148, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 192, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + }, + { + "x": 169, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 192, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 1 + } + ], + [ + { + "x": 241, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 241, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 241, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 241, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 241, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 241, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 241, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": 241, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 241, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 241, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 241, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 241, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 241, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": 241, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 241, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 241, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 241, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 241, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 241, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + } + ], + [ + { + "x": 210.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 210.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 210.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 210.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 210.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 210.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 210.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": 210.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 210.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 210.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 210.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 210.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 210.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": 210.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 210.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 210.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 210.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 210.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 210.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + } + ], + [ + { + "x": 180.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 180.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 180.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 180.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 180.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 180.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": 180.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 180.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 180.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 180.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 180.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 180.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": 180.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 180.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 180.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 180.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 180.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 180.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": 180.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + } + ], + [ + { + "x": 150.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 150.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 150.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 150.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 150.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 150.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 150.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 150.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 150.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 150.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 150.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 150.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 150.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 150.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 150.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 150.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 150.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 150.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 150.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + } + ], + [ + { + "x": 120.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 120.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 120.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 120.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 120.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 120.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 120.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 120.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 120.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 120.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 120.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 120.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 120.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 120.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 120.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 120.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 120.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 120.5, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 178.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 120.5, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + } + ], + [ + { + "x": 90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 90, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 90, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 148.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 178.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 90, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 60, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 60, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 60, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": 60, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 60, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 60, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": 120, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 148.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 178.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 30, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 30, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 30, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 30, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 30, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 30, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 30, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": 30, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 30, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 30, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 30, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 30, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 30, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": 30, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 30, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 30, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 30, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 30, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 30, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": 88, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 148.5, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 192, + 0, + 0, + 138 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 88, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 120, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 168, + 0, + 0, + 120 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 88, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 144, + 0, + 0, + 103 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 150, + 0, + 0, + 150 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 4, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 60, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 12, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 120, + 0, + 0, + 86 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 120, + 0, + 0, + 120 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 3, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 96, + 0, + 0, + 69 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 90, + 0, + 0, + 90 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 0, + "opacity": 144, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "mirror": true, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 72, + 0, + 0, + 51 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 60, + 0, + 0, + 60 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 1, + "opacity": 144, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 48, + 0, + 0, + 34 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "color": [ + 30, + 0, + 0, + 30 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 2, + "opacity": 144, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "color": [ + 24, + 0, + 0, + 17 + ], + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": -20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 20, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "blendType": 2, + "target": 2, + "graphicFrame": 5, + "opacity": 144, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Brutal Swing1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "5": [ + { + "frameIndex": 5, + "resourceName": "PRSFX- Brutal Swing2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "14": [ + { + "frameIndex": 14, + "resourceName": "PRSFX- Brutal Swing2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "31": [ + { + "frameIndex": 31, + "resourceName": "PRSFX- Brutal Swing2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "40": [ + { + "frameIndex": 40, + "resourceName": "PRSFX- Brutal Swing1.wav", + "volume": 100, + "pitch": 120, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 2, + "hue": 0 +} \ No newline at end of file diff --git a/public/battle-anims/zippy-zap.json b/public/battle-anims/zippy-zap.json new file mode 100644 index 00000000000..ffc22e7b75a --- /dev/null +++ b/public/battle-anims/zippy-zap.json @@ -0,0 +1,3133 @@ +{ + "id": 716, + "graphic": "PRAS- Electric", + "frames": [ + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 50, + "zoomY": 50, + "angle": 126, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 50, + "zoomY": 50, + "angle": 306, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 50, + "zoomY": 50, + "angle": 195, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 50, + "zoomY": 50, + "angle": 101, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 25, + 25, + -26, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 251, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 155, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 38, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "angle": 91, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 51, + 51, + -51, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 140, + "zoomY": 140, + "angle": 139, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 140, + "zoomY": 140, + "angle": 252, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 140, + "zoomY": 140, + "angle": 291, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 140, + "zoomY": 140, + "angle": 145, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 76, + 76, + -77, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 170, + "zoomY": 170, + "angle": 205, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 170, + "zoomY": 170, + "angle": 45, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 170, + "zoomY": 170, + "angle": 228, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 170, + "zoomY": 170, + "angle": 121, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 102, + 102, + -102, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 190, + "zoomY": 190, + "angle": 210, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 190, + "zoomY": 190, + "angle": 124, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 190, + "zoomY": 190, + "angle": 10, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 190, + "zoomY": 190, + "angle": 242, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 127, + 127, + -128, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "angle": 253, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "angle": 53, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "angle": 225, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 200, + "zoomY": 200, + "angle": 324, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 153, + 153, + -153, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 205, + "zoomY": 205, + "angle": 58, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 205, + "zoomY": 205, + "angle": 152, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 205, + "zoomY": 205, + "angle": 269, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 205, + "zoomY": 205, + "angle": 205, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "tone": [ + 178, + 178, + -179, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 339, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 133, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 39, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 346, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 170, + "tone": [ + 204, + 204, + -204, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 43, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 192, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 154, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 355, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 85, + "tone": [ + 229, + 229, + -230, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 160, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 74, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 187, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 223, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "tone": [ + 255, + 255, + -255, + 0 + ], + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 111, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 304, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 346, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 199, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 232, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 268, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 83, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 158, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 134, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 331, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 252, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 191, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 192, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 46, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 308, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 241, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 312, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 196, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 18, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 149, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 11, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 135, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 325, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 248, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 2 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 32, + "y": -16, + "zoomX": 130, + "zoomY": 130, + "angle": 167, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 60, + "tone": [ + 127, + 127, + 127, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 32, + "y": -16, + "zoomX": 130, + "zoomY": 130, + "angle": 117, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 60, + "tone": [ + 127, + 127, + 127, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 32, + "y": -16, + "zoomX": 130, + "zoomY": 130, + "angle": 224, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 60, + "tone": [ + 127, + 127, + 127, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 32, + "y": -16, + "zoomX": 130, + "zoomY": 130, + "angle": 341, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 60, + "tone": [ + 127, + 127, + 127, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -32, + "zoomX": 50, + "zoomY": 50, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 30, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -32, + "zoomX": 50, + "zoomY": 50, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 30, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -32, + "zoomX": 50, + "zoomY": 50, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 30, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -32, + "zoomX": 50, + "zoomY": 50, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 30, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 112, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 26, + "opacity": 255, + "tone": [ + 0, + 75, + 0, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 27, + "opacity": 255, + "tone": [ + 75, + 150, + 0, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 0, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 144, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 28, + "opacity": 255, + "tone": [ + 0, + 75, + 0, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 1, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 64, + "y": -32, + "zoomX": 50, + "zoomY": 50, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 30, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -32, + "zoomX": 50, + "zoomY": 50, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 30, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -32, + "zoomX": 50, + "zoomY": 50, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 30, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 64, + "y": -32, + "zoomX": 50, + "zoomY": 50, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 30, + "tone": [ + 255, + 255, + 255, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 2, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 32, + "y": -16, + "zoomX": 130, + "zoomY": 130, + "angle": 10, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 60, + "tone": [ + 127, + 127, + 127, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 32, + "y": -16, + "zoomX": 130, + "zoomY": 130, + "angle": 111, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 60, + "tone": [ + 127, + 127, + 127, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 32, + "y": -16, + "zoomX": 130, + "zoomY": 130, + "angle": 192, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 60, + "tone": [ + 127, + 127, + 127, + 0 + ], + "priority": 1, + "focus": 3 + }, + { + "x": 32, + "y": -16, + "zoomX": 130, + "zoomY": 130, + "angle": 252, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 60, + "tone": [ + 127, + 127, + 127, + 0 + ], + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 3, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 292, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 343, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 168, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 88, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 4, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 341, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 129, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 227, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 286, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 85, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 5, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 359, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 162, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 44, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 288, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 175, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 6, + "opacity": 255, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 15, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 170, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 226, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 210, + "zoomY": 210, + "angle": 73, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 90, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 191, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 7, + "opacity": 214, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 170, + "zoomY": 170, + "angle": 85, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 72, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 170, + "zoomY": 170, + "angle": 145, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 72, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 170, + "zoomY": 170, + "angle": 18, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 72, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 170, + "zoomY": 170, + "angle": 344, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 72, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 207, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 2, + "graphicFrame": 8, + "opacity": 173, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 130, + "zoomY": 130, + "angle": 12, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 54, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 130, + "zoomY": 130, + "angle": 282, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 54, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 130, + "zoomY": 130, + "angle": 341, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 54, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 130, + "zoomY": 130, + "angle": 107, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 54, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 223, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 90, + "zoomY": 90, + "angle": 76, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 36, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 90, + "zoomY": 90, + "angle": 115, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 36, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 90, + "zoomY": 90, + "angle": 284, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 36, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 90, + "zoomY": 90, + "angle": 227, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 36, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 239, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + }, + { + "x": 0, + "y": 0, + "zoomX": 50, + "zoomY": 50, + "angle": 260, + "visible": true, + "target": 2, + "graphicFrame": 46, + "opacity": 18, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 50, + "zoomY": 50, + "angle": 4, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 18, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 50, + "zoomY": 50, + "angle": 320, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 18, + "priority": 1, + "focus": 3 + }, + { + "x": 0, + "y": 0, + "zoomX": 50, + "zoomY": 50, + "angle": 190, + "visible": true, + "blendType": 1, + "target": 2, + "graphicFrame": 46, + "opacity": 18, + "priority": 1, + "focus": 3 + } + ], + [ + { + "x": 0, + "y": 0, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 0, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 2 + }, + { + "x": 128, + "y": -64, + "zoomX": 100, + "zoomY": 100, + "visible": true, + "target": 1, + "graphicFrame": 0, + "opacity": 255, + "locked": true, + "priority": 1, + "focus": 1 + } + ] + ], + "frameTimedEvents": { + "0": [ + { + "frameIndex": 0, + "resourceName": "PRSFX- Zing Zap1.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "9": [ + { + "frameIndex": 9, + "resourceName": "PRSFX- Zing Zap2.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "25": [ + { + "frameIndex": 25, + "resourceName": "PRSFX- Zing Zap3.wav", + "volume": 65, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ], + "28": [ + { + "frameIndex": 28, + "resourceName": "PRSFX- Zing Zap4.wav", + "volume": 100, + "pitch": 100, + "eventType": "AnimTimedSoundEvent" + } + ] + }, + "position": 2, + "hue": 0 +} \ No newline at end of file diff --git a/public/images/egg/egg.json b/public/images/egg/egg.json index 420d9e57e7b..4e5f7a7de21 100644 --- a/public/images/egg/egg.json +++ b/public/images/egg/egg.json @@ -5,7 +5,7 @@ "format": "RGBA8888", "size": { "w": 138, - "h": 30 + "h": 31 }, "scale": 1, "frames": [ @@ -99,19 +99,19 @@ "trimmed": false, "sourceSize": { "w": 26, - "h": 30 + "h": 31 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 26, - "h": 30 + "h": 31 }, "frame": { "x": 112, "y": 0, "w": 26, - "h": 30 + "h": 31 } } ] diff --git a/public/images/egg/egg.png b/public/images/egg/egg.png index 5269eff1680..2943e83b5ea 100644 Binary files a/public/images/egg/egg.png and b/public/images/egg/egg.png differ diff --git a/public/images/events/september-update-de.png b/public/images/events/september-update-de.png new file mode 100644 index 00000000000..1ecb46e408c Binary files /dev/null and b/public/images/events/september-update-de.png differ diff --git a/public/images/events/september-update-en.png b/public/images/events/september-update-en.png new file mode 100644 index 00000000000..57dd130b98d Binary files /dev/null and b/public/images/events/september-update-en.png differ diff --git a/public/images/events/september-update-es.png b/public/images/events/september-update-es.png new file mode 100644 index 00000000000..8c294d21403 Binary files /dev/null and b/public/images/events/september-update-es.png differ diff --git a/public/images/events/september-update-fr.png b/public/images/events/september-update-fr.png new file mode 100644 index 00000000000..4be33c85e9a Binary files /dev/null and b/public/images/events/september-update-fr.png differ diff --git a/public/images/events/september-update-it.png b/public/images/events/september-update-it.png new file mode 100644 index 00000000000..62542f4eb9b Binary files /dev/null and b/public/images/events/september-update-it.png differ diff --git a/public/images/events/september-update-ja.png b/public/images/events/september-update-ja.png new file mode 100644 index 00000000000..93e18c51223 Binary files /dev/null and b/public/images/events/september-update-ja.png differ diff --git a/public/images/events/september-update-ko.png b/public/images/events/september-update-ko.png new file mode 100644 index 00000000000..13585327fce Binary files /dev/null and b/public/images/events/september-update-ko.png differ diff --git a/public/images/events/september-update-pt_BR.png b/public/images/events/september-update-pt_BR.png new file mode 100644 index 00000000000..8dd8b8759e9 Binary files /dev/null and b/public/images/events/september-update-pt_BR.png differ diff --git a/public/images/events/september-update-zh_CN.png b/public/images/events/september-update-zh_CN.png new file mode 100644 index 00000000000..ee56d644d24 Binary files /dev/null and b/public/images/events/september-update-zh_CN.png differ diff --git a/public/images/items.json b/public/images/items.json index c347790b92f..bb86b46aa4d 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -4,8 +4,8 @@ "image": "items.png", "format": "RGBA8888", "size": { - "w": 425, - "h": 425 + "w": 426, + "h": 426 }, "scale": 1, "frames": [ @@ -240,6 +240,27 @@ "h": 31 } }, + { + "filename": "inverse", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 30 + }, + "frame": { + "x": 0, + "y": 241, + "w": 22, + "h": 30 + } + }, { "filename": "ribbon_gen3", "rotated": false, @@ -256,7 +277,7 @@ }, "frame": { "x": 0, - "y": 241, + "y": 271, "w": 22, "h": 29 } @@ -277,7 +298,7 @@ }, "frame": { "x": 0, - "y": 270, + "y": 300, "w": 22, "h": 29 } @@ -298,7 +319,7 @@ }, "frame": { "x": 0, - "y": 299, + "y": 329, "w": 22, "h": 29 } @@ -340,7 +361,7 @@ }, "frame": { "x": 0, - "y": 328, + "y": 358, "w": 22, "h": 28 } @@ -361,28 +382,7 @@ }, "frame": { "x": 0, - "y": 356, - "w": 22, - "h": 28 - } - }, - { - "filename": "ribbon_gen6", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 22, - "h": 28 - }, - "frame": { - "x": 0, - "y": 384, + "y": 386, "w": 22, "h": 28 } @@ -619,7 +619,7 @@ } }, { - "filename": "elixir", + "filename": "lock_capsule", "rotated": false, "trimmed": true, "sourceSize": { @@ -628,15 +628,15 @@ }, "spriteSourceSize": { "x": 7, - "y": 4, - "w": 18, - "h": 24 + "y": 5, + "w": 19, + "h": 22 }, "frame": { "x": 407, "y": 0, - "w": 18, - "h": 24 + "w": 19, + "h": 22 } }, { @@ -724,7 +724,7 @@ } }, { - "filename": "ribbon_gen8", + "filename": "ribbon_gen6", "rotated": false, "trimmed": true, "sourceSize": { @@ -744,6 +744,27 @@ "h": 28 } }, + { + "filename": "ribbon_gen8", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 2, + "w": 22, + "h": 28 + }, + "frame": { + "x": 22, + "y": 237, + "w": 22, + "h": 28 + } + }, { "filename": "black_augurite", "rotated": false, @@ -760,7 +781,7 @@ }, "frame": { "x": 22, - "y": 237, + "y": 265, "w": 22, "h": 25 } @@ -781,7 +802,7 @@ }, "frame": { "x": 22, - "y": 262, + "y": 290, "w": 23, "h": 24 } @@ -802,7 +823,7 @@ }, "frame": { "x": 22, - "y": 286, + "y": 314, "w": 24, "h": 24 } @@ -823,7 +844,7 @@ }, "frame": { "x": 22, - "y": 310, + "y": 338, "w": 24, "h": 24 } @@ -844,7 +865,7 @@ }, "frame": { "x": 22, - "y": 334, + "y": 362, "w": 24, "h": 24 } @@ -865,13 +886,13 @@ }, "frame": { "x": 22, - "y": 358, + "y": 386, "w": 24, "h": 24 } }, { - "filename": "earth_plate", + "filename": "mega_bracelet", "rotated": false, "trimmed": true, "sourceSize": { @@ -879,20 +900,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 + "x": 6, + "y": 8, + "w": 20, + "h": 16 }, "frame": { "x": 22, - "y": 382, - "w": 24, - "h": 24 + "y": 410, + "w": 20, + "h": 16 } }, { - "filename": "coupon", + "filename": "relic_band", "rotated": false, "trimmed": true, "sourceSize": { @@ -900,37 +921,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 + "x": 7, + "y": 9, + "w": 17, + "h": 16 }, "frame": { - "x": 22, - "y": 406, - "w": 23, - "h": 19 - } - }, - { - "filename": "golden_mystic_ticket", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 45, - "y": 406, - "w": 23, - "h": 19 + "x": 42, + "y": 410, + "w": 17, + "h": 16 } }, { @@ -955,7 +955,7 @@ } }, { - "filename": "mega_bracelet", + "filename": "abomasite", "rotated": false, "trimmed": true, "sourceSize": { @@ -963,20 +963,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 6, + "x": 8, "y": 8, - "w": 20, + "w": 16, "h": 16 }, "frame": { "x": 28, "y": 70, - "w": 20, + "w": 16, "h": 16 } }, { - "filename": "calcium", + "filename": "absolite", "rotated": false, "trimmed": true, "sourceSize": { @@ -985,36 +985,15 @@ }, "spriteSourceSize": { "x": 8, - "y": 4, + "y": 8, "w": 16, - "h": 24 + "h": 16 }, "frame": { - "x": 39, - "y": 86, + "x": 44, + "y": 70, "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": 39, - "y": 110, - "w": 16, - "h": 24 + "h": 16 } }, { @@ -1033,11 +1012,32 @@ }, "frame": { "x": 39, - "y": 134, + "y": 86, "w": 21, "h": 24 } }, + { + "filename": "earth_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 39, + "y": 110, + "w": 24, + "h": 24 + } + }, { "filename": "fist_plate", "rotated": false, @@ -1054,7 +1054,7 @@ }, "frame": { "x": 39, - "y": 158, + "y": 134, "w": 24, "h": 24 } @@ -1075,7 +1075,7 @@ }, "frame": { "x": 39, - "y": 182, + "y": 158, "w": 24, "h": 24 } @@ -1095,8 +1095,8 @@ "h": 24 }, "frame": { - "x": 44, - "y": 206, + "x": 39, + "y": 182, "w": 24, "h": 24 } @@ -1117,7 +1117,7 @@ }, "frame": { "x": 44, - "y": 230, + "y": 206, "w": 24, "h": 24 } @@ -1137,8 +1137,8 @@ "h": 24 }, "frame": { - "x": 45, - "y": 254, + "x": 44, + "y": 230, "w": 24, "h": 24 } @@ -1158,8 +1158,8 @@ "h": 24 }, "frame": { - "x": 46, - "y": 278, + "x": 44, + "y": 254, "w": 24, "h": 24 } @@ -1179,8 +1179,8 @@ "h": 24 }, "frame": { - "x": 46, - "y": 302, + "x": 45, + "y": 278, "w": 24, "h": 24 } @@ -1201,7 +1201,7 @@ }, "frame": { "x": 46, - "y": 326, + "y": 302, "w": 24, "h": 24 } @@ -1222,7 +1222,7 @@ }, "frame": { "x": 46, - "y": 350, + "y": 326, "w": 24, "h": 24 } @@ -1243,137 +1243,11 @@ }, "frame": { "x": 46, - "y": 374, + "y": 350, "w": 24, "h": 24 } }, - { - "filename": "abomasite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 48, - "y": 70, - "w": 16, - "h": 16 - } - }, - { - "filename": "ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 55, - "y": 86, - "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": 55, - "y": 110, - "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": 60, - "y": 134, - "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": 63, - "y": 158, - "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": 63, - "y": 182, - "w": 23, - "h": 24 - } - }, { "filename": "lucky_punch_great", "rotated": false, @@ -1389,180 +1263,12 @@ "h": 24 }, "frame": { - "x": 68, - "y": 206, - "w": 24, - "h": 24 - } - }, - { - "filename": "lucky_punch_master", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 68, - "y": 230, - "w": 24, - "h": 24 - } - }, - { - "filename": "lucky_punch_ultra", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 69, - "y": 254, - "w": 24, - "h": 24 - } - }, - { - "filename": "lustrous_globe", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 278, - "w": 24, - "h": 24 - } - }, - { - "filename": "meadow_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 302, - "w": 24, - "h": 24 - } - }, - { - "filename": "mind_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 326, - "w": 24, - "h": 24 - } - }, - { - "filename": "muscle_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 350, - "w": 24, - "h": 24 - } - }, - { - "filename": "pixie_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, + "x": 46, "y": 374, "w": 24, "h": 24 } }, - { - "filename": "salac_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 68, - "y": 398, - "w": 24, - "h": 24 - } - }, { "filename": "ability_capsule", "rotated": false, @@ -1585,7 +1291,7 @@ } }, { - "filename": "lure", + "filename": "calcium", "rotated": false, "trimmed": true, "sourceSize": { @@ -1595,39 +1301,18 @@ "spriteSourceSize": { "x": 8, "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 92, - "y": 398, - "w": 17, - "h": 24 - } - }, - { - "filename": "max_elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, + "w": 16, "h": 24 }, "frame": { "x": 59, "y": 27, - "w": 18, + "w": 16, "h": 24 } }, { - "filename": "scanner", + "filename": "lucky_punch_master", "rotated": false, "trimmed": true, "sourceSize": { @@ -1641,14 +1326,14 @@ "h": 24 }, "frame": { - "x": 77, + "x": 75, "y": 26, "w": 24, "h": 24 } }, { - "filename": "silk_scarf", + "filename": "lucky_punch_ultra", "rotated": false, "trimmed": true, "sourceSize": { @@ -1662,12 +1347,33 @@ "h": 24 }, "frame": { - "x": 101, + "x": 99, "y": 26, "w": 24, "h": 24 } }, + { + "filename": "revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 12, + "h": 17 + }, + "frame": { + "x": 123, + "y": 26, + "w": 12, + "h": 17 + } + }, { "filename": "big_mushroom", "rotated": false, @@ -1710,6 +1416,69 @@ "h": 23 } }, + { + "filename": "elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 60, + "y": 70, + "w": 18, + "h": 24 + } + }, + { + "filename": "coin_case", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 78, + "y": 73, + "w": 24, + "h": 23 + } + }, + { + "filename": "kings_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 102, + "y": 50, + "w": 23, + "h": 24 + } + }, { "filename": "berry_pouch", "rotated": false, @@ -1726,11 +1495,284 @@ }, "frame": { "x": 102, - "y": 50, + "y": 74, "w": 23, "h": 23 } }, + { + "filename": "aerodactylite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 60, + "y": 94, + "w": 16, + "h": 16 + } + }, + { + "filename": "carbos", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 63, + "y": 110, + "w": 16, + "h": 24 + } + }, + { + "filename": "ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 63, + "y": 134, + "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": 63, + "y": 158, + "w": 18, + "h": 24 + } + }, + { + "filename": "lustrous_globe", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 63, + "y": 182, + "w": 24, + "h": 24 + } + }, + { + "filename": "max_revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 24 + }, + "frame": { + "x": 68, + "y": 206, + "w": 22, + "h": 24 + } + }, + { + "filename": "meadow_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 68, + "y": 230, + "w": 24, + "h": 24 + } + }, + { + "filename": "mind_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 68, + "y": 254, + "w": 24, + "h": 24 + } + }, + { + "filename": "muscle_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 69, + "y": 278, + "w": 24, + "h": 24 + } + }, + { + "filename": "pixie_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 70, + "y": 302, + "w": 24, + "h": 24 + } + }, + { + "filename": "salac_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 70, + "y": 326, + "w": 24, + "h": 24 + } + }, + { + "filename": "scanner", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 70, + "y": 350, + "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": 70, + "y": 374, + "w": 24, + "h": 24 + } + }, { "filename": "sky_plate", "rotated": false, @@ -1746,14 +1788,14 @@ "h": 24 }, "frame": { - "x": 125, - "y": 36, + "x": 59, + "y": 398, "w": 24, "h": 24 } }, { - "filename": "choice_specs", + "filename": "hp_up", "rotated": false, "trimmed": true, "sourceSize": { @@ -1761,41 +1803,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 24, - "h": 18 - }, - "frame": { - "x": 125, - "y": 60, - "w": 24, - "h": 18 - } - }, - { - "filename": "max_ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, + "x": 8, "y": 4, - "w": 18, + "w": 16, "h": 24 }, "frame": { - "x": 149, - "y": 36, - "w": 18, + "x": 83, + "y": 398, + "w": 16, "h": 24 } }, { - "filename": "adamant_crystal", + "filename": "reveal_glass", "rotated": false, "trimmed": true, "sourceSize": { @@ -1804,15 +1825,36 @@ }, "spriteSourceSize": { "x": 4, - "y": 6, + "y": 4, "w": 23, - "h": 21 + "h": 24 }, "frame": { - "x": 149, - "y": 60, + "x": 79, + "y": 96, "w": 23, - "h": 21 + "h": 24 + } + }, + { + "filename": "dynamax_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 23, + "h": 23 + }, + "frame": { + "x": 102, + "y": 97, + "w": 23, + "h": 23 } }, { @@ -1830,8 +1872,8 @@ "h": 24 }, "frame": { - "x": 167, - "y": 21, + "x": 81, + "y": 120, "w": 24, "h": 24 } @@ -1851,12 +1893,54 @@ "h": 24 }, "frame": { - "x": 191, - "y": 21, + "x": 81, + "y": 144, "w": 24, "h": 24 } }, + { + "filename": "oval_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 105, + "y": 120, + "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": 105, + "y": 144, + "w": 21, + "h": 24 + } + }, { "filename": "stone_plate", "rotated": false, @@ -1872,12 +1956,33 @@ "h": 24 }, "frame": { - "x": 215, - "y": 21, + "x": 87, + "y": 168, "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": 111, + "y": 168, + "w": 16, + "h": 24 + } + }, { "filename": "sun_stone", "rotated": false, @@ -1893,12 +1998,33 @@ "h": 24 }, "frame": { - "x": 239, - "y": 21, + "x": 90, + "y": 192, "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": 114, + "y": 192, + "w": 17, + "h": 24 + } + }, { "filename": "toxic_plate", "rotated": false, @@ -1914,8 +2040,8 @@ "h": 24 }, "frame": { - "x": 263, - "y": 21, + "x": 92, + "y": 216, "w": 24, "h": 24 } @@ -1935,14 +2061,14 @@ "h": 24 }, "frame": { - "x": 287, - "y": 21, + "x": 92, + "y": 240, "w": 24, "h": 24 } }, { - "filename": "silver_powder", + "filename": "max_elixir", "rotated": false, "trimmed": true, "sourceSize": { @@ -1950,41 +2076,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, - "y": 11, - "w": 24, - "h": 15 - }, - "frame": { - "x": 167, - "y": 45, - "w": 24, - "h": 15 - } - }, - { - "filename": "max_revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, + "x": 7, "y": 4, - "w": 22, + "w": 18, "h": 24 }, "frame": { - "x": 311, - "y": 21, - "w": 22, + "x": 116, + "y": 216, + "w": 18, "h": 24 } }, { - "filename": "coin_case", + "filename": "max_ether", "rotated": false, "trimmed": true, "sourceSize": { @@ -1992,16 +2097,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 + "x": 7, + "y": 4, + "w": 18, + "h": 24 }, "frame": { - "x": 333, - "y": 20, - "w": 24, - "h": 23 + "x": 116, + "y": 240, + "w": 18, + "h": 24 } }, { @@ -2019,12 +2124,75 @@ "h": 23 }, "frame": { - "x": 357, - "y": 20, + "x": 93, + "y": 264, "w": 24, "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": 117, + "y": 264, + "w": 22, + "h": 23 + } + }, + { + "filename": "silver_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 11, + "w": 24, + "h": 15 + }, + "frame": { + "x": 93, + "y": 287, + "w": 24, + "h": 15 + } + }, + { + "filename": "griseous_core", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 94, + "y": 302, + "w": 23, + "h": 23 + } + }, { "filename": "hearthflame_mask", "rotated": false, @@ -2040,138 +2208,12 @@ "h": 23 }, "frame": { - "x": 381, - "y": 20, + "x": 94, + "y": 325, "w": 24, "h": 23 } }, - { - "filename": "red_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 20, - "h": 24 - }, - "frame": { - "x": 405, - "y": 24, - "w": 20, - "h": 24 - } - }, - { - "filename": "amulet_coin", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 172, - "y": 60, - "w": 23, - "h": 21 - } - }, - { - "filename": "candy_overlay", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 12, - "w": 16, - "h": 15 - }, - "frame": { - "x": 191, - "y": 45, - "w": 16, - "h": 15 - } - }, - { - "filename": "dragon_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 24, - "h": 18 - }, - "frame": { - "x": 207, - "y": 45, - "w": 24, - "h": 18 - } - }, - { - "filename": "exp_balance", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 231, - "y": 45, - "w": 24, - "h": 22 - } - }, - { - "filename": "exp_share", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 255, - "y": 45, - "w": 24, - "h": 22 - } - }, { "filename": "leppa_berry", "rotated": false, @@ -2187,8 +2229,8 @@ "h": 23 }, "frame": { - "x": 279, - "y": 45, + "x": 94, + "y": 348, "w": 24, "h": 23 } @@ -2208,264 +2250,12 @@ "h": 23 }, "frame": { - "x": 303, - "y": 45, + "x": 94, + "y": 371, "w": 24, "h": 23 } }, - { - "filename": "revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 12, - "h": 17 - }, - "frame": { - "x": 195, - "y": 60, - "w": 12, - "h": 17 - } - }, - { - "filename": "icy_reins_of_unity", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 207, - "y": 63, - "w": 24, - "h": 20 - } - }, - { - "filename": "metal_powder", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 24, - "h": 20 - }, - "frame": { - "x": 231, - "y": 67, - "w": 24, - "h": 20 - } - }, - { - "filename": "peat_block", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 255, - "y": 67, - "w": 24, - "h": 22 - } - }, - { - "filename": "twisted_spoon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 279, - "y": 68, - "w": 24, - "h": 23 - } - }, - { - "filename": "dynamax_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 23 - }, - "frame": { - "x": 303, - "y": 68, - "w": 23, - "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": 327, - "y": 45, - "w": 22, - "h": 23 - } - }, - { - "filename": "griseous_core", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 326, - "y": 68, - "w": 23, - "h": 23 - } - }, - { - "filename": "reveal_glass", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 349, - "y": 43, - "w": 23, - "h": 24 - } - }, - { - "filename": "leek", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 372, - "y": 43, - "w": 23, - "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": 349, - "y": 67, - "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": 372, - "y": 66, - "w": 23, - "h": 23 - } - }, { "filename": "bug_tera_shard", "rotated": false, @@ -2481,14 +2271,98 @@ "h": 23 }, "frame": { - "x": 395, - "y": 48, + "x": 117, + "y": 287, "w": 22, "h": 23 } }, { - "filename": "auspicious_armor", + "filename": "red_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 20, + "h": 24 + }, + "frame": { + "x": 99, + "y": 394, + "w": 20, + "h": 24 + } + }, + { + "filename": "candy_overlay", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 12, + "w": 16, + "h": 15 + }, + "frame": { + "x": 117, + "y": 310, + "w": 16, + "h": 15 + } + }, + { + "filename": "max_lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 118, + "y": 325, + "w": 17, + "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": 118, + "y": 349, + "w": 18, + "h": 24 + } + }, + { + "filename": "adamant_crystal", "rotated": false, "trimmed": true, "sourceSize": { @@ -2497,78 +2371,15 @@ }, "spriteSourceSize": { "x": 4, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 395, - "y": 71, - "w": 23, - "h": 21 - } - }, - { - "filename": "binding_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, "y": 6, "w": 23, - "h": 20 + "h": 21 }, "frame": { - "x": 372, - "y": 89, + "x": 118, + "y": 373, "w": 23, - "h": 20 - } - }, - { - "filename": "healing_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 23, - "h": 22 - }, - "frame": { - "x": 349, - "y": 90, - "w": 23, - "h": 22 - } - }, - { - "filename": "black_glasses", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 395, - "y": 92, - "w": 23, - "h": 17 + "h": 21 } }, { @@ -2586,12 +2397,96 @@ "h": 23 }, "frame": { - "x": 73, - "y": 73, + "x": 119, + "y": 394, "w": 22, "h": 23 } }, + { + "filename": "choice_specs", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 24, + "h": 18 + }, + "frame": { + "x": 135, + "y": 36, + "w": 24, + "h": 18 + } + }, + { + "filename": "twisted_spoon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 125, + "y": 54, + "w": 24, + "h": 23 + } + }, + { + "filename": "exp_balance", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 22 + }, + "frame": { + "x": 125, + "y": 77, + "w": 24, + "h": 22 + } + }, + { + "filename": "amulet_coin", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 125, + "y": 99, + "w": 23, + "h": 21 + } + }, { "filename": "dragon_tera_shard", "rotated": false, @@ -2607,8 +2502,8 @@ "h": 23 }, "frame": { - "x": 95, - "y": 73, + "x": 126, + "y": 120, "w": 22, "h": 23 } @@ -2628,56 +2523,14 @@ "h": 23 }, "frame": { - "x": 73, - "y": 96, + "x": 126, + "y": 143, "w": 22, "h": 23 } }, { - "filename": "fairy_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 95, - "y": 96, - "w": 22, - "h": 23 - } - }, - { - "filename": "fighting_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 117, - "y": 78, - "w": 22, - "h": 23 - } - }, - { - "filename": "blank_memory", + "filename": "dragon_fang", "rotated": false, "trimmed": true, "sourceSize": { @@ -2687,102 +2540,18 @@ "spriteSourceSize": { "x": 5, "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 117, - "y": 101, - "w": 22, - "h": 22 - } - }, - { - "filename": "fire_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, + "w": 21, "h": 23 }, "frame": { - "x": 139, - "y": 81, - "w": 22, + "x": 127, + "y": 166, + "w": 21, "h": 23 } }, { - "filename": "fire_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 161, - "y": 81, - "w": 22, - "h": 23 - } - }, - { - "filename": "quick_powder", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 24, - "h": 20 - }, - "frame": { - "x": 139, - "y": 104, - "w": 24, - "h": 20 - } - }, - { - "filename": "big_nugget", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 163, - "y": 104, - "w": 20, - "h": 20 - } - }, - { - "filename": "max_lure", + "filename": "super_lure", "rotated": false, "trimmed": true, "sourceSize": { @@ -2796,348 +2565,12 @@ "h": 24 }, "frame": { - "x": 183, - "y": 81, + "x": 131, + "y": 189, "w": 17, "h": 24 } }, - { - "filename": "rusted_sword", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 22 - }, - "frame": { - "x": 200, - "y": 83, - "w": 23, - "h": 22 - } - }, - { - "filename": "rusted_shield", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 24, - "h": 20 - }, - "frame": { - "x": 183, - "y": 105, - "w": 24, - "h": 20 - } - }, - { - "filename": "apicot_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 20 - }, - "frame": { - "x": 207, - "y": 105, - "w": 19, - "h": 20 - } - }, - { - "filename": "relic_crown", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 18 - }, - "frame": { - "x": 223, - "y": 87, - "w": 23, - "h": 18 - } - }, - { - "filename": "blue_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 226, - "y": 105, - "w": 20, - "h": 20 - } - }, - { - "filename": "flying_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 246, - "y": 89, - "w": 22, - "h": 23 - } - }, - { - "filename": "blunder_policy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 19 - }, - "frame": { - "x": 246, - "y": 112, - "w": 22, - "h": 19 - } - }, - { - "filename": "focus_sash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 268, - "y": 91, - "w": 22, - "h": 23 - } - }, - { - "filename": "ghost_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 290, - "y": 91, - "w": 22, - "h": 23 - } - }, - { - "filename": "grass_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 312, - "y": 91, - "w": 22, - "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": 334, - "y": 91, - "w": 15, - "h": 23 - } - }, - { - "filename": "sacred_ash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 268, - "y": 114, - "w": 24, - "h": 20 - } - }, - { - "filename": "shadow_reins_of_unity", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 292, - "y": 114, - "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": 316, - "y": 114, - "w": 24, - "h": 20 - } - }, - { - "filename": "eviolite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 15, - "h": 15 - }, - "frame": { - "x": 73, - "y": 119, - "w": 15, - "h": 15 - } - }, - { - "filename": "max_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 76, - "y": 134, - "w": 18, - "h": 24 - } - }, { "filename": "max_repel", "rotated": false, @@ -3153,33 +2586,12 @@ "h": 24 }, "frame": { - "x": 79, - "y": 158, + "x": 134, + "y": 213, "w": 16, "h": 24 } }, - { - "filename": "oval_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 86, - "y": 182, - "w": 21, - "h": 24 - } - }, { "filename": "pp_max", "rotated": false, @@ -3195,8 +2607,8 @@ "h": 24 }, "frame": { - "x": 92, - "y": 206, + "x": 134, + "y": 237, "w": 16, "h": 24 } @@ -3216,12 +2628,180 @@ "h": 24 }, "frame": { - "x": 92, - "y": 230, + "x": 149, + "y": 54, "w": 16, "h": 24 } }, + { + "filename": "auspicious_armor", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 149, + "y": 78, + "w": 23, + "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": 148, + "y": 99, + "w": 24, + "h": 22 + } + }, + { + "filename": "leek", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 148, + "y": 121, + "w": 23, + "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": 148, + "y": 144, + "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": 148, + "y": 167, + "w": 23, + "h": 23 + } + }, + { + "filename": "fairy_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 148, + "y": 190, + "w": 22, + "h": 23 + } + }, + { + "filename": "fighting_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 150, + "y": 213, + "w": 22, + "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": 150, + "y": 236, + "w": 22, + "h": 23 + } + }, { "filename": "protein", "rotated": false, @@ -3237,8 +2817,8 @@ "h": 24 }, "frame": { - "x": 93, - "y": 254, + "x": 139, + "y": 261, "w": 16, "h": 24 } @@ -3258,56 +2838,14 @@ "h": 24 }, "frame": { - "x": 94, - "y": 278, + "x": 139, + "y": 285, "w": 16, "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": 94, - "y": 302, - "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": 94, - "y": 326, - "w": 21, - "h": 23 - } - }, - { - "filename": "ground_tera_shard", + "filename": "fire_tera_shard", "rotated": false, "trimmed": true, "sourceSize": { @@ -3321,14 +2859,14 @@ "h": 23 }, "frame": { - "x": 94, - "y": 349, + "x": 155, + "y": 259, "w": 22, "h": 23 } }, { - "filename": "ice_tera_shard", + "filename": "flying_tera_shard", "rotated": false, "trimmed": true, "sourceSize": { @@ -3342,54 +2880,12 @@ "h": 23 }, "frame": { - "x": 94, - "y": 372, + "x": 155, + "y": 282, "w": 22, "h": 23 } }, - { - "filename": "prism_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 15, - "h": 15 - }, - "frame": { - "x": 88, - "y": 119, - "w": 15, - "h": 15 - } - }, - { - "filename": "super_lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 94, - "y": 134, - "w": 17, - "h": 24 - } - }, { "filename": "super_repel", "rotated": false, @@ -3405,14 +2901,14 @@ "h": 24 }, "frame": { - "x": 95, - "y": 158, + "x": 159, + "y": 22, "w": 16, "h": 24 } }, { - "filename": "berry_pot", + "filename": "peat_block", "rotated": false, "trimmed": true, "sourceSize": { @@ -3420,20 +2916,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 7, + "x": 4, "y": 5, - "w": 18, + "w": 24, "h": 22 }, "frame": { - "x": 340, - "y": 114, - "w": 18, + "x": 175, + "y": 21, + "w": 24, "h": 22 } }, { - "filename": "unknown", + "filename": "healing_charm", "rotated": false, "trimmed": true, "sourceSize": { @@ -3441,20 +2937,41 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 + "x": 5, + "y": 5, + "w": 23, + "h": 22 }, "frame": { - "x": 358, - "y": 112, - "w": 16, - "h": 24 + "x": 199, + "y": 21, + "w": 23, + "h": 22 } }, { - "filename": "never_melt_ice", + "filename": "rusted_sword", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 22 + }, + "frame": { + "x": 222, + "y": 21, + "w": 23, + "h": 22 + } + }, + { + "filename": "blank_memory", "rotated": false, "trimmed": true, "sourceSize": { @@ -3465,307 +2982,13 @@ "x": 5, "y": 5, "w": 22, - "h": 23 + "h": 22 }, "frame": { - "x": 374, - "y": 109, + "x": 245, + "y": 21, "w": 22, - "h": 23 - } - }, - { - "filename": "normal_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 396, - "y": 109, - "w": 22, - "h": 23 - } - }, - { - "filename": "zinc", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 107, - "y": 182, - "w": 16, - "h": 24 - } - }, - { - "filename": "hyper_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 108, - "y": 206, - "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": 108, - "y": 229, - "w": 21, - "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": 109, - "y": 252, - "w": 21, - "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": 110, - "y": 275, - "w": 20, - "h": 23 - } - }, - { - "filename": "petaya_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 115, - "y": 298, - "w": 22, - "h": 23 - } - }, - { - "filename": "poison_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 115, - "y": 321, - "w": 22, - "h": 23 - } - }, - { - "filename": "psychic_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 116, - "y": 344, - "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": 116, - "y": 367, - "w": 22, - "h": 23 - } - }, - { - "filename": "rock_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 111, - "y": 123, - "w": 22, - "h": 23 - } - }, - { - "filename": "steel_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 111, - "y": 146, - "w": 22, - "h": 23 - } - }, - { - "filename": "stellar_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 133, - "y": 124, - "w": 22, - "h": 23 - } - }, - { - "filename": "water_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 155, - "y": 124, - "w": 22, - "h": 23 + "h": 22 } }, { @@ -3783,8 +3006,8 @@ "h": 22 }, "frame": { - "x": 133, - "y": 147, + "x": 267, + "y": 21, "w": 22, "h": 22 } @@ -3804,33 +3027,12 @@ "h": 22 }, "frame": { - "x": 155, - "y": 147, + "x": 289, + "y": 21, "w": 22, "h": 22 } }, - { - "filename": "wide_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 177, - "y": 125, - "w": 22, - "h": 23 - } - }, { "filename": "dark_memory", "rotated": false, @@ -3846,14 +3048,14 @@ "h": 22 }, "frame": { - "x": 199, - "y": 125, + "x": 311, + "y": 21, "w": 22, "h": 22 } }, { - "filename": "dire_hit", + "filename": "focus_sash", "rotated": false, "trimmed": true, "sourceSize": { @@ -3862,19 +3064,229 @@ }, "spriteSourceSize": { "x": 5, - "y": 5, + "y": 4, "w": 22, - "h": 22 + "h": 23 }, "frame": { - "x": 221, - "y": 125, + "x": 333, + "y": 20, "w": 22, - "h": 22 + "h": 23 } }, { - "filename": "deep_sea_tooth", + "filename": "ghost_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 355, + "y": 20, + "w": 22, + "h": 23 + } + }, + { + "filename": "grass_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 377, + "y": 20, + "w": 22, + "h": 23 + } + }, + { + "filename": "icy_reins_of_unity", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 399, + "y": 22, + "w": 24, + "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": 175, + "y": 43, + "w": 24, + "h": 18 + } + }, + { + "filename": "metal_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 24, + "h": 20 + }, + "frame": { + "x": 199, + "y": 43, + "w": 24, + "h": 20 + } + }, + { + "filename": "quick_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 24, + "h": 20 + }, + "frame": { + "x": 223, + "y": 43, + "w": 24, + "h": 20 + } + }, + { + "filename": "rusted_shield", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 24, + "h": 20 + }, + "frame": { + "x": 247, + "y": 43, + "w": 24, + "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": 271, + "y": 43, + "w": 24, + "h": 20 + } + }, + { + "filename": "shadow_reins_of_unity", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 295, + "y": 43, + "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": 319, + "y": 43, + "w": 24, + "h": 20 + } + }, + { + "filename": "binding_band", "rotated": false, "trimmed": true, "sourceSize": { @@ -3884,77 +3296,14 @@ "spriteSourceSize": { "x": 5, "y": 6, - "w": 22, - "h": 21 + "w": 23, + "h": 20 }, "frame": { - "x": 177, - "y": 148, - "w": 22, - "h": 21 - } - }, - { - "filename": "dna_splicers", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 199, - "y": 147, - "w": 22, - "h": 22 - } - }, - { - "filename": "dragon_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 221, - "y": 147, - "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": 243, - "y": 131, - "w": 22, - "h": 22 + "x": 343, + "y": 43, + "w": 23, + "h": 20 } }, { @@ -3972,12 +3321,558 @@ "h": 21 }, "frame": { - "x": 265, - "y": 134, + "x": 366, + "y": 43, "w": 23, "h": 21 } }, + { + "filename": "black_glasses", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 165, + "y": 61, + "w": 23, + "h": 17 + } + }, + { + "filename": "unknown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 172, + "y": 78, + "w": 16, + "h": 24 + } + }, + { + "filename": "apicot_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 172, + "y": 102, + "w": 19, + "h": 20 + } + }, + { + "filename": "ground_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 171, + "y": 122, + "w": 22, + "h": 23 + } + }, + { + "filename": "ice_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 171, + "y": 145, + "w": 22, + "h": 23 + } + }, + { + "filename": "dire_hit", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 171, + "y": 168, + "w": 22, + "h": 22 + } + }, + { + "filename": "never_melt_ice", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 170, + "y": 190, + "w": 22, + "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": 172, + "y": 213, + "w": 21, + "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": 172, + "y": 236, + "w": 21, + "h": 23 + } + }, + { + "filename": "zinc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 177, + "y": 259, + "w": 16, + "h": 24 + } + }, + { + "filename": "berry_pot", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 18, + "h": 22 + }, + "frame": { + "x": 177, + "y": 283, + "w": 18, + "h": 22 + } + }, + { + "filename": "normal_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 188, + "y": 63, + "w": 22, + "h": 23 + } + }, + { + "filename": "petaya_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 210, + "y": 63, + "w": 22, + "h": 23 + } + }, + { + "filename": "poison_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 232, + "y": 63, + "w": 22, + "h": 23 + } + }, + { + "filename": "psychic_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 254, + "y": 63, + "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": 276, + "y": 63, + "w": 22, + "h": 23 + } + }, + { + "filename": "rock_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 298, + "y": 63, + "w": 22, + "h": 23 + } + }, + { + "filename": "steel_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 320, + "y": 63, + "w": 22, + "h": 23 + } + }, + { + "filename": "stellar_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 342, + "y": 63, + "w": 22, + "h": 23 + } + }, + { + "filename": "dna_splicers", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 364, + "y": 64, + "w": 22, + "h": 22 + } + }, + { + "filename": "aggronite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 188, + "y": 86, + "w": 16, + "h": 16 + } + }, + { + "filename": "burn_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 204, + "y": 86, + "w": 23, + "h": 17 + } + }, + { + "filename": "chill_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 227, + "y": 86, + "w": 23, + "h": 17 + } + }, + { + "filename": "coupon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 250, + "y": 86, + "w": 23, + "h": 19 + } + }, + { + "filename": "golden_mystic_ticket", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 273, + "y": 86, + "w": 23, + "h": 19 + } + }, + { + "filename": "mystic_ticket", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 296, + "y": 86, + "w": 23, + "h": 19 + } + }, { "filename": "n_lunarizer", "rotated": false, @@ -3993,8 +3888,8 @@ "h": 21 }, "frame": { - "x": 288, - "y": 134, + "x": 319, + "y": 86, "w": 23, "h": 21 } @@ -4014,14 +3909,14 @@ "h": 21 }, "frame": { - "x": 311, - "y": 134, + "x": 342, + "y": 86, "w": 23, "h": 21 } }, { - "filename": "deep_sea_scale", + "filename": "deep_sea_tooth", "rotated": false, "trimmed": true, "sourceSize": { @@ -4032,17 +3927,17 @@ "x": 5, "y": 6, "w": 22, - "h": 20 + "h": 21 }, "frame": { - "x": 243, - "y": 153, + "x": 365, + "y": 86, "w": 22, - "h": 20 + "h": 21 } }, { - "filename": "mystic_ticket", + "filename": "dawn_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -4050,16 +3945,121 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 + "x": 6, + "y": 6, + "w": 20, + "h": 21 }, "frame": { - "x": 265, - "y": 155, - "w": 23, - "h": 19 + "x": 389, + "y": 43, + "w": 20, + "h": 21 + } + }, + { + "filename": "hyper_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 409, + "y": 42, + "w": 17, + "h": 23 + } + }, + { + "filename": "dragon_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 386, + "y": 64, + "w": 22, + "h": 22 + } + }, + { + "filename": "sachet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 18, + "h": 23 + }, + "frame": { + "x": 408, + "y": 65, + "w": 18, + "h": 23 + } + }, + { + "filename": "dusk_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 387, + "y": 86, + "w": 21, + "h": 21 + } + }, + { + "filename": "razor_fang", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 18, + "h": 20 + }, + "frame": { + "x": 408, + "y": 88, + "w": 18, + "h": 20 } }, { @@ -4077,14 +4077,14 @@ "h": 19 }, "frame": { - "x": 288, - "y": 155, + "x": 191, + "y": 103, "w": 23, "h": 19 } }, { - "filename": "reviver_seed", + "filename": "sharp_beak", "rotated": false, "trimmed": true, "sourceSize": { @@ -4093,15 +4093,99 @@ }, "spriteSourceSize": { "x": 5, - "y": 8, - "w": 23, - "h": 20 + "y": 5, + "w": 21, + "h": 23 }, "frame": { - "x": 311, - "y": 155, - "w": 23, - "h": 20 + "x": 193, + "y": 122, + "w": 21, + "h": 23 + } + }, + { + "filename": "water_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 214, + "y": 103, + "w": 22, + "h": 23 + } + }, + { + "filename": "whipped_dream", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 23 + }, + "frame": { + "x": 193, + "y": 145, + "w": 21, + "h": 23 + } + }, + { + "filename": "wide_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 214, + "y": 126, + "w": 22, + "h": 23 + } + }, + { + "filename": "electirizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 193, + "y": 168, + "w": 22, + "h": 22 } }, { @@ -4119,12 +4203,33 @@ "h": 22 }, "frame": { - "x": 334, - "y": 136, + "x": 192, + "y": 190, "w": 22, "h": 22 } }, + { + "filename": "blunder_policy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 19 + }, + "frame": { + "x": 214, + "y": 149, + "w": 22, + "h": 19 + } + }, { "filename": "enigma_berry", "rotated": false, @@ -4140,33 +4245,12 @@ "h": 22 }, "frame": { - "x": 356, - "y": 136, + "x": 215, + "y": 168, "w": 22, "h": 22 } }, - { - "filename": "burn_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 334, - "y": 158, - "w": 23, - "h": 17 - } - }, { "filename": "fairy_memory", "rotated": false, @@ -4182,8 +4266,8 @@ "h": 22 }, "frame": { - "x": 378, - "y": 132, + "x": 214, + "y": 190, "w": 22, "h": 22 } @@ -4203,54 +4287,12 @@ "h": 22 }, "frame": { - "x": 400, - "y": 132, + "x": 193, + "y": 212, "w": 22, "h": 22 } }, - { - "filename": "chill_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 357, - "y": 158, - "w": 23, - "h": 17 - } - }, - { - "filename": "wellspring_mask", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 380, - "y": 154, - "w": 23, - "h": 21 - } - }, { "filename": "fire_memory", "rotated": false, @@ -4266,8 +4308,8 @@ "h": 22 }, "frame": { - "x": 403, - "y": 154, + "x": 193, + "y": 234, "w": 22, "h": 22 } @@ -4287,8 +4329,8 @@ "h": 22 }, "frame": { - "x": 123, - "y": 169, + "x": 193, + "y": 256, "w": 22, "h": 22 } @@ -4308,8 +4350,8 @@ "h": 22 }, "frame": { - "x": 145, - "y": 169, + "x": 215, + "y": 212, "w": 22, "h": 22 } @@ -4329,8 +4371,8 @@ "h": 22 }, "frame": { - "x": 167, - "y": 169, + "x": 215, + "y": 234, "w": 22, "h": 22 } @@ -4350,8 +4392,8 @@ "h": 22 }, "frame": { - "x": 189, - "y": 169, + "x": 215, + "y": 256, "w": 22, "h": 22 } @@ -4371,75 +4413,12 @@ "h": 22 }, "frame": { - "x": 211, - "y": 169, + "x": 195, + "y": 278, "w": 22, "h": 22 } }, - { - "filename": "shell_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 23, - "h": 20 - }, - "frame": { - "x": 233, - "y": 173, - "w": 23, - "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": 256, - "y": 174, - "w": 22, - "h": 19 - } - }, - { - "filename": "fairy_feather", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 20 - }, - "frame": { - "x": 278, - "y": 174, - "w": 22, - "h": 20 - } - }, { "filename": "guard_spec", "rotated": false, @@ -4455,8 +4434,8 @@ "h": 22 }, "frame": { - "x": 300, - "y": 175, + "x": 217, + "y": 278, "w": 22, "h": 22 } @@ -4476,8 +4455,8 @@ "h": 22 }, "frame": { - "x": 322, - "y": 175, + "x": 236, + "y": 105, "w": 22, "h": 22 } @@ -4497,8 +4476,8 @@ "h": 22 }, "frame": { - "x": 344, - "y": 175, + "x": 236, + "y": 127, "w": 22, "h": 22 } @@ -4518,33 +4497,12 @@ "h": 22 }, "frame": { - "x": 366, - "y": 175, + "x": 258, + "y": 105, "w": 22, "h": 22 } }, - { - "filename": "leftovers", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 15, - "h": 22 - }, - "frame": { - "x": 388, - "y": 175, - "w": 15, - "h": 22 - } - }, { "filename": "mini_black_hole", "rotated": false, @@ -4560,8 +4518,8 @@ "h": 22 }, "frame": { - "x": 403, - "y": 176, + "x": 280, + "y": 105, "w": 22, "h": 22 } @@ -4581,8 +4539,8 @@ "h": 22 }, "frame": { - "x": 125, - "y": 191, + "x": 258, + "y": 127, "w": 22, "h": 22 } @@ -4602,12 +4560,33 @@ "h": 22 }, "frame": { - "x": 147, - "y": 191, + "x": 280, + "y": 127, "w": 22, "h": 22 } }, + { + "filename": "dubious_disc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 19 + }, + "frame": { + "x": 236, + "y": 149, + "w": 22, + "h": 19 + } + }, { "filename": "psychic_memory", "rotated": false, @@ -4623,8 +4602,8 @@ "h": 22 }, "frame": { - "x": 169, - "y": 191, + "x": 237, + "y": 168, "w": 22, "h": 22 } @@ -4644,12 +4623,33 @@ "h": 22 }, "frame": { - "x": 191, - "y": 191, + "x": 236, + "y": 190, "w": 22, "h": 22 } }, + { + "filename": "mystic_water", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 20, + "h": 23 + }, + "frame": { + "x": 237, + "y": 212, + "w": 20, + "h": 23 + } + }, { "filename": "hard_meteorite", "rotated": false, @@ -4665,8 +4665,8 @@ "h": 22 }, "frame": { - "x": 213, - "y": 191, + "x": 237, + "y": 235, "w": 20, "h": 22 } @@ -4686,12 +4686,75 @@ "h": 21 }, "frame": { - "x": 233, - "y": 193, + "x": 237, + "y": 257, "w": 22, "h": 21 } }, + { + "filename": "potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 302, + "y": 105, + "w": 17, + "h": 23 + } + }, + { + "filename": "wellspring_mask", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 319, + "y": 107, + "w": 23, + "h": 21 + } + }, + { + "filename": "reviver_seed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 8, + "w": 23, + "h": 20 + }, + "frame": { + "x": 302, + "y": 128, + "w": 23, + "h": 20 + } + }, { "filename": "scroll_of_darkness", "rotated": false, @@ -4707,117 +4770,12 @@ "h": 22 }, "frame": { - "x": 255, - "y": 193, + "x": 342, + "y": 107, "w": 22, "h": 22 } }, - { - "filename": "douse_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 277, - "y": 194, - "w": 23, - "h": 17 - } - }, - { - "filename": "relic_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 9, - "w": 17, - "h": 16 - }, - "frame": { - "x": 125, - "y": 213, - "w": 17, - "h": 16 - } - }, - { - "filename": "shock_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 142, - "y": 213, - "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": 165, - "y": 213, - "w": 23, - "h": 17 - } - }, - { - "filename": "malicious_armor", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 188, - "y": 213, - "w": 22, - "h": 20 - } - }, { "filename": "scroll_of_waters", "rotated": false, @@ -4833,8 +4791,8 @@ "h": 22 }, "frame": { - "x": 210, - "y": 213, + "x": 364, + "y": 107, "w": 22, "h": 22 } @@ -4854,12 +4812,75 @@ "h": 22 }, "frame": { - "x": 232, - "y": 214, + "x": 386, + "y": 107, "w": 22, "h": 22 } }, + { + "filename": "oval_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 19 + }, + "frame": { + "x": 408, + "y": 108, + "w": 18, + "h": 19 + } + }, + { + "filename": "sitrus_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 20, + "h": 22 + }, + "frame": { + "x": 239, + "y": 278, + "w": 20, + "h": 22 + } + }, + { + "filename": "upgrade", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 19 + }, + "frame": { + "x": 258, + "y": 149, + "w": 22, + "h": 19 + } + }, { "filename": "starf_berry", "rotated": false, @@ -4875,8 +4896,8 @@ "h": 22 }, "frame": { - "x": 254, - "y": 215, + "x": 259, + "y": 168, "w": 22, "h": 22 } @@ -4896,8 +4917,8 @@ "h": 22 }, "frame": { - "x": 300, - "y": 197, + "x": 258, + "y": 190, "w": 22, "h": 22 } @@ -4917,8 +4938,8 @@ "h": 22 }, "frame": { - "x": 322, - "y": 197, + "x": 257, + "y": 212, "w": 22, "h": 22 } @@ -4938,12 +4959,33 @@ "h": 22 }, "frame": { - "x": 344, - "y": 197, + "x": 257, + "y": 234, "w": 22, "h": 22 } }, + { + "filename": "metal_alloy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 21, + "h": 19 + }, + "frame": { + "x": 280, + "y": 149, + "w": 21, + "h": 19 + } + }, { "filename": "tm_bug", "rotated": false, @@ -4959,8 +5001,8 @@ "h": 22 }, "frame": { - "x": 366, - "y": 197, + "x": 281, + "y": 168, "w": 22, "h": 22 } @@ -4980,54 +5022,12 @@ "h": 22 }, "frame": { - "x": 129, - "y": 230, + "x": 280, + "y": 190, "w": 22, "h": 22 } }, - { - "filename": "sharp_beak", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 130, - "y": 252, - "w": 21, - "h": 23 - } - }, - { - "filename": "whipped_dream", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 23 - }, - "frame": { - "x": 130, - "y": 275, - "w": 21, - "h": 23 - } - }, { "filename": "tm_dragon", "rotated": false, @@ -5043,8 +5043,8 @@ "h": 22 }, "frame": { - "x": 151, - "y": 230, + "x": 279, + "y": 212, "w": 22, "h": 22 } @@ -5064,8 +5064,8 @@ "h": 22 }, "frame": { - "x": 151, - "y": 252, + "x": 279, + "y": 234, "w": 22, "h": 22 } @@ -5085,138 +5085,12 @@ "h": 22 }, "frame": { - "x": 151, - "y": 274, + "x": 259, + "y": 256, "w": 22, "h": 22 } }, - { - "filename": "potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 137, - "y": 298, - "w": 17, - "h": 23 - } - }, - { - "filename": "sachet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 18, - "h": 23 - }, - "frame": { - "x": 137, - "y": 321, - "w": 18, - "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": 138, - "y": 344, - "w": 17, - "h": 23 - } - }, - { - "filename": "lock_capsule", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 154, - "y": 296, - "w": 19, - "h": 22 - } - }, - { - "filename": "metal_coat", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 138, - "y": 367, - "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": 155, - "y": 318, - "w": 20, - "h": 22 - } - }, { "filename": "tm_fighting", "rotated": false, @@ -5232,8 +5106,8 @@ "h": 22 }, "frame": { - "x": 155, - "y": 340, + "x": 259, + "y": 278, "w": 22, "h": 22 } @@ -5253,75 +5127,12 @@ "h": 22 }, "frame": { - "x": 157, - "y": 362, + "x": 281, + "y": 256, "w": 22, "h": 22 } }, - { - "filename": "relic_gold", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 11, - "w": 15, - "h": 11 - }, - "frame": { - "x": 173, - "y": 230, - "w": 15, - "h": 11 - } - }, - { - "filename": "metronome", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 173, - "y": 241, - "w": 17, - "h": 22 - } - }, - { - "filename": "soothe_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 173, - "y": 263, - "w": 17, - "h": 22 - } - }, { "filename": "tm_flying", "rotated": false, @@ -5337,14 +5148,224 @@ "h": 22 }, "frame": { - "x": 173, - "y": 285, + "x": 281, + "y": 278, "w": 22, "h": 22 } }, { - "filename": "dawn_stone", + "filename": "baton", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 408, + "y": 127, + "w": 18, + "h": 18 + } + }, + { + "filename": "golden_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 325, + "y": 128, + "w": 17, + "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": 342, + "y": 129, + "w": 23, + "h": 20 + } + }, + { + "filename": "deep_sea_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 365, + "y": 129, + "w": 22, + "h": 20 + } + }, + { + "filename": "poison_barb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 387, + "y": 129, + "w": 21, + "h": 21 + } + }, + { + "filename": "candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 11, + "w": 18, + "h": 18 + }, + "frame": { + "x": 408, + "y": 145, + "w": 18, + "h": 18 + } + }, + { + "filename": "douse_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 195, + "y": 300, + "w": 23, + "h": 17 + } + }, + { + "filename": "relic_crown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 18 + }, + "frame": { + "x": 218, + "y": 300, + "w": 23, + "h": 18 + } + }, + { + "filename": "fairy_feather", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 20 + }, + "frame": { + "x": 241, + "y": 300, + "w": 22, + "h": 20 + } + }, + { + "filename": "malicious_armor", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 263, + "y": 300, + "w": 22, + "h": 20 + } + }, + { + "filename": "big_nugget", "rotated": false, "trimmed": true, "sourceSize": { @@ -5355,13 +5376,76 @@ "x": 6, "y": 6, "w": 20, - "h": 21 + "h": 20 }, "frame": { - "x": 190, - "y": 233, + "x": 285, + "y": 300, "w": 20, - "h": 21 + "h": 20 + } + }, + { + "filename": "shock_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 155, + "y": 305, + "w": 23, + "h": 17 + } + }, + { + "filename": "lucky_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 178, + "y": 305, + "w": 17, + "h": 20 + } + }, + { + "filename": "wise_glasses", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 195, + "y": 317, + "w": 23, + "h": 17 } }, { @@ -5379,8 +5463,8 @@ "h": 21 }, "frame": { - "x": 210, - "y": 235, + "x": 218, + "y": 318, "w": 22, "h": 21 } @@ -5400,33 +5484,12 @@ "h": 21 }, "frame": { - "x": 232, - "y": 236, + "x": 240, + "y": 320, "w": 22, "h": 21 } }, - { - "filename": "gb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 190, - "y": 254, - "w": 20, - "h": 20 - } - }, { "filename": "tart_apple", "rotated": false, @@ -5442,14 +5505,14 @@ "h": 21 }, "frame": { - "x": 254, - "y": 237, + "x": 262, + "y": 320, "w": 22, "h": 21 } }, { - "filename": "tera_orb", + "filename": "shiny_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -5459,14 +5522,35 @@ "spriteSourceSize": { "x": 5, "y": 6, - "w": 22, - "h": 20 + "w": 21, + "h": 21 }, "frame": { - "x": 210, - "y": 256, - "w": 22, - "h": 20 + "x": 284, + "y": 320, + "w": 21, + "h": 21 + } + }, + { + "filename": "alakazite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 139, + "y": 309, + "w": 16, + "h": 16 } }, { @@ -5484,12 +5568,54 @@ "h": 22 }, "frame": { - "x": 232, - "y": 257, + "x": 135, + "y": 325, "w": 22, "h": 22 } }, + { + "filename": "zoom_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 157, + "y": 322, + "w": 21, + "h": 21 + } + }, + { + "filename": "metronome", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 178, + "y": 325, + "w": 17, + "h": 22 + } + }, { "filename": "tm_grass", "rotated": false, @@ -5505,12 +5631,54 @@ "h": 22 }, "frame": { - "x": 254, - "y": 258, + "x": 136, + "y": 347, "w": 22, "h": 22 } }, + { + "filename": "blue_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 158, + "y": 343, + "w": 20, + "h": 20 + } + }, + { + "filename": "super_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 141, + "y": 369, + "w": 17, + "h": 23 + } + }, { "filename": "tm_ground", "rotated": false, @@ -5526,12 +5694,54 @@ "h": 22 }, "frame": { - "x": 175, - "y": 307, + "x": 158, + "y": 363, "w": 22, "h": 22 } }, + { + "filename": "metal_coat", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 141, + "y": 392, + "w": 19, + "h": 22 + } + }, + { + "filename": "tera_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 195, + "y": 334, + "w": 22, + "h": 20 + } + }, { "filename": "tm_ice", "rotated": false, @@ -5547,8 +5757,8 @@ "h": 22 }, "frame": { - "x": 177, - "y": 329, + "x": 217, + "y": 339, "w": 22, "h": 22 } @@ -5568,8 +5778,8 @@ "h": 22 }, "frame": { - "x": 179, - "y": 351, + "x": 239, + "y": 341, "w": 22, "h": 22 } @@ -5589,8 +5799,8 @@ "h": 22 }, "frame": { - "x": 179, - "y": 373, + "x": 261, + "y": 341, "w": 22, "h": 22 } @@ -5610,14 +5820,14 @@ "h": 22 }, "frame": { - "x": 157, - "y": 384, + "x": 283, + "y": 341, "w": 22, "h": 22 } }, { - "filename": "upgrade", + "filename": "tm_rock", "rotated": false, "trimmed": true, "sourceSize": { @@ -5626,36 +5836,15 @@ }, "spriteSourceSize": { "x": 5, - "y": 7, + "y": 5, "w": 22, - "h": 19 + "h": 22 }, "frame": { - "x": 109, - "y": 406, + "x": 160, + "y": 385, "w": 22, - "h": 19 - } - }, - { - "filename": "metal_alloy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 21, - "h": 19 - }, - "frame": { - "x": 131, - "y": 406, - "w": 21, - "h": 19 + "h": 22 } }, { @@ -5673,8 +5862,8 @@ "h": 19 }, "frame": { - "x": 152, - "y": 406, + "x": 160, + "y": 407, "w": 20, "h": 19 } @@ -5694,14 +5883,14 @@ "h": 19 }, "frame": { - "x": 172, - "y": 406, + "x": 180, + "y": 407, "w": 20, "h": 19 } }, { - "filename": "absolite", + "filename": "altarianite", "rotated": false, "trimmed": true, "sourceSize": { @@ -5715,14 +5904,14 @@ "h": 16 }, "frame": { - "x": 116, - "y": 390, + "x": 178, + "y": 347, "w": 16, "h": 16 } }, { - "filename": "aerodactylite", + "filename": "leftovers", "rotated": false, "trimmed": true, "sourceSize": { @@ -5731,35 +5920,14 @@ }, "spriteSourceSize": { "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 132, - "y": 390, - "w": 16, - "h": 16 - } - }, - { - "filename": "tm_rock", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, "y": 5, - "w": 22, + "w": 15, "h": 22 }, "frame": { - "x": 388, - "y": 198, - "w": 22, + "x": 180, + "y": 363, + "w": 15, "h": 22 } }, @@ -5778,12 +5946,33 @@ "h": 22 }, "frame": { - "x": 277, - "y": 211, + "x": 182, + "y": 385, "w": 22, "h": 22 } }, + { + "filename": "razor_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 200, + "y": 407, + "w": 20, + "h": 19 + } + }, { "filename": "tm_water", "rotated": false, @@ -5799,8 +5988,8 @@ "h": 22 }, "frame": { - "x": 276, - "y": 233, + "x": 195, + "y": 354, "w": 22, "h": 22 } @@ -5820,8 +6009,8 @@ "h": 22 }, "frame": { - "x": 276, - "y": 255, + "x": 217, + "y": 361, "w": 22, "h": 22 } @@ -5841,8 +6030,8 @@ "h": 22 }, "frame": { - "x": 299, - "y": 219, + "x": 239, + "y": 363, "w": 22, "h": 22 } @@ -5862,8 +6051,8 @@ "h": 22 }, "frame": { - "x": 321, - "y": 219, + "x": 261, + "y": 363, "w": 22, "h": 22 } @@ -5883,12 +6072,54 @@ "h": 22 }, "frame": { - "x": 343, - "y": 219, + "x": 283, + "y": 363, "w": 22, "h": 22 } }, + { + "filename": "soothe_bell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 204, + "y": 385, + "w": 17, + "h": 22 + } + }, + { + "filename": "white_herb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 220, + "y": 407, + "w": 20, + "h": 19 + } + }, { "filename": "x_defense", "rotated": false, @@ -5904,8 +6135,8 @@ "h": 22 }, "frame": { - "x": 365, - "y": 219, + "x": 221, + "y": 385, "w": 22, "h": 22 } @@ -5925,12 +6156,33 @@ "h": 22 }, "frame": { - "x": 298, - "y": 241, + "x": 243, + "y": 385, "w": 22, "h": 22 } }, + { + "filename": "miracle_seed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 19, + "h": 19 + }, + "frame": { + "x": 240, + "y": 407, + "w": 19, + "h": 19 + } + }, { "filename": "x_sp_def", "rotated": false, @@ -5946,8 +6198,8 @@ "h": 22 }, "frame": { - "x": 320, - "y": 241, + "x": 265, + "y": 385, "w": 22, "h": 22 } @@ -5967,117 +6219,12 @@ "h": 22 }, "frame": { - "x": 342, - "y": 241, + "x": 287, + "y": 385, "w": 22, "h": 22 } }, - { - "filename": "dusk_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 364, - "y": 241, - "w": 21, - "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": 387, - "y": 220, - "w": 21, - "h": 21 - } - }, - { - "filename": "golden_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 408, - "y": 220, - "w": 17, - "h": 20 - } - }, - { - "filename": "shiny_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 385, - "y": 241, - "w": 21, - "h": 21 - } - }, - { - "filename": "quick_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 21 - }, - "frame": { - "x": 406, - "y": 241, - "w": 19, - "h": 21 - } - }, { "filename": "masterpiece_teacup", "rotated": false, @@ -6093,8 +6240,8 @@ "h": 18 }, "frame": { - "x": 298, - "y": 263, + "x": 259, + "y": 407, "w": 21, "h": 18 } @@ -6114,14 +6261,14 @@ "h": 18 }, "frame": { - "x": 319, - "y": 263, + "x": 280, + "y": 407, "w": 21, "h": 18 } }, { - "filename": "unremarkable_teacup", + "filename": "dark_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -6129,20 +6276,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, + "x": 7, "y": 7, - "w": 21, + "w": 18, "h": 18 }, "frame": { - "x": 340, - "y": 263, - "w": 21, + "x": 301, + "y": 407, + "w": 18, "h": 18 } }, { - "filename": "zoom_lens", + "filename": "relic_gold", "rotated": false, "trimmed": true, "sourceSize": { @@ -6150,20 +6297,41 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 + "x": 9, + "y": 11, + "w": 15, + "h": 11 }, "frame": { - "x": 276, - "y": 277, - "w": 21, - "h": 21 + "x": 0, + "y": 414, + "w": 15, + "h": 11 } }, { - "filename": "everstone", + "filename": "full_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 4, + "w": 15, + "h": 23 + }, + "frame": { + "x": 301, + "y": 212, + "w": 15, + "h": 23 + } + }, + { + "filename": "quick_claw", "rotated": false, "trimmed": true, "sourceSize": { @@ -6172,15 +6340,78 @@ }, "spriteSourceSize": { "x": 6, - "y": 8, - "w": 20, - "h": 17 + "y": 6, + "w": 19, + "h": 21 }, "frame": { - "x": 297, - "y": 281, + "x": 301, + "y": 235, + "w": 19, + "h": 21 + } + }, + { + "filename": "spell_tag", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 19, + "h": 21 + }, + "frame": { + "x": 303, + "y": 256, + "w": 19, + "h": 21 + } + }, + { + "filename": "candy_jar", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 303, + "y": 277, + "w": 19, + "h": 20 + } + }, + { + "filename": "gb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, "w": 20, - "h": 17 + "h": 20 + }, + "frame": { + "x": 305, + "y": 297, + "w": 20, + "h": 20 } }, { @@ -6198,8 +6429,8 @@ "h": 20 }, "frame": { - "x": 317, - "y": 281, + "x": 305, + "y": 317, "w": 20, "h": 20 } @@ -6219,54 +6450,12 @@ "h": 20 }, "frame": { - "x": 337, - "y": 281, + "x": 305, + "y": 337, "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": 357, - "y": 281, - "w": 19, - "h": 20 - } - }, - { - "filename": "baton", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 361, - "y": 263, - "w": 18, - "h": 18 - } - }, { "filename": "pb", "rotated": false, @@ -6282,12 +6471,33 @@ "h": 20 }, "frame": { - "x": 379, - "y": 262, + "x": 305, + "y": 357, "w": 20, "h": 20 } }, + { + "filename": "hard_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 309, + "y": 377, + "w": 19, + "h": 20 + } + }, { "filename": "pb_gold", "rotated": false, @@ -6303,33 +6513,12 @@ "h": 20 }, "frame": { - "x": 399, - "y": 262, + "x": 302, + "y": 148, "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": 376, - "y": 282, - "w": 20, - "h": 19 - } - }, { "filename": "rb", "rotated": false, @@ -6345,33 +6534,12 @@ "h": 20 }, "frame": { - "x": 396, - "y": 282, + "x": 322, + "y": 148, "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": 192, - "y": 395, - "w": 19, - "h": 21 - } - }, { "filename": "smooth_meteorite", "rotated": false, @@ -6387,8 +6555,8 @@ "h": 20 }, "frame": { - "x": 211, - "y": 276, + "x": 303, + "y": 168, "w": 20, "h": 20 } @@ -6408,8 +6576,8 @@ "h": 20 }, "frame": { - "x": 231, - "y": 279, + "x": 342, + "y": 149, "w": 20, "h": 20 } @@ -6429,14 +6597,14 @@ "h": 20 }, "frame": { - "x": 251, - "y": 280, + "x": 362, + "y": 149, "w": 20, "h": 20 } }, { - "filename": "mystery_egg", + "filename": "flame_orb", "rotated": false, "trimmed": true, "sourceSize": { @@ -6444,20 +6612,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, + "x": 7, + "y": 7, + "w": 18, "h": 18 }, "frame": { - "x": 195, - "y": 276, - "w": 16, + "x": 323, + "y": 168, + "w": 18, "h": 18 } }, { - "filename": "white_herb", + "filename": "unremarkable_teacup", "rotated": false, "trimmed": true, "sourceSize": { @@ -6465,16 +6633,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 6, + "x": 5, "y": 7, - "w": 20, - "h": 19 + "w": 21, + "h": 18 }, "frame": { - "x": 211, - "y": 296, - "w": 20, - "h": 19 + "x": 341, + "y": 169, + "w": 21, + "h": 18 } }, { @@ -6492,8 +6660,8 @@ "h": 18 }, "frame": { - "x": 231, - "y": 299, + "x": 362, + "y": 169, "w": 20, "h": 18 } @@ -6513,54 +6681,12 @@ "h": 18 }, "frame": { - "x": 251, - "y": 300, + "x": 382, + "y": 150, "w": 20, "h": 18 } }, - { - "filename": "hard_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 20 - }, - "frame": { - "x": 271, - "y": 298, - "w": 19, - "h": 20 - } - }, - { - "filename": "miracle_seed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 19, - "h": 19 - }, - "frame": { - "x": 290, - "y": 298, - "w": 19, - "h": 19 - } - }, { "filename": "wl_awakening", "rotated": false, @@ -6576,8 +6702,8 @@ "h": 18 }, "frame": { - "x": 309, - "y": 301, + "x": 382, + "y": 168, "w": 20, "h": 18 } @@ -6597,12 +6723,33 @@ "h": 18 }, "frame": { - "x": 329, - "y": 301, + "x": 402, + "y": 163, "w": 20, "h": 18 } }, + { + "filename": "everstone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 17 + }, + "frame": { + "x": 402, + "y": 181, + "w": 20, + "h": 17 + } + }, { "filename": "wl_custom_spliced", "rotated": false, @@ -6618,8 +6765,8 @@ "h": 18 }, "frame": { - "x": 349, - "y": 301, + "x": 382, + "y": 186, "w": 20, "h": 18 } @@ -6639,8 +6786,8 @@ "h": 18 }, "frame": { - "x": 369, - "y": 301, + "x": 402, + "y": 198, "w": 20, "h": 18 } @@ -6660,14 +6807,14 @@ "h": 18 }, "frame": { - "x": 389, - "y": 302, + "x": 303, + "y": 188, "w": 20, "h": 18 } }, { - "filename": "aggronite", + "filename": "light_ball", "rotated": false, "trimmed": true, "sourceSize": { @@ -6675,37 +6822,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 + "x": 7, + "y": 7, + "w": 18, + "h": 18 }, "frame": { - "x": 409, - "y": 302, - "w": 16, - "h": 16 - } - }, - { - "filename": "alakazite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 409, - "y": 318, - "w": 16, - "h": 16 + "x": 323, + "y": 186, + "w": 18, + "h": 18 } }, { @@ -6723,8 +6849,8 @@ "h": 18 }, "frame": { - "x": 211, - "y": 315, + "x": 341, + "y": 187, "w": 20, "h": 18 } @@ -6744,12 +6870,33 @@ "h": 18 }, "frame": { - "x": 231, - "y": 317, + "x": 361, + "y": 187, "w": 20, "h": 18 } }, + { + "filename": "light_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 323, + "y": 204, + "w": 18, + "h": 18 + } + }, { "filename": "wl_full_restore", "rotated": false, @@ -6765,8 +6912,8 @@ "h": 18 }, "frame": { - "x": 251, - "y": 318, + "x": 341, + "y": 205, "w": 20, "h": 18 } @@ -6786,33 +6933,12 @@ "h": 18 }, "frame": { - "x": 271, - "y": 318, + "x": 361, + "y": 205, "w": 20, "h": 18 } }, - { - "filename": "oval_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 19 - }, - "frame": { - "x": 291, - "y": 317, - "w": 18, - "h": 19 - } - }, { "filename": "wl_hyper_potion", "rotated": false, @@ -6828,8 +6954,8 @@ "h": 18 }, "frame": { - "x": 309, - "y": 319, + "x": 381, + "y": 204, "w": 20, "h": 18 } @@ -6849,8 +6975,8 @@ "h": 18 }, "frame": { - "x": 329, - "y": 319, + "x": 401, + "y": 216, "w": 20, "h": 18 } @@ -6870,8 +6996,8 @@ "h": 18 }, "frame": { - "x": 349, - "y": 319, + "x": 381, + "y": 222, "w": 20, "h": 18 } @@ -6891,8 +7017,8 @@ "h": 18 }, "frame": { - "x": 369, - "y": 319, + "x": 401, + "y": 234, "w": 20, "h": 18 } @@ -6912,33 +7038,12 @@ "h": 18 }, "frame": { - "x": 389, - "y": 320, + "x": 320, + "y": 222, "w": 20, "h": 18 } }, - { - "filename": "altarianite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 409, - "y": 334, - "w": 16, - "h": 16 - } - }, { "filename": "wl_max_ether", "rotated": false, @@ -6954,54 +7059,12 @@ "h": 18 }, "frame": { - "x": 199, - "y": 333, + "x": 340, + "y": 223, "w": 20, "h": 18 } }, - { - "filename": "razor_fang", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 18, - "h": 20 - }, - "frame": { - "x": 201, - "y": 351, - "w": 18, - "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": 201, - "y": 371, - "w": 17, - "h": 20 - } - }, { "filename": "wl_max_potion", "rotated": false, @@ -7017,12 +7080,96 @@ "h": 18 }, "frame": { - "x": 219, - "y": 335, + "x": 360, + "y": 223, "w": 20, "h": 18 } }, + { + "filename": "ampharosite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 320, + "y": 240, + "w": 16, + "h": 16 + } + }, + { + "filename": "mystery_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 18 + }, + "frame": { + "x": 322, + "y": 256, + "w": 16, + "h": 18 + } + }, + { + "filename": "toxic_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 322, + "y": 274, + "w": 18, + "h": 18 + } + }, + { + "filename": "eviolite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 15, + "h": 15 + }, + "frame": { + "x": 336, + "y": 241, + "w": 15, + "h": 15 + } + }, { "filename": "wl_max_revive", "rotated": false, @@ -7038,8 +7185,8 @@ "h": 18 }, "frame": { - "x": 219, - "y": 353, + "x": 351, + "y": 241, "w": 20, "h": 18 } @@ -7059,8 +7206,8 @@ "h": 18 }, "frame": { - "x": 218, - "y": 371, + "x": 325, + "y": 292, "w": 20, "h": 18 } @@ -7080,8 +7227,8 @@ "h": 18 }, "frame": { - "x": 239, - "y": 336, + "x": 325, + "y": 310, "w": 20, "h": 18 } @@ -7101,8 +7248,8 @@ "h": 18 }, "frame": { - "x": 259, - "y": 336, + "x": 325, + "y": 328, "w": 20, "h": 18 } @@ -7122,8 +7269,8 @@ "h": 18 }, "frame": { - "x": 279, - "y": 336, + "x": 325, + "y": 346, "w": 20, "h": 18 } @@ -7143,159 +7290,12 @@ "h": 18 }, "frame": { - "x": 239, - "y": 354, + "x": 371, + "y": 241, "w": 20, "h": 18 } }, - { - "filename": "candy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 11, - "w": 18, - "h": 18 - }, - "frame": { - "x": 259, - "y": 354, - "w": 18, - "h": 18 - } - }, - { - "filename": "dark_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 277, - "y": 354, - "w": 18, - "h": 18 - } - }, - { - "filename": "flame_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 238, - "y": 372, - "w": 18, - "h": 18 - } - }, - { - "filename": "light_ball", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 256, - "y": 372, - "w": 18, - "h": 18 - } - }, - { - "filename": "light_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 274, - "y": 372, - "w": 18, - "h": 18 - } - }, - { - "filename": "toxic_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 299, - "y": 337, - "w": 18, - "h": 18 - } - }, - { - "filename": "ampharosite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 317, - "y": 337, - "w": 16, - "h": 16 - } - }, { "filename": "audinite", "rotated": false, @@ -7311,8 +7311,8 @@ "h": 16 }, "frame": { - "x": 333, - "y": 337, + "x": 328, + "y": 364, "w": 16, "h": 16 } @@ -7332,12 +7332,33 @@ "h": 16 }, "frame": { - "x": 349, - "y": 337, + "x": 328, + "y": 380, "w": 16, "h": 16 } }, + { + "filename": "prism_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 15, + "h": 15 + }, + "frame": { + "x": 338, + "y": 259, + "w": 15, + "h": 15 + } + }, { "filename": "beedrillite", "rotated": false, @@ -7353,8 +7374,8 @@ "h": 16 }, "frame": { - "x": 365, - "y": 337, + "x": 353, + "y": 259, "w": 16, "h": 16 } @@ -7374,8 +7395,8 @@ "h": 16 }, "frame": { - "x": 295, - "y": 355, + "x": 369, + "y": 259, "w": 16, "h": 16 } @@ -7395,8 +7416,8 @@ "h": 16 }, "frame": { - "x": 381, - "y": 338, + "x": 385, + "y": 259, "w": 16, "h": 16 } @@ -7416,8 +7437,8 @@ "h": 16 }, "frame": { - "x": 311, - "y": 355, + "x": 401, + "y": 252, "w": 16, "h": 16 } @@ -7437,8 +7458,8 @@ "h": 16 }, "frame": { - "x": 327, - "y": 353, + "x": 401, + "y": 268, "w": 16, "h": 16 } @@ -7458,8 +7479,8 @@ "h": 16 }, "frame": { - "x": 343, - "y": 353, + "x": 340, + "y": 275, "w": 16, "h": 16 } @@ -7479,8 +7500,8 @@ "h": 16 }, "frame": { - "x": 359, - "y": 353, + "x": 356, + "y": 275, "w": 16, "h": 16 } @@ -7500,8 +7521,8 @@ "h": 16 }, "frame": { - "x": 375, - "y": 354, + "x": 372, + "y": 275, "w": 16, "h": 16 } @@ -7521,8 +7542,8 @@ "h": 16 }, "frame": { - "x": 391, - "y": 354, + "x": 345, + "y": 291, "w": 16, "h": 16 } @@ -7542,8 +7563,8 @@ "h": 16 }, "frame": { - "x": 407, - "y": 350, + "x": 345, + "y": 307, "w": 16, "h": 16 } @@ -7563,8 +7584,8 @@ "h": 16 }, "frame": { - "x": 407, - "y": 366, + "x": 361, + "y": 291, "w": 16, "h": 16 } @@ -7584,8 +7605,8 @@ "h": 16 }, "frame": { - "x": 211, - "y": 391, + "x": 345, + "y": 323, "w": 16, "h": 16 } @@ -7605,8 +7626,8 @@ "h": 16 }, "frame": { - "x": 211, - "y": 407, + "x": 361, + "y": 307, "w": 16, "h": 16 } @@ -7626,8 +7647,8 @@ "h": 16 }, "frame": { - "x": 227, - "y": 390, + "x": 345, + "y": 339, "w": 16, "h": 16 } @@ -7647,8 +7668,8 @@ "h": 16 }, "frame": { - "x": 227, - "y": 406, + "x": 361, + "y": 323, "w": 16, "h": 16 } @@ -7668,8 +7689,8 @@ "h": 16 }, "frame": { - "x": 243, - "y": 390, + "x": 361, + "y": 339, "w": 16, "h": 16 } @@ -7689,8 +7710,8 @@ "h": 16 }, "frame": { - "x": 243, - "y": 406, + "x": 377, + "y": 291, "w": 16, "h": 16 } @@ -7710,8 +7731,8 @@ "h": 16 }, "frame": { - "x": 259, - "y": 390, + "x": 377, + "y": 307, "w": 16, "h": 16 } @@ -7731,8 +7752,8 @@ "h": 16 }, "frame": { - "x": 259, - "y": 406, + "x": 377, + "y": 323, "w": 16, "h": 16 } @@ -7752,8 +7773,8 @@ "h": 16 }, "frame": { - "x": 275, - "y": 390, + "x": 377, + "y": 339, "w": 16, "h": 16 } @@ -7773,8 +7794,8 @@ "h": 16 }, "frame": { - "x": 275, - "y": 406, + "x": 345, + "y": 355, "w": 16, "h": 16 } @@ -7794,8 +7815,8 @@ "h": 16 }, "frame": { - "x": 292, - "y": 372, + "x": 361, + "y": 355, "w": 16, "h": 16 } @@ -7815,8 +7836,8 @@ "h": 16 }, "frame": { - "x": 308, - "y": 371, + "x": 377, + "y": 355, "w": 16, "h": 16 } @@ -7836,7 +7857,7 @@ "h": 16 }, "frame": { - "x": 324, + "x": 344, "y": 371, "w": 16, "h": 16 @@ -7857,8 +7878,8 @@ "h": 16 }, "frame": { - "x": 340, - "y": 369, + "x": 360, + "y": 371, "w": 16, "h": 16 } @@ -7878,8 +7899,8 @@ "h": 16 }, "frame": { - "x": 356, - "y": 369, + "x": 376, + "y": 371, "w": 16, "h": 16 } @@ -7899,8 +7920,8 @@ "h": 16 }, "frame": { - "x": 372, - "y": 370, + "x": 344, + "y": 387, "w": 16, "h": 16 } @@ -7920,8 +7941,8 @@ "h": 16 }, "frame": { - "x": 388, - "y": 370, + "x": 360, + "y": 387, "w": 16, "h": 16 } @@ -7941,8 +7962,8 @@ "h": 16 }, "frame": { - "x": 292, - "y": 388, + "x": 376, + "y": 387, "w": 16, "h": 16 } @@ -7962,8 +7983,8 @@ "h": 16 }, "frame": { - "x": 308, - "y": 387, + "x": 328, + "y": 396, "w": 16, "h": 16 } @@ -7983,8 +8004,8 @@ "h": 16 }, "frame": { - "x": 324, - "y": 387, + "x": 344, + "y": 403, "w": 16, "h": 16 } @@ -8004,8 +8025,8 @@ "h": 16 }, "frame": { - "x": 340, - "y": 385, + "x": 360, + "y": 403, "w": 16, "h": 16 } @@ -8025,8 +8046,8 @@ "h": 16 }, "frame": { - "x": 356, - "y": 385, + "x": 376, + "y": 403, "w": 16, "h": 16 } @@ -8046,8 +8067,8 @@ "h": 16 }, "frame": { - "x": 291, - "y": 404, + "x": 393, + "y": 284, "w": 16, "h": 16 } @@ -8067,8 +8088,8 @@ "h": 16 }, "frame": { - "x": 372, - "y": 386, + "x": 393, + "y": 300, "w": 16, "h": 16 } @@ -8088,8 +8109,8 @@ "h": 16 }, "frame": { - "x": 388, - "y": 386, + "x": 393, + "y": 316, "w": 16, "h": 16 } @@ -8109,8 +8130,8 @@ "h": 16 }, "frame": { - "x": 404, - "y": 382, + "x": 393, + "y": 332, "w": 16, "h": 16 } @@ -8130,8 +8151,8 @@ "h": 16 }, "frame": { - "x": 404, - "y": 398, + "x": 393, + "y": 348, "w": 16, "h": 16 } @@ -8151,8 +8172,8 @@ "h": 16 }, "frame": { - "x": 340, - "y": 401, + "x": 409, + "y": 284, "w": 16, "h": 16 } @@ -8172,8 +8193,8 @@ "h": 16 }, "frame": { - "x": 356, - "y": 401, + "x": 409, + "y": 300, "w": 16, "h": 16 } @@ -8193,8 +8214,8 @@ "h": 16 }, "frame": { - "x": 372, - "y": 402, + "x": 409, + "y": 316, "w": 16, "h": 16 } @@ -8214,8 +8235,8 @@ "h": 16 }, "frame": { - "x": 388, - "y": 402, + "x": 409, + "y": 332, "w": 16, "h": 16 } @@ -8226,6 +8247,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:4669e332ee400e355936594c14e7221c:1a1f5a801c94e8eb8589e13bc50105a1:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:6dd58685cd89890a4361a424b59bfe65:ff9159978f3a103ee1d656fb76e37457:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index 9de02d9e0e9..23c87cf3204 100644 Binary files a/public/images/items.png and b/public/images/items.png differ diff --git a/public/images/items/inverse.png b/public/images/items/inverse.png new file mode 100644 index 00000000000..b1ad5d2c00e Binary files /dev/null and b/public/images/items/inverse.png differ diff --git a/public/images/pokemon/icons/1/84-f.png b/public/images/pokemon/icons/1/84-f.png new file mode 100644 index 00000000000..88531308131 Binary files /dev/null and b/public/images/pokemon/icons/1/84-f.png differ diff --git a/public/images/pokemon/icons/1/84s-f.png b/public/images/pokemon/icons/1/84s-f.png new file mode 100644 index 00000000000..0b616beff56 Binary files /dev/null and b/public/images/pokemon/icons/1/84s-f.png differ diff --git a/public/images/pokemon/icons/1/85-f.png b/public/images/pokemon/icons/1/85-f.png new file mode 100644 index 00000000000..ca34e9fc554 Binary files /dev/null and b/public/images/pokemon/icons/1/85-f.png differ diff --git a/public/images/pokemon/icons/1/85s-f.png b/public/images/pokemon/icons/1/85s-f.png new file mode 100644 index 00000000000..73bb083f2d9 Binary files /dev/null and b/public/images/pokemon/icons/1/85s-f.png differ diff --git a/public/images/pokemon/icons/3/354-mega.png b/public/images/pokemon/icons/3/354-mega.png index bf2858b4722..048af586a5d 100644 Binary files a/public/images/pokemon/icons/3/354-mega.png and b/public/images/pokemon/icons/3/354-mega.png differ diff --git a/public/images/pokemon/icons/3/354s-mega.png b/public/images/pokemon/icons/3/354s-mega.png index 3c54955fc26..9dc66f686c6 100644 Binary files a/public/images/pokemon/icons/3/354s-mega.png and b/public/images/pokemon/icons/3/354s-mega.png differ diff --git a/public/images/pokemon/icons/3/378s.png b/public/images/pokemon/icons/3/378s.png index 8e1b371140c..e2fc99bbc87 100644 Binary files a/public/images/pokemon/icons/3/378s.png and b/public/images/pokemon/icons/3/378s.png differ diff --git a/public/images/pokemon/icons/4/429.png b/public/images/pokemon/icons/4/429.png index 4468836a94b..cc682ff940a 100644 Binary files a/public/images/pokemon/icons/4/429.png and b/public/images/pokemon/icons/4/429.png differ diff --git a/public/images/pokemon/icons/5/546.png b/public/images/pokemon/icons/5/546.png index c6e84e1fe31..d3d4ac196b2 100644 Binary files a/public/images/pokemon/icons/5/546.png and b/public/images/pokemon/icons/5/546.png differ diff --git a/public/images/pokemon/icons/5/546s.png b/public/images/pokemon/icons/5/546s.png index 2c10d91c9e8..7a8d1ba4be3 100644 Binary files a/public/images/pokemon/icons/5/546s.png and b/public/images/pokemon/icons/5/546s.png differ diff --git a/public/images/pokemon/icons/5/571.png b/public/images/pokemon/icons/5/571.png index 698b916a675..094f9d44126 100644 Binary files a/public/images/pokemon/icons/5/571.png and b/public/images/pokemon/icons/5/571.png differ diff --git a/public/images/pokemon/icons/5/571s.png b/public/images/pokemon/icons/5/571s.png index 8371f12d1a1..ba25df5eb72 100644 Binary files a/public/images/pokemon/icons/5/571s.png and b/public/images/pokemon/icons/5/571s.png differ diff --git a/public/images/pokemon/icons/5/592s-f.png b/public/images/pokemon/icons/5/592s-f.png index f320ce8dbed..3df6258da5b 100644 Binary files a/public/images/pokemon/icons/5/592s-f.png and b/public/images/pokemon/icons/5/592s-f.png differ diff --git a/public/images/pokemon/icons/6/664s.png b/public/images/pokemon/icons/6/664s.png index 985fbf88781..52ef9b2d436 100644 Binary files a/public/images/pokemon/icons/6/664s.png and b/public/images/pokemon/icons/6/664s.png differ diff --git a/public/images/pokemon/icons/6/692.png b/public/images/pokemon/icons/6/692.png index 61cebe369f4..71533bc0c63 100644 Binary files a/public/images/pokemon/icons/6/692.png and b/public/images/pokemon/icons/6/692.png differ diff --git a/public/images/pokemon/icons/6/692s.png b/public/images/pokemon/icons/6/692s.png index 5a63ced809b..8d9d998e1c3 100644 Binary files a/public/images/pokemon/icons/6/692s.png and b/public/images/pokemon/icons/6/692s.png differ diff --git a/public/images/pokemon/icons/6/693.png b/public/images/pokemon/icons/6/693.png index 73a39c76dbc..bc57f981079 100644 Binary files a/public/images/pokemon/icons/6/693.png and b/public/images/pokemon/icons/6/693.png differ diff --git a/public/images/pokemon/icons/9/945.png b/public/images/pokemon/icons/9/945.png index bcf5bdc054e..25abfaf8f6c 100644 Binary files a/public/images/pokemon/icons/9/945.png and b/public/images/pokemon/icons/9/945.png differ diff --git a/public/images/pokemon/icons/9/945s.png b/public/images/pokemon/icons/9/945s.png index cd29ac73e36..20c24c77a85 100644 Binary files a/public/images/pokemon/icons/9/945s.png and b/public/images/pokemon/icons/9/945s.png differ diff --git a/public/images/pokemon/icons/variant/1/116_2.png b/public/images/pokemon/icons/variant/1/116_2.png new file mode 100644 index 00000000000..42cfbd3c3b5 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/116_2.png differ diff --git a/public/images/pokemon/icons/variant/1/116_3.png b/public/images/pokemon/icons/variant/1/116_3.png new file mode 100644 index 00000000000..55020e28a8e Binary files /dev/null and b/public/images/pokemon/icons/variant/1/116_3.png differ diff --git a/public/images/pokemon/icons/variant/1/117_2.png b/public/images/pokemon/icons/variant/1/117_2.png new file mode 100644 index 00000000000..9c0d619df68 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/117_2.png differ diff --git a/public/images/pokemon/icons/variant/1/117_3.png b/public/images/pokemon/icons/variant/1/117_3.png new file mode 100644 index 00000000000..e4889e5fb0d Binary files /dev/null and b/public/images/pokemon/icons/variant/1/117_3.png differ diff --git a/public/images/pokemon/icons/variant/1/120_2.png b/public/images/pokemon/icons/variant/1/120_2.png new file mode 100644 index 00000000000..87ba9303cee Binary files /dev/null and b/public/images/pokemon/icons/variant/1/120_2.png differ diff --git a/public/images/pokemon/icons/variant/1/120_3.png b/public/images/pokemon/icons/variant/1/120_3.png new file mode 100644 index 00000000000..921165fa535 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/120_3.png differ diff --git a/public/images/pokemon/icons/variant/1/121_2.png b/public/images/pokemon/icons/variant/1/121_2.png new file mode 100644 index 00000000000..2c240fc05c5 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/121_2.png differ diff --git a/public/images/pokemon/icons/variant/1/121_3.png b/public/images/pokemon/icons/variant/1/121_3.png new file mode 100644 index 00000000000..3fe75e12157 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/121_3.png differ diff --git a/public/images/pokemon/icons/variant/1/126_2.png b/public/images/pokemon/icons/variant/1/126_2.png new file mode 100644 index 00000000000..629efc9c10b Binary files /dev/null and b/public/images/pokemon/icons/variant/1/126_2.png differ diff --git a/public/images/pokemon/icons/variant/1/126_3.png b/public/images/pokemon/icons/variant/1/126_3.png new file mode 100644 index 00000000000..7ad95578477 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/126_3.png differ diff --git a/public/images/pokemon/icons/variant/1/137_2.png b/public/images/pokemon/icons/variant/1/137_2.png new file mode 100644 index 00000000000..93ddd4a83ad Binary files /dev/null and b/public/images/pokemon/icons/variant/1/137_2.png differ diff --git a/public/images/pokemon/icons/variant/1/137_3.png b/public/images/pokemon/icons/variant/1/137_3.png new file mode 100644 index 00000000000..044cc212b2b Binary files /dev/null and b/public/images/pokemon/icons/variant/1/137_3.png differ diff --git a/public/images/pokemon/icons/variant/1/23_2.png b/public/images/pokemon/icons/variant/1/23_2.png new file mode 100644 index 00000000000..1152d493c8f Binary files /dev/null and b/public/images/pokemon/icons/variant/1/23_2.png differ diff --git a/public/images/pokemon/icons/variant/1/23_3.png b/public/images/pokemon/icons/variant/1/23_3.png new file mode 100644 index 00000000000..6088043415b Binary files /dev/null and b/public/images/pokemon/icons/variant/1/23_3.png differ diff --git a/public/images/pokemon/icons/variant/1/24_2.png b/public/images/pokemon/icons/variant/1/24_2.png new file mode 100644 index 00000000000..015a5c97884 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/24_2.png differ diff --git a/public/images/pokemon/icons/variant/1/24_3.png b/public/images/pokemon/icons/variant/1/24_3.png new file mode 100644 index 00000000000..c9cf33f3412 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/24_3.png differ diff --git a/public/images/pokemon/icons/variant/1/38_3.png b/public/images/pokemon/icons/variant/1/38_3.png index 0834d588d5a..28d2d97ab23 100644 Binary files a/public/images/pokemon/icons/variant/1/38_3.png and b/public/images/pokemon/icons/variant/1/38_3.png differ diff --git a/public/images/pokemon/icons/variant/1/43_2.png b/public/images/pokemon/icons/variant/1/43_2.png new file mode 100644 index 00000000000..b47f662212c Binary files /dev/null and b/public/images/pokemon/icons/variant/1/43_2.png differ diff --git a/public/images/pokemon/icons/variant/1/43_3.png b/public/images/pokemon/icons/variant/1/43_3.png new file mode 100644 index 00000000000..3d3d47875a0 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/43_3.png differ diff --git a/public/images/pokemon/icons/variant/1/44_2.png b/public/images/pokemon/icons/variant/1/44_2.png new file mode 100644 index 00000000000..3b6a6aa082e Binary files /dev/null and b/public/images/pokemon/icons/variant/1/44_2.png differ diff --git a/public/images/pokemon/icons/variant/1/44_3.png b/public/images/pokemon/icons/variant/1/44_3.png new file mode 100644 index 00000000000..c543307d22e Binary files /dev/null and b/public/images/pokemon/icons/variant/1/44_3.png differ diff --git a/public/images/pokemon/icons/variant/1/45_2.png b/public/images/pokemon/icons/variant/1/45_2.png new file mode 100644 index 00000000000..79e094ec9b2 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/45_2.png differ diff --git a/public/images/pokemon/icons/variant/1/45_3.png b/public/images/pokemon/icons/variant/1/45_3.png new file mode 100644 index 00000000000..1afbf809c8d Binary files /dev/null and b/public/images/pokemon/icons/variant/1/45_3.png differ diff --git a/public/images/pokemon/icons/variant/1/46_1.png b/public/images/pokemon/icons/variant/1/46_1.png index 6f29d16ed7d..eb9e15001f6 100644 Binary files a/public/images/pokemon/icons/variant/1/46_1.png and b/public/images/pokemon/icons/variant/1/46_1.png differ diff --git a/public/images/pokemon/icons/variant/1/46_2.png b/public/images/pokemon/icons/variant/1/46_2.png index 45bd33c6230..bc21946d322 100644 Binary files a/public/images/pokemon/icons/variant/1/46_2.png and b/public/images/pokemon/icons/variant/1/46_2.png differ diff --git a/public/images/pokemon/icons/variant/1/46_3.png b/public/images/pokemon/icons/variant/1/46_3.png index c2a0e958745..b3da371304e 100644 Binary files a/public/images/pokemon/icons/variant/1/46_3.png and b/public/images/pokemon/icons/variant/1/46_3.png differ diff --git a/public/images/pokemon/icons/variant/1/47_1.png b/public/images/pokemon/icons/variant/1/47_1.png index 6dfafffe8de..cf7ab4f7a4f 100644 Binary files a/public/images/pokemon/icons/variant/1/47_1.png and b/public/images/pokemon/icons/variant/1/47_1.png differ diff --git a/public/images/pokemon/icons/variant/1/47_2.png b/public/images/pokemon/icons/variant/1/47_2.png index 193a3e786fb..2ce9c0a289d 100644 Binary files a/public/images/pokemon/icons/variant/1/47_2.png and b/public/images/pokemon/icons/variant/1/47_2.png differ diff --git a/public/images/pokemon/icons/variant/1/47_3.png b/public/images/pokemon/icons/variant/1/47_3.png index 6a19f28aab5..911cb37c8d8 100644 Binary files a/public/images/pokemon/icons/variant/1/47_3.png and b/public/images/pokemon/icons/variant/1/47_3.png differ diff --git a/public/images/pokemon/icons/variant/1/79_2.png b/public/images/pokemon/icons/variant/1/79_2.png new file mode 100644 index 00000000000..af6caaa5994 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/79_2.png differ diff --git a/public/images/pokemon/icons/variant/1/79_3.png b/public/images/pokemon/icons/variant/1/79_3.png new file mode 100644 index 00000000000..11e229bb868 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/79_3.png differ diff --git a/public/images/pokemon/icons/variant/1/80-mega_2.png b/public/images/pokemon/icons/variant/1/80-mega_2.png new file mode 100644 index 00000000000..cc5a0b87d24 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/80-mega_2.png differ diff --git a/public/images/pokemon/icons/variant/1/80-mega_3.png b/public/images/pokemon/icons/variant/1/80-mega_3.png new file mode 100644 index 00000000000..11871ef80a5 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/80-mega_3.png differ diff --git a/public/images/pokemon/icons/variant/1/80_2.png b/public/images/pokemon/icons/variant/1/80_2.png new file mode 100644 index 00000000000..dab6fc6f06e Binary files /dev/null and b/public/images/pokemon/icons/variant/1/80_2.png differ diff --git a/public/images/pokemon/icons/variant/1/80_3.png b/public/images/pokemon/icons/variant/1/80_3.png new file mode 100644 index 00000000000..a6180e61a02 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/80_3.png differ diff --git a/public/images/pokemon/icons/variant/1/84-f_1.png b/public/images/pokemon/icons/variant/1/84-f_1.png new file mode 100644 index 00000000000..a0ca4a89b2e Binary files /dev/null and b/public/images/pokemon/icons/variant/1/84-f_1.png differ diff --git a/public/images/pokemon/icons/variant/1/84-f_2.png b/public/images/pokemon/icons/variant/1/84-f_2.png new file mode 100644 index 00000000000..f8b34a5d810 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/84-f_2.png differ diff --git a/public/images/pokemon/icons/variant/1/84-f_3.png b/public/images/pokemon/icons/variant/1/84-f_3.png new file mode 100644 index 00000000000..b3aeb8a21fc Binary files /dev/null and b/public/images/pokemon/icons/variant/1/84-f_3.png differ diff --git a/public/images/pokemon/icons/variant/1/84_1.png b/public/images/pokemon/icons/variant/1/84_1.png index cc0efb19cb2..a0ca4a89b2e 100644 Binary files a/public/images/pokemon/icons/variant/1/84_1.png and b/public/images/pokemon/icons/variant/1/84_1.png differ diff --git a/public/images/pokemon/icons/variant/1/84_2.png b/public/images/pokemon/icons/variant/1/84_2.png index 6c0e7350679..e51e2107263 100644 Binary files a/public/images/pokemon/icons/variant/1/84_2.png and b/public/images/pokemon/icons/variant/1/84_2.png differ diff --git a/public/images/pokemon/icons/variant/1/84_3.png b/public/images/pokemon/icons/variant/1/84_3.png index a6df8472737..a7127a59620 100644 Binary files a/public/images/pokemon/icons/variant/1/84_3.png and b/public/images/pokemon/icons/variant/1/84_3.png differ diff --git a/public/images/pokemon/icons/variant/1/85-f_1.png b/public/images/pokemon/icons/variant/1/85-f_1.png new file mode 100644 index 00000000000..acd9943420b Binary files /dev/null and b/public/images/pokemon/icons/variant/1/85-f_1.png differ diff --git a/public/images/pokemon/icons/variant/1/85-f_2.png b/public/images/pokemon/icons/variant/1/85-f_2.png new file mode 100644 index 00000000000..ff1841c63c5 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/85-f_2.png differ diff --git a/public/images/pokemon/icons/variant/1/85-f_3.png b/public/images/pokemon/icons/variant/1/85-f_3.png new file mode 100644 index 00000000000..6c166af1f78 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/85-f_3.png differ diff --git a/public/images/pokemon/icons/variant/1/85_1.png b/public/images/pokemon/icons/variant/1/85_1.png index 7fd63b7268f..acd9943420b 100644 Binary files a/public/images/pokemon/icons/variant/1/85_1.png and b/public/images/pokemon/icons/variant/1/85_1.png differ diff --git a/public/images/pokemon/icons/variant/1/85_2.png b/public/images/pokemon/icons/variant/1/85_2.png index f17bdee3edb..1efa6f238f3 100644 Binary files a/public/images/pokemon/icons/variant/1/85_2.png and b/public/images/pokemon/icons/variant/1/85_2.png differ diff --git a/public/images/pokemon/icons/variant/1/85_3.png b/public/images/pokemon/icons/variant/1/85_3.png index af16ce4828b..dd2a8a32d1f 100644 Binary files a/public/images/pokemon/icons/variant/1/85_3.png and b/public/images/pokemon/icons/variant/1/85_3.png differ diff --git a/public/images/pokemon/icons/variant/1/98_2.png b/public/images/pokemon/icons/variant/1/98_2.png new file mode 100644 index 00000000000..ea5f1ebf5de Binary files /dev/null and b/public/images/pokemon/icons/variant/1/98_2.png differ diff --git a/public/images/pokemon/icons/variant/1/98_3.png b/public/images/pokemon/icons/variant/1/98_3.png new file mode 100644 index 00000000000..71014d948f4 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/98_3.png differ diff --git a/public/images/pokemon/icons/variant/1/99-gigantamax_2.png b/public/images/pokemon/icons/variant/1/99-gigantamax_2.png new file mode 100644 index 00000000000..f56f7edbfe4 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/99-gigantamax_2.png differ diff --git a/public/images/pokemon/icons/variant/1/99-gigantamax_3.png b/public/images/pokemon/icons/variant/1/99-gigantamax_3.png new file mode 100644 index 00000000000..dbd95345af8 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/99-gigantamax_3.png differ diff --git a/public/images/pokemon/icons/variant/1/99_2.png b/public/images/pokemon/icons/variant/1/99_2.png new file mode 100644 index 00000000000..fff774d519c Binary files /dev/null and b/public/images/pokemon/icons/variant/1/99_2.png differ diff --git a/public/images/pokemon/icons/variant/1/99_3.png b/public/images/pokemon/icons/variant/1/99_3.png new file mode 100644 index 00000000000..f5274f2745b Binary files /dev/null and b/public/images/pokemon/icons/variant/1/99_3.png differ diff --git a/public/images/pokemon/icons/variant/2/173_2.png b/public/images/pokemon/icons/variant/2/173_2.png new file mode 100644 index 00000000000..3ffaaca89dd Binary files /dev/null and b/public/images/pokemon/icons/variant/2/173_2.png differ diff --git a/public/images/pokemon/icons/variant/2/182_2.png b/public/images/pokemon/icons/variant/2/182_2.png new file mode 100644 index 00000000000..f39877edc1e Binary files /dev/null and b/public/images/pokemon/icons/variant/2/182_2.png differ diff --git a/public/images/pokemon/icons/variant/2/182_3.png b/public/images/pokemon/icons/variant/2/182_3.png new file mode 100644 index 00000000000..9830d956812 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/182_3.png differ diff --git a/public/images/pokemon/icons/variant/2/185_2.png b/public/images/pokemon/icons/variant/2/185_2.png new file mode 100644 index 00000000000..810aa3354ed Binary files /dev/null and b/public/images/pokemon/icons/variant/2/185_2.png differ diff --git a/public/images/pokemon/icons/variant/2/185_3.png b/public/images/pokemon/icons/variant/2/185_3.png new file mode 100644 index 00000000000..5de578717a5 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/185_3.png differ diff --git a/public/images/pokemon/icons/variant/2/190_2.png b/public/images/pokemon/icons/variant/2/190_2.png new file mode 100644 index 00000000000..eced210ae5c Binary files /dev/null and b/public/images/pokemon/icons/variant/2/190_2.png differ diff --git a/public/images/pokemon/icons/variant/2/190_3.png b/public/images/pokemon/icons/variant/2/190_3.png new file mode 100644 index 00000000000..ad3523ceb6b Binary files /dev/null and b/public/images/pokemon/icons/variant/2/190_3.png differ diff --git a/public/images/pokemon/icons/variant/2/193_2.png b/public/images/pokemon/icons/variant/2/193_2.png new file mode 100644 index 00000000000..63de94c2fb1 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/193_2.png differ diff --git a/public/images/pokemon/icons/variant/2/193_3.png b/public/images/pokemon/icons/variant/2/193_3.png new file mode 100644 index 00000000000..defaaa1ece3 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/193_3.png differ diff --git a/public/images/pokemon/icons/variant/2/199_2.png b/public/images/pokemon/icons/variant/2/199_2.png new file mode 100644 index 00000000000..050cb7836e6 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/199_2.png differ diff --git a/public/images/pokemon/icons/variant/2/199_3.png b/public/images/pokemon/icons/variant/2/199_3.png new file mode 100644 index 00000000000..f3c63115f78 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/199_3.png differ diff --git a/public/images/pokemon/icons/variant/2/203_2.png b/public/images/pokemon/icons/variant/2/203_2.png new file mode 100644 index 00000000000..8ca96e9d14c Binary files /dev/null and b/public/images/pokemon/icons/variant/2/203_2.png differ diff --git a/public/images/pokemon/icons/variant/2/203_3.png b/public/images/pokemon/icons/variant/2/203_3.png new file mode 100644 index 00000000000..8fcb3c7eb3e Binary files /dev/null and b/public/images/pokemon/icons/variant/2/203_3.png differ diff --git a/public/images/pokemon/icons/variant/2/213_2.png b/public/images/pokemon/icons/variant/2/213_2.png new file mode 100644 index 00000000000..832fe44e1cd Binary files /dev/null and b/public/images/pokemon/icons/variant/2/213_2.png differ diff --git a/public/images/pokemon/icons/variant/2/213_3.png b/public/images/pokemon/icons/variant/2/213_3.png new file mode 100644 index 00000000000..6a0edbc1bff Binary files /dev/null and b/public/images/pokemon/icons/variant/2/213_3.png differ diff --git a/public/images/pokemon/icons/variant/2/216_1.png b/public/images/pokemon/icons/variant/2/216_1.png new file mode 100644 index 00000000000..141771743e7 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/216_1.png differ diff --git a/public/images/pokemon/icons/variant/2/230_2.png b/public/images/pokemon/icons/variant/2/230_2.png new file mode 100644 index 00000000000..531b9e30568 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/230_2.png differ diff --git a/public/images/pokemon/icons/variant/2/230_3.png b/public/images/pokemon/icons/variant/2/230_3.png new file mode 100644 index 00000000000..334483d449e Binary files /dev/null and b/public/images/pokemon/icons/variant/2/230_3.png differ diff --git a/public/images/pokemon/icons/variant/2/233_2.png b/public/images/pokemon/icons/variant/2/233_2.png new file mode 100644 index 00000000000..b36994631dc Binary files /dev/null and b/public/images/pokemon/icons/variant/2/233_2.png differ diff --git a/public/images/pokemon/icons/variant/2/233_3.png b/public/images/pokemon/icons/variant/2/233_3.png new file mode 100644 index 00000000000..09d9ae1fe59 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/233_3.png differ diff --git a/public/images/pokemon/icons/variant/2/240_2.png b/public/images/pokemon/icons/variant/2/240_2.png new file mode 100644 index 00000000000..118ad1f4fd2 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/240_2.png differ diff --git a/public/images/pokemon/icons/variant/2/240_3.png b/public/images/pokemon/icons/variant/2/240_3.png new file mode 100644 index 00000000000..5d21cedde2d Binary files /dev/null and b/public/images/pokemon/icons/variant/2/240_3.png differ diff --git a/public/images/pokemon/icons/variant/3/255-f_2.png b/public/images/pokemon/icons/variant/3/255-f_2.png new file mode 100644 index 00000000000..adf8c6ea8bc Binary files /dev/null and b/public/images/pokemon/icons/variant/3/255-f_2.png differ diff --git a/public/images/pokemon/icons/variant/3/255-f_3.png b/public/images/pokemon/icons/variant/3/255-f_3.png new file mode 100644 index 00000000000..48fc5610e94 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/255-f_3.png differ diff --git a/public/images/pokemon/icons/variant/3/255_2.png b/public/images/pokemon/icons/variant/3/255_2.png new file mode 100644 index 00000000000..adf8c6ea8bc Binary files /dev/null and b/public/images/pokemon/icons/variant/3/255_2.png differ diff --git a/public/images/pokemon/icons/variant/3/255_3.png b/public/images/pokemon/icons/variant/3/255_3.png new file mode 100644 index 00000000000..6ed47e69afa Binary files /dev/null and b/public/images/pokemon/icons/variant/3/255_3.png differ diff --git a/public/images/pokemon/icons/variant/3/256-f_2.png b/public/images/pokemon/icons/variant/3/256-f_2.png new file mode 100644 index 00000000000..b372f1ff981 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/256-f_2.png differ diff --git a/public/images/pokemon/icons/variant/3/256-f_3.png b/public/images/pokemon/icons/variant/3/256-f_3.png new file mode 100644 index 00000000000..5d36370218b Binary files /dev/null and b/public/images/pokemon/icons/variant/3/256-f_3.png differ diff --git a/public/images/pokemon/icons/variant/3/256_2.png b/public/images/pokemon/icons/variant/3/256_2.png new file mode 100644 index 00000000000..b372f1ff981 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/256_2.png differ diff --git a/public/images/pokemon/icons/variant/3/256_3.png b/public/images/pokemon/icons/variant/3/256_3.png new file mode 100644 index 00000000000..0c529f838ba Binary files /dev/null and b/public/images/pokemon/icons/variant/3/256_3.png differ diff --git a/public/images/pokemon/icons/variant/3/257-f_2.png b/public/images/pokemon/icons/variant/3/257-f_2.png new file mode 100644 index 00000000000..05dec9629ed Binary files /dev/null and b/public/images/pokemon/icons/variant/3/257-f_2.png differ diff --git a/public/images/pokemon/icons/variant/3/257-f_3.png b/public/images/pokemon/icons/variant/3/257-f_3.png new file mode 100644 index 00000000000..df9584837b0 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/257-f_3.png differ diff --git a/public/images/pokemon/icons/variant/3/257-mega_2.png b/public/images/pokemon/icons/variant/3/257-mega_2.png new file mode 100644 index 00000000000..e04d8d8e1fe Binary files /dev/null and b/public/images/pokemon/icons/variant/3/257-mega_2.png differ diff --git a/public/images/pokemon/icons/variant/3/257-mega_3.png b/public/images/pokemon/icons/variant/3/257-mega_3.png new file mode 100644 index 00000000000..f32e684a503 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/257-mega_3.png differ diff --git a/public/images/pokemon/icons/variant/3/257_2.png b/public/images/pokemon/icons/variant/3/257_2.png new file mode 100644 index 00000000000..305fab85238 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/257_2.png differ diff --git a/public/images/pokemon/icons/variant/3/257_3.png b/public/images/pokemon/icons/variant/3/257_3.png new file mode 100644 index 00000000000..c7853c73d4f Binary files /dev/null and b/public/images/pokemon/icons/variant/3/257_3.png differ diff --git a/public/images/pokemon/icons/variant/3/261_2.png b/public/images/pokemon/icons/variant/3/261_2.png new file mode 100644 index 00000000000..31d46738062 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/261_2.png differ diff --git a/public/images/pokemon/icons/variant/3/261_3.png b/public/images/pokemon/icons/variant/3/261_3.png new file mode 100644 index 00000000000..a00afc04114 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/261_3.png differ diff --git a/public/images/pokemon/icons/variant/3/262_2.png b/public/images/pokemon/icons/variant/3/262_2.png new file mode 100644 index 00000000000..0490ad8b552 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/262_2.png differ diff --git a/public/images/pokemon/icons/variant/3/262_3.png b/public/images/pokemon/icons/variant/3/262_3.png new file mode 100644 index 00000000000..eec06b91c5c Binary files /dev/null and b/public/images/pokemon/icons/variant/3/262_3.png differ diff --git a/public/images/pokemon/icons/variant/3/327_2.png b/public/images/pokemon/icons/variant/3/327_2.png new file mode 100644 index 00000000000..3013d175e7b Binary files /dev/null and b/public/images/pokemon/icons/variant/3/327_2.png differ diff --git a/public/images/pokemon/icons/variant/3/327_3.png b/public/images/pokemon/icons/variant/3/327_3.png new file mode 100644 index 00000000000..85d494eb661 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/327_3.png differ diff --git a/public/images/pokemon/icons/variant/3/337_2.png b/public/images/pokemon/icons/variant/3/337_2.png new file mode 100644 index 00000000000..feb9de9766c Binary files /dev/null and b/public/images/pokemon/icons/variant/3/337_2.png differ diff --git a/public/images/pokemon/icons/variant/3/337_3.png b/public/images/pokemon/icons/variant/3/337_3.png new file mode 100644 index 00000000000..456109305ad Binary files /dev/null and b/public/images/pokemon/icons/variant/3/337_3.png differ diff --git a/public/images/pokemon/icons/variant/3/352_1.png b/public/images/pokemon/icons/variant/3/352_1.png index f6e0f96024a..2368c95ed59 100644 Binary files a/public/images/pokemon/icons/variant/3/352_1.png and b/public/images/pokemon/icons/variant/3/352_1.png differ diff --git a/public/images/pokemon/icons/variant/3/352_2.png b/public/images/pokemon/icons/variant/3/352_2.png index 88d67f91e1a..d0776e840c3 100644 Binary files a/public/images/pokemon/icons/variant/3/352_2.png and b/public/images/pokemon/icons/variant/3/352_2.png differ diff --git a/public/images/pokemon/icons/variant/3/352_3.png b/public/images/pokemon/icons/variant/3/352_3.png index e4f659efac0..36189d852a2 100644 Binary files a/public/images/pokemon/icons/variant/3/352_3.png and b/public/images/pokemon/icons/variant/3/352_3.png differ diff --git a/public/images/pokemon/icons/variant/3/370_2.png b/public/images/pokemon/icons/variant/3/370_2.png new file mode 100644 index 00000000000..97be23cb47b Binary files /dev/null and b/public/images/pokemon/icons/variant/3/370_2.png differ diff --git a/public/images/pokemon/icons/variant/3/370_3.png b/public/images/pokemon/icons/variant/3/370_3.png new file mode 100644 index 00000000000..39bbbf7277f Binary files /dev/null and b/public/images/pokemon/icons/variant/3/370_3.png differ diff --git a/public/images/pokemon/icons/variant/3/382-primal_2.png b/public/images/pokemon/icons/variant/3/382-primal_2.png index 2380442f03d..ef646e58170 100644 Binary files a/public/images/pokemon/icons/variant/3/382-primal_2.png and b/public/images/pokemon/icons/variant/3/382-primal_2.png differ diff --git a/public/images/pokemon/icons/variant/3/382_2.png b/public/images/pokemon/icons/variant/3/382_2.png index 040d5b47203..987672917b5 100644 Binary files a/public/images/pokemon/icons/variant/3/382_2.png and b/public/images/pokemon/icons/variant/3/382_2.png differ diff --git a/public/images/pokemon/icons/variant/3/427_2.png b/public/images/pokemon/icons/variant/3/427_2.png new file mode 100644 index 00000000000..ceaf11acb48 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/427_2.png differ diff --git a/public/images/pokemon/icons/variant/3/427_3.png b/public/images/pokemon/icons/variant/3/427_3.png new file mode 100644 index 00000000000..5972f5e9489 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/427_3.png differ diff --git a/public/images/pokemon/icons/variant/3/428-mega_2.png b/public/images/pokemon/icons/variant/3/428-mega_2.png new file mode 100644 index 00000000000..32c3293a796 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/428-mega_2.png differ diff --git a/public/images/pokemon/icons/variant/3/428_2.png b/public/images/pokemon/icons/variant/3/428_2.png new file mode 100644 index 00000000000..5b325f3256a Binary files /dev/null and b/public/images/pokemon/icons/variant/3/428_2.png differ diff --git a/public/images/pokemon/icons/variant/3/429_1.png b/public/images/pokemon/icons/variant/3/429_1.png new file mode 100644 index 00000000000..667f389f5c1 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/429_1.png differ diff --git a/public/images/pokemon/icons/variant/3/429_2.png b/public/images/pokemon/icons/variant/3/429_2.png new file mode 100644 index 00000000000..85cd47bd85f Binary files /dev/null and b/public/images/pokemon/icons/variant/3/429_2.png differ diff --git a/public/images/pokemon/icons/variant/3/429_3.png b/public/images/pokemon/icons/variant/3/429_3.png new file mode 100644 index 00000000000..bb9b2384514 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/429_3.png differ diff --git a/public/images/pokemon/icons/variant/4/393_2.png b/public/images/pokemon/icons/variant/4/393_2.png new file mode 100644 index 00000000000..e26a72dd850 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/393_2.png differ diff --git a/public/images/pokemon/icons/variant/4/393_3.png b/public/images/pokemon/icons/variant/4/393_3.png new file mode 100644 index 00000000000..7fcd8815e4f Binary files /dev/null and b/public/images/pokemon/icons/variant/4/393_3.png differ diff --git a/public/images/pokemon/icons/variant/4/394_2.png b/public/images/pokemon/icons/variant/4/394_2.png new file mode 100644 index 00000000000..637cc289736 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/394_2.png differ diff --git a/public/images/pokemon/icons/variant/4/394_3.png b/public/images/pokemon/icons/variant/4/394_3.png new file mode 100644 index 00000000000..2a471dcc51e Binary files /dev/null and b/public/images/pokemon/icons/variant/4/394_3.png differ diff --git a/public/images/pokemon/icons/variant/4/395_2.png b/public/images/pokemon/icons/variant/4/395_2.png new file mode 100644 index 00000000000..733fede6d6b Binary files /dev/null and b/public/images/pokemon/icons/variant/4/395_2.png differ diff --git a/public/images/pokemon/icons/variant/4/395_3.png b/public/images/pokemon/icons/variant/4/395_3.png new file mode 100644 index 00000000000..43bd23c5c58 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/395_3.png differ diff --git a/public/images/pokemon/icons/variant/4/418_2.png b/public/images/pokemon/icons/variant/4/418_2.png new file mode 100644 index 00000000000..7712de363c1 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/418_2.png differ diff --git a/public/images/pokemon/icons/variant/4/418_3.png b/public/images/pokemon/icons/variant/4/418_3.png new file mode 100644 index 00000000000..c400f59a7ab Binary files /dev/null and b/public/images/pokemon/icons/variant/4/418_3.png differ diff --git a/public/images/pokemon/icons/variant/4/419_2.png b/public/images/pokemon/icons/variant/4/419_2.png new file mode 100644 index 00000000000..a95721362bd Binary files /dev/null and b/public/images/pokemon/icons/variant/4/419_2.png differ diff --git a/public/images/pokemon/icons/variant/4/419_3.png b/public/images/pokemon/icons/variant/4/419_3.png new file mode 100644 index 00000000000..89fa83adf14 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/419_3.png differ diff --git a/public/images/pokemon/icons/variant/4/424_2.png b/public/images/pokemon/icons/variant/4/424_2.png new file mode 100644 index 00000000000..356858005eb Binary files /dev/null and b/public/images/pokemon/icons/variant/4/424_2.png differ diff --git a/public/images/pokemon/icons/variant/4/424_3.png b/public/images/pokemon/icons/variant/4/424_3.png new file mode 100644 index 00000000000..78e066ba68c Binary files /dev/null and b/public/images/pokemon/icons/variant/4/424_3.png differ diff --git a/public/images/pokemon/icons/variant/4/438_2.png b/public/images/pokemon/icons/variant/4/438_2.png new file mode 100644 index 00000000000..17e9774a8da Binary files /dev/null and b/public/images/pokemon/icons/variant/4/438_2.png differ diff --git a/public/images/pokemon/icons/variant/4/438_3.png b/public/images/pokemon/icons/variant/4/438_3.png new file mode 100644 index 00000000000..d5022d89135 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/438_3.png differ diff --git a/public/images/pokemon/icons/variant/4/441_2.png b/public/images/pokemon/icons/variant/4/441_2.png new file mode 100644 index 00000000000..de8e6a96d56 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/441_2.png differ diff --git a/public/images/pokemon/icons/variant/4/441_3.png b/public/images/pokemon/icons/variant/4/441_3.png new file mode 100644 index 00000000000..1ad59d63241 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/441_3.png differ diff --git a/public/images/pokemon/icons/variant/4/456_2.png b/public/images/pokemon/icons/variant/4/456_2.png new file mode 100644 index 00000000000..c3817b56fb4 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/456_2.png differ diff --git a/public/images/pokemon/icons/variant/4/456_3.png b/public/images/pokemon/icons/variant/4/456_3.png new file mode 100644 index 00000000000..1af49a05518 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/456_3.png differ diff --git a/public/images/pokemon/icons/variant/4/457_2.png b/public/images/pokemon/icons/variant/4/457_2.png new file mode 100644 index 00000000000..8f120cc478d Binary files /dev/null and b/public/images/pokemon/icons/variant/4/457_2.png differ diff --git a/public/images/pokemon/icons/variant/4/457_3.png b/public/images/pokemon/icons/variant/4/457_3.png new file mode 100644 index 00000000000..e65119dd11a Binary files /dev/null and b/public/images/pokemon/icons/variant/4/457_3.png differ diff --git a/public/images/pokemon/icons/variant/4/467_2.png b/public/images/pokemon/icons/variant/4/467_2.png new file mode 100644 index 00000000000..46395657b20 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/467_2.png differ diff --git a/public/images/pokemon/icons/variant/4/467_3.png b/public/images/pokemon/icons/variant/4/467_3.png new file mode 100644 index 00000000000..0a5821dc61f Binary files /dev/null and b/public/images/pokemon/icons/variant/4/467_3.png differ diff --git a/public/images/pokemon/icons/variant/4/469_2.png b/public/images/pokemon/icons/variant/4/469_2.png new file mode 100644 index 00000000000..8eb2dfece00 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/469_2.png differ diff --git a/public/images/pokemon/icons/variant/4/469_3.png b/public/images/pokemon/icons/variant/4/469_3.png new file mode 100644 index 00000000000..10f4c01442b Binary files /dev/null and b/public/images/pokemon/icons/variant/4/469_3.png differ diff --git a/public/images/pokemon/icons/variant/4/474_2.png b/public/images/pokemon/icons/variant/4/474_2.png new file mode 100644 index 00000000000..cbc6b709c8d Binary files /dev/null and b/public/images/pokemon/icons/variant/4/474_2.png differ diff --git a/public/images/pokemon/icons/variant/4/474_3.png b/public/images/pokemon/icons/variant/4/474_3.png new file mode 100644 index 00000000000..5cc48efdaf2 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/474_3.png differ diff --git a/public/images/pokemon/icons/variant/4/479-fan_2.png b/public/images/pokemon/icons/variant/4/479-fan_2.png new file mode 100644 index 00000000000..2d421219259 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-fan_2.png differ diff --git a/public/images/pokemon/icons/variant/4/479-fan_3.png b/public/images/pokemon/icons/variant/4/479-fan_3.png new file mode 100644 index 00000000000..590e3c7e7a2 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-fan_3.png differ diff --git a/public/images/pokemon/icons/variant/4/479-frost_2.png b/public/images/pokemon/icons/variant/4/479-frost_2.png new file mode 100644 index 00000000000..abe9280ab03 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-frost_2.png differ diff --git a/public/images/pokemon/icons/variant/4/479-frost_3.png b/public/images/pokemon/icons/variant/4/479-frost_3.png new file mode 100644 index 00000000000..55576d669da Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-frost_3.png differ diff --git a/public/images/pokemon/icons/variant/4/479-heat_2.png b/public/images/pokemon/icons/variant/4/479-heat_2.png new file mode 100644 index 00000000000..9a440f95b3b Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-heat_2.png differ diff --git a/public/images/pokemon/icons/variant/4/479-heat_3.png b/public/images/pokemon/icons/variant/4/479-heat_3.png new file mode 100644 index 00000000000..5c9482a5ff8 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-heat_3.png differ diff --git a/public/images/pokemon/icons/variant/4/479-mow_2.png b/public/images/pokemon/icons/variant/4/479-mow_2.png new file mode 100644 index 00000000000..9a785ccafd4 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-mow_2.png differ diff --git a/public/images/pokemon/icons/variant/4/479-mow_3.png b/public/images/pokemon/icons/variant/4/479-mow_3.png new file mode 100644 index 00000000000..ac6b5121458 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-mow_3.png differ diff --git a/public/images/pokemon/icons/variant/4/479-wash_2.png b/public/images/pokemon/icons/variant/4/479-wash_2.png new file mode 100644 index 00000000000..8f09f7b8992 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-wash_2.png differ diff --git a/public/images/pokemon/icons/variant/4/479-wash_3.png b/public/images/pokemon/icons/variant/4/479-wash_3.png new file mode 100644 index 00000000000..8b5e3bb99fb Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479-wash_3.png differ diff --git a/public/images/pokemon/icons/variant/4/479_2.png b/public/images/pokemon/icons/variant/4/479_2.png new file mode 100644 index 00000000000..3e9c85463b8 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479_2.png differ diff --git a/public/images/pokemon/icons/variant/4/479_3.png b/public/images/pokemon/icons/variant/4/479_3.png new file mode 100644 index 00000000000..ec7a623f0fe Binary files /dev/null and b/public/images/pokemon/icons/variant/4/479_3.png differ diff --git a/public/images/pokemon/icons/variant/5/524_2.png b/public/images/pokemon/icons/variant/5/524_2.png new file mode 100644 index 00000000000..a93dcb3c02f Binary files /dev/null and b/public/images/pokemon/icons/variant/5/524_2.png differ diff --git a/public/images/pokemon/icons/variant/5/524_3.png b/public/images/pokemon/icons/variant/5/524_3.png new file mode 100644 index 00000000000..25f6deb2438 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/524_3.png differ diff --git a/public/images/pokemon/icons/variant/5/525_2.png b/public/images/pokemon/icons/variant/5/525_2.png new file mode 100644 index 00000000000..794d8596d0d Binary files /dev/null and b/public/images/pokemon/icons/variant/5/525_2.png differ diff --git a/public/images/pokemon/icons/variant/5/525_3.png b/public/images/pokemon/icons/variant/5/525_3.png new file mode 100644 index 00000000000..8b96d696d69 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/525_3.png differ diff --git a/public/images/pokemon/icons/variant/5/526_2.png b/public/images/pokemon/icons/variant/5/526_2.png new file mode 100644 index 00000000000..13b1cf0d0ac Binary files /dev/null and b/public/images/pokemon/icons/variant/5/526_2.png differ diff --git a/public/images/pokemon/icons/variant/5/526_3.png b/public/images/pokemon/icons/variant/5/526_3.png new file mode 100644 index 00000000000..e563cfc41be Binary files /dev/null and b/public/images/pokemon/icons/variant/5/526_3.png differ diff --git a/public/images/pokemon/icons/variant/5/546_2.png b/public/images/pokemon/icons/variant/5/546_2.png index e5db5b4f74f..3b5ab0b300b 100644 Binary files a/public/images/pokemon/icons/variant/5/546_2.png and b/public/images/pokemon/icons/variant/5/546_2.png differ diff --git a/public/images/pokemon/icons/variant/5/546_3.png b/public/images/pokemon/icons/variant/5/546_3.png index 126bd405d95..2bc5d147c8c 100644 Binary files a/public/images/pokemon/icons/variant/5/546_3.png and b/public/images/pokemon/icons/variant/5/546_3.png differ diff --git a/public/images/pokemon/icons/variant/5/556_2.png b/public/images/pokemon/icons/variant/5/556_2.png new file mode 100644 index 00000000000..06c906d32d8 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/556_2.png differ diff --git a/public/images/pokemon/icons/variant/5/556_3.png b/public/images/pokemon/icons/variant/5/556_3.png new file mode 100644 index 00000000000..d617014f75f Binary files /dev/null and b/public/images/pokemon/icons/variant/5/556_3.png differ diff --git a/public/images/pokemon/icons/variant/5/571_2.png b/public/images/pokemon/icons/variant/5/571_2.png index 1e238ee619d..8153cdb98e9 100644 Binary files a/public/images/pokemon/icons/variant/5/571_2.png and b/public/images/pokemon/icons/variant/5/571_2.png differ diff --git a/public/images/pokemon/icons/variant/5/571_3.png b/public/images/pokemon/icons/variant/5/571_3.png index 528bfc4b719..f8602ad7aff 100644 Binary files a/public/images/pokemon/icons/variant/5/571_3.png and b/public/images/pokemon/icons/variant/5/571_3.png differ diff --git a/public/images/pokemon/icons/variant/5/594_2.png b/public/images/pokemon/icons/variant/5/594_2.png new file mode 100644 index 00000000000..a646222959f Binary files /dev/null and b/public/images/pokemon/icons/variant/5/594_2.png differ diff --git a/public/images/pokemon/icons/variant/5/594_3.png b/public/images/pokemon/icons/variant/5/594_3.png new file mode 100644 index 00000000000..8fb7c319cf2 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/594_3.png differ diff --git a/public/images/pokemon/icons/variant/5/618_2.png b/public/images/pokemon/icons/variant/5/618_2.png new file mode 100644 index 00000000000..8b134146ccf Binary files /dev/null and b/public/images/pokemon/icons/variant/5/618_2.png differ diff --git a/public/images/pokemon/icons/variant/5/618_3.png b/public/images/pokemon/icons/variant/5/618_3.png new file mode 100644 index 00000000000..fd9f3994b22 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/618_3.png differ diff --git a/public/images/pokemon/icons/variant/5/631_2.png b/public/images/pokemon/icons/variant/5/631_2.png new file mode 100644 index 00000000000..564fb16c4a0 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/631_2.png differ diff --git a/public/images/pokemon/icons/variant/5/631_3.png b/public/images/pokemon/icons/variant/5/631_3.png new file mode 100644 index 00000000000..08779f3e130 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/631_3.png differ diff --git a/public/images/pokemon/icons/variant/5/636_2.png b/public/images/pokemon/icons/variant/5/636_2.png new file mode 100644 index 00000000000..57a29619e10 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/636_2.png differ diff --git a/public/images/pokemon/icons/variant/5/636_3.png b/public/images/pokemon/icons/variant/5/636_3.png new file mode 100644 index 00000000000..d63a8d77787 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/636_3.png differ diff --git a/public/images/pokemon/icons/variant/5/637_2.png b/public/images/pokemon/icons/variant/5/637_2.png new file mode 100644 index 00000000000..e44609653b7 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/637_2.png differ diff --git a/public/images/pokemon/icons/variant/5/637_3.png b/public/images/pokemon/icons/variant/5/637_3.png new file mode 100644 index 00000000000..29d176bea57 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/637_3.png differ diff --git a/public/images/pokemon/icons/variant/6/2670_2.png b/public/images/pokemon/icons/variant/6/2670_2.png new file mode 100644 index 00000000000..4f9321285d4 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/2670_2.png differ diff --git a/public/images/pokemon/icons/variant/6/2670_3.png b/public/images/pokemon/icons/variant/6/2670_3.png new file mode 100644 index 00000000000..ef884ede7c8 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/2670_3.png differ diff --git a/public/images/pokemon/icons/variant/6/669-blue_2.png b/public/images/pokemon/icons/variant/6/669-blue_2.png new file mode 100644 index 00000000000..d6f545f8db4 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-blue_2.png differ diff --git a/public/images/pokemon/icons/variant/6/669-blue_3.png b/public/images/pokemon/icons/variant/6/669-blue_3.png new file mode 100644 index 00000000000..72df3b2555a Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-blue_3.png differ diff --git a/public/images/pokemon/icons/variant/6/669-orange_2.png b/public/images/pokemon/icons/variant/6/669-orange_2.png new file mode 100644 index 00000000000..d2fe737b886 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-orange_2.png differ diff --git a/public/images/pokemon/icons/variant/6/669-orange_3.png b/public/images/pokemon/icons/variant/6/669-orange_3.png new file mode 100644 index 00000000000..886794562fb Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-orange_3.png differ diff --git a/public/images/pokemon/icons/variant/6/669-red_2.png b/public/images/pokemon/icons/variant/6/669-red_2.png new file mode 100644 index 00000000000..b86bc30ad3d Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-red_2.png differ diff --git a/public/images/pokemon/icons/variant/6/669-red_3.png b/public/images/pokemon/icons/variant/6/669-red_3.png new file mode 100644 index 00000000000..7400bf698d3 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-red_3.png differ diff --git a/public/images/pokemon/icons/variant/6/669-white_2.png b/public/images/pokemon/icons/variant/6/669-white_2.png new file mode 100644 index 00000000000..d3cc24cdb4b Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-white_2.png differ diff --git a/public/images/pokemon/icons/variant/6/669-white_3.png b/public/images/pokemon/icons/variant/6/669-white_3.png new file mode 100644 index 00000000000..fab0591042d Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-white_3.png differ diff --git a/public/images/pokemon/icons/variant/6/669-yellow_2.png b/public/images/pokemon/icons/variant/6/669-yellow_2.png new file mode 100644 index 00000000000..87feaaf1f1d Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-yellow_2.png differ diff --git a/public/images/pokemon/icons/variant/6/669-yellow_3.png b/public/images/pokemon/icons/variant/6/669-yellow_3.png new file mode 100644 index 00000000000..41fe7eddd72 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/669-yellow_3.png differ diff --git a/public/images/pokemon/icons/variant/6/670-blue_2.png b/public/images/pokemon/icons/variant/6/670-blue_2.png new file mode 100644 index 00000000000..650685edd9a Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-blue_2.png differ diff --git a/public/images/pokemon/icons/variant/6/670-blue_3.png b/public/images/pokemon/icons/variant/6/670-blue_3.png new file mode 100644 index 00000000000..50a0051db07 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-blue_3.png differ diff --git a/public/images/pokemon/icons/variant/6/670-orange_2.png b/public/images/pokemon/icons/variant/6/670-orange_2.png new file mode 100644 index 00000000000..349923809b0 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-orange_2.png differ diff --git a/public/images/pokemon/icons/variant/6/670-orange_3.png b/public/images/pokemon/icons/variant/6/670-orange_3.png new file mode 100644 index 00000000000..5b49789aa16 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-orange_3.png differ diff --git a/public/images/pokemon/icons/variant/6/670-red_2.png b/public/images/pokemon/icons/variant/6/670-red_2.png new file mode 100644 index 00000000000..e50036769d8 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-red_2.png differ diff --git a/public/images/pokemon/icons/variant/6/670-red_3.png b/public/images/pokemon/icons/variant/6/670-red_3.png new file mode 100644 index 00000000000..591e95e3ea8 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-red_3.png differ diff --git a/public/images/pokemon/icons/variant/6/670-white_2.png b/public/images/pokemon/icons/variant/6/670-white_2.png new file mode 100644 index 00000000000..6c5fe0d1770 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-white_2.png differ diff --git a/public/images/pokemon/icons/variant/6/670-white_3.png b/public/images/pokemon/icons/variant/6/670-white_3.png new file mode 100644 index 00000000000..73a1767a90f Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-white_3.png differ diff --git a/public/images/pokemon/icons/variant/6/670-yellow_2.png b/public/images/pokemon/icons/variant/6/670-yellow_2.png new file mode 100644 index 00000000000..1cc3cfddf3e Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-yellow_2.png differ diff --git a/public/images/pokemon/icons/variant/6/670-yellow_3.png b/public/images/pokemon/icons/variant/6/670-yellow_3.png new file mode 100644 index 00000000000..6152ca04d95 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/670-yellow_3.png differ diff --git a/public/images/pokemon/icons/variant/6/671-blue_2.png b/public/images/pokemon/icons/variant/6/671-blue_2.png new file mode 100644 index 00000000000..44de46ce581 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-blue_2.png differ diff --git a/public/images/pokemon/icons/variant/6/671-blue_3.png b/public/images/pokemon/icons/variant/6/671-blue_3.png new file mode 100644 index 00000000000..9546669842e Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-blue_3.png differ diff --git a/public/images/pokemon/icons/variant/6/671-orange_2.png b/public/images/pokemon/icons/variant/6/671-orange_2.png new file mode 100644 index 00000000000..419fc8d4781 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-orange_2.png differ diff --git a/public/images/pokemon/icons/variant/6/671-orange_3.png b/public/images/pokemon/icons/variant/6/671-orange_3.png new file mode 100644 index 00000000000..dc5730f086e Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-orange_3.png differ diff --git a/public/images/pokemon/icons/variant/6/671-red_2.png b/public/images/pokemon/icons/variant/6/671-red_2.png new file mode 100644 index 00000000000..0a2f5d20fd6 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-red_2.png differ diff --git a/public/images/pokemon/icons/variant/6/671-red_3.png b/public/images/pokemon/icons/variant/6/671-red_3.png new file mode 100644 index 00000000000..62b6be12943 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-red_3.png differ diff --git a/public/images/pokemon/icons/variant/6/671-white_2.png b/public/images/pokemon/icons/variant/6/671-white_2.png new file mode 100644 index 00000000000..7bb347d0799 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-white_2.png differ diff --git a/public/images/pokemon/icons/variant/6/671-white_3.png b/public/images/pokemon/icons/variant/6/671-white_3.png new file mode 100644 index 00000000000..9de027625c2 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-white_3.png differ diff --git a/public/images/pokemon/icons/variant/6/671-yellow_2.png b/public/images/pokemon/icons/variant/6/671-yellow_2.png new file mode 100644 index 00000000000..48aea0a7d99 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-yellow_2.png differ diff --git a/public/images/pokemon/icons/variant/6/671-yellow_3.png b/public/images/pokemon/icons/variant/6/671-yellow_3.png new file mode 100644 index 00000000000..57c17f66d77 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/671-yellow_3.png differ diff --git a/public/images/pokemon/icons/variant/6/677_2.png b/public/images/pokemon/icons/variant/6/677_2.png new file mode 100644 index 00000000000..df72af379d6 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/677_2.png differ diff --git a/public/images/pokemon/icons/variant/6/677_3.png b/public/images/pokemon/icons/variant/6/677_3.png new file mode 100644 index 00000000000..3eaf9b54ef8 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/677_3.png differ diff --git a/public/images/pokemon/icons/variant/6/678-female_2.png b/public/images/pokemon/icons/variant/6/678-female_2.png new file mode 100644 index 00000000000..220e8a97077 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/678-female_2.png differ diff --git a/public/images/pokemon/icons/variant/6/678-female_3.png b/public/images/pokemon/icons/variant/6/678-female_3.png new file mode 100644 index 00000000000..d27883df1ae Binary files /dev/null and b/public/images/pokemon/icons/variant/6/678-female_3.png differ diff --git a/public/images/pokemon/icons/variant/6/678_2.png b/public/images/pokemon/icons/variant/6/678_2.png new file mode 100644 index 00000000000..9c625e911c0 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/678_2.png differ diff --git a/public/images/pokemon/icons/variant/6/678_3.png b/public/images/pokemon/icons/variant/6/678_3.png new file mode 100644 index 00000000000..372759b3aa4 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/678_3.png differ diff --git a/public/images/pokemon/icons/variant/6/698_2.png b/public/images/pokemon/icons/variant/6/698_2.png new file mode 100644 index 00000000000..61b7d962358 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/698_2.png differ diff --git a/public/images/pokemon/icons/variant/6/698_3.png b/public/images/pokemon/icons/variant/6/698_3.png new file mode 100644 index 00000000000..8165d2686d7 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/698_3.png differ diff --git a/public/images/pokemon/icons/variant/6/699_2.png b/public/images/pokemon/icons/variant/6/699_2.png new file mode 100644 index 00000000000..9bf9f4c0441 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/699_2.png differ diff --git a/public/images/pokemon/icons/variant/6/699_3.png b/public/images/pokemon/icons/variant/6/699_3.png new file mode 100644 index 00000000000..d6b861addbd Binary files /dev/null and b/public/images/pokemon/icons/variant/6/699_3.png differ diff --git a/public/images/pokemon/icons/variant/6/702_2.png b/public/images/pokemon/icons/variant/6/702_2.png new file mode 100644 index 00000000000..d7b70505077 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/702_2.png differ diff --git a/public/images/pokemon/icons/variant/6/702_3.png b/public/images/pokemon/icons/variant/6/702_3.png new file mode 100644 index 00000000000..91e443c323d Binary files /dev/null and b/public/images/pokemon/icons/variant/6/702_3.png differ diff --git a/public/images/pokemon/icons/variant/6/703_2.png b/public/images/pokemon/icons/variant/6/703_2.png new file mode 100644 index 00000000000..e30a1896440 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/703_2.png differ diff --git a/public/images/pokemon/icons/variant/6/703_3.png b/public/images/pokemon/icons/variant/6/703_3.png new file mode 100644 index 00000000000..ac69636d1ec Binary files /dev/null and b/public/images/pokemon/icons/variant/6/703_3.png differ diff --git a/public/images/pokemon/icons/variant/7/2027_2.png b/public/images/pokemon/icons/variant/7/2027_2.png new file mode 100644 index 00000000000..33e95951d2e Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2027_2.png differ diff --git a/public/images/pokemon/icons/variant/7/2027_3.png b/public/images/pokemon/icons/variant/7/2027_3.png new file mode 100644 index 00000000000..19849e146a3 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2027_3.png differ diff --git a/public/images/pokemon/icons/variant/7/2028_2.png b/public/images/pokemon/icons/variant/7/2028_2.png new file mode 100644 index 00000000000..a05e916a6cd Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2028_2.png differ diff --git a/public/images/pokemon/icons/variant/7/2028_3.png b/public/images/pokemon/icons/variant/7/2028_3.png new file mode 100644 index 00000000000..3521427080f Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2028_3.png differ diff --git a/public/images/pokemon/icons/variant/7/803_2.png b/public/images/pokemon/icons/variant/7/803_2.png new file mode 100644 index 00000000000..3e20203fdef Binary files /dev/null and b/public/images/pokemon/icons/variant/7/803_2.png differ diff --git a/public/images/pokemon/icons/variant/7/803_3.png b/public/images/pokemon/icons/variant/7/803_3.png new file mode 100644 index 00000000000..3225ab47b11 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/803_3.png differ diff --git a/public/images/pokemon/icons/variant/7/804_2.png b/public/images/pokemon/icons/variant/7/804_2.png new file mode 100644 index 00000000000..aa5a0541637 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/804_2.png differ diff --git a/public/images/pokemon/icons/variant/7/804_3.png b/public/images/pokemon/icons/variant/7/804_3.png new file mode 100644 index 00000000000..a4fc1828c29 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/804_3.png differ diff --git a/public/images/pokemon/icons/variant/8/1003_2.png b/public/images/pokemon/icons/variant/8/1003_2.png new file mode 100644 index 00000000000..2cbc2f4e26a Binary files /dev/null and b/public/images/pokemon/icons/variant/8/1003_2.png differ diff --git a/public/images/pokemon/icons/variant/8/1003_3.png b/public/images/pokemon/icons/variant/8/1003_3.png new file mode 100644 index 00000000000..36e80525b0f Binary files /dev/null and b/public/images/pokemon/icons/variant/8/1003_3.png differ diff --git a/public/images/pokemon/icons/variant/8/1006_2.png b/public/images/pokemon/icons/variant/8/1006_2.png new file mode 100644 index 00000000000..65f7ce87a83 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/1006_2.png differ diff --git a/public/images/pokemon/icons/variant/8/1006_3.png b/public/images/pokemon/icons/variant/8/1006_3.png new file mode 100644 index 00000000000..97240b73609 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/1006_3.png differ diff --git a/public/images/pokemon/icons/variant/8/1010_2.png b/public/images/pokemon/icons/variant/8/1010_2.png new file mode 100644 index 00000000000..7e20810c2b4 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/1010_2.png differ diff --git a/public/images/pokemon/icons/variant/8/1010_3.png b/public/images/pokemon/icons/variant/8/1010_3.png new file mode 100644 index 00000000000..ff6cd6e71b0 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/1010_3.png differ diff --git a/public/images/pokemon/icons/variant/8/4079_2.png b/public/images/pokemon/icons/variant/8/4079_2.png new file mode 100644 index 00000000000..7ae8cf28c75 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4079_2.png differ diff --git a/public/images/pokemon/icons/variant/8/4079_3.png b/public/images/pokemon/icons/variant/8/4079_3.png new file mode 100644 index 00000000000..95133e719e7 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4079_3.png differ diff --git a/public/images/pokemon/icons/variant/8/4080_2.png b/public/images/pokemon/icons/variant/8/4080_2.png new file mode 100644 index 00000000000..cfeffb41ca7 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4080_2.png differ diff --git a/public/images/pokemon/icons/variant/8/4080_3.png b/public/images/pokemon/icons/variant/8/4080_3.png new file mode 100644 index 00000000000..36e4fd9e55a Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4080_3.png differ diff --git a/public/images/pokemon/icons/variant/8/4199_2.png b/public/images/pokemon/icons/variant/8/4199_2.png new file mode 100644 index 00000000000..151aad6c285 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4199_2.png differ diff --git a/public/images/pokemon/icons/variant/8/4199_3.png b/public/images/pokemon/icons/variant/8/4199_3.png new file mode 100644 index 00000000000..72e730de86e Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4199_3.png differ diff --git a/public/images/pokemon/icons/variant/8/4562_2.png b/public/images/pokemon/icons/variant/8/4562_2.png new file mode 100644 index 00000000000..3b8add56b50 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4562_2.png differ diff --git a/public/images/pokemon/icons/variant/8/4562_3.png b/public/images/pokemon/icons/variant/8/4562_3.png new file mode 100644 index 00000000000..b3cfdd0d7c4 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4562_3.png differ diff --git a/public/images/pokemon/icons/variant/8/867_2.png b/public/images/pokemon/icons/variant/8/867_2.png new file mode 100644 index 00000000000..7330147db2a Binary files /dev/null and b/public/images/pokemon/icons/variant/8/867_2.png differ diff --git a/public/images/pokemon/icons/variant/8/867_3.png b/public/images/pokemon/icons/variant/8/867_3.png new file mode 100644 index 00000000000..f93d7c8bfb4 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/867_3.png differ diff --git a/public/images/pokemon/icons/variant/8/880_2.png b/public/images/pokemon/icons/variant/8/880_2.png new file mode 100644 index 00000000000..be07577cd25 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/880_2.png differ diff --git a/public/images/pokemon/icons/variant/8/880_3.png b/public/images/pokemon/icons/variant/8/880_3.png new file mode 100644 index 00000000000..e02ed7193ad Binary files /dev/null and b/public/images/pokemon/icons/variant/8/880_3.png differ diff --git a/public/images/pokemon/icons/variant/8/881_2.png b/public/images/pokemon/icons/variant/8/881_2.png new file mode 100644 index 00000000000..1d861c0a9f6 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/881_2.png differ diff --git a/public/images/pokemon/icons/variant/8/881_3.png b/public/images/pokemon/icons/variant/8/881_3.png new file mode 100644 index 00000000000..a88bfb50dab Binary files /dev/null and b/public/images/pokemon/icons/variant/8/881_3.png differ diff --git a/public/images/pokemon/icons/variant/8/882_2.png b/public/images/pokemon/icons/variant/8/882_2.png new file mode 100644 index 00000000000..d80cda17872 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/882_2.png differ diff --git a/public/images/pokemon/icons/variant/8/882_3.png b/public/images/pokemon/icons/variant/8/882_3.png new file mode 100644 index 00000000000..14715f47721 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/882_3.png differ diff --git a/public/images/pokemon/icons/variant/8/883_2.png b/public/images/pokemon/icons/variant/8/883_2.png new file mode 100644 index 00000000000..18215b74d5b Binary files /dev/null and b/public/images/pokemon/icons/variant/8/883_2.png differ diff --git a/public/images/pokemon/icons/variant/8/883_3.png b/public/images/pokemon/icons/variant/8/883_3.png new file mode 100644 index 00000000000..25172d687e7 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/883_3.png differ diff --git a/public/images/pokemon/icons/variant/8/888-crowned_2.png b/public/images/pokemon/icons/variant/8/888-crowned_2.png new file mode 100644 index 00000000000..51e654cc108 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/888-crowned_2.png differ diff --git a/public/images/pokemon/icons/variant/8/888-crowned_3.png b/public/images/pokemon/icons/variant/8/888-crowned_3.png new file mode 100644 index 00000000000..8e45189e15f Binary files /dev/null and b/public/images/pokemon/icons/variant/8/888-crowned_3.png differ diff --git a/public/images/pokemon/icons/variant/8/888_2.png b/public/images/pokemon/icons/variant/8/888_2.png new file mode 100644 index 00000000000..58f023ed3ea Binary files /dev/null and b/public/images/pokemon/icons/variant/8/888_2.png differ diff --git a/public/images/pokemon/icons/variant/8/888_3.png b/public/images/pokemon/icons/variant/8/888_3.png new file mode 100644 index 00000000000..336cbecadd0 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/888_3.png differ diff --git a/public/images/pokemon/icons/variant/8/889-crowned_2.png b/public/images/pokemon/icons/variant/8/889-crowned_2.png new file mode 100644 index 00000000000..3a72aa9c587 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/889-crowned_2.png differ diff --git a/public/images/pokemon/icons/variant/8/889-crowned_3.png b/public/images/pokemon/icons/variant/8/889-crowned_3.png new file mode 100644 index 00000000000..81929666ba1 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/889-crowned_3.png differ diff --git a/public/images/pokemon/icons/variant/8/889_2.png b/public/images/pokemon/icons/variant/8/889_2.png new file mode 100644 index 00000000000..91bde36e526 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/889_2.png differ diff --git a/public/images/pokemon/icons/variant/8/889_3.png b/public/images/pokemon/icons/variant/8/889_3.png new file mode 100644 index 00000000000..93b547d3e03 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/889_3.png differ diff --git a/public/images/pokemon/icons/variant/8/909_2.png b/public/images/pokemon/icons/variant/8/909_2.png new file mode 100644 index 00000000000..73f71bd49d3 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/909_2.png differ diff --git a/public/images/pokemon/icons/variant/8/909_3.png b/public/images/pokemon/icons/variant/8/909_3.png new file mode 100644 index 00000000000..5fb79e5b917 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/909_3.png differ diff --git a/public/images/pokemon/icons/variant/8/912_2.png b/public/images/pokemon/icons/variant/8/912_2.png new file mode 100644 index 00000000000..80bc8fb2c46 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/912_2.png differ diff --git a/public/images/pokemon/icons/variant/8/912_3.png b/public/images/pokemon/icons/variant/8/912_3.png new file mode 100644 index 00000000000..c52bdd2fb73 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/912_3.png differ diff --git a/public/images/pokemon/icons/variant/8/913_2.png b/public/images/pokemon/icons/variant/8/913_2.png new file mode 100644 index 00000000000..bb39165f68d Binary files /dev/null and b/public/images/pokemon/icons/variant/8/913_2.png differ diff --git a/public/images/pokemon/icons/variant/8/913_3.png b/public/images/pokemon/icons/variant/8/913_3.png new file mode 100644 index 00000000000..71cb697ee3b Binary files /dev/null and b/public/images/pokemon/icons/variant/8/913_3.png differ diff --git a/public/images/pokemon/icons/variant/8/914_2.png b/public/images/pokemon/icons/variant/8/914_2.png new file mode 100644 index 00000000000..ecf60fef07f Binary files /dev/null and b/public/images/pokemon/icons/variant/8/914_2.png differ diff --git a/public/images/pokemon/icons/variant/8/914_3.png b/public/images/pokemon/icons/variant/8/914_3.png new file mode 100644 index 00000000000..c7ea5441d4b Binary files /dev/null and b/public/images/pokemon/icons/variant/8/914_3.png differ diff --git a/public/images/pokemon/icons/variant/8/940_2.png b/public/images/pokemon/icons/variant/8/940_2.png new file mode 100644 index 00000000000..2344679d987 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/940_2.png differ diff --git a/public/images/pokemon/icons/variant/8/940_3.png b/public/images/pokemon/icons/variant/8/940_3.png new file mode 100644 index 00000000000..56a17f4d4dd Binary files /dev/null and b/public/images/pokemon/icons/variant/8/940_3.png differ diff --git a/public/images/pokemon/icons/variant/8/941_2.png b/public/images/pokemon/icons/variant/8/941_2.png new file mode 100644 index 00000000000..57ed730a37c Binary files /dev/null and b/public/images/pokemon/icons/variant/8/941_2.png differ diff --git a/public/images/pokemon/icons/variant/8/941_3.png b/public/images/pokemon/icons/variant/8/941_3.png new file mode 100644 index 00000000000..6d0dea04b0e Binary files /dev/null and b/public/images/pokemon/icons/variant/8/941_3.png differ diff --git a/public/images/pokemon/icons/variant/8/953_2.png b/public/images/pokemon/icons/variant/8/953_2.png new file mode 100644 index 00000000000..8b200581cff Binary files /dev/null and b/public/images/pokemon/icons/variant/8/953_2.png differ diff --git a/public/images/pokemon/icons/variant/8/953_3.png b/public/images/pokemon/icons/variant/8/953_3.png new file mode 100644 index 00000000000..0e35868ebc7 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/953_3.png differ diff --git a/public/images/pokemon/icons/variant/8/954_2.png b/public/images/pokemon/icons/variant/8/954_2.png new file mode 100644 index 00000000000..7e3607698bf Binary files /dev/null and b/public/images/pokemon/icons/variant/8/954_2.png differ diff --git a/public/images/pokemon/icons/variant/8/954_3.png b/public/images/pokemon/icons/variant/8/954_3.png new file mode 100644 index 00000000000..affd07a9df9 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/954_3.png differ diff --git a/public/images/pokemon/icons/variant/8/981_2.png b/public/images/pokemon/icons/variant/8/981_2.png new file mode 100644 index 00000000000..1bceb5c2291 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/981_2.png differ diff --git a/public/images/pokemon/icons/variant/8/981_3.png b/public/images/pokemon/icons/variant/8/981_3.png new file mode 100644 index 00000000000..217b607125e Binary files /dev/null and b/public/images/pokemon/icons/variant/8/981_3.png differ diff --git a/public/images/trainer/courtney.png b/public/images/trainer/courtney.png index 991e7ac006f..0efdb615fcd 100644 Binary files a/public/images/trainer/courtney.png and b/public/images/trainer/courtney.png differ diff --git a/src/data/ability.ts b/src/data/ability.ts index d947bcddd99..3d5b32f4ce8 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -4498,7 +4498,7 @@ async function applyAbAttrsInternal( applyFunc: AbAttrApplyFunc, args: any[], showAbilityInstant: boolean = false, - quiet: boolean = false, + simulated: boolean = false, messages: string[] = [], ) { for (const passive of [false, true]) { @@ -4520,33 +4520,29 @@ async function applyAbAttrsInternal( if (result instanceof Promise) { result = await result; } - if (result) { if (pokemon.summonData && !pokemon.summonData.abilitiesApplied.includes(ability.id)) { pokemon.summonData.abilitiesApplied.push(ability.id); } - if (pokemon.battleData && !quiet && !pokemon.battleData.abilitiesApplied.includes(ability.id)) { + if (pokemon.battleData && !simulated && !pokemon.battleData.abilitiesApplied.includes(ability.id)) { pokemon.battleData.abilitiesApplied.push(ability.id); } - - if (attr.showAbility && !quiet) { + if (attr.showAbility && !simulated) { if (showAbilityInstant) { pokemon.scene.abilityBar.showAbility(pokemon, passive); } else { queueShowAbility(pokemon, passive); } } - - if (!quiet) { - const message = attr.getTriggerMessage(pokemon, ability.name, args); - if (message) { + const message = attr.getTriggerMessage(pokemon, ability.name, args); + if (message) { + if (!simulated) { pokemon.scene.queueMessage(message); - messages.push(message); } } + messages.push(message!); } } - pokemon.scene.clearPhaseQueueSplice(); } } @@ -5029,7 +5025,7 @@ export function initAbilities() { .attr(AlwaysHitAbAttr) .attr(DoubleBattleChanceAbAttr), new Ability(Abilities.STALL, 4) - .attr(ChangeMovePriorityAbAttr, (pokemon, move: Move) => true, -0.5), + .attr(ChangeMovePriorityAbAttr, (pokemon, move: Move) => true, -0.2), new Ability(Abilities.TECHNICIAN, 4) .attr(MovePowerBoostAbAttr, (user, target, move) => { const power = new Utils.NumberHolder(move.power); @@ -5717,7 +5713,7 @@ export function initAbilities() { .partial() // Healing not blocked by Heal Block .ignorable(), new Ability(Abilities.MYCELIUM_MIGHT, 9) - .attr(ChangeMovePriorityAbAttr, (pokemon, move) => move.category === MoveCategory.STATUS, -0.5) + .attr(ChangeMovePriorityAbAttr, (pokemon, move) => move.category === MoveCategory.STATUS, -0.2) .attr(PreventBypassSpeedChanceAbAttr, (pokemon, move) => move.category === MoveCategory.STATUS) .attr(MoveAbilityBypassAbAttr, (pokemon, move: Move) => move.category === MoveCategory.STATUS), new Ability(Abilities.MINDS_EYE, 9) diff --git a/src/data/biomes.ts b/src/data/biomes.ts index ed579112249..721231f9cb0 100644 --- a/src/data/biomes.ts +++ b/src/data/biomes.ts @@ -37,34 +37,34 @@ export const biomeLinks: BiomeLinks = { [Biome.PLAINS]: [ Biome.GRASS, Biome.METROPOLIS, Biome.LAKE ], [Biome.GRASS]: Biome.TALL_GRASS, [Biome.TALL_GRASS]: [ Biome.FOREST, Biome.CAVE ], - [Biome.SLUM]: Biome.CONSTRUCTION_SITE, + [Biome.SLUM]: [ Biome.CONSTRUCTION_SITE, [ Biome.SWAMP, 2 ] ], [Biome.FOREST]: [ Biome.JUNGLE, Biome.MEADOW ], [Biome.SEA]: [ Biome.SEABED, Biome.ICE_CAVE ], [Biome.SWAMP]: [ Biome.GRAVEYARD, Biome.TALL_GRASS ], - [Biome.BEACH]: [ Biome.SEA, [ Biome.ISLAND, 4 ] ], + [Biome.BEACH]: [ Biome.SEA, [ Biome.ISLAND, 2 ] ], [Biome.LAKE]: [ Biome.BEACH, Biome.SWAMP, Biome.CONSTRUCTION_SITE ], - [Biome.SEABED]: [ Biome.CAVE, [ Biome.VOLCANO, 4 ] ], - [Biome.MOUNTAIN]: [ Biome.VOLCANO, [ Biome.WASTELAND, 3 ] ], + [Biome.SEABED]: [ Biome.CAVE, [ Biome.VOLCANO, 3 ] ], + [Biome.MOUNTAIN]: [ Biome.VOLCANO, [ Biome.WASTELAND, 2 ], [ Biome.SPACE, 3 ] ], [Biome.BADLANDS]: [ Biome.DESERT, Biome.MOUNTAIN ], - [Biome.CAVE]: [ Biome.BADLANDS, Biome.LAKE ], - [Biome.DESERT]: Biome.RUINS, + [Biome.CAVE]: [ Biome.BADLANDS, Biome.LAKE [ Biome.LABORATORY, 2 ] ], + [Biome.DESERT]: [ Biome.RUINS, [ Biome.CONSTRUCTION_SITE, 2 ] ], [Biome.ICE_CAVE]: Biome.SNOWY_FOREST, - [Biome.MEADOW]: [ Biome.PLAINS, [ Biome.FAIRY_CAVE, 2 ] ], + [Biome.MEADOW]: [ Biome.PLAINS, Biome.FAIRY_CAVE ], [Biome.POWER_PLANT]: Biome.FACTORY, - [Biome.VOLCANO]: [ Biome.BEACH, [ Biome.ICE_CAVE, 4 ] ], + [Biome.VOLCANO]: [ Biome.BEACH, [ Biome.ICE_CAVE, 3 ] ], [Biome.GRAVEYARD]: Biome.ABYSS, - [Biome.DOJO]: [ Biome.PLAINS, [ Biome.TEMPLE, 3 ] ], - [Biome.FACTORY]: [ Biome.PLAINS, [ Biome.LABORATORY, 4 ] ], - [Biome.RUINS]: [ Biome.FOREST ], + [Biome.DOJO]: [ Biome.PLAINS, [ Biome.JUNGLE, 2], [ Biome.TEMPLE, 2 ] ], + [Biome.FACTORY]: [ Biome.PLAINS, [ Biome.LABORATORY, 2 ] ], + [Biome.RUINS]: [ Biome.MOUNTAIN, [ Biome.FOREST, 2 ] ], [Biome.WASTELAND]: Biome.BADLANDS, - [Biome.ABYSS]: [ Biome.CAVE, [ Biome.SPACE, 3 ], [ Biome.WASTELAND, 3 ] ], + [Biome.ABYSS]: [ Biome.CAVE, [ Biome.SPACE, 2 ], [ Biome.WASTELAND, 2 ] ], [Biome.SPACE]: Biome.RUINS, - [Biome.CONSTRUCTION_SITE]: [ Biome.DOJO, Biome.POWER_PLANT ], + [Biome.CONSTRUCTION_SITE]: [ Biome.POWER_PLANT, [ Biome.DOJO, 2 ] ], [Biome.JUNGLE]: [ Biome.TEMPLE ], - [Biome.FAIRY_CAVE]: [ Biome.ICE_CAVE, [ Biome.SPACE, 3 ] ], - [Biome.TEMPLE]: [ Biome.SWAMP, [ Biome.RUINS, 3 ] ], + [Biome.FAIRY_CAVE]: [ Biome.ICE_CAVE, [ Biome.SPACE, 2 ] ], + [Biome.TEMPLE]: [ Biome.DESERT, [ Biome.SWAMP, 2 ], [ Biome.RUINS, 2 ] ], [Biome.METROPOLIS]: Biome.SLUM, - [Biome.SNOWY_FOREST]: [ Biome.FOREST, Biome.LAKE, Biome.MOUNTAIN ], + [Biome.SNOWY_FOREST]: [ Biome.FOREST, [ Biome.MOUNTAIN, 2 ], [ Biome.LAKE, 2 ] ], [Biome.ISLAND]: Biome.SEA, [Biome.LABORATORY]: Biome.CONSTRUCTION_SITE }; @@ -7663,6 +7663,12 @@ export function initBiomes() { biomeDepths[Biome.TOWN] = [ 0, 1 ]; const traverseBiome = (biome: Biome, depth: integer) => { + if (biome === Biome.END) { + const biomeList = Object.keys(Biome).filter(key => !isNaN(Number(key))); + biomeList.pop(); // Removes Biome.END from the list + const randIndex = Utils.randInt(biomeList.length, 1); // Will never be Biome.TOWN + biome = Biome[biomeList[randIndex]]; + } const linkedBiomes: (Biome | [ Biome, integer ])[] = Array.isArray(biomeLinks[biome]) ? biomeLinks[biome] as (Biome | [ Biome, integer ])[] : [ biomeLinks[biome] as Biome ]; diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 40d53de3687..36f696e63c1 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -55,6 +55,11 @@ export enum ChallengeType { * @see {@link Challenge.applyFixedBattle} */ FIXED_BATTLES, + /** + * Modifies the effectiveness of Type matchups in battle + * @see {@linkcode Challenge.applyTypeEffectiveness} + */ + TYPE_EFFECTIVENESS, /** * Modifies what level the AI pokemon are. UNIMPLEMENTED. */ @@ -327,6 +332,15 @@ export abstract class Challenge { return false; } + /** + * An apply function for TYPE_EFFECTIVENESS challenges. Derived classes should alter this. + * @param effectiveness {@linkcode Utils.NumberHolder} The current effectiveness of the move. + * @returns Whether this function did anything. + */ + applyTypeEffectiveness(effectiveness: Utils.NumberHolder): boolean { + return false; + } + /** * An apply function for AI_LEVEL challenges. Derived classes should alter this. * @param level {@link Utils.IntegerHolder} The generated level. @@ -651,10 +665,7 @@ export class FreshStartChallenge extends Challenge { return true; } - /** - * @overrides - */ - getDifficulty(): number { + override getDifficulty(): number { return 0; } @@ -666,6 +677,38 @@ export class FreshStartChallenge extends Challenge { } } +/** + * Implements an inverse battle challenge. + */ +export class InverseBattleChallenge extends Challenge { + constructor() { + super(Challenges.INVERSE_BATTLE, 1); + } + + static loadChallenge(source: InverseBattleChallenge | any): InverseBattleChallenge { + const newChallenge = new InverseBattleChallenge(); + newChallenge.value = source.value; + newChallenge.severity = source.severity; + return newChallenge; + } + + override getDifficulty(): number { + return 0; + } + + applyTypeEffectiveness(effectiveness: Utils.NumberHolder): boolean { + if (effectiveness.value < 1) { + effectiveness.value = 2; + return true; + } else if (effectiveness.value > 1) { + effectiveness.value = 0.5; + return true; + } + + return false; + } +} + /** * Lowers the amount of starter points available. */ @@ -785,6 +828,14 @@ export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType * @returns True if any challenge was successfully applied. */ export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType.FIXED_BATTLES, waveIndex: Number, battleConfig: FixedBattleConfig): boolean; +/** + * Apply all challenges that modify type effectiveness. + * @param gameMode {@linkcode GameMode} The current gameMode + * @param challengeType {@linkcode ChallengeType} ChallengeType.TYPE_EFFECTIVENESS + * @param effectiveness {@linkcode Utils.NumberHolder} The current effectiveness of the move. + * @returns True if any challenge was successfully applied. + */ +export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType.TYPE_EFFECTIVENESS, effectiveness: Utils.NumberHolder): boolean; /** * Apply all challenges that modify what level AI are. * @param gameMode {@link GameMode} The current gameMode @@ -866,6 +917,9 @@ export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType case ChallengeType.FIXED_BATTLES: ret ||= c.applyFixedBattle(args[0], args[1]); break; + case ChallengeType.TYPE_EFFECTIVENESS: + ret ||= c.applyTypeEffectiveness(args[0]); + break; case ChallengeType.AI_LEVEL: ret ||= c.applyLevelChange(args[0], args[1], args[2], args[3]); break; @@ -907,6 +961,8 @@ export function copyChallenge(source: Challenge | any): Challenge { return LowerStarterPointsChallenge.loadChallenge(source); case Challenges.FRESH_START: return FreshStartChallenge.loadChallenge(source); + case Challenges.INVERSE_BATTLE: + return InverseBattleChallenge.loadChallenge(source); } throw new Error("Unknown challenge copied"); } @@ -918,5 +974,6 @@ export function initChallenges() { new SingleGenerationChallenge(), new SingleTypeChallenge(), new FreshStartChallenge(), + new InverseBattleChallenge(), ); } diff --git a/src/data/daily-run.ts b/src/data/daily-run.ts index 0a02defe052..370b13ea3a3 100644 --- a/src/data/daily-run.ts +++ b/src/data/daily-run.ts @@ -40,7 +40,7 @@ export function getDailyRunStarters(scene: BattleScene, seed: string): Starter[] } const starterCosts: integer[] = []; - starterCosts.push(Math.round(3.5 + Math.abs(Utils.randSeedGauss(1)))); + starterCosts.push(Math.min(Math.round(3.5 + Math.abs(Utils.randSeedGauss(1))), 8)); starterCosts.push(Utils.randSeedInt(9 - starterCosts[0], 1)); starterCosts.push(10 - (starterCosts[0] + starterCosts[1])); diff --git a/src/data/egg-moves.ts b/src/data/egg-moves.ts index f88ac2c71b2..b516238c46e 100644 --- a/src/data/egg-moves.ts +++ b/src/data/egg-moves.ts @@ -43,7 +43,7 @@ export const speciesEggMoves = { [Species.SHELLDER]: [ Moves.ROCK_BLAST, Moves.WATER_SHURIKEN, Moves.BANEFUL_BUNKER, Moves.BONE_RUSH ], [Species.GASTLY]: [ Moves.SLUDGE_BOMB, Moves.AURA_SPHERE, Moves.NASTY_PLOT, Moves.ASTRAL_BARRAGE ], [Species.ONIX]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.HEAVY_SLAM, Moves.DIAMOND_STORM ], - [Species.DROWZEE]: [ Moves.BADDY_BAD, Moves.STRENGTH_SAP, Moves.LUMINA_CRASH, Moves.SPORE ], + [Species.DROWZEE]: [ Moves.BADDY_BAD, Moves.STRENGTH_SAP, Moves.LUMINA_CRASH, Moves.DARK_VOID ], [Species.KRABBY]: [ Moves.FIRE_LASH, Moves.PLAY_ROUGH, Moves.IVY_CUDGEL, Moves.SHELL_SMASH ], [Species.VOLTORB]: [ Moves.NASTY_PLOT, Moves.OVERHEAT, Moves.FROST_BREATH, Moves.ELECTRO_DRIFT ], [Species.EXEGGCUTE]: [ Moves.FICKLE_BEAM, Moves.APPLE_ACID, Moves.TRICK_ROOM, Moves.LUMINA_CRASH ], @@ -125,7 +125,7 @@ export const speciesEggMoves = { [Species.SUICUNE]: [ Moves.RECOVER, Moves.NASTY_PLOT, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], [Species.LARVITAR]: [ Moves.DRAGON_DANCE, Moves.MOUNTAIN_GALE, Moves.SHORE_UP, Moves.DIAMOND_STORM ], [Species.LUGIA]: [ Moves.NASTY_PLOT, Moves.LUMINA_CRASH, Moves.AURA_SPHERE, Moves.OBLIVION_WING ], - [Species.HO_OH]: [ Moves.FLOATY_FALL, Moves.SOLAR_BLADE, Moves.REVIVAL_BLESSING, Moves.BOLT_BEAK ], + [Species.HO_OH]: [ Moves.FLOATY_FALL, Moves.PRECIPICE_BLADES, Moves.REVIVAL_BLESSING, Moves.BOLT_BEAK ], [Species.CELEBI]: [ Moves.PHOTON_GEYSER, Moves.MATCHA_GOTCHA, Moves.REVIVAL_BLESSING, Moves.QUIVER_DANCE ], [Species.TREECKO]: [ Moves.NASTY_PLOT, Moves.APPLE_ACID, Moves.SECRET_SWORD, Moves.DRAGON_ENERGY ], [Species.TORCHIC]: [ Moves.HIGH_JUMP_KICK, Moves.SUPERCELL_SLAM, Moves.KNOCK_OFF, Moves.V_CREATE ], @@ -249,7 +249,7 @@ export const speciesEggMoves = { [Species.CRESSELIA]: [ Moves.COSMIC_POWER, Moves.SECRET_SWORD, Moves.SIZZLY_SLIDE, Moves.LUMINA_CRASH ], [Species.PHIONE]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ], [Species.MANAPHY]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ], - [Species.DARKRAI]: [ Moves.FIERY_WRATH, Moves.MOONBLAST, Moves.SEARING_SHOT, Moves.SPORE ], + [Species.DARKRAI]: [ Moves.FIERY_WRATH, Moves.MOONBLAST, Moves.FIERY_DANCE, Moves.MAKE_IT_RAIN ], [Species.SHAYMIN]: [ Moves.MATCHA_GOTCHA, Moves.FIERY_DANCE, Moves.AEROBLAST, Moves.QUIVER_DANCE ], [Species.ARCEUS]: [ Moves.NO_RETREAT, Moves.COLLISION_COURSE, Moves.ASTRAL_BARRAGE, Moves.MULTI_ATTACK ], [Species.VICTINI]: [ Moves.BLUE_FLARE, Moves.BOLT_STRIKE, Moves.LUSTER_PURGE, Moves.VICTORY_DANCE ], diff --git a/src/data/move.ts b/src/data/move.ts index c8043282b00..d50dc7e2074 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -4,7 +4,7 @@ import { EncoreTag, GulpMissileTag, HelpingHandTag, SemiInvulnerableTag, ShellTr import { getPokemonNameWithAffix } from "../messages"; import Pokemon, { AttackMoveResult, EnemyPokemon, HitResult, MoveResult, PlayerPokemon, PokemonMove, TurnMove } from "../field/pokemon"; import { StatusEffect, getStatusEffectHealText, isNonVolatileStatusEffect, getNonVolatileStatusEffects } from "./status-effect"; -import { getTypeResistances, Type } from "./type"; +import { getTypeDamageMultiplier, Type } from "./type"; import { Constructor } from "#app/utils"; import * as Utils from "../utils"; import { WeatherType } from "./weather"; @@ -37,6 +37,9 @@ import { StatChangePhase } from "#app/phases/stat-change-phase"; import { SwitchPhase } from "#app/phases/switch-phase"; import { SwitchSummonPhase } from "#app/phases/switch-summon-phase"; import { SpeciesFormChangeRevertWeatherFormTrigger } from "./pokemon-forms"; +import { NumberHolder } from "#app/utils"; +import { GameMode } from "#app/game-mode"; +import { applyChallenges, ChallengeType } from "./challenge"; export enum MoveCategory { PHYSICAL, @@ -4180,8 +4183,12 @@ export class WaterSuperEffectTypeMultiplierAttr extends VariableMoveTypeMultipli apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const multiplier = args[0] as Utils.NumberHolder; if (target.isOfType(Type.WATER)) { - multiplier.value *= 4; // Increased twice because initial reduction against water - return true; + const effectivenessAgainstWater = new Utils.NumberHolder(getTypeDamageMultiplier(move.type, Type.WATER)); + applyChallenges(user.scene.gameMode, ChallengeType.TYPE_EFFECTIVENESS, effectivenessAgainstWater); + if (effectivenessAgainstWater.value !== 0) { + multiplier.value *= 2 / effectivenessAgainstWater.value; + return true; + } } return false; @@ -6203,7 +6210,7 @@ export class ResistLastMoveTypeAttr extends MoveEffectAttr { return false; } const userTypes = user.getTypes(); - const validTypes = getTypeResistances(moveData.type).filter(t => !userTypes.includes(t)); // valid types are ones that are not already the user's types + const validTypes = this.getTypeResistances(user.scene.gameMode, moveData.type).filter(t => !userTypes.includes(t)); // valid types are ones that are not already the user's types if (!validTypes.length) { return false; } @@ -6215,6 +6222,25 @@ export class ResistLastMoveTypeAttr extends MoveEffectAttr { return true; } + /** + * Retrieve the types resisting a given type. Used by Conversion 2 + * @returns An array populated with Types, or an empty array if no resistances exist (Unknown or Stellar type) + */ + getTypeResistances(gameMode: GameMode, type: number): Type[] { + const typeResistances: Type[] = []; + + for (let i = 0; i < Object.keys(Type).length; i++) { + const multiplier = new NumberHolder(1); + multiplier.value = getTypeDamageMultiplier(type, i); + applyChallenges(gameMode, ChallengeType.TYPE_EFFECTIVENESS, multiplier); + if (multiplier.value < 1) { + typeResistances.push(i); + } + } + + return typeResistances; + } + getCondition(): MoveConditionFunc { return (user, target, move) => { const moveHistory = target.getLastXMoves(); @@ -7940,7 +7966,8 @@ export function initMoves() { .target(MoveTarget.ALL_NEAR_OTHERS), new AttackMove(Moves.FREEZE_DRY, Type.ICE, MoveCategory.SPECIAL, 70, 100, 20, 10, 0, 6) .attr(StatusEffectAttr, StatusEffect.FREEZE) - .attr(WaterSuperEffectTypeMultiplierAttr), + .attr(WaterSuperEffectTypeMultiplierAttr) + .partial(), // This currently just multiplies the move's power instead of changing its effectiveness. It also doesn't account for abilities that modify type effectiveness such as tera shell. new AttackMove(Moves.DISARMING_VOICE, Type.FAIRY, MoveCategory.SPECIAL, 40, -1, 15, -1, 0, 6) .soundBased() .target(MoveTarget.ALL_NEAR_ENEMIES), diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 832f7112748..17f2de794ae 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -1132,7 +1132,7 @@ export function initSpecies() { ), new PokemonSpecies(Species.SNORLAX, 1, false, false, false, "Sleeping Pokémon", Type.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, GrowthRate.SLOW, 87.5, false, true, new PokemonForm("Normal", "", Type.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, Type.GRASS, 35, 460, Abilities.THICK_FAT, Abilities.THICK_FAT, Abilities.THICK_FAT, 640, 200, 135, 85, 80, 125, 15, 25, 50, 189), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, null, 35, 460, Abilities.HARVEST, Abilities.HARVEST, Abilities.HARVEST, 640, 200, 135, 80, 80, 125, 20, 25, 50, 189), ), new PokemonSpecies(Species.ARTICUNO, 1, true, false, false, "Freeze Pokémon", Type.ICE, Type.FLYING, 1.7, 55.4, Abilities.PRESSURE, Abilities.NONE, Abilities.SNOW_CLOAK, 580, 90, 85, 100, 95, 125, 85, 3, 35, 290, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.ZAPDOS, 1, true, false, false, "Electric Pokémon", Type.ELECTRIC, Type.FLYING, 1.6, 52.6, Abilities.PRESSURE, Abilities.NONE, Abilities.STATIC, 580, 90, 90, 85, 125, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false), @@ -2252,19 +2252,19 @@ export function initSpecies() { new PokemonSpecies(Species.THWACKEY, 8, false, false, false, "Beat Pokémon", Type.GRASS, null, 0.7, 14, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 420, 70, 85, 70, 55, 60, 80, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.RILLABOOM, 8, false, false, false, "Drummer Pokémon", Type.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonForm("Normal", "", Type.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, null, 28, 90, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, 630, 125, 150, 115, 65, 95, 80, 45, 50, 265), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, null, 28, 90, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, 630, 125, 150, 105, 85, 85, 80, 45, 50, 265), ), new PokemonSpecies(Species.SCORBUNNY, 8, false, false, false, "Rabbit Pokémon", Type.FIRE, null, 0.3, 4.5, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 310, 50, 71, 40, 40, 40, 69, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.RABOOT, 8, false, false, false, "Rabbit Pokémon", Type.FIRE, null, 0.6, 9, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 420, 65, 86, 60, 55, 60, 94, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.CINDERACE, 8, false, false, false, "Striker Pokémon", Type.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonForm("Normal", "", Type.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, null, 27, 33, Abilities.LIBERO, Abilities.LIBERO, Abilities.LIBERO, 630, 90, 151, 85, 85, 85, 134, 45, 50, 265), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, null, 27, 33, Abilities.LIBERO, Abilities.LIBERO, Abilities.LIBERO, 630, 100, 146, 80, 90, 80, 134, 45, 50, 265), ), new PokemonSpecies(Species.SOBBLE, 8, false, false, false, "Water Lizard Pokémon", Type.WATER, null, 0.3, 4, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 310, 50, 40, 40, 70, 40, 70, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.DRIZZILE, 8, false, false, false, "Water Lizard Pokémon", Type.WATER, null, 0.7, 11.5, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 420, 65, 60, 55, 95, 55, 90, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.INTELEON, 8, false, false, false, "Secret Agent Pokémon", Type.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonForm("Normal", "", Type.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, null, 40, 45.2, Abilities.SNIPER, Abilities.SNIPER, Abilities.SNIPER, 630, 90, 90, 85, 150, 85, 130, 45, 50, 265), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, null, 40, 45.2, Abilities.SNIPER, Abilities.SNIPER, Abilities.SNIPER, 630, 95, 97, 77, 147, 77, 137, 45, 50, 265), ), new PokemonSpecies(Species.SKWOVET, 8, false, false, false, "Cheeky Pokémon", Type.NORMAL, null, 0.3, 2.5, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 275, 70, 55, 55, 35, 35, 25, 255, 50, 55, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.GREEDENT, 8, false, false, false, "Greedy Pokémon", Type.NORMAL, null, 0.6, 6, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 460, 120, 95, 95, 55, 75, 20, 90, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), @@ -3470,7 +3470,7 @@ export const starterPassiveAbilities = { [Species.SUICUNE]: Abilities.UNAWARE, [Species.LARVITAR]: Abilities.SAND_RUSH, [Species.LUGIA]: Abilities.DELTA_STREAM, - [Species.HO_OH]: Abilities.DROUGHT, + [Species.HO_OH]: Abilities.MAGIC_GUARD, [Species.CELEBI]: Abilities.GRASSY_SURGE, [Species.TREECKO]: Abilities.TINTED_LENS, [Species.TORCHIC]: Abilities.RECKLESS, @@ -3573,7 +3573,7 @@ export const starterPassiveAbilities = { [Species.CHATOT]: Abilities.PUNK_ROCK, [Species.SPIRITOMB]: Abilities.VESSEL_OF_RUIN, [Species.GIBLE]: Abilities.SAND_STREAM, - [Species.MUNCHLAX]: Abilities.HARVEST, + [Species.MUNCHLAX]: Abilities.RIPEN, [Species.RIOLU]: Abilities.MINDS_EYE, [Species.HIPPOPOTAS]: Abilities.UNAWARE, [Species.SKORUPI]: Abilities.SUPER_LUCK, @@ -3591,7 +3591,7 @@ export const starterPassiveAbilities = { [Species.HEATRAN]: Abilities.EARTH_EATER, [Species.REGIGIGAS]: Abilities.MINDS_EYE, [Species.GIRATINA]: Abilities.SHADOW_SHIELD, - [Species.CRESSELIA]: Abilities.UNAWARE, + [Species.CRESSELIA]: Abilities.SHADOW_SHIELD, [Species.PHIONE]: Abilities.SIMPLE, [Species.MANAPHY]: Abilities.PRIMORDIAL_SEA, [Species.DARKRAI]: Abilities.UNNERVE, diff --git a/src/data/tms.ts b/src/data/tms.ts index 55f0602c84a..9dea6d74a86 100644 --- a/src/data/tms.ts +++ b/src/data/tms.ts @@ -42431,7 +42431,6 @@ export const tmSpecies: TmSpecies = { Species.TORTERRA, Species.BUDEW, Species.ROSERADE, - Species.WORMADAM, Species.CHERUBI, Species.CHERRIM, Species.CARNIVINE, @@ -42449,6 +42448,7 @@ export const tmSpecies: TmSpecies = { Species.PETILIL, Species.LILLIGANT, Species.MARACTUS, + Species.MINCCINO, Species.CINCCINO, Species.DEERLING, Species.SAWSBUCK, @@ -42511,6 +42511,10 @@ export const tmSpecies: TmSpecies = { Species.DIPPLIN, Species.OGERPON, Species.HYDRAPPLE, + [ + Species.WORMADAM, + "plant", + ], Species.ALOLA_EXEGGUTOR, Species.HISUI_VOLTORB, Species.HISUI_ELECTRODE, @@ -45984,6 +45988,7 @@ export const tmSpecies: TmSpecies = { Species.TEDDIURSA, Species.URSARING, Species.HITMONTOP, + Species.COMBUSKEN, Species.BLAZIKEN, Species.BRELOOM, Species.MAKUHITA, @@ -48612,6 +48617,7 @@ export const tmSpecies: TmSpecies = { Species.WOOBAT, Species.SWOOBAT, Species.SEWADDLE, + Species.SWADLOON, Species.LEAVANNY, Species.SIGILYPH, Species.ARCHEOPS, @@ -48641,6 +48647,9 @@ export const tmSpecies: TmSpecies = { Species.ROWLET, Species.DARTRIX, Species.DECIDUEYE, + Species.PIKIPEK, + Species.TRUMBEAK, + Species.TOUCANNON, Species.VIKAVOLT, Species.ORICORIO, Species.TYPE_NULL, @@ -49162,6 +49171,8 @@ export const tmSpecies: TmSpecies = { Species.AZELF, Species.REGIGIGAS, Species.DARKRAI, + Species.PIGNITE, + Species.EMBOAR, Species.AUDINO, Species.TIMBURR, Species.GURDURR, @@ -49792,10 +49803,13 @@ export const tmSpecies: TmSpecies = { ], [Moves.BRAVE_BIRD]: [ Species.PIDGEY, + Species.PIDGEOTTO, + Species.PIDGEOT, Species.ZUBAT, Species.GOLBAT, Species.FARFETCHD, Species.DODUO, + Species.DODRIO, Species.ARTICUNO, Species.ZAPDOS, Species.MOLTRES, @@ -49806,6 +49820,7 @@ export const tmSpecies: TmSpecies = { Species.MURKROW, Species.DELIBIRD, Species.SKARMORY, + Species.LUGIA, Species.HO_OH, Species.BLAZIKEN, Species.TAILLOW, @@ -49833,6 +49848,8 @@ export const tmSpecies: TmSpecies = { Species.DARTRIX, Species.DECIDUEYE, Species.PIKIPEK, + Species.TRUMBEAK, + Species.TOUCANNON, Species.TAPU_KOKO, Species.ROOKIDEE, Species.CORVISQUIRE, @@ -50008,6 +50025,7 @@ export const tmSpecies: TmSpecies = { Species.MUDSDALE, Species.SANDYGAST, Species.PALOSSAND, + Species.MINIOR, Species.NECROZMA, Species.RILLABOOM, Species.DREDNAW, @@ -51968,6 +51986,7 @@ export const tmSpecies: TmSpecies = { Species.BEHEEYEM, Species.CRYOGONAL, Species.DRUDDIGON, + Species.GOLETT, Species.GOLURK, Species.PAWNIARD, Species.BISHARP, @@ -52010,6 +52029,7 @@ export const tmSpecies: TmSpecies = { Species.MELTAN, Species.MELMETAL, Species.CORVIKNIGHT, + Species.PERRSERKER, Species.CUFANT, Species.COPPERAJAH, Species.DURALUDON, @@ -53199,6 +53219,8 @@ export const tmSpecies: TmSpecies = { Species.NUMEL, Species.CAMERUPT, Species.TORKOAL, + Species.TRAPINCH, + Species.VIBRAVA, Species.FLYGON, Species.LUNATONE, Species.SOLROCK, @@ -53442,6 +53464,9 @@ export const tmSpecies: TmSpecies = { Species.NUMEL, Species.CAMERUPT, Species.TORKOAL, + Species.TRAPINCH, + Species.VIBRAVA, + Species.FLYGON, Species.LUNATONE, Species.SOLROCK, Species.BARBOACH, @@ -53524,6 +53549,7 @@ export const tmSpecies: TmSpecies = { Species.HYDREIGON, Species.COBALION, Species.TERRAKION, + Species.ZEKROM, Species.LANDORUS, Species.BINACLE, Species.BARBARACLE, @@ -54570,6 +54596,7 @@ export const tmSpecies: TmSpecies = { Species.SLOWBRO, Species.DROWZEE, Species.HYPNO, + Species.EXEGGCUTE, Species.EXEGGUTOR, Species.STARMIE, Species.MR_MIME, @@ -54621,6 +54648,7 @@ export const tmSpecies: TmSpecies = { Species.MESPRIT, Species.AZELF, Species.CRESSELIA, + Species.DARKRAI, Species.ARCEUS, Species.VICTINI, Species.MUNNA, @@ -54644,6 +54672,7 @@ export const tmSpecies: TmSpecies = { Species.ESPURR, Species.MEOWSTIC, Species.AROMATISSE, + Species.INKAY, Species.MALAMAR, Species.SYLVEON, Species.KLEFKI, @@ -55061,6 +55090,7 @@ export const tmSpecies: TmSpecies = { Species.NIDOQUEEN, Species.NIDOKING, Species.VILEPLUME, + Species.VENOMOTH, Species.DUGTRIO, Species.BELLSPROUT, Species.WEEPINBELL, @@ -55165,6 +55195,7 @@ export const tmSpecies: TmSpecies = { Species.MAGNEMITE, Species.MAGNETON, Species.ONIX, + Species.RHYHORN, Species.RHYDON, Species.SNORLAX, Species.MEW, @@ -55197,6 +55228,7 @@ export const tmSpecies: TmSpecies = { Species.TURTWIG, Species.GROTLE, Species.TORTERRA, + Species.RAMPARDOS, Species.SHIELDON, Species.BASTIODON, Species.BRONZOR, @@ -55212,6 +55244,8 @@ export const tmSpecies: TmSpecies = { Species.REGIGIGAS, Species.ARCEUS, Species.TEPIG, + Species.PIGNITE, + Species.EMBOAR, Species.ROGGENROLA, Species.BOLDORE, Species.GIGALITH, @@ -55222,6 +55256,7 @@ export const tmSpecies: TmSpecies = { Species.BEARTIC, Species.GOLETT, Species.GOLURK, + Species.COBALION, Species.CARBINK, Species.AVALUGG, Species.VOLCANION, @@ -55303,6 +55338,7 @@ export const tmSpecies: TmSpecies = { Species.FLAAFFY, Species.AMPHAROS, Species.ELEKID, + Species.RAIKOU, Species.ELECTRIKE, Species.MANECTRIC, Species.PLUSLE, @@ -55314,6 +55350,8 @@ export const tmSpecies: TmSpecies = { Species.MAGNEZONE, Species.ELECTIVIRE, Species.ROTOM, + Species.BLITZLE, + Species.ZEBSTRIKA, Species.EMOLGA, Species.JOLTIK, Species.GALVANTULA, @@ -59685,6 +59723,7 @@ export const tmSpecies: TmSpecies = { Species.NIDORINO, Species.NIDOKING, Species.RAPIDASH, + Species.DODRIO, Species.SEEL, Species.DEWGONG, Species.CLOYSTER, @@ -59699,6 +59738,7 @@ export const tmSpecies: TmSpecies = { Species.FORRETRESS, Species.DUNSPARCE, Species.STEELIX, + Species.SKARMORY, Species.DELIBIRD, Species.HITMONTOP, Species.BALTOY, @@ -60552,6 +60592,7 @@ export const tmSpecies: TmSpecies = { Species.ARCANINE, Species.PONYTA, Species.RAPIDASH, + Species.DEWGONG, Species.MEW, Species.CYNDAQUIL, Species.QUILAVA, @@ -60582,6 +60623,8 @@ export const tmSpecies: TmSpecies = { Species.SKITTY, Species.DELCATTY, Species.MAWILE, + Species.PLUSLE, + Species.MINUN, Species.VOLBEAT, Species.ILLUMISE, Species.SWABLU, @@ -60603,6 +60646,7 @@ export const tmSpecies: TmSpecies = { Species.UXIE, Species.MESPRIT, Species.AZELF, + Species.SHAYMIN, Species.LILLIPUP, Species.HERDIER, Species.STOUTLAND, @@ -66276,8 +66320,13 @@ export const tmSpecies: TmSpecies = { Species.BLOODMOON_URSALUNA, ], [Moves.ICE_SPINNER]: [ + Species.SQUIRTLE, + Species.WARTORTLE, + Species.BLASTOISE, Species.JIGGLYPUFF, Species.WIGGLYTUFF, + Species.SEEL, + Species.DEWGONG, Species.SHELLDER, Species.CLOYSTER, Species.ARTICUNO, @@ -66290,9 +66339,12 @@ export const tmSpecies: TmSpecies = { Species.DUNSPARCE, Species.DELIBIRD, Species.DONPHAN, + Species.HITMONTOP, Species.LUDICOLO, Species.SNORUNT, Species.GLALIE, + Species.REGICE, + Species.REGISTEEL, Species.PIPLUP, Species.PRINPLUP, Species.EMPOLEON, @@ -66304,10 +66356,14 @@ export const tmSpecies: TmSpecies = { Species.ABOMASNOW, Species.WEAVILE, Species.FROSLASS, + Species.CINCCINO, Species.CRYOGONAL, Species.MIENSHAO, Species.BERGMITE, Species.AVALUGG, + Species.POPPLIO, + Species.BRIONNE, + Species.PRIMARINA, Species.CRABOMINABLE, Species.MAREANIE, Species.TOXAPEX, @@ -66845,6 +66901,9 @@ export const tmSpecies: TmSpecies = { Species.BLOODMOON_URSALUNA, ], [Moves.CHILLING_WATER]: [ + Species.SQUIRTLE, + Species.WARTORTLE, + Species.BLASTOISE, Species.CLEFAIRY, Species.CLEFABLE, Species.JIGGLYPUFF, @@ -66856,12 +66915,19 @@ export const tmSpecies: TmSpecies = { Species.POLIWAG, Species.POLIWHIRL, Species.POLIWRATH, + Species.TENTACOOL, + Species.TENTACRUEL, Species.SLOWPOKE, Species.SLOWBRO, + Species.SEEL, + Species.DEWGONG, Species.SHELLDER, Species.CLOYSTER, Species.CHANSEY, + Species.HORSEA, + Species.SEADRA, Species.GYARADOS, + Species.LAPRAS, Species.VAPOREON, Species.SNORLAX, Species.DRATINI, @@ -66869,8 +66935,13 @@ export const tmSpecies: TmSpecies = { Species.DRAGONITE, Species.MEWTWO, Species.MEW, + Species.TOTODILE, + Species.CROCONAW, + Species.FERALIGATR, Species.SENTRET, Species.FURRET, + Species.CHINCHOU, + Species.LANTURN, Species.CLEFFA, Species.MARILL, Species.AZUMARILL, @@ -66882,7 +66953,13 @@ export const tmSpecies: TmSpecies = { Species.DUNSPARCE, Species.QWILFISH, Species.DELIBIRD, + Species.KINGDRA, Species.BLISSEY, + Species.SUICUNE, + Species.LUGIA, + Species.MUDKIP, + Species.MARSHTOMP, + Species.SWAMPERT, Species.LOTAD, Species.LOMBRE, Species.LUDICOLO, @@ -66908,6 +66985,8 @@ export const tmSpecies: TmSpecies = { Species.MILOTIC, Species.SNORUNT, Species.GLALIE, + Species.LATIAS, + Species.LATIOS, Species.KYOGRE, Species.PIPLUP, Species.PRINPLUP, @@ -66933,6 +67012,8 @@ export const tmSpecies: TmSpecies = { "", "origin", ], + Species.PHIONE, + Species.MANAPHY, Species.ARCEUS, Species.OSHAWOTT, Species.DEWOTT, @@ -66943,6 +67024,8 @@ export const tmSpecies: TmSpecies = { "blue-striped", "white-striped", ], + Species.MINCCINO, + Species.CINCCINO, Species.DUCKLETT, Species.SWANNA, Species.ALOMOMOLA, @@ -66950,6 +67033,7 @@ export const tmSpecies: TmSpecies = { Species.BEARTIC, Species.CRYOGONAL, Species.TORNADUS, + Species.KELDEO, Species.FROAKIE, Species.FROGADIER, [ @@ -66970,12 +67054,17 @@ export const tmSpecies: TmSpecies = { Species.GOODRA, Species.BERGMITE, Species.AVALUGG, + Species.POPPLIO, + Species.BRIONNE, + Species.PRIMARINA, Species.YUNGOOS, Species.GUMSHOOS, Species.CRABRAWLER, Species.CRABOMINABLE, Species.MAREANIE, Species.TOXAPEX, + Species.DEWPIDER, + Species.ARAQUANID, Species.ORANGURU, Species.PASSIMIAN, Species.SANDYGAST, diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index d48e384d30e..a6cf4247f27 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -1,2037 +1,2037 @@ -import BattleScene, {startingWave} from "../battle-scene"; -import {ModifierTypeFunc, modifierTypes} from "../modifier/modifier-type"; -import {EnemyPokemon} from "../field/pokemon"; -import * as Utils from "../utils"; -import {PokeballType} from "./pokeball"; -import {pokemonEvolutions, pokemonPrevolutions} from "./pokemon-evolutions"; -import PokemonSpecies, {getPokemonSpecies, PokemonSpeciesFilter} from "./pokemon-species"; -import {tmSpecies} from "./tms"; -import {Type} from "./type"; -import {doubleBattleDialogue} from "./dialogue"; -import {PersistentModifier} from "../modifier/modifier"; -import {TrainerVariant} from "../field/trainer"; -import {getIsInitialized, initI18n} from "#app/plugins/i18n"; -import i18next from "i18next"; -import {Moves} from "#enums/moves"; -import {PartyMemberStrength} from "#enums/party-member-strength"; -import {Species} from "#enums/species"; -import {TrainerType} from "#enums/trainer-type"; -import {Gender} from "./gender"; - -export enum TrainerPoolTier { - COMMON, - UNCOMMON, - RARE, - SUPER_RARE, - ULTRA_RARE -} - -export interface TrainerTierPools { - [key: integer]: Species[] -} - -export enum TrainerSlot { - NONE, - TRAINER, - TRAINER_PARTNER -} - -export class TrainerPartyTemplate { - public size: integer; - public strength: PartyMemberStrength; - public sameSpecies: boolean; - public balanced: boolean; - - constructor(size: integer, strength: PartyMemberStrength, sameSpecies?: boolean, balanced?: boolean) { - this.size = size; - this.strength = strength; - this.sameSpecies = !!sameSpecies; - this.balanced = !!balanced; - } - - getStrength(index: integer): PartyMemberStrength { - return this.strength; - } - - isSameSpecies(index: integer): boolean { - return this.sameSpecies; - } - - isBalanced(index: integer): boolean { - return this.balanced; - } -} - -export class TrainerPartyCompoundTemplate extends TrainerPartyTemplate { - public templates: TrainerPartyTemplate[]; - - constructor(...templates: TrainerPartyTemplate[]) { - super(templates.reduce((total: integer, template: TrainerPartyTemplate) => { - total += template.size; - return total; - }, 0), PartyMemberStrength.AVERAGE); - this.templates = templates; - } - - getStrength(index: integer): PartyMemberStrength { - let t = 0; - for (const template of this.templates) { - if (t + template.size > index) { - return template.getStrength(index - t); - } - t += template.size; - } - - return super.getStrength(index); - } - - isSameSpecies(index: integer): boolean { - let t = 0; - for (const template of this.templates) { - if (t + template.size > index) { - return template.isSameSpecies(index - t); - } - t += template.size; - } - - return super.isSameSpecies(index); - } - - isBalanced(index: integer): boolean { - let t = 0; - for (const template of this.templates) { - if (t + template.size > index) { - return template.isBalanced(index - t); - } - t += template.size; - } - - return super.isBalanced(index); - } -} - -export const trainerPartyTemplates = { - ONE_WEAK_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - ONE_AVG: new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), - ONE_AVG_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - ONE_STRONG: new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), - ONE_STRONGER: new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), - TWO_WEAKER: new TrainerPartyTemplate(2, PartyMemberStrength.WEAKER), - TWO_WEAK: new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), - TWO_WEAK_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), - TWO_WEAK_SAME_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), - TWO_WEAK_SAME_TWO_WEAK_SAME: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true), new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true)), - TWO_WEAK_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - TWO_AVG: new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), - TWO_AVG_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - TWO_AVG_SAME_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), - TWO_AVG_SAME_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - TWO_AVG_SAME_TWO_AVG_SAME: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true)), - TWO_STRONG: new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), - THREE_WEAK: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK), - THREE_WEAK_SAME: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK, true), - THREE_AVG: new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), - THREE_AVG_SAME: new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, true), - THREE_WEAK_BALANCED: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK, false, true), - FOUR_WEAKER: new TrainerPartyTemplate(4, PartyMemberStrength.WEAKER), - FOUR_WEAKER_SAME: new TrainerPartyTemplate(4, PartyMemberStrength.WEAKER, true), - FOUR_WEAK: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK), - FOUR_WEAK_SAME: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK, true), - FOUR_WEAK_BALANCED: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK, false, true), - FIVE_WEAKER: new TrainerPartyTemplate(5, PartyMemberStrength.WEAKER), - FIVE_WEAK: new TrainerPartyTemplate(5, PartyMemberStrength.WEAK), - FIVE_WEAK_BALANCED: new TrainerPartyTemplate(5, PartyMemberStrength.WEAK, false, true), - SIX_WEAKER: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER), - SIX_WEAKER_SAME: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER, true), - SIX_WEAK_SAME: new TrainerPartyTemplate(6, PartyMemberStrength.WEAK, true), - SIX_WEAK_BALANCED: new TrainerPartyTemplate(6, PartyMemberStrength.WEAK, false, true), - - GYM_LEADER_1: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - GYM_LEADER_2: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - GYM_LEADER_3: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - GYM_LEADER_4: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - GYM_LEADER_5: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - - ELITE_FOUR: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - - CHAMPION: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), new TrainerPartyTemplate(5, PartyMemberStrength.STRONG, false, true)), - - RIVAL: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), - RIVAL_2: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), - RIVAL_3: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), - RIVAL_4: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), - RIVAL_5: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - RIVAL_6: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)) -}; - -type PartyTemplateFunc = (scene: BattleScene) => TrainerPartyTemplate; -type PartyMemberFunc = (scene: BattleScene, level: integer, strength: PartyMemberStrength) => EnemyPokemon; -type GenModifiersFunc = (party: EnemyPokemon[]) => PersistentModifier[]; - -export interface PartyMemberFuncs { - [key: integer]: PartyMemberFunc -} - -export class TrainerConfig { - public trainerType: TrainerType; - public trainerTypeDouble: TrainerType; - public name: string; - public nameFemale: string; - public nameDouble: string; - public title: string; - public titleDouble: string; - public hasGenders: boolean = false; - public hasDouble: boolean = false; - public hasCharSprite: boolean = false; - public doubleOnly: boolean = false; - public moneyMultiplier: number = 1; - public isBoss: boolean = false; - public hasStaticParty: boolean = false; - public useSameSeedForAllMembers: boolean = false; - public mixedBattleBgm: string; - public battleBgm: string; - public encounterBgm: string; - public femaleEncounterBgm: string; - public doubleEncounterBgm: string; - public victoryBgm: string; - public genModifiersFunc: GenModifiersFunc; - public modifierRewardFuncs: ModifierTypeFunc[] = []; - public partyTemplates: TrainerPartyTemplate[]; - public partyTemplateFunc: PartyTemplateFunc; - public partyMemberFuncs: PartyMemberFuncs = {}; - public speciesPools: TrainerTierPools; - public speciesFilter: PokemonSpeciesFilter; - public specialtyTypes: Type[] = []; - public hasVoucher: boolean = false; - - public encounterMessages: string[] = []; - public victoryMessages: string[] = []; - public defeatMessages: string[] = []; - - public femaleEncounterMessages: string[]; - public femaleVictoryMessages: string[]; - public femaleDefeatMessages: string[]; - - public doubleEncounterMessages: string[]; - public doubleVictoryMessages: string[]; - public doubleDefeatMessages: string[]; - - constructor(trainerType: TrainerType, allowLegendaries?: boolean) { - this.trainerType = trainerType; - this.name = Utils.toReadableString(TrainerType[this.getDerivedType()]); - this.battleBgm = "battle_trainer"; - this.mixedBattleBgm = "battle_trainer"; - this.victoryBgm = "victory_trainer"; - this.partyTemplates = [trainerPartyTemplates.TWO_AVG]; - this.speciesFilter = species => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden(); - } - - getKey(): string { - return TrainerType[this.getDerivedType()].toString().toLowerCase(); - } - - getSpriteKey(female?: boolean, isDouble: boolean = false): string { - let ret = this.getKey(); - if (this.hasGenders) { - ret += `_${female ? "f" : "m"}`; - } - // If a special double trainer class was set, set it as the sprite key - if (this.trainerTypeDouble && female && isDouble) { - // Get the derived type for the double trainer since the sprite key is based on the derived type - ret = TrainerType[this.getDerivedType(this.trainerTypeDouble)].toString().toLowerCase(); - } - return ret; - } - - setName(name: string): TrainerConfig { - if (name === "Finn") { - // Give the rival a localized name - // First check if i18n is initialized - if (!getIsInitialized()) { - initI18n(); - } - // This is only the male name, because the female name is handled in a different function (setHasGenders) - if (name === "Finn") { - name = i18next.t("trainerNames:rival"); - } - } - this.name = name; - return this; - } - - /** - * Sets if a boss trainer will have a voucher or not. - * @param hasVoucher - If the boss trainer will have a voucher. - */ - setHasVoucher(hasVoucher: boolean): void { - this.hasVoucher = hasVoucher; - } - - setTitle(title: string): TrainerConfig { - // First check if i18n is initialized - if (!getIsInitialized()) { - initI18n(); - } - - // Make the title lowercase and replace spaces with underscores - title = title.toLowerCase().replace(/\s/g, "_"); - - // Get the title from the i18n file - this.title = i18next.t(`titles:${title}`); - - - return this; - } - - - /** - * Returns the derived trainer type for a given trainer type. - * @param trainerTypeToDeriveFrom - The trainer type to derive from. (If null, the this.trainerType property will be used.) - * @returns {TrainerType} - The derived trainer type. - */ - getDerivedType(trainerTypeToDeriveFrom: TrainerType | null = null): TrainerType { - let trainerType = trainerTypeToDeriveFrom ? trainerTypeToDeriveFrom : this.trainerType; - switch (trainerType) { - case TrainerType.RIVAL_2: - case TrainerType.RIVAL_3: - case TrainerType.RIVAL_4: - case TrainerType.RIVAL_5: - case TrainerType.RIVAL_6: - trainerType = TrainerType.RIVAL; - break; - case TrainerType.LANCE_CHAMPION: - trainerType = TrainerType.LANCE; - break; - case TrainerType.LARRY_ELITE: - trainerType = TrainerType.LARRY; - break; - case TrainerType.ROCKET_BOSS_GIOVANNI_1: - case TrainerType.ROCKET_BOSS_GIOVANNI_2: - trainerType = TrainerType.GIOVANNI; - break; - case TrainerType.MAXIE_2: - trainerType = TrainerType.MAXIE; - break; - case TrainerType.ARCHIE_2: - trainerType = TrainerType.ARCHIE; - break; - case TrainerType.CYRUS_2: - trainerType = TrainerType.CYRUS; - break; - case TrainerType.GHETSIS_2: - trainerType = TrainerType.GHETSIS; - break; - case TrainerType.LYSANDRE_2: - trainerType = TrainerType.LYSANDRE; - break; - case TrainerType.LUSAMINE_2: - trainerType = TrainerType.LUSAMINE; - break; - case TrainerType.GUZMA_2: - trainerType = TrainerType.GUZMA; - break; - case TrainerType.ROSE_2: - trainerType = TrainerType.ROSE; - break; - case TrainerType.MARNIE_ELITE: - trainerType = TrainerType.MARNIE; - break; - case TrainerType.NESSA_ELITE: - trainerType = TrainerType.NESSA; - break; - case TrainerType.BEA_ELITE: - trainerType = TrainerType.BEA; - break; - case TrainerType.ALLISTER_ELITE: - trainerType = TrainerType.ALLISTER; - break; - case TrainerType.RAIHAN_ELITE: - trainerType = TrainerType.RAIHAN; - break; - } - - return trainerType; - } - - /** - * Sets the configuration for trainers with genders, including the female name and encounter background music (BGM). - * @param {string} [nameFemale] - The name of the female trainer. If 'Ivy', a localized name will be assigned. - * @param {TrainerType | string} [femaleEncounterBgm] - The encounter BGM for the female trainer, which can be a TrainerType or a string. - * @returns {TrainerConfig} - The updated TrainerConfig instance. - **/ - setHasGenders(nameFemale?: string, femaleEncounterBgm?: TrainerType | string): TrainerConfig { - // If the female name is 'Ivy' (the rival), assign a localized name. - if (nameFemale === "Ivy") { - // Check if the internationalization (i18n) system is initialized. - if (!getIsInitialized()) { - // Initialize the i18n system if it is not already initialized. - initI18n(); - } - // Set the localized name for the female rival. - this.nameFemale = i18next.t("trainerNames:rival_female"); - } else { - // Otherwise, assign the provided female name. - this.nameFemale = nameFemale!; // TODO: is this bang correct? - } - - // Indicate that this trainer configuration includes genders. - this.hasGenders = true; - - // If a female encounter BGM is provided. - if (femaleEncounterBgm) { - // If the BGM is a TrainerType (number), convert it to a string, replace underscores with spaces, and convert to lowercase. - // Otherwise, assign the provided string as the BGM. - this.femaleEncounterBgm = typeof femaleEncounterBgm === "number" - ? TrainerType[femaleEncounterBgm].toString().replace(/_/g, " ").toLowerCase() - : femaleEncounterBgm; - } - - // Return the updated TrainerConfig instance. - return this; - } - - /** - * Sets the configuration for trainers with double battles, including the name of the double trainer and the encounter BGM. - * @param nameDouble - The name of the double trainer (e.g., "Ace Duo" for Trainer Class Doubles or "red_blue_double" for NAMED trainer doubles). - * @param doubleEncounterBgm - The encounter BGM for the double trainer, which can be a TrainerType or a string. - * @returns {TrainerConfig} - The updated TrainerConfig instance. - */ - setHasDouble(nameDouble: string, doubleEncounterBgm?: TrainerType | string): TrainerConfig { - this.hasDouble = true; - this.nameDouble = nameDouble; - if (doubleEncounterBgm) { - this.doubleEncounterBgm = typeof doubleEncounterBgm === "number" ? TrainerType[doubleEncounterBgm].toString().replace(/\_/g, " ").toLowerCase() : doubleEncounterBgm; - } - return this; - } - - /** - * Sets the trainer type for double battles. - * @param trainerTypeDouble - The TrainerType of the partner in a double battle. - * @returns {TrainerConfig} - The updated TrainerConfig instance. - */ - setDoubleTrainerType(trainerTypeDouble: TrainerType): TrainerConfig { - this.trainerTypeDouble = trainerTypeDouble; - this.setDoubleMessages(this.nameDouble); - return this; - } - - /** - * Sets the encounter and victory messages for double trainers. - * @param nameDouble - The name of the pair (e.g. "red_blue_double"). - */ - setDoubleMessages(nameDouble: string) { - // Check if there is double battle dialogue for this trainer - if (doubleBattleDialogue[nameDouble]) { - // Set encounter and victory messages for double trainers - this.doubleEncounterMessages = doubleBattleDialogue[nameDouble].encounter; - this.doubleVictoryMessages = doubleBattleDialogue[nameDouble].victory; - this.doubleDefeatMessages = doubleBattleDialogue[nameDouble].defeat; - } - } - - /** - * Sets the title for double trainers - * @param titleDouble - the key for the title in the i18n file. (e.g., "champion_double"). - * @returns {TrainerConfig} - The updated TrainerConfig instance. - */ - setDoubleTitle(titleDouble: string): TrainerConfig { - // First check if i18n is initialized - if (!getIsInitialized()) { - initI18n(); - } - - // Make the title lowercase and replace spaces with underscores - titleDouble = titleDouble.toLowerCase().replace(/\s/g, "_"); - - // Get the title from the i18n file - this.titleDouble = i18next.t(`titles:${titleDouble}`); - - return this; - } - - setHasCharSprite(): TrainerConfig { - this.hasCharSprite = true; - return this; - } - - setDoubleOnly(): TrainerConfig { - this.doubleOnly = true; - return this; - } - - setMoneyMultiplier(moneyMultiplier: number): TrainerConfig { - this.moneyMultiplier = moneyMultiplier; - return this; - } - - setBoss(): TrainerConfig { - this.isBoss = true; - return this; - } - - setStaticParty(): TrainerConfig { - this.hasStaticParty = true; - return this; - } - - setUseSameSeedForAllMembers(): TrainerConfig { - this.useSameSeedForAllMembers = true; - return this; - } - - setMixedBattleBgm(mixedBattleBgm: string): TrainerConfig { - this.mixedBattleBgm = mixedBattleBgm; - return this; - } - - setBattleBgm(battleBgm: string): TrainerConfig { - this.battleBgm = battleBgm; - return this; - } - - setEncounterBgm(encounterBgm: TrainerType | string): TrainerConfig { - this.encounterBgm = typeof encounterBgm === "number" ? TrainerType[encounterBgm].toString().toLowerCase() : encounterBgm; - return this; - } - - setVictoryBgm(victoryBgm: string): TrainerConfig { - this.victoryBgm = victoryBgm; - return this; - } - - setPartyTemplates(...partyTemplates: TrainerPartyTemplate[]): TrainerConfig { - this.partyTemplates = partyTemplates; - return this; - } - - setPartyTemplateFunc(partyTemplateFunc: PartyTemplateFunc): TrainerConfig { - this.partyTemplateFunc = partyTemplateFunc; - return this; - } - - setPartyMemberFunc(slotIndex: integer, partyMemberFunc: PartyMemberFunc): TrainerConfig { - this.partyMemberFuncs[slotIndex] = partyMemberFunc; - return this; - } - - setSpeciesPools(speciesPools: TrainerTierPools | Species[]): TrainerConfig { - this.speciesPools = (Array.isArray(speciesPools) ? {[TrainerPoolTier.COMMON]: speciesPools} : speciesPools) as unknown as TrainerTierPools; - return this; - } - - setSpeciesFilter(speciesFilter: PokemonSpeciesFilter, allowLegendaries?: boolean): TrainerConfig { - const baseFilter = this.speciesFilter; - this.speciesFilter = allowLegendaries ? speciesFilter : species => speciesFilter(species) && baseFilter(species); - return this; - } - - setSpecialtyTypes(...specialtyTypes: Type[]): TrainerConfig { - this.specialtyTypes = specialtyTypes; - return this; - } - - setGenModifiersFunc(genModifiersFunc: GenModifiersFunc): TrainerConfig { - this.genModifiersFunc = genModifiersFunc; - return this; - } - - setModifierRewardFuncs(...modifierTypeFuncs: (() => ModifierTypeFunc)[]): TrainerConfig { - this.modifierRewardFuncs = modifierTypeFuncs.map(func => () => { - const modifierTypeFunc = func(); - const modifierType = modifierTypeFunc(); - modifierType.withIdFromFunc(modifierTypeFunc); - return modifierType; - }); - return this; - } - - /** - * Returns the pool of species for an evil team admin - * @param team - The evil team the admin belongs to. - * @returns {TrainerTierPools} - */ - speciesPoolPerEvilTeamAdmin(team): TrainerTierPools { - team = team.toLowerCase(); - switch (team) { - case "rocket": { - return { - [TrainerPoolTier.COMMON]: [Species.RATTATA, Species.KOFFING, Species.EKANS, Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], - [TrainerPoolTier.UNCOMMON]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], - [TrainerPoolTier.RARE]: [Species.DRATINI, Species.LARVITAR] - }; - } - case "magma": { - return { - [TrainerPoolTier.COMMON]: [Species.NUMEL, Species.POOCHYENA, Species.SLUGMA, Species.SOLROCK, Species.HIPPOPOTAS, Species.SANDACONDA, Species.PHANPY, Species.ROLYCOLY, Species.GLIGAR], - [TrainerPoolTier.UNCOMMON]: [Species.TRAPINCH, Species.HEATMOR], - [TrainerPoolTier.RARE]: [Species.CAPSAKID, Species.CHARCADET] - }; - } - case "aqua": { - return { - [TrainerPoolTier.COMMON]: [Species.CARVANHA, Species.CORPHISH, Species.ZIGZAGOON, Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH], - [TrainerPoolTier.UNCOMMON]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA], - [TrainerPoolTier.RARE]: [Species.DONDOZO] - }; - } - case "galactic": { - return { - [TrainerPoolTier.COMMON]: [Species.GLAMEOW, Species.STUNKY, Species.BRONZOR, Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL], - [TrainerPoolTier.UNCOMMON]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], - [TrainerPoolTier.RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] - }; - } - case "plasma": { - return { - [TrainerPoolTier.COMMON]: [Species.SCRAFTY, Species.LILLIPUP, Species.PURRLOIN, Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS], - [TrainerPoolTier.UNCOMMON]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK], - [TrainerPoolTier.RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT] - }; - } - case "flare": { - return { - [TrainerPoolTier.COMMON]: [Species.FLETCHLING, Species.LITLEO, Species.INKAY, Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN, Species.PURRLOIN, Species.POOCHYENA, Species.SCATTERBUG], - [TrainerPoolTier.UNCOMMON]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD], - [TrainerPoolTier.RARE]: [Species.NOIVERN, Species.DRUDDIGON] - }; - } - case "aether": { - return { - [TrainerPoolTier.COMMON]: [ Species.BRUXISH, Species.SLOWPOKE, Species.BALTOY, Species.EXEGGCUTE, Species.ABRA, Species.ALOLA_RAICHU, Species.ELGYEM, Species.NATU], - [TrainerPoolTier.UNCOMMON]: [Species.GALAR_SLOWKING, Species.MEDITITE, Species.BELDUM, Species.ORANGURU, Species.HATTERENE, Species.INKAY, Species.RALTS], - [TrainerPoolTier.RARE]: [Species.ARMAROUGE, Species.GIRAFARIG, Species.PORYGON] - }; - } - case "skull": { - return { - [TrainerPoolTier.COMMON]: [ Species.MAREANIE, Species.ALOLA_GRIMER, Species.GASTLY, Species.ZUBAT, Species.LURANTIS, Species.VENIPEDE, Species.BUDEW, Species.KOFFING], - [TrainerPoolTier.UNCOMMON]: [Species.GALAR_SLOWBRO, Species.SKORUPI, Species.PALDEA_WOOPER, Species.NIDORAN_F, Species.CROAGUNK, Species.MANDIBUZZ], - [TrainerPoolTier.RARE]: [Species.DRAGALGE, Species.HISUI_SNEASEL] - }; - } - case "macro": { - return { - [TrainerPoolTier.COMMON]: [ Species.HATTERENE, Species.MILOTIC, Species.TSAREENA, Species.SALANDIT, Species.GALAR_PONYTA, Species.GOTHITA, Species.FROSLASS], - [TrainerPoolTier.UNCOMMON]: [Species.MANDIBUZZ, Species.MAREANIE, Species.ALOLA_VULPIX, Species.TOGEPI, Species.GALAR_CORSOLA, Species.SINISTEA, Species.APPLIN], - [TrainerPoolTier.RARE]: [Species.TINKATINK, Species.HISUI_LILLIGANT] - }; - } - } - - console.warn(`Evil team admin for ${team} not found. Returning empty species pools.`); - return []; - } - - /** - * Initializes the trainer configuration for an evil team admin. - * @param title - The title of the evil team admin. - * @param poolName - The evil team the admin belongs to. - * @param {Species | Species[]} signatureSpecies - The signature species for the evil team leader. - * @returns {TrainerConfig} - The updated TrainerConfig instance. - * **/ - initForEvilTeamAdmin(title: string, poolName: string, signatureSpecies: (Species | Species[])[],): TrainerConfig { - if (!getIsInitialized()) { - initI18n(); - } - this.setPartyTemplates(trainerPartyTemplates.RIVAL_5); - - // Set the species pools for the evil team admin. - this.speciesPools = this.speciesPoolPerEvilTeamAdmin(poolName); - - signatureSpecies.forEach((speciesPool, s) => { - if (!Array.isArray(speciesPool)) { - speciesPool = [speciesPool]; - } - this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); - }); - - const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); - this.name = i18next.t(`trainerNames:${nameForCall}`); - this.setHasVoucher(false); - this.setTitle(title); - this.setMoneyMultiplier(1.5); - this.setBoss(); - this.setStaticParty(); - this.setBattleBgm("battle_plasma_boss"); - this.setVictoryBgm("victory_team_plasma"); - - return this; - } - - /** - * Initializes the trainer configuration for an evil team leader. Temporarily hardcoding evil leader teams though. - * @param {Species | Species[]} signatureSpecies - The signature species for the evil team leader. - * @param {Type[]} specialtyTypes - The specialty types for the evil team Leader. - * @param boolean whether or not this is the rematch fight - * @returns {TrainerConfig} - The updated TrainerConfig instance. - * **/ - initForEvilTeamLeader(title: string, signatureSpecies: (Species | Species[])[], rematch: boolean = false, ...specialtyTypes: Type[]): TrainerConfig { - if (!getIsInitialized()) { - initI18n(); - } - if (rematch) { - this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR); - } else { - this.setPartyTemplates(trainerPartyTemplates.RIVAL_5); - } - signatureSpecies.forEach((speciesPool, s) => { - if (!Array.isArray(speciesPool)) { - speciesPool = [speciesPool]; - } - this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); - }); - if (specialtyTypes.length) { - this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) !== undefined); - this.setSpecialtyTypes(...specialtyTypes); - } - const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); - this.name = i18next.t(`trainerNames:${nameForCall}`); - this.setTitle(title); - this.setMoneyMultiplier(2.5); - this.setBoss(); - this.setStaticParty(); - this.setHasVoucher(true); - this.setBattleBgm("battle_plasma_boss"); - this.setVictoryBgm("victory_team_plasma"); - - return this; - } - - /** - * Initializes the trainer configuration for a Gym Leader. - * @param {Species | Species[]} signatureSpecies - The signature species for the Gym Leader. - * @param {Type[]} specialtyTypes - The specialty types for the Gym Leader. - * @param isMale - Whether the Gym Leader is Male or Not (for localization of the title). - * @returns {TrainerConfig} - The updated TrainerConfig instance. - * **/ - initForGymLeader(signatureSpecies: (Species | Species[])[], isMale: boolean, ...specialtyTypes: Type[]): TrainerConfig { - // Check if the internationalization (i18n) system is initialized. - if (!getIsInitialized()) { - initI18n(); - } - - // Set the function to generate the Gym Leader's party template. - this.setPartyTemplateFunc(getGymLeaderPartyTemplate); - - // Set up party members with their corresponding species. - signatureSpecies.forEach((speciesPool, s) => { - // Ensure speciesPool is an array. - if (!Array.isArray(speciesPool)) { - speciesPool = [speciesPool]; - } - // Set a function to get a random party member from the species pool. - this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); - }); - - // If specialty types are provided, set species filter and specialty types. - if (specialtyTypes.length) { - this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) !== undefined); - this.setSpecialtyTypes(...specialtyTypes); - } - - // Localize the trainer's name by converting it to lowercase and replacing spaces with underscores. - const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); - this.name = i18next.t(`trainerNames:${nameForCall}`); - - // Set the title to "gym_leader". (this is the key in the i18n file) - this.setTitle("gym_leader"); - if (!isMale) { - this.setTitle("gym_leader_female"); - } - - // Configure various properties for the Gym Leader. - this.setMoneyMultiplier(2.5); - this.setBoss(); - this.setStaticParty(); - this.setHasVoucher(true); - this.setBattleBgm("battle_unova_gym"); - this.setVictoryBgm("victory_gym"); - this.setGenModifiersFunc(party => { - const waveIndex = party[0].scene.currentBattle.waveIndex; - return getRandomTeraModifiers(party, waveIndex >= 100 ? 1 : 0, specialtyTypes.length ? specialtyTypes : undefined); - }); - - return this; - } - - /** - * Initializes the trainer configuration for an Elite Four member. - * @param {Species | Species[]} signatureSpecies - The signature species for the Elite Four member. - * @param {Type[]} specialtyTypes - The specialty types for the Elite Four member. - * @param isMale - Whether the Elite Four Member is Male or Female (for localization of the title). - * @returns {TrainerConfig} - The updated TrainerConfig instance. - **/ - initForEliteFour(signatureSpecies: (Species | Species[])[], isMale: boolean, ...specialtyTypes: Type[]): TrainerConfig { - // Check if the internationalization (i18n) system is initialized. - if (!getIsInitialized()) { - initI18n(); - } - - // Set the party templates for the Elite Four. - this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR); - - // Set up party members with their corresponding species. - signatureSpecies.forEach((speciesPool, s) => { - // Ensure speciesPool is an array. - if (!Array.isArray(speciesPool)) { - speciesPool = [speciesPool]; - } - // Set a function to get a random party member from the species pool. - this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); - }); - - // Set species filter and specialty types if provided, otherwise filter by base total. - if (specialtyTypes.length) { - this.setSpeciesFilter(p => specialtyTypes.some(t => p.isOfType(t)) && p.baseTotal >= 450); - this.setSpecialtyTypes(...specialtyTypes); - } else { - this.setSpeciesFilter(p => p.baseTotal >= 450); - } - - // Localize the trainer's name by converting it to lowercase and replacing spaces with underscores. - const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); - this.name = i18next.t(`trainerNames:${nameForCall}`); - - // Set the title to "elite_four". (this is the key in the i18n file) - this.setTitle("elite_four"); - if (!isMale) { - this.setTitle("elite_four_female"); - } - - // Configure various properties for the Elite Four member. - this.setMoneyMultiplier(3.25); - this.setBoss(); - this.setStaticParty(); - this.setHasVoucher(true); - this.setBattleBgm("battle_unova_elite"); - this.setVictoryBgm("victory_gym"); - this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 2, specialtyTypes.length ? specialtyTypes : undefined)); - - return this; - } - - /** - * Initializes the trainer configuration for a Champion. - * @param {Species | Species[]} signatureSpecies - The signature species for the Champion. - * @param isMale - Whether the Champion is Male or Female (for localization of the title). - * @returns {TrainerConfig} - The updated TrainerConfig instance. - **/ - initForChampion(signatureSpecies: (Species | Species[])[], isMale: boolean): TrainerConfig { - // Check if the internationalization (i18n) system is initialized. - if (!getIsInitialized()) { - initI18n(); - } - - // Set the party templates for the Champion. - this.setPartyTemplates(trainerPartyTemplates.CHAMPION); - - // Set up party members with their corresponding species. - signatureSpecies.forEach((speciesPool, s) => { - // Ensure speciesPool is an array. - if (!Array.isArray(speciesPool)) { - speciesPool = [speciesPool]; - } - // Set a function to get a random party member from the species pool. - this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); - }); - - // Set species filter to only include species with a base total of 470 or higher. - this.setSpeciesFilter(p => p.baseTotal >= 470); - - // Localize the trainer's name by converting it to lowercase and replacing spaces with underscores. - const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); - this.name = i18next.t(`trainerNames:${nameForCall}`); - - // Set the title to "champion". (this is the key in the i18n file) - this.setTitle("champion"); - if (!isMale) { - this.setTitle("champion_female"); - } - - - // Configure various properties for the Champion. - this.setMoneyMultiplier(10); - this.setBoss(); - this.setStaticParty(); - this.setHasVoucher(true); - this.setBattleBgm("battle_champion_alder"); - this.setVictoryBgm("victory_champion"); - this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 3)); - - return this; - } - - /** - * Retrieves the title for the trainer based on the provided trainer slot and variant. - * @param {TrainerSlot} trainerSlot - The slot to determine which title to use. Defaults to TrainerSlot.NONE. - * @param {TrainerVariant} variant - The variant of the trainer to determine the specific title. - * @returns {string} - The title of the trainer. - **/ - getTitle(trainerSlot: TrainerSlot = TrainerSlot.NONE, variant: TrainerVariant): string { - const ret = this.name; - - // Check if the variant is double and the name for double exists - if (!trainerSlot && variant === TrainerVariant.DOUBLE && this.nameDouble) { - return this.nameDouble; - } - - // Female variant - if (this.hasGenders) { - // If the name is already set - if (this.nameFemale) { - // Check if the variant is either female or this is for the partner in a double battle - if (variant === TrainerVariant.FEMALE || (variant === TrainerVariant.DOUBLE && trainerSlot === TrainerSlot.TRAINER_PARTNER)) { - return this.nameFemale; - } - } else - // Check if !variant is true, if so return the name, else return the name with _female appended - if (variant) { - if (!getIsInitialized()) { - initI18n(); - } - // Check if the female version exists in the i18n file - if (i18next.exists(`trainerClasses:${this.name.toLowerCase()}`)) { - // If it does, return - return ret + "_female"; - } else { - // If it doesn't, we do not do anything and go to the normal return - // This is to prevent the game from displaying an error if a female version of the trainer does not exist in the localization - } - } - } - - return ret; - } - - loadAssets(scene: BattleScene, variant: TrainerVariant): Promise { - return new Promise(resolve => { - const isDouble = variant === TrainerVariant.DOUBLE; - const trainerKey = this.getSpriteKey(variant === TrainerVariant.FEMALE, false); - const partnerTrainerKey = this.getSpriteKey(true, true); - scene.loadAtlas(trainerKey, "trainer"); - if (isDouble) { - scene.loadAtlas(partnerTrainerKey, "trainer"); - } - scene.load.once(Phaser.Loader.Events.COMPLETE, () => { - const originalWarn = console.warn; - // Ignore warnings for missing frames, because there will be a lot - console.warn = () => { - }; - const frameNames = scene.anims.generateFrameNames(trainerKey, { - zeroPad: 4, - suffix: ".png", - start: 1, - end: 128 - }); - const partnerFrameNames = isDouble - ? scene.anims.generateFrameNames(partnerTrainerKey, { - zeroPad: 4, - suffix: ".png", - start: 1, - end: 128 - }) - : ""; - console.warn = originalWarn; - if (!(scene.anims.exists(trainerKey))) { - scene.anims.create({ - key: trainerKey, - frames: frameNames, - frameRate: 24, - repeat: -1 - }); - } - if (isDouble && !(scene.anims.exists(partnerTrainerKey))) { - scene.anims.create({ - key: partnerTrainerKey, - frames: partnerFrameNames, - frameRate: 24, - repeat: -1 - }); - } - resolve(); - }); - if (!scene.load.isLoading()) { - scene.load.start(); - } - }); - } -} - -let t = 0; - -interface TrainerConfigs { - [key: integer]: TrainerConfig -} - -/** - * The function to get variable strength grunts - * @param scene the singleton scene being passed in - * @returns the correct TrainerPartyTemplate - */ -function getEvilGruntPartyTemplate(scene: BattleScene): TrainerPartyTemplate { - const waveIndex = scene.currentBattle?.waveIndex; - if (waveIndex < 40) { - return trainerPartyTemplates.TWO_AVG; - } else if (waveIndex < 63) { - return trainerPartyTemplates.THREE_AVG; - } else if (waveIndex < 65) { - return trainerPartyTemplates.TWO_AVG_ONE_STRONG; - } else if (waveIndex < 112) { - return trainerPartyTemplates.GYM_LEADER_4; // 3avg 1 strong 1 stronger - } else { - return trainerPartyTemplates.GYM_LEADER_5; // 3 avg 2 strong 1 stronger - } -} - -function getWavePartyTemplate(scene: BattleScene, ...templates: TrainerPartyTemplate[]) { - return templates[Math.min(Math.max(Math.ceil((scene.gameMode.getWaveForDifficulty(scene.currentBattle?.waveIndex || startingWave, true) - 20) / 30), 0), templates.length - 1)]; -} - -function getGymLeaderPartyTemplate(scene: BattleScene) { - return getWavePartyTemplate(scene, trainerPartyTemplates.GYM_LEADER_1, trainerPartyTemplates.GYM_LEADER_2, trainerPartyTemplates.GYM_LEADER_3, trainerPartyTemplates.GYM_LEADER_4, trainerPartyTemplates.GYM_LEADER_5); -} - -function getRandomPartyMemberFunc(speciesPool: Species[], trainerSlot: TrainerSlot = TrainerSlot.TRAINER, ignoreEvolution: boolean = false, postProcess?: (enemyPokemon: EnemyPokemon) => void): PartyMemberFunc { - return (scene: BattleScene, level: integer, strength: PartyMemberStrength) => { - let species = Utils.randSeedItem(speciesPool); - if (!ignoreEvolution) { - species = getPokemonSpecies(species).getTrainerSpeciesForLevel(level, true, strength, scene.currentBattle.waveIndex); - } - return scene.addEnemyPokemon(getPokemonSpecies(species), level, trainerSlot, undefined, undefined, postProcess); - }; -} - -function getSpeciesFilterRandomPartyMemberFunc(speciesFilter: PokemonSpeciesFilter, trainerSlot: TrainerSlot = TrainerSlot.TRAINER, allowLegendaries?: boolean, postProcess?: (EnemyPokemon: EnemyPokemon) => void): PartyMemberFunc { - const originalSpeciesFilter = speciesFilter; - speciesFilter = (species: PokemonSpecies) => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden() && originalSpeciesFilter(species); - return (scene: BattleScene, level: integer, strength: PartyMemberStrength) => { - const ret = scene.addEnemyPokemon(getPokemonSpecies(scene.randomSpecies(scene.currentBattle.waveIndex, level, false, speciesFilter).getTrainerSpeciesForLevel(level, true, strength, scene.currentBattle.waveIndex)), level, trainerSlot, undefined, undefined, postProcess); - return ret; - }; -} - -function getRandomTeraModifiers(party: EnemyPokemon[], count: integer, types?: Type[]): PersistentModifier[] { - const ret: PersistentModifier[] = []; - const partyMemberIndexes = new Array(party.length).fill(null).map((_, i) => i); - for (let t = 0; t < Math.min(count, party.length); t++) { - const randomIndex = Utils.randSeedItem(partyMemberIndexes); - partyMemberIndexes.splice(partyMemberIndexes.indexOf(randomIndex), 1); - ret.push(modifierTypes.TERA_SHARD().generateType([], [Utils.randSeedItem(types ? types : party[randomIndex].getTypes())])!.withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(party[randomIndex]) as PersistentModifier); // TODO: is the bang correct? - } - return ret; -} - -type SignatureSpecies = { - [key in string]: (Species | Species[])[]; -}; - -/* - * The signature species for each Gym Leader, Elite Four member, and Champion. - * The key is the trainer type, and the value is an array of Species or Species arrays. - * This is in a separate const so it can be accessed from other places and not just the trainerConfigs - */ -export const signatureSpecies: SignatureSpecies = { - BROCK: [Species.GEODUDE, Species.ONIX], - MISTY: [Species.STARYU, Species.PSYDUCK], - LT_SURGE: [Species.VOLTORB, Species.PIKACHU, Species.ELECTABUZZ], - ERIKA: [Species.ODDISH, Species.BELLSPROUT, Species.TANGELA, Species.HOPPIP], - JANINE: [Species.VENONAT, Species.SPINARAK, Species.ZUBAT], - SABRINA: [Species.ABRA, Species.MR_MIME, Species.ESPEON], - BLAINE: [Species.GROWLITHE, Species.PONYTA, Species.MAGMAR], - GIOVANNI: [Species.SANDILE, Species.MURKROW, Species.NIDORAN_M, Species.NIDORAN_F], - FALKNER: [Species.PIDGEY, Species.HOOTHOOT, Species.DODUO], - BUGSY: [Species.SCYTHER, Species.HERACROSS, Species.SHUCKLE, Species.PINSIR], - WHITNEY: [Species.GIRAFARIG, Species.MILTANK], - MORTY: [Species.GASTLY, Species.MISDREAVUS, Species.SABLEYE], - CHUCK: [Species.POLIWRATH, Species.MANKEY], - JASMINE: [Species.MAGNEMITE, Species.STEELIX], - PRYCE: [Species.SEEL, Species.SWINUB], - CLAIR: [Species.DRATINI, Species.HORSEA, Species.GYARADOS], - ROXANNE: [Species.GEODUDE, Species.NOSEPASS], - BRAWLY: [Species.MACHOP, Species.MAKUHITA], - WATTSON: [Species.MAGNEMITE, Species.VOLTORB, Species.ELECTRIKE], - FLANNERY: [Species.SLUGMA, Species.TORKOAL, Species.NUMEL], - NORMAN: [Species.SLAKOTH, Species.SPINDA, Species.CHANSEY, Species.KANGASKHAN], - WINONA: [Species.SWABLU, Species.WINGULL, Species.TROPIUS, Species.SKARMORY], - TATE: [Species.SOLROCK, Species.NATU, Species.CHIMECHO, Species.GALLADE], - LIZA: [Species.LUNATONE, Species.SPOINK, Species.BALTOY, Species.GARDEVOIR], - JUAN: [Species.HORSEA, Species.BARBOACH, Species.SPHEAL, Species.RELICANTH], - ROARK: [Species.CRANIDOS, Species.LARVITAR, Species.GEODUDE], - GARDENIA: [Species.ROSELIA, Species.TANGELA, Species.TURTWIG], - MAYLENE: [Species.LUCARIO, Species.MEDITITE, Species.CHIMCHAR], - CRASHER_WAKE: [Species.BUIZEL, Species.MAGIKARP, Species.PIPLUP], - FANTINA: [Species.MISDREAVUS, Species.DRIFLOON, Species.SPIRITOMB], - BYRON: [Species.SHIELDON, Species.BRONZOR, Species.AGGRON], - CANDICE: [Species.SNEASEL, Species.SNOVER, Species.SNORUNT], - VOLKNER: [Species.SHINX, Species.CHINCHOU, Species.ROTOM], - CILAN: [Species.PANSAGE, Species.COTTONEE, Species.PETILIL], - CHILI: [Species.PANSEAR, Species.DARUMAKA, Species.HEATMOR], - CRESS: [Species.PANPOUR, Species.BASCULIN, Species.TYMPOLE], - CHEREN: [Species.LILLIPUP, Species.MINCCINO, Species.PATRAT], - LENORA: [Species.KANGASKHAN, Species.DEERLING, Species.AUDINO], - ROXIE: [Species.VENIPEDE, Species.TRUBBISH, Species.SKORUPI], - BURGH: [Species.SEWADDLE, Species.SHELMET, Species.KARRABLAST], - ELESA: [Species.EMOLGA, Species.BLITZLE, Species.JOLTIK], - CLAY: [Species.DRILBUR, Species.SANDILE, Species.GOLETT], - SKYLA: [Species.DUCKLETT, Species.WOOBAT, Species.RUFFLET], - BRYCEN: [Species.CRYOGONAL, Species.VANILLITE, Species.CUBCHOO], - DRAYDEN: [Species.DRUDDIGON, Species.AXEW, Species.DEINO], - MARLON: [Species.WAILMER, Species.FRILLISH, Species.TIRTOUGA], - VIOLA: [Species.SURSKIT, Species.SCATTERBUG], - GRANT: [Species.AMAURA, Species.TYRUNT], - KORRINA: [Species.HAWLUCHA, Species.LUCARIO, Species.MIENFOO], - RAMOS: [Species.SKIDDO, Species.HOPPIP, Species.BELLSPROUT], - CLEMONT: [Species.HELIOPTILE, Species.MAGNEMITE, Species.EMOLGA], - VALERIE: [Species.SYLVEON, Species.MAWILE, Species.MR_MIME], - OLYMPIA: [Species.ESPURR, Species.SIGILYPH, Species.SLOWKING], - WULFRIC: [Species.BERGMITE, Species.SNOVER, Species.CRYOGONAL], - MILO: [Species.GOSSIFLEUR, Species.APPLIN, Species.BOUNSWEET], - NESSA: [Species.CHEWTLE, Species.ARROKUDA, Species.WIMPOD], - KABU: [Species.SIZZLIPEDE, Species.VULPIX, Species.TORKOAL], - BEA: [Species.GALAR_FARFETCHD, Species.MACHOP, Species.CLOBBOPUS], - ALLISTER: [Species.GALAR_YAMASK, Species.GALAR_CORSOLA, Species.GASTLY], - OPAL: [Species.MILCERY, Species.TOGETIC, Species.GALAR_WEEZING], - BEDE: [Species.HATENNA, Species.GALAR_PONYTA, Species.GARDEVOIR], - GORDIE: [Species.ROLYCOLY, Species.STONJOURNER, Species.BINACLE], - MELONY: [Species.SNOM, Species.GALAR_DARUMAKA, Species.GALAR_MR_MIME], - PIERS: [Species.GALAR_ZIGZAGOON, Species.SCRAGGY, Species.INKAY], - MARNIE: [Species.IMPIDIMP, Species.PURRLOIN, Species.MORPEKO], - RAIHAN: [Species.DURALUDON, Species.TURTONATOR, Species.GOOMY], - KATY: [Species.NYMBLE, Species.TAROUNTULA, Species.HERACROSS], - BRASSIUS: [Species.SMOLIV, Species.SHROOMISH, Species.ODDISH], - IONO: [Species.TADBULB, Species.WATTREL, Species.VOLTORB], - KOFU: [Species.VELUZA, Species.WIGLETT, Species.WINGULL], - LARRY: [Species.STARLY, Species.DUNSPARCE, Species.KOMALA], - RYME: [Species.GREAVARD, Species.SHUPPET, Species.MIMIKYU], - TULIP: [Species.GIRAFARIG, Species.FLITTLE, Species.RALTS], - GRUSHA: [Species.CETODDLE, Species.ALOLA_VULPIX, Species.CUBCHOO], - LORELEI: [Species.JYNX, [Species.SLOWBRO, Species.GALAR_SLOWBRO], Species.LAPRAS, [Species.ALOLA_SANDSLASH, Species.CLOYSTER]], - BRUNO: [Species.MACHAMP, Species.HITMONCHAN, Species.HITMONLEE, [Species.ALOLA_GOLEM, Species.GOLEM]], - AGATHA: [Species.GENGAR, [Species.ARBOK, Species.WEEZING], Species.CROBAT, Species.ALOLA_MAROWAK], - LANCE: [Species.DRAGONITE, Species.GYARADOS, Species.AERODACTYL, Species.ALOLA_EXEGGUTOR], - WILL: [Species.XATU, Species.JYNX, [Species.SLOWBRO, Species.SLOWKING], Species.EXEGGUTOR], - KOGA: [[Species.WEEZING, Species.MUK], [Species.VENOMOTH, Species.ARIADOS], Species.CROBAT, Species.TENTACRUEL], - KAREN: [Species.UMBREON, Species.HONCHKROW, Species.HOUNDOOM, Species.WEAVILE], - SIDNEY: [[Species.SHIFTRY, Species.CACTURNE], [Species.SHARPEDO, Species.CRAWDAUNT], Species.ABSOL, Species.MIGHTYENA], - PHOEBE: [Species.SABLEYE, Species.DUSKNOIR, Species.BANETTE, [Species.MISMAGIUS, Species.DRIFBLIM]], - GLACIA: [Species.GLALIE, Species.WALREIN, Species.FROSLASS, Species.ABOMASNOW], - DRAKE: [Species.ALTARIA, Species.SALAMENCE, Species.FLYGON, Species.KINGDRA], - AARON: [[Species.SCIZOR, Species.KLEAVOR], Species.HERACROSS, [Species.VESPIQUEN, Species.YANMEGA], Species.DRAPION], - BERTHA: [Species.WHISCASH, Species.HIPPOWDON, Species.GLISCOR, Species.RHYPERIOR], - FLINT: [[Species.FLAREON, Species.RAPIDASH], Species.MAGMORTAR, [Species.STEELIX, Species.LOPUNNY], Species.INFERNAPE], - LUCIAN: [Species.MR_MIME, Species.GALLADE, Species.BRONZONG, [Species.ALAKAZAM, Species.ESPEON]], - SHAUNTAL: [Species.COFAGRIGUS, Species.CHANDELURE, Species.GOLURK, Species.JELLICENT], - MARSHAL: [Species.CONKELDURR, Species.MIENSHAO, Species.THROH, Species.SAWK], - GRIMSLEY: [Species.LIEPARD, Species.KINGAMBIT, Species.SCRAFTY, Species.KROOKODILE], - CAITLIN: [Species.MUSHARNA, Species.GOTHITELLE, Species.SIGILYPH, Species.REUNICLUS], - MALVA: [Species.PYROAR, Species.TORKOAL, Species.CHANDELURE, Species.TALONFLAME], - SIEBOLD: [Species.CLAWITZER, Species.GYARADOS, Species.BARBARACLE, Species.STARMIE], - WIKSTROM: [Species.KLEFKI, Species.PROBOPASS, Species.SCIZOR, Species.AEGISLASH], - DRASNA: [Species.DRAGALGE, Species.DRUDDIGON, Species.ALTARIA, Species.NOIVERN], - HALA: [Species.HARIYAMA, Species.BEWEAR, Species.CRABOMINABLE, [Species.POLIWRATH, Species.ANNIHILAPE]], - MOLAYNE: [Species.KLEFKI, Species.MAGNEZONE, Species.METAGROSS, Species.ALOLA_DUGTRIO], - OLIVIA: [Species.RELICANTH, Species.CARBINK, Species.ALOLA_GOLEM, Species.LYCANROC], - ACEROLA: [[Species.BANETTE, Species.DRIFBLIM], Species.MIMIKYU, Species.DHELMISE, Species.PALOSSAND], - KAHILI: [[Species.BRAVIARY, Species.MANDIBUZZ], Species.HAWLUCHA, Species.ORICORIO, Species.TOUCANNON], - MARNIE_ELITE: [Species.MORPEKO, Species.LIEPARD, [Species.TOXICROAK, Species.SCRAFTY], Species.GRIMMSNARL], - NESSA_ELITE: [Species.GOLISOPOD, [Species.PELIPPER, Species.QUAGSIRE], Species.TOXAPEX, Species.DREDNAW], - BEA_ELITE: [Species.HAWLUCHA, [Species.GRAPPLOCT, Species.SIRFETCHD], Species.FALINKS, Species.MACHAMP], - ALLISTER_ELITE: [Species.DUSKNOIR, [Species.POLTEAGEIST, Species.RUNERIGUS], Species.CURSOLA, Species.GENGAR], - RAIHAN_ELITE: [Species.GOODRA, [Species.TORKOAL, Species.TURTONATOR], Species.FLYGON, Species.ARCHALUDON], - RIKA: [Species.WHISCASH, [Species.DONPHAN, Species.DUGTRIO], Species.CAMERUPT, Species.CLODSIRE], - POPPY: [Species.COPPERAJAH, Species.BRONZONG, Species.CORVIKNIGHT, Species.TINKATON], - LARRY_ELITE: [Species.STARAPTOR, Species.FLAMIGO, Species.ALTARIA, Species.TROPIUS], - HASSEL: [Species.NOIVERN, [Species.FLAPPLE, Species.APPLETUN], Species.DRAGALGE, Species.BAXCALIBUR], - CRISPIN: [Species.TALONFLAME, Species.CAMERUPT, Species.MAGMORTAR, Species.BLAZIKEN], - AMARYS: [Species.SKARMORY, Species.EMPOLEON, Species.SCIZOR, Species.METAGROSS], - LACEY: [Species.EXCADRILL, Species.PRIMARINA, [Species.ALCREMIE, Species.GRANBULL], Species.WHIMSICOTT], - DRAYTON: [Species.DRAGONITE, Species.ARCHALUDON, Species.HAXORUS, Species.SCEPTILE], - BLUE: [[Species.GYARADOS, Species.EXEGGUTOR, Species.ARCANINE], Species.HO_OH, [Species.RHYPERIOR, Species.MAGNEZONE]], // Alakazam lead, Mega Pidgeot - RED: [Species.LUGIA, Species.SNORLAX, [Species.ESPEON, Species.UMBREON, Species.SYLVEON]], // GMax Pikachu lead, Mega gen 1 starter - LANCE_CHAMPION: [Species.DRAGONITE, Species.KINGDRA, Species.ALOLA_EXEGGUTOR], // Aerodactyl lead, Mega Latias/Latios - STEVEN: [Species.AGGRON, [Species.ARMALDO, Species.CRADILY], Species.DIALGA], // Skarmory lead, Mega Metagross - WALLACE: [Species.MILOTIC, Species.PALKIA, Species.LUDICOLO], // Pelipper lead, Mega Swampert - CYNTHIA: [Species.GIRATINA, Species.LUCARIO, Species.TOGEKISS], // Spiritomb lead, Mega Garchomp - ALDER: [Species.VOLCARONA, Species.ZEKROM, [Species.ACCELGOR, Species.ESCAVALIER], Species.KELDEO], // Bouffalant/Braviary lead - IRIS: [Species.HAXORUS, Species.RESHIRAM, Species.ARCHEOPS], // Druddigon lead, Gmax Lapras - DIANTHA: [Species.HAWLUCHA, Species.XERNEAS, Species.GOODRA], // Gourgeist lead, Mega Gardevoir - HAU: [[Species.SOLGALEO, Species.LUNALA], Species.NOIVERN, [Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA], [Species.TAPU_BULU, Species.TAPU_FINI, Species.TAPU_KOKO, Species.TAPU_LELE]], // Alola Raichu lead - LEON: [Species.DRAGAPULT, [Species.ZACIAN, Species.ZAMAZENTA], Species.AEGISLASH], // Rillaboom/Cinderace/Inteleon lead, GMax Charizard - GEETA: [Species.MIRAIDON, [Species.ESPATHRA, Species.VELUZA], [Species.AVALUGG, Species.HISUI_AVALUGG], Species.KINGAMBIT], // Glimmora lead - NEMONA: [Species.KORAIDON, Species.PAWMOT, [Species.DUDUNSPARCE, Species.ORTHWORM], [Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL]], // Lycanroc lead - KIERAN: [[Species.GRIMMSNARL, Species.INCINEROAR, Species.PORYGON_Z], Species.OGERPON, Species.TERAPAGOS, Species.HYDRAPPLE], // Poliwrath/Politoed lead -}; - -export const trainerConfigs: TrainerConfigs = { - [TrainerType.UNKNOWN]: new TrainerConfig(0).setHasGenders(), - [TrainerType.ACE_TRAINER]: new TrainerConfig(++t).setHasGenders("Ace Trainer Female").setHasDouble("Ace Duo").setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.ACE_TRAINER) - .setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.THREE_WEAK_BALANCED, trainerPartyTemplates.FOUR_WEAK_BALANCED, trainerPartyTemplates.FIVE_WEAK_BALANCED, trainerPartyTemplates.SIX_WEAK_BALANCED)), - [TrainerType.ARTIST]: new TrainerConfig(++t).setEncounterBgm(TrainerType.RICH).setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.THREE_AVG) - .setSpeciesPools([Species.SMEARGLE]), - [TrainerType.BACKERS]: new TrainerConfig(++t).setHasGenders("Backers").setDoubleOnly().setEncounterBgm(TrainerType.CYCLIST), - [TrainerType.BACKPACKER]: new TrainerConfig(++t).setHasGenders("Backpacker Female").setHasDouble("Backpackers").setSpeciesFilter(s => s.isOfType(Type.FLYING) || s.isOfType(Type.ROCK)).setEncounterBgm(TrainerType.BACKPACKER) - .setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.ONE_WEAK_ONE_STRONG, trainerPartyTemplates.ONE_AVG_ONE_STRONG) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.RHYHORN, Species.AIPOM, Species.MAKUHITA, Species.MAWILE, Species.NUMEL, Species.LILLIPUP, Species.SANDILE, Species.WOOLOO], - [TrainerPoolTier.UNCOMMON]: [Species.GIRAFARIG, Species.ZANGOOSE, Species.SEVIPER, Species.CUBCHOO, Species.PANCHAM, Species.SKIDDO, Species.MUDBRAY], - [TrainerPoolTier.RARE]: [Species.TAUROS, Species.STANTLER, Species.DARUMAKA, Species.BOUFFALANT, Species.DEERLING, Species.IMPIDIMP], - [TrainerPoolTier.SUPER_RARE]: [Species.GALAR_DARUMAKA, Species.TEDDIURSA] - }), - [TrainerType.BAKER]: new TrainerConfig(++t).setEncounterBgm(TrainerType.CLERK).setMoneyMultiplier(1.35).setSpeciesFilter(s => s.isOfType(Type.GRASS) || s.isOfType(Type.FIRE)), - [TrainerType.BEAUTY]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.PARASOL_LADY), - [TrainerType.BIKER]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.POISON)), - [TrainerType.BLACK_BELT]: new TrainerConfig(++t).setHasGenders("Battle Girl", TrainerType.PSYCHIC).setHasDouble("Crush Kin").setEncounterBgm(TrainerType.ROUGHNECK).setSpecialtyTypes(Type.FIGHTING) - .setPartyTemplates(trainerPartyTemplates.TWO_WEAK_ONE_AVG, trainerPartyTemplates.TWO_WEAK_ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_ONE_STRONG, trainerPartyTemplates.THREE_AVG, trainerPartyTemplates.TWO_AVG_ONE_STRONG) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.NIDORAN_F, Species.NIDORAN_M, Species.MACHOP, Species.MAKUHITA, Species.MEDITITE, Species.CROAGUNK, Species.TIMBURR], - [TrainerPoolTier.UNCOMMON]: [Species.MANKEY, Species.POLIWRATH, Species.TYROGUE, Species.BRELOOM, Species.SCRAGGY, Species.MIENFOO, Species.PANCHAM, Species.STUFFUL, Species.CRABRAWLER], - [TrainerPoolTier.RARE]: [Species.HERACROSS, Species.RIOLU, Species.THROH, Species.SAWK, Species.PASSIMIAN, Species.CLOBBOPUS], - [TrainerPoolTier.SUPER_RARE]: [Species.HITMONTOP, Species.INFERNAPE, Species.GALLADE, Species.HAWLUCHA, Species.HAKAMO_O], - [TrainerPoolTier.ULTRA_RARE]: [Species.KUBFU] - }), - [TrainerType.BREEDER]: new TrainerConfig(++t).setMoneyMultiplier(1.325).setEncounterBgm(TrainerType.POKEFAN).setHasGenders("Breeder Female").setHasDouble("Breeders") - .setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.FOUR_WEAKER, trainerPartyTemplates.FIVE_WEAKER, trainerPartyTemplates.SIX_WEAKER)) - .setSpeciesFilter(s => s.baseTotal < 450), - [TrainerType.CLERK]: new TrainerConfig(++t).setHasGenders("Clerk Female").setHasDouble("Colleagues").setEncounterBgm(TrainerType.CLERK) - .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.THREE_WEAK, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_ONE_AVG) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.MEOWTH, Species.PSYDUCK, Species.BUDEW, Species.PIDOVE, Species.CINCCINO, Species.LITLEO], - [TrainerPoolTier.UNCOMMON]: [Species.JIGGLYPUFF, Species.MAGNEMITE, Species.MARILL, Species.COTTONEE, Species.SKIDDO], - [TrainerPoolTier.RARE]: [Species.BUIZEL, Species.SNEASEL, Species.KLEFKI, Species.INDEEDEE] - }), - [TrainerType.CYCLIST]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setHasGenders("Cyclist Female").setHasDouble("Cyclists").setEncounterBgm(TrainerType.CYCLIST) - .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.PICHU, Species.STARLY, Species.TAILLOW, Species.BOLTUND], - [TrainerPoolTier.UNCOMMON]: [Species.DODUO, Species.ELECTRIKE, Species.BLITZLE, Species.WATTREL], - [TrainerPoolTier.RARE]: [Species.YANMA, Species.NINJASK, Species.WHIRLIPEDE, Species.EMOLGA], - [TrainerPoolTier.SUPER_RARE]: [Species.ACCELGOR, Species.DREEPY] - }), - [TrainerType.DANCER]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.CYCLIST) - .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.RALTS, Species.SPOINK, Species.LOTAD, Species.BUDEW], - [TrainerPoolTier.UNCOMMON]: [Species.SPINDA, Species.SWABLU, Species.MARACTUS,], - [TrainerPoolTier.RARE]: [Species.BELLOSSOM, Species.HITMONTOP, Species.MIME_JR, Species.ORICORIO], - [TrainerPoolTier.SUPER_RARE]: [Species.POPPLIO] - }), - [TrainerType.DEPOT_AGENT]: new TrainerConfig(++t).setMoneyMultiplier(1.45).setEncounterBgm(TrainerType.CLERK), - [TrainerType.DOCTOR]: new TrainerConfig(++t).setHasGenders("Nurse", "lass").setHasDouble("Medical Team").setMoneyMultiplier(3).setEncounterBgm(TrainerType.CLERK) - .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.HEAL_PULSE)), - [TrainerType.FIREBREATHER]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK) - .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.SMOG) || s.isOfType(Type.FIRE)), - [TrainerType.FISHERMAN]: new TrainerConfig(++t).setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.BACKPACKER).setSpecialtyTypes(Type.WATER) - .setPartyTemplates(trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.THREE_WEAK_SAME, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.SIX_WEAKER) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.TENTACOOL, Species.MAGIKARP, Species.GOLDEEN, Species.STARYU, Species.REMORAID, Species.SKRELP, Species.CLAUNCHER, Species.ARROKUDA], - [TrainerPoolTier.UNCOMMON]: [Species.POLIWAG, Species.SHELLDER, Species.KRABBY, Species.HORSEA, Species.CARVANHA, Species.BARBOACH, Species.CORPHISH, Species.FINNEON, Species.TYMPOLE, Species.BASCULIN, Species.FRILLISH, Species.INKAY], - [TrainerPoolTier.RARE]: [Species.CHINCHOU, Species.CORSOLA, Species.WAILMER, Species.BARBOACH, Species.CLAMPERL, Species.LUVDISC, Species.MANTYKE, Species.ALOMOMOLA, Species.TATSUGIRI, Species.VELUZA], - [TrainerPoolTier.SUPER_RARE]: [Species.LAPRAS, Species.FEEBAS, Species.RELICANTH, Species.DONDOZO] - }), - [TrainerType.GUITARIST]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.ROUGHNECK).setSpecialtyTypes(Type.ELECTRIC).setSpeciesFilter(s => s.isOfType(Type.ELECTRIC)), - [TrainerType.HARLEQUIN]: new TrainerConfig(++t).setEncounterBgm(TrainerType.PSYCHIC).setSpeciesFilter(s => tmSpecies[Moves.TRICK_ROOM].indexOf(s.speciesId) > -1), - [TrainerType.HIKER]: new TrainerConfig(++t).setEncounterBgm(TrainerType.BACKPACKER) - .setPartyTemplates(trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG, trainerPartyTemplates.TWO_AVG_SAME_ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.FOUR_WEAK, trainerPartyTemplates.ONE_STRONG) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.SANDSHREW, Species.DIGLETT, Species.GEODUDE, Species.MACHOP, Species.ARON, Species.ROGGENROLA, Species.DRILBUR, Species.NACLI], - [TrainerPoolTier.UNCOMMON]: [Species.ZUBAT, Species.RHYHORN, Species.ONIX, Species.CUBONE, Species.WOOBAT, Species.SWINUB, Species.NOSEPASS, Species.HIPPOPOTAS, Species.DWEBBLE, Species.KLAWF, Species.TOEDSCOOL], - [TrainerPoolTier.RARE]: [Species.TORKOAL, Species.TRAPINCH, Species.BARBOACH, Species.GOLETT, Species.ALOLA_DIGLETT, Species.ALOLA_GEODUDE, Species.GALAR_STUNFISK, Species.PALDEA_WOOPER], - [TrainerPoolTier.SUPER_RARE]: [Species.MAGBY, Species.LARVITAR] - }), - [TrainerType.HOOLIGANS]: new TrainerConfig(++t).setDoubleOnly().setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.POISON) || s.isOfType(Type.DARK)), - [TrainerType.HOOPSTER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), - [TrainerType.INFIELDER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), - [TrainerType.JANITOR]: new TrainerConfig(++t).setMoneyMultiplier(1.1).setEncounterBgm(TrainerType.CLERK), - [TrainerType.LINEBACKER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), - [TrainerType.MAID]: new TrainerConfig(++t).setMoneyMultiplier(1.6).setEncounterBgm(TrainerType.RICH), - [TrainerType.MUSICIAN]: new TrainerConfig(++t).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.SING)), - [TrainerType.HEX_MANIAC]: new TrainerConfig(++t).setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PSYCHIC) - .setPartyTemplates(trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.ONE_AVG_ONE_STRONG, trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG, trainerPartyTemplates.THREE_AVG, trainerPartyTemplates.TWO_STRONG) - .setSpeciesFilter(s => s.isOfType(Type.GHOST)), - [TrainerType.NURSERY_AIDE]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setEncounterBgm("lass"), - [TrainerType.OFFICER]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.CLERK) - .setPartyTemplates(trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.VULPIX, Species.GROWLITHE, Species.SNUBBULL, Species.POOCHYENA, Species.ELECTRIKE, Species.LILLIPUP, Species.YAMPER, Species.FIDOUGH], - [TrainerPoolTier.UNCOMMON]: [Species.HOUNDOUR, Species.ROCKRUFF, Species.MASCHIFF], - [TrainerPoolTier.RARE]: [Species.JOLTEON, Species.RIOLU], - [TrainerPoolTier.SUPER_RARE]: [], - [TrainerPoolTier.ULTRA_RARE]: [Species.ENTEI, Species.SUICUNE, Species.RAIKOU] - }), - [TrainerType.PARASOL_LADY]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.PARASOL_LADY).setSpeciesFilter(s => s.isOfType(Type.WATER)), - [TrainerType.PILOT]: new TrainerConfig(++t).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => tmSpecies[Moves.FLY].indexOf(s.speciesId) > -1), - [TrainerType.POKEFAN]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setName("PokéFan").setHasGenders("PokéFan Female").setHasDouble("PokéFan Family").setEncounterBgm(TrainerType.POKEFAN) - .setPartyTemplates(trainerPartyTemplates.SIX_WEAKER, trainerPartyTemplates.FOUR_WEAK, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.FOUR_WEAK_SAME, trainerPartyTemplates.FIVE_WEAK, trainerPartyTemplates.SIX_WEAKER_SAME), - [TrainerType.PRESCHOOLER]: new TrainerConfig(++t).setMoneyMultiplier(0.2).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders("Preschooler Female", "lass").setHasDouble("Preschoolers") - .setPartyTemplates(trainerPartyTemplates.THREE_WEAK, trainerPartyTemplates.FOUR_WEAKER, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.FIVE_WEAKER) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.CATERPIE, Species.PICHU, Species.SANDSHREW, Species.LEDYBA, Species.BUDEW, Species.BURMY, Species.WOOLOO, Species.PAWMI, Species.SMOLIV], - [TrainerPoolTier.UNCOMMON]: [Species.EEVEE, Species.CLEFFA, Species.IGGLYBUFF, Species.SWINUB, Species.WOOPER, Species.DRIFLOON, Species.DEDENNE, Species.STUFFUL], - [TrainerPoolTier.RARE]: [Species.RALTS, Species.RIOLU, Species.JOLTIK, Species.TANDEMAUS], - [TrainerPoolTier.SUPER_RARE]: [Species.DARUMAKA, Species.TINKATINK], - }), - [TrainerType.PSYCHIC]: new TrainerConfig(++t).setHasGenders("Psychic Female").setHasDouble("Psychics").setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.PSYCHIC) - .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME, trainerPartyTemplates.ONE_STRONGER) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.ABRA, Species.DROWZEE, Species.RALTS, Species.SPOINK, Species.GOTHITA, Species.SOLOSIS, Species.BLIPBUG, Species.ESPURR, Species.HATENNA], - [TrainerPoolTier.UNCOMMON]: [Species.MIME_JR, Species.EXEGGCUTE, Species.MEDITITE, Species.NATU, Species.EXEGGCUTE, Species.WOOBAT, Species.INKAY, Species.ORANGURU], - [TrainerPoolTier.RARE]: [Species.ELGYEM, Species.SIGILYPH, Species.BALTOY, Species.GIRAFARIG, Species.MEOWSTIC], - [TrainerPoolTier.SUPER_RARE]: [Species.BELDUM, Species.ESPEON, Species.STANTLER], - }), - [TrainerType.RANGER]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setName("Pokémon Ranger").setEncounterBgm(TrainerType.BACKPACKER).setHasGenders("Pokémon Ranger Female").setHasDouble("Pokémon Rangers") - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.PICHU, Species.GROWLITHE, Species.PONYTA, Species.ZIGZAGOON, Species.SEEDOT, Species.BIDOOF, Species.RIOLU, Species.SEWADDLE, Species.SKIDDO, Species.SALANDIT, Species.YAMPER], - [TrainerPoolTier.UNCOMMON]: [Species.AZURILL, Species.TAUROS, Species.MAREEP, Species.FARFETCHD, Species.TEDDIURSA, Species.SHROOMISH, Species.ELECTRIKE, Species.BUDEW, Species.BUIZEL, Species.MUDBRAY, Species.STUFFUL], - [TrainerPoolTier.RARE]: [Species.EEVEE, Species.SCYTHER, Species.KANGASKHAN, Species.RALTS, Species.MUNCHLAX, Species.ZORUA, Species.PALDEA_TAUROS, Species.TINKATINK, Species.CYCLIZAR, Species.FLAMIGO], - [TrainerPoolTier.SUPER_RARE]: [Species.LARVESTA], - }), - [TrainerType.RICH]: new TrainerConfig(++t).setMoneyMultiplier(5).setName("Gentleman").setHasGenders("Madame").setHasDouble("Rich Couple"), - [TrainerType.RICH_KID]: new TrainerConfig(++t).setMoneyMultiplier(3.75).setName("Rich Boy").setHasGenders("Lady").setHasDouble("Rich Kids").setEncounterBgm(TrainerType.RICH), - [TrainerType.ROUGHNECK]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.DARK)), - [TrainerType.SAILOR]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.BACKPACKER).setSpeciesFilter(s => s.isOfType(Type.WATER) || s.isOfType(Type.FIGHTING)), - [TrainerType.SCIENTIST]: new TrainerConfig(++t).setHasGenders("Scientist Female").setHasDouble("Scientists").setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.SCIENTIST) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.MAGNEMITE, Species.GRIMER, Species.DROWZEE, Species.VOLTORB, Species.KOFFING], - [TrainerPoolTier.UNCOMMON]: [Species.BALTOY, Species.BRONZOR, Species.FERROSEED, Species.KLINK, Species.CHARJABUG, Species.BLIPBUG, Species.HELIOPTILE], - [TrainerPoolTier.RARE]: [Species.ABRA, Species.DITTO, Species.PORYGON, Species.ELEKID, Species.SOLOSIS, Species.GALAR_WEEZING], - [TrainerPoolTier.SUPER_RARE]: [Species.OMANYTE, Species.KABUTO, Species.AERODACTYL, Species.LILEEP, Species.ANORITH, Species.CRANIDOS, Species.SHIELDON, Species.TIRTOUGA, Species.ARCHEN, Species.ARCTOVISH, Species.ARCTOZOLT, Species.DRACOVISH, Species.DRACOZOLT], - [TrainerPoolTier.ULTRA_RARE]: [Species.ROTOM, Species.MELTAN] - }), - [TrainerType.SMASHER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), - [TrainerType.SNOW_WORKER]: new TrainerConfig(++t).setName("Worker").setHasGenders("Worker Female").setHasDouble("Workers").setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => s.isOfType(Type.ICE) || s.isOfType(Type.STEEL)), - [TrainerType.STRIKER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), - [TrainerType.SCHOOL_KID]: new TrainerConfig(++t).setMoneyMultiplier(0.75).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders("School Kid Female", "lass").setHasDouble("School Kids") - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.ODDISH, Species.EXEGGCUTE, Species.TEDDIURSA, Species.WURMPLE, Species.RALTS, Species.SHROOMISH, Species.FLETCHLING], - [TrainerPoolTier.UNCOMMON]: [Species.VOLTORB, Species.WHISMUR, Species.MEDITITE, Species.MIME_JR, Species.NYMBLE], - [TrainerPoolTier.RARE]: [Species.TANGELA, Species.EEVEE, Species.YANMA], - [TrainerPoolTier.SUPER_RARE]: [Species.TADBULB] - }), - [TrainerType.SWIMMER]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setEncounterBgm(TrainerType.PARASOL_LADY).setHasGenders("Swimmer Female").setHasDouble("Swimmers").setSpecialtyTypes(Type.WATER).setSpeciesFilter(s => s.isOfType(Type.WATER)), - [TrainerType.TWINS]: new TrainerConfig(++t).setDoubleOnly().setMoneyMultiplier(0.65).setUseSameSeedForAllMembers() - .setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_STRONG)) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PLUSLE, Species.VOLBEAT, Species.PACHIRISU, Species.SILCOON, Species.METAPOD, Species.IGGLYBUFF, Species.PETILIL, Species.EEVEE])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.MINUN, Species.ILLUMISE, Species.EMOLGA, Species.CASCOON, Species.KAKUNA, Species.CLEFFA, Species.COTTONEE, Species.EEVEE], TrainerSlot.TRAINER_PARTNER)) - .setEncounterBgm(TrainerType.TWINS), - [TrainerType.VETERAN]: new TrainerConfig(++t).setHasGenders("Veteran Female").setHasDouble("Veteran Duo").setMoneyMultiplier(2.5).setEncounterBgm(TrainerType.ACE_TRAINER).setSpeciesFilter(s => s.isOfType(Type.DRAGON)), - [TrainerType.WAITER]: new TrainerConfig(++t).setHasGenders("Waitress").setHasDouble("Restaurant Staff").setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.CLERK) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.CLEFFA, Species.CHATOT, Species.PANSAGE, Species.PANSEAR, Species.PANPOUR, Species.MINCCINO], - [TrainerPoolTier.UNCOMMON]: [Species.TROPIUS, Species.PETILIL, Species.BOUNSWEET, Species.INDEEDEE], - [TrainerPoolTier.RARE]: [Species.APPLIN, Species.SINISTEA, Species.POLTCHAGEIST] - }), - [TrainerType.WORKER]: new TrainerConfig(++t).setHasGenders("Worker Female").setHasDouble("Workers").setEncounterBgm(TrainerType.CLERK).setMoneyMultiplier(1.7).setSpeciesFilter(s => s.isOfType(Type.ROCK) || s.isOfType(Type.STEEL)), - [TrainerType.YOUNGSTER]: new TrainerConfig(++t).setMoneyMultiplier(0.5).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders("Lass", "lass").setHasDouble("Beginners").setPartyTemplates(trainerPartyTemplates.TWO_WEAKER) - .setSpeciesPools( - [Species.CATERPIE, Species.WEEDLE, Species.RATTATA, Species.SENTRET, Species.POOCHYENA, Species.ZIGZAGOON, Species.WURMPLE, Species.BIDOOF, Species.PATRAT, Species.LILLIPUP] - ), - [TrainerType.ROCKET_GRUNT]: new TrainerConfig(++t).setHasGenders("Rocket Grunt Female").setHasDouble("Rocket Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.WEEDLE, Species.RATTATA, Species.EKANS, Species.SANDSHREW, Species.ZUBAT, Species.GEODUDE, Species.KOFFING, Species.GRIMER, Species.ODDISH], - [TrainerPoolTier.UNCOMMON]: [Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], - [TrainerPoolTier.RARE]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], - [TrainerPoolTier.SUPER_RARE]: [Species.DRATINI, Species.LARVITAR] - }), - [TrainerType.ARCHER]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin", "rocket", [Species.HOUNDOOM]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.ARIANA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin_female", "rocket", [Species.ARBOK]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.PROTON]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin", "rocket", [Species.CROBAT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.PETREL]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin", "rocket", [Species.WEEZING]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.MAGMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Magma Grunt Female").setHasDouble("Magma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.SLUGMA, Species.POOCHYENA, Species.NUMEL, Species.ZIGZAGOON, Species.DIGLETT, Species.MAGBY, Species.TORKOAL, Species.BALTOY, Species.BARBOACH], - [TrainerPoolTier.UNCOMMON]: [Species.SOLROCK, Species.HIPPOPOTAS, Species.SANDACONDA, Species.PHANPY, Species.ROLYCOLY, Species.GLIGAR], - [TrainerPoolTier.RARE]: [Species.TRAPINCH, Species.HEATMOR], - [TrainerPoolTier.SUPER_RARE]: [Species.CAPSAKID, Species.CHARCADET] - }), - [TrainerType.TABITHA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("magma_admin", "magma", [Species.CAMERUPT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.COURTNEY]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("magma_admin_female", "magma", [Species.CAMERUPT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.AQUA_GRUNT]: new TrainerConfig(++t).setHasGenders("Aqua Grunt Female").setHasDouble("Aqua Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.CARVANHA, Species.WAILMER, Species.ZIGZAGOON, Species.LOTAD, Species.CORPHISH, Species.SPHEAL], - [TrainerPoolTier.UNCOMMON]: [Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH], - [TrainerPoolTier.RARE]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA], - [TrainerPoolTier.SUPER_RARE]: [Species.DONDOZO] - }), - [TrainerType.MATT]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("aqua_admin", "aqua", [Species.SHARPEDO]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.SHELLY]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("aqua_admin_female", "aqua", [Species.SHARPEDO]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.GALACTIC_GRUNT]: new TrainerConfig(++t).setHasGenders("Galactic Grunt Female").setHasDouble("Galactic Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.GLAMEOW, Species.STUNKY, Species.CROAGUNK, Species.SHINX, Species.WURMPLE, Species.BRONZOR, Species.DRIFLOON, Species.BURMY], - [TrainerPoolTier.UNCOMMON]: [Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL], - [TrainerPoolTier.RARE]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], - [TrainerPoolTier.SUPER_RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] - }), - [TrainerType.JUPITER]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("galactic_commander_female", "galactic", [Species.SKUNTANK]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_admin").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.MARS]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("galactic_commander_female", "galactic", [Species.PURUGLY]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_admin").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.SATURN]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("galactic_commander", "galactic", [Species.TOXICROAK]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_admin").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.PLASMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Plasma Grunt Female").setHasDouble("Plasma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.PATRAT, Species.LILLIPUP, Species.PURRLOIN, Species.SCRAFTY, Species.WOOBAT, Species.VANILLITE, Species.SANDILE, Species.TRUBBISH], - [TrainerPoolTier.UNCOMMON]: [Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS], - [TrainerPoolTier.RARE]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK], - [TrainerPoolTier.SUPER_RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT] - }), - [TrainerType.ZINZOLIN]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("plasma_sage", "plasma", [Species.CRYOGONAL]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.ROOD]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("plasma_sage", "plasma", [Species.SWOOBAT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.FLARE_GRUNT]: new TrainerConfig(++t).setHasGenders("Flare Grunt Female").setHasDouble("Flare Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.FLETCHLING, Species.LITLEO, Species.PONYTA, Species.INKAY, Species.HOUNDOUR, Species.SKORUPI, Species.SCRAFTY, Species.CROAGUNK], - [TrainerPoolTier.UNCOMMON]: [Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN, Species.PURRLOIN, Species.POOCHYENA, Species.SCATTERBUG], - [TrainerPoolTier.RARE]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD], - [TrainerPoolTier.SUPER_RARE]: [Species.NOIVERN, Species.DRUDDIGON] - }), - [TrainerType.BRYONY]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("flare_admin_female", "flare", [Species.LIEPARD]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.XEROSIC]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("flare_admin", "flare", [Species.MALAMAR]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.AETHER_GRUNT]: new TrainerConfig(++t).setHasGenders("Aether Grunt Female").setHasDouble("Aether Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aether_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.PIKIPEK, Species.ROCKRUFF, Species.ALOLA_DIGLETT, Species.YUNGOOS, Species.CORSOLA, Species.ALOLA_GEODUDE, Species.BOUNSWEET, Species.LILLIPUP, Species.ALOLA_MAROWAK], - [TrainerPoolTier.UNCOMMON]: [ Species.POLIWAG, Species.STUFFUL, Species.ALOLA_EXEGGUTOR, Species.CRABRAWLER, Species.CUTIEFLY, Species.ALOLA_RAICHU, Species.ORICORIO, Species.MUDBRAY], - [TrainerPoolTier.RARE]: [ Species.ORANGURU, Species.PASSIMIAN, Species.GALAR_CORSOLA, Species.ALOLA_SANDSHREW, Species.ALOLA_VULPIX, Species.TURTONATOR, Species.DRAMPA], - [TrainerPoolTier.SUPER_RARE]: [Species.JANGMO_O, Species.PORYGON] - }), - [TrainerType.FABA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("aether_admin", "aether", [Species.HYPNO]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aether_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.SKULL_GRUNT]: new TrainerConfig(++t).setHasGenders("Skull Grunt Female").setHasDouble("Skull Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_skull_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.SALANDIT, Species.ALOLA_RATTATA, Species.ALOLA_MEOWTH, Species.SCRAGGY, Species.KOFFING, Species.ALOLA_GRIMER, Species.MAREANIE, Species.SPINARAK, Species.TRUBBISH], - [TrainerPoolTier.UNCOMMON]: [ Species.FOMANTIS, Species.SABLEYE, Species.SANDILE, Species.ALOLA_MAROWAK, Species.PANCHAM, Species.DROWZEE, Species.ZUBAT, Species.VENIPEDE, Species.VULLABY], - [TrainerPoolTier.RARE]: [Species.SANDYGAST, Species.PAWNIARD, Species.MIMIKYU, Species.DHELMISE, Species.GASTLY, Species.WISHIWASHI], - [TrainerPoolTier.SUPER_RARE]: [Species.GRUBBIN, Species.DEWPIDER] - }), - [TrainerType.PLUMERIA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("skull_admin", "skull", [Species.SALAZZLE]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_skull_admin").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - [TrainerType.MACRO_GRUNT]: new TrainerConfig(++t).setHasGenders("Macro Grunt Female").setHasDouble("Macro Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_macro_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.CUFANT, Species.GALAR_MEOWTH, Species.KLINK, Species.ROOKIDEE, Species.CRAMORANT, Species.GALAR_ZIGZAGOON, Species.SKWOVET, Species.STEELIX, Species.MAWILE, Species.FERROSEED], - [TrainerPoolTier.UNCOMMON]: [ Species.DRILBUR, Species.MAGNEMITE, Species.HATENNA, Species.ARROKUDA, Species.APPLIN, Species.GALAR_PONYTA, Species.GALAR_YAMASK, Species.SINISTEA, Species.RIOLU], - [TrainerPoolTier.RARE]: [Species.FALINKS, Species.BELDUM, Species.GALAR_FARFETCHD, Species.GALAR_MR_MIME, Species.HONEDGE, Species.SCIZOR, Species.GALAR_DARUMAKA], - [TrainerPoolTier.SUPER_RARE]: [Species.DURALUDON, Species.DREEPY] - }), - [TrainerType.OLEANA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("macro_admin", "macro", [Species.GARBODOR]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_oleana").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), - - [TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader(signatureSpecies["BROCK"], true, Type.ROCK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MISTY"], false, Type.WATER).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LT_SURGE"], true, Type.ELECTRIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.ERIKA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ERIKA"], false, Type.GRASS).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.JANINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JANINE"], false, Type.POISON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.SABRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SABRINA"], false, Type.PSYCHIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.BLAINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BLAINE"], true, Type.FIRE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.GIOVANNI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GIOVANNI"], true, Type.DARK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.FALKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FALKNER"], true, Type.FLYING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.BUGSY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BUGSY"], true, Type.BUG).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.WHITNEY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WHITNEY"], false, Type.NORMAL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.MORTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MORTY"], true, Type.GHOST).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.CHUCK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHUCK"], true, Type.FIGHTING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.JASMINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JASMINE"], false, Type.STEEL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.PRYCE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PRYCE"], true, Type.ICE).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.CLAIR]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAIR"], false, Type.DRAGON).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.ROXANNE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXANNE"], false, Type.ROCK).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.BRAWLY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRAWLY"], true, Type.FIGHTING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.WATTSON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WATTSON"], true, Type.ELECTRIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.FLANNERY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FLANNERY"], false, Type.FIRE).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.NORMAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["NORMAN"], true, Type.NORMAL).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.WINONA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WINONA"], false, Type.FLYING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.TATE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TATE"], true, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("tate_liza_double").setDoubleTrainerType(TrainerType.LIZA).setDoubleTitle("gym_leader_double"), - [TrainerType.LIZA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LIZA"], false, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("liza_tate_double").setDoubleTrainerType(TrainerType.TATE).setDoubleTitle("gym_leader_double"), - [TrainerType.JUAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JUAN"], true, Type.WATER).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.ROARK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROARK"], true, Type.ROCK).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.GARDENIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GARDENIA"], false, Type.GRASS).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.MAYLENE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MAYLENE"], false, Type.FIGHTING).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.CRASHER_WAKE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRASHER_WAKE"], true, Type.WATER).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.FANTINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FANTINA"], false, Type.GHOST).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.BYRON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BYRON"], true, Type.STEEL).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.CANDICE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CANDICE"], false, Type.ICE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.VOLKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VOLKNER"], true, Type.ELECTRIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.CILAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CILAN"], true, Type.GRASS).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.CHILI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHILI"], true, Type.FIRE).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.CRESS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRESS"], true, Type.WATER).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.CHEREN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHEREN"], true, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.LENORA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LENORA"], false, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.ROXIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXIE"], false, Type.POISON).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.BURGH]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BURGH"], true, Type.BUG).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.ELESA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ELESA"], false, Type.ELECTRIC).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.CLAY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAY"], true, Type.GROUND).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.SKYLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SKYLA"], false, Type.FLYING).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.BRYCEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRYCEN"], true, Type.ICE).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.DRAYDEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["DRAYDEN"], true, Type.DRAGON).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.MARLON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MARLON"], true, Type.WATER).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.VIOLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VIOLA"], false, Type.BUG).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.GRANT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRANT"], true, Type.ROCK).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.KORRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KORRINA"], false, Type.FIGHTING).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.RAMOS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RAMOS"], true, Type.GRASS).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.CLEMONT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLEMONT"], true, Type.ELECTRIC).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.VALERIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VALERIE"], false, Type.FAIRY).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.OLYMPIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OLYMPIA"], false, Type.PSYCHIC).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.WULFRIC]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WULFRIC"], true, Type.ICE).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.MILO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MILO"], true, Type.GRASS).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.NESSA]: new TrainerConfig(++t).setName("Nessa").initForGymLeader(signatureSpecies["NESSA"], false, Type.WATER).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.KABU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KABU"], true, Type.FIRE).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.BEA]: new TrainerConfig(++t).setName("Bea").initForGymLeader(signatureSpecies["BEA"], false, Type.FIGHTING).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.ALLISTER]: new TrainerConfig(++t).setName("Allister").initForGymLeader(signatureSpecies["ALLISTER"], true, Type.GHOST).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.OPAL]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OPAL"], false, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.BEDE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BEDE"], true, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.GORDIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GORDIE"], true, Type.ROCK).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.MELONY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MELONY"], false, Type.ICE).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.PIERS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PIERS"], true, Type.DARK).setHasDouble("piers_marnie_double").setDoubleTrainerType(TrainerType.MARNIE).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"), - [TrainerType.MARNIE]: new TrainerConfig(++t).setName("Marnie").initForGymLeader(signatureSpecies["MARNIE"], false, Type.DARK).setHasDouble("marnie_piers_double").setDoubleTrainerType(TrainerType.PIERS).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"), - [TrainerType.RAIHAN]: new TrainerConfig(++t).setName("Raihan").initForGymLeader(signatureSpecies["RAIHAN"], true, Type.DRAGON).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.KATY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KATY"], false, Type.BUG).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.BRASSIUS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRASSIUS"], true, Type.GRASS).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.IONO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["IONO"], false, Type.ELECTRIC).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.KOFU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KOFU"], true, Type.WATER).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.LARRY]: new TrainerConfig(++t).setName("Larry").initForGymLeader(signatureSpecies["LARRY"], true, Type.NORMAL).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.RYME]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RYME"], false, Type.GHOST).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.TULIP]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TULIP"], false, Type.PSYCHIC).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.GRUSHA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRUSHA"], true, Type.ICE).setMixedBattleBgm("battle_paldea_gym"), - - [TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)).initForEliteFour(signatureSpecies["LORELEI"], false, Type.ICE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.BRUNO]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BRUNO"], true, Type.FIGHTING).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.AGATHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AGATHA"], false, Type.GHOST).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.LANCE]: new TrainerConfig(++t).setName("Lance").initForEliteFour(signatureSpecies["LANCE"], true, Type.DRAGON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.WILL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WILL"], true, Type.PSYCHIC).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.KOGA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KOGA"], true, Type.POISON).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.KAREN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAREN"], false, Type.DARK).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.SIDNEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIDNEY"], true, Type.DARK).setMixedBattleBgm("battle_hoenn_elite"), - [TrainerType.PHOEBE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["PHOEBE"], false, Type.GHOST).setMixedBattleBgm("battle_hoenn_elite"), - [TrainerType.GLACIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GLACIA"], false, Type.ICE).setMixedBattleBgm("battle_hoenn_elite"), - [TrainerType.DRAKE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAKE"], true, Type.DRAGON).setMixedBattleBgm("battle_hoenn_elite"), - [TrainerType.AARON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AARON"], true, Type.BUG).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.BERTHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BERTHA"], false, Type.GROUND).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.FLINT]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["FLINT"], true, Type.FIRE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.LUCIAN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LUCIAN"], true, Type.PSYCHIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.SHAUNTAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SHAUNTAL"], false, Type.GHOST).setMixedBattleBgm("battle_unova_elite"), - [TrainerType.MARSHAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MARSHAL"], true, Type.FIGHTING).setMixedBattleBgm("battle_unova_elite"), - [TrainerType.GRIMSLEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GRIMSLEY"], true, Type.DARK).setMixedBattleBgm("battle_unova_elite"), - [TrainerType.CAITLIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CAITLIN"], false, Type.PSYCHIC).setMixedBattleBgm("battle_unova_elite"), - [TrainerType.MALVA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MALVA"], false, Type.FIRE).setMixedBattleBgm("battle_kalos_elite"), - [TrainerType.SIEBOLD]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIEBOLD"], true, Type.WATER).setMixedBattleBgm("battle_kalos_elite"), - [TrainerType.WIKSTROM]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WIKSTROM"], true, Type.STEEL).setMixedBattleBgm("battle_kalos_elite"), - [TrainerType.DRASNA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRASNA"], false, Type.DRAGON).setMixedBattleBgm("battle_kalos_elite"), - [TrainerType.HALA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HALA"], true, Type.FIGHTING).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.MOLAYNE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MOLAYNE"], true, Type.STEEL).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.OLIVIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["OLIVIA"], false, Type.ROCK).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.ACEROLA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["ACEROLA"], false, Type.GHOST).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.KAHILI]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAHILI"], false, Type.FLYING).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.MARNIE_ELITE]: new TrainerConfig(++t).setName("Marnie").initForEliteFour(signatureSpecies["MARNIE_ELITE"], false, Type.DARK).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.NESSA_ELITE]: new TrainerConfig(++t).setName("Nessa").initForEliteFour(signatureSpecies["NESSA_ELITE"], false, Type.WATER).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.BEA_ELITE]: new TrainerConfig(++t).setName("Bea").initForEliteFour(signatureSpecies["BEA_ELITE"], false, Type.FIGHTING).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.ALLISTER_ELITE]: new TrainerConfig(++t).setName("Allister").initForEliteFour(signatureSpecies["ALLISTER_ELITE"], true, Type.GHOST).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.RAIHAN_ELITE]: new TrainerConfig(++t).setName("Raihan").initForEliteFour(signatureSpecies["RAIHAN_ELITE"], true, Type.DRAGON).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.RIKA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["RIKA"], false, Type.GROUND).setMixedBattleBgm("battle_paldea_elite"), - [TrainerType.POPPY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["POPPY"], false, Type.STEEL).setMixedBattleBgm("battle_paldea_elite"), - [TrainerType.LARRY_ELITE]: new TrainerConfig(++t).setName("Larry").initForEliteFour(signatureSpecies["LARRY_ELITE"], true, Type.NORMAL, Type.FLYING).setMixedBattleBgm("battle_paldea_elite"), - [TrainerType.HASSEL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HASSEL"], true, Type.DRAGON).setMixedBattleBgm("battle_paldea_elite"), - [TrainerType.CRISPIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CRISPIN"], true, Type.FIRE).setMixedBattleBgm("battle_bb_elite"), - [TrainerType.AMARYS]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AMARYS"], false, Type.STEEL).setMixedBattleBgm("battle_bb_elite"), - [TrainerType.LACEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LACEY"], false, Type.FAIRY).setMixedBattleBgm("battle_bb_elite"), - [TrainerType.DRAYTON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAYTON"], true, Type.DRAGON).setMixedBattleBgm("battle_bb_elite"), - - [TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)).initForChampion(signatureSpecies["BLUE"], true).setBattleBgm("battle_kanto_champion").setMixedBattleBgm("battle_kanto_champion").setHasDouble("blue_red_double").setDoubleTrainerType(TrainerType.RED).setDoubleTitle("champion_double") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALAKAZAM], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT], TrainerSlot.TRAINER, true, p => { - p.formIndex = 1; - p.generateAndPopulateMoveset(); - p.generateName(); - })), - [TrainerType.RED]: new TrainerConfig(++t).initForChampion(signatureSpecies["RED"], true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion").setHasDouble("red_blue_double").setDoubleTrainerType(TrainerType.BLUE).setDoubleTitle("champion_double") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PIKACHU], TrainerSlot.TRAINER, true, p => { - p.formIndex = 8; - p.generateAndPopulateMoveset(); - p.generateName(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE], TrainerSlot.TRAINER, true, p => { - p.formIndex = 1; - p.generateAndPopulateMoveset(); - p.generateName(); - })), - [TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).setName("Lance").initForChampion(signatureSpecies["LANCE_CHAMPION"], true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.AERODACTYL], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.LATIAS, Species.LATIOS], TrainerSlot.TRAINER, true, p => { - p.formIndex = 1; - p.generateAndPopulateMoveset(); - p.generateName(); - })), - [TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion(signatureSpecies["STEVEN"], true).setBattleBgm("battle_hoenn_champion_g5").setMixedBattleBgm("battle_hoenn_champion_g6").setHasDouble("steven_wallace_double").setDoubleTrainerType(TrainerType.WALLACE).setDoubleTitle("champion_double") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SKARMORY], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.METAGROSS], TrainerSlot.TRAINER, true, p => { - p.formIndex = 1; - p.generateAndPopulateMoveset(); - p.generateName(); - })), - [TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion(signatureSpecies["WALLACE"], true).setBattleBgm("battle_hoenn_champion_g5").setMixedBattleBgm("battle_hoenn_champion_g6").setHasDouble("wallace_steven_double").setDoubleTrainerType(TrainerType.STEVEN).setDoubleTitle("champion_double") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => { - p.abilityIndex = 1; // Drizzle - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.SWAMPERT], TrainerSlot.TRAINER, true, p => { - p.formIndex = 1; - p.generateAndPopulateMoveset(); - })), - [TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion(signatureSpecies["CYNTHIA"], false).setBattleBgm("battle_sinnoh_champion").setMixedBattleBgm("battle_sinnoh_champion") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SPIRITOMB], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.GARCHOMP], TrainerSlot.TRAINER, true, p => { - p.formIndex = 1; - p.generateAndPopulateMoveset(); - p.generateName(); - })), - [TrainerType.ALDER]: new TrainerConfig(++t).initForChampion(signatureSpecies["ALDER"], true).setHasDouble("alder_iris_double").setDoubleTrainerType(TrainerType.IRIS).setDoubleTitle("champion_double").setBattleBgm("battle_champion_alder").setMixedBattleBgm("battle_champion_alder") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BOUFFALANT, Species.BRAVIARY], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })), - [TrainerType.IRIS]: new TrainerConfig(++t).initForChampion(signatureSpecies["IRIS"], false).setBattleBgm("battle_champion_iris").setMixedBattleBgm("battle_champion_iris").setHasDouble("iris_alder_double").setDoubleTrainerType(TrainerType.ALDER).setDoubleTitle("champion_double") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRUDDIGON], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.LAPRAS], TrainerSlot.TRAINER, true, p => { - p.formIndex = 1; - p.generateAndPopulateMoveset(); - p.generateName(); - })), - [TrainerType.DIANTHA]: new TrainerConfig(++t).initForChampion(signatureSpecies["DIANTHA"], false).setMixedBattleBgm("battle_kalos_champion") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GOURGEIST], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.GARDEVOIR], TrainerSlot.TRAINER, true, p => { - p.formIndex = 1; - p.generateAndPopulateMoveset(); - p.generateName(); - })), - [TrainerType.HAU]: new TrainerConfig(++t).initForChampion(signatureSpecies["HAU"], true).setMixedBattleBgm("battle_alola_champion") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALOLA_RAICHU], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })), - [TrainerType.LEON]: new TrainerConfig(++t).initForChampion(signatureSpecies["LEON"], true).setMixedBattleBgm("battle_galar_champion") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.RILLABOOM, Species.CINDERACE, Species.INTELEON], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CHARIZARD], TrainerSlot.TRAINER, true, p => { - p.formIndex = 3; - p.generateAndPopulateMoveset(); - p.generateName(); - })), - [TrainerType.GEETA]: new TrainerConfig(++t).initForChampion(signatureSpecies["GEETA"], false).setMixedBattleBgm("battle_champion_geeta") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GLIMMORA], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })), - [TrainerType.NEMONA]: new TrainerConfig(++t).initForChampion(signatureSpecies["NEMONA"], false).setMixedBattleBgm("battle_champion_nemona") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { - p.formIndex = 0; // Midday form - p.generateAndPopulateMoveset(); - })), - [TrainerType.KIERAN]: new TrainerConfig(++t).initForChampion(signatureSpecies["KIERAN"], true).setMixedBattleBgm("battle_champion_kieran") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.POLIWRATH, Species.POLITOED], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - })), - - [TrainerType.RIVAL]: new TrainerConfig((t = TrainerType.RIVAL)).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setMixedBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL) - .setModifierRewardFuncs(() => modifierTypes.SUPER_EXP_CHARM, () => modifierTypes.EXP_SHARE) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE, Species.CHIKORITA, Species.CYNDAQUIL, Species.TOTODILE, Species.TREECKO, Species.TORCHIC, Species.MUDKIP, Species.TURTWIG, Species.CHIMCHAR, Species.PIPLUP, Species.SNIVY, Species.TEPIG, Species.OSHAWOTT, Species.CHESPIN, Species.FENNEKIN, Species.FROAKIE, Species.ROWLET, Species.LITTEN, Species.POPPLIO, Species.GROOKEY, Species.SCORBUNNY, Species.SOBBLE, Species.SPRIGATITO, Species.FUECOCO, Species.QUAXLY], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEY, Species.HOOTHOOT, Species.TAILLOW, Species.STARLY, Species.PIDOVE, Species.FLETCHLING, Species.PIKIPEK, Species.ROOKIDEE, Species.WATTREL], TrainerSlot.TRAINER, true)), - [TrainerType.RIVAL_2]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setMixedBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL_2) - .setModifierRewardFuncs(() => modifierTypes.EXP_SHARE) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.IVYSAUR, Species.CHARMELEON, Species.WARTORTLE, Species.BAYLEEF, Species.QUILAVA, Species.CROCONAW, Species.GROVYLE, Species.COMBUSKEN, Species.MARSHTOMP, Species.GROTLE, Species.MONFERNO, Species.PRINPLUP, Species.SERVINE, Species.PIGNITE, Species.DEWOTT, Species.QUILLADIN, Species.BRAIXEN, Species.FROGADIER, Species.DARTRIX, Species.TORRACAT, Species.BRIONNE, Species.THWACKEY, Species.RABOOT, Species.DRIZZILE, Species.FLORAGATO, Species.CROCALOR, Species.QUAXWELL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOTTO, Species.HOOTHOOT, Species.TAILLOW, Species.STARAVIA, Species.TRANQUILL, Species.FLETCHINDER, Species.TRUMBEAK, Species.CORVISQUIRE, Species.WATTREL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)), - [TrainerType.RIVAL_3]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setMixedBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL_3) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)) - .setSpeciesFilter(species => species.baseTotal >= 540), - [TrainerType.RIVAL_4]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(1.75).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival_2").setMixedBattleBgm("battle_rival_2").setPartyTemplates(trainerPartyTemplates.RIVAL_4) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)) - .setSpeciesFilter(species => species.baseTotal >= 540) - .setGenModifiersFunc(party => { - const starter = party[0]; - return [modifierTypes.TERA_SHARD().generateType([], [starter.species.type1])!.withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier]; // TODO: is the bang correct? - }), - [TrainerType.RIVAL_5]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival_3").setMixedBattleBgm("battle_rival_3").setPartyTemplates(trainerPartyTemplates.RIVAL_5) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true, - p => p.setBoss(true, 2))) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)) - .setSpeciesFilter(species => species.baseTotal >= 540) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 3); - p.pokeball = PokeballType.MASTER_BALL; - p.shiny = true; - p.variant = 1; - })) - .setGenModifiersFunc(party => { - const starter = party[0]; - return [modifierTypes.TERA_SHARD().generateType([], [starter.species.type1])!.withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier]; //TODO: is the bang correct? - }), - [TrainerType.RIVAL_6]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(3).setEncounterBgm("final").setBattleBgm("battle_rival_3").setMixedBattleBgm("battle_rival_3").setPartyTemplates(trainerPartyTemplates.RIVAL_6) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true, - p => { - p.setBoss(true, 3); - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true, - p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)) - .setSpeciesFilter(species => species.baseTotal >= 540) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => { - p.setBoss(); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - p.shiny = true; - p.variant = 1; - p.formIndex = 1; - p.generateName(); - })) - .setGenModifiersFunc(party => { - const starter = party[0]; - return [modifierTypes.TERA_SHARD().generateType([], [starter.species.type1])!.withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier]; // TODO: is the bang correct? - }), - - [TrainerType.ROCKET_BOSS_GIOVANNI_1]: new TrainerConfig(t = TrainerType.ROCKET_BOSS_GIOVANNI_1).setName("Giovanni").initForEvilTeamLeader("Rocket Boss", []).setMixedBattleBgm("battle_rocket_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PERSIAN, Species.ALOLA_PERSIAN])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.NIDOKING, Species.NIDOQUEEN])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.RHYPERIOR])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DUGTRIO, Species.ALOLA_DUGTRIO])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAROWAK, Species.ALOLA_MAROWAK])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KANGASKHAN], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })), - [TrainerType.ROCKET_BOSS_GIOVANNI_2]: new TrainerConfig(++t).setName("Giovanni").initForEvilTeamLeader("Rocket Boss", [], true).setMixedBattleBgm("battle_rocket_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.TYRANITAR, Species.IRON_THORNS], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.HIPPOWDON])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.EXCADRILL])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.KANGASKHAN], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.GASTRODON])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.MEWTWO], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })), - [TrainerType.MAXIE]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss", []).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MIGHTYENA])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CROBAT, Species.GLISCOR])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.WEEZING, Species.GALAR_WEEZING])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MAGMORTAR, Species.TORKOAL])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.FLYGON])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CAMERUPT], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })), - [TrainerType.MAXIE_2]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss", [], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SOLROCK, Species.TYPHLOSION], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.TORKOAL, Species.NINETALES], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.abilityIndex = 2; // DROUGHT - })) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SHIFTRY, Species.SCOVILLAIN], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.abilityIndex = 0; // Chlorophyll - })) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GREAT_TUSK])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CAMERUPT], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GROUDON], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })), - [TrainerType.ARCHIE]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss", []).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LINOONE])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CROBAT, Species.PELIPPER])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MUK, Species.ALOLA_MUK])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TENTACRUEL])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.RELICANTH, Species.WAILORD])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.SHARPEDO], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })), - [TrainerType.ARCHIE_2]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss", [], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.EMPOLEON, Species.LUDICOLO], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.POLITOED, Species.PELIPPER], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.abilityIndex = 2; // Drizzle - })) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.BEARTIC, Species.ARMALDO], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.abilityIndex = 2; // Swift Swim - })) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.OVERQWIL ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.abilityIndex = 1; // Swift Swim - })) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SHARPEDO], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KYOGRE], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })), - [TrainerType.CYRUS]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss", []).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GYARADOS ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HONCHKROW, Species.HISUI_BRAVIARY ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.CROBAT, Species.GLISCOR ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.AZELF, Species.UXIE, Species.MESPRIT ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HOUNDOOM ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.WEAVILE], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - })), - [TrainerType.CYRUS_2]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss", [], true).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.AZELF, Species.UXIE, Species.MESPRIT], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.ELECTRODE, Species.HISUI_ELECTRODE])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SALAMENCE, Species.ROARING_MOON])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.WEAVILE], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DARKRAI], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })), - [TrainerType.GHETSIS]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss", []).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COFAGRIGUS, Species.RUNERIGUS])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.BOUFFALANT])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SEISMITOAD, Species.CARRACOSTA])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EELEKTROSS, Species.GALVANTULA])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.VOLCARONA])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.HYDREIGON], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - })), - [TrainerType.GHETSIS_2]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss", [], true).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GENESECT ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - p.formIndex = Utils.randSeedInt(5); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.BASCULEGION, Species.JELLICENT ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.gender = Gender.MALE; - p.formIndex = 1; - })) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.KINGAMBIT ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.VOLCARONA, Species.SLITHER_WING ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HYDREIGON, Species.IRON_JUGULIS ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KYUREM], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })), - [TrainerType.LYSANDRE]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss", []).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.MIENSHAO ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HONCHKROW, Species.TALONFLAME ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PYROAR ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.gender = Gender.MALE; - })) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.CLAWITZER, Species.DRAGALGE ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HELIOLISK, Species.MALAMAR ])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GYARADOS ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })), - [TrainerType.LYSANDRE_2]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss", [], true).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SCREAM_TAIL, Species.FLUTTER_MANE], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.PYROAR ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.gender = Gender.MALE; - })) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.IRON_MOTH ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GOODRA, Species.HISUI_GOODRA ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.GYARADOS ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = 1; - p.generateName(); - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.YVELTAL], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })), - [TrainerType.LUSAMINE]: new TrainerConfig(++t).setName("Lusamine").initForEvilTeamLeader("Aether Boss", []).setMixedBattleBgm("battle_aether_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.CLEFABLE ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.LILLIGANT, Species.HISUI_LILLIGANT ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.MILOTIC, Species.PRIMARINA ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.BEWEAR ])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.NIHILEGO ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - })), - [TrainerType.LUSAMINE_2]: new TrainerConfig(++t).setName("Lusamine").initForEvilTeamLeader("Aether Boss", [], true).setMixedBattleBgm("battle_aether_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.CLEFABLE ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.MILOTIC, Species.PRIMARINA ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PHEROMOSA ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.STAKATAKA, Species.CELESTEELA, Species.GUZZLORD ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.NIHILEGO ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.NECROZMA ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })), - [TrainerType.GUZMA]: new TrainerConfig(++t).setName("Guzma").initForEvilTeamLeader("Skull Boss", []).setMixedBattleBgm("battle_skull_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.LOKIX, Species.YANMEGA ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HERACROSS ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SCIZOR, Species.KLEAVOR ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GALVANTULA, Species.VIKAVOLT])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.PINSIR ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.formIndex = 1; - p.generateName(); - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GOLISOPOD ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - })), - [TrainerType.GUZMA_2]: new TrainerConfig(++t).setName("Guzma").initForEvilTeamLeader("Skull Boss", [], true).setMixedBattleBgm("battle_skull_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GOLISOPOD ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.abilityIndex = 2; //Anticipation - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HISUI_SAMUROTT, Species.CRAWDAUNT ], TrainerSlot.TRAINER, true, p => { - p.abilityIndex = 2; //Sharpness, Adaptability - })) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SCIZOR, Species.KLEAVOR ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.PINSIR ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.formIndex = 1; - p.generateName(); - })) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.BUZZWOLE ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.XURKITREE ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })), - [TrainerType.ROSE]: new TrainerConfig(++t).setName("Rose").initForEvilTeamLeader("Macro Boss", []).setMixedBattleBgm("battle_macro_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ARCHALUDON ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.FERROTHORN, Species.ESCAVALIER ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SIRFETCHD, Species.MR_RIME ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.CORVIKNIGHT ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.PERRSERKER, Species.KLINKLANG ])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.COPPERAJAH ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.formIndex = 1; - p.generateName(); - })), - [TrainerType.ROSE_2]: new TrainerConfig(++t).setName("Rose").initForEvilTeamLeader("Macro Boss", [], true).setMixedBattleBgm("battle_macro_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ARCHALUDON ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.AEGISLASH, Species.GHOLDENGO ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.DRACOVISH, Species.DRACOZOLT ], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.abilityIndex = 1; //Strong Jaw, Hustle - })) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.MELMETAL ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.GALAR_ARTICUNO, Species.GALAR_ZAPDOS, Species.GALAR_MOLTRES ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.MASTER_BALL; - })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.COPPERAJAH ], TrainerSlot.TRAINER, true, p => { - p.setBoss(true, 2); - p.generateAndPopulateMoveset(); - p.formIndex = 1; - p.generateName(); - })), -}; +import BattleScene, {startingWave} from "../battle-scene"; +import {ModifierTypeFunc, modifierTypes} from "../modifier/modifier-type"; +import {EnemyPokemon} from "../field/pokemon"; +import * as Utils from "../utils"; +import {PokeballType} from "./pokeball"; +import {pokemonEvolutions, pokemonPrevolutions} from "./pokemon-evolutions"; +import PokemonSpecies, {getPokemonSpecies, PokemonSpeciesFilter} from "./pokemon-species"; +import {tmSpecies} from "./tms"; +import {Type} from "./type"; +import {doubleBattleDialogue} from "./dialogue"; +import {PersistentModifier} from "../modifier/modifier"; +import {TrainerVariant} from "../field/trainer"; +import {getIsInitialized, initI18n} from "#app/plugins/i18n"; +import i18next from "i18next"; +import {Moves} from "#enums/moves"; +import {PartyMemberStrength} from "#enums/party-member-strength"; +import {Species} from "#enums/species"; +import {TrainerType} from "#enums/trainer-type"; +import {Gender} from "./gender"; + +export enum TrainerPoolTier { + COMMON, + UNCOMMON, + RARE, + SUPER_RARE, + ULTRA_RARE +} + +export interface TrainerTierPools { + [key: integer]: Species[] +} + +export enum TrainerSlot { + NONE, + TRAINER, + TRAINER_PARTNER +} + +export class TrainerPartyTemplate { + public size: integer; + public strength: PartyMemberStrength; + public sameSpecies: boolean; + public balanced: boolean; + + constructor(size: integer, strength: PartyMemberStrength, sameSpecies?: boolean, balanced?: boolean) { + this.size = size; + this.strength = strength; + this.sameSpecies = !!sameSpecies; + this.balanced = !!balanced; + } + + getStrength(index: integer): PartyMemberStrength { + return this.strength; + } + + isSameSpecies(index: integer): boolean { + return this.sameSpecies; + } + + isBalanced(index: integer): boolean { + return this.balanced; + } +} + +export class TrainerPartyCompoundTemplate extends TrainerPartyTemplate { + public templates: TrainerPartyTemplate[]; + + constructor(...templates: TrainerPartyTemplate[]) { + super(templates.reduce((total: integer, template: TrainerPartyTemplate) => { + total += template.size; + return total; + }, 0), PartyMemberStrength.AVERAGE); + this.templates = templates; + } + + getStrength(index: integer): PartyMemberStrength { + let t = 0; + for (const template of this.templates) { + if (t + template.size > index) { + return template.getStrength(index - t); + } + t += template.size; + } + + return super.getStrength(index); + } + + isSameSpecies(index: integer): boolean { + let t = 0; + for (const template of this.templates) { + if (t + template.size > index) { + return template.isSameSpecies(index - t); + } + t += template.size; + } + + return super.isSameSpecies(index); + } + + isBalanced(index: integer): boolean { + let t = 0; + for (const template of this.templates) { + if (t + template.size > index) { + return template.isBalanced(index - t); + } + t += template.size; + } + + return super.isBalanced(index); + } +} + +export const trainerPartyTemplates = { + ONE_WEAK_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + ONE_AVG: new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), + ONE_AVG_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + ONE_STRONG: new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), + ONE_STRONGER: new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), + TWO_WEAKER: new TrainerPartyTemplate(2, PartyMemberStrength.WEAKER), + TWO_WEAK: new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), + TWO_WEAK_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), + TWO_WEAK_SAME_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), + TWO_WEAK_SAME_TWO_WEAK_SAME: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true), new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true)), + TWO_WEAK_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + TWO_AVG: new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), + TWO_AVG_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + TWO_AVG_SAME_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), + TWO_AVG_SAME_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + TWO_AVG_SAME_TWO_AVG_SAME: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true)), + TWO_STRONG: new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), + THREE_WEAK: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK), + THREE_WEAK_SAME: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK, true), + THREE_AVG: new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), + THREE_AVG_SAME: new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, true), + THREE_WEAK_BALANCED: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK, false, true), + FOUR_WEAKER: new TrainerPartyTemplate(4, PartyMemberStrength.WEAKER), + FOUR_WEAKER_SAME: new TrainerPartyTemplate(4, PartyMemberStrength.WEAKER, true), + FOUR_WEAK: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK), + FOUR_WEAK_SAME: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK, true), + FOUR_WEAK_BALANCED: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK, false, true), + FIVE_WEAKER: new TrainerPartyTemplate(5, PartyMemberStrength.WEAKER), + FIVE_WEAK: new TrainerPartyTemplate(5, PartyMemberStrength.WEAK), + FIVE_WEAK_BALANCED: new TrainerPartyTemplate(5, PartyMemberStrength.WEAK, false, true), + SIX_WEAKER: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER), + SIX_WEAKER_SAME: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER, true), + SIX_WEAK_SAME: new TrainerPartyTemplate(6, PartyMemberStrength.WEAK, true), + SIX_WEAK_BALANCED: new TrainerPartyTemplate(6, PartyMemberStrength.WEAK, false, true), + + GYM_LEADER_1: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + GYM_LEADER_2: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + GYM_LEADER_3: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + GYM_LEADER_4: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + GYM_LEADER_5: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + + ELITE_FOUR: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + + CHAMPION: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), new TrainerPartyTemplate(5, PartyMemberStrength.STRONG, false, true)), + + RIVAL: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), + RIVAL_2: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), + RIVAL_3: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), + RIVAL_4: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), + RIVAL_5: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + RIVAL_6: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)) +}; + +type PartyTemplateFunc = (scene: BattleScene) => TrainerPartyTemplate; +type PartyMemberFunc = (scene: BattleScene, level: integer, strength: PartyMemberStrength) => EnemyPokemon; +type GenModifiersFunc = (party: EnemyPokemon[]) => PersistentModifier[]; + +export interface PartyMemberFuncs { + [key: integer]: PartyMemberFunc +} + +export class TrainerConfig { + public trainerType: TrainerType; + public trainerTypeDouble: TrainerType; + public name: string; + public nameFemale: string; + public nameDouble: string; + public title: string; + public titleDouble: string; + public hasGenders: boolean = false; + public hasDouble: boolean = false; + public hasCharSprite: boolean = false; + public doubleOnly: boolean = false; + public moneyMultiplier: number = 1; + public isBoss: boolean = false; + public hasStaticParty: boolean = false; + public useSameSeedForAllMembers: boolean = false; + public mixedBattleBgm: string; + public battleBgm: string; + public encounterBgm: string; + public femaleEncounterBgm: string; + public doubleEncounterBgm: string; + public victoryBgm: string; + public genModifiersFunc: GenModifiersFunc; + public modifierRewardFuncs: ModifierTypeFunc[] = []; + public partyTemplates: TrainerPartyTemplate[]; + public partyTemplateFunc: PartyTemplateFunc; + public partyMemberFuncs: PartyMemberFuncs = {}; + public speciesPools: TrainerTierPools; + public speciesFilter: PokemonSpeciesFilter; + public specialtyTypes: Type[] = []; + public hasVoucher: boolean = false; + + public encounterMessages: string[] = []; + public victoryMessages: string[] = []; + public defeatMessages: string[] = []; + + public femaleEncounterMessages: string[]; + public femaleVictoryMessages: string[]; + public femaleDefeatMessages: string[]; + + public doubleEncounterMessages: string[]; + public doubleVictoryMessages: string[]; + public doubleDefeatMessages: string[]; + + constructor(trainerType: TrainerType, allowLegendaries?: boolean) { + this.trainerType = trainerType; + this.name = Utils.toReadableString(TrainerType[this.getDerivedType()]); + this.battleBgm = "battle_trainer"; + this.mixedBattleBgm = "battle_trainer"; + this.victoryBgm = "victory_trainer"; + this.partyTemplates = [trainerPartyTemplates.TWO_AVG]; + this.speciesFilter = species => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden(); + } + + getKey(): string { + return TrainerType[this.getDerivedType()].toString().toLowerCase(); + } + + getSpriteKey(female?: boolean, isDouble: boolean = false): string { + let ret = this.getKey(); + if (this.hasGenders) { + ret += `_${female ? "f" : "m"}`; + } + // If a special double trainer class was set, set it as the sprite key + if (this.trainerTypeDouble && female && isDouble) { + // Get the derived type for the double trainer since the sprite key is based on the derived type + ret = TrainerType[this.getDerivedType(this.trainerTypeDouble)].toString().toLowerCase(); + } + return ret; + } + + setName(name: string): TrainerConfig { + if (name === "Finn") { + // Give the rival a localized name + // First check if i18n is initialized + if (!getIsInitialized()) { + initI18n(); + } + // This is only the male name, because the female name is handled in a different function (setHasGenders) + if (name === "Finn") { + name = i18next.t("trainerNames:rival"); + } + } + this.name = name; + return this; + } + + /** + * Sets if a boss trainer will have a voucher or not. + * @param hasVoucher - If the boss trainer will have a voucher. + */ + setHasVoucher(hasVoucher: boolean): void { + this.hasVoucher = hasVoucher; + } + + setTitle(title: string): TrainerConfig { + // First check if i18n is initialized + if (!getIsInitialized()) { + initI18n(); + } + + // Make the title lowercase and replace spaces with underscores + title = title.toLowerCase().replace(/\s/g, "_"); + + // Get the title from the i18n file + this.title = i18next.t(`titles:${title}`); + + + return this; + } + + + /** + * Returns the derived trainer type for a given trainer type. + * @param trainerTypeToDeriveFrom - The trainer type to derive from. (If null, the this.trainerType property will be used.) + * @returns {TrainerType} - The derived trainer type. + */ + getDerivedType(trainerTypeToDeriveFrom: TrainerType | null = null): TrainerType { + let trainerType = trainerTypeToDeriveFrom ? trainerTypeToDeriveFrom : this.trainerType; + switch (trainerType) { + case TrainerType.RIVAL_2: + case TrainerType.RIVAL_3: + case TrainerType.RIVAL_4: + case TrainerType.RIVAL_5: + case TrainerType.RIVAL_6: + trainerType = TrainerType.RIVAL; + break; + case TrainerType.LANCE_CHAMPION: + trainerType = TrainerType.LANCE; + break; + case TrainerType.LARRY_ELITE: + trainerType = TrainerType.LARRY; + break; + case TrainerType.ROCKET_BOSS_GIOVANNI_1: + case TrainerType.ROCKET_BOSS_GIOVANNI_2: + trainerType = TrainerType.GIOVANNI; + break; + case TrainerType.MAXIE_2: + trainerType = TrainerType.MAXIE; + break; + case TrainerType.ARCHIE_2: + trainerType = TrainerType.ARCHIE; + break; + case TrainerType.CYRUS_2: + trainerType = TrainerType.CYRUS; + break; + case TrainerType.GHETSIS_2: + trainerType = TrainerType.GHETSIS; + break; + case TrainerType.LYSANDRE_2: + trainerType = TrainerType.LYSANDRE; + break; + case TrainerType.LUSAMINE_2: + trainerType = TrainerType.LUSAMINE; + break; + case TrainerType.GUZMA_2: + trainerType = TrainerType.GUZMA; + break; + case TrainerType.ROSE_2: + trainerType = TrainerType.ROSE; + break; + case TrainerType.MARNIE_ELITE: + trainerType = TrainerType.MARNIE; + break; + case TrainerType.NESSA_ELITE: + trainerType = TrainerType.NESSA; + break; + case TrainerType.BEA_ELITE: + trainerType = TrainerType.BEA; + break; + case TrainerType.ALLISTER_ELITE: + trainerType = TrainerType.ALLISTER; + break; + case TrainerType.RAIHAN_ELITE: + trainerType = TrainerType.RAIHAN; + break; + } + + return trainerType; + } + + /** + * Sets the configuration for trainers with genders, including the female name and encounter background music (BGM). + * @param {string} [nameFemale] - The name of the female trainer. If 'Ivy', a localized name will be assigned. + * @param {TrainerType | string} [femaleEncounterBgm] - The encounter BGM for the female trainer, which can be a TrainerType or a string. + * @returns {TrainerConfig} - The updated TrainerConfig instance. + **/ + setHasGenders(nameFemale?: string, femaleEncounterBgm?: TrainerType | string): TrainerConfig { + // If the female name is 'Ivy' (the rival), assign a localized name. + if (nameFemale === "Ivy") { + // Check if the internationalization (i18n) system is initialized. + if (!getIsInitialized()) { + // Initialize the i18n system if it is not already initialized. + initI18n(); + } + // Set the localized name for the female rival. + this.nameFemale = i18next.t("trainerNames:rival_female"); + } else { + // Otherwise, assign the provided female name. + this.nameFemale = nameFemale!; // TODO: is this bang correct? + } + + // Indicate that this trainer configuration includes genders. + this.hasGenders = true; + + // If a female encounter BGM is provided. + if (femaleEncounterBgm) { + // If the BGM is a TrainerType (number), convert it to a string, replace underscores with spaces, and convert to lowercase. + // Otherwise, assign the provided string as the BGM. + this.femaleEncounterBgm = typeof femaleEncounterBgm === "number" + ? TrainerType[femaleEncounterBgm].toString().replace(/_/g, " ").toLowerCase() + : femaleEncounterBgm; + } + + // Return the updated TrainerConfig instance. + return this; + } + + /** + * Sets the configuration for trainers with double battles, including the name of the double trainer and the encounter BGM. + * @param nameDouble - The name of the double trainer (e.g., "Ace Duo" for Trainer Class Doubles or "red_blue_double" for NAMED trainer doubles). + * @param doubleEncounterBgm - The encounter BGM for the double trainer, which can be a TrainerType or a string. + * @returns {TrainerConfig} - The updated TrainerConfig instance. + */ + setHasDouble(nameDouble: string, doubleEncounterBgm?: TrainerType | string): TrainerConfig { + this.hasDouble = true; + this.nameDouble = nameDouble; + if (doubleEncounterBgm) { + this.doubleEncounterBgm = typeof doubleEncounterBgm === "number" ? TrainerType[doubleEncounterBgm].toString().replace(/\_/g, " ").toLowerCase() : doubleEncounterBgm; + } + return this; + } + + /** + * Sets the trainer type for double battles. + * @param trainerTypeDouble - The TrainerType of the partner in a double battle. + * @returns {TrainerConfig} - The updated TrainerConfig instance. + */ + setDoubleTrainerType(trainerTypeDouble: TrainerType): TrainerConfig { + this.trainerTypeDouble = trainerTypeDouble; + this.setDoubleMessages(this.nameDouble); + return this; + } + + /** + * Sets the encounter and victory messages for double trainers. + * @param nameDouble - The name of the pair (e.g. "red_blue_double"). + */ + setDoubleMessages(nameDouble: string) { + // Check if there is double battle dialogue for this trainer + if (doubleBattleDialogue[nameDouble]) { + // Set encounter and victory messages for double trainers + this.doubleEncounterMessages = doubleBattleDialogue[nameDouble].encounter; + this.doubleVictoryMessages = doubleBattleDialogue[nameDouble].victory; + this.doubleDefeatMessages = doubleBattleDialogue[nameDouble].defeat; + } + } + + /** + * Sets the title for double trainers + * @param titleDouble - the key for the title in the i18n file. (e.g., "champion_double"). + * @returns {TrainerConfig} - The updated TrainerConfig instance. + */ + setDoubleTitle(titleDouble: string): TrainerConfig { + // First check if i18n is initialized + if (!getIsInitialized()) { + initI18n(); + } + + // Make the title lowercase and replace spaces with underscores + titleDouble = titleDouble.toLowerCase().replace(/\s/g, "_"); + + // Get the title from the i18n file + this.titleDouble = i18next.t(`titles:${titleDouble}`); + + return this; + } + + setHasCharSprite(): TrainerConfig { + this.hasCharSprite = true; + return this; + } + + setDoubleOnly(): TrainerConfig { + this.doubleOnly = true; + return this; + } + + setMoneyMultiplier(moneyMultiplier: number): TrainerConfig { + this.moneyMultiplier = moneyMultiplier; + return this; + } + + setBoss(): TrainerConfig { + this.isBoss = true; + return this; + } + + setStaticParty(): TrainerConfig { + this.hasStaticParty = true; + return this; + } + + setUseSameSeedForAllMembers(): TrainerConfig { + this.useSameSeedForAllMembers = true; + return this; + } + + setMixedBattleBgm(mixedBattleBgm: string): TrainerConfig { + this.mixedBattleBgm = mixedBattleBgm; + return this; + } + + setBattleBgm(battleBgm: string): TrainerConfig { + this.battleBgm = battleBgm; + return this; + } + + setEncounterBgm(encounterBgm: TrainerType | string): TrainerConfig { + this.encounterBgm = typeof encounterBgm === "number" ? TrainerType[encounterBgm].toString().toLowerCase() : encounterBgm; + return this; + } + + setVictoryBgm(victoryBgm: string): TrainerConfig { + this.victoryBgm = victoryBgm; + return this; + } + + setPartyTemplates(...partyTemplates: TrainerPartyTemplate[]): TrainerConfig { + this.partyTemplates = partyTemplates; + return this; + } + + setPartyTemplateFunc(partyTemplateFunc: PartyTemplateFunc): TrainerConfig { + this.partyTemplateFunc = partyTemplateFunc; + return this; + } + + setPartyMemberFunc(slotIndex: integer, partyMemberFunc: PartyMemberFunc): TrainerConfig { + this.partyMemberFuncs[slotIndex] = partyMemberFunc; + return this; + } + + setSpeciesPools(speciesPools: TrainerTierPools | Species[]): TrainerConfig { + this.speciesPools = (Array.isArray(speciesPools) ? {[TrainerPoolTier.COMMON]: speciesPools} : speciesPools) as unknown as TrainerTierPools; + return this; + } + + setSpeciesFilter(speciesFilter: PokemonSpeciesFilter, allowLegendaries?: boolean): TrainerConfig { + const baseFilter = this.speciesFilter; + this.speciesFilter = allowLegendaries ? speciesFilter : species => speciesFilter(species) && baseFilter(species); + return this; + } + + setSpecialtyTypes(...specialtyTypes: Type[]): TrainerConfig { + this.specialtyTypes = specialtyTypes; + return this; + } + + setGenModifiersFunc(genModifiersFunc: GenModifiersFunc): TrainerConfig { + this.genModifiersFunc = genModifiersFunc; + return this; + } + + setModifierRewardFuncs(...modifierTypeFuncs: (() => ModifierTypeFunc)[]): TrainerConfig { + this.modifierRewardFuncs = modifierTypeFuncs.map(func => () => { + const modifierTypeFunc = func(); + const modifierType = modifierTypeFunc(); + modifierType.withIdFromFunc(modifierTypeFunc); + return modifierType; + }); + return this; + } + + /** + * Returns the pool of species for an evil team admin + * @param team - The evil team the admin belongs to. + * @returns {TrainerTierPools} + */ + speciesPoolPerEvilTeamAdmin(team): TrainerTierPools { + team = team.toLowerCase(); + switch (team) { + case "rocket": { + return { + [TrainerPoolTier.COMMON]: [Species.RATTATA, Species.KOFFING, Species.EKANS, Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], + [TrainerPoolTier.UNCOMMON]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], + [TrainerPoolTier.RARE]: [Species.DRATINI, Species.LARVITAR] + }; + } + case "magma": { + return { + [TrainerPoolTier.COMMON]: [Species.NUMEL, Species.POOCHYENA, Species.SLUGMA, Species.SOLROCK, Species.HIPPOPOTAS, Species.SANDACONDA, Species.PHANPY, Species.ROLYCOLY, Species.GLIGAR], + [TrainerPoolTier.UNCOMMON]: [Species.TRAPINCH, Species.HEATMOR], + [TrainerPoolTier.RARE]: [Species.CAPSAKID, Species.CHARCADET] + }; + } + case "aqua": { + return { + [TrainerPoolTier.COMMON]: [Species.CARVANHA, Species.CORPHISH, Species.ZIGZAGOON, Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH], + [TrainerPoolTier.UNCOMMON]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA], + [TrainerPoolTier.RARE]: [Species.DONDOZO] + }; + } + case "galactic": { + return { + [TrainerPoolTier.COMMON]: [Species.GLAMEOW, Species.STUNKY, Species.BRONZOR, Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL], + [TrainerPoolTier.UNCOMMON]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], + [TrainerPoolTier.RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] + }; + } + case "plasma": { + return { + [TrainerPoolTier.COMMON]: [Species.SCRAFTY, Species.LILLIPUP, Species.PURRLOIN, Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS], + [TrainerPoolTier.UNCOMMON]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK], + [TrainerPoolTier.RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT] + }; + } + case "flare": { + return { + [TrainerPoolTier.COMMON]: [Species.FLETCHLING, Species.LITLEO, Species.INKAY, Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN, Species.PURRLOIN, Species.POOCHYENA, Species.SCATTERBUG], + [TrainerPoolTier.UNCOMMON]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD], + [TrainerPoolTier.RARE]: [Species.NOIVERN, Species.DRUDDIGON] + }; + } + case "aether": { + return { + [TrainerPoolTier.COMMON]: [ Species.BRUXISH, Species.SLOWPOKE, Species.BALTOY, Species.EXEGGCUTE, Species.ABRA, Species.ALOLA_RAICHU, Species.ELGYEM, Species.NATU], + [TrainerPoolTier.UNCOMMON]: [Species.GALAR_SLOWKING, Species.MEDITITE, Species.BELDUM, Species.ORANGURU, Species.HATTERENE, Species.INKAY, Species.RALTS], + [TrainerPoolTier.RARE]: [Species.ARMAROUGE, Species.GIRAFARIG, Species.PORYGON] + }; + } + case "skull": { + return { + [TrainerPoolTier.COMMON]: [ Species.MAREANIE, Species.ALOLA_GRIMER, Species.GASTLY, Species.ZUBAT, Species.LURANTIS, Species.VENIPEDE, Species.BUDEW, Species.KOFFING], + [TrainerPoolTier.UNCOMMON]: [Species.GALAR_SLOWBRO, Species.SKORUPI, Species.PALDEA_WOOPER, Species.NIDORAN_F, Species.CROAGUNK, Species.MANDIBUZZ], + [TrainerPoolTier.RARE]: [Species.DRAGALGE, Species.HISUI_SNEASEL] + }; + } + case "macro": { + return { + [TrainerPoolTier.COMMON]: [ Species.HATTERENE, Species.MILOTIC, Species.TSAREENA, Species.SALANDIT, Species.GALAR_PONYTA, Species.GOTHITA, Species.FROSLASS], + [TrainerPoolTier.UNCOMMON]: [Species.MANDIBUZZ, Species.MAREANIE, Species.ALOLA_VULPIX, Species.TOGEPI, Species.GALAR_CORSOLA, Species.SINISTEA, Species.APPLIN], + [TrainerPoolTier.RARE]: [Species.TINKATINK, Species.HISUI_LILLIGANT] + }; + } + } + + console.warn(`Evil team admin for ${team} not found. Returning empty species pools.`); + return []; + } + + /** + * Initializes the trainer configuration for an evil team admin. + * @param title - The title of the evil team admin. + * @param poolName - The evil team the admin belongs to. + * @param {Species | Species[]} signatureSpecies - The signature species for the evil team leader. + * @returns {TrainerConfig} - The updated TrainerConfig instance. + * **/ + initForEvilTeamAdmin(title: string, poolName: string, signatureSpecies: (Species | Species[])[],): TrainerConfig { + if (!getIsInitialized()) { + initI18n(); + } + this.setPartyTemplates(trainerPartyTemplates.RIVAL_5); + + // Set the species pools for the evil team admin. + this.speciesPools = this.speciesPoolPerEvilTeamAdmin(poolName); + + signatureSpecies.forEach((speciesPool, s) => { + if (!Array.isArray(speciesPool)) { + speciesPool = [speciesPool]; + } + this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); + }); + + const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); + this.name = i18next.t(`trainerNames:${nameForCall}`); + this.setHasVoucher(false); + this.setTitle(title); + this.setMoneyMultiplier(1.5); + this.setBoss(); + this.setStaticParty(); + this.setBattleBgm("battle_plasma_boss"); + this.setVictoryBgm("victory_team_plasma"); + + return this; + } + + /** + * Initializes the trainer configuration for an evil team leader. Temporarily hardcoding evil leader teams though. + * @param {Species | Species[]} signatureSpecies - The signature species for the evil team leader. + * @param {Type[]} specialtyTypes - The specialty types for the evil team Leader. + * @param boolean whether or not this is the rematch fight + * @returns {TrainerConfig} - The updated TrainerConfig instance. + * **/ + initForEvilTeamLeader(title: string, signatureSpecies: (Species | Species[])[], rematch: boolean = false, ...specialtyTypes: Type[]): TrainerConfig { + if (!getIsInitialized()) { + initI18n(); + } + if (rematch) { + this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR); + } else { + this.setPartyTemplates(trainerPartyTemplates.RIVAL_5); + } + signatureSpecies.forEach((speciesPool, s) => { + if (!Array.isArray(speciesPool)) { + speciesPool = [speciesPool]; + } + this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); + }); + if (specialtyTypes.length) { + this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) !== undefined); + this.setSpecialtyTypes(...specialtyTypes); + } + const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); + this.name = i18next.t(`trainerNames:${nameForCall}`); + this.setTitle(title); + this.setMoneyMultiplier(2.5); + this.setBoss(); + this.setStaticParty(); + this.setHasVoucher(true); + this.setBattleBgm("battle_plasma_boss"); + this.setVictoryBgm("victory_team_plasma"); + + return this; + } + + /** + * Initializes the trainer configuration for a Gym Leader. + * @param {Species | Species[]} signatureSpecies - The signature species for the Gym Leader. + * @param {Type[]} specialtyTypes - The specialty types for the Gym Leader. + * @param isMale - Whether the Gym Leader is Male or Not (for localization of the title). + * @returns {TrainerConfig} - The updated TrainerConfig instance. + * **/ + initForGymLeader(signatureSpecies: (Species | Species[])[], isMale: boolean, ...specialtyTypes: Type[]): TrainerConfig { + // Check if the internationalization (i18n) system is initialized. + if (!getIsInitialized()) { + initI18n(); + } + + // Set the function to generate the Gym Leader's party template. + this.setPartyTemplateFunc(getGymLeaderPartyTemplate); + + // Set up party members with their corresponding species. + signatureSpecies.forEach((speciesPool, s) => { + // Ensure speciesPool is an array. + if (!Array.isArray(speciesPool)) { + speciesPool = [speciesPool]; + } + // Set a function to get a random party member from the species pool. + this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); + }); + + // If specialty types are provided, set species filter and specialty types. + if (specialtyTypes.length) { + this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) !== undefined); + this.setSpecialtyTypes(...specialtyTypes); + } + + // Localize the trainer's name by converting it to lowercase and replacing spaces with underscores. + const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); + this.name = i18next.t(`trainerNames:${nameForCall}`); + + // Set the title to "gym_leader". (this is the key in the i18n file) + this.setTitle("gym_leader"); + if (!isMale) { + this.setTitle("gym_leader_female"); + } + + // Configure various properties for the Gym Leader. + this.setMoneyMultiplier(2.5); + this.setBoss(); + this.setStaticParty(); + this.setHasVoucher(true); + this.setBattleBgm("battle_unova_gym"); + this.setVictoryBgm("victory_gym"); + this.setGenModifiersFunc(party => { + const waveIndex = party[0].scene.currentBattle.waveIndex; + return getRandomTeraModifiers(party, waveIndex >= 100 ? 1 : 0, specialtyTypes.length ? specialtyTypes : undefined); + }); + + return this; + } + + /** + * Initializes the trainer configuration for an Elite Four member. + * @param {Species | Species[]} signatureSpecies - The signature species for the Elite Four member. + * @param {Type[]} specialtyTypes - The specialty types for the Elite Four member. + * @param isMale - Whether the Elite Four Member is Male or Female (for localization of the title). + * @returns {TrainerConfig} - The updated TrainerConfig instance. + **/ + initForEliteFour(signatureSpecies: (Species | Species[])[], isMale: boolean, ...specialtyTypes: Type[]): TrainerConfig { + // Check if the internationalization (i18n) system is initialized. + if (!getIsInitialized()) { + initI18n(); + } + + // Set the party templates for the Elite Four. + this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR); + + // Set up party members with their corresponding species. + signatureSpecies.forEach((speciesPool, s) => { + // Ensure speciesPool is an array. + if (!Array.isArray(speciesPool)) { + speciesPool = [speciesPool]; + } + // Set a function to get a random party member from the species pool. + this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); + }); + + // Set species filter and specialty types if provided, otherwise filter by base total. + if (specialtyTypes.length) { + this.setSpeciesFilter(p => specialtyTypes.some(t => p.isOfType(t)) && p.baseTotal >= 450); + this.setSpecialtyTypes(...specialtyTypes); + } else { + this.setSpeciesFilter(p => p.baseTotal >= 450); + } + + // Localize the trainer's name by converting it to lowercase and replacing spaces with underscores. + const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); + this.name = i18next.t(`trainerNames:${nameForCall}`); + + // Set the title to "elite_four". (this is the key in the i18n file) + this.setTitle("elite_four"); + if (!isMale) { + this.setTitle("elite_four_female"); + } + + // Configure various properties for the Elite Four member. + this.setMoneyMultiplier(3.25); + this.setBoss(); + this.setStaticParty(); + this.setHasVoucher(true); + this.setBattleBgm("battle_unova_elite"); + this.setVictoryBgm("victory_gym"); + this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 2, specialtyTypes.length ? specialtyTypes : undefined)); + + return this; + } + + /** + * Initializes the trainer configuration for a Champion. + * @param {Species | Species[]} signatureSpecies - The signature species for the Champion. + * @param isMale - Whether the Champion is Male or Female (for localization of the title). + * @returns {TrainerConfig} - The updated TrainerConfig instance. + **/ + initForChampion(signatureSpecies: (Species | Species[])[], isMale: boolean): TrainerConfig { + // Check if the internationalization (i18n) system is initialized. + if (!getIsInitialized()) { + initI18n(); + } + + // Set the party templates for the Champion. + this.setPartyTemplates(trainerPartyTemplates.CHAMPION); + + // Set up party members with their corresponding species. + signatureSpecies.forEach((speciesPool, s) => { + // Ensure speciesPool is an array. + if (!Array.isArray(speciesPool)) { + speciesPool = [speciesPool]; + } + // Set a function to get a random party member from the species pool. + this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); + }); + + // Set species filter to only include species with a base total of 470 or higher. + this.setSpeciesFilter(p => p.baseTotal >= 470); + + // Localize the trainer's name by converting it to lowercase and replacing spaces with underscores. + const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); + this.name = i18next.t(`trainerNames:${nameForCall}`); + + // Set the title to "champion". (this is the key in the i18n file) + this.setTitle("champion"); + if (!isMale) { + this.setTitle("champion_female"); + } + + + // Configure various properties for the Champion. + this.setMoneyMultiplier(10); + this.setBoss(); + this.setStaticParty(); + this.setHasVoucher(true); + this.setBattleBgm("battle_champion_alder"); + this.setVictoryBgm("victory_champion"); + this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 3)); + + return this; + } + + /** + * Retrieves the title for the trainer based on the provided trainer slot and variant. + * @param {TrainerSlot} trainerSlot - The slot to determine which title to use. Defaults to TrainerSlot.NONE. + * @param {TrainerVariant} variant - The variant of the trainer to determine the specific title. + * @returns {string} - The title of the trainer. + **/ + getTitle(trainerSlot: TrainerSlot = TrainerSlot.NONE, variant: TrainerVariant): string { + const ret = this.name; + + // Check if the variant is double and the name for double exists + if (!trainerSlot && variant === TrainerVariant.DOUBLE && this.nameDouble) { + return this.nameDouble; + } + + // Female variant + if (this.hasGenders) { + // If the name is already set + if (this.nameFemale) { + // Check if the variant is either female or this is for the partner in a double battle + if (variant === TrainerVariant.FEMALE || (variant === TrainerVariant.DOUBLE && trainerSlot === TrainerSlot.TRAINER_PARTNER)) { + return this.nameFemale; + } + } else + // Check if !variant is true, if so return the name, else return the name with _female appended + if (variant) { + if (!getIsInitialized()) { + initI18n(); + } + // Check if the female version exists in the i18n file + if (i18next.exists(`trainerClasses:${this.name.toLowerCase()}`)) { + // If it does, return + return ret + "_female"; + } else { + // If it doesn't, we do not do anything and go to the normal return + // This is to prevent the game from displaying an error if a female version of the trainer does not exist in the localization + } + } + } + + return ret; + } + + loadAssets(scene: BattleScene, variant: TrainerVariant): Promise { + return new Promise(resolve => { + const isDouble = variant === TrainerVariant.DOUBLE; + const trainerKey = this.getSpriteKey(variant === TrainerVariant.FEMALE, false); + const partnerTrainerKey = this.getSpriteKey(true, true); + scene.loadAtlas(trainerKey, "trainer"); + if (isDouble) { + scene.loadAtlas(partnerTrainerKey, "trainer"); + } + scene.load.once(Phaser.Loader.Events.COMPLETE, () => { + const originalWarn = console.warn; + // Ignore warnings for missing frames, because there will be a lot + console.warn = () => { + }; + const frameNames = scene.anims.generateFrameNames(trainerKey, { + zeroPad: 4, + suffix: ".png", + start: 1, + end: 128 + }); + const partnerFrameNames = isDouble + ? scene.anims.generateFrameNames(partnerTrainerKey, { + zeroPad: 4, + suffix: ".png", + start: 1, + end: 128 + }) + : ""; + console.warn = originalWarn; + if (!(scene.anims.exists(trainerKey))) { + scene.anims.create({ + key: trainerKey, + frames: frameNames, + frameRate: 24, + repeat: -1 + }); + } + if (isDouble && !(scene.anims.exists(partnerTrainerKey))) { + scene.anims.create({ + key: partnerTrainerKey, + frames: partnerFrameNames, + frameRate: 24, + repeat: -1 + }); + } + resolve(); + }); + if (!scene.load.isLoading()) { + scene.load.start(); + } + }); + } +} + +let t = 0; + +interface TrainerConfigs { + [key: integer]: TrainerConfig +} + +/** + * The function to get variable strength grunts + * @param scene the singleton scene being passed in + * @returns the correct TrainerPartyTemplate + */ +function getEvilGruntPartyTemplate(scene: BattleScene): TrainerPartyTemplate { + const waveIndex = scene.currentBattle?.waveIndex; + if (waveIndex < 40) { + return trainerPartyTemplates.TWO_AVG; + } else if (waveIndex < 63) { + return trainerPartyTemplates.THREE_AVG; + } else if (waveIndex < 65) { + return trainerPartyTemplates.TWO_AVG_ONE_STRONG; + } else if (waveIndex < 112) { + return trainerPartyTemplates.GYM_LEADER_4; // 3avg 1 strong 1 stronger + } else { + return trainerPartyTemplates.GYM_LEADER_5; // 3 avg 2 strong 1 stronger + } +} + +function getWavePartyTemplate(scene: BattleScene, ...templates: TrainerPartyTemplate[]) { + return templates[Math.min(Math.max(Math.ceil((scene.gameMode.getWaveForDifficulty(scene.currentBattle?.waveIndex || startingWave, true) - 20) / 30), 0), templates.length - 1)]; +} + +function getGymLeaderPartyTemplate(scene: BattleScene) { + return getWavePartyTemplate(scene, trainerPartyTemplates.GYM_LEADER_1, trainerPartyTemplates.GYM_LEADER_2, trainerPartyTemplates.GYM_LEADER_3, trainerPartyTemplates.GYM_LEADER_4, trainerPartyTemplates.GYM_LEADER_5); +} + +function getRandomPartyMemberFunc(speciesPool: Species[], trainerSlot: TrainerSlot = TrainerSlot.TRAINER, ignoreEvolution: boolean = false, postProcess?: (enemyPokemon: EnemyPokemon) => void): PartyMemberFunc { + return (scene: BattleScene, level: integer, strength: PartyMemberStrength) => { + let species = Utils.randSeedItem(speciesPool); + if (!ignoreEvolution) { + species = getPokemonSpecies(species).getTrainerSpeciesForLevel(level, true, strength, scene.currentBattle.waveIndex); + } + return scene.addEnemyPokemon(getPokemonSpecies(species), level, trainerSlot, undefined, undefined, postProcess); + }; +} + +function getSpeciesFilterRandomPartyMemberFunc(speciesFilter: PokemonSpeciesFilter, trainerSlot: TrainerSlot = TrainerSlot.TRAINER, allowLegendaries?: boolean, postProcess?: (EnemyPokemon: EnemyPokemon) => void): PartyMemberFunc { + const originalSpeciesFilter = speciesFilter; + speciesFilter = (species: PokemonSpecies) => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden() && originalSpeciesFilter(species); + return (scene: BattleScene, level: integer, strength: PartyMemberStrength) => { + const ret = scene.addEnemyPokemon(getPokemonSpecies(scene.randomSpecies(scene.currentBattle.waveIndex, level, false, speciesFilter).getTrainerSpeciesForLevel(level, true, strength, scene.currentBattle.waveIndex)), level, trainerSlot, undefined, undefined, postProcess); + return ret; + }; +} + +function getRandomTeraModifiers(party: EnemyPokemon[], count: integer, types?: Type[]): PersistentModifier[] { + const ret: PersistentModifier[] = []; + const partyMemberIndexes = new Array(party.length).fill(null).map((_, i) => i); + for (let t = 0; t < Math.min(count, party.length); t++) { + const randomIndex = Utils.randSeedItem(partyMemberIndexes); + partyMemberIndexes.splice(partyMemberIndexes.indexOf(randomIndex), 1); + ret.push(modifierTypes.TERA_SHARD().generateType([], [Utils.randSeedItem(types ? types : party[randomIndex].getTypes())])!.withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(party[randomIndex]) as PersistentModifier); // TODO: is the bang correct? + } + return ret; +} + +type SignatureSpecies = { + [key in string]: (Species | Species[])[]; +}; + +/* + * The signature species for each Gym Leader, Elite Four member, and Champion. + * The key is the trainer type, and the value is an array of Species or Species arrays. + * This is in a separate const so it can be accessed from other places and not just the trainerConfigs + */ +export const signatureSpecies: SignatureSpecies = { + BROCK: [Species.GEODUDE, Species.ONIX], + MISTY: [Species.STARYU, Species.PSYDUCK], + LT_SURGE: [Species.VOLTORB, Species.PIKACHU, Species.ELECTABUZZ], + ERIKA: [Species.ODDISH, Species.BELLSPROUT, Species.TANGELA, Species.HOPPIP], + JANINE: [Species.VENONAT, Species.SPINARAK, Species.ZUBAT], + SABRINA: [Species.ABRA, Species.MR_MIME, Species.ESPEON], + BLAINE: [Species.GROWLITHE, Species.PONYTA, Species.MAGMAR], + GIOVANNI: [Species.SANDILE, Species.MURKROW, Species.NIDORAN_M, Species.NIDORAN_F], + FALKNER: [Species.PIDGEY, Species.HOOTHOOT, Species.DODUO], + BUGSY: [Species.SCYTHER, Species.HERACROSS, Species.SHUCKLE, Species.PINSIR], + WHITNEY: [Species.GIRAFARIG, Species.MILTANK], + MORTY: [Species.GASTLY, Species.MISDREAVUS, Species.SABLEYE], + CHUCK: [Species.POLIWRATH, Species.MANKEY], + JASMINE: [Species.MAGNEMITE, Species.STEELIX], + PRYCE: [Species.SEEL, Species.SWINUB], + CLAIR: [Species.DRATINI, Species.HORSEA, Species.GYARADOS], + ROXANNE: [Species.GEODUDE, Species.NOSEPASS], + BRAWLY: [Species.MACHOP, Species.MAKUHITA], + WATTSON: [Species.MAGNEMITE, Species.VOLTORB, Species.ELECTRIKE], + FLANNERY: [Species.SLUGMA, Species.TORKOAL, Species.NUMEL], + NORMAN: [Species.SLAKOTH, Species.SPINDA, Species.CHANSEY, Species.KANGASKHAN], + WINONA: [Species.SWABLU, Species.WINGULL, Species.TROPIUS, Species.SKARMORY], + TATE: [Species.SOLROCK, Species.NATU, Species.CHIMECHO, Species.GALLADE], + LIZA: [Species.LUNATONE, Species.SPOINK, Species.BALTOY, Species.GARDEVOIR], + JUAN: [Species.HORSEA, Species.BARBOACH, Species.SPHEAL, Species.RELICANTH], + ROARK: [Species.CRANIDOS, Species.LARVITAR, Species.GEODUDE], + GARDENIA: [Species.ROSELIA, Species.TANGELA, Species.TURTWIG], + MAYLENE: [Species.LUCARIO, Species.MEDITITE, Species.CHIMCHAR], + CRASHER_WAKE: [Species.BUIZEL, Species.MAGIKARP, Species.PIPLUP], + FANTINA: [Species.MISDREAVUS, Species.DRIFLOON, Species.SPIRITOMB], + BYRON: [Species.SHIELDON, Species.BRONZOR, Species.AGGRON], + CANDICE: [Species.SNEASEL, Species.SNOVER, Species.SNORUNT], + VOLKNER: [Species.SHINX, Species.CHINCHOU, Species.ROTOM], + CILAN: [Species.PANSAGE, Species.COTTONEE, Species.PETILIL], + CHILI: [Species.PANSEAR, Species.DARUMAKA, Species.HEATMOR], + CRESS: [Species.PANPOUR, Species.BASCULIN, Species.TYMPOLE], + CHEREN: [Species.LILLIPUP, Species.MINCCINO, Species.PATRAT], + LENORA: [Species.KANGASKHAN, Species.DEERLING, Species.AUDINO], + ROXIE: [Species.VENIPEDE, Species.TRUBBISH, Species.SKORUPI], + BURGH: [Species.SEWADDLE, Species.SHELMET, Species.KARRABLAST], + ELESA: [Species.EMOLGA, Species.BLITZLE, Species.JOLTIK], + CLAY: [Species.DRILBUR, Species.SANDILE, Species.GOLETT], + SKYLA: [Species.DUCKLETT, Species.WOOBAT, Species.RUFFLET], + BRYCEN: [Species.CRYOGONAL, Species.VANILLITE, Species.CUBCHOO], + DRAYDEN: [Species.DRUDDIGON, Species.AXEW, Species.DEINO], + MARLON: [Species.WAILMER, Species.FRILLISH, Species.TIRTOUGA], + VIOLA: [Species.SURSKIT, Species.SCATTERBUG], + GRANT: [Species.AMAURA, Species.TYRUNT], + KORRINA: [Species.HAWLUCHA, Species.LUCARIO, Species.MIENFOO], + RAMOS: [Species.SKIDDO, Species.HOPPIP, Species.BELLSPROUT], + CLEMONT: [Species.HELIOPTILE, Species.MAGNEMITE, Species.EMOLGA], + VALERIE: [Species.SYLVEON, Species.MAWILE, Species.MR_MIME], + OLYMPIA: [Species.ESPURR, Species.SIGILYPH, Species.SLOWKING], + WULFRIC: [Species.BERGMITE, Species.SNOVER, Species.CRYOGONAL], + MILO: [Species.GOSSIFLEUR, Species.APPLIN, Species.BOUNSWEET], + NESSA: [Species.CHEWTLE, Species.ARROKUDA, Species.WIMPOD], + KABU: [Species.SIZZLIPEDE, Species.VULPIX, Species.TORKOAL], + BEA: [Species.GALAR_FARFETCHD, Species.MACHOP, Species.CLOBBOPUS], + ALLISTER: [Species.GALAR_YAMASK, Species.GALAR_CORSOLA, Species.GASTLY], + OPAL: [Species.MILCERY, Species.TOGETIC, Species.GALAR_WEEZING], + BEDE: [Species.HATENNA, Species.GALAR_PONYTA, Species.GARDEVOIR], + GORDIE: [Species.ROLYCOLY, Species.STONJOURNER, Species.BINACLE], + MELONY: [Species.SNOM, Species.GALAR_DARUMAKA, Species.GALAR_MR_MIME], + PIERS: [Species.GALAR_ZIGZAGOON, Species.SCRAGGY, Species.INKAY], + MARNIE: [Species.IMPIDIMP, Species.PURRLOIN, Species.MORPEKO], + RAIHAN: [Species.DURALUDON, Species.TURTONATOR, Species.GOOMY], + KATY: [Species.NYMBLE, Species.TAROUNTULA, Species.HERACROSS], + BRASSIUS: [Species.SMOLIV, Species.SHROOMISH, Species.ODDISH], + IONO: [Species.TADBULB, Species.WATTREL, Species.VOLTORB], + KOFU: [Species.VELUZA, Species.WIGLETT, Species.WINGULL], + LARRY: [Species.STARLY, Species.DUNSPARCE, Species.KOMALA], + RYME: [Species.GREAVARD, Species.SHUPPET, Species.MIMIKYU], + TULIP: [Species.GIRAFARIG, Species.FLITTLE, Species.RALTS], + GRUSHA: [Species.CETODDLE, Species.ALOLA_VULPIX, Species.CUBCHOO], + LORELEI: [Species.JYNX, [Species.SLOWBRO, Species.GALAR_SLOWBRO], Species.LAPRAS, [Species.ALOLA_SANDSLASH, Species.CLOYSTER]], + BRUNO: [Species.MACHAMP, Species.HITMONCHAN, Species.HITMONLEE, [Species.ALOLA_GOLEM, Species.GOLEM]], + AGATHA: [Species.GENGAR, [Species.ARBOK, Species.WEEZING], Species.CROBAT, Species.ALOLA_MAROWAK], + LANCE: [Species.DRAGONITE, Species.GYARADOS, Species.AERODACTYL, Species.ALOLA_EXEGGUTOR], + WILL: [Species.XATU, Species.JYNX, [Species.SLOWBRO, Species.SLOWKING], Species.EXEGGUTOR], + KOGA: [[Species.WEEZING, Species.MUK], [Species.VENOMOTH, Species.ARIADOS], Species.CROBAT, Species.TENTACRUEL], + KAREN: [Species.UMBREON, Species.HONCHKROW, Species.HOUNDOOM, Species.WEAVILE], + SIDNEY: [[Species.SHIFTRY, Species.CACTURNE], [Species.SHARPEDO, Species.CRAWDAUNT], Species.ABSOL, Species.MIGHTYENA], + PHOEBE: [Species.SABLEYE, Species.DUSKNOIR, Species.BANETTE, [Species.MISMAGIUS, Species.DRIFBLIM]], + GLACIA: [Species.GLALIE, Species.WALREIN, Species.FROSLASS, Species.ABOMASNOW], + DRAKE: [Species.ALTARIA, Species.SALAMENCE, Species.FLYGON, Species.KINGDRA], + AARON: [[Species.SCIZOR, Species.KLEAVOR], Species.HERACROSS, [Species.VESPIQUEN, Species.YANMEGA], Species.DRAPION], + BERTHA: [Species.WHISCASH, Species.HIPPOWDON, Species.GLISCOR, Species.RHYPERIOR], + FLINT: [[Species.FLAREON, Species.RAPIDASH], Species.MAGMORTAR, [Species.STEELIX, Species.LOPUNNY], Species.INFERNAPE], + LUCIAN: [Species.MR_MIME, Species.GALLADE, Species.BRONZONG, [Species.ALAKAZAM, Species.ESPEON]], + SHAUNTAL: [Species.COFAGRIGUS, Species.CHANDELURE, Species.GOLURK, Species.JELLICENT], + MARSHAL: [Species.CONKELDURR, Species.MIENSHAO, Species.THROH, Species.SAWK], + GRIMSLEY: [Species.LIEPARD, Species.KINGAMBIT, Species.SCRAFTY, Species.KROOKODILE], + CAITLIN: [Species.MUSHARNA, Species.GOTHITELLE, Species.SIGILYPH, Species.REUNICLUS], + MALVA: [Species.PYROAR, Species.TORKOAL, Species.CHANDELURE, Species.TALONFLAME], + SIEBOLD: [Species.CLAWITZER, Species.GYARADOS, Species.BARBARACLE, Species.STARMIE], + WIKSTROM: [Species.KLEFKI, Species.PROBOPASS, Species.SCIZOR, Species.AEGISLASH], + DRASNA: [Species.DRAGALGE, Species.DRUDDIGON, Species.ALTARIA, Species.NOIVERN], + HALA: [Species.HARIYAMA, Species.BEWEAR, Species.CRABOMINABLE, [Species.POLIWRATH, Species.ANNIHILAPE]], + MOLAYNE: [Species.KLEFKI, Species.MAGNEZONE, Species.METAGROSS, Species.ALOLA_DUGTRIO], + OLIVIA: [Species.RELICANTH, Species.CARBINK, Species.ALOLA_GOLEM, Species.LYCANROC], + ACEROLA: [[Species.BANETTE, Species.DRIFBLIM], Species.MIMIKYU, Species.DHELMISE, Species.PALOSSAND], + KAHILI: [[Species.BRAVIARY, Species.MANDIBUZZ], Species.HAWLUCHA, Species.ORICORIO, Species.TOUCANNON], + MARNIE_ELITE: [Species.MORPEKO, Species.LIEPARD, [Species.TOXICROAK, Species.SCRAFTY], Species.GRIMMSNARL], + NESSA_ELITE: [Species.GOLISOPOD, [Species.PELIPPER, Species.QUAGSIRE], Species.TOXAPEX, Species.DREDNAW], + BEA_ELITE: [Species.HAWLUCHA, [Species.GRAPPLOCT, Species.SIRFETCHD], Species.FALINKS, Species.MACHAMP], + ALLISTER_ELITE: [Species.DUSKNOIR, [Species.POLTEAGEIST, Species.RUNERIGUS], Species.CURSOLA, Species.GENGAR], + RAIHAN_ELITE: [Species.GOODRA, [Species.TORKOAL, Species.TURTONATOR], Species.FLYGON, Species.ARCHALUDON], + RIKA: [Species.WHISCASH, [Species.DONPHAN, Species.DUGTRIO], Species.CAMERUPT, Species.CLODSIRE], + POPPY: [Species.COPPERAJAH, Species.BRONZONG, Species.CORVIKNIGHT, Species.TINKATON], + LARRY_ELITE: [Species.STARAPTOR, Species.FLAMIGO, Species.ALTARIA, Species.TROPIUS], + HASSEL: [Species.NOIVERN, [Species.FLAPPLE, Species.APPLETUN], Species.DRAGALGE, Species.BAXCALIBUR], + CRISPIN: [Species.TALONFLAME, Species.CAMERUPT, Species.MAGMORTAR, Species.BLAZIKEN], + AMARYS: [Species.SKARMORY, Species.EMPOLEON, Species.SCIZOR, Species.METAGROSS], + LACEY: [Species.EXCADRILL, Species.PRIMARINA, [Species.ALCREMIE, Species.GRANBULL], Species.WHIMSICOTT], + DRAYTON: [Species.DRAGONITE, Species.ARCHALUDON, Species.HAXORUS, Species.SCEPTILE], + BLUE: [[Species.GYARADOS, Species.EXEGGUTOR, Species.ARCANINE], Species.HO_OH, [Species.RHYPERIOR, Species.MAGNEZONE]], // Alakazam lead, Mega Pidgeot + RED: [Species.LUGIA, Species.SNORLAX, [Species.ESPEON, Species.UMBREON, Species.SYLVEON]], // GMax Pikachu lead, Mega gen 1 starter + LANCE_CHAMPION: [Species.DRAGONITE, Species.KINGDRA, Species.ALOLA_EXEGGUTOR], // Aerodactyl lead, Mega Latias/Latios + STEVEN: [Species.AGGRON, [Species.ARMALDO, Species.CRADILY], Species.DIALGA], // Skarmory lead, Mega Metagross + WALLACE: [Species.MILOTIC, Species.PALKIA, Species.LUDICOLO], // Pelipper lead, Mega Swampert + CYNTHIA: [Species.GIRATINA, Species.LUCARIO, Species.TOGEKISS], // Spiritomb lead, Mega Garchomp + ALDER: [Species.VOLCARONA, Species.ZEKROM, [Species.ACCELGOR, Species.ESCAVALIER], Species.KELDEO], // Bouffalant/Braviary lead + IRIS: [Species.HAXORUS, Species.RESHIRAM, Species.ARCHEOPS], // Druddigon lead, Gmax Lapras + DIANTHA: [Species.HAWLUCHA, Species.XERNEAS, Species.GOODRA], // Gourgeist lead, Mega Gardevoir + HAU: [[Species.SOLGALEO, Species.LUNALA], Species.NOIVERN, [Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA], [Species.TAPU_BULU, Species.TAPU_FINI, Species.TAPU_KOKO, Species.TAPU_LELE]], // Alola Raichu lead + LEON: [Species.DRAGAPULT, [Species.ZACIAN, Species.ZAMAZENTA], Species.AEGISLASH], // Rillaboom/Cinderace/Inteleon lead, GMax Charizard + GEETA: [Species.MIRAIDON, [Species.ESPATHRA, Species.VELUZA], [Species.AVALUGG, Species.HISUI_AVALUGG], Species.KINGAMBIT], // Glimmora lead + NEMONA: [Species.KORAIDON, Species.PAWMOT, [Species.DUDUNSPARCE, Species.ORTHWORM], [Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL]], // Lycanroc lead + KIERAN: [[Species.GRIMMSNARL, Species.INCINEROAR, Species.PORYGON_Z], Species.OGERPON, Species.TERAPAGOS, Species.HYDRAPPLE], // Poliwrath/Politoed lead +}; + +export const trainerConfigs: TrainerConfigs = { + [TrainerType.UNKNOWN]: new TrainerConfig(0).setHasGenders(), + [TrainerType.ACE_TRAINER]: new TrainerConfig(++t).setHasGenders("Ace Trainer Female").setHasDouble("Ace Duo").setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.ACE_TRAINER) + .setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.THREE_WEAK_BALANCED, trainerPartyTemplates.FOUR_WEAK_BALANCED, trainerPartyTemplates.FIVE_WEAK_BALANCED, trainerPartyTemplates.SIX_WEAK_BALANCED)), + [TrainerType.ARTIST]: new TrainerConfig(++t).setEncounterBgm(TrainerType.RICH).setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.THREE_AVG) + .setSpeciesPools([Species.SMEARGLE]), + [TrainerType.BACKERS]: new TrainerConfig(++t).setHasGenders("Backers").setDoubleOnly().setEncounterBgm(TrainerType.CYCLIST), + [TrainerType.BACKPACKER]: new TrainerConfig(++t).setHasGenders("Backpacker Female").setHasDouble("Backpackers").setSpeciesFilter(s => s.isOfType(Type.FLYING) || s.isOfType(Type.ROCK)).setEncounterBgm(TrainerType.BACKPACKER) + .setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.ONE_WEAK_ONE_STRONG, trainerPartyTemplates.ONE_AVG_ONE_STRONG) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.RHYHORN, Species.AIPOM, Species.MAKUHITA, Species.MAWILE, Species.NUMEL, Species.LILLIPUP, Species.SANDILE, Species.WOOLOO], + [TrainerPoolTier.UNCOMMON]: [Species.GIRAFARIG, Species.ZANGOOSE, Species.SEVIPER, Species.CUBCHOO, Species.PANCHAM, Species.SKIDDO, Species.MUDBRAY], + [TrainerPoolTier.RARE]: [Species.TAUROS, Species.STANTLER, Species.DARUMAKA, Species.BOUFFALANT, Species.DEERLING, Species.IMPIDIMP], + [TrainerPoolTier.SUPER_RARE]: [Species.GALAR_DARUMAKA, Species.TEDDIURSA] + }), + [TrainerType.BAKER]: new TrainerConfig(++t).setEncounterBgm(TrainerType.CLERK).setMoneyMultiplier(1.35).setSpeciesFilter(s => s.isOfType(Type.GRASS) || s.isOfType(Type.FIRE)), + [TrainerType.BEAUTY]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.PARASOL_LADY), + [TrainerType.BIKER]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.POISON)), + [TrainerType.BLACK_BELT]: new TrainerConfig(++t).setHasGenders("Battle Girl", TrainerType.PSYCHIC).setHasDouble("Crush Kin").setEncounterBgm(TrainerType.ROUGHNECK).setSpecialtyTypes(Type.FIGHTING) + .setPartyTemplates(trainerPartyTemplates.TWO_WEAK_ONE_AVG, trainerPartyTemplates.TWO_WEAK_ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_ONE_STRONG, trainerPartyTemplates.THREE_AVG, trainerPartyTemplates.TWO_AVG_ONE_STRONG) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.NIDORAN_F, Species.NIDORAN_M, Species.MACHOP, Species.MAKUHITA, Species.MEDITITE, Species.CROAGUNK, Species.TIMBURR], + [TrainerPoolTier.UNCOMMON]: [Species.MANKEY, Species.POLIWRATH, Species.TYROGUE, Species.BRELOOM, Species.SCRAGGY, Species.MIENFOO, Species.PANCHAM, Species.STUFFUL, Species.CRABRAWLER], + [TrainerPoolTier.RARE]: [Species.HERACROSS, Species.RIOLU, Species.THROH, Species.SAWK, Species.PASSIMIAN, Species.CLOBBOPUS], + [TrainerPoolTier.SUPER_RARE]: [Species.HITMONTOP, Species.INFERNAPE, Species.GALLADE, Species.HAWLUCHA, Species.HAKAMO_O], + [TrainerPoolTier.ULTRA_RARE]: [Species.KUBFU] + }), + [TrainerType.BREEDER]: new TrainerConfig(++t).setMoneyMultiplier(1.325).setEncounterBgm(TrainerType.POKEFAN).setHasGenders("Breeder Female").setHasDouble("Breeders") + .setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.FOUR_WEAKER, trainerPartyTemplates.FIVE_WEAKER, trainerPartyTemplates.SIX_WEAKER)) + .setSpeciesFilter(s => s.baseTotal < 450), + [TrainerType.CLERK]: new TrainerConfig(++t).setHasGenders("Clerk Female").setHasDouble("Colleagues").setEncounterBgm(TrainerType.CLERK) + .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.THREE_WEAK, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_ONE_AVG) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.MEOWTH, Species.PSYDUCK, Species.BUDEW, Species.PIDOVE, Species.CINCCINO, Species.LITLEO], + [TrainerPoolTier.UNCOMMON]: [Species.JIGGLYPUFF, Species.MAGNEMITE, Species.MARILL, Species.COTTONEE, Species.SKIDDO], + [TrainerPoolTier.RARE]: [Species.BUIZEL, Species.SNEASEL, Species.KLEFKI, Species.INDEEDEE] + }), + [TrainerType.CYCLIST]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setHasGenders("Cyclist Female").setHasDouble("Cyclists").setEncounterBgm(TrainerType.CYCLIST) + .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.PICHU, Species.STARLY, Species.TAILLOW, Species.BOLTUND], + [TrainerPoolTier.UNCOMMON]: [Species.DODUO, Species.ELECTRIKE, Species.BLITZLE, Species.WATTREL], + [TrainerPoolTier.RARE]: [Species.YANMA, Species.NINJASK, Species.WHIRLIPEDE, Species.EMOLGA], + [TrainerPoolTier.SUPER_RARE]: [Species.ACCELGOR, Species.DREEPY] + }), + [TrainerType.DANCER]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.CYCLIST) + .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.RALTS, Species.SPOINK, Species.LOTAD, Species.BUDEW], + [TrainerPoolTier.UNCOMMON]: [Species.SPINDA, Species.SWABLU, Species.MARACTUS,], + [TrainerPoolTier.RARE]: [Species.BELLOSSOM, Species.HITMONTOP, Species.MIME_JR, Species.ORICORIO], + [TrainerPoolTier.SUPER_RARE]: [Species.POPPLIO] + }), + [TrainerType.DEPOT_AGENT]: new TrainerConfig(++t).setMoneyMultiplier(1.45).setEncounterBgm(TrainerType.CLERK), + [TrainerType.DOCTOR]: new TrainerConfig(++t).setHasGenders("Nurse", "lass").setHasDouble("Medical Team").setMoneyMultiplier(3).setEncounterBgm(TrainerType.CLERK) + .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.HEAL_PULSE)), + [TrainerType.FIREBREATHER]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK) + .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.SMOG) || s.isOfType(Type.FIRE)), + [TrainerType.FISHERMAN]: new TrainerConfig(++t).setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.BACKPACKER).setSpecialtyTypes(Type.WATER) + .setPartyTemplates(trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.THREE_WEAK_SAME, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.SIX_WEAKER) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.TENTACOOL, Species.MAGIKARP, Species.GOLDEEN, Species.STARYU, Species.REMORAID, Species.SKRELP, Species.CLAUNCHER, Species.ARROKUDA], + [TrainerPoolTier.UNCOMMON]: [Species.POLIWAG, Species.SHELLDER, Species.KRABBY, Species.HORSEA, Species.CARVANHA, Species.BARBOACH, Species.CORPHISH, Species.FINNEON, Species.TYMPOLE, Species.BASCULIN, Species.FRILLISH, Species.INKAY], + [TrainerPoolTier.RARE]: [Species.CHINCHOU, Species.CORSOLA, Species.WAILMER, Species.BARBOACH, Species.CLAMPERL, Species.LUVDISC, Species.MANTYKE, Species.ALOMOMOLA, Species.TATSUGIRI, Species.VELUZA], + [TrainerPoolTier.SUPER_RARE]: [Species.LAPRAS, Species.FEEBAS, Species.RELICANTH, Species.DONDOZO] + }), + [TrainerType.GUITARIST]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.ROUGHNECK).setSpecialtyTypes(Type.ELECTRIC).setSpeciesFilter(s => s.isOfType(Type.ELECTRIC)), + [TrainerType.HARLEQUIN]: new TrainerConfig(++t).setEncounterBgm(TrainerType.PSYCHIC).setSpeciesFilter(s => tmSpecies[Moves.TRICK_ROOM].indexOf(s.speciesId) > -1), + [TrainerType.HIKER]: new TrainerConfig(++t).setEncounterBgm(TrainerType.BACKPACKER) + .setPartyTemplates(trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG, trainerPartyTemplates.TWO_AVG_SAME_ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.FOUR_WEAK, trainerPartyTemplates.ONE_STRONG) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.SANDSHREW, Species.DIGLETT, Species.GEODUDE, Species.MACHOP, Species.ARON, Species.ROGGENROLA, Species.DRILBUR, Species.NACLI], + [TrainerPoolTier.UNCOMMON]: [Species.ZUBAT, Species.RHYHORN, Species.ONIX, Species.CUBONE, Species.WOOBAT, Species.SWINUB, Species.NOSEPASS, Species.HIPPOPOTAS, Species.DWEBBLE, Species.KLAWF, Species.TOEDSCOOL], + [TrainerPoolTier.RARE]: [Species.TORKOAL, Species.TRAPINCH, Species.BARBOACH, Species.GOLETT, Species.ALOLA_DIGLETT, Species.ALOLA_GEODUDE, Species.GALAR_STUNFISK, Species.PALDEA_WOOPER], + [TrainerPoolTier.SUPER_RARE]: [Species.MAGBY, Species.LARVITAR] + }), + [TrainerType.HOOLIGANS]: new TrainerConfig(++t).setDoubleOnly().setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.POISON) || s.isOfType(Type.DARK)), + [TrainerType.HOOPSTER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), + [TrainerType.INFIELDER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), + [TrainerType.JANITOR]: new TrainerConfig(++t).setMoneyMultiplier(1.1).setEncounterBgm(TrainerType.CLERK), + [TrainerType.LINEBACKER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), + [TrainerType.MAID]: new TrainerConfig(++t).setMoneyMultiplier(1.6).setEncounterBgm(TrainerType.RICH), + [TrainerType.MUSICIAN]: new TrainerConfig(++t).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.SING)), + [TrainerType.HEX_MANIAC]: new TrainerConfig(++t).setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PSYCHIC) + .setPartyTemplates(trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.ONE_AVG_ONE_STRONG, trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG, trainerPartyTemplates.THREE_AVG, trainerPartyTemplates.TWO_STRONG) + .setSpeciesFilter(s => s.isOfType(Type.GHOST)), + [TrainerType.NURSERY_AIDE]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setEncounterBgm("lass"), + [TrainerType.OFFICER]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.CLERK) + .setPartyTemplates(trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.VULPIX, Species.GROWLITHE, Species.SNUBBULL, Species.POOCHYENA, Species.ELECTRIKE, Species.LILLIPUP, Species.YAMPER, Species.FIDOUGH], + [TrainerPoolTier.UNCOMMON]: [Species.HOUNDOUR, Species.ROCKRUFF, Species.MASCHIFF], + [TrainerPoolTier.RARE]: [Species.JOLTEON, Species.RIOLU], + [TrainerPoolTier.SUPER_RARE]: [], + [TrainerPoolTier.ULTRA_RARE]: [Species.ENTEI, Species.SUICUNE, Species.RAIKOU] + }), + [TrainerType.PARASOL_LADY]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.PARASOL_LADY).setSpeciesFilter(s => s.isOfType(Type.WATER)), + [TrainerType.PILOT]: new TrainerConfig(++t).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => tmSpecies[Moves.FLY].indexOf(s.speciesId) > -1), + [TrainerType.POKEFAN]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setName("PokéFan").setHasGenders("PokéFan Female").setHasDouble("PokéFan Family").setEncounterBgm(TrainerType.POKEFAN) + .setPartyTemplates(trainerPartyTemplates.SIX_WEAKER, trainerPartyTemplates.FOUR_WEAK, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.FOUR_WEAK_SAME, trainerPartyTemplates.FIVE_WEAK, trainerPartyTemplates.SIX_WEAKER_SAME), + [TrainerType.PRESCHOOLER]: new TrainerConfig(++t).setMoneyMultiplier(0.2).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders("Preschooler Female", "lass").setHasDouble("Preschoolers") + .setPartyTemplates(trainerPartyTemplates.THREE_WEAK, trainerPartyTemplates.FOUR_WEAKER, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.FIVE_WEAKER) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.CATERPIE, Species.PICHU, Species.SANDSHREW, Species.LEDYBA, Species.BUDEW, Species.BURMY, Species.WOOLOO, Species.PAWMI, Species.SMOLIV], + [TrainerPoolTier.UNCOMMON]: [Species.EEVEE, Species.CLEFFA, Species.IGGLYBUFF, Species.SWINUB, Species.WOOPER, Species.DRIFLOON, Species.DEDENNE, Species.STUFFUL], + [TrainerPoolTier.RARE]: [Species.RALTS, Species.RIOLU, Species.JOLTIK, Species.TANDEMAUS], + [TrainerPoolTier.SUPER_RARE]: [Species.DARUMAKA, Species.TINKATINK], + }), + [TrainerType.PSYCHIC]: new TrainerConfig(++t).setHasGenders("Psychic Female").setHasDouble("Psychics").setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.PSYCHIC) + .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME, trainerPartyTemplates.ONE_STRONGER) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.ABRA, Species.DROWZEE, Species.RALTS, Species.SPOINK, Species.GOTHITA, Species.SOLOSIS, Species.BLIPBUG, Species.ESPURR, Species.HATENNA], + [TrainerPoolTier.UNCOMMON]: [Species.MIME_JR, Species.EXEGGCUTE, Species.MEDITITE, Species.NATU, Species.EXEGGCUTE, Species.WOOBAT, Species.INKAY, Species.ORANGURU], + [TrainerPoolTier.RARE]: [Species.ELGYEM, Species.SIGILYPH, Species.BALTOY, Species.GIRAFARIG, Species.MEOWSTIC], + [TrainerPoolTier.SUPER_RARE]: [Species.BELDUM, Species.ESPEON, Species.STANTLER], + }), + [TrainerType.RANGER]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setName("Pokémon Ranger").setEncounterBgm(TrainerType.BACKPACKER).setHasGenders("Pokémon Ranger Female").setHasDouble("Pokémon Rangers") + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.PICHU, Species.GROWLITHE, Species.PONYTA, Species.ZIGZAGOON, Species.SEEDOT, Species.BIDOOF, Species.RIOLU, Species.SEWADDLE, Species.SKIDDO, Species.SALANDIT, Species.YAMPER], + [TrainerPoolTier.UNCOMMON]: [Species.AZURILL, Species.TAUROS, Species.MAREEP, Species.FARFETCHD, Species.TEDDIURSA, Species.SHROOMISH, Species.ELECTRIKE, Species.BUDEW, Species.BUIZEL, Species.MUDBRAY, Species.STUFFUL], + [TrainerPoolTier.RARE]: [Species.EEVEE, Species.SCYTHER, Species.KANGASKHAN, Species.RALTS, Species.MUNCHLAX, Species.ZORUA, Species.PALDEA_TAUROS, Species.TINKATINK, Species.CYCLIZAR, Species.FLAMIGO], + [TrainerPoolTier.SUPER_RARE]: [Species.LARVESTA], + }), + [TrainerType.RICH]: new TrainerConfig(++t).setMoneyMultiplier(5).setName("Gentleman").setHasGenders("Madame").setHasDouble("Rich Couple"), + [TrainerType.RICH_KID]: new TrainerConfig(++t).setMoneyMultiplier(3.75).setName("Rich Boy").setHasGenders("Lady").setHasDouble("Rich Kids").setEncounterBgm(TrainerType.RICH), + [TrainerType.ROUGHNECK]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.DARK)), + [TrainerType.SAILOR]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.BACKPACKER).setSpeciesFilter(s => s.isOfType(Type.WATER) || s.isOfType(Type.FIGHTING)), + [TrainerType.SCIENTIST]: new TrainerConfig(++t).setHasGenders("Scientist Female").setHasDouble("Scientists").setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.SCIENTIST) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.MAGNEMITE, Species.GRIMER, Species.DROWZEE, Species.VOLTORB, Species.KOFFING], + [TrainerPoolTier.UNCOMMON]: [Species.BALTOY, Species.BRONZOR, Species.FERROSEED, Species.KLINK, Species.CHARJABUG, Species.BLIPBUG, Species.HELIOPTILE], + [TrainerPoolTier.RARE]: [Species.ABRA, Species.DITTO, Species.PORYGON, Species.ELEKID, Species.SOLOSIS, Species.GALAR_WEEZING], + [TrainerPoolTier.SUPER_RARE]: [Species.OMANYTE, Species.KABUTO, Species.AERODACTYL, Species.LILEEP, Species.ANORITH, Species.CRANIDOS, Species.SHIELDON, Species.TIRTOUGA, Species.ARCHEN, Species.ARCTOVISH, Species.ARCTOZOLT, Species.DRACOVISH, Species.DRACOZOLT], + [TrainerPoolTier.ULTRA_RARE]: [Species.ROTOM, Species.MELTAN] + }), + [TrainerType.SMASHER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), + [TrainerType.SNOW_WORKER]: new TrainerConfig(++t).setName("Worker").setHasGenders("Worker Female").setHasDouble("Workers").setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => s.isOfType(Type.ICE) || s.isOfType(Type.STEEL)), + [TrainerType.STRIKER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), + [TrainerType.SCHOOL_KID]: new TrainerConfig(++t).setMoneyMultiplier(0.75).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders("School Kid Female", "lass").setHasDouble("School Kids") + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.ODDISH, Species.EXEGGCUTE, Species.TEDDIURSA, Species.WURMPLE, Species.RALTS, Species.SHROOMISH, Species.FLETCHLING], + [TrainerPoolTier.UNCOMMON]: [Species.VOLTORB, Species.WHISMUR, Species.MEDITITE, Species.MIME_JR, Species.NYMBLE], + [TrainerPoolTier.RARE]: [Species.TANGELA, Species.EEVEE, Species.YANMA], + [TrainerPoolTier.SUPER_RARE]: [Species.TADBULB] + }), + [TrainerType.SWIMMER]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setEncounterBgm(TrainerType.PARASOL_LADY).setHasGenders("Swimmer Female").setHasDouble("Swimmers").setSpecialtyTypes(Type.WATER).setSpeciesFilter(s => s.isOfType(Type.WATER)), + [TrainerType.TWINS]: new TrainerConfig(++t).setDoubleOnly().setMoneyMultiplier(0.65).setUseSameSeedForAllMembers() + .setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_STRONG)) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PLUSLE, Species.VOLBEAT, Species.PACHIRISU, Species.SILCOON, Species.METAPOD, Species.IGGLYBUFF, Species.PETILIL, Species.EEVEE])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.MINUN, Species.ILLUMISE, Species.EMOLGA, Species.CASCOON, Species.KAKUNA, Species.CLEFFA, Species.COTTONEE, Species.EEVEE], TrainerSlot.TRAINER_PARTNER)) + .setEncounterBgm(TrainerType.TWINS), + [TrainerType.VETERAN]: new TrainerConfig(++t).setHasGenders("Veteran Female").setHasDouble("Veteran Duo").setMoneyMultiplier(2.5).setEncounterBgm(TrainerType.ACE_TRAINER).setSpeciesFilter(s => s.isOfType(Type.DRAGON)), + [TrainerType.WAITER]: new TrainerConfig(++t).setHasGenders("Waitress").setHasDouble("Restaurant Staff").setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.CLERK) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.CLEFFA, Species.CHATOT, Species.PANSAGE, Species.PANSEAR, Species.PANPOUR, Species.MINCCINO], + [TrainerPoolTier.UNCOMMON]: [Species.TROPIUS, Species.PETILIL, Species.BOUNSWEET, Species.INDEEDEE], + [TrainerPoolTier.RARE]: [Species.APPLIN, Species.SINISTEA, Species.POLTCHAGEIST] + }), + [TrainerType.WORKER]: new TrainerConfig(++t).setHasGenders("Worker Female").setHasDouble("Workers").setEncounterBgm(TrainerType.CLERK).setMoneyMultiplier(1.7).setSpeciesFilter(s => s.isOfType(Type.ROCK) || s.isOfType(Type.STEEL)), + [TrainerType.YOUNGSTER]: new TrainerConfig(++t).setMoneyMultiplier(0.5).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders("Lass", "lass").setHasDouble("Beginners").setPartyTemplates(trainerPartyTemplates.TWO_WEAKER) + .setSpeciesPools( + [Species.CATERPIE, Species.WEEDLE, Species.RATTATA, Species.SENTRET, Species.POOCHYENA, Species.ZIGZAGOON, Species.WURMPLE, Species.BIDOOF, Species.PATRAT, Species.LILLIPUP] + ), + [TrainerType.ROCKET_GRUNT]: new TrainerConfig(++t).setHasGenders("Rocket Grunt Female").setHasDouble("Rocket Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.WEEDLE, Species.RATTATA, Species.EKANS, Species.SANDSHREW, Species.ZUBAT, Species.GEODUDE, Species.KOFFING, Species.GRIMER, Species.ODDISH], + [TrainerPoolTier.UNCOMMON]: [Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], + [TrainerPoolTier.RARE]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], + [TrainerPoolTier.SUPER_RARE]: [Species.DRATINI, Species.LARVITAR] + }), + [TrainerType.ARCHER]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin", "rocket", [Species.HOUNDOOM]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.ARIANA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin_female", "rocket", [Species.ARBOK]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.PROTON]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin", "rocket", [Species.CROBAT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.PETREL]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin", "rocket", [Species.WEEZING]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.MAGMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Magma Grunt Female").setHasDouble("Magma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.SLUGMA, Species.POOCHYENA, Species.NUMEL, Species.ZIGZAGOON, Species.DIGLETT, Species.MAGBY, Species.TORKOAL, Species.BALTOY, Species.BARBOACH], + [TrainerPoolTier.UNCOMMON]: [Species.SOLROCK, Species.HIPPOPOTAS, Species.SANDACONDA, Species.PHANPY, Species.ROLYCOLY, Species.GLIGAR], + [TrainerPoolTier.RARE]: [Species.TRAPINCH, Species.HEATMOR], + [TrainerPoolTier.SUPER_RARE]: [Species.CAPSAKID, Species.CHARCADET] + }), + [TrainerType.TABITHA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("magma_admin", "magma", [Species.CAMERUPT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.COURTNEY]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("magma_admin_female", "magma", [Species.CAMERUPT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.AQUA_GRUNT]: new TrainerConfig(++t).setHasGenders("Aqua Grunt Female").setHasDouble("Aqua Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.CARVANHA, Species.WAILMER, Species.ZIGZAGOON, Species.LOTAD, Species.CORPHISH, Species.SPHEAL], + [TrainerPoolTier.UNCOMMON]: [Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH], + [TrainerPoolTier.RARE]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA], + [TrainerPoolTier.SUPER_RARE]: [Species.DONDOZO] + }), + [TrainerType.MATT]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("aqua_admin", "aqua", [Species.SHARPEDO]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.SHELLY]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("aqua_admin_female", "aqua", [Species.SHARPEDO]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.GALACTIC_GRUNT]: new TrainerConfig(++t).setHasGenders("Galactic Grunt Female").setHasDouble("Galactic Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.GLAMEOW, Species.STUNKY, Species.CROAGUNK, Species.SHINX, Species.WURMPLE, Species.BRONZOR, Species.DRIFLOON, Species.BURMY], + [TrainerPoolTier.UNCOMMON]: [Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL], + [TrainerPoolTier.RARE]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], + [TrainerPoolTier.SUPER_RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] + }), + [TrainerType.JUPITER]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("galactic_commander_female", "galactic", [Species.SKUNTANK]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_admin").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.MARS]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("galactic_commander_female", "galactic", [Species.PURUGLY]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_admin").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.SATURN]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("galactic_commander", "galactic", [Species.TOXICROAK]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_admin").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.PLASMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Plasma Grunt Female").setHasDouble("Plasma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.PATRAT, Species.LILLIPUP, Species.PURRLOIN, Species.SCRAFTY, Species.WOOBAT, Species.VANILLITE, Species.SANDILE, Species.TRUBBISH], + [TrainerPoolTier.UNCOMMON]: [Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS], + [TrainerPoolTier.RARE]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK], + [TrainerPoolTier.SUPER_RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT] + }), + [TrainerType.ZINZOLIN]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("plasma_sage", "plasma", [Species.CRYOGONAL]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.ROOD]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("plasma_sage", "plasma", [Species.SWOOBAT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.FLARE_GRUNT]: new TrainerConfig(++t).setHasGenders("Flare Grunt Female").setHasDouble("Flare Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.FLETCHLING, Species.LITLEO, Species.PONYTA, Species.INKAY, Species.HOUNDOUR, Species.SKORUPI, Species.SCRAFTY, Species.CROAGUNK], + [TrainerPoolTier.UNCOMMON]: [Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN, Species.PURRLOIN, Species.POOCHYENA, Species.SCATTERBUG], + [TrainerPoolTier.RARE]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD], + [TrainerPoolTier.SUPER_RARE]: [Species.NOIVERN, Species.DRUDDIGON] + }), + [TrainerType.BRYONY]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("flare_admin_female", "flare", [Species.LIEPARD]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.XEROSIC]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("flare_admin", "flare", [Species.MALAMAR]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.AETHER_GRUNT]: new TrainerConfig(++t).setHasGenders("Aether Grunt Female").setHasDouble("Aether Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aether_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ Species.PIKIPEK, Species.ROCKRUFF, Species.ALOLA_DIGLETT, Species.YUNGOOS, Species.CORSOLA, Species.ALOLA_GEODUDE, Species.BOUNSWEET, Species.LILLIPUP, Species.ALOLA_MAROWAK], + [TrainerPoolTier.UNCOMMON]: [ Species.POLIWAG, Species.STUFFUL, Species.ALOLA_EXEGGUTOR, Species.CRABRAWLER, Species.CUTIEFLY, Species.ALOLA_RAICHU, Species.ORICORIO, Species.MUDBRAY], + [TrainerPoolTier.RARE]: [ Species.ORANGURU, Species.PASSIMIAN, Species.GALAR_CORSOLA, Species.ALOLA_SANDSHREW, Species.ALOLA_VULPIX, Species.TURTONATOR, Species.DRAMPA], + [TrainerPoolTier.SUPER_RARE]: [Species.JANGMO_O, Species.PORYGON] + }), + [TrainerType.FABA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("aether_admin", "aether", [Species.HYPNO]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aether_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.SKULL_GRUNT]: new TrainerConfig(++t).setHasGenders("Skull Grunt Female").setHasDouble("Skull Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_skull_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ Species.SALANDIT, Species.ALOLA_RATTATA, Species.ALOLA_MEOWTH, Species.SCRAGGY, Species.KOFFING, Species.ALOLA_GRIMER, Species.MAREANIE, Species.SPINARAK, Species.TRUBBISH], + [TrainerPoolTier.UNCOMMON]: [ Species.FOMANTIS, Species.SABLEYE, Species.SANDILE, Species.ALOLA_MAROWAK, Species.PANCHAM, Species.DROWZEE, Species.ZUBAT, Species.VENIPEDE, Species.VULLABY], + [TrainerPoolTier.RARE]: [Species.SANDYGAST, Species.PAWNIARD, Species.MIMIKYU, Species.DHELMISE, Species.GASTLY, Species.WISHIWASHI], + [TrainerPoolTier.SUPER_RARE]: [Species.GRUBBIN, Species.DEWPIDER] + }), + [TrainerType.PLUMERIA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("skull_admin", "skull", [Species.SALAZZLE]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_skull_admin").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.MACRO_GRUNT]: new TrainerConfig(++t).setHasGenders("Macro Grunt Female").setHasDouble("Macro Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_macro_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ Species.CUFANT, Species.GALAR_MEOWTH, Species.KLINK, Species.ROOKIDEE, Species.CRAMORANT, Species.GALAR_ZIGZAGOON, Species.SKWOVET, Species.STEELIX, Species.MAWILE, Species.FERROSEED], + [TrainerPoolTier.UNCOMMON]: [ Species.DRILBUR, Species.MAGNEMITE, Species.HATENNA, Species.ARROKUDA, Species.APPLIN, Species.GALAR_PONYTA, Species.GALAR_YAMASK, Species.SINISTEA, Species.RIOLU], + [TrainerPoolTier.RARE]: [Species.FALINKS, Species.BELDUM, Species.GALAR_FARFETCHD, Species.GALAR_MR_MIME, Species.HONEDGE, Species.SCIZOR, Species.GALAR_DARUMAKA], + [TrainerPoolTier.SUPER_RARE]: [Species.DURALUDON, Species.DREEPY] + }), + [TrainerType.OLEANA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("macro_admin", "macro", [Species.GARBODOR]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_oleana").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + + [TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader(signatureSpecies["BROCK"], true, Type.ROCK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MISTY"], false, Type.WATER).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LT_SURGE"], true, Type.ELECTRIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.ERIKA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ERIKA"], false, Type.GRASS).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.JANINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JANINE"], false, Type.POISON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.SABRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SABRINA"], false, Type.PSYCHIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.BLAINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BLAINE"], true, Type.FIRE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.GIOVANNI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GIOVANNI"], true, Type.DARK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.FALKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FALKNER"], true, Type.FLYING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.BUGSY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BUGSY"], true, Type.BUG).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.WHITNEY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WHITNEY"], false, Type.NORMAL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.MORTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MORTY"], true, Type.GHOST).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.CHUCK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHUCK"], true, Type.FIGHTING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.JASMINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JASMINE"], false, Type.STEEL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.PRYCE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PRYCE"], true, Type.ICE).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.CLAIR]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAIR"], false, Type.DRAGON).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.ROXANNE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXANNE"], false, Type.ROCK).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.BRAWLY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRAWLY"], true, Type.FIGHTING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.WATTSON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WATTSON"], true, Type.ELECTRIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.FLANNERY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FLANNERY"], false, Type.FIRE).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.NORMAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["NORMAN"], true, Type.NORMAL).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.WINONA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WINONA"], false, Type.FLYING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.TATE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TATE"], true, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("tate_liza_double").setDoubleTrainerType(TrainerType.LIZA).setDoubleTitle("gym_leader_double"), + [TrainerType.LIZA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LIZA"], false, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("liza_tate_double").setDoubleTrainerType(TrainerType.TATE).setDoubleTitle("gym_leader_double"), + [TrainerType.JUAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JUAN"], true, Type.WATER).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.ROARK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROARK"], true, Type.ROCK).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.GARDENIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GARDENIA"], false, Type.GRASS).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.MAYLENE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MAYLENE"], false, Type.FIGHTING).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.CRASHER_WAKE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRASHER_WAKE"], true, Type.WATER).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.FANTINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FANTINA"], false, Type.GHOST).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.BYRON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BYRON"], true, Type.STEEL).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.CANDICE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CANDICE"], false, Type.ICE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.VOLKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VOLKNER"], true, Type.ELECTRIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.CILAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CILAN"], true, Type.GRASS).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.CHILI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHILI"], true, Type.FIRE).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.CRESS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRESS"], true, Type.WATER).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.CHEREN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHEREN"], true, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.LENORA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LENORA"], false, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.ROXIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXIE"], false, Type.POISON).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.BURGH]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BURGH"], true, Type.BUG).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.ELESA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ELESA"], false, Type.ELECTRIC).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.CLAY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAY"], true, Type.GROUND).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.SKYLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SKYLA"], false, Type.FLYING).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.BRYCEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRYCEN"], true, Type.ICE).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.DRAYDEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["DRAYDEN"], true, Type.DRAGON).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.MARLON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MARLON"], true, Type.WATER).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.VIOLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VIOLA"], false, Type.BUG).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.GRANT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRANT"], true, Type.ROCK).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.KORRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KORRINA"], false, Type.FIGHTING).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.RAMOS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RAMOS"], true, Type.GRASS).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.CLEMONT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLEMONT"], true, Type.ELECTRIC).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.VALERIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VALERIE"], false, Type.FAIRY).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.OLYMPIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OLYMPIA"], false, Type.PSYCHIC).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.WULFRIC]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WULFRIC"], true, Type.ICE).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.MILO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MILO"], true, Type.GRASS).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.NESSA]: new TrainerConfig(++t).setName("Nessa").initForGymLeader(signatureSpecies["NESSA"], false, Type.WATER).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.KABU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KABU"], true, Type.FIRE).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.BEA]: new TrainerConfig(++t).setName("Bea").initForGymLeader(signatureSpecies["BEA"], false, Type.FIGHTING).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.ALLISTER]: new TrainerConfig(++t).setName("Allister").initForGymLeader(signatureSpecies["ALLISTER"], true, Type.GHOST).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.OPAL]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OPAL"], false, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.BEDE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BEDE"], true, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.GORDIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GORDIE"], true, Type.ROCK).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.MELONY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MELONY"], false, Type.ICE).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.PIERS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PIERS"], true, Type.DARK).setHasDouble("piers_marnie_double").setDoubleTrainerType(TrainerType.MARNIE).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"), + [TrainerType.MARNIE]: new TrainerConfig(++t).setName("Marnie").initForGymLeader(signatureSpecies["MARNIE"], false, Type.DARK).setHasDouble("marnie_piers_double").setDoubleTrainerType(TrainerType.PIERS).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"), + [TrainerType.RAIHAN]: new TrainerConfig(++t).setName("Raihan").initForGymLeader(signatureSpecies["RAIHAN"], true, Type.DRAGON).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.KATY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KATY"], false, Type.BUG).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.BRASSIUS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRASSIUS"], true, Type.GRASS).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.IONO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["IONO"], false, Type.ELECTRIC).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.KOFU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KOFU"], true, Type.WATER).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.LARRY]: new TrainerConfig(++t).setName("Larry").initForGymLeader(signatureSpecies["LARRY"], true, Type.NORMAL).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.RYME]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RYME"], false, Type.GHOST).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.TULIP]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TULIP"], false, Type.PSYCHIC).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.GRUSHA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRUSHA"], true, Type.ICE).setMixedBattleBgm("battle_paldea_gym"), + + [TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)).initForEliteFour(signatureSpecies["LORELEI"], false, Type.ICE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.BRUNO]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BRUNO"], true, Type.FIGHTING).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.AGATHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AGATHA"], false, Type.GHOST).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.LANCE]: new TrainerConfig(++t).setName("Lance").initForEliteFour(signatureSpecies["LANCE"], true, Type.DRAGON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.WILL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WILL"], true, Type.PSYCHIC).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.KOGA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KOGA"], true, Type.POISON).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.KAREN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAREN"], false, Type.DARK).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.SIDNEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIDNEY"], true, Type.DARK).setMixedBattleBgm("battle_hoenn_elite"), + [TrainerType.PHOEBE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["PHOEBE"], false, Type.GHOST).setMixedBattleBgm("battle_hoenn_elite"), + [TrainerType.GLACIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GLACIA"], false, Type.ICE).setMixedBattleBgm("battle_hoenn_elite"), + [TrainerType.DRAKE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAKE"], true, Type.DRAGON).setMixedBattleBgm("battle_hoenn_elite"), + [TrainerType.AARON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AARON"], true, Type.BUG).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.BERTHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BERTHA"], false, Type.GROUND).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.FLINT]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["FLINT"], true, Type.FIRE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.LUCIAN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LUCIAN"], true, Type.PSYCHIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.SHAUNTAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SHAUNTAL"], false, Type.GHOST).setMixedBattleBgm("battle_unova_elite"), + [TrainerType.MARSHAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MARSHAL"], true, Type.FIGHTING).setMixedBattleBgm("battle_unova_elite"), + [TrainerType.GRIMSLEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GRIMSLEY"], true, Type.DARK).setMixedBattleBgm("battle_unova_elite"), + [TrainerType.CAITLIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CAITLIN"], false, Type.PSYCHIC).setMixedBattleBgm("battle_unova_elite"), + [TrainerType.MALVA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MALVA"], false, Type.FIRE).setMixedBattleBgm("battle_kalos_elite"), + [TrainerType.SIEBOLD]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIEBOLD"], true, Type.WATER).setMixedBattleBgm("battle_kalos_elite"), + [TrainerType.WIKSTROM]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WIKSTROM"], true, Type.STEEL).setMixedBattleBgm("battle_kalos_elite"), + [TrainerType.DRASNA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRASNA"], false, Type.DRAGON).setMixedBattleBgm("battle_kalos_elite"), + [TrainerType.HALA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HALA"], true, Type.FIGHTING).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.MOLAYNE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MOLAYNE"], true, Type.STEEL).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.OLIVIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["OLIVIA"], false, Type.ROCK).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.ACEROLA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["ACEROLA"], false, Type.GHOST).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.KAHILI]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAHILI"], false, Type.FLYING).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.MARNIE_ELITE]: new TrainerConfig(++t).setName("Marnie").initForEliteFour(signatureSpecies["MARNIE_ELITE"], false, Type.DARK).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.NESSA_ELITE]: new TrainerConfig(++t).setName("Nessa").initForEliteFour(signatureSpecies["NESSA_ELITE"], false, Type.WATER).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.BEA_ELITE]: new TrainerConfig(++t).setName("Bea").initForEliteFour(signatureSpecies["BEA_ELITE"], false, Type.FIGHTING).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.ALLISTER_ELITE]: new TrainerConfig(++t).setName("Allister").initForEliteFour(signatureSpecies["ALLISTER_ELITE"], true, Type.GHOST).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.RAIHAN_ELITE]: new TrainerConfig(++t).setName("Raihan").initForEliteFour(signatureSpecies["RAIHAN_ELITE"], true, Type.DRAGON).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.RIKA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["RIKA"], false, Type.GROUND).setMixedBattleBgm("battle_paldea_elite"), + [TrainerType.POPPY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["POPPY"], false, Type.STEEL).setMixedBattleBgm("battle_paldea_elite"), + [TrainerType.LARRY_ELITE]: new TrainerConfig(++t).setName("Larry").initForEliteFour(signatureSpecies["LARRY_ELITE"], true, Type.NORMAL, Type.FLYING).setMixedBattleBgm("battle_paldea_elite"), + [TrainerType.HASSEL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HASSEL"], true, Type.DRAGON).setMixedBattleBgm("battle_paldea_elite"), + [TrainerType.CRISPIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CRISPIN"], true, Type.FIRE).setMixedBattleBgm("battle_bb_elite"), + [TrainerType.AMARYS]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AMARYS"], false, Type.STEEL).setMixedBattleBgm("battle_bb_elite"), + [TrainerType.LACEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LACEY"], false, Type.FAIRY).setMixedBattleBgm("battle_bb_elite"), + [TrainerType.DRAYTON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAYTON"], true, Type.DRAGON).setMixedBattleBgm("battle_bb_elite"), + + [TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)).initForChampion(signatureSpecies["BLUE"], true).setBattleBgm("battle_kanto_champion").setMixedBattleBgm("battle_kanto_champion").setHasDouble("blue_red_double").setDoubleTrainerType(TrainerType.RED).setDoubleTitle("champion_double") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALAKAZAM], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT], TrainerSlot.TRAINER, true, p => { + p.formIndex = 1; + p.generateAndPopulateMoveset(); + p.generateName(); + })), + [TrainerType.RED]: new TrainerConfig(++t).initForChampion(signatureSpecies["RED"], true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion").setHasDouble("red_blue_double").setDoubleTrainerType(TrainerType.BLUE).setDoubleTitle("champion_double") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PIKACHU], TrainerSlot.TRAINER, true, p => { + p.formIndex = 8; + p.generateAndPopulateMoveset(); + p.generateName(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE], TrainerSlot.TRAINER, true, p => { + p.formIndex = 1; + p.generateAndPopulateMoveset(); + p.generateName(); + })), + [TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).setName("Lance").initForChampion(signatureSpecies["LANCE_CHAMPION"], true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.AERODACTYL], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.LATIAS, Species.LATIOS], TrainerSlot.TRAINER, true, p => { + p.formIndex = 1; + p.generateAndPopulateMoveset(); + p.generateName(); + })), + [TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion(signatureSpecies["STEVEN"], true).setBattleBgm("battle_hoenn_champion_g5").setMixedBattleBgm("battle_hoenn_champion_g6").setHasDouble("steven_wallace_double").setDoubleTrainerType(TrainerType.WALLACE).setDoubleTitle("champion_double") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SKARMORY], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.METAGROSS], TrainerSlot.TRAINER, true, p => { + p.formIndex = 1; + p.generateAndPopulateMoveset(); + p.generateName(); + })), + [TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion(signatureSpecies["WALLACE"], true).setBattleBgm("battle_hoenn_champion_g5").setMixedBattleBgm("battle_hoenn_champion_g6").setHasDouble("wallace_steven_double").setDoubleTrainerType(TrainerType.STEVEN).setDoubleTitle("champion_double") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 1; // Drizzle + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.SWAMPERT], TrainerSlot.TRAINER, true, p => { + p.formIndex = 1; + p.generateAndPopulateMoveset(); + })), + [TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion(signatureSpecies["CYNTHIA"], false).setBattleBgm("battle_sinnoh_champion").setMixedBattleBgm("battle_sinnoh_champion") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SPIRITOMB], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.GARCHOMP], TrainerSlot.TRAINER, true, p => { + p.formIndex = 1; + p.generateAndPopulateMoveset(); + p.generateName(); + })), + [TrainerType.ALDER]: new TrainerConfig(++t).initForChampion(signatureSpecies["ALDER"], true).setHasDouble("alder_iris_double").setDoubleTrainerType(TrainerType.IRIS).setDoubleTitle("champion_double").setBattleBgm("battle_champion_alder").setMixedBattleBgm("battle_champion_alder") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BOUFFALANT, Species.BRAVIARY], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })), + [TrainerType.IRIS]: new TrainerConfig(++t).initForChampion(signatureSpecies["IRIS"], false).setBattleBgm("battle_champion_iris").setMixedBattleBgm("battle_champion_iris").setHasDouble("iris_alder_double").setDoubleTrainerType(TrainerType.ALDER).setDoubleTitle("champion_double") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRUDDIGON], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.LAPRAS], TrainerSlot.TRAINER, true, p => { + p.formIndex = 1; + p.generateAndPopulateMoveset(); + p.generateName(); + })), + [TrainerType.DIANTHA]: new TrainerConfig(++t).initForChampion(signatureSpecies["DIANTHA"], false).setMixedBattleBgm("battle_kalos_champion") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GOURGEIST], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.GARDEVOIR], TrainerSlot.TRAINER, true, p => { + p.formIndex = 1; + p.generateAndPopulateMoveset(); + p.generateName(); + })), + [TrainerType.HAU]: new TrainerConfig(++t).initForChampion(signatureSpecies["HAU"], true).setMixedBattleBgm("battle_alola_champion") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALOLA_RAICHU], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })), + [TrainerType.LEON]: new TrainerConfig(++t).initForChampion(signatureSpecies["LEON"], true).setMixedBattleBgm("battle_galar_champion") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.RILLABOOM, Species.CINDERACE, Species.INTELEON], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CHARIZARD], TrainerSlot.TRAINER, true, p => { + p.formIndex = 3; + p.generateAndPopulateMoveset(); + p.generateName(); + })), + [TrainerType.GEETA]: new TrainerConfig(++t).initForChampion(signatureSpecies["GEETA"], false).setMixedBattleBgm("battle_champion_geeta") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GLIMMORA], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })), + [TrainerType.NEMONA]: new TrainerConfig(++t).initForChampion(signatureSpecies["NEMONA"], false).setMixedBattleBgm("battle_champion_nemona") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { + p.formIndex = 0; // Midday form + p.generateAndPopulateMoveset(); + })), + [TrainerType.KIERAN]: new TrainerConfig(++t).initForChampion(signatureSpecies["KIERAN"], true).setMixedBattleBgm("battle_champion_kieran") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.POLIWRATH, Species.POLITOED], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + })), + + [TrainerType.RIVAL]: new TrainerConfig((t = TrainerType.RIVAL)).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setMixedBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL) + .setModifierRewardFuncs(() => modifierTypes.SUPER_EXP_CHARM, () => modifierTypes.EXP_SHARE) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE, Species.CHIKORITA, Species.CYNDAQUIL, Species.TOTODILE, Species.TREECKO, Species.TORCHIC, Species.MUDKIP, Species.TURTWIG, Species.CHIMCHAR, Species.PIPLUP, Species.SNIVY, Species.TEPIG, Species.OSHAWOTT, Species.CHESPIN, Species.FENNEKIN, Species.FROAKIE, Species.ROWLET, Species.LITTEN, Species.POPPLIO, Species.GROOKEY, Species.SCORBUNNY, Species.SOBBLE, Species.SPRIGATITO, Species.FUECOCO, Species.QUAXLY], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEY, Species.HOOTHOOT, Species.TAILLOW, Species.STARLY, Species.PIDOVE, Species.FLETCHLING, Species.PIKIPEK, Species.ROOKIDEE, Species.WATTREL], TrainerSlot.TRAINER, true)), + [TrainerType.RIVAL_2]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setMixedBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL_2) + .setModifierRewardFuncs(() => modifierTypes.EXP_SHARE) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.IVYSAUR, Species.CHARMELEON, Species.WARTORTLE, Species.BAYLEEF, Species.QUILAVA, Species.CROCONAW, Species.GROVYLE, Species.COMBUSKEN, Species.MARSHTOMP, Species.GROTLE, Species.MONFERNO, Species.PRINPLUP, Species.SERVINE, Species.PIGNITE, Species.DEWOTT, Species.QUILLADIN, Species.BRAIXEN, Species.FROGADIER, Species.DARTRIX, Species.TORRACAT, Species.BRIONNE, Species.THWACKEY, Species.RABOOT, Species.DRIZZILE, Species.FLORAGATO, Species.CROCALOR, Species.QUAXWELL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOTTO, Species.HOOTHOOT, Species.TAILLOW, Species.STARAVIA, Species.TRANQUILL, Species.FLETCHINDER, Species.TRUMBEAK, Species.CORVISQUIRE, Species.WATTREL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)), + [TrainerType.RIVAL_3]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setMixedBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL_3) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)) + .setSpeciesFilter(species => species.baseTotal >= 540), + [TrainerType.RIVAL_4]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(1.75).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival_2").setMixedBattleBgm("battle_rival_2").setPartyTemplates(trainerPartyTemplates.RIVAL_4) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)) + .setSpeciesFilter(species => species.baseTotal >= 540) + .setGenModifiersFunc(party => { + const starter = party[0]; + return [modifierTypes.TERA_SHARD().generateType([], [starter.species.type1])!.withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier]; // TODO: is the bang correct? + }), + [TrainerType.RIVAL_5]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival_3").setMixedBattleBgm("battle_rival_3").setPartyTemplates(trainerPartyTemplates.RIVAL_5) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true, + p => p.setBoss(true, 2))) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)) + .setSpeciesFilter(species => species.baseTotal >= 540) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 3); + p.pokeball = PokeballType.MASTER_BALL; + p.shiny = true; + p.variant = 1; + })) + .setGenModifiersFunc(party => { + const starter = party[0]; + return [modifierTypes.TERA_SHARD().generateType([], [starter.species.type1])!.withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier]; //TODO: is the bang correct? + }), + [TrainerType.RIVAL_6]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(3).setEncounterBgm("final").setBattleBgm("battle_rival_3").setMixedBattleBgm("battle_rival_3").setPartyTemplates(trainerPartyTemplates.RIVAL_6) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true, + p => { + p.setBoss(true, 3); + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true, + p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)) + .setSpeciesFilter(species => species.baseTotal >= 540) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => { + p.setBoss(); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + p.shiny = true; + p.variant = 1; + p.formIndex = 1; + p.generateName(); + })) + .setGenModifiersFunc(party => { + const starter = party[0]; + return [modifierTypes.TERA_SHARD().generateType([], [starter.species.type1])!.withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier]; // TODO: is the bang correct? + }), + + [TrainerType.ROCKET_BOSS_GIOVANNI_1]: new TrainerConfig(t = TrainerType.ROCKET_BOSS_GIOVANNI_1).setName("Giovanni").initForEvilTeamLeader("Rocket Boss", []).setMixedBattleBgm("battle_rocket_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PERSIAN, Species.ALOLA_PERSIAN])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.NIDOKING, Species.NIDOQUEEN])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.RHYPERIOR])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DUGTRIO, Species.ALOLA_DUGTRIO])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAROWAK, Species.ALOLA_MAROWAK])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KANGASKHAN], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })), + [TrainerType.ROCKET_BOSS_GIOVANNI_2]: new TrainerConfig(++t).setName("Giovanni").initForEvilTeamLeader("Rocket Boss", [], true).setMixedBattleBgm("battle_rocket_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.TYRANITAR, Species.IRON_THORNS], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.HIPPOWDON])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.EXCADRILL])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.KANGASKHAN], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.GASTRODON])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.MEWTWO], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })), + [TrainerType.MAXIE]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss", []).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MIGHTYENA])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CROBAT, Species.GLISCOR])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.WEEZING, Species.GALAR_WEEZING])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MAGMORTAR, Species.TORKOAL])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.FLYGON])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CAMERUPT], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })), + [TrainerType.MAXIE_2]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss", [], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SOLROCK, Species.TYPHLOSION], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.TORKOAL, Species.NINETALES], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.abilityIndex = 2; // DROUGHT + })) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SHIFTRY, Species.SCOVILLAIN], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.abilityIndex = 0; // Chlorophyll + })) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GREAT_TUSK])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CAMERUPT], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GROUDON], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })), + [TrainerType.ARCHIE]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss", []).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LINOONE])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CROBAT, Species.PELIPPER])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MUK, Species.ALOLA_MUK])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TENTACRUEL])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.RELICANTH, Species.WAILORD])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.SHARPEDO], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })), + [TrainerType.ARCHIE_2]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss", [], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.EMPOLEON, Species.LUDICOLO], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.POLITOED, Species.PELIPPER], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.abilityIndex = 2; // Drizzle + })) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.BEARTIC, Species.ARMALDO], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.abilityIndex = 2; // Swift Swim + })) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.OVERQWIL ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.abilityIndex = 1; // Swift Swim + })) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SHARPEDO], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KYOGRE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })), + [TrainerType.CYRUS]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss", []).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GYARADOS ])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HONCHKROW, Species.HISUI_BRAVIARY ])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.CROBAT, Species.GLISCOR ])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.AZELF, Species.UXIE, Species.MESPRIT ])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HOUNDOOM ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.WEAVILE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + })), + [TrainerType.CYRUS_2]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss", [], true).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.AZELF, Species.UXIE, Species.MESPRIT], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.ELECTRODE, Species.HISUI_ELECTRODE])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SALAMENCE, Species.ROARING_MOON])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.WEAVILE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DARKRAI], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })), + [TrainerType.GHETSIS]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss", []).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COFAGRIGUS, Species.RUNERIGUS])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.BOUFFALANT])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SEISMITOAD, Species.CARRACOSTA])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EELEKTROSS, Species.GALVANTULA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.VOLCARONA])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.HYDREIGON], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + })), + [TrainerType.GHETSIS_2]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss", [], true).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GENESECT ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + p.formIndex = Utils.randSeedInt(5); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.BASCULEGION, Species.JELLICENT ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.gender = Gender.MALE; + p.formIndex = 1; + })) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.KINGAMBIT ])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.VOLCARONA, Species.SLITHER_WING ])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HYDREIGON, Species.IRON_JUGULIS ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KYUREM], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })), + [TrainerType.LYSANDRE]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss", []).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.MIENSHAO ])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HONCHKROW, Species.TALONFLAME ])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PYROAR ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.gender = Gender.MALE; + })) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.CLAWITZER, Species.DRAGALGE ])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HELIOLISK, Species.MALAMAR ])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GYARADOS ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })), + [TrainerType.LYSANDRE_2]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss", [], true).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SCREAM_TAIL, Species.FLUTTER_MANE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.PYROAR ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.gender = Gender.MALE; + })) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.IRON_MOTH ])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GOODRA, Species.HISUI_GOODRA ])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.GYARADOS ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + p.formIndex = 1; + p.generateName(); + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.YVELTAL], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })), + [TrainerType.LUSAMINE]: new TrainerConfig(++t).setName("Lusamine").initForEvilTeamLeader("Aether Boss", []).setMixedBattleBgm("battle_aether_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.CLEFABLE ])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.LILLIGANT, Species.HISUI_LILLIGANT ])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.MILOTIC, Species.PRIMARINA ])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING ])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.BEWEAR ])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.NIHILEGO ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + })), + [TrainerType.LUSAMINE_2]: new TrainerConfig(++t).setName("Lusamine").initForEvilTeamLeader("Aether Boss", [], true).setMixedBattleBgm("battle_aether_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.CLEFABLE ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.MILOTIC, Species.PRIMARINA ])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PHEROMOSA ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.STAKATAKA, Species.CELESTEELA, Species.GUZZLORD ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.NIHILEGO ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.NECROZMA ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })), + [TrainerType.GUZMA]: new TrainerConfig(++t).setName("Guzma").initForEvilTeamLeader("Skull Boss", []).setMixedBattleBgm("battle_skull_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.LOKIX, Species.YANMEGA ])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HERACROSS ])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SCIZOR, Species.KLEAVOR ])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GALVANTULA, Species.VIKAVOLT])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.PINSIR ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.formIndex = 1; + p.generateName(); + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GOLISOPOD ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + })), + [TrainerType.GUZMA_2]: new TrainerConfig(++t).setName("Guzma").initForEvilTeamLeader("Skull Boss", [], true).setMixedBattleBgm("battle_skull_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GOLISOPOD ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.abilityIndex = 2; //Anticipation + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HISUI_SAMUROTT, Species.CRAWDAUNT ], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 2; //Sharpness, Adaptability + })) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SCIZOR, Species.KLEAVOR ])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.PINSIR ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.formIndex = 1; + p.generateName(); + })) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.BUZZWOLE ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.XURKITREE ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })), + [TrainerType.ROSE]: new TrainerConfig(++t).setName("Rose").initForEvilTeamLeader("Macro Boss", []).setMixedBattleBgm("battle_macro_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ARCHALUDON ])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.FERROTHORN, Species.ESCAVALIER ])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SIRFETCHD, Species.MR_RIME ])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.CORVIKNIGHT ])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.PERRSERKER, Species.KLINKLANG ])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.COPPERAJAH ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.formIndex = 1; + p.generateName(); + })), + [TrainerType.ROSE_2]: new TrainerConfig(++t).setName("Rose").initForEvilTeamLeader("Macro Boss", [], true).setMixedBattleBgm("battle_macro_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ARCHALUDON ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + })) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.AEGISLASH, Species.GHOLDENGO ])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.DRACOVISH, Species.DRACOZOLT ], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.abilityIndex = 1; //Strong Jaw, Hustle + })) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.MELMETAL ])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.GALAR_ARTICUNO, Species.GALAR_ZAPDOS, Species.GALAR_MOLTRES ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.MASTER_BALL; + })) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.COPPERAJAH ], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + p.formIndex = 1; + p.generateName(); + })), +}; diff --git a/src/data/type.ts b/src/data/type.ts index 7a9f7f3605e..47bea8dd72b 100644 --- a/src/data/type.ts +++ b/src/data/type.ts @@ -23,7 +23,7 @@ export enum Type { export type TypeDamageMultiplier = 0 | 0.125 | 0.25 | 0.5 | 1 | 2 | 4 | 8; -export function getTypeDamageMultiplier(attackType: integer, defType: integer): TypeDamageMultiplier { +export function getTypeDamageMultiplier(attackType: Type, defType: Type): TypeDamageMultiplier { if (attackType === Type.UNKNOWN || defType === Type.UNKNOWN) { return 1; } @@ -33,26 +33,10 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): switch (attackType) { case Type.FIGHTING: return 2; - case Type.NORMAL: - case Type.FLYING: - case Type.POISON: - case Type.GROUND: - case Type.ROCK: - case Type.BUG: - case Type.STEEL: - case Type.FIRE: - case Type.WATER: - case Type.GRASS: - case Type.ELECTRIC: - case Type.PSYCHIC: - case Type.ICE: - case Type.DRAGON: - case Type.DARK: - case Type.FAIRY: - return 1; case Type.GHOST: - default: return 0; + default: + return 1; } case Type.FIGHTING: switch (attackType) { @@ -60,25 +44,12 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.PSYCHIC: case Type.FAIRY: return 2; - case Type.NORMAL: - case Type.FIGHTING: - case Type.POISON: - case Type.GROUND: - case Type.GHOST: - case Type.STEEL: - case Type.FIRE: - case Type.WATER: - case Type.GRASS: - case Type.ELECTRIC: - case Type.ICE: - case Type.DRAGON: - return 1; case Type.ROCK: case Type.BUG: case Type.DARK: return 0.5; default: - return 0; + return 1; } case Type.FLYING: switch (attackType) { @@ -86,43 +57,20 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.ELECTRIC: case Type.ICE: return 2; - case Type.NORMAL: - case Type.FLYING: - case Type.POISON: - case Type.GHOST: - case Type.STEEL: - case Type.FIRE: - case Type.WATER: - case Type.PSYCHIC: - case Type.DRAGON: - case Type.DARK: - case Type.FAIRY: - return 1; case Type.FIGHTING: case Type.BUG: case Type.GRASS: return 0.5; case Type.GROUND: - default: return 0; + default: + return 1; } case Type.POISON: switch (attackType) { case Type.GROUND: case Type.PSYCHIC: return 2; - case Type.NORMAL: - case Type.FLYING: - case Type.ROCK: - case Type.GHOST: - case Type.STEEL: - case Type.FIRE: - case Type.WATER: - case Type.ELECTRIC: - case Type.ICE: - case Type.DRAGON: - case Type.DARK: - return 1; case Type.FIGHTING: case Type.POISON: case Type.BUG: @@ -130,7 +78,7 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.FAIRY: return 0.5; default: - return 0; + return 1; } case Type.GROUND: switch (attackType) { @@ -138,25 +86,13 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.GRASS: case Type.ICE: return 2; - case Type.NORMAL: - case Type.FIGHTING: - case Type.FLYING: - case Type.GROUND: - case Type.BUG: - case Type.GHOST: - case Type.STEEL: - case Type.FIRE: - case Type.PSYCHIC: - case Type.DRAGON: - case Type.DARK: - case Type.FAIRY: - return 1; case Type.POISON: case Type.ROCK: return 0.5; case Type.ELECTRIC: - default: return 0; + default: + return 1; } case Type.ROCK: switch (attackType) { @@ -166,23 +102,13 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.WATER: case Type.GRASS: return 2; - case Type.ROCK: - case Type.BUG: - case Type.GHOST: - case Type.ELECTRIC: - case Type.PSYCHIC: - case Type.ICE: - case Type.DRAGON: - case Type.DARK: - case Type.FAIRY: - return 1; case Type.NORMAL: case Type.FLYING: case Type.POISON: case Type.FIRE: return 0.5; default: - return 0; + return 1; } case Type.BUG: switch (attackType) { @@ -190,51 +116,26 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.ROCK: case Type.FIRE: return 2; - case Type.NORMAL: - case Type.POISON: - case Type.BUG: - case Type.GHOST: - case Type.STEEL: - case Type.WATER: - case Type.ELECTRIC: - case Type.PSYCHIC: - case Type.ICE: - case Type.DRAGON: - case Type.DARK: - case Type.FAIRY: - return 1; case Type.FIGHTING: case Type.GROUND: case Type.GRASS: return 0.5; default: - return 0; + return 1; } case Type.GHOST: switch (attackType) { case Type.GHOST: case Type.DARK: return 2; - case Type.FLYING: - case Type.GROUND: - case Type.ROCK: - case Type.STEEL: - case Type.FIRE: - case Type.WATER: - case Type.GRASS: - case Type.ELECTRIC: - case Type.PSYCHIC: - case Type.ICE: - case Type.DRAGON: - case Type.FAIRY: - return 1; case Type.POISON: case Type.BUG: return 0.5; case Type.NORMAL: case Type.FIGHTING: - default: return 0; + default: + return 1; } case Type.STEEL: switch (attackType) { @@ -242,11 +143,6 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.GROUND: case Type.FIRE: return 2; - case Type.GHOST: - case Type.WATER: - case Type.ELECTRIC: - case Type.DARK: - return 1; case Type.NORMAL: case Type.FLYING: case Type.ROCK: @@ -259,8 +155,9 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.FAIRY: return 0.5; case Type.POISON: - default: return 0; + default: + return 1; } case Type.FIRE: switch (attackType) { @@ -268,16 +165,6 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.ROCK: case Type.WATER: return 2; - case Type.NORMAL: - case Type.FIGHTING: - case Type.FLYING: - case Type.POISON: - case Type.GHOST: - case Type.ELECTRIC: - case Type.PSYCHIC: - case Type.DRAGON: - case Type.DARK: - return 1; case Type.BUG: case Type.STEEL: case Type.FIRE: @@ -286,33 +173,20 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.FAIRY: return 0.5; default: - return 0; + return 1; } case Type.WATER: switch (attackType) { case Type.GRASS: case Type.ELECTRIC: return 2; - case Type.NORMAL: - case Type.FIGHTING: - case Type.FLYING: - case Type.POISON: - case Type.GROUND: - case Type.ROCK: - case Type.BUG: - case Type.GHOST: - case Type.PSYCHIC: - case Type.DRAGON: - case Type.DARK: - case Type.FAIRY: - return 1; case Type.STEEL: case Type.FIRE: case Type.WATER: case Type.ICE: return 0.5; default: - return 0; + return 1; } case Type.GRASS: switch (attackType) { @@ -322,49 +196,24 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.FIRE: case Type.ICE: return 2; - case Type.NORMAL: - case Type.FIGHTING: - case Type.ROCK: - case Type.GHOST: - case Type.STEEL: - case Type.PSYCHIC: - case Type.DRAGON: - case Type.DARK: - case Type.FAIRY: - return 1; case Type.GROUND: case Type.WATER: case Type.GRASS: case Type.ELECTRIC: return 0.5; default: - return 0; + return 1; } case Type.ELECTRIC: switch (attackType) { case Type.GROUND: return 2; - case Type.NORMAL: - case Type.FIGHTING: - case Type.POISON: - case Type.ROCK: - case Type.BUG: - case Type.GHOST: - case Type.FIRE: - case Type.WATER: - case Type.GRASS: - case Type.PSYCHIC: - case Type.ICE: - case Type.DRAGON: - case Type.DARK: - case Type.FAIRY: - return 1; case Type.FLYING: case Type.STEEL: case Type.ELECTRIC: return 0.5; default: - return 0; + return 1; } case Type.PSYCHIC: switch (attackType) { @@ -372,25 +221,11 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.GHOST: case Type.DARK: return 2; - case Type.NORMAL: - case Type.FLYING: - case Type.POISON: - case Type.GROUND: - case Type.ROCK: - case Type.STEEL: - case Type.FIRE: - case Type.WATER: - case Type.GRASS: - case Type.ELECTRIC: - case Type.ICE: - case Type.DRAGON: - case Type.FAIRY: - return 1; case Type.FIGHTING: case Type.PSYCHIC: return 0.5; default: - return 0; + return 1; } case Type.ICE: switch (attackType) { @@ -399,24 +234,10 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.STEEL: case Type.FIRE: return 2; - case Type.NORMAL: - case Type.FLYING: - case Type.POISON: - case Type.GROUND: - case Type.BUG: - case Type.GHOST: - case Type.WATER: - case Type.GRASS: - case Type.ELECTRIC: - case Type.PSYCHIC: - case Type.DRAGON: - case Type.DARK: - case Type.FAIRY: - return 1; case Type.ICE: return 0.5; default: - return 0; + return 1; } case Type.DRAGON: switch (attackType) { @@ -424,25 +245,13 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.DRAGON: case Type.FAIRY: return 2; - case Type.NORMAL: - case Type.FIGHTING: - case Type.FLYING: - case Type.POISON: - case Type.GROUND: - case Type.ROCK: - case Type.BUG: - case Type.GHOST: - case Type.STEEL: - case Type.PSYCHIC: - case Type.DARK: - return 1; case Type.FIRE: case Type.WATER: case Type.GRASS: case Type.ELECTRIC: return 0.5; default: - return 0; + return 1; } case Type.DARK: switch (attackType) { @@ -450,106 +259,33 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer): case Type.BUG: case Type.FAIRY: return 2; - case Type.NORMAL: - case Type.FLYING: - case Type.POISON: - case Type.GROUND: - case Type.ROCK: - case Type.STEEL: - case Type.FIRE: - case Type.WATER: - case Type.GRASS: - case Type.ELECTRIC: - case Type.ICE: - case Type.DRAGON: - return 1; case Type.GHOST: case Type.DARK: return 0.5; case Type.PSYCHIC: - default: return 0; + default: + return 1; } case Type.FAIRY: switch (attackType) { case Type.POISON: case Type.STEEL: return 2; - case Type.NORMAL: - case Type.FLYING: - case Type.GROUND: - case Type.ROCK: - case Type.GHOST: - case Type.FIRE: - case Type.WATER: - case Type.GRASS: - case Type.ELECTRIC: - case Type.PSYCHIC: - case Type.ICE: - case Type.FAIRY: - return 1; case Type.FIGHTING: case Type.BUG: case Type.DARK: return 0.5; case Type.DRAGON: - default: return 0; + default: + return 1; } case Type.STELLAR: return 1; } - return 0; -} - -/** - * Retrieve the types resisting a given type - * @returns An array populated with Types, or an empty array if no resistances exist (Unknown or Stellar type) - */ -export function getTypeResistances(type: number): Type[] { - switch (type) { - case Type.NORMAL: - return [Type.ROCK, Type.STEEL, Type.GHOST]; - case Type.FIGHTING: - return [Type.FLYING, Type.POISON, Type.BUG, Type.PSYCHIC, Type.FAIRY, Type.GHOST]; - case Type.FLYING: - return [Type.ROCK, Type.ELECTRIC, Type.STEEL]; - case Type.POISON: - return [Type.POISON, Type.GROUND, Type.ROCK, Type.GHOST, Type.STEEL]; - case Type.GROUND: - return [Type.BUG, Type.GRASS, Type.FLYING]; - case Type.ROCK: - return [Type.FIGHTING, Type.GROUND, Type.STEEL]; - case Type.BUG: - return [Type.FIGHTING, Type.FLYING, Type.POISON, Type.GHOST, Type.STEEL, Type.FIRE, Type.FAIRY]; - case Type.GHOST: - return [Type.DARK, Type.NORMAL]; - case Type.STEEL: - return [Type.STEEL, Type.FIRE, Type.WATER, Type.ELECTRIC]; - case Type.FIRE: - return [Type.ROCK, Type.FIRE, Type.WATER, Type.DRAGON]; - case Type.WATER: - return [Type.WATER, Type.GRASS, Type.DRAGON]; - case Type.GRASS: - return [Type.FLYING, Type.POISON, Type.BUG, Type.STEEL, Type.FIRE, Type.GRASS, Type.DRAGON]; - case Type.ELECTRIC: - return [Type.GRASS, Type.ELECTRIC, Type.DRAGON, Type.GROUND]; - case Type.PSYCHIC: - return [Type.STEEL, Type.PSYCHIC]; - case Type.ICE: - return [Type.STEEL, Type.FIRE, Type.WATER, Type.ICE]; - case Type.DRAGON: - return [Type.STEEL, Type.FAIRY]; - case Type.DARK: - return [Type.FIGHTING, Type.DARK, Type.FAIRY]; - case Type.FAIRY: - return [Type.POISON, Type.STEEL, Type.FIRE]; - case Type.UNKNOWN: - case Type.STELLAR: - default: - return []; - } + return 1; } /** diff --git a/src/enums/challenges.ts b/src/enums/challenges.ts index 690e1cdc32d..c4dc7460dfe 100644 --- a/src/enums/challenges.ts +++ b/src/enums/challenges.ts @@ -3,5 +3,6 @@ export enum Challenges { SINGLE_TYPE, LOWER_MAX_STARTER_COST, LOWER_STARTER_POINTS, - FRESH_START + FRESH_START, + INVERSE_BATTLE, } diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 8a3a6b280cb..9fcbdd8dc6c 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -49,6 +49,7 @@ import { BerryType } from "#enums/berry-type"; import { Biome } from "#enums/biome"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; +import { Challenges } from "#enums/challenges"; import { getPokemonNameWithAffix } from "#app/messages.js"; import { DamagePhase } from "#app/phases/damage-phase.js"; import { FaintPhase } from "#app/phases/faint-phase.js"; @@ -250,7 +251,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.shiny = false; } - this.calculateStats(); + if (!dataSource) { + this.calculateStats(); + } } @@ -1315,12 +1318,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return 1; } } - - return getTypeDamageMultiplier(moveType, defType); + const multiplier = new Utils.NumberHolder(getTypeDamageMultiplier(moveType, defType)); + applyChallenges(this.scene.gameMode, ChallengeType.TYPE_EFFECTIVENESS, multiplier); + return multiplier.value; }).reduce((acc, cur) => acc * cur, 1) as TypeDamageMultiplier; + const typeMultiplierAgainstFlying = new Utils.NumberHolder(getTypeDamageMultiplier(moveType, Type.FLYING)); + applyChallenges(this.scene.gameMode, ChallengeType.TYPE_EFFECTIVENESS, typeMultiplierAgainstFlying); // Handle strong winds lowering effectiveness of types super effective against pure flying - if (!ignoreStrongWinds && arena.weather?.weatherType === WeatherType.STRONG_WINDS && !arena.weather.isEffectSuppressed(this.scene) && this.isOfType(Type.FLYING) && getTypeDamageMultiplier(moveType, Type.FLYING) === 2) { + if (!ignoreStrongWinds && arena.weather?.weatherType === WeatherType.STRONG_WINDS && !arena.weather.isEffectSuppressed(this.scene) && this.isOfType(Type.FLYING) && typeMultiplierAgainstFlying.value === 2) { multiplier /= 2; if (!simulated) { this.scene.queueMessage(i18next.t("weather:strongWindsEffectMessage")); @@ -3842,7 +3848,7 @@ export class EnemyPokemon extends Pokemon { this.moveset = (formIndex !== undefined ? formIndex : this.formIndex) ? [ new PokemonMove(Moves.DYNAMAX_CANNON), - new PokemonMove(Moves.SLUDGE_BOMB), + new PokemonMove(Moves.CROSS_POISON), new PokemonMove(Moves.FLAMETHROWER), new PokemonMove(Moves.RECOVER, 0, -4) ] @@ -3852,6 +3858,9 @@ export class EnemyPokemon extends Pokemon { new PokemonMove(Moves.FLAMETHROWER), new PokemonMove(Moves.COSMIC_POWER) ]; + if (this.scene.gameMode.hasChallenge(Challenges.INVERSE_BATTLE)) { + this.moveset[2] = new PokemonMove(Moves.THUNDERBOLT); + } break; default: super.generateAndPopulateMoveset(); diff --git a/src/loading-scene.ts b/src/loading-scene.ts index f4aa12c56c6..e4a73414cd1 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -41,8 +41,6 @@ export class LoadingScene extends SceneBase { this.loadImage("loading_bg", "arenas"); this.loadImage("logo", ""); - // this.loadImage("pride-update", "events"); - this.loadImage("august-variant-update", "events"); // Load menu images this.loadAtlas("bg", "ui"); @@ -246,7 +244,12 @@ export class LoadingScene extends SceneBase { } else { this.loadAtlas("types", ""); } - + const availableLangs = ["en", "de", "it", "fr", "ja", "ko", "es", "pt_BR", "zh_CN"]; + if (lang && availableLangs.includes(lang)) { + this.loadImage("september-update-"+lang, "events"); + } else { + this.loadImage("september-update-en", "events"); + } this.loadAtlas("statuses", ""); this.loadAtlas("categories", ""); @@ -342,8 +345,8 @@ export class LoadingScene extends SceneBase { this.loadLoadingScreen(); - initVouchers(); initAchievements(); + initVouchers(); initStatsKeys(); initPokemonPrevolutions(); initBiomes(); diff --git a/src/locales/de/achv.json b/src/locales/de/achv.json index 0649bcf3169..d2e56089720 100644 --- a/src/locales/de/achv.json +++ b/src/locales/de/achv.json @@ -269,5 +269,9 @@ "FRESH_START": { "name": "Hussa, noch einmal von vorn!", "description": "Schließe die 'Neuanfang' Herausforderung ab" + }, + "INVERSE_BATTLE": { + "name": "Spieglein, Spieglein an der Wand", + "description": "Schließe die 'Umkehrkampf' Herausforderung ab" } } \ No newline at end of file diff --git a/src/locales/de/challenges.json b/src/locales/de/challenges.json index 1b41a707a81..17c33353bc6 100644 --- a/src/locales/de/challenges.json +++ b/src/locales/de/challenges.json @@ -25,5 +25,12 @@ "desc": "Du kannst nur die ursprünglichen Starter verwenden, genau so, als hättest du gerade erst mit Pokérogue begonnen.", "value.0": "Aus", "value.1": "An" + }, + "inverseBattle": { + "name": "Umkehrkampf", + "shortName": "Umkehrkampf", + "desc": "Die Typen-Effektivität wird umgekehrt, und kein Typ ist gegen einen anderen Typ immun.\nDeaktiviert die Erfolge anderer Herausforderungen.", + "value.0": "Aus", + "value.1": "An" } } \ No newline at end of file diff --git a/src/locales/en/achv-female.json b/src/locales/en/achv-female.json index ec695c3ed2a..edcd8c53fb7 100644 --- a/src/locales/en/achv-female.json +++ b/src/locales/en/achv-female.json @@ -260,5 +260,9 @@ "FRESH_START": { "name": "First Try!", "description": "Complete the Fresh Start challenge." + }, + "INVERSE_BATTLE": { + "name": "Mirror rorriM", + "description": "Complete the Inverse Battle challenge.\n.egnellahc elttaB esrevnI eht etelpmoC" } } \ No newline at end of file diff --git a/src/locales/en/achv.json b/src/locales/en/achv.json index 185b42d181a..fae786e034a 100644 --- a/src/locales/en/achv.json +++ b/src/locales/en/achv.json @@ -10,19 +10,19 @@ }, "10K_MONEY": { "name": "Money Haver", - "name_female": null + "name_female": "Money Haver" }, "100K_MONEY": { "name": "Rich", - "name_female": null + "name_female": "Rich" }, "1M_MONEY": { "name": "Millionaire", - "name_female": null + "name_female": "Millionaire" }, "10M_MONEY": { "name": "One Percenter", - "name_female": null + "name_female": "One Percenter" }, "DamageAchv": { "description": "Inflict {{damageAmount}} damage in one hit" @@ -32,11 +32,11 @@ }, "1000_DMG": { "name": "Harder Hitter", - "name_female": null + "name_female": "Harder Hitter" }, "2500_DMG": { "name": "That's a Lotta Damage!", - "name_female": null + "name_female": "That's a Lotta Damage!" }, "10000_DMG": { "name": "One Punch Man", @@ -47,19 +47,19 @@ }, "250_HEAL": { "name": "Novice Healer", - "name_female": null + "name_female": "Novice Healer" }, "1000_HEAL": { "name": "Big Healer", - "name_female": null + "name_female": "Big Healer" }, "2500_HEAL": { "name": "Cleric", - "name_female": null + "name_female": "Cleric" }, "10000_HEAL": { "name": "Recovery Master", - "name_female": null + "name_female": "Recovery Master" }, "LevelAchv": { "description": "Level up a Pokémon to Lv{{level}}" @@ -69,7 +69,7 @@ }, "LV_250": { "name": "Elite", - "name_female": null + "name_female": "Elite" }, "LV_1000": { "name": "To Go Even Further Beyond" @@ -79,23 +79,23 @@ }, "10_RIBBONS": { "name": "Pokémon League Champion", - "name_female": null + "name_female": "Pokémon League Champion" }, "25_RIBBONS": { "name": "Great League Champion", - "name_female": null + "name_female": "Great League Champion" }, "50_RIBBONS": { "name": "Ultra League Champion", - "name_female": null + "name_female": "Ultra League Champion" }, "75_RIBBONS": { "name": "Rogue League Champion", - "name_female": null + "name_female": "Rogue League Champion" }, "100_RIBBONS": { "name": "Master League Champion", - "name_female": null + "name_female": "Master League Champion" }, "TRANSFER_MAX_BATTLE_STAT": { "name": "Teamwork", @@ -147,7 +147,7 @@ }, "SHINY_PARTY": { "name": "That's Dedication", - "name_female": null, + "name_female": "That's Dedication", "description": "Have a full party of shiny Pokémon" }, "HATCH_MYTHICAL": { @@ -176,7 +176,7 @@ }, "CLASSIC_VICTORY": { "name": "Undefeated", - "name_female": null, + "name_female": "Undefeated", "description": "Beat the game in classic mode" }, "UNEVOLVED_CLASSIC_VICTORY": { @@ -279,5 +279,9 @@ "FRESH_START": { "name": "First Try!", "description": "Complete the Fresh Start challenge." + }, + "INVERSE_BATTLE": { + "name": "Mirror rorriM", + "description": "Complete the Inverse Battle challenge.\n.egnellahc elttaB esrevnI eht etelpmoC" } } \ No newline at end of file diff --git a/src/locales/en/challenges.json b/src/locales/en/challenges.json index c89fa7a21bf..f189266cea2 100644 --- a/src/locales/en/challenges.json +++ b/src/locales/en/challenges.json @@ -25,5 +25,12 @@ "desc": "You can only use the original starters, and only as if you had just started PokéRogue.", "value.0": "Off", "value.1": "On" + }, + "inverseBattle": { + "name": "Inverse Battle", + "shortName": "Inverse", + "desc": "Type matchups are reversed and no type is immune to any other type.\nDisables other challenges' achievements.", + "value.0": "Off", + "value.1": "On" } } \ No newline at end of file diff --git a/src/locales/en/dialogue-double-battle.json b/src/locales/en/dialogue-double-battle.json index 9484aa2edcc..4190af49d15 100644 --- a/src/locales/en/dialogue-double-battle.json +++ b/src/locales/en/dialogue-double-battle.json @@ -58,7 +58,7 @@ "iris_alder_double": { "encounter": { "1": "Iris: Welcome Challenger! I am THE Unova Champion!\n$Alder: Iris, aren't you a bit too excited?", - "1_female": null + "1_female": "Iris: Welcome Challenger! I am THE Unova Champion!\n$Alder: Iris, aren't you a bit too excited?" }, "victory": { "1": "Iris: A loss like this is not easy to take...\n$Alder: But we will only get stronger with every loss!" @@ -75,7 +75,7 @@ "marnie_piers_double": { "encounter": { "1": "Piers: Ready for a concert?\n$Marnie: Brother... They are here to fight, not to sing...", - "1_female": null + "1_female": "Piers: Ready for a concert?\n$Marnie: Brother... They are here to fight, not to sing..." }, "victory": { "1": "Piers: Now that was a great concert!\n$Marnie: Brother..." diff --git a/src/locales/en/dialogue-final-boss.json b/src/locales/en/dialogue-final-boss.json index 48a5aa439f3..6f99aae3e0c 100644 --- a/src/locales/en/dialogue-final-boss.json +++ b/src/locales/en/dialogue-final-boss.json @@ -1,6 +1,10 @@ { "encounter": "It appears the time has finally come once again.\nYou know why you have come here, do you not?\n$You were drawn here, because you have been here before.\nCountless times.\n$Though, perhaps it can be counted.\nTo be precise, this is in fact your {{cycleCount}} cycle.\n$Each cycle your mind reverts to its former state.\nEven so, somehow, remnants of your former selves remain.\n$Until now you have yet to succeed, but I sense a different presence in you this time.\n\n$You are the only one here, though it is as if there is… another.\n$Will you finally prove a formidable challenge to me?\nThe challenge I have longed after for millennia?\n$We begin.", - "encounter_female": null, + "encounter_female": "It appears the time has finally come once again.\nYou know why you have come here, do you not?\n$You were drawn here, because you have been here before.\nCountless times.\n$Though, perhaps it can be counted.\nTo be precise, this is in fact your {{cycleCount}} cycle.\n$Each cycle your mind reverts to its former state.\nEven so, somehow, remnants of your former selves remain.\n$Until now you have yet to succeed, but I sense a different presence in you this time.\n\n$You are the only one here, though it is as if there is… another.\n$Will you finally prove a formidable challenge to me?\nThe challenge I have longed after for millennia?\n$We begin.", "firstStageWin": "I see. The presence I felt was indeed real.\nIt appears I no longer need to hold back.\n$Do not disappoint me.", - "secondStageWin": "…Magnificent." + "secondStageWin": "…Magnificent.", + "key_ordinal_one": "st", + "key_ordinal_two": "nd", + "key_ordinal_few": "rd", + "key_ordinal_other": "th" } \ No newline at end of file diff --git a/src/locales/en/dialogue.json b/src/locales/en/dialogue.json index 0dfb637429a..90b03a176d1 100644 --- a/src/locales/en/dialogue.json +++ b/src/locales/en/dialogue.json @@ -3,31 +3,31 @@ "encounter": { "1": "Hey, wanna battle?", "2": "Are you a new trainer too?", - "2_female": null, + "2_female": "Are you a new trainer too?", "3": "Hey, I haven't seen you before. Let's battle!", "4": "I just lost, so I'm trying to find more Pokémon.\nWait! You look weak! Come on, let's battle!", - "4_female": null, + "4_female": "I just lost, so I'm trying to find more Pokémon.\nWait! You look weak! Come on, let's battle!", "5": "Have we met or not? I don't really remember. Well, I guess it's nice to meet you anyway!", "6": "All right! Let's go!", "7": "All right! Here I come! I'll show you my power!", "8": "Haw haw haw... I'll show you how hawesome my Pokémon are!", "9": "No need to waste time saying hello. Bring it on whenever you're ready!", - "9_female": null, + "9_female": "No need to waste time saying hello. Bring it on whenever you're ready!", "10": "Don't let your guard down, or you may be crying when a kid beats you.", "11": "I've raised my Pokémon with great care. You're not allowed to hurt them!", "12": "Glad you made it! It won't be an easy job from here.", - "12_female": null, + "12_female": "Glad you made it! It won't be an easy job from here.", "13": "The battles continue forever! Welcome to the world with no end!", - "13_female": null + "13_female": "The battles continue forever! Welcome to the world with no end!" }, "victory": { "1": "Wow! You're strong!", - "1_female": null, + "1_female": "Wow! You're strong!", "2": "I didn't stand a chance, huh?", "3": "I'll find you again when I'm older and beat you!", "4": "Ugh. I don't have any more Pokémon.", "5": "No way… NO WAY! How could I lose again…", - "5_female": null, + "5_female": "No way… NO WAY! How could I lose again…", "6": "No! I lost!", "7": "Whoa! You are incredible! I'm amazed and surprised!", "8": "Could it be… How… My Pokémon and I are the strongest, though…", @@ -42,12 +42,12 @@ "encounter": { "1": "Let's have a battle, shall we?", "2": "You look like a new trainer. Let's have a battle!", - "2_female": null, + "2_female": "You look like a new trainer. Let's have a battle!", "3": "I don't recognize you. How about a battle?", "4": "Let's have a fun Pokémon battle!", "5": "I'll show you the ropes of how to really use Pokémon!", "6": "A serious battle starts from a serious beginning! Are you sure you're ready?", - "6_female": null, + "6_female": "A serious battle starts from a serious beginning! Are you sure you're ready?", "7": "You're only young once. And you only get one shot at a given battle. Soon, you'll be nothing but a memory.", "8": "You'd better go easy on me, OK? Though I'll be seriously fighting!", "9": "School is boring. I've got nothing to do. Yawn. I'm only battling to kill the time." @@ -55,15 +55,15 @@ "victory": { "1": "That was impressive! I've got a lot to learn.", "2": "I didn't think you'd beat me that bad…", - "2_female": null, + "2_female": "I didn't think you'd beat me that bad…", "3": "I hope we get to have a rematch some day.", "4": "That was pretty amazingly fun! You've totally exhausted me…", "5": "You actually taught me a lesson! You're pretty amazing!", "6": "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.", - "6_female": null, + "6_female": "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.", "7": "I don't need memories like this. Deleting memory…", "8": "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.", - "8_female": null, + "8_female": "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.", "9": "I'm actually getting tired of battling… There's gotta be something new to do…" } }, @@ -154,7 +154,7 @@ "ace_trainer": { "encounter": { "1": "You seem quite confident.", - "1_female": null, + "1_female": "You seem quite confident.", "2": "Your Pokémon… Show them to me…", "3": "Because I'm an Ace Trainer, people think I'm strong.", "4": "Are you aware of what it takes to be an Ace Trainer?" @@ -163,9 +163,9 @@ "1": "Yes… You have good Pokémon…", "2": "What?! But I'm a battling genius!", "3": "Of course, you are the main character!", - "3_female": null, + "3_female": "Of course, you are the main character!", "4": "OK! OK! You could be an Ace Trainer!", - "4_female": null + "4_female": "OK! OK! You could be an Ace Trainer!" }, "defeat": { "1": "I am devoting my body and soul to Pokémon battles!", @@ -187,7 +187,7 @@ "1": "Get ready, because when we team up, it's double the trouble!", "2": "Two hearts, one strategy – let's see if you can keep up with our twin power!", "3": "Hope you're ready for double trouble, because we're about to bring the heat!", - "3_female": null + "3_female": "Hope you're ready for double trouble, because we're about to bring the heat!" }, "victory": { "1": "We may have lost this round, but our bond remains unbreakable!", @@ -216,7 +216,7 @@ "encounter": { "1": "I praise your courage in challenging me! For I am the one with the strongest kick!", "2": "Oh, I see. Would you like to be cut to pieces? Or do you prefer the role of punching bag?", - "2_female": null + "2_female": "Oh, I see. Would you like to be cut to pieces? Or do you prefer the role of punching bag?" }, "victory": { "1": "Oh. The Pokémon did the fighting. My strong kick didn't help a bit.", @@ -328,7 +328,7 @@ "defeat": { "1": "New age simply refers to twentieth century classical composers, right?", "2": "Don't get hung up on sadness or frustration. You can use your grudges to motivate yourself.", - "2_female": null + "2_female": "Don't get hung up on sadness or frustration. You can use your grudges to motivate yourself." } }, "psychic": { @@ -360,7 +360,7 @@ "baker": { "encounter": { "1": "Hope you're ready to taste defeat!", - "1_female": null + "1_female": "Hope you're ready to taste defeat!" }, "victory": { "1": "I'll bake a comeback." @@ -391,7 +391,7 @@ "1": "Matey, you're walking the plank if you lose!", "2": "Come on then! My sailor's pride is at stake!", "3": "Ahoy there! Are you seasick?", - "3_female": null + "3_female": "Ahoy there! Are you seasick?" }, "victory": { "1": "Argh! Beaten by a kid!", @@ -419,7 +419,7 @@ }, "victory": { "1": "Tch, you really are strong. It's too bad.\n$If you were to join Team Rocket, you could become an Executive.", - "1_female": null, + "1_female": "Tch, you really are strong. It's too bad.\n$If you were to join Team Rocket, you could become an Executive.", "2": "I... I'm shattered...", "3": "Aaaieeeee! This can't be happening! I fought hard, but I still lost…" } @@ -455,22 +455,22 @@ "3": "I'm going to give you a little taste of pain! Resign yourself to it!" }, "victory": { - "1": "Hehehe! You might have beaten me, but you don't stand a chance against the Boss!\n$If you get lost now, you won't have to face a sound whipping!", + "1": "Hehehe! You might have beaten me, but you don't stand a chance against the boss!\n$If you get lost now, you won't have to face a sound whipping!", "2": "Hehehe... So, I lost, too...", "3": "Ahya! How could this be? For an Admin like me to lose to some random trainer...", - "3_female": null + "3_female": "Ahya! How could this be? For an Admin like me to lose to some random trainer..." } }, "courtney": { "encounter": { - "1": "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", - "2": "... Well then...Deleting...", - "3": "...Ha. ...Analyzing... ...Hah♪" + "1": "Don't. Get. In. My. Way.", + "2": "You... ...I want to...analyze. Ahahaha", + "3": "... Well then...Deleting..." }, "victory": { - "1": "... ...Change...the world.", + "1": "Hah hah... Uhn...hah hah...", "2": "As anticipated. Unanticipated. You. Target lock...completed.\n$Commencing...experiment. You. Forever. Aha... ♪", - "3": "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. ♪" + "3": "That's unanticipated. ...I knew it. You...are interesting! ...Haha. ♪" } }, "shelly": { @@ -478,26 +478,26 @@ "1": "Ahahahaha! You're going to meddle in Team Aqua's affairs?\n$You're either absolutely fearless, simply ignorant, or both!\n$You're so cute, you're disgusting! I'll put you down", "2": "What's this? Who's this spoiled brat?", "3": "Cool your jets. Be patient. I'll crush you shortly.", - "3_female": null + "3_female": "Cool your jets. Be patient. I'll crush you shortly." }, "victory": { "1": "Ahahahaha! We got meddled with unexpectedly! We're out of options.\n$We'll have to pull out. But this isn't the last you'll see of Team Aqua!\n$We have other plans! Don't you forget it!", "2": "Ahhh?! Did I go too easy on you?!", "3": "Uh. Are you telling me you've upped your game even more during the fight?\n$You're a brat with a bright future… My Pokémon and I don't have any strength left to fight…\n$Go on… Go and be destroyed by Archie.", - "3_female": null + "3_female": "Uh. Are you telling me you've upped your game even more during the fight?\n$You're a brat with a bright future… My Pokémon and I don't have any strength left to fight…\n$Go on… Go and be destroyed by Archie." } }, "matt": { "encounter": { - "1": "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", - "2": "Oho! You! You're that funny kid!", - "3": "What are you doing here? Did you follow us?" + "1": "All right then, until the boss has time for you, I'll be your opponent!", + "2": "Hooah! Full on! I'm burning up! Well! Welll! Wellllll! Let's battle it out until we've got nothing left!", + "3": "Hoo hah! I'm gonna smash you up!" }, "victory": { - "1": "All right then, until the Boss has time for you, I'll be your opponent!", + "1": "Muwuhahaha! That battle was fun even though I lost!", "2": "I can feel it! I can feel it, all right! The strength coming offa you!\n$More! I still want more! But looks like we're outta time...", - "3": "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!", - "3_female": null + "3": "Oho! That's a loss I can be proud of!", + "3_female": "Oho! That's a loss I can be proud of!" } }, "mars": { @@ -505,7 +505,7 @@ "1": "I'm Mars, one of Team Galactic's top Commanders.", "2": "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", "3": "Feeling nervous? You should be!", - "3_female": null + "3_female": "Feeling nervous? You should be!" }, "victory": { "1": "This can't be happening! How did I lose?!", @@ -540,44 +540,44 @@ "zinzolin": { "encounter": { "1": "You could become a threat to Team Plasma, so we will eliminate you here and now!", - "1_female": null, - "2": "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + "1_female": "You could become a threat to Team Plasma, so we will eliminate you here and now!", + "2": "You don't have the sense to know when to quit, it seems. It's an act of mercy on my part to bring an end to this now!", "3": "You're an impressive Trainer to have made it this far. But it ends here.", - "3_female": null + "3_female": "You're an impressive Trainer to have made it this far. But it ends here." }, "victory": { "1": "Ghetsis... I have failed you...", - "2": "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + "2": "It's bitter cold. I'm shivering. I'm suffering. Yet, we will stand victorious.", "3": "Hmph. You're a smarter Trainer than I expected, but not smart enough.", - "3_female": null + "3_female": "Hmph. You're a smarter Trainer than I expected, but not smart enough." } }, "rood": { "encounter": { "1": "You are a threat to Team Plasma. We cannot let you walk away from here and now!", - "1_female": null, - "2": "Oh, this icy wind... I never thought I'd have to fight here!", + "1_female": "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + "2": "It seems you don't know when to give up. I'll make sure no one interferes with our plans!", "3": "You are a remarkable Trainer to have made it this far. But this is where it ends.", - "3_female": null + "3_female": "You are a remarkable Trainer to have made it this far. But this is where it ends." }, "victory": { "1": "Ghetsis... I have failed my mission...", - "2": "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + "2": "The cold is piercing. I'm shivering. I'm suffering. Yet, we will stand triumphant.", "3": "Hm. You are a talented Trainer, but unfortunately not talented enough." } }, "xerosic": { "encounter": { "1": "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", - "1_female": null, + "1_female": "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", "2": "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", - "2_female": null, + "2_female": "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", "3": "I've been waiting for you! I need to do a little research on you! Come, let us begin!" }, "victory": { "1": "Ah, you're quite strong. Oh yes—very strong, indeed.", "2": "Ding-ding-ding! You did it! To the victor go the spoils!", - "2_female": null, + "2_female": "Ding-ding-ding! You did it! To the victor go the spoils!", "3": "Wonderful! Amazing! You have tremendous skill and bravery!" } }, @@ -585,7 +585,7 @@ "encounter": { "1": "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", "2": "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", - "2_female": null, + "2_female": "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", "3": "I've anticipated your arrival. It's time for a little test. Shall we begin?" }, "victory": { @@ -598,11 +598,11 @@ "encounter": { "1": "Prepare for trouble!", "2": "We're pulling a big job here! Get lost, kid!", - "2_female": null, + "2_female": "We're pulling a big job here! Get lost, kid!", "3": "Hand over your Pokémon, or face the wrath of Team Rocket!", "4": "You're about to experience the true terror of Team Rocket!", "5": "Hey, kid! Me am a Team Rocket member kind of guy!", - "5_female": null + "5_female": "Hey, kid! Me am a Team Rocket member kind of guy!" }, "victory": { "1": "Team Rocket blasting off again!", @@ -624,7 +624,7 @@ "1": "Huh? I lost?!", "2": "I can't believe I lost! I even skipped lunch for this", "3": "No way! You're just a kid!", - "3_female": null, + "3_female": "No way! You're just a kid!", "4": "Urrrgh... I should've ducked into our hideout right away...", "5": "You beat me... Do you think the boss will dock my pay for this?" } @@ -652,7 +652,7 @@ "3": "In the name of Team Galactic, I'll eliminate anyone who stands in our way!", "4": "Get ready to lose!", "5": "Hope you're ready for a cosmic beatdown!", - "5_female": null + "5_female": "Hope you're ready for a cosmic beatdown!" }, "victory": { "1": "Shut down...", @@ -682,7 +682,7 @@ "encounter": { "1": "Your Pokémon are no match for the elegance of Team Flare.", "2": "Hope you brought your sunglasses, because things are about to get bright!", - "2_female": null, + "2_female": "Hope you brought your sunglasses, because things are about to get bright!", "3": "Team Flare will cleanse the world of imperfection!", "4": "Prepare to face the brilliance of Team Flare!", "5": "Fashion is most important to us!" @@ -784,7 +784,7 @@ }, "defeat": { "1": "Mark my words. Not being able to measure your own strength shows that you are still a child.", - "1_female": null + "1_female": "Mark my words. Not being able to measure your own strength shows that you are still a child." } }, "rocket_boss_giovanni_2": { @@ -845,7 +845,7 @@ "galactic_boss_cyrus_1": { "encounter": { "1": "You were compelled to come here by such vacuous sentimentality.\n$I will make you regret paying heed to your heart!", - "1_female": null + "1_female": "You were compelled to come here by such vacuous sentimentality.\n$I will make you regret paying heed to your heart!" }, "victory": { "1": "Interesting. And quite curious." @@ -995,7 +995,7 @@ "misty": { "encounter": { "1": "My policy is an all out offensive with Water-type Pokémon!", - "1_female": null, + "1_female": "My policy is an all out offensive with Water-type Pokémon!", "2": "Hiya, I'll show you the strength of my aquatic Pokémon!", "3": "My dream was to go on a journey and battle powerful trainers…\nWill you be a sufficient challenge?" }, @@ -1013,14 +1013,14 @@ "lt_surge": { "encounter": { "1": "My Electric Pokémon saved me during the war! I'll show you how!", - "1_female": null, + "1_female": "My Electric Pokémon saved me during the war! I'll show you how!", "2": "Ten-hut! I'll shock you into surrender!", "3": "I'll zap you just like I do to all my enemies in battle!" }, "victory": { "1": "Whoa! Your team's the real deal, kid!", "2": "Aaargh, you're strong! Even my electric tricks lost against you.", - "2_female": null, + "2_female": "Aaargh, you're strong! Even my electric tricks lost against you.", "3": "That was an absolutely shocking loss!" }, "defeat": { @@ -1045,7 +1045,7 @@ "defeat": { "1": "I was afraid I would doze off…", "2": "Oh my, it seems my Grass Pokémon overwhelmed you.", - "2_female": null, + "2_female": "Oh my, it seems my Grass Pokémon overwhelmed you.", "3": "That battle was such a soothing experience.", "4": "Oh… Is that all?" } @@ -1106,7 +1106,7 @@ "1": "I, the leader of Team Rocket, will make you feel a world of pain!", "2": "My training here will be vital before I am to face my old associates again.", "3": "I do not think you are prepared for the level of failure you are about to experience!", - "3_female": null + "3_female": "I do not think you are prepared for the level of failure you are about to experience!" }, "victory": { "1": "WHAT! Me, lose?! There is nothing I wish to say to you!", @@ -1139,7 +1139,7 @@ "brawly": { "encounter": { "1": "Oh man, a challenger!\nLet's see what you can do!", - "1_female": null, + "1_female": "Oh man, a challenger!\nLet's see what you can do!", "2": "You seem like a big splash.\nLet's battle!", "3": "Time to create a storm!\nLet's go!" }, @@ -1167,7 +1167,7 @@ }, "defeat": { "1": "Recharge your batteries and challenge me again sometime!\nWahahahaha!", - "1_female": null, + "1_female": "Recharge your batteries and challenge me again sometime!\nWahahahaha!", "2": "I hope you found our battle electrifying!\nWahahahaha!", "3": "Aren't you shocked I won?\nWahahahaha!" } @@ -1214,7 +1214,7 @@ }, "victory": { "1": "You're the first Trainer I've seen with more grace than I.\nExcellently played.", - "1_female": null, + "1_female": "You're the first Trainer I've seen with more grace than I.\nExcellently played.", "2": "Oh, my Flying Pokémon have plummeted!\nVery well.", "3": "Though I may have fallen, my Pokémon will continue to fly!" }, @@ -1227,7 +1227,7 @@ "tate": { "encounter": { "1": "Hehehe…\nWere you surprised to see me without my sister?", - "1_female": null, + "1_female": "Hehehe…\nWere you surprised to see me without my sister?", "2": "I can see what you're thinking…\nYou want to battle!", "3": "How can you defeat someone…\nWho knows your every move?" }, @@ -1245,7 +1245,7 @@ "liza": { "encounter": { "1": "Fufufu…\nWere you surprised to see me without my brother?", - "1_female": null, + "1_female": "Fufufu…\nWere you surprised to see me without my brother?", "2": "I can determine what you desire…\nYou want to battle, don't you?", "3": "How can you defeat someone…\nWho's one with their Pokémon?" }, @@ -1317,10 +1317,10 @@ "nessa": { "encounter": { "1": "No matter what kind of plan your refined mind may be plotting, my partner and I will be sure to sink it.", - "1_female": null, + "1_female": "No matter what kind of plan your refined mind may be plotting, my partner and I will be sure to sink it.", "2": "I'm not here to chat. I'm here to win!", "3": "This is a little gift from my Pokémon… I hope you can take it!", - "3_female": null + "3_female": "This is a little gift from my Pokémon… I hope you can take it!" }, "victory": { "1": "You and your Pokémon are just too much…", @@ -1341,7 +1341,7 @@ }, "victory": { "1": "You… You're pretty good, huh?", - "1_female": null, + "1_female": "You… You're pretty good, huh?", "2": "If you find Gordie around, be sure to give him a right trashing, would you?", "3": "I think you took breaking the ice a little too literally…" }, @@ -1355,12 +1355,12 @@ "encounter": { "1": "You look strong! Shoots! Let's start!", "2": "I'm strong like the ocean's wide. You're gonna get swept away, fo' sho'.", - "2_female": null, + "2_female": "I'm strong like the ocean's wide. You're gonna get swept away, fo' sho'.", "3": "Oh ho, so I'm facing you! That's off the wall." }, "victory": { "1": "You totally rocked that! You're raising some wicked Pokémon. You got this Trainer thing down!", - "1_female": null, + "1_female": "You totally rocked that! You're raising some wicked Pokémon. You got this Trainer thing down!", "2": "You don't just look strong, you're strong fo' reals! Eh, I was swept away, too!", "3": "You're strong as a gnarly wave!" }, @@ -1373,7 +1373,7 @@ "shauntal": { "encounter": { "1": "Excuse me. You're a challenger, right?\nI'm the Elite Four's Ghost-type Pokémon user, Shauntal, and I shall be your opponent.", - "1_female": null, + "1_female": "Excuse me. You're a challenger, right?\nI'm the Elite Four's Ghost-type Pokémon user, Shauntal, and I shall be your opponent.", "2": "I absolutely love writing about Trainers who come here and the Pokémon they train.\nCould I use you and your Pokémon as a subject?", "3": "Every person who works with Pokémon has a story to tell.\nWhat story is about to be told?" }, @@ -1391,7 +1391,7 @@ "marshal": { "encounter": { "1": "My mentor, Alder, sees your potential as a Trainer and is taking an interest in you.\nIt is my intention to test you--to take you to the limits of your strength. Kiai!", - "1_female": null, + "1_female": "My mentor, Alder, sees your potential as a Trainer and is taking an interest in you.\nIt is my intention to test you--to take you to the limits of your strength. Kiai!", "2": "Victory, decisive victory, is my intention! Challenger, here I come!", "3": "In myself, I seek to develop the strength of a fighter and shatter any weakness in myself!\nPrevailing with the force of my convictions!" }, @@ -1411,7 +1411,7 @@ "1": "You remind me of an old friend. That makes me excited about this Pokémon battle!", "2": "Pokémon battles have no meaning if you don't think why you battle.\n$Or better said, it makes battling together with Pokémon meaningless.", "3": "My name's Cheren! I'm a Gym Leader and a teacher! Pleasure to meet you.", - "3_female": null + "3_female": "My name's Cheren! I'm a Gym Leader and a teacher! Pleasure to meet you." }, "victory": { "1": "Thank you! I saw what was missing in me.", @@ -1427,65 +1427,65 @@ "chili": { "encounter": { "1": "Yeeeeooow! Time to play with FIRE!! I'm the strongest of us brothers!", - "1_female": null, + "1_female": "Yeeeeooow! Time to play with FIRE!! I'm the strongest of us brothers!", "2": "Ta-da! The Fire-type scorcher Chili--that's me--will be your opponent!", - "2_female": null, + "2_female": "Ta-da! The Fire-type scorcher Chili--that's me--will be your opponent!", "3": "I'm going to show you what me and my blazing Fire types can do!", - "3_female": null + "3_female": "I'm going to show you what me and my blazing Fire types can do!" }, "victory": { "1": "You got me. I am… burned… out…", - "1_female": null, + "1_female": "You got me. I am… burned… out…", "2": "Whoa ho! You're on fire!", - "2_female": null, + "2_female": "Whoa ho! You're on fire!", "3": "Augh! You got me!" }, "defeat": { "1": "I'm on fire! Play with me, and you'll get burned!", - "1_female": null, + "1_female": "I'm on fire! Play with me, and you'll get burned!", "2": "When you play with fire, you get burned!", "3": "I mean, c'mon, your opponent was me! You didn't have a chance!", - "3_female": null + "3_female": "I mean, c'mon, your opponent was me! You didn't have a chance!" } }, "cilan": { "encounter": { "1": "Nothing personal... No hard feelings... Me and my Grass-type Pokémon will...\n$Um... We're gonna battle come what may.", - "1_female": null, + "1_female": "Nothing personal... No hard feelings... Me and my Grass-type Pokémon will...\n$Um... We're gonna battle come what may.", "2": "So, um, if you're OK with me, I'll, um, put everything I've got into being, er, you know, your opponent.", - "2_female": null, + "2_female": "So, um, if you're OK with me, I'll, um, put everything I've got into being, er, you know, your opponent.", "3": "OK… So, um, I'm Cilan, I like Grass-type Pokémon.", - "3_female": null + "3_female": "OK… So, um, I'm Cilan, I like Grass-type Pokémon." }, "victory": { "1": "Er… Is it over now?", - "1_female": null, + "1_female": "Er… Is it over now?", "2": "…What a surprise. You are very strong, aren't you? \n$I guess my brothers wouldn't have been able to defeat you either…", - "2_female": null, + "2_female": "…What a surprise. You are very strong, aren't you? \n$I guess my brothers wouldn't have been able to defeat you either…", "3": "…Huh. Looks like my timing was, um, off?" }, "defeat": { "1": "Huh? Did I win?", - "1_female": null, + "1_female": "Huh? Did I win?", "2": "I guess… \n$I suppose I won, because I've been competing with my brothers Chili and Cress, and we all were able to get tougher.", - "2_female": null, + "2_female": "I guess… \n$I suppose I won, because I've been competing with my brothers Chili and Cress, and we all were able to get tougher.", "3": "It…it was quite a thrilling experience…", - "3_female": null + "3_female": "It…it was quite a thrilling experience…" } }, "roark": { "encounter": { "1": "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!", - "1_female": null, + "1_female": "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!", "2": "Here goes! These are my rocking Pokémon, my pride and joy!", "3": "Rock-type Pokémon are simply the best!", "4": "Every day, I toughened up my Pokémon by digging up Fossils nonstop.\n$Could I show you how tough I made them in a battle?", - "4_female": null + "4_female": "Every day, I toughened up my Pokémon by digging up Fossils nonstop.\n$Could I show you how tough I made them in a battle?" }, "victory": { "1": "W-what? That can't be! My buffed-up Pokémon!", "2": "…We lost control there. Next time I'd like to challenge you to a Fossil-digging race underground.", - "2_female": null, + "2_female": "…We lost control there. Next time I'd like to challenge you to a Fossil-digging race underground.", "3": "With skill like yours, it's natural for you to win.", "4": "Wh-what?! It can't be! Even that wasn't enough?" }, @@ -1508,7 +1508,7 @@ "victory": { "1": "I'm not good enough yet…", "2": "I see… Your journey has taken you to far-away places and you have witnessed much more than I.\n$I envy you for that…", - "2_female": null, + "2_female": "I see… Your journey has taken you to far-away places and you have witnessed much more than I.\n$I envy you for that…", "3": "How is this possible…", "4": "I don't think our potentials are so different.\n$But you seem to have something more than that… So be it.", "5": "Guess I need more training.", @@ -1568,13 +1568,13 @@ }, "defeat": { "1": "Heh heh! Don't mind me, just scooping up a W over here. I get it if you're upset, but don't go full Kieran on me, OK?", - "1_female": null + "1_female": "Heh heh! Don't mind me, just scooping up a W over here. I get it if you're upset, but don't go full Kieran on me, OK?" } }, "ramos": { "encounter": { "1": "Did yeh enjoy the garden playground I made with all these sturdy plants o' mine?\n$Their strength is a sign o' my strength as a gardener and a Gym Leader! Yeh sure yer up to facing all that?", - "1_female": null + "1_female": "Did yeh enjoy the garden playground I made with all these sturdy plants o' mine?\n$Their strength is a sign o' my strength as a gardener and a Gym Leader! Yeh sure yer up to facing all that?" }, "victory": { "1": "Yeh believe in yer Pokémon… And they believe in yeh, too… It was a fine battle, sprout." @@ -1605,7 +1605,7 @@ "victory": { "1": "I must say, I'm warmed up to you! I might even admire you a little.", "2": "Wow! You're great! You've earned my respect! \n$I think your focus and will bowled us over totally. ", - "2_female": null + "2_female": "Wow! You're great! You've earned my respect! \n$I think your focus and will bowled us over totally. " }, "defeat": { "1": "I sensed your will to win, but I don't lose!", @@ -1618,7 +1618,7 @@ }, "victory": { "1": "Amazing! You're very good, aren't you?", - "1_female": null + "1_female": "Amazing! You're very good, aren't you?" }, "defeat": { "1": "Yes! My Pokémon and I are perfectly good!" @@ -1660,7 +1660,7 @@ "clay": { "encounter": { "1": "Harrumph! Kept me waitin', didn't ya, kid? All right, time to see what ya can do!", - "1_female": null + "1_female": "Harrumph! Kept me waitin', didn't ya, kid? All right, time to see what ya can do!" }, "victory": { "1": "Man oh man… It feels good to go all out and still be defeated!" @@ -1675,7 +1675,7 @@ }, "victory": { "1": "Vaultin' Veluza! Yer a lively one, aren't ya! A little TOO lively, if I do say so myself!", - "1_female": null + "1_female": "Vaultin' Veluza! Yer a lively one, aren't ya! A little TOO lively, if I do say so myself!" }, "defeat": { "1": "You come back to see me again now, ya hear?" @@ -1742,7 +1742,7 @@ }, "victory": { "1": "Bravo. I realize now your authenticity and magnificence as a Pokémon Trainer. \n$I find much joy in having met you and your Pokémon. You have proven yourself worthy.", - "1_female": null + "1_female": "Bravo. I realize now your authenticity and magnificence as a Pokémon Trainer. \n$I find much joy in having met you and your Pokémon. You have proven yourself worthy." }, "defeat": { "1": "A grand illusion!" @@ -1751,14 +1751,14 @@ "lorelei": { "encounter": { "1": "No one can best me when it comes to icy Pokémon! Freezing moves are powerful!\n$Your Pokémon will be at my mercy when they are frozen solid! Hahaha! Are you ready?", - "1_female": null + "1_female": "No one can best me when it comes to icy Pokémon! Freezing moves are powerful!\n$Your Pokémon will be at my mercy when they are frozen solid! Hahaha! Are you ready?" }, "victory": { "1": "How dare you!" }, "defeat": { "1": "There's nothing you can do once you're frozen.", - "1_female": null + "1_female": "There's nothing you can do once you're frozen." } }, "will": { @@ -1775,11 +1775,11 @@ "malva": { "encounter": { "1": "I feel like my heart might just burst into flames. \n$I'm burning up with my hatred for you, runt!", - "1_female": null + "1_female": "I feel like my heart might just burst into flames. \n$I'm burning up with my hatred for you, runt!" }, "victory": { "1": "What news… So a new challenger has defeated Malva!", - "1_female": null + "1_female": "What news… So a new challenger has defeated Malva!" }, "defeat": { "1": "I am delighted! Yes, delighted that I could squash you beneath my heel." @@ -1802,7 +1802,7 @@ }, "victory": { "1": "I certainly found an interesting Trainer to face!", - "1_female": null + "1_female": "I certainly found an interesting Trainer to face!" }, "defeat": { "1": "Ahaha. What an interesting battle." @@ -1814,11 +1814,11 @@ }, "victory": { "1": "Not bad, kiddo.", - "1_female": null + "1_female": "Not bad, kiddo." }, "defeat": { "1": "Nahahaha! You really are something else, kiddo!", - "1_female": null + "1_female": "Nahahaha! You really are something else, kiddo!" } }, "bruno": { @@ -1838,7 +1838,7 @@ }, "victory": { "1": "Whoa, amazing! You're an expert on Pokémon!\nMy research isn't complete yet. OK, you win.", - "1_female": null + "1_female": "Whoa, amazing! You're an expert on Pokémon!\nMy research isn't complete yet. OK, you win." }, "defeat": { "1": "Thanks! Thanks to our battle, I was also able to make progress in my research!" @@ -1869,11 +1869,11 @@ "lenora": { "encounter": { "1": "Well then, challenger, I'm going to research how you battle with the Pokémon you've so lovingly raised!", - "1_female": null + "1_female": "Well then, challenger, I'm going to research how you battle with the Pokémon you've so lovingly raised!" }, "victory": { "1": "My theory about you was correct. You're more than just talented… You're motivated! I salute you!", - "1_female": null + "1_female": "My theory about you was correct. You're more than just talented… You're motivated! I salute you!" }, "defeat": { "1": "Ah ha ha! If you lose, make sure to analyze why, and use that knowledge in your next battle!" @@ -1899,7 +1899,7 @@ }, "defeat": { "1": "Hey, c'mon! Get serious! You gotta put more out there!", - "1_female": null + "1_female": "Hey, c'mon! Get serious! You gotta put more out there!" } }, "olivia": { @@ -1938,7 +1938,7 @@ "flint": { "encounter": { "1": "Hope you're warmed up, cause here comes the Big Bang!", - "1_female": null + "1_female": "Hope you're warmed up, cause here comes the Big Bang!" }, "victory": { "1": "Incredible! Your moves are so hot, they make mine look lukewarm!" @@ -1961,7 +1961,7 @@ "caitlin": { "encounter": { "1": "It's me who appeared when the flower opened up. You who have been waiting…\n$You look like a Pokémon Trainer with refined strength and deepened kindness. \n$What I look for in my opponent is superb strength… \n$Please unleash your power to the fullest!", - "1_female": null + "1_female": "It's me who appeared when the flower opened up. You who have been waiting…\n$You look like a Pokémon Trainer with refined strength and deepened kindness. \n$What I look for in my opponent is superb strength… \n$Please unleash your power to the fullest!" }, "victory": { "1": "My Pokémon and I learned so much! I offer you my thanks." @@ -1984,15 +1984,15 @@ "wikstrom": { "encounter": { "1": "Well met, young challenger! Verily am I the famed blade of hardened steel, Duke Wikstrom! \n$Let the battle begin! En garde!", - "1_female": null + "1_female": "Well met, young challenger! Verily am I the famed blade of hardened steel, Duke Wikstrom! \n$Let the battle begin! En garde!" }, "victory": { "1": "Glorious! The trust that you share with your honorable Pokémon surpasses even mine!", - "1_female": null + "1_female": "Glorious! The trust that you share with your honorable Pokémon surpasses even mine!" }, "defeat": { "1": "What manner of magic is this? My heart, it doth hammer ceaselessly in my breast! \n$Winning against such a worthy opponent doth give my soul wings--thus do I soar!", - "1_female": null + "1_female": "What manner of magic is this? My heart, it doth hammer ceaselessly in my breast! \n$Winning against such a worthy opponent doth give my soul wings--thus do I soar!" } }, "acerola": { @@ -2024,14 +2024,14 @@ }, "victory": { "1": "You got me. You are magnificent!", - "1_female": null, + "1_female": "You got me. You are magnificent!", "2": "I never expected another trainer to beat me… I'm surprised.", - "2_female": null + "2_female": "I never expected another trainer to beat me… I'm surprised." }, "defeat": { "1": "That was close. Want to try again?", "2": "It's not that you are weak. Don't let it bother you.", - "2_female": null + "2_female": "It's not that you are weak. Don't let it bother you." } }, "karen": { @@ -2057,7 +2057,7 @@ }, "victory": { "1": "The power of Grass has wilted… What an incredible Challenger!", - "1_female": null + "1_female": "The power of Grass has wilted… What an incredible Challenger!" }, "defeat": { "1": "This'll really leave you in shock and awe." @@ -2077,7 +2077,7 @@ "drasna": { "encounter": { "1": "You must be a strong Trainer. Yes, quite strong indeed…\n$That's just wonderful news! Facing opponents like you and your team will make my Pokémon grow like weeds!", - "1_female": null + "1_female": "You must be a strong Trainer. Yes, quite strong indeed…\n$That's just wonderful news! Facing opponents like you and your team will make my Pokémon grow like weeds!" }, "victory": { "1": "Oh, dear me. That sure was a quick battle… I do hope you'll come back again sometime!" @@ -2111,7 +2111,7 @@ "blue": { "encounter": { "1": "You must be pretty good to get this far.", - "1_female": null + "1_female": "You must be pretty good to get this far." }, "victory": { "1": "I've only lost to him and now to you… Him? Hee, hee…" @@ -2159,7 +2159,7 @@ }, "victory": { "1": "This is the emergence of a new Champion.", - "1_female": null + "1_female": "This is the emergence of a new Champion." }, "defeat": { "1": "I successfully defended my Championship." @@ -2248,7 +2248,7 @@ }, "victory": { "1": "Waaah! Waaah! You're so mean!", - "1_female": null + "1_female": "Waaah! Waaah! You're so mean!" }, "defeat": { "1": "And that's that!" @@ -2257,7 +2257,7 @@ "chuck": { "encounter": { "1": "Hah! You want to challenge me? Are you brave or just ignorant?", - "1_female": null + "1_female": "Hah! You want to challenge me? Are you brave or just ignorant?" }, "victory": { "1": "You're strong! Would you please make me your apprentice?" @@ -2269,7 +2269,7 @@ "katy": { "encounter": { "1": "Don't let your guard down unless you would like to find yourself knocked off your feet!", - "1_female": null + "1_female": "Don't let your guard down unless you would like to find yourself knocked off your feet!" }, "victory": { "1": "All of my sweet little Pokémon dropped like flies!" @@ -2303,7 +2303,7 @@ "maylene": { "encounter": { "1": "I've come to challenge you now, and I won't hold anything back. \n$Please prepare yourself for battle!", - "1_female": null + "1_female": "I've come to challenge you now, and I won't hold anything back. \n$Please prepare yourself for battle!" }, "victory": { "1": "I admit defeat…" @@ -2326,7 +2326,7 @@ "byron": { "encounter": { "1": "Trainer! You're young, just like my son, Roark. \n$With more young Trainers taking charge, the future of Pokémon is bright! \n$So, as a wall for young people, I'll take your challenge!", - "1_female": null + "1_female": "Trainer! You're young, just like my son, Roark. \n$With more young Trainers taking charge, the future of Pokémon is bright! \n$So, as a wall for young people, I'll take your challenge!" }, "victory": { "1": "Hmm! My sturdy Pokémon--defeated!" @@ -2349,7 +2349,7 @@ "volkner": { "encounter": { "1": "Since you've come this far, you must be quite strong…\n$I hope you're the Trainer who'll make me remember how fun it is to battle!", - "1_female": null + "1_female": "Since you've come this far, you must be quite strong…\n$I hope you're the Trainer who'll make me remember how fun it is to battle!" }, "victory": { "1": "You've got me beat…\n$Your desire and the noble way your Pokémon battled for you… \n$I even felt thrilled during our match. That was a very good battle." @@ -2452,7 +2452,7 @@ "valerie": { "encounter": { "1": "Oh, if it isn't a young Trainer… It is lovely to get to meet you like this. \n$Then I suppose you have earned yourself the right to a battle, as a reward for your efforts. \n$The elusive Fairy may appear frail as the breeze and delicate as a bloom, but it is strong.", - "1_female": null + "1_female": "Oh, if it isn't a young Trainer… It is lovely to get to meet you like this. \n$Then I suppose you have earned yourself the right to a battle, as a reward for your efforts. \n$The elusive Fairy may appear frail as the breeze and delicate as a bloom, but it is strong." }, "victory": { "1": "I hope that you will find things worth smiling about tomorrow…" @@ -2500,7 +2500,7 @@ }, "victory": { "1": "Your pink is still lacking, but you're an excellent Trainer with excellent Pokémon.", - "1_female": null + "1_female": "Your pink is still lacking, but you're an excellent Trainer with excellent Pokémon." }, "defeat": { "1": "Too bad for you, I guess." @@ -2509,7 +2509,7 @@ "bede": { "encounter": { "1": "I suppose I should prove beyond doubt just how pathetic you are and how strong I am.", - "1_female": null + "1_female": "I suppose I should prove beyond doubt just how pathetic you are and how strong I am." }, "victory": { "1": "I see… Well, that's fine. I wasn't really trying all that hard anyway." @@ -2554,7 +2554,7 @@ "brassius": { "encounter": { "1": "I assume you are ready? Let our collaborative work of art begin!", - "1_female": null + "1_female": "I assume you are ready? Let our collaborative work of art begin!" }, "victory": { "1": "Ahhh…vant-garde!" @@ -2566,11 +2566,11 @@ "iono": { "encounter": { "1": "How're ya feelin' about this battle?\n$...\n$Let's get this show on the road! How strong is our challenger? \n$I 'unno! Let's find out together!", - "1_female": null + "1_female": "How're ya feelin' about this battle?\n$...\n$Let's get this show on the road! How strong is our challenger? \n$I 'unno! Let's find out together!" }, "victory": { "1": "You're as flashy and bright as a 10,000,000-volt Thunderbolt, friendo!", - "1_female": null + "1_female": "You're as flashy and bright as a 10,000,000-volt Thunderbolt, friendo!" }, "defeat": { "1": "Your eyeballs are MINE!" @@ -2593,7 +2593,7 @@ }, "victory": { "1": "You're cool, my friend—you move my SOUL!", - "1_female": null + "1_female": "You're cool, my friend—you move my SOUL!" }, "defeat": { "1": "Later, baby!" @@ -2627,9 +2627,9 @@ "nessa_elite": { "encounter": { "1": "The tides are turning in my favor. Ready to get swept away?", - "1_female": null, + "1_female": "The tides are turning in my favor. Ready to get swept away?", "2": "Let's make some waves with this battle! I hope you're prepared!", - "2_female": null + "2_female": "Let's make some waves with this battle! I hope you're prepared!" }, "victory": { "1": "You navigated those waters perfectly... Well done!", @@ -2657,7 +2657,7 @@ "allister_elite": { "encounter": { "1": "Shadows fall... Are you ready to face your fears?", - "1_female": null, + "1_female": "Shadows fall... Are you ready to face your fears?", "2": "Let's see if you can handle the darkness that I command." }, "victory": { @@ -2681,7 +2681,7 @@ "defeat": { "1": "Another storm weathered, another victory claimed! Well fought!", "2": "You got caught in my storm! Better luck next time!", - "2_female": null + "2_female": "You got caught in my storm! Better luck next time!" } }, "alder": { diff --git a/src/locales/en/menu-ui-handler.json b/src/locales/en/menu-ui-handler.json index 8230a675b39..fccf9cd3002 100644 --- a/src/locales/en/menu-ui-handler.json +++ b/src/locales/en/menu-ui-handler.json @@ -14,8 +14,8 @@ "importSlotSelect": "Select a slot to import to.", "exportSession": "Export Session", "exportSlotSelect": "Select a slot to export from.", - "importRunHistory":"Import Run History", - "exportRunHistory":"Export Run History", + "importRunHistory": "Import Run History", + "exportRunHistory": "Export Run History", "importData": "Import Data", "exportData": "Export Data", "consentPreferences": "Consent Preferences", diff --git a/src/locales/es/achv.json b/src/locales/es/achv.json index c3a22c566d0..c94b8858233 100644 --- a/src/locales/es/achv.json +++ b/src/locales/es/achv.json @@ -170,5 +170,9 @@ "CLASSIC_VICTORY": { "name": "Imbatible", "description": "Completa el juego en modo clásico." + }, + "INVERSE_BATTLE": { + "name": "Espejo ojepsE", + "description": "Completa el reto de Combate Inverso.\n.osrevnI etabmoC ed oter le atelpmoC" } } \ No newline at end of file diff --git a/src/locales/es/challenges.json b/src/locales/es/challenges.json index a855f3dbc2b..6a7db8c10c3 100644 --- a/src/locales/es/challenges.json +++ b/src/locales/es/challenges.json @@ -18,5 +18,12 @@ "name": "Monotipo", "desc": "Solo puedes usar Pokémon with the {{type}} type.", "desc_default": "Solo puedes usar Pokémon del tipo elegido." + }, + "inverseBattle": { + "name": "Combate Inverso", + "shortName": "Inverso", + "desc": "La efectividad de los tipos es invertida. No hay inmunidades entre tipos.\nEste reto deshabilita logros de otros retos.", + "value.0": "Desactivado", + "value.1": "Activado" } } \ No newline at end of file diff --git a/src/locales/fr/achv.json b/src/locales/fr/achv.json index f83fa3079f2..60655ae22cf 100644 --- a/src/locales/fr/achv.json +++ b/src/locales/fr/achv.json @@ -274,5 +274,9 @@ "FRESH_START": { "name": "Du premier coup !", "description": "Terminer un challenge « Nouveau départ »." + }, + "INVERSE_BATTLE": { + "name": "La teuté à verlan", + "description": "Terminer un challenge en Combat Inversé.\nMineter un lenjcha en Ba-con Versin." } } diff --git a/src/locales/fr/challenges.json b/src/locales/fr/challenges.json index 50a8e34f298..a83ec2e0be4 100644 --- a/src/locales/fr/challenges.json +++ b/src/locales/fr/challenges.json @@ -25,5 +25,12 @@ "desc": "Vous ne pouvez choisir que les starters de base du jeu, comme si vous le recommenciez.", "value.0": "Non", "value.1": "Oui" + }, + "inverseBattle": { + "name": "Combat Inversé", + "shortName": "Inversé", + "desc": "Les affinités de la table des types sont inversées et plus aucun type n’a d’immunité.\nDésactive les succès des autres challenges.", + "value.0": "Non", + "value.1": "Oui" } } \ No newline at end of file diff --git a/src/locales/ja/challenges.json b/src/locales/ja/challenges.json index 29f6ca835fe..54225ebf766 100644 --- a/src/locales/ja/challenges.json +++ b/src/locales/ja/challenges.json @@ -22,6 +22,7 @@ }, "freshStart": { "name": "出直し", + "shortName": "出直し", "desc": "ポケローグを 始めた ばかりの ような ままで ゲーム開始の 最初のパートナーしか 使えません", "value.0": "オフ", "value.1": "オン" diff --git a/src/locales/ko/achv.json b/src/locales/ko/achv.json index 73753dd9b5a..8546dff949c 100644 --- a/src/locales/ko/achv.json +++ b/src/locales/ko/achv.json @@ -260,5 +260,9 @@ "FRESH_START": { "name": "첫트!", "description": "새 출발 챌린지 모드 클리어." + }, + "INVERSE_BATTLE": { + "name": "상성 전문가(였던 것)", + "description": "거꾸로 배틀 챌린지 모드 클리어." } } \ No newline at end of file diff --git a/src/locales/ko/challenges.json b/src/locales/ko/challenges.json index 433b0990e87..7efdfef3570 100644 --- a/src/locales/ko/challenges.json +++ b/src/locales/ko/challenges.json @@ -25,5 +25,12 @@ "desc": "포켓로그를 처음 시작했던 때처럼 강화가 전혀 되지 않은 오리지널 스타팅 포켓몬만 고를 수 있습니다.", "value.0": "해제", "value.1": "설정" + }, + "inverseBattle": { + "name": "거꾸로 배틀", + "shortName": "거꾸로", + "desc": "타입 상성이 반대로 바뀌고 면역 타입은 약점 타입이 됩니다.\n설정 시 다른 챌린지 업적은 달성할 수 없습니다.", + "value.0": "해제", + "value.1": "설정" } } \ No newline at end of file diff --git a/src/locales/pt_BR/achv.json b/src/locales/pt_BR/achv.json index aee3dd48cc5..acdec1ae306 100644 --- a/src/locales/pt_BR/achv.json +++ b/src/locales/pt_BR/achv.json @@ -264,5 +264,9 @@ "FRESH_START": { "name": "De Primeira!", "description": "Complete o desafio de novo começo." + }, + "INVERSE_BATTLE": { + "name": "A torre da derrotA", + "description": "Complete o desafio da Batalha Inversa.\n.asrevnI ahlataB ad oifased o etelpmoC" } } \ No newline at end of file diff --git a/src/locales/pt_BR/challenges.json b/src/locales/pt_BR/challenges.json index 43a40e29b56..6b20a92f4f6 100644 --- a/src/locales/pt_BR/challenges.json +++ b/src/locales/pt_BR/challenges.json @@ -25,5 +25,12 @@ "desc": "Você só pode usar os iniciais originais, como se tivesse acabado de começar o PokéRogue.", "value.0": "Desligado", "value.1": "Ligado" + }, + "inverseBattle": { + "name": "Batalha Inversa", + "shortName": "Inversa", + "desc": "Fraquezas e resistências de tipos são invertidas e nenhum tipo é imune a outro tipo.\nDesativa as conquistas de outros desafios.", + "value.0": "Desligado", + "value.1": "Ligado" } } \ No newline at end of file diff --git a/src/locales/zh_CN/achv.json b/src/locales/zh_CN/achv.json index 103a9bb41b5..8de0c48a2c3 100644 --- a/src/locales/zh_CN/achv.json +++ b/src/locales/zh_CN/achv.json @@ -268,5 +268,9 @@ "FRESH_START": { "name": "初次尝试!", "description": "完成初次尝试挑战" + }, + "INVERSE_BATTLE": { + "name": "镜子子镜", + "description": "完成逆转之战挑战\n战挑战之转逆成完" } } diff --git a/src/locales/zh_CN/challenges.json b/src/locales/zh_CN/challenges.json index 0b454d759fb..9351ec96285 100644 --- a/src/locales/zh_CN/challenges.json +++ b/src/locales/zh_CN/challenges.json @@ -25,5 +25,12 @@ "desc": "你只能使用御三家,就像是你第一次玩宝可梦肉鸽一样。", "value.0": "关闭", "value.1": "开启" + }, + "inverseBattle": { + "name": "逆转之战", + "shortName": "逆转之战", + "desc": "属性相克关系被反转,且没有任何属性对其他属性免疫。\n禁用其他挑战的成就。", + "value.0": "关闭", + "value.1": "开启" } } \ No newline at end of file diff --git a/src/locales/zh_TW/achv.json b/src/locales/zh_TW/achv.json index dcd6f26ae82..6587394cf41 100644 --- a/src/locales/zh_TW/achv.json +++ b/src/locales/zh_TW/achv.json @@ -252,5 +252,9 @@ }, "MONO_FAIRY": { "name": "林克,醒醒!" + }, + "INVERSE_BATTLE": { + "name": "鏡子子鏡", + "description": "完成逆轉之戰挑戰\n戰挑戰之轉逆成完" } } \ No newline at end of file diff --git a/src/locales/zh_TW/challenges.json b/src/locales/zh_TW/challenges.json index c6c4f90e65e..a1fc6b8f50f 100644 --- a/src/locales/zh_TW/challenges.json +++ b/src/locales/zh_TW/challenges.json @@ -19,5 +19,12 @@ "name": "單屬性", "desc": "你只能使用{{type}}\n屬性的寶可夢", "desc_default": "你只能使用所選\n屬性的寶可夢" + }, + "inverseBattle": { + "name": "逆轉之戰", + "shortName": "逆轉之戰", + "desc": "屬性相克關系被反轉,且沒有任何屬性對其他屬性免疫。\n禁用其他挑戰的成就。", + "value.0": "關閉", + "value.1": "開啓" } } \ No newline at end of file diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 938f73a1e08..3afeb79ff2b 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -791,10 +791,10 @@ export class EvolutionItemModifierType extends PokemonModifierType implements Ge super("", EvolutionItem[evolutionItem].toLowerCase(), (_type, args) => new Modifiers.EvolutionItemModifier(this, (args[0] as PlayerPokemon).id), (pokemon: PlayerPokemon) => { if (pokemonEvolutions.hasOwnProperty(pokemon.species.speciesId) && pokemonEvolutions[pokemon.species.speciesId].filter(e => e.item === this.evolutionItem - && (!e.condition || e.condition.predicate(pokemon)) && (e.preFormKey === pokemon.getFormKey())).length && (pokemon.getFormKey() !== SpeciesFormKey.GIGANTAMAX)) { + && (!e.condition || e.condition.predicate(pokemon)) && (e.preFormKey === null || e.preFormKey === pokemon.getFormKey())).length && (pokemon.getFormKey() !== SpeciesFormKey.GIGANTAMAX)) { return null; } else if (pokemon.isFusion() && pokemon.fusionSpecies && pokemonEvolutions.hasOwnProperty(pokemon.fusionSpecies.speciesId) && pokemonEvolutions[pokemon.fusionSpecies.speciesId].filter(e => e.item === this.evolutionItem - && (!e.condition || e.condition.predicate(pokemon)) && (e.preFormKey === pokemon.getFusionFormKey())).length && (pokemon.getFusionFormKey() !== SpeciesFormKey.GIGANTAMAX)) { + && (!e.condition || e.condition.predicate(pokemon)) && (e.preFormKey === null || e.preFormKey === pokemon.getFusionFormKey())).length && (pokemon.getFusionFormKey() !== SpeciesFormKey.GIGANTAMAX)) { return null; } diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 9d74063627a..07bfd72a8bf 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -1,23 +1,23 @@ -import BattleScene from "#app/battle-scene.js"; -import { BattleType, BattlerIndex } from "#app/battle.js"; -import { applyAbAttrs, SyncEncounterNatureAbAttr } from "#app/data/ability.js"; -import { getCharVariantFromDialogue } from "#app/data/dialogue.js"; -import { TrainerSlot } from "#app/data/trainer-config.js"; -import { getRandomWeatherType } from "#app/data/weather.js"; -import { BattleSpec } from "#app/enums/battle-spec.js"; -import { PlayerGender } from "#app/enums/player-gender.js"; -import { Species } from "#app/enums/species.js"; -import { EncounterPhaseEvent } from "#app/events/battle-scene.js"; -import Pokemon, { FieldPosition } from "#app/field/pokemon.js"; -import { getPokemonNameWithAffix } from "#app/messages.js"; -import { regenerateModifierPoolThresholds, ModifierPoolType } from "#app/modifier/modifier-type.js"; -import { IvScannerModifier, TurnHeldItemTransferModifier } from "#app/modifier/modifier.js"; -import { achvs } from "#app/system/achv.js"; -import { handleTutorial, Tutorial } from "#app/tutorial.js"; -import { Mode } from "#app/ui/ui.js"; +import BattleScene from "#app/battle-scene"; +import { BattleType, BattlerIndex } from "#app/battle"; +import { applyAbAttrs, SyncEncounterNatureAbAttr } from "#app/data/ability"; +import { getCharVariantFromDialogue } from "#app/data/dialogue"; +import { TrainerSlot } from "#app/data/trainer-config"; +import { getRandomWeatherType } from "#app/data/weather"; +import { BattleSpec } from "#app/enums/battle-spec"; +import { PlayerGender } from "#app/enums/player-gender"; +import { Species } from "#app/enums/species"; +import { EncounterPhaseEvent } from "#app/events/battle-scene"; +import Pokemon, { FieldPosition } from "#app/field/pokemon"; +import { getPokemonNameWithAffix } from "#app/messages"; +import { regenerateModifierPoolThresholds, ModifierPoolType } from "#app/modifier/modifier-type"; +import { IvScannerModifier, TurnHeldItemTransferModifier } from "#app/modifier/modifier"; +import { achvs } from "#app/system/achv"; +import { handleTutorial, Tutorial } from "#app/tutorial"; +import { Mode } from "#app/ui/ui"; import i18next from "i18next"; import { BattlePhase } from "./battle-phase"; -import * as Utils from "#app/utils.js"; +import * as Utils from "#app/utils"; import { CheckSwitchPhase } from "./check-switch-phase"; import { GameOverPhase } from "./game-over-phase"; import { PostSummonPhase } from "./post-summon-phase"; @@ -358,24 +358,29 @@ export class EncounterPhase extends BattlePhase { case BattleSpec.FINAL_BOSS: const enemy = this.scene.getEnemyPokemon(); this.scene.ui.showText(this.getEncounterMessage(), null, () => { - const count = 5643853 + this.scene.gameData.gameStats.classicSessionsPlayed; - //The two lines below check if English ordinals (1st, 2nd, 3rd, Xth) are used and determine which one to use. - //Otherwise, it defaults to an empty string. - //As of 08-07-24: Spanish and Italian default to the English translations - const ordinalUse = ["en", "es", "it"]; - const currentLanguage = i18next.resolvedLanguage ?? "en"; - const ordinalIndex = (ordinalUse.includes(currentLanguage)) ? ["st", "nd", "rd"][((count + 90) % 100 - 10) % 10 - 1] ?? "th" : ""; - const cycleCount = count.toLocaleString() + ordinalIndex; - const genderIndex = this.scene.gameData.gender ?? PlayerGender.UNSET; - const genderStr = PlayerGender[genderIndex].toLowerCase(); - const encounterDialogue = i18next.t("battleSpecDialogue:encounter", { context: genderStr, cycleCount: cycleCount }); - this.scene.ui.showDialogue(encounterDialogue, enemy?.species.name, null, () => { + const localizationKey = "battleSpecDialogue:encounter"; + if (this.scene.ui.shouldSkipDialogue(localizationKey)) { + // Logging mirrors logging found in dialogue-ui-handler + console.log(`Dialogue ${localizationKey} skipped`); this.doEncounterCommon(false); - }); + } else { + const count = 5643853 + this.scene.gameData.gameStats.classicSessionsPlayed; + // The line below checks if an English ordinal is necessary or not based on whether an entry for encounterLocalizationKey exists in the language or not. + const ordinalUsed = !i18next.exists(localizationKey, {fallbackLng: []}) || i18next.resolvedLanguage === "en" ? i18next.t("battleSpecDialogue:key", { count: count, ordinal: true }) : ""; + const cycleCount = count.toLocaleString() + ordinalUsed; + const genderIndex = this.scene.gameData.gender ?? PlayerGender.UNSET; + const genderStr = PlayerGender[genderIndex].toLowerCase(); + const encounterDialogue = i18next.t(localizationKey, { context: genderStr, cycleCount: cycleCount }); + if (!this.scene.gameData.getSeenDialogues()[localizationKey]) { + this.scene.gameData.saveSeenDialogue(localizationKey); + } + this.scene.ui.showDialogue(encounterDialogue, enemy?.species.name, null, () => { + this.doEncounterCommon(false); + }); + } }, 1500, true); return true; } - return false; } } diff --git a/src/phases/enemy-command-phase.ts b/src/phases/enemy-command-phase.ts index 0b62fcbe813..5277b2666c7 100644 --- a/src/phases/enemy-command-phase.ts +++ b/src/phases/enemy-command-phase.ts @@ -47,7 +47,7 @@ export class EnemyCommandPhase extends FieldPhase { const trapTag = enemyPokemon.findTag(t => t instanceof TrappedTag) as TrappedTag; const trapped = new Utils.BooleanHolder(false); - opponents.forEach(playerPokemon => applyCheckTrappedAbAttrs(CheckTrappedAbAttr, playerPokemon, trapped, enemyPokemon, [], true)); + opponents.forEach(playerPokemon => applyCheckTrappedAbAttrs(CheckTrappedAbAttr, playerPokemon, trapped, enemyPokemon, [""], true)); if (!trapTag && !trapped.value) { const partyMemberScores = trainer.getPartyMemberMatchupScores(enemyPokemon.trainerSlot, true); diff --git a/src/phases/field-phase.ts b/src/phases/field-phase.ts index a9622271f14..02d1f1395d3 100644 --- a/src/phases/field-phase.ts +++ b/src/phases/field-phase.ts @@ -1,42 +1,9 @@ -import { BattlerIndex } from "#app/battle.js"; -import { TrickRoomTag } from "#app/data/arena-tag.js"; -import { Stat } from "#app/enums/stat.js"; -import Pokemon from "#app/field/pokemon.js"; import { BattlePhase } from "./battle-phase"; -import * as Utils from "#app/utils.js"; +import Pokemon from "#app/field/pokemon"; type PokemonFunc = (pokemon: Pokemon) => void; export abstract class FieldPhase extends BattlePhase { - getOrder(): BattlerIndex[] { - const playerField = this.scene.getPlayerField().filter(p => p.isActive()) as Pokemon[]; - const enemyField = this.scene.getEnemyField().filter(p => p.isActive()) as Pokemon[]; - - // We shuffle the list before sorting so speed ties produce random results - let orderedTargets: Pokemon[] = playerField.concat(enemyField); - // We seed it with the current turn to prevent an inconsistency where it - // was varying based on how long since you last reloaded - this.scene.executeWithSeedOffset(() => { - orderedTargets = Utils.randSeedShuffle(orderedTargets); - }, this.scene.currentBattle.turn, this.scene.waveSeed); - - orderedTargets.sort((a: Pokemon, b: Pokemon) => { - const aSpeed = a?.getBattleStat(Stat.SPD) || 0; - const bSpeed = b?.getBattleStat(Stat.SPD) || 0; - - return bSpeed - aSpeed; - }); - - const speedReversed = new Utils.BooleanHolder(false); - this.scene.arena.applyTags(TrickRoomTag, speedReversed); - - if (speedReversed.value) { - orderedTargets = orderedTargets.reverse(); - } - - return orderedTargets.map(t => t.getFieldIndex() + (!t.isPlayer() ? BattlerIndex.ENEMY : 0)); - } - executeForAll(func: PokemonFunc): void { const field = this.scene.getField(true).filter(p => p.summonData); field.forEach(pokemon => func(pokemon)); diff --git a/src/phases/game-over-phase.ts b/src/phases/game-over-phase.ts index 78dd73057a1..ebe58b20d3e 100644 --- a/src/phases/game-over-phase.ts +++ b/src/phases/game-over-phase.ts @@ -1,7 +1,7 @@ import { clientSessionId } from "#app/account"; import BattleScene from "#app/battle-scene"; import { BattleType } from "#app/battle"; -import { miscDialogue, getCharVariantFromDialogue } from "#app/data/dialogue"; +import { getCharVariantFromDialogue } from "#app/data/dialogue"; import { pokemonEvolutions } from "#app/data/pokemon-evolutions"; import PokemonSpecies, { getPokemonSpecies } from "#app/data/pokemon-species"; import { trainerConfigs } from "#app/data/trainer-config"; @@ -136,12 +136,16 @@ export class GameOverPhase extends BattlePhase { }; if (this.victory && this.scene.gameMode.isClassic) { - const message = miscDialogue.ending[this.scene.gameData.gender === PlayerGender.FEMALE ? 0 : 1]; + const dialogueKey = "miscDialogue:ending"; - if (!this.scene.ui.shouldSkipDialogue(message)) { + if (!this.scene.ui.shouldSkipDialogue(dialogueKey)) { this.scene.ui.fadeIn(500).then(() => { - this.scene.charSprite.showCharacter(`rival_${this.scene.gameData.gender === PlayerGender.FEMALE ? "m" : "f"}`, getCharVariantFromDialogue(miscDialogue.ending[this.scene.gameData.gender === PlayerGender.FEMALE ? 0 : 1])).then(() => { - this.scene.ui.showDialogue(message, this.scene.gameData.gender === PlayerGender.FEMALE ? trainerConfigs[TrainerType.RIVAL].name : trainerConfigs[TrainerType.RIVAL].nameFemale, null, () => { + const genderIndex = this.scene.gameData.gender ?? PlayerGender.UNSET; + const genderStr = PlayerGender[genderIndex].toLowerCase(); + // Dialogue has to be retrieved so that the rival's expressions can be loaded and shown via getCharVariantFromDialogue + const dialogue = i18next.t(dialogueKey, { context: genderStr }); + this.scene.charSprite.showCharacter(`rival_${this.scene.gameData.gender === PlayerGender.FEMALE ? "m" : "f"}`, getCharVariantFromDialogue(dialogue)).then(() => { + this.scene.ui.showDialogue(dialogueKey, this.scene.gameData.gender === PlayerGender.FEMALE ? trainerConfigs[TrainerType.RIVAL].name : trainerConfigs[TrainerType.RIVAL].nameFemale, null, () => { this.scene.ui.fadeOut(500).then(() => { this.scene.charSprite.hide().then(() => { const endCardPhase = new EndCardPhase(this.scene); diff --git a/src/phases/title-phase.ts b/src/phases/title-phase.ts index c74dca97f5c..4c89b725c2d 100644 --- a/src/phases/title-phase.ts +++ b/src/phases/title-phase.ts @@ -293,7 +293,7 @@ export class TitlePhase extends Phase { } for (const achv of Object.keys(this.scene.gameData.achvUnlocks)) { - if (vouchers.hasOwnProperty(achv)) { + if (vouchers.hasOwnProperty(achv) && achv !== "CLASSIC_VICTORY") { this.scene.validateVoucher(vouchers[achv]); } } diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index e4064fc784a..b2545e9ee30 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -1,12 +1,12 @@ -import BattleScene from "#app/battle-scene.js"; -import { applyAbAttrs, BypassSpeedChanceAbAttr, PreventBypassSpeedChanceAbAttr, ChangeMovePriorityAbAttr } from "#app/data/ability.js"; -import { allMoves, applyMoveAttrs, IncrementMovePriorityAttr, MoveHeaderAttr } from "#app/data/move.js"; -import { Abilities } from "#app/enums/abilities.js"; -import { Stat } from "#app/enums/stat.js"; -import { PokemonMove } from "#app/field/pokemon.js"; -import { BypassSpeedChanceModifier } from "#app/modifier/modifier.js"; -import { Command } from "#app/ui/command-ui-handler.js"; -import * as Utils from "#app/utils.js"; +import BattleScene from "#app/battle-scene"; +import { applyAbAttrs, BypassSpeedChanceAbAttr, PreventBypassSpeedChanceAbAttr, ChangeMovePriorityAbAttr } from "#app/data/ability"; +import { allMoves, applyMoveAttrs, IncrementMovePriorityAttr, MoveHeaderAttr } from "#app/data/move"; +import { Abilities } from "#app/enums/abilities"; +import { Stat } from "#app/enums/stat"; +import Pokemon, { PokemonMove } from "#app/field/pokemon"; +import { BypassSpeedChanceModifier } from "#app/modifier/modifier"; +import { Command } from "#app/ui/command-ui-handler"; +import * as Utils from "#app/utils"; import { AttemptCapturePhase } from "./attempt-capture-phase"; import { AttemptRunPhase } from "./attempt-run-phase"; import { BerryPhase } from "./berry-phase"; @@ -17,18 +17,59 @@ import { PostTurnStatusEffectPhase } from "./post-turn-status-effect-phase"; import { SwitchSummonPhase } from "./switch-summon-phase"; import { TurnEndPhase } from "./turn-end-phase"; import { WeatherEffectPhase } from "./weather-effect-phase"; +import { BattlerIndex } from "#app/battle"; +import { TrickRoomTag } from "#app/data/arena-tag"; export class TurnStartPhase extends FieldPhase { constructor(scene: BattleScene) { super(scene); } - start() { - super.start(); + /** + * This orders the active Pokemon on the field by speed into an BattlerIndex array and returns that array. + * It also checks for Trick Room and reverses the array if it is present. + * @returns {@linkcode BattlerIndex[]} the battle indices of all pokemon on the field ordered by speed + */ + getSpeedOrder(): BattlerIndex[] { + const playerField = this.scene.getPlayerField().filter(p => p.isActive()) as Pokemon[]; + const enemyField = this.scene.getEnemyField().filter(p => p.isActive()) as Pokemon[]; - const field = this.scene.getField(); - const order = this.getOrder(); + // We shuffle the list before sorting so speed ties produce random results + let orderedTargets: Pokemon[] = playerField.concat(enemyField); + // We seed it with the current turn to prevent an inconsistency where it + // was varying based on how long since you last reloaded + this.scene.executeWithSeedOffset(() => { + orderedTargets = Utils.randSeedShuffle(orderedTargets); + }, this.scene.currentBattle.turn, this.scene.waveSeed); + orderedTargets.sort((a: Pokemon, b: Pokemon) => { + const aSpeed = a?.getBattleStat(Stat.SPD) || 0; + const bSpeed = b?.getBattleStat(Stat.SPD) || 0; + + return bSpeed - aSpeed; + }); + + // Next, a check for Trick Room is applied. If Trick Room is present, the order is reversed. + const speedReversed = new Utils.BooleanHolder(false); + this.scene.arena.applyTags(TrickRoomTag, speedReversed); + + if (speedReversed.value) { + orderedTargets = orderedTargets.reverse(); + } + + return orderedTargets.map(t => t.getFieldIndex() + (!t.isPlayer() ? BattlerIndex.ENEMY : BattlerIndex.PLAYER)); + } + + /** + * This takes the result of getSpeedOrder and applies priority / bypass speed attributes to it. + * This also considers the priority levels of various commands and changes the result of getSpeedOrder based on such. + * @returns {@linkcode BattlerIndex[]} the final sequence of commands for this turn + */ + getCommandOrder(): BattlerIndex[] { + let moveOrder = this.getSpeedOrder(); + // The creation of the battlerBypassSpeed object contains checks for the ability Quick Draw and the held item Quick Claw + // The ability Mycelium Might disables Quick Claw's activation when using a status move + // This occurs before the main loop because of battles with more than two Pokemon const battlerBypassSpeed = {}; this.scene.getField(true).filter(p => p.summonData).map(p => { @@ -42,8 +83,9 @@ export class TurnStartPhase extends FieldPhase { battlerBypassSpeed[p.getBattlerIndex()] = bypassSpeed; }); - const moveOrder = order.slice(0); - + // The function begins sorting orderedTargets based on command priority, move priority, and possible speed bypasses. + // Non-FIGHT commands (SWITCH, BALL, RUN) have a higher command priority and will always occur before any FIGHT commands. + moveOrder = moveOrder.slice(0); moveOrder.sort((a, b) => { const aCommand = this.scene.currentBattle.turnCommands[a]; const bCommand = this.scene.currentBattle.turnCommands[b]; @@ -55,37 +97,50 @@ export class TurnStartPhase extends FieldPhase { return -1; } } else if (aCommand?.command === Command.FIGHT) { - const aMove = allMoves[aCommand.move!.move];//TODO: is the bang correct here? - const bMove = allMoves[bCommand!.move!.move];//TODO: is the bang correct here? + const aMove = allMoves[aCommand.move!.move]; + const bMove = allMoves[bCommand!.move!.move]; + // The game now considers priority and applies the relevant move and ability attributes const aPriority = new Utils.IntegerHolder(aMove.priority); const bPriority = new Utils.IntegerHolder(bMove.priority); - applyMoveAttrs(IncrementMovePriorityAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === a)!, null, aMove, aPriority); //TODO: is the bang correct here? - applyMoveAttrs(IncrementMovePriorityAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === b)!, null, bMove, bPriority); //TODO: is the bang correct here? + applyMoveAttrs(IncrementMovePriorityAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === a)!, null, aMove, aPriority); + applyMoveAttrs(IncrementMovePriorityAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === b)!, null, bMove, bPriority); - applyAbAttrs(ChangeMovePriorityAbAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === a)!, null, false, aMove, aPriority); //TODO: is the bang correct here? - applyAbAttrs(ChangeMovePriorityAbAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === b)!, null, false, bMove, bPriority); //TODO: is the bang correct here? + applyAbAttrs(ChangeMovePriorityAbAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === a)!, null, false, aMove, aPriority); + applyAbAttrs(ChangeMovePriorityAbAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === b)!, null, false, bMove, bPriority); + // The game now checks for differences in priority levels. + // If the moves share the same original priority bracket, it can check for differences in battlerBypassSpeed and return the result. + // This conditional is used to ensure that Quick Claw can still activate with abilities like Stall and Mycelium Might (attack moves only) + // Otherwise, the game returns the user of the move with the highest priority. + const isSameBracket = Math.ceil(aPriority.value) - Math.ceil(bPriority.value) === 0; if (aPriority.value !== bPriority.value) { - const bracketDifference = Math.ceil(aPriority.value) - Math.ceil(bPriority.value); - const hasSpeedDifference = battlerBypassSpeed[a].value !== battlerBypassSpeed[b].value; - if (bracketDifference === 0 && hasSpeedDifference) { + if (isSameBracket && battlerBypassSpeed[a].value !== battlerBypassSpeed[b].value) { return battlerBypassSpeed[a].value ? -1 : 1; } return aPriority.value < bPriority.value ? 1 : -1; } } + // If there is no difference between the move's calculated priorities, the game checks for differences in battlerBypassSpeed and returns the result. if (battlerBypassSpeed[a].value !== battlerBypassSpeed[b].value) { return battlerBypassSpeed[a].value ? -1 : 1; } - const aIndex = order.indexOf(a); - const bIndex = order.indexOf(b); + const aIndex = moveOrder.indexOf(a); + const bIndex = moveOrder.indexOf(b); return aIndex < bIndex ? -1 : aIndex > bIndex ? 1 : 0; }); + return moveOrder; + } + + start() { + super.start(); + + const field = this.scene.getField(); + const moveOrder = this.getCommandOrder(); let orderIndex = 0; @@ -150,10 +205,9 @@ export class TurnStartPhase extends FieldPhase { } } - this.scene.pushPhase(new WeatherEffectPhase(this.scene)); - for (const o of order) { + for (const o of moveOrder) { if (field[o].status && field[o].status.isPostTurn()) { this.scene.pushPhase(new PostTurnStatusEffectPhase(this.scene, o)); } diff --git a/src/system/achv.ts b/src/system/achv.ts index 0f9bc5ac6de..de2862c2813 100644 --- a/src/system/achv.ts +++ b/src/system/achv.ts @@ -5,8 +5,9 @@ import { pokemonEvolutions } from "#app/data/pokemon-evolutions"; import i18next from "i18next"; import * as Utils from "../utils"; import { PlayerGender } from "#enums/player-gender"; -import { Challenge, FreshStartChallenge, SingleGenerationChallenge, SingleTypeChallenge } from "#app/data/challenge.js"; -import { ConditionFn } from "#app/@types/common.js"; +import { Challenge, FreshStartChallenge, InverseBattleChallenge, SingleGenerationChallenge, SingleTypeChallenge } from "#app/data/challenge"; +import { Challenges } from "#app/enums/challenges"; +import { ConditionFn } from "#app/@types/common"; export enum AchvTier { COMMON, @@ -137,8 +138,8 @@ export class ModifierAchv extends Achv { } export class ChallengeAchv extends Achv { - constructor(localizationKey: string, name: string, description: string, iconImage: string, score: integer, challengeFunc: (challenge: Challenge) => boolean) { - super(localizationKey, name, description, iconImage, score, (_scene: BattleScene, args: any[]) => challengeFunc((args[0] as Challenge))); + constructor(localizationKey: string, name: string, description: string, iconImage: string, score: integer, challengeFunc: (challenge: Challenge, scene: BattleScene) => boolean) { + super(localizationKey, name, description, iconImage, score, (_scene: BattleScene, args: any[]) => challengeFunc(args[0] as Challenge, _scene)); } } @@ -275,6 +276,8 @@ export function getAchievementDescription(localizationKey: string): string { return i18next.t("achv:MonoType.description", { context: genderStr, "type": i18next.t(`pokemonInfo:Type.${localizationKey.slice(5)}`) }); case "FRESH_START": return i18next.t("achv:FRESH_START.description", { context: genderStr }); + case "INVERSE_BATTLE": + return i18next.t("achv:INVERSE_BATTLE.description", { context: genderStr }); default: return ""; } @@ -321,36 +324,37 @@ export const achvs = { HATCH_SHINY: new Achv("HATCH_SHINY", "", "HATCH_SHINY.description", "golden_egg", 100).setSecret(), HIDDEN_ABILITY: new Achv("HIDDEN_ABILITY", "", "HIDDEN_ABILITY.description", "ability_charm", 75), PERFECT_IVS: new Achv("PERFECT_IVS", "", "PERFECT_IVS.description", "blunder_policy", 100), - CLASSIC_VICTORY: new Achv("CLASSIC_VICTORY", "", "CLASSIC_VICTORY.description", "relic_crown", 150), + CLASSIC_VICTORY: new Achv("CLASSIC_VICTORY", "", "CLASSIC_VICTORY.description", "relic_crown", 150, c => c.gameData.gameStats.sessionsWon === 0), UNEVOLVED_CLASSIC_VICTORY: new Achv("UNEVOLVED_CLASSIC_VICTORY", "", "UNEVOLVED_CLASSIC_VICTORY.description", "eviolite", 175, c => c.getParty().some(p => p.getSpeciesForm(true).speciesId in pokemonEvolutions)), - MONO_GEN_ONE_VICTORY: new ChallengeAchv("MONO_GEN_ONE", "", "MONO_GEN_ONE.description", "ribbon_gen1", 100, c => c instanceof SingleGenerationChallenge && c.value === 1), - MONO_GEN_TWO_VICTORY: new ChallengeAchv("MONO_GEN_TWO", "", "MONO_GEN_TWO.description", "ribbon_gen2", 100, c => c instanceof SingleGenerationChallenge && c.value === 2), - MONO_GEN_THREE_VICTORY: new ChallengeAchv("MONO_GEN_THREE", "", "MONO_GEN_THREE.description", "ribbon_gen3", 100, c => c instanceof SingleGenerationChallenge && c.value === 3), - MONO_GEN_FOUR_VICTORY: new ChallengeAchv("MONO_GEN_FOUR", "", "MONO_GEN_FOUR.description", "ribbon_gen4", 100, c => c instanceof SingleGenerationChallenge && c.value === 4), - MONO_GEN_FIVE_VICTORY: new ChallengeAchv("MONO_GEN_FIVE", "", "MONO_GEN_FIVE.description", "ribbon_gen5", 100, c => c instanceof SingleGenerationChallenge && c.value === 5), - MONO_GEN_SIX_VICTORY: new ChallengeAchv("MONO_GEN_SIX", "", "MONO_GEN_SIX.description", "ribbon_gen6", 100, c => c instanceof SingleGenerationChallenge && c.value === 6), - MONO_GEN_SEVEN_VICTORY: new ChallengeAchv("MONO_GEN_SEVEN", "", "MONO_GEN_SEVEN.description", "ribbon_gen7", 100, c => c instanceof SingleGenerationChallenge && c.value === 7), - MONO_GEN_EIGHT_VICTORY: new ChallengeAchv("MONO_GEN_EIGHT", "", "MONO_GEN_EIGHT.description", "ribbon_gen8", 100, c => c instanceof SingleGenerationChallenge && c.value === 8), - MONO_GEN_NINE_VICTORY: new ChallengeAchv("MONO_GEN_NINE", "", "MONO_GEN_NINE.description", "ribbon_gen9", 100, c => c instanceof SingleGenerationChallenge && c.value === 9), - MONO_NORMAL: new ChallengeAchv("MONO_NORMAL", "", "MONO_NORMAL.description", "silk_scarf", 100, c => c instanceof SingleTypeChallenge && c.value === 1), - MONO_FIGHTING: new ChallengeAchv("MONO_FIGHTING", "", "MONO_FIGHTING.description", "black_belt", 100, c => c instanceof SingleTypeChallenge && c.value === 2), - MONO_FLYING: new ChallengeAchv("MONO_FLYING", "", "MONO_FLYING.description", "sharp_beak", 100, c => c instanceof SingleTypeChallenge && c.value === 3), - MONO_POISON: new ChallengeAchv("MONO_POISON", "", "MONO_POISON.description", "poison_barb", 100, c => c instanceof SingleTypeChallenge && c.value === 4), - MONO_GROUND: new ChallengeAchv("MONO_GROUND", "", "MONO_GROUND.description", "soft_sand", 100, c => c instanceof SingleTypeChallenge && c.value === 5), - MONO_ROCK: new ChallengeAchv("MONO_ROCK", "", "MONO_ROCK.description", "hard_stone", 100, c => c instanceof SingleTypeChallenge && c.value === 6), - MONO_BUG: new ChallengeAchv("MONO_BUG", "", "MONO_BUG.description", "silver_powder", 100, c => c instanceof SingleTypeChallenge && c.value === 7), - MONO_GHOST: new ChallengeAchv("MONO_GHOST", "", "MONO_GHOST.description", "spell_tag", 100, c => c instanceof SingleTypeChallenge && c.value === 8), - MONO_STEEL: new ChallengeAchv("MONO_STEEL", "", "MONO_STEEL.description", "metal_coat", 100, c => c instanceof SingleTypeChallenge && c.value === 9), - MONO_FIRE: new ChallengeAchv("MONO_FIRE", "", "MONO_FIRE.description", "charcoal", 100, c => c instanceof SingleTypeChallenge && c.value === 10), - MONO_WATER: new ChallengeAchv("MONO_WATER", "", "MONO_WATER.description", "mystic_water", 100, c => c instanceof SingleTypeChallenge && c.value === 11), - MONO_GRASS: new ChallengeAchv("MONO_GRASS", "", "MONO_GRASS.description", "miracle_seed", 100, c => c instanceof SingleTypeChallenge && c.value === 12), - MONO_ELECTRIC: new ChallengeAchv("MONO_ELECTRIC", "", "MONO_ELECTRIC.description", "magnet", 100, c => c instanceof SingleTypeChallenge && c.value === 13), - MONO_PSYCHIC: new ChallengeAchv("MONO_PSYCHIC", "", "MONO_PSYCHIC.description", "twisted_spoon", 100, c => c instanceof SingleTypeChallenge && c.value === 14), - MONO_ICE: new ChallengeAchv("MONO_ICE", "", "MONO_ICE.description", "never_melt_ice", 100, c => c instanceof SingleTypeChallenge && c.value === 15), - MONO_DRAGON: new ChallengeAchv("MONO_DRAGON", "", "MONO_DRAGON.description", "dragon_fang", 100, c => c instanceof SingleTypeChallenge && c.value === 16), - MONO_DARK: new ChallengeAchv("MONO_DARK", "", "MONO_DARK.description", "black_glasses", 100, c => c instanceof SingleTypeChallenge && c.value === 17), - MONO_FAIRY: new ChallengeAchv("MONO_FAIRY", "", "MONO_FAIRY.description", "fairy_feather", 100, c => c instanceof SingleTypeChallenge && c.value === 18), - FRESH_START: new ChallengeAchv("FRESH_START", "", "FRESH_START.description", "reviver_seed", 100, c => c instanceof FreshStartChallenge && c.value === 1), + MONO_GEN_ONE_VICTORY: new ChallengeAchv("MONO_GEN_ONE", "", "MONO_GEN_ONE.description", "ribbon_gen1", 100, (c, scene) => c instanceof SingleGenerationChallenge && c.value === 1 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GEN_TWO_VICTORY: new ChallengeAchv("MONO_GEN_TWO", "", "MONO_GEN_TWO.description", "ribbon_gen2", 100, (c, scene) => c instanceof SingleGenerationChallenge && c.value === 2 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GEN_THREE_VICTORY: new ChallengeAchv("MONO_GEN_THREE", "", "MONO_GEN_THREE.description", "ribbon_gen3", 100, (c, scene) => c instanceof SingleGenerationChallenge && c.value === 3 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GEN_FOUR_VICTORY: new ChallengeAchv("MONO_GEN_FOUR", "", "MONO_GEN_FOUR.description", "ribbon_gen4", 100, (c, scene) => c instanceof SingleGenerationChallenge && c.value === 4 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GEN_FIVE_VICTORY: new ChallengeAchv("MONO_GEN_FIVE", "", "MONO_GEN_FIVE.description", "ribbon_gen5", 100, (c, scene) => c instanceof SingleGenerationChallenge && c.value === 5 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GEN_SIX_VICTORY: new ChallengeAchv("MONO_GEN_SIX", "", "MONO_GEN_SIX.description", "ribbon_gen6", 100, (c, scene) => c instanceof SingleGenerationChallenge && c.value === 6 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GEN_SEVEN_VICTORY: new ChallengeAchv("MONO_GEN_SEVEN", "", "MONO_GEN_SEVEN.description", "ribbon_gen7", 100, (c, scene) => c instanceof SingleGenerationChallenge && c.value === 7 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GEN_EIGHT_VICTORY: new ChallengeAchv("MONO_GEN_EIGHT", "", "MONO_GEN_EIGHT.description", "ribbon_gen8", 100, (c, scene) => c instanceof SingleGenerationChallenge && c.value === 8 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GEN_NINE_VICTORY: new ChallengeAchv("MONO_GEN_NINE", "", "MONO_GEN_NINE.description", "ribbon_gen9", 100, (c, scene) => c instanceof SingleGenerationChallenge && c.value === 9 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_NORMAL: new ChallengeAchv("MONO_NORMAL", "", "MONO_NORMAL.description", "silk_scarf", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 1 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_FIGHTING: new ChallengeAchv("MONO_FIGHTING", "", "MONO_FIGHTING.description", "black_belt", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 2 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_FLYING: new ChallengeAchv("MONO_FLYING", "", "MONO_FLYING.description", "sharp_beak", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 3 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_POISON: new ChallengeAchv("MONO_POISON", "", "MONO_POISON.description", "poison_barb", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 4 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GROUND: new ChallengeAchv("MONO_GROUND", "", "MONO_GROUND.description", "soft_sand", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 5 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_ROCK: new ChallengeAchv("MONO_ROCK", "", "MONO_ROCK.description", "hard_stone", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 6 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_BUG: new ChallengeAchv("MONO_BUG", "", "MONO_BUG.description", "silver_powder", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 7 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GHOST: new ChallengeAchv("MONO_GHOST", "", "MONO_GHOST.description", "spell_tag", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 8 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_STEEL: new ChallengeAchv("MONO_STEEL", "", "MONO_STEEL.description", "metal_coat", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 9 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_FIRE: new ChallengeAchv("MONO_FIRE", "", "MONO_FIRE.description", "charcoal", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 10 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_WATER: new ChallengeAchv("MONO_WATER", "", "MONO_WATER.description", "mystic_water", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 11 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_GRASS: new ChallengeAchv("MONO_GRASS", "", "MONO_GRASS.description", "miracle_seed", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 12 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_ELECTRIC: new ChallengeAchv("MONO_ELECTRIC", "", "MONO_ELECTRIC.description", "magnet", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 13 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_PSYCHIC: new ChallengeAchv("MONO_PSYCHIC", "", "MONO_PSYCHIC.description", "twisted_spoon", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 14 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_ICE: new ChallengeAchv("MONO_ICE", "", "MONO_ICE.description", "never_melt_ice", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 15 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_DRAGON: new ChallengeAchv("MONO_DRAGON", "", "MONO_DRAGON.description", "dragon_fang", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 16 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_DARK: new ChallengeAchv("MONO_DARK", "", "MONO_DARK.description", "black_glasses", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 17 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + MONO_FAIRY: new ChallengeAchv("MONO_FAIRY", "", "MONO_FAIRY.description", "fairy_feather", 100, (c, scene) => c instanceof SingleTypeChallenge && c.value === 18 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + FRESH_START: new ChallengeAchv("FRESH_START", "", "FRESH_START.description", "reviver_seed", 100, (c, scene) => c instanceof FreshStartChallenge && c.value > 0 && !scene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0)), + INVERSE_BATTLE: new ChallengeAchv("INVERSE_BATTLE", "", "INVERSE_BATTLE.description", "inverse", 100, c => c instanceof InverseBattleChallenge && c.value > 0), }; export function initAchievements() { diff --git a/src/system/game-data.ts b/src/system/game-data.ts index d10d6288696..a4c276fa770 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -243,6 +243,8 @@ export class StarterPrefs { if (pStr !== StarterPrefers_private_latest) { // something changed, store the update localStorage.setItem(`starterPrefs_${loggedInUser?.username}`, pStr); + // update the latest prefs + StarterPrefers_private_latest = pStr; } } } @@ -462,7 +464,7 @@ export class GameData { const lsItemKey = `runHistoryData_${loggedInUser?.username}`; const lsItem = localStorage.getItem(lsItemKey); if (!lsItem) { - localStorage.setItem(lsItemKey, encrypt("", true)); + localStorage.setItem(lsItemKey, ""); } this.trainerId = systemData.trainerId; @@ -592,7 +594,7 @@ export class GameData { if (lsItem) { const cachedResponse = lsItem; if (cachedResponse) { - const runHistory = JSON.parse(decrypt(cachedResponse, true)); + const runHistory = JSON.parse(decrypt(cachedResponse, bypassLogin)); return runHistory; } return {}; @@ -614,7 +616,7 @@ export class GameData { if (lsItem) { const cachedResponse = lsItem; if (cachedResponse) { - const runHistory : RunHistoryData = JSON.parse(decrypt(cachedResponse, true)); + const runHistory : RunHistoryData = JSON.parse(decrypt(cachedResponse, bypassLogin)); return runHistory; } return {}; @@ -650,7 +652,7 @@ export class GameData { isVictory: isVictory, isFavorite: false, }; - localStorage.setItem(`runHistoryData_${loggedInUser?.username}`, encrypt(JSON.stringify(runHistoryData), true)); + localStorage.setItem(`runHistoryData_${loggedInUser?.username}`, encrypt(JSON.stringify(runHistoryData), bypassLogin)); /** * Networking Code DO NOT DELETE * @@ -1366,8 +1368,7 @@ export class GameData { } else { const data = localStorage.getItem(dataKey); if (data) { - handleData(decrypt(data, (dataType !== GameDataType.RUN_HISTORY) ? bypassLogin : true)); - // This conditional is necessary because at the moment, run history is stored locally only so it has to be decoded from Base64 as if it was local + handleData(decrypt(data, bypassLogin)); } resolve(!!data); } @@ -1416,9 +1417,6 @@ export class GameData { const entryKeys = Object.keys(data[key]); valid = ["isFavorite", "isVictory", "entry"].every(v => entryKeys.includes(v)) && entryKeys.length === 3; }); - if (valid) { - localStorage.setItem(`runHistoryData_${loggedInUser?.username}`, dataStr); - } break; case GameDataType.SETTINGS: case GameDataType.TUTORIALS: diff --git a/src/test/abilities/mycelium_might.test.ts b/src/test/abilities/mycelium_might.test.ts index 83396f7950f..d5bea185f59 100644 --- a/src/test/abilities/mycelium_might.test.ts +++ b/src/test/abilities/mycelium_might.test.ts @@ -1,6 +1,6 @@ import { BattleStat } from "#app/data/battle-stat"; -import { MovePhase } from "#app/phases/move-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; +import { TurnStartPhase } from "#app/phases/turn-start-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; @@ -8,7 +8,6 @@ import GameManager from "#test/utils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; - describe("Abilities - Mycelium Might", () => { let phaserGame: Phaser.Game; let game: GameManager; @@ -35,7 +34,7 @@ describe("Abilities - Mycelium Might", () => { }); /** - * Bulbapedia References: + * References: * https://bulbapedia.bulbagarden.net/wiki/Mycelium_Might_(Ability) * https://bulbapedia.bulbagarden.net/wiki/Priority * https://www.smogon.com/forums/threads/scarlet-violet-battle-mechanics-research.3709545/page-24 @@ -44,22 +43,22 @@ describe("Abilities - Mycelium Might", () => { it("will move last in its priority bracket and ignore protective abilities", async () => { await game.startBattle([Species.REGIELEKI]); - const leadIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyPokemon = game.scene.getEnemyPokemon(); + const playerIndex = game.scene.getPlayerPokemon()?.getBattlerIndex(); const enemyIndex = enemyPokemon?.getBattlerIndex(); game.move.select(Moves.BABY_DOLL_EYES); - await game.phaseInterceptor.to(MovePhase, false); + await game.phaseInterceptor.to(TurnStartPhase, false); + const phase = game.scene.getCurrentPhase() as TurnStartPhase; + const speedOrder = phase.getSpeedOrder(); + const commandOrder = phase.getCommandOrder(); // The opponent Pokemon (without Mycelium Might) goes first despite having lower speed than the player Pokemon. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(enemyIndex); - - await game.phaseInterceptor.run(MovePhase); - await game.phaseInterceptor.to(MovePhase, false); - // The player Pokemon (with Mycelium Might) goes last despite having higher speed than the opponent. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(leadIndex); + expect(speedOrder).toEqual([playerIndex, enemyIndex]); + expect(commandOrder).toEqual([enemyIndex, playerIndex]); await game.phaseInterceptor.to(TurnEndPhase); + // Despite the opponent's ability (Clear Body), its attack stat is still reduced. expect(enemyPokemon?.summonData.battleStats[BattleStat.ATK]).toBe(-1); }, 20000); @@ -67,39 +66,41 @@ describe("Abilities - Mycelium Might", () => { game.override.enemyMoveset([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]); await game.startBattle([Species.REGIELEKI]); - const leadIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyPokemon = game.scene.getEnemyPokemon(); + const playerIndex = game.scene.getPlayerPokemon()?.getBattlerIndex(); const enemyIndex = enemyPokemon?.getBattlerIndex(); game.move.select(Moves.BABY_DOLL_EYES); - await game.phaseInterceptor.to(MovePhase, false); + await game.phaseInterceptor.to(TurnStartPhase, false); + const phase = game.scene.getCurrentPhase() as TurnStartPhase; + const speedOrder = phase.getSpeedOrder(); + const commandOrder = phase.getCommandOrder(); // The player Pokemon (with M.M.) goes first because its move is still within a higher priority bracket than its opponent. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(leadIndex); - - await game.phaseInterceptor.run(MovePhase); - await game.phaseInterceptor.to(MovePhase, false); // The enemy Pokemon goes second because its move is in a lower priority bracket. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(enemyIndex); + expect(speedOrder).toEqual([playerIndex, enemyIndex]); + expect(commandOrder).toEqual([playerIndex, enemyIndex]); await game.phaseInterceptor.to(TurnEndPhase); + // Despite the opponent's ability (Clear Body), its attack stat is still reduced. expect(enemyPokemon?.summonData.battleStats[BattleStat.ATK]).toBe(-1); }, 20000); it("will not affect non-status moves", async () => { await game.startBattle([Species.REGIELEKI]); - const leadIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); + const playerIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyIndex = game.scene.getEnemyPokemon()!.getBattlerIndex(); game.move.select(Moves.QUICK_ATTACK); - await game.phaseInterceptor.to(MovePhase, false); + await game.phaseInterceptor.to(TurnStartPhase, false); + const phase = game.scene.getCurrentPhase() as TurnStartPhase; + const speedOrder = phase.getSpeedOrder(); + const commandOrder = phase.getCommandOrder(); // The player Pokemon (with M.M.) goes first because it has a higher speed and did not use a status move. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(leadIndex); - - await game.phaseInterceptor.run(MovePhase); - await game.phaseInterceptor.to(MovePhase, false); // The enemy Pokemon (without M.M.) goes second because its speed is lower. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(enemyIndex); + // This means that the commandOrder should be identical to the speedOrder + expect(speedOrder).toEqual([playerIndex, enemyIndex]); + expect(commandOrder).toEqual([playerIndex, enemyIndex]); }, 20000); }); diff --git a/src/test/abilities/stall.test.ts b/src/test/abilities/stall.test.ts index d8dbe9d0e06..7baf7c846f0 100644 --- a/src/test/abilities/stall.test.ts +++ b/src/test/abilities/stall.test.ts @@ -1,11 +1,10 @@ -import { MovePhase } from "#app/phases/move-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/utils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; - +import { TurnStartPhase } from "#app/phases/turn-start-phase"; describe("Abilities - Stall", () => { let phaserGame: Phaser.Game; @@ -32,7 +31,7 @@ describe("Abilities - Stall", () => { }); /** - * Bulbapedia References: + * References: * https://bulbapedia.bulbagarden.net/wiki/Stall_(Ability) * https://bulbapedia.bulbagarden.net/wiki/Priority **/ @@ -40,55 +39,56 @@ describe("Abilities - Stall", () => { it("Pokemon with Stall should move last in its priority bracket regardless of speed", async () => { await game.startBattle([Species.SHUCKLE]); - const leadIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); + const playerIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyIndex = game.scene.getEnemyPokemon()!.getBattlerIndex(); game.move.select(Moves.QUICK_ATTACK); - await game.phaseInterceptor.to(MovePhase, false); + await game.phaseInterceptor.to(TurnStartPhase, false); + const phase = game.scene.getCurrentPhase() as TurnStartPhase; + const speedOrder = phase.getSpeedOrder(); + const commandOrder = phase.getCommandOrder(); // The player Pokemon (without Stall) goes first despite having lower speed than the opponent. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(leadIndex); - - await game.phaseInterceptor.run(MovePhase); - await game.phaseInterceptor.to(MovePhase, false); // The opponent Pokemon (with Stall) goes last despite having higher speed than the player Pokemon. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(enemyIndex); + expect(speedOrder).toEqual([enemyIndex, playerIndex]); + expect(commandOrder).toEqual([playerIndex, enemyIndex]); }, 20000); it("Pokemon with Stall will go first if a move that is in a higher priority bracket than the opponent's move is used", async () => { await game.startBattle([Species.SHUCKLE]); - const leadIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); + const playerIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyIndex = game.scene.getEnemyPokemon()!.getBattlerIndex(); game.move.select(Moves.TACKLE); - await game.phaseInterceptor.to(MovePhase, false); + await game.phaseInterceptor.to(TurnStartPhase, false); + const phase = game.scene.getCurrentPhase() as TurnStartPhase; + const speedOrder = phase.getSpeedOrder(); + const commandOrder = phase.getCommandOrder(); // The opponent Pokemon (with Stall) goes first because its move is still within a higher priority bracket than its opponent. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(enemyIndex); - - await game.phaseInterceptor.run(MovePhase); - await game.phaseInterceptor.to(MovePhase, false); // The player Pokemon goes second because its move is in a lower priority bracket. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(leadIndex); + expect(speedOrder).toEqual([enemyIndex, playerIndex]); + expect(commandOrder).toEqual([enemyIndex, playerIndex]); }, 20000); it("If both Pokemon have stall and use the same move, speed is used to determine who goes first.", async () => { game.override.ability(Abilities.STALL); await game.startBattle([Species.SHUCKLE]); - const leadIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); + const playerIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyIndex = game.scene.getEnemyPokemon()!.getBattlerIndex(); game.move.select(Moves.TACKLE); - await game.phaseInterceptor.to(MovePhase, false); - // The opponent Pokemon (with Stall) goes first because it has a higher speed. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(enemyIndex); + await game.phaseInterceptor.to(TurnStartPhase, false); + const phase = game.scene.getCurrentPhase() as TurnStartPhase; + const speedOrder = phase.getSpeedOrder(); + const commandOrder = phase.getCommandOrder(); - await game.phaseInterceptor.run(MovePhase); - await game.phaseInterceptor.to(MovePhase, false); + // The opponent Pokemon (with Stall) goes first because it has a higher speed. // The player Pokemon (with Stall) goes second because its speed is lower. - expect((game.scene.getCurrentPhase() as MovePhase).pokemon.getBattlerIndex()).toBe(leadIndex); + expect(speedOrder).toEqual([enemyIndex, playerIndex]); + expect(commandOrder).toEqual([enemyIndex, playerIndex]); }, 20000); }); diff --git a/src/test/battle/battle-order.test.ts b/src/test/battle/battle-order.test.ts index 0129ecad254..e19168962dc 100644 --- a/src/test/battle/battle-order.test.ts +++ b/src/test/battle/battle-order.test.ts @@ -1,4 +1,3 @@ -import { Stat } from "#app/data/pokemon-stat"; import { EnemyCommandPhase } from "#app/phases/enemy-command-phase"; import { SelectTargetPhase } from "#app/phases/select-target-phase"; import { TurnStartPhase } from "#app/phases/turn-start-phase"; @@ -7,8 +6,7 @@ import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/utils/gameManager"; import Phaser from "phaser"; -import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; - +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; describe("Battle order", () => { let phaserGame: Phaser.Game; @@ -37,30 +35,42 @@ describe("Battle order", () => { await game.startBattle([ Species.BULBASAUR, ]); - game.scene.getParty()[0].stats[Stat.SPD] = 50; - game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 150; + + const playerPokemon = game.scene.getPlayerPokemon()!; + const enemyPokemon = game.scene.getEnemyPokemon()!; + vi.spyOn(playerPokemon, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 50]); // set playerPokemon's speed to 50 + vi.spyOn(enemyPokemon, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 150]); // set enemyPokemon's speed to 150 game.move.select(Moves.TACKLE); await game.phaseInterceptor.run(EnemyCommandPhase); + + const playerPokemonIndex = playerPokemon.getBattlerIndex(); + const enemyPokemonIndex = enemyPokemon.getBattlerIndex(); const phase = game.scene.getCurrentPhase() as TurnStartPhase; - const order = phase.getOrder(); - expect(order[0]).toBe(2); - expect(order[1]).toBe(0); + const order = phase.getCommandOrder(); + expect(order[0]).toBe(enemyPokemonIndex); + expect(order[1]).toBe(playerPokemonIndex); }, 20000); it("Player faster than opponent 150 vs 50", async () => { await game.startBattle([ Species.BULBASAUR, ]); - game.scene.getParty()[0].stats[Stat.SPD] = 150; - game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 50; + + const playerPokemon = game.scene.getPlayerPokemon()!; + const enemyPokemon = game.scene.getEnemyPokemon()!; + vi.spyOn(playerPokemon, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 150]); // set playerPokemon's speed to 150 + vi.spyOn(enemyPokemon, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 50]); // set enemyPokemon's speed to 50 game.move.select(Moves.TACKLE); await game.phaseInterceptor.run(EnemyCommandPhase); + + const playerPokemonIndex = playerPokemon.getBattlerIndex(); + const enemyPokemonIndex = enemyPokemon.getBattlerIndex(); const phase = game.scene.getCurrentPhase() as TurnStartPhase; - const order = phase.getOrder(); - expect(order[0]).toBe(0); - expect(order[1]).toBe(2); + const order = phase.getCommandOrder(); + expect(order[0]).toBe(playerPokemonIndex); + expect(order[1]).toBe(enemyPokemonIndex); }, 20000); it("double - both opponents faster than player 50/50 vs 150/150", async () => { @@ -69,20 +79,25 @@ describe("Battle order", () => { Species.BULBASAUR, Species.BLASTOISE, ]); - game.scene.getParty()[0].stats[Stat.SPD] = 50; - game.scene.getParty()[1].stats[Stat.SPD] = 50; - game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 150; - game.scene.currentBattle.enemyParty[1].stats[Stat.SPD] = 150; + + const playerPokemon = game.scene.getPlayerField(); + const enemyPokemon = game.scene.getEnemyField(); + + playerPokemon.forEach(p => vi.spyOn(p, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 50])); // set both playerPokemons' speed to 50 + enemyPokemon.forEach(p => vi.spyOn(p, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 150])); // set both enemyPokemons' speed to 150 + const playerIndices = playerPokemon.map(p => p?.getBattlerIndex()); + const enemyIndices = enemyPokemon.map(p => p?.getBattlerIndex()); game.move.select(Moves.TACKLE); game.move.select(Moves.TACKLE, 1); await game.phaseInterceptor.runFrom(SelectTargetPhase).to(TurnStartPhase, false); + const phase = game.scene.getCurrentPhase() as TurnStartPhase; - const order = phase.getOrder(); - expect(order.indexOf(0)).toBeGreaterThan(order.indexOf(2)); - expect(order.indexOf(0)).toBeGreaterThan(order.indexOf(3)); - expect(order.indexOf(1)).toBeGreaterThan(order.indexOf(2)); - expect(order.indexOf(1)).toBeGreaterThan(order.indexOf(3)); + const order = phase.getCommandOrder(); + expect(order.slice(0, 2).includes(enemyIndices[0])).toBe(true); + expect(order.slice(0, 2).includes(enemyIndices[1])).toBe(true); + expect(order.slice(2, 4).includes(playerIndices[0])).toBe(true); + expect(order.slice(2, 4).includes(playerIndices[1])).toBe(true); }, 20000); it("double - speed tie except 1 - 100/100 vs 100/150", async () => { @@ -91,19 +106,25 @@ describe("Battle order", () => { Species.BULBASAUR, Species.BLASTOISE, ]); - game.scene.getParty()[0].stats[Stat.SPD] = 100; - game.scene.getParty()[1].stats[Stat.SPD] = 100; - game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 100; - game.scene.currentBattle.enemyParty[1].stats[Stat.SPD] = 150; + + const playerPokemon = game.scene.getPlayerField(); + const enemyPokemon = game.scene.getEnemyField(); + playerPokemon.forEach(p => vi.spyOn(p, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 100])); //set both playerPokemons' speed to 100 + vi.spyOn(enemyPokemon[0], "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 100]); // set enemyPokemon's speed to 100 + vi.spyOn(enemyPokemon[1], "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 150]); // set enemyPokemon's speed to 150 + const playerIndices = playerPokemon.map(p => p?.getBattlerIndex()); + const enemyIndices = enemyPokemon.map(p => p?.getBattlerIndex()); game.move.select(Moves.TACKLE); game.move.select(Moves.TACKLE, 1); await game.phaseInterceptor.runFrom(SelectTargetPhase).to(TurnStartPhase, false); + const phase = game.scene.getCurrentPhase() as TurnStartPhase; - const order = phase.getOrder(); - expect(order.indexOf(3)).toBeLessThan(order.indexOf(0)); - expect(order.indexOf(3)).toBeLessThan(order.indexOf(1)); - expect(order.indexOf(3)).toBeLessThan(order.indexOf(2)); + const order = phase.getCommandOrder(); + expect(order[0]).toBe(enemyIndices[1]); + expect(order.slice(1, 4).includes(enemyIndices[0])).toBe(true); + expect(order.slice(1, 4).includes(playerIndices[0])).toBe(true); + expect(order.slice(1, 4).includes(playerIndices[1])).toBe(true); }, 20000); it("double - speed tie 100/150 vs 100/150", async () => { @@ -112,19 +133,25 @@ describe("Battle order", () => { Species.BULBASAUR, Species.BLASTOISE, ]); - game.scene.getParty()[0].stats[Stat.SPD] = 100; - game.scene.getParty()[1].stats[Stat.SPD] = 150; - game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 100; - game.scene.currentBattle.enemyParty[1].stats[Stat.SPD] = 150; + + const playerPokemon = game.scene.getPlayerField(); + const enemyPokemon = game.scene.getEnemyField(); + vi.spyOn(playerPokemon[0], "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 100]); // set one playerPokemon's speed to 100 + vi.spyOn(playerPokemon[1], "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 150]); // set other playerPokemon's speed to 150 + vi.spyOn(enemyPokemon[0], "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 100]); // set one enemyPokemon's speed to 100 + vi.spyOn(enemyPokemon[1], "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 150]); // set other enemyPokemon's speed to 150 + const playerIndices = playerPokemon.map(p => p?.getBattlerIndex()); + const enemyIndices = enemyPokemon.map(p => p?.getBattlerIndex()); game.move.select(Moves.TACKLE); game.move.select(Moves.TACKLE, 1); await game.phaseInterceptor.runFrom(SelectTargetPhase).to(TurnStartPhase, false); + const phase = game.scene.getCurrentPhase() as TurnStartPhase; - const order = phase.getOrder(); - expect(order.indexOf(1)).toBeLessThan(order.indexOf(0)); - expect(order.indexOf(1)).toBeLessThan(order.indexOf(2)); - expect(order.indexOf(3)).toBeLessThan(order.indexOf(0)); - expect(order.indexOf(3)).toBeLessThan(order.indexOf(2)); + const order = phase.getCommandOrder(); + expect(order.slice(0, 2).includes(playerIndices[1])).toBe(true); + expect(order.slice(0, 2).includes(enemyIndices[1])).toBe(true); + expect(order.slice(2, 4).includes(playerIndices[0])).toBe(true); + expect(order.slice(2, 4).includes(enemyIndices[0])).toBe(true); }, 20000); }); diff --git a/src/test/battle/inverse_battle.test.ts b/src/test/battle/inverse_battle.test.ts new file mode 100644 index 00000000000..be8b04155eb --- /dev/null +++ b/src/test/battle/inverse_battle.test.ts @@ -0,0 +1,203 @@ +import { BattlerIndex } from "#app/battle"; +import { allMoves } from "#app/data/move"; +import { Type } from "#app/data/type"; +import { MoveEndPhase } from "#app/phases/move-end-phase"; +import { TurnEndPhase } from "#app/phases/turn-end-phase"; +import { Abilities } from "#enums/abilities"; +import { ArenaTagType } from "#enums/arena-tag-type"; +import { Challenges } from "#enums/challenges"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/utils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +const TIMEOUT = 20 * 1000; + +describe("Inverse Battle", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + + game.challengeMode.addChallenge(Challenges.INVERSE_BATTLE, 1, 1); + + game.override + .battleType("single") + .starterSpecies(Species.FEEBAS) + .ability(Abilities.BALL_FETCH) + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH); + }); + + it("1. immune types are 2x effective - Thunderbolt against Ground Type", async () => { + game.override.enemySpecies(Species.SANDSHREW); + + await game.challengeMode.startBattle(); + + const player = game.scene.getPlayerPokemon()!; + const enemy = game.scene.getEnemyPokemon()!; + + expect(enemy.getMoveEffectiveness(player, allMoves[Moves.THUNDERBOLT])).toBe(2); + }, TIMEOUT); + + it("2. 2x effective types are 0.5x effective - Thunderbolt against Flying Type", async () => { + game.override.enemySpecies(Species.PIDGEY); + + await game.challengeMode.startBattle(); + + const player = game.scene.getPlayerPokemon()!; + const enemy = game.scene.getEnemyPokemon()!; + + expect(enemy.getMoveEffectiveness(player, allMoves[Moves.THUNDERBOLT])).toBe(0.5); + }, TIMEOUT); + + it("3. 0.5x effective types are 2x effective - Thunderbolt against Electric Type", async () => { + game.override.enemySpecies(Species.CHIKORITA); + + await game.challengeMode.startBattle(); + + const player = game.scene.getPlayerPokemon()!; + const enemy = game.scene.getEnemyPokemon()!; + + expect(enemy.getMoveEffectiveness(player, allMoves[Moves.THUNDERBOLT])).toBe(2); + }, TIMEOUT); + + it("4. Stealth Rock follows the inverse matchups - Stealth Rock against Charizard deals 1/32 of max HP", async () => { + game.scene.arena.addTag(ArenaTagType.STEALTH_ROCK, 1, Moves.STEALTH_ROCK, 0); + game.override + .enemySpecies(Species.CHARIZARD) + .enemyLevel(100); + + await game.challengeMode.startBattle(); + + const charizard = game.scene.getEnemyPokemon()!; + + const maxHp = charizard.getMaxHp(); + const damage_prediction = Math.max(Math.round(charizard.getMaxHp() / 32), 1); + console.log("Damage calcuation before round: " + charizard.getMaxHp() / 32); + const currentHp = charizard.hp; + const expectedHP = maxHp - damage_prediction; + + console.log("Charizard's max HP: " + maxHp, "Damage: " + damage_prediction, "Current HP: " + currentHp, "Expected HP: " + expectedHP); + expect(currentHp).toBeGreaterThan(maxHp * 31 / 32 - 1); + }, TIMEOUT); + + it("5. Freeze Dry is 2x effective against Water Type like other Ice type Move - Freeze Dry against Squirtle", async () => { + game.override.enemySpecies(Species.SQUIRTLE); + + await game.challengeMode.startBattle(); + + const player = game.scene.getPlayerPokemon()!; + const enemy = game.scene.getEnemyPokemon()!; + + expect(enemy.getMoveEffectiveness(player, allMoves[Moves.FREEZE_DRY])).toBe(2); + }, TIMEOUT); + + it("6. Water Absorb should heal against water moves - Water Absorb against Water gun", async () => { + game.override + .moveset([Moves.WATER_GUN]) + .enemyAbility(Abilities.WATER_ABSORB); + + await game.challengeMode.startBattle(); + + const enemy = game.scene.getEnemyPokemon()!; + enemy.hp = enemy.getMaxHp() - 1; + game.move.select(Moves.WATER_GUN); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + + await game.phaseInterceptor.to(MoveEndPhase); + + expect(enemy.hp).toBe(enemy.getMaxHp()); + }, TIMEOUT); + + it("7. Fire type does not get burned - Will-O-Wisp against Charmander", async () => { + game.override + .moveset([Moves.WILL_O_WISP]) + .enemySpecies(Species.CHARMANDER); + + await game.challengeMode.startBattle(); + + const enemy = game.scene.getEnemyPokemon()!; + + game.move.select(Moves.WILL_O_WISP); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.move.forceHit(); + + await game.phaseInterceptor.to(MoveEndPhase); + + expect(enemy.status?.effect).not.toBe(StatusEffect.BURN); + }, TIMEOUT); + + it("8. Electric type does not get paralyzed - Nuzzle against Pikachu", async () => { + game.override + .moveset([Moves.NUZZLE]) + .enemySpecies(Species.PIKACHU) + .enemyLevel(50); + + await game.challengeMode.startBattle(); + + const enemy = game.scene.getEnemyPokemon()!; + + game.move.select(Moves.NUZZLE); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + + await game.phaseInterceptor.to(MoveEndPhase); + + expect(enemy.status?.effect).not.toBe(StatusEffect.PARALYSIS); + }, TIMEOUT); + + + it("10. Anticipation should trigger on 2x effective moves - Anticipation against Thunderbolt", async () => { + game.override + .moveset([Moves.THUNDERBOLT]) + .enemySpecies(Species.SANDSHREW) + .enemyAbility(Abilities.ANTICIPATION); + + await game.challengeMode.startBattle(); + + expect(game.scene.getEnemyPokemon()?.summonData.abilitiesApplied[0]).toBe(Abilities.ANTICIPATION); + }, TIMEOUT); + + it("11. Conversion 2 should change the type to the resistive type - Conversion 2 against Dragonite", async () => { + game.override + .moveset([Moves.CONVERSION_2]) + .enemyMoveset([Moves.DRAGON_CLAW, Moves.DRAGON_CLAW, Moves.DRAGON_CLAW, Moves.DRAGON_CLAW]); + + await game.challengeMode.startBattle(); + + const player = game.scene.getPlayerPokemon()!; + + game.move.select(Moves.CONVERSION_2); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + + await game.phaseInterceptor.to(TurnEndPhase); + + expect(player.getTypes()[0]).toBe(Type.DRAGON); + }, TIMEOUT); + + it("12. Flying Press should be 0.25x effective against Grass + Dark Type - Flying Press against Meowscarada", async () => { + game.override + .moveset([Moves.FLYING_PRESS]) + .enemySpecies(Species.MEOWSCARADA); + + await game.challengeMode.startBattle(); + + const player = game.scene.getPlayerPokemon()!; + const enemy = game.scene.getEnemyPokemon()!; + + expect(enemy.getMoveEffectiveness(player, allMoves[Moves.FLYING_PRESS])).toBe(0.25); + }, TIMEOUT); +}); diff --git a/src/test/evolution.test.ts b/src/test/evolution.test.ts index 41088c17bcb..f9123cf6d9a 100644 --- a/src/test/evolution.test.ts +++ b/src/test/evolution.test.ts @@ -1,9 +1,11 @@ import { pokemonEvolutions, SpeciesFormEvolution, SpeciesWildEvolutionDelay } from "#app/data/pokemon-evolutions"; import { Abilities } from "#app/enums/abilities"; +import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; import GameManager from "#test/utils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; +import { SPLASH_ONLY } from "./utils/testUtils"; describe("Evolution", () => { let phaserGame: Phaser.Game; @@ -89,4 +91,61 @@ describe("Evolution", () => { expect(speciesFormEvo.wildDelay).toBe(SpeciesWildEvolutionDelay.NONE); }); + + it("should increase both HP and max HP when evolving", async () => { + game.override.moveset([Moves.SURF]) + .enemySpecies(Species.GOLEM) + .enemyMoveset(SPLASH_ONLY) + .startingWave(21) + .startingLevel(16) + .enemyLevel(50); + + await game.startBattle([Species.TOTODILE]); + + const totodile = game.scene.getPlayerPokemon()!; + const hpBefore = totodile.hp; + + expect(totodile.hp).toBe(totodile.getMaxHp()); + + const golem = game.scene.getEnemyPokemon()!; + golem.hp = 1; + + expect(golem.hp).toBe(1); + + game.move.select(Moves.SURF); + await game.phaseInterceptor.to("EndEvolutionPhase"); + + expect(totodile.hp).toBe(totodile.getMaxHp()); + expect(totodile.hp).toBeGreaterThan(hpBefore); + }, TIMEOUT); + + it("should not fully heal HP when evolving", async () => { + game.override.moveset([Moves.SURF]) + .enemySpecies(Species.GOLEM) + .enemyMoveset(SPLASH_ONLY) + .startingWave(21) + .startingLevel(13) + .enemyLevel(30); + + await game.startBattle([Species.CYNDAQUIL]); + + const cyndaquil = game.scene.getPlayerPokemon()!; + cyndaquil.hp = Math.floor(cyndaquil.getMaxHp() / 2); + const hpBefore = cyndaquil.hp; + const maxHpBefore = cyndaquil.getMaxHp(); + + expect(cyndaquil.hp).toBe(Math.floor(cyndaquil.getMaxHp() / 2)); + + const golem = game.scene.getEnemyPokemon()!; + golem.hp = 1; + + expect(golem.hp).toBe(1); + + game.move.select(Moves.SURF); + await game.phaseInterceptor.to("EndEvolutionPhase"); + + expect(cyndaquil.getMaxHp()).toBeGreaterThan(maxHpBefore); + expect(cyndaquil.hp).toBeGreaterThan(hpBefore); + expect(cyndaquil.hp).toBeLessThan(cyndaquil.getMaxHp()); + }, TIMEOUT); }); diff --git a/src/test/moves/miracle_eye.test.ts b/src/test/moves/miracle_eye.test.ts index f47e4ce0c16..d6b21a5dc2f 100644 --- a/src/test/moves/miracle_eye.test.ts +++ b/src/test/moves/miracle_eye.test.ts @@ -33,18 +33,18 @@ describe("Moves - Miracle Eye", () => { }); it("should allow Psychic moves to hit Dark types", async () => { - await game.startBattle(); + await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; game.move.select(Moves.CONFUSION); - await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); expect(enemy.hp).toBe(enemy.getMaxHp()); game.move.select(Moves.MIRACLE_EYE); await game.toNextTurn(); game.move.select(Moves.CONFUSION); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); expect(enemy.hp).toBeLessThan(enemy.getMaxHp()); diff --git a/src/test/utils/gameManager.ts b/src/test/utils/gameManager.ts index 6ade758fd6f..5818244db8f 100644 --- a/src/test/utils/gameManager.ts +++ b/src/test/utils/gameManager.ts @@ -40,6 +40,7 @@ import fs from "fs"; import { vi } from "vitest"; import { ClassicModeHelper } from "./helpers/classicModeHelper"; import { DailyModeHelper } from "./helpers/dailyModeHelper"; +import { ChallengeModeHelper } from "./helpers/challengeModeHelper"; import { MoveHelper } from "./helpers/moveHelper"; import { OverridesHelper } from "./helpers/overridesHelper"; import { SettingsHelper } from "./helpers/settingsHelper"; @@ -57,6 +58,7 @@ export default class GameManager { public readonly move: MoveHelper; public readonly classicMode: ClassicModeHelper; public readonly dailyMode: DailyModeHelper; + public readonly challengeMode: ChallengeModeHelper; public readonly settings: SettingsHelper; /** @@ -77,6 +79,7 @@ export default class GameManager { this.move = new MoveHelper(this); this.classicMode = new ClassicModeHelper(this); this.dailyMode = new DailyModeHelper(this); + this.challengeMode = new ChallengeModeHelper(this); this.settings = new SettingsHelper(this); } @@ -378,7 +381,7 @@ export default class GameManager { } /** - * Intercepts `TurnStartPhase` and mocks the getOrder's return value {@linkcode TurnStartPhase.getOrder} + * Intercepts `TurnStartPhase` and mocks the getSpeedOrder's return value {@linkcode TurnStartPhase.getSpeedOrder} * Used to modify the turn order. * @param {BattlerIndex[]} order The turn order to set * @example @@ -389,7 +392,7 @@ export default class GameManager { async setTurnOrder(order: BattlerIndex[]): Promise { await this.phaseInterceptor.to(TurnStartPhase, false); - vi.spyOn(this.scene.getCurrentPhase() as TurnStartPhase, "getOrder").mockReturnValue(order); + vi.spyOn(this.scene.getCurrentPhase() as TurnStartPhase, "getSpeedOrder").mockReturnValue(order); } /** diff --git a/src/test/utils/helpers/challengeModeHelper.ts b/src/test/utils/helpers/challengeModeHelper.ts new file mode 100644 index 00000000000..184f11f505c --- /dev/null +++ b/src/test/utils/helpers/challengeModeHelper.ts @@ -0,0 +1,78 @@ +import { BattleStyle } from "#app/enums/battle-style"; +import { Species } from "#app/enums/species"; +import overrides from "#app/overrides"; +import { EncounterPhase } from "#app/phases/encounter-phase"; +import { SelectStarterPhase } from "#app/phases/select-starter-phase"; +import { Mode } from "#app/ui/ui"; +import { generateStarter } from "../gameManagerUtils"; +import { GameManagerHelper } from "./gameManagerHelper"; +import { Challenge } from "#app/data/challenge"; +import { CommandPhase } from "#app/phases/command-phase"; +import { TurnInitPhase } from "#app/phases/turn-init-phase"; +import { Challenges } from "#enums/challenges"; +import { copyChallenge } from "data/challenge"; + +/** + * Helper to handle Challenge mode specifics + */ +export class ChallengeModeHelper extends GameManagerHelper { + + challenges: Challenge[] = []; + + /** + * Adds a challenge to the challenge mode helper. + * @param id - The challenge id. + * @param value - The challenge value. + * @param severity - The challenge severity. + */ + addChallenge(id: Challenges, value: number, severity: number) { + const challenge = copyChallenge({ id, value, severity }); + this.challenges.push(challenge); + } + + /** + * Runs the Challenge game to the summon phase. + * @param gameMode - Optional game mode to set. + * @returns A promise that resolves when the summon phase is reached. + */ + async runToSummon(species?: Species[]) { + await this.game.runToTitle(); + + this.game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + this.game.scene.gameMode.challenges = this.challenges; + const starters = generateStarter(this.game.scene, species); + const selectStarterPhase = new SelectStarterPhase(this.game.scene); + this.game.scene.pushPhase(new EncounterPhase(this.game.scene, false)); + selectStarterPhase.initBattle(starters); + }); + + await this.game.phaseInterceptor.run(EncounterPhase); + if (overrides.OPP_HELD_ITEMS_OVERRIDE.length === 0) { + this.game.removeEnemyHeldItems(); + } + } + + /** + * Transitions to the start of a battle. + * @param species - Optional array of species to start the battle with. + * @returns A promise that resolves when the battle is started. + */ + async startBattle(species?: Species[]) { + await this.runToSummon(species); + + if (this.game.scene.battleStyle === BattleStyle.SWITCH) { + this.game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => { + this.game.setMode(Mode.MESSAGE); + this.game.endPhase(); + }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase)); + + this.game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => { + this.game.setMode(Mode.MESSAGE); + this.game.endPhase(); + }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase)); + } + + await this.game.phaseInterceptor.to(CommandPhase); + console.log("==================[New Turn]=================="); + } +} diff --git a/src/test/utils/mocks/mockTextureManager.ts b/src/test/utils/mocks/mockTextureManager.ts index b26d03441fe..ca8065bef97 100644 --- a/src/test/utils/mocks/mockTextureManager.ts +++ b/src/test/utils/mocks/mockTextureManager.ts @@ -7,6 +7,8 @@ import MockSprite from "#test/utils/mocks/mocksContainer/mockSprite"; import MockText from "#test/utils/mocks/mocksContainer/mockText"; import MockTexture from "#test/utils/mocks/mocksContainer/mockTexture"; import { MockGameObject } from "./mockGameObject"; +import { vi } from "vitest"; +import { MockVideoGameObject } from "./mockVideoGameObject"; /** * Stub class for Phaser.Textures.TextureManager @@ -34,6 +36,7 @@ export default class MockTextureManager { text: this.text.bind(this), bitmapText: this.text.bind(this), displayList: this.displayList, + video: vi.fn(() => new MockVideoGameObject()), }; } diff --git a/src/test/utils/mocks/mockVideoGameObject.ts b/src/test/utils/mocks/mockVideoGameObject.ts new file mode 100644 index 00000000000..96f03542bbc --- /dev/null +++ b/src/test/utils/mocks/mockVideoGameObject.ts @@ -0,0 +1,13 @@ +import { vi } from "vitest"; +import { MockGameObject } from "./mockGameObject"; + +/** Mocks video-related stuff */ +export class MockVideoGameObject implements MockGameObject { + constructor() {} + + public play = vi.fn(); + public stop = vi.fn(() => this); + public setOrigin = vi.fn(); + public setScale = vi.fn(); + public setVisible = vi.fn(); +} diff --git a/src/test/utils/phaseInterceptor.ts b/src/test/utils/phaseInterceptor.ts index ca3d55137fa..de65405abff 100644 --- a/src/test/utils/phaseInterceptor.ts +++ b/src/test/utils/phaseInterceptor.ts @@ -6,7 +6,9 @@ import { CommandPhase } from "#app/phases/command-phase"; import { DamagePhase } from "#app/phases/damage-phase"; import { EggLapsePhase } from "#app/phases/egg-lapse-phase"; import { EncounterPhase } from "#app/phases/encounter-phase"; +import { EndEvolutionPhase } from "#app/phases/end-evolution-phase"; import { EnemyCommandPhase } from "#app/phases/enemy-command-phase"; +import { EvolutionPhase } from "#app/phases/evolution-phase"; import { FaintPhase } from "#app/phases/faint-phase"; import { LoginPhase } from "#app/phases/login-phase"; import { MessagePhase } from "#app/phases/message-phase"; @@ -92,6 +94,8 @@ export default class PhaseInterceptor { [SwitchPhase, this.startPhase], [SwitchSummonPhase, this.startPhase], [PartyHealPhase, this.startPhase], + [EvolutionPhase, this.startPhase], + [EndEvolutionPhase, this.startPhase], ]; private endBySetMode = [ diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts index 18de67bfa86..abdb2db232a 100644 --- a/src/timed-event-manager.ts +++ b/src/timed-event-manager.ts @@ -1,35 +1,39 @@ -import BattleScene from "#app/battle-scene.js"; -import { TextStyle, addTextObject } from "#app/ui/text.js"; +import BattleScene from "#app/battle-scene"; +import { TextStyle, addTextObject } from "#app/ui/text"; +import i18next from "i18next"; export enum EventType { - SHINY + SHINY, + GENERIC } -interface TimedEvent { - name: string; - eventType: EventType; - shinyMultiplier?: number; - startDate: Date; - endDate: Date; - bannerFilename?: string +interface EventBanner { + bannerKey?: string; + xPosition?: number; + yPosition?: number; + scale?: number; + availableLangs?: string[]; +} + +interface TimedEvent extends EventBanner { + name: string; + eventType: EventType; + shinyMultiplier?: number; + startDate: Date; + endDate: Date; } const timedEvents: TimedEvent[] = [ { - name: "Pride Update", - eventType: EventType.SHINY, - shinyMultiplier: 2, - startDate: new Date(Date.UTC(2024, 5, 14, 0)), - endDate: new Date(Date.UTC(2024, 5, 23, 0)), - bannerFilename: "pride-update" - }, - { - name: "August Variant Update", - eventType: EventType.SHINY, - shinyMultiplier: 2, - startDate: new Date(Date.UTC(2024, 7, 16, 0)), - endDate: new Date(Date.UTC(2024, 7, 22, 0)), - bannerFilename: "august-variant-update" + name: "September Update", + eventType: EventType.GENERIC, + startDate: new Date(Date.UTC(2024, 7, 28, 0)), + endDate: new Date(Date.UTC(2024, 8, 15, 0)), + bannerKey: "september-update", + xPosition: 19, + yPosition: 115, + scale: 0.30, + availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es", "pt_BR", "zh_CN"] } ]; @@ -67,7 +71,7 @@ export class TimedEventManager { } getEventBannerFilename(): string { - return timedEvents.find((te: TimedEvent) => this.isActive(te))?.bannerFilename!; // TODO: is this bang correct? + return timedEvents.find((te: TimedEvent) => this.isActive(te))?.bannerKey!; // TODO: is this bang correct? } } @@ -85,38 +89,37 @@ export class TimedEventDisplay extends Phaser.GameObjects.Container { } setup() { - console.log(this.event?.bannerFilename); - this.banner = new Phaser.GameObjects.Image(this.scene, 29, 64, this.event!.bannerFilename!); // TODO: are the bangs correct here? - this.banner.setName("img-event-banner"); - this.banner.setOrigin(0.08, -0.35); - this.banner.setScale(0.18); - // this.bannerShadow = new Phaser.GameObjects.Rectangle( - // this.scene, - // this.banner.x - 2, - // this.banner.y + 2, - // this.banner.width, - // this.banner.height, - // 0x484848 - // ); - // this.bannerShadow.setName("rect-event-banner-shadow"); - // this.bannerShadow.setScale(0.07); - // this.bannerShadow.setAlpha(0.5); - // this.bannerShadow.setOrigin(0,0); - this.eventTimerText = addTextObject( - this.scene, - this.banner.x + 8, - this.banner.y + 100, - this.timeToGo(this.event!.endDate), // TODO: is the bang correct here? - TextStyle.WINDOW - ); - this.eventTimerText.setName("text-event-timer"); - this.eventTimerText.setScale(0.15); - this.eventTimerText.setOrigin(0, 0); + const lang = i18next.resolvedLanguage; + if (this.event && this.event.bannerKey) { + let key = this.event.bannerKey; + if (lang && this.event.availableLangs && this.event.availableLangs.length > 0) { + if (this.event.availableLangs.includes(lang)) { + key += "-"+lang; + } else { + key += "-en"; + } + } + console.log(this.event.bannerKey); + this.banner = new Phaser.GameObjects.Image(this.scene, this.event.xPosition ?? 29, this.event.yPosition ?? 64, key); + this.banner.setName("img-event-banner"); + this.banner.setOrigin(0.08, -0.35); + this.banner.setScale(this.event.scale ?? 0.18); + if (this.event.eventType !== EventType.GENERIC) { + this.eventTimerText = addTextObject( + this.scene, + this.banner.x + 8, + this.banner.y + 100, + this.timeToGo(this.event.endDate), + TextStyle.WINDOW + ); + this.eventTimerText.setName("text-event-timer"); + this.eventTimerText.setScale(0.15); + this.eventTimerText.setOrigin(0, 0); - this.add([ - this.eventTimerText, - // this.bannerShadow, - this.banner]); + this.add(this.eventTimerText); + } + this.add(this.banner); + } } show() { @@ -157,6 +160,8 @@ export class TimedEventDisplay extends Phaser.GameObjects.Container { } updateCountdown() { - this.eventTimerText.setText(this.timeToGo(this.event!.endDate)); // TODO: is the bang correct here? + if (this.event && this.event.eventType !== EventType.GENERIC) { + this.eventTimerText.setText(this.timeToGo(this.event.endDate)); + } } } diff --git a/src/ui/abstact-option-select-ui-handler.ts b/src/ui/abstact-option-select-ui-handler.ts index 5172075da52..c6abecda4c0 100644 --- a/src/ui/abstact-option-select-ui-handler.ts +++ b/src/ui/abstact-option-select-ui-handler.ts @@ -77,7 +77,21 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler { } protected setupOptions() { - const options = this.config?.options || []; + const configOptions = this.config?.options ?? []; + + let options: OptionSelectItem[]; + + // for performance reasons, this limits how many options we can see at once. Without this, it would try to make text options for every single options + // which makes the performance take a hit. If there's not enough options to do this (set to 10 at the moment) and the ui mode !== Mode.AUTO_COMPLETE, + // this is ignored and the original code is untouched, with the options array being all the options from the config + if (configOptions.length >= 10 && this.scene.ui.getMode() === Mode.AUTO_COMPLETE) { + const optionsScrollTotal = configOptions.length; + const optionStartIndex = this.scrollCursor; + const optionEndIndex = Math.min(optionsScrollTotal, optionStartIndex + (!optionStartIndex || this.scrollCursor + (this.config?.maxOptions! - 1) >= optionsScrollTotal ? this.config?.maxOptions! - 1 : this.config?.maxOptions! - 2)); + options = configOptions.slice(optionStartIndex, optionEndIndex + 2); + } else { + options = configOptions; + } if (this.optionSelectText) { this.optionSelectText.destroy(); @@ -192,6 +206,19 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler { } else { ui.playError(); } + } else if (button === Button.SUBMIT && ui.getMode() === Mode.AUTO_COMPLETE) { + // this is here to differentiate between a Button.SUBMIT vs Button.ACTION within the autocomplete handler + // this is here because Button.ACTION is picked up as z on the keyboard, meaning if you're typing and hit z, it'll select the option you've chosen + success = true; + const option = this.config?.options[this.cursor + (this.scrollCursor - (this.scrollCursor ? 1 : 0))]; + if (option?.handler()) { + if (!option.keepOpen) { + this.clear(); + } + playSound = !option.overrideSound; + } else { + ui.playError(); + } } else { switch (button) { case Button.UP: diff --git a/src/ui/admin-ui-handler.ts b/src/ui/admin-ui-handler.ts index 371604c00a2..5c91a36ab64 100644 --- a/src/ui/admin-ui-handler.ts +++ b/src/ui/admin-ui-handler.ts @@ -64,12 +64,15 @@ export default class AdminUiHandler extends FormModalUiHandler { Utils.apiPost("admin/account/discord-link", `username=${encodeURIComponent(this.inputs[0].text)}&discordId=${encodeURIComponent(this.inputs[1].text)}`, "application/x-www-form-urlencoded", true) .then(response => { if (!response.ok) { - return response.text(); + console.error(response); } - return response.json(); + this.inputs[0].setText(""); + this.inputs[1].setText(""); + this.scene.ui.revertMode(); }) - .then(response => { - this.scene.ui.setMode(Mode.ADMIN, config); + .catch((err) => { + console.error(err); + this.scene.ui.revertMode(); }); return false; }; diff --git a/src/ui/autocomplete-ui-handler.ts b/src/ui/autocomplete-ui-handler.ts new file mode 100644 index 00000000000..480a3cf72d0 --- /dev/null +++ b/src/ui/autocomplete-ui-handler.ts @@ -0,0 +1,45 @@ +import { Button } from "#enums/buttons"; +import BattleScene from "../battle-scene"; +import AbstractOptionSelectUiHandler from "./abstact-option-select-ui-handler"; +import { Mode } from "./ui"; + +export default class AutoCompleteUiHandler extends AbstractOptionSelectUiHandler { + modalContainer: Phaser.GameObjects.Container; + constructor(scene: BattleScene, mode: Mode = Mode.OPTION_SELECT) { + super(scene, mode); + } + + getWindowWidth(): integer { + return 64; + } + + show(args: any[]): boolean { + if (args[0].modalContainer) { + const { modalContainer } = args[0]; + const show = super.show(args); + this.modalContainer = modalContainer; + this.setupOptions(); + + return show; + } + return false; + } + + protected setupOptions() { + super.setupOptions(); + if (this.modalContainer) { + this.optionSelectContainer.setSize(this.optionSelectContainer.height, Math.max(this.optionSelectText.displayWidth + 24, this.getWindowWidth())); + this.optionSelectContainer.setPositionRelative(this.modalContainer, this.optionSelectBg.width, this.optionSelectBg.height + 50); + } + } + + processInput(button: Button): boolean { + // the cancel and action button are here because if you're typing, x and z are used for cancel/action. This means you could be typing something and accidentally cancel/select when you don't mean to + // the submit button is therefore used to select a choice (the enter button), though this does not work on my local dev testing for phones, as for my phone/keyboard combo, the enter and z key are both + // bound to Button.ACTION, which makes this not work on mobile + if (button !== Button.CANCEL && button !== Button.ACTION) { + return super.processInput(button); + } + return false; + } +} diff --git a/src/ui/battle-message-ui-handler.ts b/src/ui/battle-message-ui-handler.ts index 189305ce4c1..86f8d9e01a8 100644 --- a/src/ui/battle-message-ui-handler.ts +++ b/src/ui/battle-message-ui-handler.ts @@ -21,6 +21,8 @@ export default class BattleMessageUiHandler extends MessageUiHandler { public movesWindowContainer: Phaser.GameObjects.Container; public nameBoxContainer: Phaser.GameObjects.Container; + public readonly wordWrapWidth: number = 1780; + constructor(scene: BattleScene) { super(scene, Mode.MESSAGE); } @@ -63,7 +65,7 @@ export default class BattleMessageUiHandler extends MessageUiHandler { const message = addTextObject(this.scene, 0, 0, "", TextStyle.MESSAGE, { maxLines: 2, wordWrap: { - width: 1780 + width: this.wordWrapWidth } }); messageContainer.add(message); @@ -129,7 +131,7 @@ export default class BattleMessageUiHandler extends MessageUiHandler { this.commandWindow.setVisible(false); this.movesWindowContainer.setVisible(false); - this.message.setWordWrapWidth(1780); + this.message.setWordWrapWidth(this.wordWrapWidth); return true; } @@ -161,7 +163,9 @@ export default class BattleMessageUiHandler extends MessageUiHandler { } showDialogue(text: string, name?: string, delay?: integer | null, callback?: Function, callbackDelay?: integer, prompt?: boolean, promptDelay?: integer) { - name && this.showNameText(name); + if (name) { + this.showNameText(name); + } super.showDialogue(text, name, delay, callback, callbackDelay, prompt, promptDelay); } diff --git a/src/ui/dropdown.ts b/src/ui/dropdown.ts index 1fef7259108..08d55b03cdb 100644 --- a/src/ui/dropdown.ts +++ b/src/ui/dropdown.ts @@ -23,6 +23,14 @@ export enum SortDirection { DESC = 1 } +export enum SortCriteria { + NUMBER = 0, + COST = 1, + CANDY = 2, + IV = 3, + NAME = 4 +} + export class DropDownLabel { public state: DropDownState; public text: string; diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index 0bbfe21e4f9..6349d219827 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -2,7 +2,7 @@ import BattleScene, { bypassLogin } from "../battle-scene"; import { TextStyle, addTextObject, getTextStyleOptions } from "./text"; import { Mode } from "./ui"; import * as Utils from "../utils"; -import { addWindow } from "./ui-theme"; +import { addWindow, WindowVariant } from "./ui-theme"; import MessageUiHandler from "./message-ui-handler"; import { OptionSelectConfig, OptionSelectItem } from "./abstact-option-select-ui-handler"; import { Tutorial, handleTutorial } from "../tutorial"; @@ -11,6 +11,8 @@ import i18next from "i18next"; import { Button } from "#enums/buttons"; import { GameDataType } from "#enums/game-data-type"; import BgmBar from "#app/ui/bgm-bar"; +import AwaitableUiHandler from "./awaitable-ui-handler"; +import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; enum MenuOptions { GAME_SETTINGS, @@ -31,6 +33,10 @@ const githubUrl = "https://github.com/pagefaultgames/pokerogue"; const redditUrl = "https://www.reddit.com/r/pokerogue"; export default class MenuUiHandler extends MessageUiHandler { + private readonly textPadding = 8; + private readonly defaultMessageBoxWidth = 220; + private readonly defaultWordWrapWidth = 1224; + private menuContainer: Phaser.GameObjects.Container; private menuMessageBoxContainer: Phaser.GameObjects.Container; private menuOverlay: Phaser.GameObjects.Rectangle; @@ -46,17 +52,20 @@ export default class MenuUiHandler extends MessageUiHandler { protected manageDataConfig: OptionSelectConfig; protected communityConfig: OptionSelectConfig; + // Windows for the default message box and the message box for testing dialogue + private menuMessageBox: Phaser.GameObjects.NineSlice; + private dialogueMessageBox: Phaser.GameObjects.NineSlice; + protected scale: number = 0.1666666667; public bgmBar: BgmBar; - constructor(scene: BattleScene, mode: Mode | null = null) { super(scene, mode); this.excludedMenus = () => [ - { condition: [Mode.COMMAND, Mode.TITLE].includes(mode ?? Mode.TITLE), options: [ MenuOptions.EGG_GACHA, MenuOptions.EGG_LIST] }, - { condition: bypassLogin, options: [ MenuOptions.LOG_OUT ] } + { condition: [Mode.COMMAND, Mode.TITLE].includes(mode ?? Mode.TITLE), options: [MenuOptions.EGG_GACHA, MenuOptions.EGG_LIST] }, + { condition: bypassLogin, options: [MenuOptions.LOG_OUT] } ]; this.menuOptions = Utils.getEnumKeys(MenuOptions) @@ -98,8 +107,8 @@ export default class MenuUiHandler extends MessageUiHandler { render() { const ui = this.getUi(); this.excludedMenus = () => [ - { condition: ![Mode.COMMAND, Mode.TITLE].includes(ui.getModeChain()[0]), options: [ MenuOptions.EGG_GACHA, MenuOptions.EGG_LIST] }, - { condition: bypassLogin, options: [ MenuOptions.LOG_OUT ] } + { condition: this.scene.getCurrentPhase() instanceof SelectModifierPhase, options: [MenuOptions.EGG_GACHA, MenuOptions.EGG_LIST] }, + { condition: bypassLogin, options: [MenuOptions.LOG_OUT] } ]; this.menuOptions = Utils.getEnumKeys(MenuOptions) @@ -115,12 +124,12 @@ export default class MenuUiHandler extends MessageUiHandler { this.menuBg = addWindow(this.scene, (this.scene.game.canvas.width / 6) - (this.optionSelectText.displayWidth + 25), 0, - this.optionSelectText.displayWidth + 19+24*this.scale, + this.optionSelectText.displayWidth + 19 + 24 * this.scale, (this.scene.game.canvas.height / 6) - 2 ); this.menuBg.setOrigin(0, 0); - this.optionSelectText.setPositionRelative(this.menuBg, 10+24*this.scale, 6); + this.optionSelectText.setPositionRelative(this.menuBg, 10 + 24 * this.scale, 6); this.menuContainer.add(this.menuBg); @@ -131,20 +140,27 @@ export default class MenuUiHandler extends MessageUiHandler { this.menuMessageBoxContainer = this.scene.add.container(0, 130); this.menuMessageBoxContainer.setName("menu-message-box"); this.menuMessageBoxContainer.setVisible(false); - this.menuContainer.add(this.menuMessageBoxContainer); - const menuMessageBox = addWindow(this.scene, 0, -0, 220, 48); - menuMessageBox.setOrigin(0, 0); - this.menuMessageBoxContainer.add(menuMessageBox); + // Window for general messages + this.menuMessageBox = addWindow(this.scene, 0, 0, this.defaultMessageBoxWidth, 48); + this.menuMessageBox.setOrigin(0, 0); + this.menuMessageBoxContainer.add(this.menuMessageBox); - const menuMessageText = addTextObject(this.scene, 8, 8, "", TextStyle.WINDOW, { maxLines: 2 }); + // Full-width window used for testing dialog messages in debug mode + this.dialogueMessageBox = addWindow(this.scene, -this.textPadding, 0, this.scene.game.canvas.width / 6 + this.textPadding * 2, 49, false, false, 0, 0, WindowVariant.THIN); + this.dialogueMessageBox.setOrigin(0, 0); + this.menuMessageBoxContainer.add(this.dialogueMessageBox); + + const menuMessageText = addTextObject(this.scene, this.textPadding, this.textPadding, "", TextStyle.WINDOW, { maxLines: 2 }); menuMessageText.setName("menu-message"); - menuMessageText.setWordWrapWidth(1224); menuMessageText.setOrigin(0, 0); this.menuMessageBoxContainer.add(menuMessageText); this.message = menuMessageText; + // By default we use the general purpose message window + this.setDialogTestMode(false); + this.menuContainer.add(this.menuMessageBoxContainer); const manageDataOptions: any[] = []; // TODO: proper type @@ -155,7 +171,7 @@ export default class MenuUiHandler extends MessageUiHandler { const config: OptionSelectConfig = { options: new Array(5).fill(null).map((_, i) => i).filter(slotFilter).map(i => { return { - label: i18next.t("menuUiHandler:slot", {slotNumber: i+1}), + label: i18next.t("menuUiHandler:slot", { slotNumber: i + 1 }), handler: () => { callback(i); ui.revertMode(); @@ -257,8 +273,55 @@ export default class MenuUiHandler extends MessageUiHandler { return true; }, keepOpen: true - }, - { + }); + if (Utils.isLocal || Utils.isBeta) { // this should make sure we don't have this option in live + manageDataOptions.push({ + label: "Test Dialogue", + handler: () => { + ui.playSelect(); + const prefilledText = ""; + const buttonAction: any = {}; + buttonAction["buttonActions"] = [ + (sanitizedName: string) => { + ui.revertMode(); + ui.playSelect(); + const dialogueTestName = sanitizedName; + const dialogueName = decodeURIComponent(escape(atob(dialogueTestName))); + const handler = ui.getHandler() as AwaitableUiHandler; + handler.tutorialActive = true; + const interpolatorOptions: any = {}; + const splitArr = dialogueName.split(" "); // this splits our inputted text into words to cycle through later + const translatedString = splitArr[0]; // this is our outputted i18 string + const regex = RegExp("\\{\\{(\\w*)\\}\\}", "g"); // this is a regex expression to find all the text between {{ }} in the i18 output + const matches = i18next.t(translatedString).match(regex) ?? []; + if (matches.length > 0) { + for (let match = 0; match < matches.length; match++) { + // we add 1 here because splitArr[0] is our first value for the translatedString, and after that is where the variables are + // the regex here in the replace (/\W/g) is to remove the {{ and }} and just give us all alphanumeric characters + if (typeof splitArr[match + 1] !== "undefined") { + interpolatorOptions[matches[match].replace(/\W/g, "")] = i18next.t(splitArr[match + 1]); + } + } + } + // Switch to the dialog test window + this.setDialogTestMode(true); + ui.showText(String(i18next.t(translatedString, interpolatorOptions)), null, () => this.scene.ui.showText("", 0, () => { + handler.tutorialActive = false; + // Go back to the default message window + this.setDialogTestMode(false); + }), null, true); + }, + () => { + ui.revertMode(); + } + ]; + ui.setMode(Mode.TEST_DIALOGUE, buttonAction, prefilledText); + return true; + }, + keepOpen: true + }); + } + manageDataOptions.push({ label: i18next.t("menuUiHandler:cancel"), handler: () => { this.scene.ui.revertMode(); @@ -421,7 +484,7 @@ export default class MenuUiHandler extends MessageUiHandler { break; case MenuOptions.MANAGE_DATA: if (!bypassLogin && !this.manageDataConfig.options.some(o => o.label === i18next.t("menuUiHandler:linkDiscord") || o.label === i18next.t("menuUiHandler:unlinkDiscord"))) { - this.manageDataConfig.options.splice(this.manageDataConfig.options.length-1, 0, + this.manageDataConfig.options.splice(this.manageDataConfig.options.length - 1, 0, { label: loggedInUser?.discordId === "" ? i18next.t("menuUiHandler:linkDiscord") : i18next.t("menuUiHandler:unlinkDiscord"), handler: () => { @@ -547,6 +610,21 @@ export default class MenuUiHandler extends MessageUiHandler { return success || error; } + /** + * Switch the message window style and size when we are replaying dialog for debug purposes + * In "dialog test mode", the window takes the whole width of the screen and the text + * is set up to wrap around the same way as the dialogue during the game + * @param isDialogMode whether to use the dialog test + */ + setDialogTestMode(isDialogMode: boolean) { + this.menuMessageBox.setVisible(!isDialogMode); + this.dialogueMessageBox.setVisible(isDialogMode); + // If we're testing dialog, we use the same word wrapping as the battle message handler + this.message.setWordWrapWidth(isDialogMode ? this.scene.ui.getMessageHandler().wordWrapWidth : this.defaultWordWrapWidth); + this.message.setX(isDialogMode ? this.textPadding + 1 : this.textPadding); + this.message.setY(isDialogMode ? this.textPadding + 0.4 : this.textPadding); + } + showText(text: string, delay?: number, callback?: Function, callbackDelay?: number, prompt?: boolean, promptDelay?: number): void { this.menuMessageBoxContainer.setVisible(!!text); diff --git a/src/ui/modifier-select-ui-handler.ts b/src/ui/modifier-select-ui-handler.ts index 4a567c926d7..6e9a33df5d8 100644 --- a/src/ui/modifier-select-ui-handler.ts +++ b/src/ui/modifier-select-ui-handler.ts @@ -122,6 +122,9 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler { } show(args: any[]): boolean { + + this.scene.disableMenu = false; + if (this.active) { if (args.length >= 3) { this.awaitingActionInput = true; diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index e7c4069c16e..a61037548e6 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -166,6 +166,8 @@ export default class PartyUiHandler extends MessageUiHandler { private iconAnimHandler: PokemonIconAnimHandler; + private blockInput: boolean; + private static FilterAll = (_pokemon: PlayerPokemon) => null; public static FilterNonFainted = (pokemon: PlayerPokemon) => { @@ -317,7 +319,7 @@ export default class PartyUiHandler extends MessageUiHandler { processInput(button: Button): boolean { const ui = this.getUi(); - if (this.pendingPrompt) { + if (this.pendingPrompt || this.blockInput) { return false; } @@ -485,7 +487,9 @@ export default class PartyUiHandler extends MessageUiHandler { this.clearOptions(); ui.playSelect(); if (this.cursor >= this.scene.currentBattle.getBattlerCount() || !pokemon.isAllowedInBattle()) { + this.blockInput = true; this.showText(i18next.t("partyUiHandler:releaseConfirmation", { pokemonName: getPokemonNameWithAffix(pokemon) }), null, () => { + this.blockInput = false; ui.setModeWithoutClear(Mode.CONFIRM, () => { ui.setMode(Mode.PARTY); this.doRelease(this.cursor); diff --git a/src/ui/run-info-ui-handler.ts b/src/ui/run-info-ui-handler.ts index ff4ed919e75..25210277edc 100644 --- a/src/ui/run-info-ui-handler.ts +++ b/src/ui/run-info-ui-handler.ts @@ -374,23 +374,14 @@ export default class RunInfoUiHandler extends UiHandler { case GameModes.CHALLENGE: modeText.appendText(`${i18next.t("gameMode:challenge")}`, false); modeText.appendText(`\t\t${i18next.t("runHistory:challengeRules")}: `); - const runChallenges = this.runInfo.challenges; - const rules: string[] = []; - for (let i = 0; i < runChallenges.length; i++) { - if (runChallenges[i].id === Challenges.SINGLE_GENERATION && runChallenges[i].value !== 0) { - rules.push(i18next.t(`runHistory:challengeMonoGen${runChallenges[i].value}`)); - } else if (runChallenges[i].id === Challenges.SINGLE_TYPE && runChallenges[i].value !== 0) { - rules.push(i18next.t(`pokemonInfo:Type.${Type[runChallenges[i].value-1]}` as const)); - } else if (runChallenges[i].id === Challenges.FRESH_START && runChallenges[i].value !== 0) { - rules.push(i18next.t("challenges:freshStart.name")); - } - } + const rules: string[] = this.challengeParser(); if (rules) { for (let i = 0; i < rules.length; i++) { + const newline = i > 0 && i%2 === 0; if (i > 0) { - modeText.appendText(" + ", false); + modeText.appendText(" + ", newline); } - modeText.appendText(rules[i], false); + modeText.appendText(rules[i], newline); } } break; @@ -466,6 +457,34 @@ export default class RunInfoUiHandler extends UiHandler { this.runContainer.add(this.runInfoContainer); } + /** + * This function parses the Challenges section of the Run Entry and returns a list of active challenge. + * @return string[] of active challenge names + */ + private challengeParser(): string[] { + const rules: string[] = []; + for (let i = 0; i < this.runInfo.challenges.length; i++) { + if (this.runInfo.challenges[i].value !== 0) { + switch (this.runInfo.challenges[i].id) { + case Challenges.SINGLE_GENERATION: + rules.push(i18next.t(`runHistory:challengeMonoGen${this.runInfo.challenges[i].value}`)); + break; + case Challenges.SINGLE_TYPE: + rules.push(i18next.t(`pokemonInfo:Type.${Type[this.runInfo.challenges[i].value-1]}` as const)); + break; + case Challenges.FRESH_START: + rules.push(i18next.t("challenges:freshStart.name")); + break; + case Challenges.INVERSE_BATTLE: + // + rules.push(i18next.t("challenges:inverseBattle.shortName").split("").reverse().join("")); + break; + } + } + } + return rules; + } + /** * Parses and displays the run's player party. * Default Information: Icon, Level, Nature, Ability, Passive, Shiny Status, Fusion Status, Stats, and Moves. diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index f9b40dd96e6..ff76a467d25 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -39,12 +39,13 @@ import { Species } from "#enums/species"; import {Button} from "#enums/buttons"; import { EggSourceType } from "#app/enums/egg-source-types.js"; import AwaitableUiHandler from "./awaitable-ui-handler"; -import { DropDown, DropDownLabel, DropDownOption, DropDownState, DropDownType } from "./dropdown"; +import { DropDown, DropDownLabel, DropDownOption, DropDownState, DropDownType, SortCriteria } from "./dropdown"; import { StarterContainer } from "./starter-container"; import { DropDownColumn, FilterBar } from "./filter-bar"; import { ScrollBar } from "./scroll-bar"; import { SelectChallengePhase } from "#app/phases/select-challenge-phase.js"; import { TitlePhase } from "#app/phases/title-phase.js"; +import { Abilities } from "#app/enums/abilities"; export type StarterSelectCallback = (starters: Starter[]) => void; @@ -501,11 +502,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler { // sort filter const sortOptions = [ - new DropDownOption(this.scene, 0, new DropDownLabel(i18next.t("filterBar:sortByNumber"), undefined, DropDownState.ON)), - new DropDownOption(this.scene, 1, new DropDownLabel(i18next.t("filterBar:sortByCost"))), - new DropDownOption(this.scene, 2, new DropDownLabel(i18next.t("filterBar:sortByCandies"))), - new DropDownOption(this.scene, 3, new DropDownLabel(i18next.t("filterBar:sortByIVs"))), - new DropDownOption(this.scene, 4, new DropDownLabel(i18next.t("filterBar:sortByName"))) + new DropDownOption(this.scene, SortCriteria.NUMBER, new DropDownLabel(i18next.t("filterBar:sortByNumber"), undefined, DropDownState.ON)), + new DropDownOption(this.scene, SortCriteria.COST, new DropDownLabel(i18next.t("filterBar:sortByCost"))), + new DropDownOption(this.scene, SortCriteria.CANDY, new DropDownLabel(i18next.t("filterBar:sortByCandies"))), + new DropDownOption(this.scene, SortCriteria.IV, new DropDownLabel(i18next.t("filterBar:sortByIVs"))), + new DropDownOption(this.scene, SortCriteria.NAME, new DropDownLabel(i18next.t("filterBar:sortByName"))) ]; this.filterBar.addFilter(DropDownColumn.SORT, i18next.t("filterBar:sortFilter"), new DropDown(this.scene, 0, 0, sortOptions, this.updateStarters, DropDownType.SINGLE)); this.filterBarContainer.add(this.filterBar); @@ -915,7 +916,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.allSpecies.forEach((species, s) => { const icon = this.starterContainers[s].icon; const dexEntry = this.scene.gameData.dexData[species.speciesId]; - this.starterPreferences[species.speciesId] = this.starterPreferences[species.speciesId] ?? {}; + + // Initialize the StarterAttributes for this species + this.starterPreferences[species.speciesId] = this.initStarterPrefs(species); if (dexEntry.caughtAttr) { icon.clearTint(); @@ -942,6 +945,93 @@ export default class StarterSelectUiHandler extends MessageUiHandler { return false; } + /** + * Get the starter attributes for the given PokemonSpecies, after sanitizing them. + * If somehow a preference is set for a form, variant, gender, ability or nature + * that wasn't actually unlocked or is invalid it will be cleared here + * + * @param species The species to get Starter Preferences for + * @returns StarterAttributes for the species + */ + initStarterPrefs(species: PokemonSpecies): StarterAttributes { + const starterAttributes = this.starterPreferences[species.speciesId]; + const dexEntry = this.scene.gameData.dexData[species.speciesId]; + const starterData = this.scene.gameData.starterData[species.speciesId]; + + // no preferences or Pokemon wasn't caught, return empty attribute + if (!starterAttributes || !dexEntry.caughtAttr) { + return {}; + } + + const caughtAttr = dexEntry.caughtAttr; + + const hasShiny = caughtAttr & DexAttr.SHINY; + const hasNonShiny = caughtAttr & DexAttr.NON_SHINY; + if (starterAttributes.shiny && !hasShiny) { + // shiny form wasn't unlocked, purging shiny and variant setting + delete starterAttributes.shiny; + delete starterAttributes.variant; + } else if (starterAttributes.shiny === false && !hasNonShiny) { + // non shiny form wasn't unlocked, purging shiny setting + delete starterAttributes.shiny; + } + + if (starterAttributes.variant !== undefined && !isNaN(starterAttributes.variant)) { + const unlockedVariants = [ + hasNonShiny, + hasShiny && caughtAttr & DexAttr.DEFAULT_VARIANT, + hasShiny && caughtAttr & DexAttr.VARIANT_2, + hasShiny && caughtAttr & DexAttr.VARIANT_3 + ]; + if (!unlockedVariants[starterAttributes.variant + 1]) { // add 1 as -1 = non-shiny + // requested variant wasn't unlocked, purging setting + delete starterAttributes.variant; + } + } + + if (starterAttributes.female !== undefined) { + if (!(starterAttributes.female ? caughtAttr & DexAttr.FEMALE : caughtAttr & DexAttr.MALE)) { + // requested gender wasn't unlocked, purging setting + delete starterAttributes.female; + } + } + + if (starterAttributes.ability !== undefined) { + const speciesHasSingleAbility = species.ability2 === species.ability1; + const abilityAttr = starterData.abilityAttr; + const hasAbility1 = abilityAttr & AbilityAttr.ABILITY_1; + const hasAbility2 = abilityAttr & AbilityAttr.ABILITY_2; + const hasHiddenAbility = abilityAttr & AbilityAttr.ABILITY_HIDDEN; + // Due to a past bug it is possible that some Pokemon with a single ability have the ability2 flag + // In this case, we only count ability2 as valid if ability1 was not unlocked, otherwise we ignore it + const unlockedAbilities = [ + hasAbility1, + speciesHasSingleAbility ? hasAbility2 && !hasAbility1 : hasAbility2, + hasHiddenAbility + ]; + if (!unlockedAbilities[starterAttributes.ability]) { + // requested ability wasn't unlocked, purging setting + delete starterAttributes.ability; + } + } + + const selectedForm = starterAttributes.form; + if (selectedForm !== undefined && (!species.forms[selectedForm]?.isStarterSelectable || !(caughtAttr & this.scene.gameData.getFormAttr(selectedForm)))) { + // requested form wasn't unlocked/isn't a starter form, purging setting + delete starterAttributes.form; + } + + if (starterAttributes.nature !== undefined) { + const unlockedNatures = this.scene.gameData.getNaturesForAttr(dexEntry.natureAttr); + if (unlockedNatures.indexOf(starterAttributes.nature as unknown as Nature) < 0) { + // requested nature wasn't unlocked, purging setting + delete starterAttributes.nature; + } + } + + return starterAttributes; + } + /** * Set the selections for all filters to their default starting value */ @@ -1749,9 +1839,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler { switch (button) { case Button.CYCLE_SHINY: if (this.canCycleShiny) { - const newVariant = props.variant; + const newVariant = starterAttributes.variant ? starterAttributes.variant as Variant : props.variant; starterAttributes.shiny = starterAttributes.shiny ? !starterAttributes.shiny : true; - this.setSpeciesDetails(this.lastSpecies, !props.shiny, undefined, undefined, props.shiny ? 0 : undefined, undefined, undefined); + this.setSpeciesDetails(this.lastSpecies, !props.shiny, undefined, undefined, props.shiny ? 0 : newVariant, undefined, undefined); if (starterAttributes.shiny) { this.scene.playSound("se/sparkle"); // Set the variant label to the shiny tint @@ -1760,10 +1850,6 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonShinyIcon.setTint(tint); this.pokemonShinyIcon.setVisible(true); } else { - // starterAttributes.variant = 0; - if (starterAttributes?.variant) { - delete starterAttributes.variant; - } this.pokemonShinyIcon.setVisible(false); success = true; } @@ -2276,48 +2362,45 @@ export default class StarterSelectUiHandler extends MessageUiHandler { container.cost = this.scene.gameData.getSpeciesStarterValue(container.species.speciesId); // First, ensure you have the caught attributes for the species else default to bigint 0 - const isCaught = this.scene.gameData.dexData[container.species.speciesId]?.caughtAttr || BigInt(0); - - // Define the variables based on whether their respective variants have been caught - const isVariant3Caught = !!(isCaught & DexAttr.VARIANT_3); - const isVariant2Caught = !!(isCaught & DexAttr.VARIANT_2); - const isVariantCaught = !!(isCaught & DexAttr.SHINY); - const isUncaught = !isCaught && !isVariantCaught && !isVariant2Caught && !isVariant3Caught; - const isPassiveUnlocked = this.scene.gameData.starterData[container.species.speciesId].passiveAttr > 0; - const isPassiveUnlockable = this.isPassiveAvailable(container.species.speciesId) && !isPassiveUnlocked; - const isCostReduced = this.scene.gameData.starterData[container.species.speciesId].valueReduction > 0; - const isCostReductionUnlockable = this.isValueReductionAvailable(container.species.speciesId); - const isFavorite = this.starterPreferences[container.species.speciesId]?.favorite ?? false; - - const isWin = this.scene.gameData.starterData[container.species.speciesId].classicWinCount > 0; - const isNotWin = this.scene.gameData.starterData[container.species.speciesId].classicWinCount === 0; - const isUndefined = this.scene.gameData.starterData[container.species.speciesId].classicWinCount === undefined; - const isHA = this.scene.gameData.starterData[container.species.speciesId].abilityAttr & AbilityAttr.ABILITY_HIDDEN; - const isEggPurchasable = this.isSameSpeciesEggAvailable(container.species.speciesId); + const caughtAttr = this.scene.gameData.dexData[container.species.speciesId]?.caughtAttr || BigInt(0); + const starterData = this.scene.gameData.starterData[container.species.speciesId]; + const isStarterProgressable = speciesEggMoves.hasOwnProperty(container.species.speciesId); + // Gen filter const fitsGen = this.filterBar.getVals(DropDownColumn.GEN).includes(container.species.generation); + // Type filter const fitsType = this.filterBar.getVals(DropDownColumn.TYPES).some(type => container.species.isOfType((type as number) - 1)); + // Caught / Shiny filter + const isNonShinyCaught = !!(caughtAttr & DexAttr.NON_SHINY); + const isShinyCaught = !!(caughtAttr & DexAttr.SHINY); + const isVariant1Caught = isShinyCaught && !!(caughtAttr & DexAttr.DEFAULT_VARIANT); + const isVariant2Caught = isShinyCaught && !!(caughtAttr & DexAttr.VARIANT_2); + const isVariant3Caught = isShinyCaught && !!(caughtAttr & DexAttr.VARIANT_3); + const isUncaught = !isNonShinyCaught && !isVariant1Caught && !isVariant2Caught && !isVariant3Caught; const fitsCaught = this.filterBar.getVals(DropDownColumn.CAUGHT).some(caught => { if (caught === "SHINY3") { return isVariant3Caught; } else if (caught === "SHINY2") { return isVariant2Caught && !isVariant3Caught; } else if (caught === "SHINY") { - return isVariantCaught && !isVariant2Caught && !isVariant3Caught; + return isVariant1Caught && !isVariant2Caught && !isVariant3Caught; } else if (caught === "NORMAL") { - return isCaught && !isVariantCaught && !isVariant2Caught && !isVariant3Caught; + return isNonShinyCaught && !isVariant1Caught && !isVariant2Caught && !isVariant3Caught; } else if (caught === "UNCAUGHT") { return isUncaught; } }); + // Passive Filter + const isPassiveUnlocked = starterData.passiveAttr > 0; + const isPassiveUnlockable = this.isPassiveAvailable(container.species.speciesId) && !isPassiveUnlocked; const fitsPassive = this.filterBar.getVals(DropDownColumn.UNLOCKS).some(unlocks => { if (unlocks.val === "PASSIVE" && unlocks.state === DropDownState.ON) { return isPassiveUnlocked; } else if (unlocks.val === "PASSIVE" && unlocks.state === DropDownState.EXCLUDE) { - return !isPassiveUnlocked; + return isStarterProgressable && !isPassiveUnlocked; } else if (unlocks.val === "PASSIVE" && unlocks.state === DropDownState.UNLOCKABLE) { return isPassiveUnlockable; } else if (unlocks.val === "PASSIVE" && unlocks.state === DropDownState.OFF) { @@ -2325,11 +2408,14 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } }); + // Cost Reduction Filter + const isCostReduced = starterData.valueReduction > 0; + const isCostReductionUnlockable = this.isValueReductionAvailable(container.species.speciesId); const fitsCostReduction = this.filterBar.getVals(DropDownColumn.UNLOCKS).some(unlocks => { if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.ON) { return isCostReduced; } else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.EXCLUDE) { - return !isCostReduced; + return isStarterProgressable && !isCostReduced; } else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.UNLOCKABLE) { return isCostReductionUnlockable; } else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.OFF) { @@ -2337,6 +2423,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } }); + // Favorite Filter + const isFavorite = this.starterPreferences[container.species.speciesId]?.favorite ?? false; const fitsFavorite = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { if (misc.val === "FAVORITE" && misc.state === DropDownState.ON) { return isFavorite; @@ -2349,38 +2437,46 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } }); + // Ribbon / Classic Win Filter + const hasWon = starterData.classicWinCount > 0; + const hasNotWon = starterData.classicWinCount === 0; + const isUndefined = starterData.classicWinCount === undefined; const fitsWin = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { - if (container.species.speciesId < 10) { - } if (misc.val === "WIN" && misc.state === DropDownState.ON) { - return isWin; + return hasWon; } else if (misc.val === "WIN" && misc.state === DropDownState.EXCLUDE) { - return isNotWin || isUndefined; + return hasNotWon || isUndefined; } else if (misc.val === "WIN" && misc.state === DropDownState.OFF) { return true; } }); + // HA Filter + const speciesHasHiddenAbility = container.species.abilityHidden !== container.species.ability1 && container.species.abilityHidden !== Abilities.NONE; + const hasHA = starterData.abilityAttr & AbilityAttr.ABILITY_HIDDEN; const fitsHA = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { if (misc.val === "HIDDEN_ABILITY" && misc.state === DropDownState.ON) { - return isHA; + return hasHA; } else if (misc.val === "HIDDEN_ABILITY" && misc.state === DropDownState.EXCLUDE) { - return !isHA; + return speciesHasHiddenAbility && !hasHA; } else if (misc.val === "HIDDEN_ABILITY" && misc.state === DropDownState.OFF) { return true; } }); + // Egg Purchasable Filter + const isEggPurchasable = this.isSameSpeciesEggAvailable(container.species.speciesId); const fitsEgg = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { if (misc.val === "EGG" && misc.state === DropDownState.ON) { return isEggPurchasable; } else if (misc.val === "EGG" && misc.state === DropDownState.EXCLUDE) { - return !isEggPurchasable; + return isStarterProgressable && !isEggPurchasable; } else if (misc.val === "EGG" && misc.state === DropDownState.OFF) { return true; } }); + // Pokerus Filter const fitsPokerus = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { if (misc.val === "POKERUS" && misc.state === DropDownState.ON) { return this.pokerusSpecies.includes(container.species); @@ -2405,19 +2501,19 @@ export default class StarterSelectUiHandler extends MessageUiHandler { switch (sort.val) { default: break; - case 0: + case SortCriteria.NUMBER: return (a.species.speciesId - b.species.speciesId) * -sort.dir; - case 1: + case SortCriteria.COST: return (a.cost - b.cost) * -sort.dir; - case 2: + case SortCriteria.CANDY: const candyCountA = this.scene.gameData.starterData[a.species.speciesId].candyCount; const candyCountB = this.scene.gameData.starterData[b.species.speciesId].candyCount; return (candyCountA - candyCountB) * -sort.dir; - case 3: + case SortCriteria.IV: const avgIVsA = this.scene.gameData.dexData[a.species.speciesId].ivs.reduce((a, b) => a + b, 0) / this.scene.gameData.dexData[a.species.speciesId].ivs.length; const avgIVsB = this.scene.gameData.dexData[b.species.speciesId].ivs.reduce((a, b) => a + b, 0) / this.scene.gameData.dexData[b.species.speciesId].ivs.length; return (avgIVsA - avgIVsB) * -sort.dir; - case 4: + case SortCriteria.NAME: return a.species.name.localeCompare(b.species.name) * -sort.dir; } return 0; @@ -2579,56 +2675,13 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.natureCursor = species ? this.scene.gameData.getSpeciesDefaultNature(species) : 0; const starterAttributes : StarterAttributes | null = species ? {...this.starterPreferences[species.speciesId]} : null; - // validate starterAttributes - if (starterAttributes) { - // this may cause changes so we created a copy of the attributes before - if (starterAttributes.variant && !isNaN(starterAttributes.variant)) { - if (![ - this.speciesStarterDexEntry!.caughtAttr & DexAttr.NON_SHINY, // TODO: is that bang correct? - this.speciesStarterDexEntry!.caughtAttr & DexAttr.DEFAULT_VARIANT, // TODO: is that bang correct? - this.speciesStarterDexEntry!.caughtAttr & DexAttr.VARIANT_2, // TODO: is that bang correct? - this.speciesStarterDexEntry!.caughtAttr & DexAttr.VARIANT_3 // TODO: is that bang correct? - ][starterAttributes.variant+1]) { // add 1 as -1 = non-shiny - // requested variant wasn't unlocked, purging setting - delete starterAttributes.variant; - } - } - - if (typeof starterAttributes.female !== "boolean" || !(starterAttributes.female ? - this.speciesStarterDexEntry!.caughtAttr & DexAttr.FEMALE : // TODO: is this bang correct? - this.speciesStarterDexEntry!.caughtAttr & DexAttr.MALE // TODO: is this bang correct? - )) { - // requested gender wasn't unlocked, purging setting - delete starterAttributes.female; - } - - const abilityAttr = this.scene.gameData.starterData[species!.speciesId].abilityAttr; // TODO: is this bang correct? - if (![ - abilityAttr & AbilityAttr.ABILITY_1, - species!.ability2 ? (abilityAttr & AbilityAttr.ABILITY_2) : abilityAttr & AbilityAttr.ABILITY_HIDDEN, // TODO: is this bang correct? - species!.ability2 && abilityAttr & AbilityAttr.ABILITY_HIDDEN // TODO: is this bang correct? - ][starterAttributes.ability!]) { // TODO: is this bang correct? - // requested ability wasn't unlocked, purging setting - delete starterAttributes.ability; - } - - if (!(species?.forms[starterAttributes.form!]?.isStarterSelectable && this.speciesStarterDexEntry!.caughtAttr & this.scene.gameData.getFormAttr(starterAttributes.form!))) { // TODO: are those bangs correct? - // requested form wasn't unlocked/isn't a starter form, purging setting - delete starterAttributes.form; - } - - if (this.scene.gameData.getNaturesForAttr(this.speciesStarterDexEntry?.natureAttr).indexOf(starterAttributes.nature as unknown as Nature) < 0) { - // requested nature wasn't unlocked, purging setting - delete starterAttributes.nature; - } - } if (starterAttributes?.nature) { // load default nature from stater save data, if set this.natureCursor = starterAttributes.nature; } if (starterAttributes?.ability && !isNaN(starterAttributes.ability)) { - // load default nature from stater save data, if set + // load default ability from stater save data, if set this.abilityCursor = starterAttributes.ability; } @@ -2675,7 +2728,6 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonLuckText.setText(luck.toString()); this.pokemonLuckText.setTint(getVariantTint(Math.min(luck - 1, 2) as Variant)); this.pokemonLuckLabelText.setVisible(this.pokemonLuckText.visible); - this.pokemonShinyIcon.setVisible(this.starterPreferences[species.speciesId]?.shiny ?? false); //Growth translate let growthReadable = Utils.toReadableString(GrowthRate[species.growthRate]); @@ -2699,12 +2751,14 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonHatchedIcon.setFrame(getEggTierForSpecies(species)); } this.pokemonHatchedCountText.setText(`${this.speciesStarterDexEntry.hatchedCount}`); + const defaultDexAttr = this.getCurrentDexProps(species.speciesId); const defaultProps = this.scene.gameData.getSpeciesDexAttrProps(species, defaultDexAttr); const variant = defaultProps.variant; const tint = getVariantTint(variant); this.pokemonShinyIcon.setFrame(getVariantIcon(variant)); this.pokemonShinyIcon.setTint(tint); + this.pokemonShinyIcon.setVisible(defaultProps.shiny); this.pokemonCaughtHatchedContainer.setVisible(true); if (pokemonPrevolutions.hasOwnProperty(species.speciesId)) { this.pokemonCaughtHatchedContainer.setY(16); @@ -2894,21 +2948,13 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const dexEntry = this.scene.gameData.dexData[species.speciesId]; const abilityAttr = this.scene.gameData.starterData[species.speciesId].abilityAttr; - const isCaught = this.scene.gameData.dexData[species.speciesId]?.caughtAttr || BigInt(0); - const isVariant3Caught = !!(isCaught & DexAttr.VARIANT_3); - const isVariant2Caught = !!(isCaught & DexAttr.VARIANT_2); - const isDefaultVariantCaught = !!(isCaught & DexAttr.DEFAULT_VARIANT); - const isVariantCaught = !!(isCaught & DexAttr.SHINY); - const isMaleCaught = !!(isCaught & DexAttr.MALE); - const isFemaleCaught = !!(isCaught & DexAttr.FEMALE); - - const starterAttributes = this.starterPreferences[species.speciesId]; - - const props = this.scene.gameData.getSpeciesDexAttrProps(species, this.getCurrentDexProps(species.speciesId)); - const defaultAbilityIndex = this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species); - const defaultNature = this.scene.gameData.getSpeciesDefaultNature(species); + const caughtAttr = this.scene.gameData.dexData[species.speciesId]?.caughtAttr || BigInt(0); if (!dexEntry.caughtAttr) { + const props = this.scene.gameData.getSpeciesDexAttrProps(species, this.getCurrentDexProps(species.speciesId)); + const defaultAbilityIndex = this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species); + const defaultNature = this.scene.gameData.getSpeciesDefaultNature(species); + if (shiny === undefined || shiny !== props.shiny) { shiny = props.shiny; } @@ -2927,83 +2973,6 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (natureIndex === undefined || natureIndex !== defaultNature) { natureIndex = defaultNature; } - } else { - // compare current shiny, formIndex, female, variant, abilityIndex, natureIndex with the caught ones - // if the current ones are not caught, we need to find the next caught ones - if (shiny) { - if (!(isVariantCaught || isVariant2Caught || isVariant3Caught)) { - shiny = false; - starterAttributes.shiny = false; - variant = 0; - starterAttributes.variant = 0; - } else { - shiny = true; - starterAttributes.shiny = true; - if (variant === 0 && !isDefaultVariantCaught) { - if (isVariant2Caught) { - variant = 1; - starterAttributes.variant = 1; - } else if (isVariant3Caught) { - variant = 2; - starterAttributes.variant = 2; - } else { - variant = 0; - starterAttributes.variant = 0; - } - } else if (variant === 1 && !isVariant2Caught) { - if (isVariantCaught) { - variant = 0; - starterAttributes.variant = 0; - } else if (isVariant3Caught) { - variant = 2; - starterAttributes.variant = 2; - } else { - variant = 0; - starterAttributes.variant = 0; - } - } else if (variant === 2 && !isVariant3Caught) { - if (isVariantCaught) { - variant = 0; - starterAttributes.variant = 0; - } else if (isVariant2Caught) { - variant = 1; - starterAttributes.variant = 1; - } else { - variant = 0; - starterAttributes.variant = 0; - } - } - } - } - if (female) { - if (!isFemaleCaught) { - female = false; - starterAttributes.female = false; - } - } else { - if (!isMaleCaught) { - female = true; - starterAttributes.female = true; - } - } - - if (species.forms) { - const formCount = species.forms.length; - let newFormIndex = formIndex??0; - if (species.forms[newFormIndex]) { - const isValidForm = species.forms[newFormIndex].isStarterSelectable && dexEntry.caughtAttr & this.scene.gameData.getFormAttr(newFormIndex); - if (!isValidForm) { - do { - newFormIndex = (newFormIndex + 1) % formCount; - if (species.forms[newFormIndex].isStarterSelectable && dexEntry.caughtAttr & this.scene.gameData.getFormAttr(newFormIndex)) { - break; - } - } while (newFormIndex !== props.formIndex); - formIndex = newFormIndex; - starterAttributes.form = formIndex; - } - } - } } this.shinyOverlay.setVisible(shiny ?? false); // TODO: is false the correct default? @@ -3045,8 +3014,19 @@ export default class StarterSelectUiHandler extends MessageUiHandler { currentFilteredContainer.checkIconId(female, formIndex, shiny, variant); } - this.canCycleShiny = isVariantCaught || isVariant2Caught || isVariant3Caught; + const isNonShinyCaught = !!(caughtAttr & DexAttr.NON_SHINY); + const isShinyCaught = !!(caughtAttr & DexAttr.SHINY); + const isVariant1Caught = isShinyCaught && !!(caughtAttr & DexAttr.DEFAULT_VARIANT); + const isVariant2Caught = isShinyCaught && !!(caughtAttr & DexAttr.VARIANT_2); + const isVariant3Caught = isShinyCaught && !!(caughtAttr & DexAttr.VARIANT_3); + + this.canCycleShiny = isNonShinyCaught && isShinyCaught; + this.canCycleVariant = !!shiny && [ isVariant1Caught, isVariant2Caught, isVariant3Caught].filter(v => v).length > 1; + + const isMaleCaught = !!(caughtAttr & DexAttr.MALE); + const isFemaleCaught = !!(caughtAttr & DexAttr.FEMALE); this.canCycleGender = isMaleCaught && isFemaleCaught; + const hasAbility1 = abilityAttr & AbilityAttr.ABILITY_1; let hasAbility2 = abilityAttr & AbilityAttr.ABILITY_2; const hasHiddenAbility = abilityAttr & AbilityAttr.ABILITY_HIDDEN; @@ -3061,10 +3041,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } this.canCycleAbility = [ hasAbility1, hasAbility2, hasHiddenAbility ].filter(a => a).length > 1; + this.canCycleForm = species.forms.filter(f => f.isStarterSelectable || !pokemonFormChanges[species.speciesId]?.find(fc => fc.formKey)) .map((_, f) => dexEntry.caughtAttr & this.scene.gameData.getFormAttr(f)).filter(f => f).length > 1; this.canCycleNature = this.scene.gameData.getNaturesForAttr(dexEntry.natureAttr).length > 1; - this.canCycleVariant = !!shiny && [ dexEntry.caughtAttr & DexAttr.DEFAULT_VARIANT, dexEntry.caughtAttr & DexAttr.VARIANT_2, dexEntry.caughtAttr & DexAttr.VARIANT_3].filter(v => v).length > 1; + } if (dexEntry.caughtAttr && species.malePercent !== null) { @@ -3442,39 +3423,55 @@ export default class StarterSelectUiHandler extends MessageUiHandler { return canStart; } - /* this creates a temporary dex attr props that we use to check whether a pokemon is valid for a challenge. - * when checking for certain challenges (i.e. mono type), we need to check for form changes AND evolutions - * However, since some pokemon can evolve based on their intial gender/form, we need a way to look for that - * This temporary dex attr will therefore ONLY look at gender and form, since there's no cases of shinies/variants - * having different evolutions to their non shiny/variant part, and so those can be ignored - * Since the current form and gender is stored in the starter preferences, this is where we get the values from - */ + /** + * Creates a temporary dex attr props that will be used to check whether a pokemon is valid for a challenge + * and to display the correct shiny, variant, and form based on the StarterPreferences + * + * @param speciesId the id of the species to get props for + * @returns the dex props + */ getCurrentDexProps(speciesId: number): bigint { let props = 0n; + const caughtAttr = this.scene.gameData.dexData[speciesId].caughtAttr; - if (this.starterPreferences[speciesId]?.female) { // this checks the gender of the pokemon + /* this checks the gender of the pokemon; this works by checking a) that the starter preferences for the species exist, and if so, is it female. If so, it'll add DexAttr.FEMALE to our temp props + * It then checks b) if the caughtAttr for the pokemon is female and NOT male - this means that the ONLY gender we've gotten is female, and we need to add DexAttr.FEMALE to our temp props + * If neither of these pass, we add DexAttr.MALE to our temp props + */ + if (this.starterPreferences[speciesId]?.female || ((caughtAttr & DexAttr.FEMALE) > 0n && (caughtAttr & DexAttr.MALE) === 0n)) { props += DexAttr.FEMALE; } else { props += DexAttr.MALE; } - if (this.starterPreferences[speciesId]?.shiny) { + /* This part is very similar to above, but instead of for gender, it checks for shiny within starter preferences. + * If they're not there, it checks the caughtAttr for shiny only (i.e. SHINY === true && NON_SHINY === false) + */ + if (this.starterPreferences[speciesId]?.shiny || ((caughtAttr & DexAttr.SHINY) > 0n && (caughtAttr & DexAttr.NON_SHINY) === 0n)) { props += DexAttr.SHINY; if (this.starterPreferences[speciesId]?.variant) { props += BigInt(Math.pow(2, this.starterPreferences[speciesId]?.variant)) * DexAttr.DEFAULT_VARIANT; } else { - props += DexAttr.DEFAULT_VARIANT; + /* This calculates the correct variant if there's no starter preferences for it. + * This gets the lowest tier variant that you've caught (in line with other mechanics) and adds it to the temp props + */ + if ((caughtAttr & DexAttr.DEFAULT_VARIANT) > 0) { + props += DexAttr.DEFAULT_VARIANT; + } + if ((caughtAttr & DexAttr.VARIANT_2) > 0) { + props += DexAttr.VARIANT_2; + } else if ((caughtAttr & DexAttr.VARIANT_3) > 0) { + props += DexAttr.VARIANT_3; + } } } else { props += DexAttr.NON_SHINY; - if (this.starterPreferences[speciesId]?.variant) { - delete this.starterPreferences[speciesId].variant; - } props += DexAttr.DEFAULT_VARIANT; // we add the default variant here because non shiny versions are listed as default variant } if (this.starterPreferences[speciesId]?.form) { // this checks for the form of the pokemon props += BigInt(Math.pow(2, this.starterPreferences[speciesId]?.form)) * DexAttr.DEFAULT_FORM; } else { - props += DexAttr.DEFAULT_FORM; + // Get the first unlocked form + props += this.scene.gameData.getFormAttr(this.scene.gameData.getFormIndex(caughtAttr)); } return props; diff --git a/src/ui/test-dialogue-ui-handler.ts b/src/ui/test-dialogue-ui-handler.ts new file mode 100644 index 00000000000..3f353bbc461 --- /dev/null +++ b/src/ui/test-dialogue-ui-handler.ts @@ -0,0 +1,147 @@ +import { FormModalUiHandler } from "./form-modal-ui-handler"; +import { ModalConfig } from "./modal-ui-handler"; +import i18next from "i18next"; +import { PlayerPokemon } from "#app/field/pokemon"; +import { OptionSelectItem } from "./abstact-option-select-ui-handler"; +import { isNullOrUndefined } from "#app/utils"; +import { Mode } from "./ui"; + +export default class TestDialogueUiHandler extends FormModalUiHandler { + + keys: string[]; + + constructor(scene, mode) { + super(scene, mode); + } + + setup() { + super.setup(); + + const flattenKeys = (object, topKey?: string, midleKey?: string[]): Array => { + return Object.keys(object).map((t, i) => { + const value = Object.values(object)[i]; + + if (typeof value === "object" && !isNullOrUndefined(value)) { // we check for not null or undefined here because if the language json file has a null key, the typeof will still be an object, but that object will be null, causing issues + // If the value is an object, execute the same process + // si el valor es un objeto ejecuta el mismo proceso + + return flattenKeys(value, topKey ?? t, topKey ? midleKey ? [...midleKey, t] : [t] : undefined).filter((t) => t.length > 0); + } else if (typeof value === "string" || isNullOrUndefined(value)) { // we check for null or undefined here as per above - the typeof is still an object but the value is null so we need to exit out of this and pass the null key + + // Return in the format expected by i18next + return midleKey ? `${topKey}:${midleKey.map((m) => m).join(".")}.${t}` : `${topKey}:${t}`; + } + }).filter((t) => t); + }; + + const keysInArrays = flattenKeys(i18next.getDataByLanguage(String(i18next.resolvedLanguage))).filter((t) => t.length > 0); // Array of arrays + const keys = keysInArrays.flat(Infinity).map(String); // One array of string + this.keys = keys; + } + + getModalTitle(config?: ModalConfig): string { + return "Test Dialogue"; + } + + getFields(config?: ModalConfig): string[] { + return [ "Dialogue" ]; + } + + getWidth(config?: ModalConfig): number { + return 300; + } + + getMargin(config?: ModalConfig): [number, number, number, number] { + return [ 0, 0, 48, 0 ]; + } + + getButtonLabels(config?: ModalConfig): string[] { + return [ "Check", "Cancel" ]; + } + + getReadableErrorMessage(error: string): string { + const colonIndex = error?.indexOf(":"); + if (colonIndex > 0) { + error = error.slice(0, colonIndex); + } + + return super.getReadableErrorMessage(error); + } + + show(args: any[]): boolean { + const ui = this.getUi(); + const input = this.inputs[0]; + input.setMaxLength(255); + + input.on("keydown", (inputObject, evt: KeyboardEvent) => { + if (["escape", "space"].some((v) => v === evt.key.toLowerCase() || v === evt.code.toLowerCase()) && ui.getMode() === Mode.AUTO_COMPLETE) { + // Delete autocomplete list and recovery focus. + inputObject.on("blur", () => inputObject.node.focus(), { once: true }); + ui.revertMode(); + } + }); + + input.on("textchange", (inputObject, evt: InputEvent) => { + // Delete autocomplete. + if (ui.getMode() === Mode.AUTO_COMPLETE) { + ui.revertMode(); + } + + let options: OptionSelectItem[] = []; + const splitArr = inputObject.text.split(" "); + const filteredKeys = this.keys.filter((command) => command.toLowerCase().includes(splitArr[splitArr.length - 1].toLowerCase())); + if (inputObject.text !== "" && filteredKeys.length > 0) { + // if performance is required, you could reduce the number of total results by changing the slice below to not have all ~8000 inputs going + options = filteredKeys.slice(0).map((value) => { + return { + label: value, + handler: () => { + // this is here to make sure that if you try to backspace then enter, the last known evt.data (backspace) is picked up + // this is because evt.data is null for backspace, so without this, the autocomplete windows just closes + if (!isNullOrUndefined(evt.data) || evt.inputType?.toLowerCase() === "deletecontentbackward") { + const separatedArray = inputObject.text.split(" "); + separatedArray[separatedArray.length - 1] = value; + inputObject.setText(separatedArray.join(" ")); + } + ui.revertMode(); + return true; + } + }; + }); + } + + if (options.length > 0) { + const modalOpts = { + options: options, + maxOptions: 5, + modalContainer: this.modalContainer + }; + ui.setOverlayMode(Mode.AUTO_COMPLETE, modalOpts); + } + + }); + + + if (super.show(args)) { + const config = args[0] as ModalConfig; + this.inputs[0].resize(1150, 116); + this.inputContainers[0].list[0].width = 200; + if (args[1] && typeof (args[1] as PlayerPokemon).getNameToRender === "function") { + this.inputs[0].text = (args[1] as PlayerPokemon).getNameToRender(); + } else { + this.inputs[0].text = args[1]; + } + this.submitAction = (_) => { + if (ui.getMode() === Mode.TEST_DIALOGUE) { + this.sanitizeInputs(); + const sanitizedName = btoa(unescape(encodeURIComponent(this.inputs[0].text))); + config.buttonActions[0](sanitizedName); + return true; + } + return false; + }; + return true; + } + return false; + } +} diff --git a/src/ui/ui.ts b/src/ui/ui.ts index dc12ac92be2..7108a8dd480 100644 --- a/src/ui/ui.ts +++ b/src/ui/ui.ts @@ -49,6 +49,8 @@ import RenameFormUiHandler from "./rename-form-ui-handler"; import AdminUiHandler from "./admin-ui-handler"; import RunHistoryUiHandler from "./run-history-ui-handler"; import RunInfoUiHandler from "./run-info-ui-handler"; +import TestDialogueUiHandler from "#app/ui/test-dialogue-ui-handler"; +import AutoCompleteUiHandler from "./autocomplete-ui-handler"; export enum Mode { MESSAGE, @@ -89,6 +91,8 @@ export enum Mode { RENAME_POKEMON, RUN_HISTORY, RUN_INFO, + TEST_DIALOGUE, + AUTO_COMPLETE, ADMIN, } @@ -127,6 +131,8 @@ const noTransitionModes = [ Mode.UNAVAILABLE, Mode.OUTDATED, Mode.RENAME_POKEMON, + Mode.TEST_DIALOGUE, + Mode.AUTO_COMPLETE, Mode.ADMIN, ]; @@ -191,6 +197,8 @@ export default class UI extends Phaser.GameObjects.Container { new RenameFormUiHandler(scene), new RunHistoryUiHandler(scene), new RunInfoUiHandler(scene), + new TestDialogueUiHandler(scene, Mode.TEST_DIALOGUE), + new AutoCompleteUiHandler(scene), new AdminUiHandler(scene), ]; } @@ -298,30 +306,32 @@ export default class UI extends Phaser.GameObjects.Container { } } - showDialogue(i18nKey: string, name: string | undefined, delay: integer | null = 0, callback: Function, callbackDelay?: integer, promptDelay?: integer): void { + showDialogue(keyOrText: string, name: string | undefined, delay: integer | null = 0, callback: Function, callbackDelay?: integer, promptDelay?: integer): void { const battleScene = this.scene as BattleScene; - // Get localized dialogue (if available) let hasi18n = false; - if (i18next.exists(i18nKey) ) { - const genderIndex = battleScene.gameData.gender ?? PlayerGender.UNSET; - const genderStr = PlayerGender[genderIndex].toLowerCase(); - i18nKey = i18next.t(i18nKey, { context: genderStr }); + let text = keyOrText; + const genderIndex = battleScene.gameData.gender ?? PlayerGender.UNSET; + const genderStr = PlayerGender[genderIndex].toLowerCase(); + + if (i18next.exists(keyOrText) ) { + const i18nKey = keyOrText; hasi18n = true; + text = i18next.t(i18nKey, { context: genderStr }); // override text with translation // Skip dialogue if the player has enabled the option and the dialogue has been already seen - if (battleScene.skipSeenDialogues &&battleScene.gameData.getSeenDialogues()[i18nKey] === true) { + if (battleScene.skipSeenDialogues && battleScene.gameData.getSeenDialogues()[i18nKey] === true) { console.log(`Dialogue ${i18nKey} skipped`); callback(); return; } } let showMessageAndCallback = () => { - hasi18n && battleScene.gameData.saveSeenDialogue(i18nKey); + hasi18n && battleScene.gameData.saveSeenDialogue(keyOrText); callback(); }; - if (i18nKey.indexOf("$") > -1) { - const messagePages = i18nKey.split(/\$/g).map(m => m.trim()); + if (text.indexOf("$") > -1) { + const messagePages = text.split(/\$/g).map(m => m.trim()); for (let p = messagePages.length - 1; p >= 0; p--) { const originalFunc = showMessageAndCallback; showMessageAndCallback = () => this.showDialogue(messagePages[p], name, null, originalFunc); @@ -330,9 +340,9 @@ export default class UI extends Phaser.GameObjects.Container { } else { const handler = this.getHandler(); if (handler instanceof MessageUiHandler) { - (handler as MessageUiHandler).showDialogue(i18nKey, name, delay, showMessageAndCallback, callbackDelay, true, promptDelay); + (handler as MessageUiHandler).showDialogue(text, name, delay, showMessageAndCallback, callbackDelay, true, promptDelay); } else { - this.getMessageHandler().showDialogue(i18nKey, name, delay, showMessageAndCallback, callbackDelay, true, promptDelay); + this.getMessageHandler().showDialogue(text, name, delay, showMessageAndCallback, callbackDelay, true, promptDelay); } } }