Merge branch 'main' of github.com:Greenlamp2/pokerogue into feat/inputs_management_rework

This commit is contained in:
Greenlamp 2024-05-05 16:13:27 +02:00
commit 18b1627f87
115 changed files with 14986 additions and 6876 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

After

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 646 B

After

Width:  |  Height:  |  Size: 645 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 771 B

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 728 B

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 717 B

After

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 922 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 485 B

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

View File

@ -1,5 +1,5 @@
{
"0": {
"1": {
"424284": "6b1524",
"7384ad": "a53038",
"d6d6ff": "f28566",

View File

@ -1,7 +1,7 @@
{
"29": [
1,
0,
1,
1
],
"30": [
@ -2991,6 +2991,16 @@
1,
1
],
"306-mega": [
1,
1,
1
],
"308-mega": [
0,
1,
1
],
"310-mega": [
0,
1,
@ -3116,6 +3126,11 @@
1,
1
],
"747": [
0,
1,
1
],
"748": [
0,
1,
@ -3196,6 +3211,16 @@
1,
1
],
"850": [
0,
1,
1
],
"851": [
0,
1,
1
],
"856": [
0,
1,
@ -3453,6 +3478,16 @@
1,
1
],
"306-mega": [
1,
1,
1
],
"308-mega": [
0,
1,
1
],
"310-mega": [
0,
1,
@ -3578,6 +3613,11 @@
1,
1
],
"747": [
0,
2,
2
],
"748": [
0,
1,
@ -3658,6 +3698,16 @@
1,
1
],
"850": [
0,
1,
1
],
"851": [
0,
1,
1
],
"856": [
0,
1,

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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"
}
}

View 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$"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View 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$"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -1,11 +1,11 @@
{
"1": {
"943732": "490a3c",
"943732": "5c075b",
"101010": "101010",
"f28c4f": "a21f90",
"e25025": "91138c",
"f28c4f": "c639bd",
"e25025": "a21f90",
"93d1d7": "df7b52",
"3a3f6d": "462952",
"3a3f6d": "171539",
"6f97c4": "be583d",
"711a6a": "81463e",
"455b85": "892e20",
@ -15,12 +15,12 @@
"171539": "171539"
},
"2": {
"943732": "c30e49",
"943732": "ac063c",
"101010": "101010",
"f28c4f": "ff3f5a",
"e25025": "e12350",
"93d1d7": "5bd97f",
"3a3f6d": "862916",
"3a3f6d": "490c06",
"6f97c4": "359d5d",
"711a6a": "082b29",
"455b85": "186443",

View 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"
}
}

View 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"
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -3,7 +3,7 @@
"short_name": "PokéRogue",
"description": "A Pokémon fangame heavily inspired by the roguelite genre. Battle endlessly while gathering stacking items, exploring many different biomes, and reaching Pokémon stats you never thought possible.",
"scope": "/",
"start_url": "https://pokerogue.net",
"start_url": "/",
"display": "fullscreen",
"background_color": "#8c8c8c",
"theme_color": "#8c8c8c",

View File

@ -189,6 +189,15 @@ export default class BattleScene extends SceneBase {
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) {
if (experimental === undefined)
experimental = this.experimentalSprites;
@ -1418,11 +1427,13 @@ export default class BattleScene extends SceneBase {
return 13.122;
case 'battle_unova_gym':
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;
case 'battle_legendary_k':
case 'battle_legendary_kyurem': //BW Kyurem Battle
return 18.314;
case 'battle_legendary_rz':
case 'battle_legendary_res_zek': //BW Reshiram & Zekrom Battle
return 18.329;
case 'battle_rival':
return 13.689;

View File

@ -195,11 +195,17 @@ export default class Battle {
return 'battle_final_encounter';
}
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)
return 'battle_legendary_k';
return 'battle_legendary_kyurem';
if (pokemon.species.legendary)
return 'battle_legendary_rz';
return 'battle_legendary';
return 'battle_legendary_res_zek';
return 'battle_legendary_unova';
}
}

View File

@ -2104,6 +2104,13 @@ export class StatChangeMultiplierAbAttr extends AbAttr {
}
}
export class StatChangeCopyAbAttr extends AbAttr {
apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean | Promise<boolean> {
pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, (args[0] as BattleStat[]), (args[1] as integer), true, false, false));
return true;
}
}
export class BypassBurnDamageReductionAbAttr extends AbAttr {
constructor() {
super(false);
@ -3217,8 +3224,7 @@ export function initAbilities() {
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr)
.attr(NoFusionAbilityAbAttr)
.partial(),
.attr(NoFusionAbilityAbAttr),
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(PostSummonFormChangeAbAttr, p => p.getHpRatio() <= 0.5 ? 4 : 2)
@ -3484,7 +3490,7 @@ export function initAbilities() {
.attr(PostBiomeChangeTerrainChangeAbAttr, TerrainType.ELECTRIC)
.conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), BattleStatMultiplierAbAttr, BattleStat.SPATK, 4 / 3),
new Ability(Abilities.OPPORTUNIST, 9)
.unimplemented(),
.attr(StatChangeCopyAbAttr),
new Ability(Abilities.CUD_CHEW, 9)
.unimplemented(),
new Ability(Abilities.SHARPNESS, 9)

View File

@ -115,7 +115,7 @@ export const speciesEggMoves = {
[Species.PHANPY]: [ Moves.SHORE_UP, Moves.HEAD_SMASH, Moves.MOUNTAIN_GALE, Moves.VOLT_TACKLE ],
[Species.STANTLER]: [ Moves.HORN_LEECH, Moves.HIGH_JUMP_KICK, Moves.BULK_UP, Moves.HEAD_CHARGE ],
[Species.SMEARGLE]: [ Moves.BATON_PASS, Moves.BURNING_BULWARK, Moves.SALT_CURE, Moves.SPORE ],
[Species.TYROGUE]: [ Moves.MACH_PUNCH, Moves.WICKED_TORQUE, Moves.METEOR_MASH, Moves.COLLISION_COURSE ],
[Species.TYROGUE]: [ Moves.VICTORY_DANCE, Moves.WICKED_TORQUE, Moves.METEOR_MASH, Moves.COLLISION_COURSE ],
[Species.SMOOCHUM]: [ Moves.EXPANDING_FORCE, Moves.AURA_SPHERE, Moves.FREEZY_FROST, Moves.TAKE_HEART ],
[Species.ELEKID]: [ Moves.DRAIN_PUNCH, Moves.TIDY_UP, Moves.ICE_HAMMER, Moves.PLASMA_FISTS ],
[Species.MAGBY]: [ Moves.STORED_POWER, Moves.EARTH_POWER, Moves.ARMOR_CANNON, Moves.FLEUR_CANNON ],

View File

@ -756,7 +756,7 @@ export enum MultiHitType {
_2_TO_5,
_3,
_3_INCR,
_1_TO_10
_1_TO_10,
}
export class HealAttr extends MoveEffectAttr {
@ -912,7 +912,9 @@ export class MultiHitAttr extends MoveAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
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:
{
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 {
public effect: StatusEffect;
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 {
constructor() {
super();
@ -2216,6 +2245,36 @@ export class VariableMoveTypeAttr extends MoveAttr {
}
}
export class TechnoBlastTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if ([user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.GENESECT)) {
const form = user.species.speciesId === Species.GENESECT ? user.formIndex : user.fusionSpecies.formIndex;
const type = (args[0] as Utils.IntegerHolder);
switch (form) {
case 1: // Shock Drive
type.value = Type.ELECTRIC;
break;
case 2: // Burn Drive
type.value = Type.FIRE;
break;
case 3: // Chill Drive
type.value = Type.ICE;
break;
case 4: // Douse Drive
type.value = Type.WATER;
break;
default:
type.value = Type.NORMAL;
break;
}
return true;
}
return false;
}
}
export class AuraWheelTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if ([user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.MORPEKO)) {
@ -2817,7 +2876,7 @@ export class AddArenaTagAttr extends MoveEffectAttr {
public tagType: ArenaTagType;
public turnCount: integer;
private failOnOverlap: boolean;
private selfSideTarget: boolean;
public selfSideTarget: boolean;
constructor(tagType: ArenaTagType, turnCount?: integer, failOnOverlap: boolean = false, selfSideTarget: boolean = false) {
super(true, MoveEffectTrigger.POST_APPLY, true);
@ -2850,9 +2909,10 @@ export class AddArenaTagAttr extends MoveEffectAttr {
export class AddArenaTrapTagAttr extends AddArenaTagAttr {
getCondition(): MoveConditionFunc {
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;
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;
};
}
@ -5333,7 +5393,7 @@ export function initMoves() {
.ballBombMove()
.target(MoveTarget.ALL_NEAR_OTHERS),
new AttackMove(Moves.TECHNO_BLAST, Type.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 5)
.partial(),
.attr(TechnoBlastTypeAttr),
new AttackMove(Moves.RELIC_SONG, Type.NORMAL, MoveCategory.SPECIAL, 75, 100, 10, 10, 0, 5)
.attr(StatusEffectAttr, StatusEffect.SLEEP)
.soundBased()
@ -5472,7 +5532,9 @@ export function initMoves() {
new AttackMove(Moves.HYPERSPACE_HOLE, Type.PSYCHIC, MoveCategory.SPECIAL, 80, -1, 5, -1, 0, 6)
.ignoresProtect(),
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)
.attr(StatChangeAttr, BattleStat.SPATK, -1),
new SelfStatusMove(Moves.SPIKY_SHIELD, Type.GRASS, -1, 10, -1, 4, 6)

View File

@ -82,7 +82,11 @@ export enum FormChangeItem {
SHADOW_REINS_OF_UNITY,
WELLSPRING_MASK,
HEARTHFLAME_MASK,
CORNERSTONE_MASK
CORNERSTONE_MASK,
SHOCK_DRIVE,
BURN_DRIVE,
CHILL_DRIVE,
DOUSE_DRIVE
}
export type SpeciesFormChangeConditionPredicate = (p: Pokemon) => boolean;
@ -542,6 +546,12 @@ export const pokemonFormChanges: PokemonFormChanges = {
new SpeciesFormChange(Species.MELOETTA, 'pirouette', 'aria', new SpeciesFormChangePostMoveTrigger(Moves.RELIC_SONG), true),
new SpeciesFormChange(Species.MELOETTA, 'pirouette', 'aria', new SpeciesFormChangeActiveTrigger(false), true)
],
[Species.GENESECT]: [
new SpeciesFormChange(Species.GENESECT, '', 'shock', new SpeciesFormChangeItemTrigger(FormChangeItem.SHOCK_DRIVE)),
new SpeciesFormChange(Species.GENESECT, '', 'burn', new SpeciesFormChangeItemTrigger(FormChangeItem.BURN_DRIVE)),
new SpeciesFormChange(Species.GENESECT, '', 'chill', new SpeciesFormChangeItemTrigger(FormChangeItem.CHILL_DRIVE)),
new SpeciesFormChange(Species.GENESECT, '', 'douse', new SpeciesFormChangeItemTrigger(FormChangeItem.DOUSE_DRIVE))
],
[Species.GRENINJA]: [
new SpeciesFormChange(Species.GRENINJA, 'battle-bond', 'ash', new SpeciesFormChangeManualTrigger(), true),
new SpeciesFormChange(Species.GRENINJA, 'ash', 'battle-bond', new SpeciesFormChangeManualTrigger(), true)

View File

@ -2597,7 +2597,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 31, Moves.LIGHT_SCREEN ],
[ 34, Moves.BODY_SLAM ],
[ 39, Moves.SAFEGUARD ],
[ 42, Moves.AROMATHERAPY ],
[ 42, Moves.GIGA_DRAIN ],
[ 45, Moves.SOLAR_BEAM ],
],
[Species.BAYLEEF]: [
@ -2613,7 +2613,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 36, Moves.LIGHT_SCREEN ],
[ 40, Moves.BODY_SLAM ],
[ 46, Moves.SAFEGUARD ],
[ 50, Moves.AROMATHERAPY ],
[ 50, Moves.GIGA_DRAIN ],
[ 54, Moves.SOLAR_BEAM ],
],
[Species.MEGANIUM]: [
@ -2631,7 +2631,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 40, Moves.LIGHT_SCREEN ],
[ 46, Moves.BODY_SLAM ],
[ 54, Moves.SAFEGUARD ],
[ 60, Moves.AROMATHERAPY ],
[ 60, Moves.GIGA_DRAIN ],
[ 65, Moves.SOLAR_BEAM ],
],
[Species.CYNDAQUIL]: [
@ -2795,6 +2795,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.ECHOED_VOICE ],
[ 9, Moves.CONFUSION ],
[ 12, Moves.REFLECT ],
[ 15, Moves.DEFOG ],
[ 18, Moves.AIR_SLASH ],
[ 23, Moves.EXTRASENSORY ],
[ 28, Moves.TAKE_DOWN ],
@ -3573,7 +3574,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 13, Moves.LICK ],
[ 19, Moves.HEADBUTT ],
[ 25, Moves.ROAR ],
[ 31, Moves.RAGE ],
[ 31, Moves.LAST_RESORT ],
[ 37, Moves.PLAY_ROUGH ],
[ 43, Moves.PAYBACK ],
[ 49, Moves.CRUNCH ],
@ -3591,7 +3592,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 13, Moves.LICK ],
[ 19, Moves.HEADBUTT ],
[ 27, Moves.ROAR ],
[ 35, Moves.RAGE ],
[ 35, Moves.LAST_RESORT ],
[ 43, Moves.PLAY_ROUGH ],
[ 51, Moves.PAYBACK ],
[ 59, Moves.CRUNCH ],
@ -3867,7 +3868,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 20, Moves.WING_ATTACK ],
[ 24, Moves.SLASH ],
[ 28, Moves.STEEL_WING ],
[ 32, Moves.AUTOTOMIZE ],
[ 32, Moves.PAYBACK ],
[ 36, Moves.DRILL_PECK ],
[ 40, Moves.METAL_SOUND ],
[ 44, Moves.SPIKES ],
@ -3922,11 +3923,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 20, Moves.DRAGON_BREATH ],
[ 25, Moves.BUBBLE_BEAM ],
[ 30, Moves.AGILITY ],
[ 37, Moves.LASER_FOCUS ],
[ 37, Moves.WATER_PULSE ],
[ 44, Moves.DRAGON_PULSE ],
[ 51, Moves.HYDRO_PUMP ],
[ 58, Moves.DRAGON_DANCE ],
[ 65, Moves.RAIN_DANCE ],
[ 72, Moves.WAVE_CRASH ],
],
[Species.PHANPY]: [
[ 1, Moves.TACKLE ],
@ -3973,10 +3975,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 35, Moves.RECOVER ],
[ 40, Moves.DISCHARGE ],
[ 45, Moves.TRI_ATTACK ],
[ 50, Moves.MAGIC_COAT ],
[ 55, Moves.LOCK_ON ],
[ 60, Moves.ZAP_CANNON ],
[ 65, Moves.HYPER_BEAM ],
[ 50, Moves.LOCK_ON ],
[ 55, Moves.ZAP_CANNON ],
[ 60, Moves.HYPER_BEAM ],
],
[Species.STANTLER]: [
[ 1, Moves.TACKLE ],
@ -4267,7 +4268,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 72, Moves.FIRE_BLAST ],
[ 81, Moves.FUTURE_SIGHT ],
[ 90, Moves.SKY_ATTACK ],
[ 99, Moves.BURN_UP ],
[ 99, Moves.OVERHEAT ],
],
[Species.CELEBI]: [
[ 1, Moves.CONFUSION ],

View File

@ -134,4 +134,44 @@ export function getStatusEffectCatchRateMultiplier(statusEffect: StatusEffect):
}
return 1;
}
/**
* Returns a random non-volatile StatusEffect
*/
export function generateRandomStatusEffect(): StatusEffect {
return Utils.randIntRange(1, 6);
}
/**
* Returns a random non-volatile StatusEffect between the two provided
* @param statusEffectA The first StatusEffect
* @param statusEffectA The second StatusEffect
*/
export function getRandomStatusEffect(statusEffectA: StatusEffect, statusEffectB: StatusEffect): StatusEffect {
if (statusEffectA === StatusEffect.NONE || statusEffectA === StatusEffect.FAINT) {
return statusEffectB;
}
if (statusEffectB === StatusEffect.NONE || statusEffectB === StatusEffect.FAINT) {
return statusEffectA;
}
return Utils.randIntRange(0, 2) ? statusEffectA : statusEffectB;
}
/**
* Returns a random non-volatile StatusEffect between the two provided
* @param statusA The first Status
* @param statusB The second Status
*/
export function getRandomStatus(statusA: Status, statusB: Status): Status {
if (statusA === undefined || statusA.effect === StatusEffect.NONE || statusA.effect === StatusEffect.FAINT) {
return statusB;
}
if (statusB === undefined || statusB.effect === StatusEffect.NONE || statusB.effect === StatusEffect.FAINT) {
return statusA;
}
return Utils.randIntRange(0, 2) ? statusA : statusB;
}

View File

@ -4,6 +4,7 @@ import { Type } from "./type";
import * as Utils from "../utils";
import { IncrementMovePriorityAbAttr, applyAbAttrs } from "./ability";
import { ProtectAttr } from "./move";
import { BattlerIndex } from "#app/battle.js";
export enum TerrainType {
NONE,
@ -48,13 +49,13 @@ export class Terrain {
return 1;
}
isMoveTerrainCancelled(user: Pokemon, move: Move): boolean {
isMoveTerrainCancelled(user: Pokemon, targets: BattlerIndex[], move: Move): boolean {
switch (this.terrainType) {
case TerrainType.PSYCHIC:
if (!move.getAttrs(ProtectAttr).length){
if (!move.getAttrs(ProtectAttr).length) {
const priority = new Utils.IntegerHolder(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;
}
}

Some files were not shown because too many files have changed in this diff Show More