Compare commits

..

No commits in common. "cd1684180ff53feefabd1afa4c13d656214ff199" and "ef6c3541328986983b2659bba63c1cd4371b5046" have entirely different histories.

115 changed files with 6936 additions and 15043 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 557 B

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 561 B

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 649 B

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 645 B

After

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 771 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 B

After

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

Before

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.

Before

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 B

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 922 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 B

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

Before

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.

Before

Width:  |  Height:  |  Size: 502 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 B

View File

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

View File

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

View File

@ -1,47 +0,0 @@
{
"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

@ -1,36 +0,0 @@
{
"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

@ -1,30 +0,0 @@
{
"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

@ -1,32 +0,0 @@
{
"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

@ -1,36 +0,0 @@
{
"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

@ -1,38 +0,0 @@
{
"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

@ -1,34 +0,0 @@
{
"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

@ -1,230 +0,0 @@
{
"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.

Before

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -1,230 +0,0 @@
{
"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.

Before

Width:  |  Height:  |  Size: 5.9 KiB

View File

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

View File

@ -1,28 +0,0 @@
{
"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

@ -1,34 +0,0 @@
{
"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: 23 KiB

After

Width:  |  Height:  |  Size: 22 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 22 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: 17 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: 14 KiB

After

Width:  |  Height:  |  Size: 13 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: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 B

View File

@ -3,7 +3,7 @@
"short_name": "PokéRogue", "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.", "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": "/", "scope": "/",
"start_url": "/", "start_url": "https://pokerogue.net",
"display": "fullscreen", "display": "fullscreen",
"background_color": "#8c8c8c", "background_color": "#8c8c8c",
"theme_color": "#8c8c8c", "theme_color": "#8c8c8c",

View File

@ -2104,13 +2104,6 @@ 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 { export class BypassBurnDamageReductionAbAttr extends AbAttr {
constructor() { constructor() {
super(false); super(false);
@ -3224,7 +3217,8 @@ 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)
@ -3490,7 +3484,7 @@ export function initAbilities() {
.attr(PostBiomeChangeTerrainChangeAbAttr, TerrainType.ELECTRIC) .attr(PostBiomeChangeTerrainChangeAbAttr, TerrainType.ELECTRIC)
.conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), BattleStatMultiplierAbAttr, BattleStat.SPATK, 4 / 3), .conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), BattleStatMultiplierAbAttr, BattleStat.SPATK, 4 / 3),
new Ability(Abilities.OPPORTUNIST, 9) new Ability(Abilities.OPPORTUNIST, 9)
.attr(StatChangeCopyAbAttr), .unimplemented(),
new Ability(Abilities.CUD_CHEW, 9) new Ability(Abilities.CUD_CHEW, 9)
.unimplemented(), .unimplemented(),
new Ability(Abilities.SHARPNESS, 9) 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.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.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.SMEARGLE]: [ Moves.BATON_PASS, Moves.BURNING_BULWARK, Moves.SALT_CURE, Moves.SPORE ],
[Species.TYROGUE]: [ Moves.VICTORY_DANCE, Moves.WICKED_TORQUE, Moves.METEOR_MASH, Moves.COLLISION_COURSE ], [Species.TYROGUE]: [ Moves.MACH_PUNCH, Moves.WICKED_TORQUE, Moves.METEOR_MASH, Moves.COLLISION_COURSE ],
[Species.SMOOCHUM]: [ Moves.EXPANDING_FORCE, Moves.AURA_SPHERE, Moves.FREEZY_FROST, Moves.TAKE_HEART ], [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.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 ], [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, _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,9 +912,7 @@ 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;
const hitType = new Utils.IntegerHolder(this.multiHitType) switch (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);
@ -977,23 +975,6 @@ 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;
@ -2068,16 +2049,6 @@ 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();
@ -2245,36 +2216,6 @@ 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 { export class AuraWheelTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if ([user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.MORPEKO)) { if ([user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.MORPEKO)) {
@ -4795,7 +4736,8 @@ export function initMoves() {
.attr(StatusEffectAttr, StatusEffect.SLEEP) .attr(StatusEffectAttr, StatusEffect.SLEEP)
.soundBased(), .soundBased(),
new StatusMove(Moves.TICKLE, Type.NORMAL, 100, 20, -1, 0, 3) new StatusMove(Moves.TICKLE, Type.NORMAL, 100, 20, -1, 0, 3)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.DEF ], -1), .attr(StatChangeAttr, BattleStat.ATK, -1)
.attr(StatChangeAttr, BattleStat.DEF, -1),
new SelfStatusMove(Moves.COSMIC_POWER, Type.PSYCHIC, -1, 20, -1, 0, 3) new SelfStatusMove(Moves.COSMIC_POWER, Type.PSYCHIC, -1, 20, -1, 0, 3)
.attr(StatChangeAttr, [ BattleStat.DEF, BattleStat.SPDEF ], 1, true), .attr(StatChangeAttr, [ BattleStat.DEF, BattleStat.SPDEF ], 1, true),
new AttackMove(Moves.WATER_SPOUT, Type.WATER, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 3) new AttackMove(Moves.WATER_SPOUT, Type.WATER, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 3)
@ -5392,7 +5334,7 @@ export function initMoves() {
.ballBombMove() .ballBombMove()
.target(MoveTarget.ALL_NEAR_OTHERS), .target(MoveTarget.ALL_NEAR_OTHERS),
new AttackMove(Moves.TECHNO_BLAST, Type.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 5) new AttackMove(Moves.TECHNO_BLAST, Type.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 5)
.attr(TechnoBlastTypeAttr), .partial(),
new AttackMove(Moves.RELIC_SONG, Type.NORMAL, MoveCategory.SPECIAL, 75, 100, 10, 10, 0, 5) new AttackMove(Moves.RELIC_SONG, Type.NORMAL, MoveCategory.SPECIAL, 75, 100, 10, 10, 0, 5)
.attr(StatusEffectAttr, StatusEffect.SLEEP) .attr(StatusEffectAttr, StatusEffect.SLEEP)
.soundBased() .soundBased()
@ -5531,9 +5473,7 @@ 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)
@ -5837,7 +5777,8 @@ export function initMoves() {
.ignoresAbilities() .ignoresAbilities()
.partial(), .partial(),
new StatusMove(Moves.TEARFUL_LOOK, Type.NORMAL, -1, 20, 100, 0, 7) new StatusMove(Moves.TEARFUL_LOOK, Type.NORMAL, -1, 20, 100, 0, 7)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK ], -1), .attr(StatChangeAttr, BattleStat.ATK, -1)
.attr(StatChangeAttr, BattleStat.SPATK, -1),
new AttackMove(Moves.ZING_ZAP, Type.ELECTRIC, MoveCategory.PHYSICAL, 80, 100, 10, 30, 0, 7) new AttackMove(Moves.ZING_ZAP, Type.ELECTRIC, MoveCategory.PHYSICAL, 80, 100, 10, 30, 0, 7)
.attr(FlinchAttr), .attr(FlinchAttr),
new AttackMove(Moves.NATURES_MADNESS, Type.FAIRY, MoveCategory.SPECIAL, -1, 90, 10, -1, 0, 7) new AttackMove(Moves.NATURES_MADNESS, Type.FAIRY, MoveCategory.SPECIAL, -1, 90, 10, -1, 0, 7)
@ -6016,7 +5957,8 @@ export function initMoves() {
new AttackMove(Moves.BODY_PRESS, Type.FIGHTING, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 8) new AttackMove(Moves.BODY_PRESS, Type.FIGHTING, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 8)
.attr(DefAtkAttr), .attr(DefAtkAttr),
new StatusMove(Moves.DECORATE, Type.FAIRY, -1, 15, 100, 0, 8) new StatusMove(Moves.DECORATE, Type.FAIRY, -1, 15, 100, 0, 8)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK ], 2), .attr(StatChangeAttr, BattleStat.ATK, 2)
.attr(StatChangeAttr, BattleStat.SPATK, 2),
new AttackMove(Moves.DRUM_BEATING, Type.GRASS, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 8) new AttackMove(Moves.DRUM_BEATING, Type.GRASS, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 8)
.attr(StatChangeAttr, BattleStat.SPD, -1) .attr(StatChangeAttr, BattleStat.SPD, -1)
.makesContact(false), .makesContact(false),

View File

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

View File

@ -30,7 +30,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 24, Moves.SWEET_SCENT ], [ 24, Moves.SWEET_SCENT ],
[ 27, Moves.SYNTHESIS ], [ 27, Moves.SYNTHESIS ],
[ 30, Moves.WORRY_SEED ], [ 30, Moves.WORRY_SEED ],
[ 33, Moves.POWER_WHIP ], [ 33, Moves.DOUBLE_EDGE ],
[ 36, Moves.SOLAR_BEAM ], [ 36, Moves.SOLAR_BEAM ],
], ],
[Species.IVYSAUR]: [ [Species.IVYSAUR]: [
@ -47,16 +47,16 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 30, Moves.SWEET_SCENT ], [ 30, Moves.SWEET_SCENT ],
[ 35, Moves.SYNTHESIS ], [ 35, Moves.SYNTHESIS ],
[ 40, Moves.WORRY_SEED ], [ 40, Moves.WORRY_SEED ],
[ 45, Moves.POWER_WHIP ], [ 45, Moves.DOUBLE_EDGE ],
[ 50, Moves.SOLAR_BEAM ], [ 50, Moves.SOLAR_BEAM ],
], ],
[Species.VENUSAUR]: [ [Species.VENUSAUR]: [
[ 0, Moves.PETAL_BLIZZARD ], [ 0, Moves.PETAL_BLIZZARD ],
[ 1, Moves.GROWTH ],
[ 1, Moves.PETAL_DANCE ],
[ 1, Moves.VINE_WHIP ], [ 1, Moves.VINE_WHIP ],
[ 1, Moves.TACKLE ], [ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ], [ 1, Moves.GROWL ],
[ 1, Moves.GROWTH ],
[ 1, Moves.PETAL_DANCE ],
[ 9, Moves.LEECH_SEED ], [ 9, Moves.LEECH_SEED ],
[ 12, Moves.RAZOR_LEAF ], [ 12, Moves.RAZOR_LEAF ],
[ 15, Moves.POISON_POWDER ], [ 15, Moves.POISON_POWDER ],
@ -66,7 +66,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 30, Moves.SWEET_SCENT ], [ 30, Moves.SWEET_SCENT ],
[ 37, Moves.SYNTHESIS ], [ 37, Moves.SYNTHESIS ],
[ 44, Moves.WORRY_SEED ], [ 44, Moves.WORRY_SEED ],
[ 51, Moves.POWER_WHIP ], [ 51, Moves.DOUBLE_EDGE ],
[ 58, Moves.SOLAR_BEAM ], [ 58, Moves.SOLAR_BEAM ],
], ],
[Species.CHARMANDER]: [ [Species.CHARMANDER]: [
@ -127,7 +127,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 27, Moves.SHELL_SMASH ], [ 27, Moves.SHELL_SMASH ],
[ 30, Moves.IRON_DEFENSE ], [ 30, Moves.IRON_DEFENSE ],
[ 33, Moves.HYDRO_PUMP ], [ 33, Moves.HYDRO_PUMP ],
[ 36, Moves.WAVE_CRASH ], [ 36, Moves.SKULL_BASH ],
], ],
[Species.WARTORTLE]: [ [Species.WARTORTLE]: [
[ 1, Moves.TACKLE ], [ 1, Moves.TACKLE ],
@ -143,7 +143,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 35, Moves.SHELL_SMASH ], [ 35, Moves.SHELL_SMASH ],
[ 40, Moves.IRON_DEFENSE ], [ 40, Moves.IRON_DEFENSE ],
[ 45, Moves.HYDRO_PUMP ], [ 45, Moves.HYDRO_PUMP ],
[ 50, Moves.WAVE_CRASH ], [ 50, Moves.SKULL_BASH ],
], ],
[Species.BLASTOISE]: [ [Species.BLASTOISE]: [
[ 0, Moves.FLASH_CANNON ], [ 0, Moves.FLASH_CANNON ],
@ -160,7 +160,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 35, Moves.SHELL_SMASH ], [ 35, Moves.SHELL_SMASH ],
[ 42, Moves.IRON_DEFENSE ], [ 42, Moves.IRON_DEFENSE ],
[ 49, Moves.HYDRO_PUMP ], [ 49, Moves.HYDRO_PUMP ],
[ 56, Moves.WAVE_CRASH ], [ 56, Moves.SKULL_BASH ],
], ],
[Species.CATERPIE]: [ [Species.CATERPIE]: [
[ 1, Moves.TACKLE ], [ 1, Moves.TACKLE ],
@ -341,9 +341,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 12, Moves.GLARE ], [ 12, Moves.GLARE ],
[ 17, Moves.SCREECH ], [ 17, Moves.SCREECH ],
[ 20, Moves.ACID ], [ 20, Moves.ACID ],
[ 25, Moves.SWALLOW ],
[ 25, Moves.STOCKPILE ], [ 25, Moves.STOCKPILE ],
[ 25, Moves.SPIT_UP ], [ 25, Moves.SPIT_UP ],
[ 25, Moves.SWALLOW ],
[ 28, Moves.ACID_SPRAY ], [ 28, Moves.ACID_SPRAY ],
[ 33, Moves.SLUDGE_BOMB ], [ 33, Moves.SLUDGE_BOMB ],
[ 36, Moves.GASTRO_ACID ], [ 36, Moves.GASTRO_ACID ],
@ -1780,15 +1780,14 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 4, Moves.DOUBLE_KICK ], [ 4, Moves.DOUBLE_KICK ],
[ 8, Moves.LOW_KICK ], [ 8, Moves.LOW_KICK ],
[ 12, Moves.ENDURE ], [ 12, Moves.ENDURE ],
[ 16, Moves.SUCKER_PUNCH ], [ 16, Moves.REVENGE ],
[ 21, Moves.WIDE_GUARD ], [ 21, Moves.WIDE_GUARD ],
[ 24, Moves.BLAZE_KICK ], [ 24, Moves.BLAZE_KICK ],
[ 28, Moves.FEINT ], [ 28, Moves.MIND_READER ],
[ 32, Moves.MEGA_KICK ], [ 32, Moves.MEGA_KICK ],
[ 36, Moves.CLOSE_COMBAT ], [ 36, Moves.CLOSE_COMBAT ],
[ 40, Moves.REVERSAL ], [ 40, Moves.REVERSAL ],
[ 44, Moves.HIGH_JUMP_KICK ], [ 44, Moves.HIGH_JUMP_KICK ],
[ 50, Moves.AXE_KICK ],
], ],
[Species.HITMONCHAN]: [ [Species.HITMONCHAN]: [
[ 0, Moves.DRAIN_PUNCH ], [ 0, Moves.DRAIN_PUNCH ],
@ -1797,14 +1796,16 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.FAKE_OUT ], [ 1, Moves.FAKE_OUT ],
[ 1, Moves.HELPING_HAND ], [ 1, Moves.HELPING_HAND ],
[ 1, Moves.FEINT ], [ 1, Moves.FEINT ],
[ 1, Moves.VACUUM_WAVE ],
[ 1, Moves.BULLET_PUNCH ],
[ 4, Moves.MACH_PUNCH ], [ 4, Moves.MACH_PUNCH ],
[ 8, Moves.VACUUM_WAVE ], [ 8, Moves.POWER_UP_PUNCH ],
[ 12, Moves.DETECT ], [ 12, Moves.DETECT ],
[ 16, Moves.BULLET_PUNCH ], [ 16, Moves.REVENGE ],
[ 21, Moves.QUICK_GUARD ], [ 21, Moves.QUICK_GUARD ],
[ 24, Moves.THUNDER_PUNCH ],
[ 24, Moves.ICE_PUNCH ],
[ 24, Moves.FIRE_PUNCH ], [ 24, Moves.FIRE_PUNCH ],
[ 24, Moves.ICE_PUNCH ],
[ 24, Moves.THUNDER_PUNCH ],
[ 28, Moves.AGILITY ], [ 28, Moves.AGILITY ],
[ 32, Moves.MEGA_PUNCH ], [ 32, Moves.MEGA_PUNCH ],
[ 36, Moves.CLOSE_COMBAT ], [ 36, Moves.CLOSE_COMBAT ],
@ -2597,7 +2598,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 31, Moves.LIGHT_SCREEN ], [ 31, Moves.LIGHT_SCREEN ],
[ 34, Moves.BODY_SLAM ], [ 34, Moves.BODY_SLAM ],
[ 39, Moves.SAFEGUARD ], [ 39, Moves.SAFEGUARD ],
[ 42, Moves.GIGA_DRAIN ], [ 42, Moves.AROMATHERAPY ],
[ 45, Moves.SOLAR_BEAM ], [ 45, Moves.SOLAR_BEAM ],
], ],
[Species.BAYLEEF]: [ [Species.BAYLEEF]: [
@ -2613,7 +2614,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 36, Moves.LIGHT_SCREEN ], [ 36, Moves.LIGHT_SCREEN ],
[ 40, Moves.BODY_SLAM ], [ 40, Moves.BODY_SLAM ],
[ 46, Moves.SAFEGUARD ], [ 46, Moves.SAFEGUARD ],
[ 50, Moves.GIGA_DRAIN ], [ 50, Moves.AROMATHERAPY ],
[ 54, Moves.SOLAR_BEAM ], [ 54, Moves.SOLAR_BEAM ],
], ],
[Species.MEGANIUM]: [ [Species.MEGANIUM]: [
@ -2631,7 +2632,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 40, Moves.LIGHT_SCREEN ], [ 40, Moves.LIGHT_SCREEN ],
[ 46, Moves.BODY_SLAM ], [ 46, Moves.BODY_SLAM ],
[ 54, Moves.SAFEGUARD ], [ 54, Moves.SAFEGUARD ],
[ 60, Moves.GIGA_DRAIN ], [ 60, Moves.AROMATHERAPY ],
[ 65, Moves.SOLAR_BEAM ], [ 65, Moves.SOLAR_BEAM ],
], ],
[Species.CYNDAQUIL]: [ [Species.CYNDAQUIL]: [
@ -2795,7 +2796,6 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.ECHOED_VOICE ], [ 1, Moves.ECHOED_VOICE ],
[ 9, Moves.CONFUSION ], [ 9, Moves.CONFUSION ],
[ 12, Moves.REFLECT ], [ 12, Moves.REFLECT ],
[ 15, Moves.DEFOG ],
[ 18, Moves.AIR_SLASH ], [ 18, Moves.AIR_SLASH ],
[ 23, Moves.EXTRASENSORY ], [ 23, Moves.EXTRASENSORY ],
[ 28, Moves.TAKE_DOWN ], [ 28, Moves.TAKE_DOWN ],
@ -3574,7 +3574,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 13, Moves.LICK ], [ 13, Moves.LICK ],
[ 19, Moves.HEADBUTT ], [ 19, Moves.HEADBUTT ],
[ 25, Moves.ROAR ], [ 25, Moves.ROAR ],
[ 31, Moves.LAST_RESORT ], [ 31, Moves.RAGE ],
[ 37, Moves.PLAY_ROUGH ], [ 37, Moves.PLAY_ROUGH ],
[ 43, Moves.PAYBACK ], [ 43, Moves.PAYBACK ],
[ 49, Moves.CRUNCH ], [ 49, Moves.CRUNCH ],
@ -3592,7 +3592,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 13, Moves.LICK ], [ 13, Moves.LICK ],
[ 19, Moves.HEADBUTT ], [ 19, Moves.HEADBUTT ],
[ 27, Moves.ROAR ], [ 27, Moves.ROAR ],
[ 35, Moves.LAST_RESORT ], [ 35, Moves.RAGE ],
[ 43, Moves.PLAY_ROUGH ], [ 43, Moves.PLAY_ROUGH ],
[ 51, Moves.PAYBACK ], [ 51, Moves.PAYBACK ],
[ 59, Moves.CRUNCH ], [ 59, Moves.CRUNCH ],
@ -3868,7 +3868,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 20, Moves.WING_ATTACK ], [ 20, Moves.WING_ATTACK ],
[ 24, Moves.SLASH ], [ 24, Moves.SLASH ],
[ 28, Moves.STEEL_WING ], [ 28, Moves.STEEL_WING ],
[ 32, Moves.PAYBACK ], [ 32, Moves.AUTOTOMIZE ],
[ 36, Moves.DRILL_PECK ], [ 36, Moves.DRILL_PECK ],
[ 40, Moves.METAL_SOUND ], [ 40, Moves.METAL_SOUND ],
[ 44, Moves.SPIKES ], [ 44, Moves.SPIKES ],
@ -3923,12 +3923,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 20, Moves.DRAGON_BREATH ], [ 20, Moves.DRAGON_BREATH ],
[ 25, Moves.BUBBLE_BEAM ], [ 25, Moves.BUBBLE_BEAM ],
[ 30, Moves.AGILITY ], [ 30, Moves.AGILITY ],
[ 37, Moves.WATER_PULSE ], [ 37, Moves.LASER_FOCUS ],
[ 44, Moves.DRAGON_PULSE ], [ 44, Moves.DRAGON_PULSE ],
[ 51, Moves.HYDRO_PUMP ], [ 51, Moves.HYDRO_PUMP ],
[ 58, Moves.DRAGON_DANCE ], [ 58, Moves.DRAGON_DANCE ],
[ 65, Moves.RAIN_DANCE ], [ 65, Moves.RAIN_DANCE ],
[ 72, Moves.WAVE_CRASH ],
], ],
[Species.PHANPY]: [ [Species.PHANPY]: [
[ 1, Moves.TACKLE ], [ 1, Moves.TACKLE ],
@ -3975,9 +3974,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 35, Moves.RECOVER ], [ 35, Moves.RECOVER ],
[ 40, Moves.DISCHARGE ], [ 40, Moves.DISCHARGE ],
[ 45, Moves.TRI_ATTACK ], [ 45, Moves.TRI_ATTACK ],
[ 50, Moves.LOCK_ON ], [ 50, Moves.MAGIC_COAT ],
[ 55, Moves.ZAP_CANNON ], [ 55, Moves.LOCK_ON ],
[ 60, Moves.HYPER_BEAM ], [ 60, Moves.ZAP_CANNON ],
[ 65, Moves.HYPER_BEAM ],
], ],
[Species.STANTLER]: [ [Species.STANTLER]: [
[ 1, Moves.TACKLE ], [ 1, Moves.TACKLE ],
@ -4268,7 +4268,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 72, Moves.FIRE_BLAST ], [ 72, Moves.FIRE_BLAST ],
[ 81, Moves.FUTURE_SIGHT ], [ 81, Moves.FUTURE_SIGHT ],
[ 90, Moves.SKY_ATTACK ], [ 90, Moves.SKY_ATTACK ],
[ 99, Moves.OVERHEAT ], [ 99, Moves.BURN_UP ],
], ],
[Species.CELEBI]: [ [Species.CELEBI]: [
[ 1, Moves.CONFUSION ], [ 1, Moves.CONFUSION ],

View File

@ -135,43 +135,3 @@ export function getStatusEffectCatchRateMultiplier(statusEffect: StatusEffect):
return 1; 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,7 +4,6 @@ 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,
@ -49,13 +48,13 @@ export class Terrain {
return 1; return 1;
} }
isMoveTerrainCancelled(user: Pokemon, targets: BattlerIndex[], move: Move): boolean { isMoveTerrainCancelled(user: Pokemon, 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 && user.getOpponents().filter(o => targets.includes(o.getBattlerIndex())).length > 0; return priority.value > 0;
} }
} }

View File

@ -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, targets: BattlerIndex[], move: Move) { isMoveTerrainCancelled(user: Pokemon, move: Move) {
return this.terrain && this.terrain.isMoveTerrainCancelled(user, targets, move); return this.terrain && this.terrain.isMoveTerrainCancelled(user, move);
} }
getTerrainType() : TerrainType { getTerrainType() : TerrainType {

View File

@ -14,7 +14,7 @@ import { AttackTypeBoosterModifier, DamageMoneyRewardModifier, EnemyDamageBooste
import { PokeballType } from '../data/pokeball'; import { PokeballType } from '../data/pokeball';
import { Gender } from '../data/gender'; import { Gender } from '../data/gender';
import { initMoveAnim, loadMoveAnimAssets } from '../data/battle-anims'; import { initMoveAnim, loadMoveAnimAssets } from '../data/battle-anims';
import { Status, StatusEffect, getRandomStatus } from '../data/status-effect'; import { Status, StatusEffect } from '../data/status-effect';
import { pokemonEvolutions, pokemonPrevolutions, SpeciesFormEvolution, SpeciesEvolutionCondition, FusionSpeciesFormEvolution } from '../data/pokemon-evolutions'; import { pokemonEvolutions, pokemonPrevolutions, SpeciesFormEvolution, SpeciesEvolutionCondition, FusionSpeciesFormEvolution } from '../data/pokemon-evolutions';
import { reverseCompatibleTms, tmSpecies } from '../data/tms'; import { reverseCompatibleTms, tmSpecies } from '../data/tms';
import { DamagePhase, FaintPhase, LearnMovePhase, ObtainStatusEffectPhase, StatChangePhase, SwitchSummonPhase } from '../phases'; import { DamagePhase, FaintPhase, LearnMovePhase, ObtainStatusEffectPhase, StatChangePhase, SwitchSummonPhase } from '../phases';
@ -2551,10 +2551,6 @@ export class PlayerPokemon extends Pokemon {
this.generateCompatibleTms(); this.generateCompatibleTms();
} }
/**
* Returns a Promise to fuse two PlayerPokemon together
* @param pokemon The PlayerPokemon to fuse to this one
*/
fuse(pokemon: PlayerPokemon): Promise<void> { fuse(pokemon: PlayerPokemon): Promise<void> {
return new Promise(resolve => { return new Promise(resolve => {
this.fusionSpecies = pokemon.species; this.fusionSpecies = pokemon.species;
@ -2568,25 +2564,8 @@ export class PlayerPokemon extends Pokemon {
this.scene.validateAchv(achvs.SPLICE); this.scene.validateAchv(achvs.SPLICE);
this.scene.gameData.gameStats.pokemonFused++; this.scene.gameData.gameStats.pokemonFused++;
// Store the average HP% that each Pokemon has
const newHpPercent = ((pokemon.hp / pokemon.stats[Stat.HP]) + (this.hp / this.stats[Stat.HP])) / 2;
this.generateName(); this.generateName();
this.calculateStats(); this.calculateStats();
// Set this Pokemon's HP to the average % of both fusion components
this.hp = Math.round(this.stats[Stat.HP] * newHpPercent);
if (!this.isFainted()) {
// If this Pokemon hasn't fainted, make sure the HP wasn't set over the new maximum
this.hp = Math.min(this.hp, this.stats[Stat.HP]);
this.status = getRandomStatus(this.status, pokemon.status); // Get a random valid status between the two
}
else if (!pokemon.isFainted()) {
// If this Pokemon fainted but the other hasn't, make sure the HP wasn't set to zero
this.hp = Math.max(this.hp, 1);
this.status = pokemon.status; // Inherit the other Pokemon's status
}
this.generateCompatibleTms(); this.generateCompatibleTms();
this.updateInfo(true); this.updateInfo(true);
const fusedPartyMemberIndex = this.scene.getParty().indexOf(pokemon); const fusedPartyMemberIndex = this.scene.getParty().indexOf(pokemon);

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