Merge remote-tracking branch 'upstream/main' into feature/guard-dog

This commit is contained in:
Madi Simpson 2024-05-05 07:36:15 -07:00
commit e3afeff278
103 changed files with 12735 additions and 4845 deletions

Binary file not shown.

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", "424284": "6b1524",
"7384ad": "a53038", "7384ad": "a53038",
"d6d6ff": "f28566", "d6d6ff": "f28566",

View File

@ -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,

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": { "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",

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

@ -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;

View File

@ -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';
} }
} }

View File

@ -3273,8 +3273,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)

View File

@ -767,7 +767,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 {
@ -923,7 +923,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);
@ -986,6 +988,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;
@ -2060,6 +2079,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();
@ -2858,7 +2887,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);
@ -2891,9 +2920,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;
}; };
} }
@ -5519,7 +5549,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)

View File

@ -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;
} }
} }

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, 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;

View File

@ -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);

1244
src/locales/it/ability.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,52 +1,52 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const battle: SimpleTranslationEntries = { export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} appeared.", "bossAppeared": "{{bossName}} è apparso.",
"trainerAppeared": "{{trainerName}}\nwould like to battle!", "trainerAppeared": "{{trainerName}}\nvuole combattere!",
"singleWildAppeared": "A wild {{pokemonName}} appeared!", "singleWildAppeared": "Appare {{pokemonName}} selvatico!",
"multiWildAppeared": "A wild {{pokemonName1}}\nand {{pokemonName2}} appeared!", "multiWildAppeared": "Appaiono {{pokemonName1}}\ne {{pokemonName2}} salvatici!",
"playerComeBack": "Come back, {{pokemonName}}!", "playerComeBack": "Rientra, {{pokemonName}}!",
"trainerComeBack": "{{trainerName}} withdrew {{pokemonName}}!", "trainerComeBack": "{{trainerName}} ha ritirato {{pokemonName}}!",
"playerGo": "Go! {{pokemonName}}!", "playerGo": "Vai! {{pokemonName}}!",
"trainerGo": "{{trainerName}} sent out {{pokemonName}}!", "trainerGo": "{{trainerName}} manda in campo {{pokemonName}}!",
"switchQuestion": "Will you switch\n{{pokemonName}}?", "switchQuestion": "Vuoi cambiare\n{{pokemonName}}?",
"trainerDefeated": `You defeated\n{{trainerName}}!`, "trainerDefeated": `Hai sconfitto\n{{trainerName}}!`,
"pokemonCaught": "{{pokemonName}} was caught!", "pokemonCaught": "{{pokemonName}} è stato catturato!",
"pokemon": "Pokémon", "pokemon": "Pokémon",
"sendOutPokemon": "Go! {{pokemonName}}!", "sendOutPokemon": "Vai! {{pokemonName}}!",
"hitResultCriticalHit": "A critical hit!", "hitResultCriticalHit": "Brutto colpo!",
"hitResultSuperEffective": "It's super effective!", "hitResultSuperEffective": "È superefficace!",
"hitResultNotVeryEffective": "It's not very effective…", "hitResultNotVeryEffective": "Non è molto efficace…",
"hitResultNoEffect": "It doesn't affect {{pokemonName}}!", "hitResultNoEffect": "Non ha effetto su {{pokemonName}}!",
"hitResultOneHitKO": "It's a one-hit KO!", "hitResultOneHitKO": "È KO con un colpo solo!",
"attackFailed": "But it failed!", "attackFailed": "Ma ha fallito!",
"attackHitsCount": `Hit {{count}} time(s)!`, "attackHitsCount": `Colpito {{count}} volta/e!`,
"expGain": "{{pokemonName}} gained\n{{exp}} EXP. Points!", "expGain": "{{pokemonName}} ha guadagnato\n{{exp}} Punti Esperienza!",
"levelUp": "{{pokemonName}} grew to\nLv. {{level}}!", "levelUp": "{{pokemonName}} è salito al \nLivello {{level}}!",
"learnMove": "{{pokemonName}} learned\n{{moveName}}!", "learnMove": "{{pokemonName}} impara \n{{moveName}}!",
"learnMovePrompt": "{{pokemonName}} wants to learn the\nmove {{moveName}}.", "learnMovePrompt": "{{pokemonName}} vorrebbe imparare \l{{moveName}}.",
"learnMoveLimitReached": "However, {{pokemonName}} already\nknows four moves.", "learnMoveLimitReached": "Tuttavia, {{pokemonName}} \nconosce già quattro mosse.",
"learnMoveReplaceQuestion": "Should a move be forgotten and\nreplaced with {{moveName}}?", "learnMoveReplaceQuestion": "Vuoi che ne dimentichi una e al suo \nposto la sostituisca con {{moveName}}?",
"learnMoveStopTeaching": "Stop trying to teach\n{{moveName}}?", "learnMoveStopTeaching": "Vuoi smettere di fargli imparare \n{{moveName}}?",
"learnMoveNotLearned": "{{pokemonName}} did not learn the\nmove {{moveName}}.", "learnMoveNotLearned": "{{pokemonName}} non ha imparato\n{{moveName}}.",
"learnMoveForgetQuestion": "Which move should be forgotten?", "learnMoveForgetQuestion": "Quale mossa deve dimenticare?",
"learnMoveForgetSuccess": "{{pokemonName}} forgot how to\nuse {{moveName}}.", "learnMoveForgetSuccess": "{{pokemonName}} ha dimenticato la mossa\n{{moveName}}.",
"levelCapUp": "The level cap\nhas increased to {{levelCap}}!", "levelCapUp": "Il livello massimo\nè aumentato a {{levelCap}}!",
"moveNotImplemented": "{{moveName}} is not yet implemented and cannot be selected.", "moveNotImplemented": "{{moveName}} non è ancora implementata e non può essere selezionata.",
"moveDisabled": "{{moveName}} is disabled!", "moveDisabled": "{{moveName}} è disabilitata!",
"noPokeballForce": "An unseen force\nprevents using Poké Balls.", "noPokeballForce": "Una forza misteriosa\nimpedisce l'uso dell Poké Ball.",
"noPokeballTrainer": "You can't catch\nanother trainer's Pokémon!", "noPokeballTrainer": "Non puoi catturare\nPokémon di altri allenatori!",
"noPokeballMulti": "You can only throw a Poké Ball\nwhen there is one Pokémon remaining!", "noPokeballMulti": "Puoi lanciare una Poké Ball\nquando rimane un solo Pokémon!",
"noPokeballStrong": "The target Pokémon is too strong to be caught!\nYou need to weaken it first!", "noPokeballStrong": "Il Pokémon avversario è troppo forte per essere catturato!\nDevi prima indebolirlo!",
"noEscapeForce": "An unseen force\nprevents escape.", "noEscapeForce": "Una forza misteriosa\nimpedisce la fuga.",
"noEscapeTrainer": "You can't run\nfrom a trainer battle!", "noEscapeTrainer": "Non puoi fuggire\nda una battaglia contro un'allenatore!",
"noEscapePokemon": "{{pokemonName}}'s {{moveName}}\nprevents {{escapeVerb}}!", "noEscapePokemon": "{{moveName}} di {{pokemonName}}\npreviene la {{escapeVerb}}!",
"runAwaySuccess": "You got away safely!", "runAwaySuccess": "Sei riuscito a fuggire!",
"runAwayCannotEscape": 'You can\'t escape!', "runAwayCannotEscape": 'Non puoi fuggire!',
"escapeVerbSwitch": "switching", "escapeVerbSwitch": "cambiando",
"escapeVerbFlee": "fleeing", "escapeVerbFlee": "fuggendo",
"notDisabled": "{{moveName}} is disabled\nno more!", "notDisabled": "{{moveName}} non è più\ndisabilitata!",
"skipItemQuestion": "Are you sure you want to skip taking an item?", "skipItemQuestion": "Sei sicuro di non voler prendere nessun oggetto?",
"eggHatching": "Oh?", "eggHatching": "Oh?",
"ivScannerUseQuestion": "Use IV Scanner on {{pokemonName}}?" "ivScannerUseQuestion": "Vuoi usare lo scanner di IV su {{pokemonName}}?"
} as const; } as const;

View File

@ -0,0 +1,9 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Lotta",
"ball": "Borsa",
"pokemon": "Pokémon",
"run": "Fuga",
"actionMessage": "Cosa deve fare {{pokemonName}}?",
} as const;

View File

@ -2,5 +2,5 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const fightUiHandler: SimpleTranslationEntries = { export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP", "pp": "PP",
"power": "POWER", "power": "POTENZA",
} as const; } as const;

View File

@ -1,23 +1,23 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const menuUiHandler: SimpleTranslationEntries = { export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": 'Game Settings', "GAME_SETTINGS": 'Impostazioni',
"ACHIEVEMENTS": "Achievements", "ACHIEVEMENTS": "Risultati",
"STATS": "Stats", "STATS": "Statistiche",
"VOUCHERS": "Vouchers", "VOUCHERS": "Biglietti",
"EGG_LIST": "Egg List", "EGG_LIST": "Lista Uova",
"EGG_GACHA": "Egg Gacha", "EGG_GACHA": "Gacha Uova",
"MANAGE_DATA": "Manage Data", "MANAGE_DATA": "Gestisci Dati",
"COMMUNITY": "Community", "COMMUNITY": "Community",
"RETURN_TO_TITLE": "Return To Title", "RETURN_TO_TITLE": "Ritorna al Titolo",
"LOG_OUT": "Log Out", "LOG_OUT": "Disconnettiti",
"slot": "Slot {{slotNumber}}", "slot": "Slot {{slotNumber}}",
"importSession": "Import Session", "importSession": "Importa Sessione",
"importSlotSelect": "Select a slot to import to.", "importSlotSelect": "Seleziona uno slot in cui importare.",
"exportSession": "Export Session", "exportSession": "Esporta Sessione",
"exportSlotSelect": "Select a slot to export from.", "exportSlotSelect": "Seleziona uno slot da cui esportare.",
"importData": "Import Data", "importData": "Importa Dati",
"exportData": "Export Data", "exportData": "Esporta Dati",
"cancel": "Cancel", "cancel": "Annulla",
"losingProgressionWarning": "You will lose any progress since the beginning of the battle. Proceed?" "losingProgressionWarning": "Perderai tutti i progressi dall'inizio della battaglia. Procedere?"
} as const; } as const;

View File

@ -12,36 +12,36 @@ export const menu: SimpleTranslationEntries = {
"loadGame": "Carica Partita", "loadGame": "Carica Partita",
"dailyRun": "Corsa Giornaliera (Beta)", "dailyRun": "Corsa Giornaliera (Beta)",
"selectGameMode": "Seleziona una modalità di gioco.", "selectGameMode": "Seleziona una modalità di gioco.",
"logInOrCreateAccount": "Log in or create an account to start. No email required!", "logInOrCreateAccount": "Accedi o crea un nuovo account per iniziare. Non è richiesta un'email!",
"username": "Username", "username": "Nome Utente",
"password": "Password", "password": "Password",
"login": "Login", "login": "Accedi",
"register": "Register", "register": "Registrati",
"emptyUsername": "Username must not be empty", "emptyUsername": "Nome utente mancante!",
"invalidLoginUsername": "The provided username is invalid", "invalidLoginUsername": "Nome utente non valido!",
"invalidRegisterUsername": "Username must only contain letters, numbers, or underscores", "invalidRegisterUsername": "Il nome utente può contenere solo lettere, numeri o trattini bassi",
"invalidLoginPassword": "The provided password is invalid", "invalidLoginPassword": "Password non valida!",
"invalidRegisterPassword": "Password must be 6 characters or longer", "invalidRegisterPassword": "La password deve contenere almeno 6 caratteri",
"usernameAlreadyUsed": "The provided username is already in use", "usernameAlreadyUsed": "Il nome utente inserito è stato già utilizzato!",
"accountNonExistent": "The provided user does not exist", "accountNonExistent": "Account inesistente!",
"unmatchingPassword": "The provided password does not match", "unmatchingPassword": "La password inserita non è corretta!",
"passwordNotMatchingConfirmPassword": "Password must match confirm password", "passwordNotMatchingConfirmPassword": "La password deve essere uguale alla conferma password!",
"confirmPassword": "Confirm Password", "confirmPassword": "Conferma Password",
"registrationAgeWarning": "By registering, you confirm you are of 13 years of age or older.", "registrationAgeWarning": "Registrandoti confermi di avere 13 anni o più.",
"backToLogin": "Back to Login", "backToLogin": "Torna all'accesso",
"failedToLoadSaveData": "Failed to load save data. Please reload the page.\nIf this continues, please contact the administrator.", "failedToLoadSaveData": "Impossibile caricare i dati di salvataggio. Ricarica la pagina.\nSe il problema persiste, contatta l'amministratore.",
"sessionSuccess": "Session loaded successfully.", "sessionSuccess": "Sessione caricata correttamente.",
"failedToLoadSession": "Your session data could not be loaded.\nIt may be corrupted.", "failedToLoadSession": "Impossibile caricare i dati della sessione.\nPotrebbero essere danneggiati.",
"boyOrGirl": "Are you a boy or a girl?", "boyOrGirl": "Sei un ragazzo o una ragazza?",
"boy": "Boy", "boy": "Ragazzo",
"girl": "Girl", "girl": "Ragazza",
"dailyRankings": "Daily Rankings", "dailyRankings": "Classifica Giornaliera",
"weeklyRankings": "Weekly Rankings", "weeklyRankings": "Classifica Settimanale",
"noRankings": "No Rankings", "noRankings": "Nessuna Classifica",
"loading": "Loading…", "loading": "Caricamento…",
"playersOnline": "Players Online", "playersOnline": "Giocatori Online",
"empty":"Empty", "empty":"Vuoto",
"yes":"Yes", "yes":"Si",
"no":"No", "no":"No",
"confirmStartTeam":'Begin with these Pokémon?', "confirmStartTeam":'Vuoi iniziare con questi Pokémon?',
} as const; } as const;

3812
src/locales/it/move.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Poké Ball",
"greatBall": "Mega Ball",
"ultraBall": "Ultra Ball",
"rogueBall": "Rogue Ball",
"masterBall": "Master Ball",
"luxuryBall": "Chich Ball",
} as const;

1086
src/locales/it/pokemon.ts Normal file

File diff suppressed because it is too large Load Diff

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