Merge branch 'italian-localization' of https://github.com/Bruzzii/pokerogue into italian-localization
BIN
public/audio/bgm/battle_legendary_regis.mp3
Normal file
BIN
public/images/pokemon/icons/variant/1/118_1.png
Normal file
After Width: | Height: | Size: 526 B |
Before Width: | Height: | Size: 491 B After Width: | Height: | Size: 557 B |
Before Width: | Height: | Size: 491 B After Width: | Height: | Size: 561 B |
Before Width: | Height: | Size: 651 B After Width: | Height: | Size: 649 B |
Before Width: | Height: | Size: 646 B After Width: | Height: | Size: 645 B |
Before Width: | Height: | Size: 771 B After Width: | Height: | Size: 721 B |
Before Width: | Height: | Size: 728 B After Width: | Height: | Size: 704 B |
BIN
public/images/pokemon/icons/variant/3/278_1.png
Normal file
After Width: | Height: | Size: 476 B |
BIN
public/images/pokemon/icons/variant/3/278_2.png
Normal file
After Width: | Height: | Size: 488 B |
BIN
public/images/pokemon/icons/variant/3/278_3.png
Normal file
After Width: | Height: | Size: 481 B |
BIN
public/images/pokemon/icons/variant/3/279_1.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
public/images/pokemon/icons/variant/3/279_2.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
public/images/pokemon/icons/variant/3/279_3.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
public/images/pokemon/icons/variant/3/320_2.png
Normal file
After Width: | Height: | Size: 543 B |
BIN
public/images/pokemon/icons/variant/3/320_3.png
Normal file
After Width: | Height: | Size: 524 B |
BIN
public/images/pokemon/icons/variant/3/321_2.png
Normal file
After Width: | Height: | Size: 597 B |
BIN
public/images/pokemon/icons/variant/3/321_3.png
Normal file
After Width: | Height: | Size: 595 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
BIN
public/images/pokemon/icons/variant/4/485_2.png
Normal file
After Width: | Height: | Size: 324 B |
BIN
public/images/pokemon/icons/variant/4/485_3.png
Normal file
After Width: | Height: | Size: 828 B |
Before Width: | Height: | Size: 717 B After Width: | Height: | Size: 747 B |
Before Width: | Height: | Size: 711 B After Width: | Height: | Size: 3.3 KiB |
BIN
public/images/pokemon/icons/variant/5/592-f_1.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
public/images/pokemon/icons/variant/5/592-f_2.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
public/images/pokemon/icons/variant/5/592-f_3.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
public/images/pokemon/icons/variant/5/592_2.png
Normal file
After Width: | Height: | Size: 451 B |
BIN
public/images/pokemon/icons/variant/5/592_3.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
public/images/pokemon/icons/variant/5/593-f_1.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
public/images/pokemon/icons/variant/5/593-f_2.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
public/images/pokemon/icons/variant/5/593-f_3.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
public/images/pokemon/icons/variant/5/593_2.png
Normal file
After Width: | Height: | Size: 571 B |
BIN
public/images/pokemon/icons/variant/5/593_3.png
Normal file
After Width: | Height: | Size: 644 B |
BIN
public/images/pokemon/icons/variant/5/619_2.png
Normal file
After Width: | Height: | Size: 577 B |
BIN
public/images/pokemon/icons/variant/5/619_3.png
Normal file
After Width: | Height: | Size: 565 B |
BIN
public/images/pokemon/icons/variant/5/620_2.png
Normal file
After Width: | Height: | Size: 609 B |
BIN
public/images/pokemon/icons/variant/5/620_3.png
Normal file
After Width: | Height: | Size: 625 B |
BIN
public/images/pokemon/icons/variant/8/850_2.png
Normal file
After Width: | Height: | Size: 393 B |
BIN
public/images/pokemon/icons/variant/8/850_3.png
Normal file
After Width: | Height: | Size: 390 B |
BIN
public/images/pokemon/icons/variant/8/851_2.png
Normal file
After Width: | Height: | Size: 922 B |
BIN
public/images/pokemon/icons/variant/8/851_3.png
Normal file
After Width: | Height: | Size: 926 B |
BIN
public/images/pokemon/icons/variant/9/935_1.png
Normal file
After Width: | Height: | Size: 391 B |
BIN
public/images/pokemon/icons/variant/9/935_2.png
Normal file
After Width: | Height: | Size: 396 B |
Before Width: | Height: | Size: 392 B After Width: | Height: | Size: 386 B |
BIN
public/images/pokemon/icons/variant/9/936_1.png
Normal file
After Width: | Height: | Size: 491 B |
BIN
public/images/pokemon/icons/variant/9/936_2.png
Normal file
After Width: | Height: | Size: 486 B |
Before Width: | Height: | Size: 485 B After Width: | Height: | Size: 485 B |
BIN
public/images/pokemon/icons/variant/9/937_1.png
Normal file
After Width: | Height: | Size: 502 B |
BIN
public/images/pokemon/icons/variant/9/937_2.png
Normal file
After Width: | Height: | Size: 495 B |
BIN
public/images/pokemon/icons/variant/9/937_3.png
Normal file
After Width: | Height: | Size: 518 B |
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"0": {
|
"1": {
|
||||||
"424284": "6b1524",
|
"424284": "6b1524",
|
||||||
"7384ad": "a53038",
|
"7384ad": "a53038",
|
||||||
"d6d6ff": "f28566",
|
"d6d6ff": "f28566",
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"29": [
|
"29": [
|
||||||
1,
|
|
||||||
0,
|
0,
|
||||||
|
1,
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
"30": [
|
"30": [
|
||||||
@ -2991,6 +2991,16 @@
|
|||||||
1,
|
1,
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
|
"306-mega": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"308-mega": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
"310-mega": [
|
"310-mega": [
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@ -3116,6 +3126,11 @@
|
|||||||
1,
|
1,
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
|
"747": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
"748": [
|
"748": [
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@ -3196,6 +3211,16 @@
|
|||||||
1,
|
1,
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
|
"850": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"851": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
"856": [
|
"856": [
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@ -3453,6 +3478,16 @@
|
|||||||
1,
|
1,
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
|
"306-mega": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"308-mega": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
"310-mega": [
|
"310-mega": [
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@ -3578,6 +3613,11 @@
|
|||||||
1,
|
1,
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
|
"747": [
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
"748": [
|
"748": [
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@ -3658,6 +3698,16 @@
|
|||||||
1,
|
1,
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
|
"850": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"851": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
"856": [
|
"856": [
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
|
47
public/images/pokemon/variant/exp/306-mega.json
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"000000": "101010",
|
||||||
|
"5a5a62": "4b382a",
|
||||||
|
"ffffff": "fff2e5",
|
||||||
|
"cdcdcd": "cbc4a2",
|
||||||
|
"6a6a6a": "224228",
|
||||||
|
"52524a": "15321e",
|
||||||
|
"8b8b8b": "3e6244",
|
||||||
|
"838394": "a48d76",
|
||||||
|
"a4a4ac": "bca88c",
|
||||||
|
"6abdff": "ff78fa",
|
||||||
|
"acacac": "69ad6c",
|
||||||
|
"9c3141": "9c3141",
|
||||||
|
"de5252": "de5252"
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"000000": "101010",
|
||||||
|
"5a5a62": "2b265d",
|
||||||
|
"ffffff": "cdd9fa",
|
||||||
|
"cdcdcd": "91a1e3",
|
||||||
|
"6a6a6a": "6e1e26",
|
||||||
|
"52524a": "47121b",
|
||||||
|
"8b8b8b": "8b312e",
|
||||||
|
"838394": "3d3c8c",
|
||||||
|
"a4a4ac": "686dc0",
|
||||||
|
"6abdff": "ffcf47",
|
||||||
|
"acacac": "d4857c",
|
||||||
|
"9c3141": "bc2d51",
|
||||||
|
"de5252": "de5291"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"000000": "101010",
|
||||||
|
"5a5a62": "722f15",
|
||||||
|
"ffffff": "ffcc7d",
|
||||||
|
"cdcdcd": "d48e3c",
|
||||||
|
"6a6a6a": "1d365e",
|
||||||
|
"52524a": "0e213a",
|
||||||
|
"8b8b8b": "385594",
|
||||||
|
"838394": "833d19",
|
||||||
|
"a4a4ac": "a45f34",
|
||||||
|
"6abdff": "2aebcf",
|
||||||
|
"acacac": "7d95bf",
|
||||||
|
"9c3141": "9c3141",
|
||||||
|
"de5252": "de5252"
|
||||||
|
}
|
||||||
|
}
|
36
public/images/pokemon/variant/exp/308-mega.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"1": {
|
||||||
|
"aca4ac": "a58291",
|
||||||
|
"52414a": "432641",
|
||||||
|
"ffffff": "fff4db",
|
||||||
|
"000000": "101010",
|
||||||
|
"83414a": "59141d",
|
||||||
|
"e6738b": "a53835",
|
||||||
|
"ee9ca4": "a53835",
|
||||||
|
"b44a5a": "83272c",
|
||||||
|
"c5c5c5": "b5969a",
|
||||||
|
"a47329": "722966",
|
||||||
|
"f6de83": "ee9bd5",
|
||||||
|
"eebd5a": "ce5cb6",
|
||||||
|
"dedede": "e0cdd9",
|
||||||
|
"0a7ba2": "efa360",
|
||||||
|
"45bade": "efa360"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"aca4ac": "6c7d9e",
|
||||||
|
"52414a": "1f344a",
|
||||||
|
"ffffff": "c4dff1",
|
||||||
|
"000000": "101010",
|
||||||
|
"83414a": "461f5d",
|
||||||
|
"e6738b": "7d5187",
|
||||||
|
"ee9ca4": "7d5187",
|
||||||
|
"b44a5a": "633971",
|
||||||
|
"c5c5c5": "8aacd2",
|
||||||
|
"a47329": "205a9e",
|
||||||
|
"f6de83": "5abbef",
|
||||||
|
"eebd5a": "3a8dca",
|
||||||
|
"dedede": "c4dff1",
|
||||||
|
"0a7ba2": "3dc7b6",
|
||||||
|
"45bade": "3dc7b6"
|
||||||
|
}
|
||||||
|
}
|
30
public/images/pokemon/variant/exp/747.json
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"1": {
|
||||||
|
"b67e32": "614da4",
|
||||||
|
"6f3878": "9b6459",
|
||||||
|
"f3e07c": "e3e2ff",
|
||||||
|
"b687bc": "edd5ca",
|
||||||
|
"d1ac1b": "aca5f3",
|
||||||
|
"8d5b9e": "d29784",
|
||||||
|
"070707": "101010",
|
||||||
|
"394f7e": "490a26",
|
||||||
|
"d7a8d3": "a21f90",
|
||||||
|
"6291b3": "b24b34",
|
||||||
|
"9fd5d2": "e07b53",
|
||||||
|
"ffffff": "fdfdfd"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"b67e32": "9f4354",
|
||||||
|
"6f3878": "113c3a",
|
||||||
|
"f3e07c": "ffebed",
|
||||||
|
"b687bc": "2b6157",
|
||||||
|
"d1ac1b": "efa2ad",
|
||||||
|
"8d5b9e": "1c524b",
|
||||||
|
"070707": "101010",
|
||||||
|
"394f7e": "186443",
|
||||||
|
"d7a8d3": "ff3f5a",
|
||||||
|
"6291b3": "359d5d",
|
||||||
|
"9fd5d2": "5bd97f",
|
||||||
|
"ffffff": "fdfdfd"
|
||||||
|
}
|
||||||
|
}
|
32
public/images/pokemon/variant/exp/850.json
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"1": {
|
||||||
|
"2f1610": "2f1610",
|
||||||
|
"804a3e": "59365d",
|
||||||
|
"bf3922": "117956",
|
||||||
|
"101010": "101010",
|
||||||
|
"ff5839": "35c36c",
|
||||||
|
"5b2f26": "36203c",
|
||||||
|
"681607": "024f2d",
|
||||||
|
"f77c42": "89fbad",
|
||||||
|
"f89e08": "67ef9c",
|
||||||
|
"ff836c": "5ff58e",
|
||||||
|
"ffd901": "c8ffcc",
|
||||||
|
"be5409": "117956",
|
||||||
|
"fbfbfb": "fbfbfb"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"2f1610": "2f1610",
|
||||||
|
"804a3e": "475294",
|
||||||
|
"bf3922": "ae1165",
|
||||||
|
"101010": "101010",
|
||||||
|
"ff5839": "d73981",
|
||||||
|
"5b2f26": "36426c",
|
||||||
|
"681607": "68063c",
|
||||||
|
"f77c42": "f77c42",
|
||||||
|
"f89e08": "f89e08",
|
||||||
|
"ff836c": "ff836c",
|
||||||
|
"ffd901": "ffc143",
|
||||||
|
"be5409": "be5409",
|
||||||
|
"fbfbfb": "fbfbfb"
|
||||||
|
}
|
||||||
|
}
|
36
public/images/pokemon/variant/exp/851.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"1": {
|
||||||
|
"be5409": "017336",
|
||||||
|
"f89e08": "67ef9c",
|
||||||
|
"ffd901": "c8ffcc",
|
||||||
|
"bf3922": "1a8987",
|
||||||
|
"101010": "101010",
|
||||||
|
"2f1610": "24122b",
|
||||||
|
"5b2f26": "503154",
|
||||||
|
"804a3e": "714272",
|
||||||
|
"681607": "0a5660",
|
||||||
|
"ff5839": "35c3a8",
|
||||||
|
"b96f5d": "ad58ab",
|
||||||
|
"941528": "005f35",
|
||||||
|
"fbfbfb": "fbfbfb",
|
||||||
|
"42221c": "36203c",
|
||||||
|
"000000": "101010"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"be5409": "890f52",
|
||||||
|
"f89e08": "f36d73",
|
||||||
|
"ffd901": "ffc143",
|
||||||
|
"bf3922": "ae1165",
|
||||||
|
"101010": "101010",
|
||||||
|
"2f1610": "121439",
|
||||||
|
"5b2f26": "36426c",
|
||||||
|
"804a3e": "475294",
|
||||||
|
"681607": "6e0442",
|
||||||
|
"ff5839": "d73981",
|
||||||
|
"b96f5d": "7866cb",
|
||||||
|
"941528": "941528",
|
||||||
|
"fbfbfb": "fbfbfb",
|
||||||
|
"42221c": "222957",
|
||||||
|
"000000": "101010"
|
||||||
|
}
|
||||||
|
}
|
38
public/images/pokemon/variant/exp/back/306-mega.json
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"393939": "132c1b",
|
||||||
|
"000000": "101010",
|
||||||
|
"838394": "a48d76",
|
||||||
|
"6a6a6a": "325537",
|
||||||
|
"202029": "131d17",
|
||||||
|
"5a5a62": "735c4a",
|
||||||
|
"ffffff": "fff2e5",
|
||||||
|
"52524a": "224228",
|
||||||
|
"cdcdcd": "cbc4a2",
|
||||||
|
"a4a4ac": "b8a88a"
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"393939": "47121b",
|
||||||
|
"000000": "101010",
|
||||||
|
"838394": "686dc0",
|
||||||
|
"6a6a6a": "8b312e",
|
||||||
|
"202029": "350a13",
|
||||||
|
"5a5a62": "374186",
|
||||||
|
"ffffff": "cdd9fa",
|
||||||
|
"52524a": "6e1e26",
|
||||||
|
"cdcdcd": "a5b7ed",
|
||||||
|
"a4a4ac": "91a1e3"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"393939": "1d365e",
|
||||||
|
"000000": "101010",
|
||||||
|
"838394": "a45f34",
|
||||||
|
"6a6a6a": "385594",
|
||||||
|
"202029": "0e213a",
|
||||||
|
"5a5a62": "7a3a1a",
|
||||||
|
"ffffff": "f1b25e",
|
||||||
|
"52524a": "385594",
|
||||||
|
"cdcdcd": "dd9f57",
|
||||||
|
"a4a4ac": "c18239"
|
||||||
|
}
|
||||||
|
}
|
34
public/images/pokemon/variant/exp/back/308-mega.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"1": {
|
||||||
|
"101010": "101010",
|
||||||
|
"83414a": "59141d",
|
||||||
|
"e6738b": "a53835",
|
||||||
|
"b44a5a": "83272c",
|
||||||
|
"8b838b": "5a4357",
|
||||||
|
"bdafad": "a5829d",
|
||||||
|
"52414a": "432641",
|
||||||
|
"e7e3e7": "e0cdd9",
|
||||||
|
"f9f8f7": "f9f8f7",
|
||||||
|
"a47329": "722966",
|
||||||
|
"eebd5a": "a25793",
|
||||||
|
"f6de83": "ee9bd5",
|
||||||
|
"164b5d": "a6571b",
|
||||||
|
"42a2bd": "efa360"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"101010": "101010",
|
||||||
|
"83414a": "461f5d",
|
||||||
|
"e6738b": "7d5187",
|
||||||
|
"b44a5a": "633971",
|
||||||
|
"8b838b": "445a7e",
|
||||||
|
"bdafad": "7988a6",
|
||||||
|
"52414a": "1f344a",
|
||||||
|
"e7e3e7": "abb7c6",
|
||||||
|
"f9f8f7": "c4dff1",
|
||||||
|
"a47329": "285181",
|
||||||
|
"eebd5a": "4983ad",
|
||||||
|
"f6de83": "5abbef",
|
||||||
|
"164b5d": "107270",
|
||||||
|
"42a2bd": "3dc7b6"
|
||||||
|
}
|
||||||
|
}
|
230
public/images/pokemon/variant/exp/back/747_2.json
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
{
|
||||||
|
"textures": [
|
||||||
|
{
|
||||||
|
"image": "747_2.png",
|
||||||
|
"format": "RGBA8888",
|
||||||
|
"size": {
|
||||||
|
"w": 147,
|
||||||
|
"h": 147
|
||||||
|
},
|
||||||
|
"scale": 1,
|
||||||
|
"frames": [
|
||||||
|
{
|
||||||
|
"filename": "0005.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0007.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0006.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 62,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0004.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 61,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 49,
|
||||||
|
"w": 61,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0008.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 61,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 49,
|
||||||
|
"w": 61,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0003.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 1,
|
||||||
|
"y": 0,
|
||||||
|
"w": 59,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 98,
|
||||||
|
"w": 59,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0009.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 1,
|
||||||
|
"y": 0,
|
||||||
|
"w": 59,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 98,
|
||||||
|
"w": 59,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0002.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 0,
|
||||||
|
"w": 57,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 59,
|
||||||
|
"y": 98,
|
||||||
|
"w": 57,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0010.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 0,
|
||||||
|
"w": 57,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 59,
|
||||||
|
"y": 98,
|
||||||
|
"w": 57,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0001.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 3,
|
||||||
|
"y": 0,
|
||||||
|
"w": 55,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 61,
|
||||||
|
"y": 49,
|
||||||
|
"w": 55,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
|
"version": "3.0",
|
||||||
|
"smartupdate": "$TexturePacker:SmartUpdate:4319e2c59a85fcb72ddcdb0b4089ac8b:29cb568870b0231298c87d5d39f7b933:b26f7254994561969f00f765318acf1c$"
|
||||||
|
}
|
||||||
|
}
|
BIN
public/images/pokemon/variant/exp/back/747_2.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
230
public/images/pokemon/variant/exp/back/747_3.json
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
{
|
||||||
|
"textures": [
|
||||||
|
{
|
||||||
|
"image": "747_3.png",
|
||||||
|
"format": "RGBA8888",
|
||||||
|
"size": {
|
||||||
|
"w": 147,
|
||||||
|
"h": 147
|
||||||
|
},
|
||||||
|
"scale": 1,
|
||||||
|
"frames": [
|
||||||
|
{
|
||||||
|
"filename": "0005.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0007.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0006.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 62,
|
||||||
|
"y": 0,
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0004.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 61,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 49,
|
||||||
|
"w": 61,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0008.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 61,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 49,
|
||||||
|
"w": 61,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0003.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 1,
|
||||||
|
"y": 0,
|
||||||
|
"w": 59,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 98,
|
||||||
|
"w": 59,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0009.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 1,
|
||||||
|
"y": 0,
|
||||||
|
"w": 59,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 98,
|
||||||
|
"w": 59,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0002.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 0,
|
||||||
|
"w": 57,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 59,
|
||||||
|
"y": 98,
|
||||||
|
"w": 57,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0010.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 2,
|
||||||
|
"y": 0,
|
||||||
|
"w": 57,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 59,
|
||||||
|
"y": 98,
|
||||||
|
"w": 57,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "0001.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": true,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 62,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 3,
|
||||||
|
"y": 0,
|
||||||
|
"w": 55,
|
||||||
|
"h": 49
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 61,
|
||||||
|
"y": 49,
|
||||||
|
"w": 55,
|
||||||
|
"h": 49
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
|
"version": "3.0",
|
||||||
|
"smartupdate": "$TexturePacker:SmartUpdate:4319e2c59a85fcb72ddcdb0b4089ac8b:29cb568870b0231298c87d5d39f7b933:b26f7254994561969f00f765318acf1c$"
|
||||||
|
}
|
||||||
|
}
|
BIN
public/images/pokemon/variant/exp/back/747_3.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"1": {
|
"1": {
|
||||||
"943732": "490a3c",
|
"943732": "5c075b",
|
||||||
"101010": "101010",
|
"101010": "101010",
|
||||||
"f28c4f": "a21f90",
|
"f28c4f": "c639bd",
|
||||||
"e25025": "91138c",
|
"e25025": "a21f90",
|
||||||
"93d1d7": "df7b52",
|
"93d1d7": "df7b52",
|
||||||
"3a3f6d": "462952",
|
"3a3f6d": "171539",
|
||||||
"6f97c4": "be583d",
|
"6f97c4": "be583d",
|
||||||
"711a6a": "81463e",
|
"711a6a": "81463e",
|
||||||
"455b85": "892e20",
|
"455b85": "892e20",
|
||||||
@ -15,12 +15,12 @@
|
|||||||
"171539": "171539"
|
"171539": "171539"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"943732": "c30e49",
|
"943732": "ac063c",
|
||||||
"101010": "101010",
|
"101010": "101010",
|
||||||
"f28c4f": "ff3f5a",
|
"f28c4f": "ff3f5a",
|
||||||
"e25025": "e12350",
|
"e25025": "e12350",
|
||||||
"93d1d7": "5bd97f",
|
"93d1d7": "5bd97f",
|
||||||
"3a3f6d": "862916",
|
"3a3f6d": "490c06",
|
||||||
"6f97c4": "359d5d",
|
"6f97c4": "359d5d",
|
||||||
"711a6a": "082b29",
|
"711a6a": "082b29",
|
||||||
"455b85": "186443",
|
"455b85": "186443",
|
||||||
|
28
public/images/pokemon/variant/exp/back/850.json
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"1": {
|
||||||
|
"bf3922": "35c3a8",
|
||||||
|
"8d3123": "178573",
|
||||||
|
"5b2f26": "59365d",
|
||||||
|
"ff5839": "79f1d2",
|
||||||
|
"804a3e": "8f4b94",
|
||||||
|
"681607": "065b58",
|
||||||
|
"42221c": "36203c",
|
||||||
|
"2f1610": "24122b",
|
||||||
|
"101010": "101010",
|
||||||
|
"be5409": "25a96a",
|
||||||
|
"f89e08": "a3ffb9"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"bf3922": "d73981",
|
||||||
|
"8d3123": "902962",
|
||||||
|
"5b2f26": "36426c",
|
||||||
|
"ff5839": "f360a3",
|
||||||
|
"804a3e": "7866cb",
|
||||||
|
"681607": "4a1036",
|
||||||
|
"42221c": "222957",
|
||||||
|
"2f1610": "121439",
|
||||||
|
"101010": "101010",
|
||||||
|
"be5409": "be5409",
|
||||||
|
"f89e08": "f89e08"
|
||||||
|
}
|
||||||
|
}
|
34
public/images/pokemon/variant/exp/back/851.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"1": {
|
||||||
|
"be5409": "017336",
|
||||||
|
"f89e08": "67ef9c",
|
||||||
|
"ffd901": "c8ffcc",
|
||||||
|
"5b2f26": "59365d",
|
||||||
|
"b96f5d": "d695d5",
|
||||||
|
"804a3e": "924a91",
|
||||||
|
"8d3123": "056a3b",
|
||||||
|
"bf3922": "0c8c48",
|
||||||
|
"ff5839": "35c36c",
|
||||||
|
"42221c": "36203c",
|
||||||
|
"2f1610": "24122b",
|
||||||
|
"681607": "024f2d",
|
||||||
|
"101010": "101010",
|
||||||
|
"941528": "005f35"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"be5409": "be5409",
|
||||||
|
"f89e08": "f36d73",
|
||||||
|
"ffd901": "ffc143",
|
||||||
|
"5b2f26": "36426c",
|
||||||
|
"b96f5d": "7866cb",
|
||||||
|
"804a3e": "475294",
|
||||||
|
"8d3123": "ae1165",
|
||||||
|
"bf3922": "d73981",
|
||||||
|
"ff5839": "ff6970",
|
||||||
|
"42221c": "222957",
|
||||||
|
"2f1610": "121439",
|
||||||
|
"681607": "6e0442",
|
||||||
|
"101010": "101010",
|
||||||
|
"941528": "941528"
|
||||||
|
}
|
||||||
|
}
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
@ -235,6 +235,15 @@ export default class BattleScene extends SceneBase {
|
|||||||
this.nextCommandPhaseQueue = [];
|
this.nextCommandPhaseQueue = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Conditionally swaps the ACTION and CANCEL button
|
||||||
|
* @param standard When true, uses the default values
|
||||||
|
*/
|
||||||
|
setGamepadConfirm(standard: boolean) {
|
||||||
|
this.gamepadKeyConfig[Button.ACTION] = standard ? 0 : 1;
|
||||||
|
this.gamepadKeyConfig[Button.CANCEL] = standard ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
loadPokemonAtlas(key: string, atlasPath: string, experimental?: boolean) {
|
loadPokemonAtlas(key: string, atlasPath: string, experimental?: boolean) {
|
||||||
if (experimental === undefined)
|
if (experimental === undefined)
|
||||||
experimental = this.experimentalSprites;
|
experimental = this.experimentalSprites;
|
||||||
@ -1671,11 +1680,13 @@ export default class BattleScene extends SceneBase {
|
|||||||
return 13.122;
|
return 13.122;
|
||||||
case 'battle_unova_gym':
|
case 'battle_unova_gym':
|
||||||
return 19.145;
|
return 19.145;
|
||||||
case 'battle_legendary':
|
case 'battle_legendary_regis': //B2W2 Legendary Titan Battle
|
||||||
|
return 49.500;
|
||||||
|
case 'battle_legendary_unova': //BW Unova Legendary Battle
|
||||||
return 13.855;
|
return 13.855;
|
||||||
case 'battle_legendary_k':
|
case 'battle_legendary_kyurem': //BW Kyurem Battle
|
||||||
return 18.314;
|
return 18.314;
|
||||||
case 'battle_legendary_rz':
|
case 'battle_legendary_res_zek': //BW Reshiram & Zekrom Battle
|
||||||
return 18.329;
|
return 18.329;
|
||||||
case 'battle_rival':
|
case 'battle_rival':
|
||||||
return 13.689;
|
return 13.689;
|
||||||
|
@ -195,11 +195,17 @@ export default class Battle {
|
|||||||
return 'battle_final_encounter';
|
return 'battle_final_encounter';
|
||||||
}
|
}
|
||||||
if (pokemon.species.legendary || pokemon.species.pseudoLegendary || pokemon.species.mythical) {
|
if (pokemon.species.legendary || pokemon.species.pseudoLegendary || pokemon.species.mythical) {
|
||||||
|
if (pokemon.species.speciesId === Species.REGIROCK || pokemon.species.speciesId === Species.REGICE || pokemon.species.speciesId === Species.REGISTEEL || pokemon.species.speciesId === Species.REGIGIGAS || pokemon.species.speciesId === Species.REGIELEKI || pokemon.species.speciesId === Species.REGIDRAGO)
|
||||||
|
return 'battle_legendary_regis';
|
||||||
|
if (pokemon.species.speciesId === Species.COBALION || pokemon.species.speciesId === Species.TERRAKION || pokemon.species.speciesId === Species.VIRIZION || pokemon.species.speciesId === Species.TORNADUS || pokemon.species.speciesId === Species.THUNDURUS || pokemon.species.speciesId === Species.LANDORUS || pokemon.species.speciesId === Species.KELDEO || pokemon.species.speciesId === Species.MELOETTA || pokemon.species.speciesId === Species.GENESECT)
|
||||||
|
return 'battle_legendary_unova';
|
||||||
|
if (pokemon.species.speciesId === Species.RESHIRAM || pokemon.species.speciesId === Species.ZEKROM)
|
||||||
|
return 'battle_legendary_res_zek';
|
||||||
if (pokemon.species.speciesId === Species.KYUREM)
|
if (pokemon.species.speciesId === Species.KYUREM)
|
||||||
return 'battle_legendary_k';
|
return 'battle_legendary_kyurem';
|
||||||
if (pokemon.species.legendary)
|
if (pokemon.species.legendary)
|
||||||
return 'battle_legendary_rz';
|
return 'battle_legendary_res_zek';
|
||||||
return 'battle_legendary';
|
return 'battle_legendary_unova';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3224,8 +3224,7 @@ export function initAbilities() {
|
|||||||
.attr(UncopiableAbilityAbAttr)
|
.attr(UncopiableAbilityAbAttr)
|
||||||
.attr(UnswappableAbilityAbAttr)
|
.attr(UnswappableAbilityAbAttr)
|
||||||
.attr(UnsuppressableAbilityAbAttr)
|
.attr(UnsuppressableAbilityAbAttr)
|
||||||
.attr(NoFusionAbilityAbAttr)
|
.attr(NoFusionAbilityAbAttr),
|
||||||
.partial(),
|
|
||||||
new Ability(Abilities.POWER_CONSTRUCT, 7) // TODO: 10% Power Construct Zygarde isn't accounted for yet. If changed, update Zygarde's getSpeciesFormIndex entry accordingly
|
new Ability(Abilities.POWER_CONSTRUCT, 7) // TODO: 10% Power Construct Zygarde isn't accounted for yet. If changed, update Zygarde's getSpeciesFormIndex entry accordingly
|
||||||
.attr(PostBattleInitFormChangeAbAttr, p => p.getHpRatio() <= 0.5 ? 4 : 2)
|
.attr(PostBattleInitFormChangeAbAttr, p => p.getHpRatio() <= 0.5 ? 4 : 2)
|
||||||
.attr(PostSummonFormChangeAbAttr, p => p.getHpRatio() <= 0.5 ? 4 : 2)
|
.attr(PostSummonFormChangeAbAttr, p => p.getHpRatio() <= 0.5 ? 4 : 2)
|
||||||
|
@ -756,7 +756,7 @@ export enum MultiHitType {
|
|||||||
_2_TO_5,
|
_2_TO_5,
|
||||||
_3,
|
_3,
|
||||||
_3_INCR,
|
_3_INCR,
|
||||||
_1_TO_10
|
_1_TO_10,
|
||||||
}
|
}
|
||||||
|
|
||||||
export class HealAttr extends MoveEffectAttr {
|
export class HealAttr extends MoveEffectAttr {
|
||||||
@ -912,7 +912,9 @@ export class MultiHitAttr extends MoveAttr {
|
|||||||
|
|
||||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||||
let hitTimes: integer;
|
let hitTimes: integer;
|
||||||
switch (this.multiHitType) {
|
const hitType = new Utils.IntegerHolder(this.multiHitType)
|
||||||
|
applyMoveAttrs(ChangeMultiHitTypeAttr, user, target, move, hitType)
|
||||||
|
switch (hitType.value) {
|
||||||
case MultiHitType._2_TO_5:
|
case MultiHitType._2_TO_5:
|
||||||
{
|
{
|
||||||
const rand = user.randSeedInt(16);
|
const rand = user.randSeedInt(16);
|
||||||
@ -975,6 +977,23 @@ export class MultiHitAttr extends MoveAttr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class ChangeMultiHitTypeAttr extends MoveAttr {
|
||||||
|
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||||
|
//const hitType = args[0] as Utils.NumberHolder;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class WaterShurikenMultiHitTypeAttr extends ChangeMultiHitTypeAttr {
|
||||||
|
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||||
|
if (user.species.speciesId == Species.GRENINJA && user.hasAbility(Abilities.BATTLE_BOND) && user.formIndex == 2) {
|
||||||
|
(args[0] as Utils.IntegerHolder).value = MultiHitType._3
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class StatusEffectAttr extends MoveEffectAttr {
|
export class StatusEffectAttr extends MoveEffectAttr {
|
||||||
public effect: StatusEffect;
|
public effect: StatusEffect;
|
||||||
public cureTurn: integer;
|
public cureTurn: integer;
|
||||||
@ -2049,6 +2068,16 @@ export class KnockOffPowerAttr extends VariablePowerAttr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class WaterShurikenPowerAttr extends VariablePowerAttr {
|
||||||
|
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||||
|
if (user.species.speciesId == Species.GRENINJA && user.hasAbility(Abilities.BATTLE_BOND) && user.formIndex == 2) {
|
||||||
|
(args[0] as Utils.IntegerHolder).value = 20
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class VariableAtkAttr extends MoveAttr {
|
export class VariableAtkAttr extends MoveAttr {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
@ -2847,7 +2876,7 @@ export class AddArenaTagAttr extends MoveEffectAttr {
|
|||||||
public tagType: ArenaTagType;
|
public tagType: ArenaTagType;
|
||||||
public turnCount: integer;
|
public turnCount: integer;
|
||||||
private failOnOverlap: boolean;
|
private failOnOverlap: boolean;
|
||||||
private selfSideTarget: boolean;
|
public selfSideTarget: boolean;
|
||||||
|
|
||||||
constructor(tagType: ArenaTagType, turnCount?: integer, failOnOverlap: boolean = false, selfSideTarget: boolean = false) {
|
constructor(tagType: ArenaTagType, turnCount?: integer, failOnOverlap: boolean = false, selfSideTarget: boolean = false) {
|
||||||
super(true, MoveEffectTrigger.POST_APPLY, true);
|
super(true, MoveEffectTrigger.POST_APPLY, true);
|
||||||
@ -2880,9 +2909,10 @@ export class AddArenaTagAttr extends MoveEffectAttr {
|
|||||||
export class AddArenaTrapTagAttr extends AddArenaTagAttr {
|
export class AddArenaTrapTagAttr extends AddArenaTagAttr {
|
||||||
getCondition(): MoveConditionFunc {
|
getCondition(): MoveConditionFunc {
|
||||||
return (user, target, move) => {
|
return (user, target, move) => {
|
||||||
if (move.category !== MoveCategory.STATUS || !user.scene.arena.getTag(this.tagType))
|
const side = (this.selfSideTarget ? user : target).isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY;
|
||||||
|
if (move.category !== MoveCategory.STATUS || !user.scene.arena.getTagOnSide(this.tagType, side))
|
||||||
return true;
|
return true;
|
||||||
const tag = user.scene.arena.getTag(this.tagType) as ArenaTrapTag;
|
const tag = user.scene.arena.getTagOnSide(this.tagType, side) as ArenaTrapTag;
|
||||||
return tag.layers < tag.maxLayers;
|
return tag.layers < tag.maxLayers;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -5502,7 +5532,9 @@ export function initMoves() {
|
|||||||
new AttackMove(Moves.HYPERSPACE_HOLE, Type.PSYCHIC, MoveCategory.SPECIAL, 80, -1, 5, -1, 0, 6)
|
new AttackMove(Moves.HYPERSPACE_HOLE, Type.PSYCHIC, MoveCategory.SPECIAL, 80, -1, 5, -1, 0, 6)
|
||||||
.ignoresProtect(),
|
.ignoresProtect(),
|
||||||
new AttackMove(Moves.WATER_SHURIKEN, Type.WATER, MoveCategory.SPECIAL, 15, 100, 20, -1, 1, 6)
|
new AttackMove(Moves.WATER_SHURIKEN, Type.WATER, MoveCategory.SPECIAL, 15, 100, 20, -1, 1, 6)
|
||||||
.attr(MultiHitAttr),
|
.attr(MultiHitAttr)
|
||||||
|
.attr(WaterShurikenPowerAttr)
|
||||||
|
.attr(WaterShurikenMultiHitTypeAttr),
|
||||||
new AttackMove(Moves.MYSTICAL_FIRE, Type.FIRE, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 6)
|
new AttackMove(Moves.MYSTICAL_FIRE, Type.FIRE, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 6)
|
||||||
.attr(StatChangeAttr, BattleStat.SPATK, -1),
|
.attr(StatChangeAttr, BattleStat.SPATK, -1),
|
||||||
new SelfStatusMove(Moves.SPIKY_SHIELD, Type.GRASS, -1, 10, -1, 4, 6)
|
new SelfStatusMove(Moves.SPIKY_SHIELD, Type.GRASS, -1, 10, -1, 4, 6)
|
||||||
|
@ -4,6 +4,7 @@ import { Type } from "./type";
|
|||||||
import * as Utils from "../utils";
|
import * as Utils from "../utils";
|
||||||
import { IncrementMovePriorityAbAttr, applyAbAttrs } from "./ability";
|
import { IncrementMovePriorityAbAttr, applyAbAttrs } from "./ability";
|
||||||
import { ProtectAttr } from "./move";
|
import { ProtectAttr } from "./move";
|
||||||
|
import { BattlerIndex } from "#app/battle.js";
|
||||||
|
|
||||||
export enum TerrainType {
|
export enum TerrainType {
|
||||||
NONE,
|
NONE,
|
||||||
@ -48,13 +49,13 @@ export class Terrain {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
isMoveTerrainCancelled(user: Pokemon, move: Move): boolean {
|
isMoveTerrainCancelled(user: Pokemon, targets: BattlerIndex[], move: Move): boolean {
|
||||||
switch (this.terrainType) {
|
switch (this.terrainType) {
|
||||||
case TerrainType.PSYCHIC:
|
case TerrainType.PSYCHIC:
|
||||||
if (!move.getAttrs(ProtectAttr).length){
|
if (!move.getAttrs(ProtectAttr).length) {
|
||||||
const priority = new Utils.IntegerHolder(move.priority);
|
const priority = new Utils.IntegerHolder(move.priority);
|
||||||
applyAbAttrs(IncrementMovePriorityAbAttr, user, null, move, priority);
|
applyAbAttrs(IncrementMovePriorityAbAttr, user, null, move, priority);
|
||||||
return priority.value > 0;
|
return priority.value > 0 && user.getOpponents().filter(o => targets.includes(o.getBattlerIndex())).length > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -336,8 +336,8 @@ export class Arena {
|
|||||||
return this.weather && !this.weather.isEffectSuppressed(this.scene) && this.weather.isMoveWeatherCancelled(move);
|
return this.weather && !this.weather.isEffectSuppressed(this.scene) && this.weather.isMoveWeatherCancelled(move);
|
||||||
}
|
}
|
||||||
|
|
||||||
isMoveTerrainCancelled(user: Pokemon, move: Move) {
|
isMoveTerrainCancelled(user: Pokemon, targets: BattlerIndex[], move: Move) {
|
||||||
return this.terrain && this.terrain.isMoveTerrainCancelled(user, move);
|
return this.terrain && this.terrain.isMoveTerrainCancelled(user, targets, move);
|
||||||
}
|
}
|
||||||
|
|
||||||
getTerrainType() : TerrainType {
|
getTerrainType() : TerrainType {
|
||||||
@ -492,7 +492,7 @@ export class Arena {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addTag(tagType: ArenaTagType, turnCount: integer, sourceMove: Moves, sourceId: integer, side: ArenaTagSide = ArenaTagSide.BOTH, targetIndex?: BattlerIndex): boolean {
|
addTag(tagType: ArenaTagType, turnCount: integer, sourceMove: Moves, sourceId: integer, side: ArenaTagSide = ArenaTagSide.BOTH, targetIndex?: BattlerIndex): boolean {
|
||||||
const existingTag = this.getTag(tagType);
|
const existingTag = this.getTagOnSide(tagType, side);
|
||||||
if (existingTag) {
|
if (existingTag) {
|
||||||
existingTag.onOverlap(this);
|
existingTag.onOverlap(this);
|
||||||
return false;
|
return false;
|
||||||
|
@ -1904,6 +1904,21 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
applyAbAttrs(ReduceStatusEffectDurationAbAttr, this, null, effect, statusCureTurn);
|
applyAbAttrs(ReduceStatusEffectDurationAbAttr, this, null, effect, statusCureTurn);
|
||||||
|
|
||||||
this.setFrameRate(4);
|
this.setFrameRate(4);
|
||||||
|
|
||||||
|
// If the user is invulnerable, lets remove their invulnerability when they fall asleep
|
||||||
|
const invulnerableTags = [
|
||||||
|
BattlerTagType.UNDERGROUND,
|
||||||
|
BattlerTagType.UNDERWATER,
|
||||||
|
BattlerTagType.HIDDEN,
|
||||||
|
BattlerTagType.FLYING
|
||||||
|
];
|
||||||
|
|
||||||
|
const tag = invulnerableTags.find((t) => this.getTag(t));
|
||||||
|
|
||||||
|
if (tag) {
|
||||||
|
this.removeTag(tag);
|
||||||
|
this.getMoveQueue().pop();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.status = new Status(effect, 0, statusCureTurn?.value);
|
this.status = new Status(effect, 0, statusCureTurn?.value);
|
||||||
|
@ -1189,7 +1189,8 @@ export class SummonPhase extends PartyMemberPokemonPhase {
|
|||||||
console.warn("The Pokemon about to be sent out is fainted. Attempting to resolve...");
|
console.warn("The Pokemon about to be sent out is fainted. Attempting to resolve...");
|
||||||
const party = this.getParty();
|
const party = this.getParty();
|
||||||
|
|
||||||
const nonFaintedIndex = party.findIndex(x => !x.isFainted()); // Find the first non-fainted Pokemon index
|
// Find the first non-fainted Pokemon index above the current one
|
||||||
|
const nonFaintedIndex = party.findIndex((p, i) => i > this.partyMemberIndex && !p.isFainted());
|
||||||
if (nonFaintedIndex === -1) {
|
if (nonFaintedIndex === -1) {
|
||||||
console.error("Party Details:\n", party);
|
console.error("Party Details:\n", party);
|
||||||
throw new Error("All available Pokemon were fainted!");
|
throw new Error("All available Pokemon were fainted!");
|
||||||
@ -2280,7 +2281,7 @@ export class MovePhase extends BattlePhase {
|
|||||||
let failedText = null;
|
let failedText = null;
|
||||||
if (success && this.scene.arena.isMoveWeatherCancelled(this.move.getMove()))
|
if (success && this.scene.arena.isMoveWeatherCancelled(this.move.getMove()))
|
||||||
success = false;
|
success = false;
|
||||||
else if (success && this.scene.arena.isMoveTerrainCancelled(this.pokemon, this.move.getMove())) {
|
else if (success && this.scene.arena.isMoveTerrainCancelled(this.pokemon, this.targets, this.move.getMove())) {
|
||||||
success = false;
|
success = false;
|
||||||
failedText = getTerrainBlockMessage(targets[0], this.scene.arena.terrain.terrainType);
|
failedText = getTerrainBlockMessage(targets[0], this.scene.arena.terrain.terrainType);
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ export enum Setting {
|
|||||||
Fusion_Palette_Swaps = "FUSION_PALETTE_SWAPS",
|
Fusion_Palette_Swaps = "FUSION_PALETTE_SWAPS",
|
||||||
Player_Gender = "PLAYER_GENDER",
|
Player_Gender = "PLAYER_GENDER",
|
||||||
Gamepad_Support = "GAMEPAD_SUPPORT",
|
Gamepad_Support = "GAMEPAD_SUPPORT",
|
||||||
|
Swap_A_and_B = "SWAP_A_B", // Swaps which gamepad button handles ACTION and CANCEL
|
||||||
Touch_Controls = "TOUCH_CONTROLS",
|
Touch_Controls = "TOUCH_CONTROLS",
|
||||||
Vibration = "VIBRATION"
|
Vibration = "VIBRATION"
|
||||||
}
|
}
|
||||||
@ -56,6 +57,7 @@ export const settingOptions: SettingOptions = {
|
|||||||
[Setting.Fusion_Palette_Swaps]: [ 'Off', 'On' ],
|
[Setting.Fusion_Palette_Swaps]: [ 'Off', 'On' ],
|
||||||
[Setting.Player_Gender]: [ 'Boy', 'Girl' ],
|
[Setting.Player_Gender]: [ 'Boy', 'Girl' ],
|
||||||
[Setting.Gamepad_Support]: [ 'Auto', 'Disabled' ],
|
[Setting.Gamepad_Support]: [ 'Auto', 'Disabled' ],
|
||||||
|
[Setting.Swap_A_and_B]: [ 'Enabled', 'Disabled' ],
|
||||||
[Setting.Touch_Controls]: [ 'Auto', 'Disabled' ],
|
[Setting.Touch_Controls]: [ 'Auto', 'Disabled' ],
|
||||||
[Setting.Vibration]: [ 'Auto', 'Disabled' ]
|
[Setting.Vibration]: [ 'Auto', 'Disabled' ]
|
||||||
};
|
};
|
||||||
@ -79,6 +81,7 @@ export const settingDefaults: SettingDefaults = {
|
|||||||
[Setting.Fusion_Palette_Swaps]: 1,
|
[Setting.Fusion_Palette_Swaps]: 1,
|
||||||
[Setting.Player_Gender]: 0,
|
[Setting.Player_Gender]: 0,
|
||||||
[Setting.Gamepad_Support]: 0,
|
[Setting.Gamepad_Support]: 0,
|
||||||
|
[Setting.Swap_A_and_B]: 1, // Set to 'Disabled' by default
|
||||||
[Setting.Touch_Controls]: 0,
|
[Setting.Touch_Controls]: 0,
|
||||||
[Setting.Vibration]: 0
|
[Setting.Vibration]: 0
|
||||||
};
|
};
|
||||||
@ -148,6 +151,9 @@ export function setSetting(scene: BattleScene, setting: Setting, value: integer)
|
|||||||
case Setting.Gamepad_Support:
|
case Setting.Gamepad_Support:
|
||||||
scene.gamepadSupport = settingOptions[setting][value] !== 'Disabled';
|
scene.gamepadSupport = settingOptions[setting][value] !== 'Disabled';
|
||||||
break;
|
break;
|
||||||
|
case Setting.Swap_A_and_B:
|
||||||
|
scene.setGamepadConfirm(settingOptions[setting][value] !== 'Enabled');
|
||||||
|
break;
|
||||||
case Setting.Touch_Controls:
|
case Setting.Touch_Controls:
|
||||||
scene.enableTouchControls = settingOptions[setting][value] !== 'Disabled' && hasTouchscreen();
|
scene.enableTouchControls = settingOptions[setting][value] !== 'Disabled' && hasTouchscreen();
|
||||||
const touchControls = document.getElementById('touchControls');
|
const touchControls = document.getElementById('touchControls');
|
||||||
|