Merge branch 'pagefaultgames:main' into EmoUsedHM01-patch-1
1
.gitignore
vendored
@ -33,5 +33,6 @@ public/images/pokemon/icons/input/output/*
|
|||||||
public/images/character/*/
|
public/images/character/*/
|
||||||
src/data/battle-anim-raw-data*.ts
|
src/data/battle-anim-raw-data*.ts
|
||||||
src/data/battle-anim-data.ts
|
src/data/battle-anim-data.ts
|
||||||
|
src/overrides.ts
|
||||||
|
|
||||||
coverage
|
coverage
|
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "pokemon-rogue-battle",
|
"name": "pokemon-rogue-battle",
|
||||||
"version": "1.0.1",
|
"version": "1.0.3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "pokemon-rogue-battle",
|
"name": "pokemon-rogue-battle",
|
||||||
"version": "1.0.1",
|
"version": "1.0.3",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@material/material-color-utilities": "^0.2.7",
|
"@material/material-color-utilities": "^0.2.7",
|
||||||
"crypto-js": "^4.2.0",
|
"crypto-js": "^4.2.0",
|
||||||
|
@ -4,30 +4,30 @@
|
|||||||
"image": "676-dandy.png",
|
"image": "676-dandy.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 72,
|
"w": 66,
|
||||||
"h": 72
|
"h": 66
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 62,
|
"w": 96,
|
||||||
"h": 72
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 20,
|
||||||
"y": 0,
|
"y": 14,
|
||||||
"w": 62,
|
"w": 56,
|
||||||
"h": 72
|
"h": 66
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 62,
|
"w": 56,
|
||||||
"h": 72
|
"h": 66
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:9a72775f436bbda574bf3721630310fb:f01538e7a19ca3d0d2fea48cd27d8a4c:b5a287256e260744fe6660dc2ceefd11$"
|
"smartupdate": "$TexturePacker:SmartUpdate:30c2972a226f8e360e323bea40a8005e:232a9bbcc4dba00a033204f1ec06cffd:b5a287256e260744fe6660dc2ceefd11$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 711 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-debutante.png",
|
"image": "676-debutante.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 68,
|
"w": 62,
|
||||||
"h": 68
|
"h": 62
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 57,
|
"w": 96,
|
||||||
"h": 68
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 25,
|
||||||
"y": 0,
|
"y": 18,
|
||||||
"w": 57,
|
"w": 51,
|
||||||
"h": 68
|
"h": 62
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 57,
|
"w": 51,
|
||||||
"h": 68
|
"h": 62
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:6d038d8d188d6e545741353c2dd5b812:6f39eb82deb32d251df708f5d4edc9f1:bf2f862a1c8881133f9f3ffbf44602fa$"
|
"smartupdate": "$TexturePacker:SmartUpdate:5a68081e37dfebc3935ecf4a4fbee3ad:71cbee6966c08512b0617eba3ce34a49:bf2f862a1c8881133f9f3ffbf44602fa$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 775 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-diamond.png",
|
"image": "676-diamond.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 74,
|
"w": 68,
|
||||||
"h": 74
|
"h": 68
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 51,
|
"w": 96,
|
||||||
"h": 74
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 27,
|
||||||
"y": 0,
|
"y": 12,
|
||||||
"w": 51,
|
"w": 45,
|
||||||
"h": 74
|
"h": 68
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 51,
|
"w": 45,
|
||||||
"h": 74
|
"h": 68
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:6e2189160ebb9fff02e9a051ee296d91:47037a1746645a551e31781cb8262e1f:88c467fc09249b0d2f579d44eacd528d$"
|
"smartupdate": "$TexturePacker:SmartUpdate:2d32af44d56592301808b561e6fa22f6:c70b6710f9c7ebb5268979a777193386:88c467fc09249b0d2f579d44eacd528d$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 693 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-heart.png",
|
"image": "676-heart.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 71,
|
"w": 65,
|
||||||
"h": 71
|
"h": 65
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 52,
|
"w": 96,
|
||||||
"h": 71
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 26,
|
||||||
"y": 0,
|
"y": 15,
|
||||||
"w": 52,
|
"w": 46,
|
||||||
"h": 71
|
"h": 65
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 52,
|
"w": 46,
|
||||||
"h": 71
|
"h": 65
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:bd54cfc49b95a12709696441044b115c:dce25f0e6474cad17709f18c96ffb3e5:e11d4dd16bff2ef69bc5ca683c44ca7c$"
|
"smartupdate": "$TexturePacker:SmartUpdate:e936d451ba0b36434d6444cb1b80f4d9:0b0d0b49e11fcc790a20130e3ab18ca5:e11d4dd16bff2ef69bc5ca683c44ca7c$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 717 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-kabuki.png",
|
"image": "676-kabuki.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 71,
|
"w": 65,
|
||||||
"h": 71
|
"h": 65
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 55,
|
"w": 96,
|
||||||
"h": 71
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 23,
|
||||||
"y": 0,
|
"y": 15,
|
||||||
"w": 55,
|
"w": 49,
|
||||||
"h": 71
|
"h": 65
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 55,
|
"w": 49,
|
||||||
"h": 71
|
"h": 65
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:5bd5ad9678c59b2b1d85a6af103ba1ba:2f6c7f2792f64728b478333fc2c65138:c3cad56aa65d2ee971ceebc435a14ee6$"
|
"smartupdate": "$TexturePacker:SmartUpdate:517d96cd6baa5b7616a51e8c4fed7a55:0a0f239ab3df60459410fab5eba8a4e6:c3cad56aa65d2ee971ceebc435a14ee6$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 731 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-la-reine.png",
|
"image": "676-la-reine.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 69,
|
"w": 63,
|
||||||
"h": 69
|
"h": 63
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 54,
|
"w": 96,
|
||||||
"h": 69
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 24,
|
||||||
"y": 0,
|
"y": 17,
|
||||||
"w": 54,
|
"w": 48,
|
||||||
"h": 69
|
"h": 63
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 54,
|
"w": 48,
|
||||||
"h": 69
|
"h": 63
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:e01297ffc2dd40460e87b64750997ca6:3261fa54b4c9574937d670de782ca3e8:b99821e87dffda3297dd25a224a9029f$"
|
"smartupdate": "$TexturePacker:SmartUpdate:e2179e3c9dfa079f84af302283187a80:518e57f1e0614d1aedad1d9826def3d4:b99821e87dffda3297dd25a224a9029f$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 660 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-matron.png",
|
"image": "676-matron.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 68,
|
"w": 62,
|
||||||
"h": 68
|
"h": 62
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 53,
|
"w": 96,
|
||||||
"h": 68
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 26,
|
||||||
"y": 0,
|
"y": 18,
|
||||||
"w": 53,
|
"w": 47,
|
||||||
"h": 68
|
"h": 62
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 53,
|
"w": 47,
|
||||||
"h": 68
|
"h": 62
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:262f28877dc9ef9e7920282c4b36b8dd:18b55adc9c377d1b24d6b236e1f39177:020798583d07c479020bb0af34cf8bb6$"
|
"smartupdate": "$TexturePacker:SmartUpdate:6c9b45763eb4fedb5ec7099762f23606:884e9813686e91cf2a2cd9f51652a875:020798583d07c479020bb0af34cf8bb6$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 734 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-pharaoh.png",
|
"image": "676-pharaoh.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 70,
|
"w": 64,
|
||||||
"h": 70
|
"h": 64
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 53,
|
"w": 96,
|
||||||
"h": 70
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 25,
|
||||||
"y": 0,
|
"y": 16,
|
||||||
"w": 53,
|
"w": 47,
|
||||||
"h": 70
|
"h": 64
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 53,
|
"w": 47,
|
||||||
"h": 70
|
"h": 64
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:a5d56fc494b2194036a8d6d1d876a296:6260eeb9aa48a1047c8ec12842ac28c6:904b7ab6f57249c96beea4b5f72deb53$"
|
"smartupdate": "$TexturePacker:SmartUpdate:5143f43786377eae745a9355e5e1cc24:158aa35a349be4cf7c56820170aa4546:904b7ab6f57249c96beea4b5f72deb53$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 726 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-star.png",
|
"image": "676-star.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 72,
|
"w": 66,
|
||||||
"h": 72
|
"h": 66
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 54,
|
"w": 96,
|
||||||
"h": 72
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 24,
|
||||||
"y": 0,
|
"y": 14,
|
||||||
"w": 54,
|
"w": 48,
|
||||||
"h": 72
|
"h": 66
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 54,
|
"w": 48,
|
||||||
"h": 72
|
"h": 66
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:6be66775c485bf44d69f7cd44e346324:c9e3d3db02b6ea0720a20b9bbd159d79:dd7fedf66b493b0bbdef5d25e0041dd8$"
|
"smartupdate": "$TexturePacker:SmartUpdate:d9af00245cb6498c9dec7508ed563454:12f19bad174b64678e8b8be8455f2b5a:dd7fedf66b493b0bbdef5d25e0041dd8$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 734 B |
@ -4,219 +4,30 @@
|
|||||||
"image": "678.png",
|
"image": "678.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 157,
|
"w": 55,
|
||||||
"h": 157
|
"h": 55
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.333,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
|
||||||
"filename": "0005.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 96,
|
|
||||||
"h": 96
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 25,
|
|
||||||
"y": 16,
|
|
||||||
"w": 54,
|
|
||||||
"h": 60
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0,
|
|
||||||
"w": 54,
|
|
||||||
"h": 60
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0007.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 96,
|
|
||||||
"h": 96
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 25,
|
|
||||||
"y": 16,
|
|
||||||
"w": 54,
|
|
||||||
"h": 60
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0,
|
|
||||||
"w": 54,
|
|
||||||
"h": 60
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0004.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 96,
|
|
||||||
"h": 96
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 25,
|
|
||||||
"y": 15,
|
|
||||||
"w": 53,
|
|
||||||
"h": 61
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 54,
|
|
||||||
"y": 0,
|
|
||||||
"w": 53,
|
|
||||||
"h": 61
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0008.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 96,
|
|
||||||
"h": 96
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 25,
|
|
||||||
"y": 15,
|
|
||||||
"w": 53,
|
|
||||||
"h": 61
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 54,
|
|
||||||
"y": 0,
|
|
||||||
"w": 53,
|
|
||||||
"h": 61
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0003.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 96,
|
|
||||||
"h": 96
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 24,
|
|
||||||
"y": 15,
|
|
||||||
"w": 52,
|
|
||||||
"h": 61
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 60,
|
|
||||||
"w": 52,
|
|
||||||
"h": 61
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0009.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 96,
|
|
||||||
"h": 96
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 24,
|
|
||||||
"y": 15,
|
|
||||||
"w": 52,
|
|
||||||
"h": 61
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 60,
|
|
||||||
"w": 52,
|
|
||||||
"h": 61
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0006.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 96,
|
|
||||||
"h": 96
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 26,
|
|
||||||
"y": 16,
|
|
||||||
"w": 54,
|
|
||||||
"h": 60
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 52,
|
|
||||||
"y": 61,
|
|
||||||
"w": 54,
|
|
||||||
"h": 60
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0002.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 96,
|
|
||||||
"h": 96
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 24,
|
|
||||||
"y": 17,
|
|
||||||
"w": 51,
|
|
||||||
"h": 59
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 106,
|
|
||||||
"y": 61,
|
|
||||||
"w": 51,
|
|
||||||
"h": 59
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0010.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 96,
|
|
||||||
"h": 96
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 24,
|
|
||||||
"y": 17,
|
|
||||||
"w": 51,
|
|
||||||
"h": 59
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 106,
|
|
||||||
"y": 61,
|
|
||||||
"w": 51,
|
|
||||||
"h": 59
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": true,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 96,
|
"w": 96,
|
||||||
"h": 96
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 23,
|
"x": 25,
|
||||||
"y": 19,
|
"y": 20,
|
||||||
"w": 50,
|
"w": 46,
|
||||||
"h": 57
|
"h": 55
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 107,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 50,
|
"w": 46,
|
||||||
"h": 57
|
"h": 55
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -225,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:ab77ad452685ab677c7e5e70a386e880:27bb9b07316cb5c401e67e15e2b0f06a:887aa14e4a3a3e9141c6ae460f968db1$"
|
"smartupdate": "$TexturePacker:SmartUpdate:7b46b2656390e5ddac94370837e7cdaa:7f76286d5acb65066eff0c2532fa7fea:887aa14e4a3a3e9141c6ae460f968db1$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 589 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-dandy.png",
|
"image": "676-dandy.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 71,
|
"w": 65,
|
||||||
"h": 71
|
"h": 65
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 56,
|
"w": 96,
|
||||||
"h": 71
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 22,
|
||||||
"y": 0,
|
"y": 15,
|
||||||
"w": 56,
|
"w": 50,
|
||||||
"h": 71
|
"h": 65
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 56,
|
"w": 50,
|
||||||
"h": 71
|
"h": 65
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:cd88917bff3fae3d6ff808096f539d70:17a1912fd81d23ce8a7209e27ad3e9ed:b5a287256e260744fe6660dc2ceefd11$"
|
"smartupdate": "$TexturePacker:SmartUpdate:30639f5b87709c77f1b970be4078abf4:7b6183e776852f811a1e5c3fa15805fc:b5a287256e260744fe6660dc2ceefd11$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 759 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-debutante.png",
|
"image": "676-debutante.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 67,
|
"w": 61,
|
||||||
"h": 67
|
"h": 61
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 56,
|
"w": 96,
|
||||||
"h": 67
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 20,
|
||||||
"y": 0,
|
"y": 19,
|
||||||
"w": 56,
|
"w": 50,
|
||||||
"h": 67
|
"h": 61
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 56,
|
"w": 50,
|
||||||
"h": 67
|
"h": 61
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:68f3a2720b7b1e5e59f628f021cac698:07d06d321fff31976e1b993edb972e4f:bf2f862a1c8881133f9f3ffbf44602fa$"
|
"smartupdate": "$TexturePacker:SmartUpdate:2ccaadba59ae7a3f23287601b725067d:18ae045d433354fd8b461b528bba113d:bf2f862a1c8881133f9f3ffbf44602fa$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 794 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-diamond.png",
|
"image": "676-diamond.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 74,
|
"w": 68,
|
||||||
"h": 74
|
"h": 68
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 53,
|
"w": 96,
|
||||||
"h": 74
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 24,
|
||||||
"y": 0,
|
"y": 12,
|
||||||
"w": 53,
|
"w": 47,
|
||||||
"h": 74
|
"h": 68
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 53,
|
"w": 47,
|
||||||
"h": 74
|
"h": 68
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:e054ccb4d021c87a6a02c6728403d87a:c7e104da9393ec52b9e6d37f92fc20d9:88c467fc09249b0d2f579d44eacd528d$"
|
"smartupdate": "$TexturePacker:SmartUpdate:bd55e138e32873b99b7a1a2e237d5278:befb394d45c46c22e2711f4c6d5d9623:88c467fc09249b0d2f579d44eacd528d$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 806 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-heart.png",
|
"image": "676-heart.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 72,
|
"w": 66,
|
||||||
"h": 72
|
"h": 66
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 54,
|
"w": 96,
|
||||||
"h": 72
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 24,
|
||||||
"y": 0,
|
"y": 14,
|
||||||
"w": 54,
|
"w": 48,
|
||||||
"h": 72
|
"h": 66
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 54,
|
"w": 48,
|
||||||
"h": 72
|
"h": 66
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:adb921bf32ae497738fbecc12e2aab07:421a40542b16cdb2cc154c85e963b40d:e11d4dd16bff2ef69bc5ca683c44ca7c$"
|
"smartupdate": "$TexturePacker:SmartUpdate:6a000209d8789ed27cdd0700711ccc27:75157608bd339b63c9a7ce68e259b3b7:e11d4dd16bff2ef69bc5ca683c44ca7c$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 814 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-kabuki.png",
|
"image": "676-kabuki.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 70,
|
"w": 64,
|
||||||
"h": 70
|
"h": 64
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 58,
|
"w": 96,
|
||||||
"h": 70
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 22,
|
||||||
"y": 0,
|
"y": 16,
|
||||||
"w": 58,
|
"w": 52,
|
||||||
"h": 70
|
"h": 64
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 58,
|
"w": 52,
|
||||||
"h": 70
|
"h": 64
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:ef8ecfc1b406aa668e3f8daf0dfbaae7:08eecd31f557298e1570ec3490acffe2:c3cad56aa65d2ee971ceebc435a14ee6$"
|
"smartupdate": "$TexturePacker:SmartUpdate:cd44f74e9b1dc4a581bd72f235552344:1404c36e03543b4eb1d1a4d5916a6652:c3cad56aa65d2ee971ceebc435a14ee6$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 837 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-la-reine.png",
|
"image": "676-la-reine.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 69,
|
"w": 63,
|
||||||
"h": 69
|
"h": 63
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 55,
|
"w": 96,
|
||||||
"h": 69
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 23,
|
||||||
"y": 0,
|
"y": 17,
|
||||||
"w": 55,
|
"w": 49,
|
||||||
"h": 69
|
"h": 63
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 55,
|
"w": 49,
|
||||||
"h": 69
|
"h": 63
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:6ba780e3e4c772966f8fa209410a9370:c56ae957d7acb10c7373b842af3a8786:b99821e87dffda3297dd25a224a9029f$"
|
"smartupdate": "$TexturePacker:SmartUpdate:1982df9d4acf87f005bb76829bd78a65:e3590ee437367a91742856b3887339a8:b99821e87dffda3297dd25a224a9029f$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 711 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-matron.png",
|
"image": "676-matron.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 68,
|
"w": 62,
|
||||||
"h": 68
|
"h": 62
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 52,
|
"w": 96,
|
||||||
"h": 68
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 23,
|
||||||
"y": 0,
|
"y": 18,
|
||||||
"w": 52,
|
"w": 46,
|
||||||
"h": 68
|
"h": 62
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 52,
|
"w": 46,
|
||||||
"h": 68
|
"h": 62
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:89ab717076c514df8295db07981b18e9:72a9977db421d061829c639e3b50a617:020798583d07c479020bb0af34cf8bb6$"
|
"smartupdate": "$TexturePacker:SmartUpdate:e2bcb6e27807980dfb68c17e65a7e8bd:d2409a3631a4a2263717bf5aa7e273b2:020798583d07c479020bb0af34cf8bb6$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 782 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-pharaoh.png",
|
"image": "676-pharaoh.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 69,
|
"w": 63,
|
||||||
"h": 69
|
"h": 63
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 52,
|
"w": 96,
|
||||||
"h": 69
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 25,
|
||||||
"y": 0,
|
"y": 17,
|
||||||
"w": 52,
|
"w": 46,
|
||||||
"h": 69
|
"h": 63
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 52,
|
"w": 46,
|
||||||
"h": 69
|
"h": 63
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:85c709f8538d07088a17e53a7c85afa0:623b4bc6698ef1a984b6bad42e68115b:904b7ab6f57249c96beea4b5f72deb53$"
|
"smartupdate": "$TexturePacker:SmartUpdate:bdf2959fe7e2556fe6d031d7de04fc6c:fbff7f59a6ed25ee3eef955cbb3b9a56:904b7ab6f57249c96beea4b5f72deb53$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 768 B |
@ -4,30 +4,30 @@
|
|||||||
"image": "676-star.png",
|
"image": "676-star.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 72,
|
"w": 66,
|
||||||
"h": 72
|
"h": 66
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": false,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 56,
|
"w": 96,
|
||||||
"h": 72
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 0,
|
"x": 24,
|
||||||
"y": 0,
|
"y": 14,
|
||||||
"w": 56,
|
"w": 50,
|
||||||
"h": 72
|
"h": 66
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 56,
|
"w": 50,
|
||||||
"h": 72
|
"h": 66
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -36,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:56c2df4ee634b690a816b79120bc3600:d7eefc05e299310d05d389e05997e449:dd7fedf66b493b0bbdef5d25e0041dd8$"
|
"smartupdate": "$TexturePacker:SmartUpdate:a3f92eef83bcae7716ee78c669738785:156a85da733d2e878a00be0efc1c4d38:dd7fedf66b493b0bbdef5d25e0041dd8$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 838 B |
@ -4,240 +4,30 @@
|
|||||||
"image": "678.png",
|
"image": "678.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 130,
|
"w": 56,
|
||||||
"h": 130
|
"h": 56
|
||||||
},
|
},
|
||||||
"scale": 1,
|
"scale": 0.5,
|
||||||
"frames": [
|
"frames": [
|
||||||
{
|
{
|
||||||
"filename": "0001.png",
|
"filename": "0001.png",
|
||||||
"rotated": false,
|
"rotated": false,
|
||||||
"trimmed": true,
|
"trimmed": false,
|
||||||
"sourceSize": {
|
"sourceSize": {
|
||||||
"w": 80,
|
"w": 96,
|
||||||
"h": 80
|
"h": 96
|
||||||
},
|
},
|
||||||
"spriteSourceSize": {
|
"spriteSourceSize": {
|
||||||
"x": 18,
|
"x": 25,
|
||||||
"y": 11,
|
"y": 20,
|
||||||
"w": 44,
|
"w": 45,
|
||||||
"h": 57
|
"h": 56
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"w": 44,
|
"w": 45,
|
||||||
"h": 57
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0002.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 18,
|
|
||||||
"y": 11,
|
|
||||||
"w": 44,
|
|
||||||
"h": 57
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 57,
|
|
||||||
"w": 44,
|
|
||||||
"h": 57
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0011.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 18,
|
|
||||||
"y": 11,
|
|
||||||
"w": 44,
|
|
||||||
"h": 57
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 57,
|
|
||||||
"w": 44,
|
|
||||||
"h": 57
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0006.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 21,
|
|
||||||
"y": 15,
|
|
||||||
"w": 44,
|
|
||||||
"h": 53
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 44,
|
|
||||||
"y": 0,
|
|
||||||
"w": 44,
|
|
||||||
"h": 53
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0007.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 21,
|
|
||||||
"y": 15,
|
|
||||||
"w": 44,
|
|
||||||
"h": 53
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 44,
|
|
||||||
"y": 0,
|
|
||||||
"w": 44,
|
|
||||||
"h": 53
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0004.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 24,
|
|
||||||
"y": 12,
|
|
||||||
"w": 42,
|
|
||||||
"h": 56
|
"h": 56
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 88,
|
|
||||||
"y": 0,
|
|
||||||
"w": 42,
|
|
||||||
"h": 56
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0009.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 24,
|
|
||||||
"y": 12,
|
|
||||||
"w": 42,
|
|
||||||
"h": 56
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 88,
|
|
||||||
"y": 0,
|
|
||||||
"w": 42,
|
|
||||||
"h": 56
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0003.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 20,
|
|
||||||
"y": 11,
|
|
||||||
"w": 43,
|
|
||||||
"h": 57
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 44,
|
|
||||||
"y": 53,
|
|
||||||
"w": 43,
|
|
||||||
"h": 57
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0010.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 20,
|
|
||||||
"y": 11,
|
|
||||||
"w": 43,
|
|
||||||
"h": 57
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 44,
|
|
||||||
"y": 53,
|
|
||||||
"w": 43,
|
|
||||||
"h": 57
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0005.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 22,
|
|
||||||
"y": 13,
|
|
||||||
"w": 43,
|
|
||||||
"h": 55
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 87,
|
|
||||||
"y": 56,
|
|
||||||
"w": 43,
|
|
||||||
"h": 55
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "0008.png",
|
|
||||||
"rotated": false,
|
|
||||||
"trimmed": true,
|
|
||||||
"sourceSize": {
|
|
||||||
"w": 80,
|
|
||||||
"h": 80
|
|
||||||
},
|
|
||||||
"spriteSourceSize": {
|
|
||||||
"x": 22,
|
|
||||||
"y": 13,
|
|
||||||
"w": 43,
|
|
||||||
"h": 55
|
|
||||||
},
|
|
||||||
"frame": {
|
|
||||||
"x": 87,
|
|
||||||
"y": 56,
|
|
||||||
"w": 43,
|
|
||||||
"h": 55
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -246,6 +36,6 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"app": "https://www.codeandweb.com/texturepacker",
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"smartupdate": "$TexturePacker:SmartUpdate:9579cbb834c4127f905679ba92633a05:64ed3d991add5e47034b1ca9aad80a4c:887aa14e4a3a3e9141c6ae460f968db1$"
|
"smartupdate": "$TexturePacker:SmartUpdate:ee6cbb7807c28f4b3f12e8dcf4da4888:77056356d7cbf2a4fb20508f50dbd3ce:887aa14e4a3a3e9141c6ae460f968db1$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 746 B |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
@ -60,25 +60,10 @@ import { SceneBase } from './scene-base';
|
|||||||
import CandyBar from './ui/candy-bar';
|
import CandyBar from './ui/candy-bar';
|
||||||
import { Variant, variantData } from './data/variant';
|
import { Variant, variantData } from './data/variant';
|
||||||
import { Localizable } from './plugins/i18n';
|
import { Localizable } from './plugins/i18n';
|
||||||
|
import { STARTING_WAVE_OVERRIDE, OPP_SPECIES_OVERRIDE, SEED_OVERRIDE, STARTING_BIOME_OVERRIDE } from './overrides';
|
||||||
|
|
||||||
export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1";
|
export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1";
|
||||||
|
|
||||||
export const SEED_OVERRIDE = '';
|
|
||||||
export const STARTER_SPECIES_OVERRIDE = 0;
|
|
||||||
export const STARTER_FORM_OVERRIDE = 0;
|
|
||||||
export const STARTING_LEVEL_OVERRIDE = 0;
|
|
||||||
export const STARTING_WAVE_OVERRIDE = 0;
|
|
||||||
export const STARTING_BIOME_OVERRIDE = Biome.TOWN;
|
|
||||||
export const STARTING_MONEY_OVERRIDE = 0;
|
|
||||||
|
|
||||||
export const ABILITY_OVERRIDE = Abilities.NONE;
|
|
||||||
export const MOVE_OVERRIDE = Moves.NONE;
|
|
||||||
export const OPP_SPECIES_OVERRIDE = 0;
|
|
||||||
export const OPP_ABILITY_OVERRIDE = Abilities.NONE;
|
|
||||||
export const OPP_MOVE_OVERRIDE = Moves.NONE;
|
|
||||||
export const OPP_SHINY_OVERRIDE = false;
|
|
||||||
export const OPP_VARIANT_OVERRIDE = 0;
|
|
||||||
|
|
||||||
const DEBUG_RNG = false;
|
const DEBUG_RNG = false;
|
||||||
|
|
||||||
export const startingWave = STARTING_WAVE_OVERRIDE || 1;
|
export const startingWave = STARTING_WAVE_OVERRIDE || 1;
|
||||||
@ -1056,6 +1041,8 @@ export default class BattleScene extends SceneBase {
|
|||||||
case Species.BASCULIN:
|
case Species.BASCULIN:
|
||||||
case Species.DEERLING:
|
case Species.DEERLING:
|
||||||
case Species.SAWSBUCK:
|
case Species.SAWSBUCK:
|
||||||
|
case Species.FROAKIE:
|
||||||
|
case Species.FROGADIER:
|
||||||
case Species.VIVILLON:
|
case Species.VIVILLON:
|
||||||
case Species.FLABEBE:
|
case Species.FLABEBE:
|
||||||
case Species.FLOETTE:
|
case Species.FLOETTE:
|
||||||
@ -1066,6 +1053,10 @@ export default class BattleScene extends SceneBase {
|
|||||||
case Species.TATSUGIRI:
|
case Species.TATSUGIRI:
|
||||||
case Species.PALDEA_TAUROS:
|
case Species.PALDEA_TAUROS:
|
||||||
return Utils.randSeedInt(species.forms.length);
|
return Utils.randSeedInt(species.forms.length);
|
||||||
|
case Species.GRENINJA:
|
||||||
|
return Utils.randSeedInt(2);
|
||||||
|
case Species.ZYGARDE:
|
||||||
|
return Utils.randSeedInt(3);
|
||||||
case Species.MINIOR:
|
case Species.MINIOR:
|
||||||
return Utils.randSeedInt(6);
|
return Utils.randSeedInt(6);
|
||||||
case Species.ALCREMIE:
|
case Species.ALCREMIE:
|
||||||
|
@ -976,16 +976,19 @@ export class FieldMoveTypePowerBoostAbAttr extends FieldMovePowerBoostAbAttr {
|
|||||||
export class BattleStatMultiplierAbAttr extends AbAttr {
|
export class BattleStatMultiplierAbAttr extends AbAttr {
|
||||||
private battleStat: BattleStat;
|
private battleStat: BattleStat;
|
||||||
private multiplier: number;
|
private multiplier: number;
|
||||||
|
private condition: PokemonAttackCondition;
|
||||||
|
|
||||||
constructor(battleStat: BattleStat, multiplier: number) {
|
constructor(battleStat: BattleStat, multiplier: number, condition?: PokemonAttackCondition) {
|
||||||
super(false);
|
super(false);
|
||||||
|
|
||||||
this.battleStat = battleStat;
|
this.battleStat = battleStat;
|
||||||
this.multiplier = multiplier;
|
this.multiplier = multiplier;
|
||||||
|
this.condition = condition;
|
||||||
}
|
}
|
||||||
|
|
||||||
applyBattleStat(pokemon: Pokemon, passive: boolean, battleStat: BattleStat, statValue: Utils.NumberHolder, args: any[]): boolean | Promise<boolean> {
|
applyBattleStat(pokemon: Pokemon, passive: boolean, battleStat: BattleStat, statValue: Utils.NumberHolder, args: any[]): boolean | Promise<boolean> {
|
||||||
if (battleStat === this.battleStat) {
|
const move = (args[0] as Move);
|
||||||
|
if (battleStat === this.battleStat && (!this.condition || this.condition(pokemon, null, move))) {
|
||||||
statValue.value *= this.multiplier;
|
statValue.value *= this.multiplier;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -1148,6 +1151,26 @@ class PostVictoryStatChangeAbAttr extends PostVictoryAbAttr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class PostVictoryFormChangeAbAttr extends PostVictoryAbAttr {
|
||||||
|
private formFunc: (p: Pokemon) => integer;
|
||||||
|
|
||||||
|
constructor(formFunc: ((p: Pokemon) => integer)) {
|
||||||
|
super(true);
|
||||||
|
|
||||||
|
this.formFunc = formFunc;
|
||||||
|
}
|
||||||
|
|
||||||
|
applyPostVictory(pokemon: Pokemon, passive: boolean, args: any[]): boolean | Promise<boolean> {
|
||||||
|
const formIndex = this.formFunc(pokemon);
|
||||||
|
if (formIndex !== pokemon.formIndex) {
|
||||||
|
pokemon.scene.triggerPokemonFormChange(pokemon, SpeciesFormChangeManualTrigger, false);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class PostKnockOutAbAttr extends AbAttr {
|
export class PostKnockOutAbAttr extends AbAttr {
|
||||||
applyPostKnockOut(pokemon: Pokemon, passive: boolean, knockedOut: Pokemon, args: any[]): boolean | Promise<boolean> {
|
applyPostKnockOut(pokemon: Pokemon, passive: boolean, knockedOut: Pokemon, args: any[]): boolean | Promise<boolean> {
|
||||||
return false;
|
return false;
|
||||||
@ -1382,6 +1405,7 @@ export class TraceAbAttr extends PostSummonAbAttr {
|
|||||||
const targets = pokemon.getOpponents();
|
const targets = pokemon.getOpponents();
|
||||||
if (!targets.length)
|
if (!targets.length)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
let target: Pokemon;
|
let target: Pokemon;
|
||||||
if (targets.length > 1)
|
if (targets.length > 1)
|
||||||
pokemon.scene.executeWithSeedOffset(() => target = Utils.randSeedItem(targets), pokemon.scene.currentBattle.waveIndex);
|
pokemon.scene.executeWithSeedOffset(() => target = Utils.randSeedItem(targets), pokemon.scene.currentBattle.waveIndex);
|
||||||
@ -1407,6 +1431,9 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr {
|
|||||||
|
|
||||||
applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
|
applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
|
||||||
const targets = pokemon.getOpponents();
|
const targets = pokemon.getOpponents();
|
||||||
|
if (!targets.length)
|
||||||
|
return false;
|
||||||
|
|
||||||
let target: Pokemon;
|
let target: Pokemon;
|
||||||
if (targets.length > 1)
|
if (targets.length > 1)
|
||||||
pokemon.scene.executeWithSeedOffset(() => target = Utils.randSeedItem(targets), pokemon.scene.currentBattle.waveIndex);
|
pokemon.scene.executeWithSeedOffset(() => target = Utils.randSeedItem(targets), pokemon.scene.currentBattle.waveIndex);
|
||||||
@ -2622,8 +2649,8 @@ export function initAbilities() {
|
|||||||
new Ability(Abilities.TRUANT, 3)
|
new Ability(Abilities.TRUANT, 3)
|
||||||
.attr(PostSummonAddBattlerTagAbAttr, BattlerTagType.TRUANT, 1, false),
|
.attr(PostSummonAddBattlerTagAbAttr, BattlerTagType.TRUANT, 1, false),
|
||||||
new Ability(Abilities.HUSTLE, 3)
|
new Ability(Abilities.HUSTLE, 3)
|
||||||
.attr(BattleStatMultiplierAbAttr, BattleStat.ATK, 1.5)
|
.attr(BattleStatMultiplierAbAttr, BattleStat.ATK, 1.5, (user, target, move) => move.category == MoveCategory.PHYSICAL)
|
||||||
.attr(BattleStatMultiplierAbAttr, BattleStat.ACC, 0.8),
|
.attr(BattleStatMultiplierAbAttr, BattleStat.ACC, 0.8, (user, target, move) => move.category == MoveCategory.PHYSICAL),
|
||||||
new Ability(Abilities.CUTE_CHARM, 3)
|
new Ability(Abilities.CUTE_CHARM, 3)
|
||||||
.attr(PostDefendContactApplyTagChanceAbAttr, 30, BattlerTagType.INFATUATED),
|
.attr(PostDefendContactApplyTagChanceAbAttr, 30, BattlerTagType.INFATUATED),
|
||||||
new Ability(Abilities.PLUS, 3)
|
new Ability(Abilities.PLUS, 3)
|
||||||
@ -3067,17 +3094,21 @@ export function initAbilities() {
|
|||||||
.ignorable()
|
.ignorable()
|
||||||
.partial(),
|
.partial(),
|
||||||
new Ability(Abilities.BATTLE_BOND, 7)
|
new Ability(Abilities.BATTLE_BOND, 7)
|
||||||
|
.attr(PostVictoryFormChangeAbAttr, p => p.getFormKey() ? 2 : 1)
|
||||||
.attr(UncopiableAbilityAbAttr)
|
.attr(UncopiableAbilityAbAttr)
|
||||||
.attr(UnswappableAbilityAbAttr)
|
.attr(UnswappableAbilityAbAttr)
|
||||||
.attr(UnsuppressableAbilityAbAttr)
|
.attr(UnsuppressableAbilityAbAttr)
|
||||||
.attr(NoFusionAbilityAbAttr)
|
.attr(NoFusionAbilityAbAttr)
|
||||||
.unimplemented(),
|
.partial(),
|
||||||
new Ability(Abilities.POWER_CONSTRUCT, 7)
|
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)
|
||||||
|
.attr(PostTurnFormChangeAbAttr, p => p.getHpRatio() <= 0.5 ? 4 : 2)
|
||||||
.attr(UncopiableAbilityAbAttr)
|
.attr(UncopiableAbilityAbAttr)
|
||||||
.attr(UnswappableAbilityAbAttr)
|
.attr(UnswappableAbilityAbAttr)
|
||||||
.attr(UnsuppressableAbilityAbAttr)
|
.attr(UnsuppressableAbilityAbAttr)
|
||||||
.attr(NoFusionAbilityAbAttr)
|
.attr(NoFusionAbilityAbAttr)
|
||||||
.unimplemented(),
|
.partial(),
|
||||||
new Ability(Abilities.CORROSION, 7)
|
new Ability(Abilities.CORROSION, 7)
|
||||||
.unimplemented(),
|
.unimplemented(),
|
||||||
new Ability(Abilities.COMATOSE, 7)
|
new Ability(Abilities.COMATOSE, 7)
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import { Arena } from "../field/arena";
|
import { Arena } from "../field/arena";
|
||||||
import { Type } from "./type";
|
import { Type } from "./type";
|
||||||
import * as Utils from "../utils";
|
import * as Utils from "../utils";
|
||||||
import { MoveCategory, StatChangeAttr, allMoves } from "./move";
|
import { MoveCategory, allMoves } from "./move";
|
||||||
import { getPokemonMessage } from "../messages";
|
import { getPokemonMessage } from "../messages";
|
||||||
import Pokemon, { HitResult, PokemonMove } from "../field/pokemon";
|
import Pokemon, { HitResult, PokemonMove } from "../field/pokemon";
|
||||||
import { MoveEffectPhase, StatChangePhase } from "../phases";
|
import { MoveEffectPhase, PokemonHealPhase, StatChangePhase} from "../phases";
|
||||||
import { StatusEffect } from "./status-effect";
|
import { StatusEffect } from "./status-effect";
|
||||||
import { BattlerIndex } from "../battle";
|
import { BattlerIndex } from "../battle";
|
||||||
import { Moves } from "./enums/moves";
|
import { Moves } from "./enums/moves";
|
||||||
@ -146,6 +146,31 @@ class AuroraVeilTag extends WeakenMoveScreenTag {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class WishTag extends ArenaTag {
|
||||||
|
private battlerIndex: BattlerIndex;
|
||||||
|
private triggerMessage: string;
|
||||||
|
private healHp: number;
|
||||||
|
|
||||||
|
constructor(turnCount: integer, sourceId: integer, side: ArenaTagSide) {
|
||||||
|
super(ArenaTagType.WISH, turnCount, Moves.WISH, sourceId, side);
|
||||||
|
}
|
||||||
|
|
||||||
|
onAdd(arena: Arena): void {
|
||||||
|
const user = arena.scene.getPokemonById(this.sourceId);
|
||||||
|
this.battlerIndex = user.getBattlerIndex();
|
||||||
|
this.triggerMessage = getPokemonMessage(user, '\'s wish\ncame true!');
|
||||||
|
this.healHp = Math.max(Math.floor(user.getMaxHp() / 2), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
onRemove(arena: Arena): void {
|
||||||
|
const target = arena.scene.getField()[this.battlerIndex];
|
||||||
|
if (target?.isActive(true)) {
|
||||||
|
arena.scene.queueMessage(this.triggerMessage);
|
||||||
|
arena.scene.unshiftPhase(new PokemonHealPhase(target.scene, target.getBattlerIndex(), this.healHp, null, true, false));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class WeakenMoveTypeTag extends ArenaTag {
|
export class WeakenMoveTypeTag extends ArenaTag {
|
||||||
private weakenedType: Type;
|
private weakenedType: Type;
|
||||||
|
|
||||||
@ -472,6 +497,8 @@ export function getArenaTag(tagType: ArenaTagType, turnCount: integer, sourceMov
|
|||||||
case ArenaTagType.FUTURE_SIGHT:
|
case ArenaTagType.FUTURE_SIGHT:
|
||||||
case ArenaTagType.DOOM_DESIRE:
|
case ArenaTagType.DOOM_DESIRE:
|
||||||
return new DelayedAttackTag(tagType, sourceMove, sourceId, targetIndex);
|
return new DelayedAttackTag(tagType, sourceMove, sourceId, targetIndex);
|
||||||
|
case ArenaTagType.WISH:
|
||||||
|
return new WishTag(turnCount, sourceId, side);
|
||||||
case ArenaTagType.STEALTH_ROCK:
|
case ArenaTagType.STEALTH_ROCK:
|
||||||
return new StealthRockTag(sourceId, side);
|
return new StealthRockTag(sourceId, side);
|
||||||
case ArenaTagType.STICKY_WEB:
|
case ArenaTagType.STICKY_WEB:
|
||||||
|
@ -62,7 +62,7 @@ export const speciesEggMoves = {
|
|||||||
[Species.MAGIKARP]: [ Moves.FLIP_TURN, Moves.ICE_SPINNER, Moves.LIQUIDATION, Moves.DRAGON_ASCENT ],
|
[Species.MAGIKARP]: [ Moves.FLIP_TURN, Moves.ICE_SPINNER, Moves.LIQUIDATION, Moves.DRAGON_ASCENT ],
|
||||||
[Species.LAPRAS]: [ Moves.RECOVER, Moves.FREEZE_DRY, Moves.CHILLY_RECEPTION, Moves.BOOMBURST ],
|
[Species.LAPRAS]: [ Moves.RECOVER, Moves.FREEZE_DRY, Moves.CHILLY_RECEPTION, Moves.BOOMBURST ],
|
||||||
[Species.DITTO]: [ Moves.MIMIC, Moves.COPYCAT, Moves.ME_FIRST, Moves.METRONOME ],
|
[Species.DITTO]: [ Moves.MIMIC, Moves.COPYCAT, Moves.ME_FIRST, Moves.METRONOME ],
|
||||||
[Species.EEVEE]: [ Moves.WISH, Moves.REVELATION_DANCE, Moves.SIZZLY_SLIDE, Moves.NO_RETREAT ],
|
[Species.EEVEE]: [ Moves.WISH, Moves.REVELATION_DANCE, Moves.TRI_ATTACK, Moves.NO_RETREAT ],
|
||||||
[Species.PORYGON]: [ Moves.BUZZY_BUZZ, Moves.AURA_SPHERE, Moves.TOPSY_TURVY, Moves.TECHNO_BLAST ],
|
[Species.PORYGON]: [ Moves.BUZZY_BUZZ, Moves.AURA_SPHERE, Moves.TOPSY_TURVY, Moves.TECHNO_BLAST ],
|
||||||
[Species.OMANYTE]: [ Moves.SCALD, Moves.EARTH_POWER, Moves.POWER_GEM, Moves.STRENGTH_SAP ],
|
[Species.OMANYTE]: [ Moves.SCALD, Moves.EARTH_POWER, Moves.POWER_GEM, Moves.STRENGTH_SAP ],
|
||||||
[Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.DRILL_RUN, Moves.AQUA_CUTTER, Moves.MIGHTY_CLEAVE ],
|
[Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.DRILL_RUN, Moves.AQUA_CUTTER, Moves.MIGHTY_CLEAVE ],
|
||||||
@ -81,7 +81,7 @@ export const speciesEggMoves = {
|
|||||||
[Species.LEDYBA]: [ Moves.POLLEN_PUFF, Moves.THIEF, Moves.PARTING_SHOT, Moves.SPORE ],
|
[Species.LEDYBA]: [ Moves.POLLEN_PUFF, Moves.THIEF, Moves.PARTING_SHOT, Moves.SPORE ],
|
||||||
[Species.SPINARAK]: [ Moves.PARTING_SHOT, Moves.MEGAHORN, Moves.SILK_TRAP, Moves.STRENGTH_SAP ],
|
[Species.SPINARAK]: [ Moves.PARTING_SHOT, Moves.MEGAHORN, Moves.SILK_TRAP, Moves.STRENGTH_SAP ],
|
||||||
[Species.CHINCHOU]: [ Moves.THUNDERCLAP, Moves.BOUNCY_BUBBLE, Moves.VOLT_SWITCH, Moves.TAIL_GLOW ],
|
[Species.CHINCHOU]: [ Moves.THUNDERCLAP, Moves.BOUNCY_BUBBLE, Moves.VOLT_SWITCH, Moves.TAIL_GLOW ],
|
||||||
[Species.PICHU]: [ Moves.PIKA_PAPOW, Moves.SPLISHY_SPLASH, Moves.FLOATY_FALL, Moves.ZIPPY_ZAP ],
|
[Species.PICHU]: [ Moves.THUNDERCLAP, Moves.SPLISHY_SPLASH, Moves.FLOATY_FALL, Moves.THUNDER_CAGE ],
|
||||||
[Species.CLEFFA]: [ Moves.TAKE_HEART, Moves.POWER_GEM, Moves.WISH, Moves.LIGHT_OF_RUIN ],
|
[Species.CLEFFA]: [ Moves.TAKE_HEART, Moves.POWER_GEM, Moves.WISH, Moves.LIGHT_OF_RUIN ],
|
||||||
[Species.IGGLYBUFF]: [ Moves.MOONBLAST, Moves.APPLE_ACID, Moves.WISH, Moves.BOOMBURST ],
|
[Species.IGGLYBUFF]: [ Moves.MOONBLAST, Moves.APPLE_ACID, Moves.WISH, Moves.BOOMBURST ],
|
||||||
[Species.TOGEPI]: [ Moves.SCORCHING_SANDS, Moves.ROOST, Moves.MOONBLAST, Moves.FIERY_DANCE ],
|
[Species.TOGEPI]: [ Moves.SCORCHING_SANDS, Moves.ROOST, Moves.MOONBLAST, Moves.FIERY_DANCE ],
|
||||||
|
@ -8,6 +8,7 @@ export enum ArenaTagType {
|
|||||||
MIST = "MIST",
|
MIST = "MIST",
|
||||||
FUTURE_SIGHT = "FUTURE_SIGHT",
|
FUTURE_SIGHT = "FUTURE_SIGHT",
|
||||||
DOOM_DESIRE = "DOOM_DESIRE",
|
DOOM_DESIRE = "DOOM_DESIRE",
|
||||||
|
WISH = "WISH",
|
||||||
STEALTH_ROCK = "STEALTH_ROCK",
|
STEALTH_ROCK = "STEALTH_ROCK",
|
||||||
STICKY_WEB = "STICKY_WEB",
|
STICKY_WEB = "STICKY_WEB",
|
||||||
TRICK_ROOM = "TRICK_ROOM",
|
TRICK_ROOM = "TRICK_ROOM",
|
||||||
|
@ -3099,11 +3099,23 @@ export class RandomMovesetMoveAttr extends OverrideMoveEffectAttr {
|
|||||||
const moveTargets = getMoveTargets(user, move.moveId);
|
const moveTargets = getMoveTargets(user, move.moveId);
|
||||||
if (!moveTargets.targets.length)
|
if (!moveTargets.targets.length)
|
||||||
return false;
|
return false;
|
||||||
const targets = moveTargets.multiple || moveTargets.targets.length === 1
|
let selectTargets: BattlerIndex[];
|
||||||
? moveTargets.targets
|
switch (true) {
|
||||||
: moveTargets.targets.indexOf(target.getBattlerIndex()) > -1
|
case (moveTargets.multiple || moveTargets.targets.length === 1): {
|
||||||
? [ target.getBattlerIndex() ]
|
selectTargets = moveTargets.targets;
|
||||||
: [ moveTargets.targets[user.randSeedInt(moveTargets.targets.length)] ];
|
break;
|
||||||
|
}
|
||||||
|
case (moveTargets.targets.indexOf(target.getBattlerIndex()) > -1): {
|
||||||
|
selectTargets = [ target.getBattlerIndex() ];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
moveTargets.targets.splice(moveTargets.targets.indexOf(user.getAlly().getBattlerIndex()));
|
||||||
|
selectTargets = [ moveTargets.targets[user.randSeedInt(moveTargets.targets.length)] ];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const targets = selectTargets;
|
||||||
user.getMoveQueue().push({ move: move.moveId, targets: targets, ignorePP: true });
|
user.getMoveQueue().push({ move: move.moveId, targets: targets, ignorePP: true });
|
||||||
user.scene.unshiftPhase(new MovePhase(user.scene, user, targets, moveset[moveIndex], true));
|
user.scene.unshiftPhase(new MovePhase(user.scene, user, targets, moveset[moveIndex], true));
|
||||||
return true;
|
return true;
|
||||||
@ -4481,7 +4493,7 @@ export function initMoves() {
|
|||||||
.attr(AbilityCopyAttr),
|
.attr(AbilityCopyAttr),
|
||||||
new SelfStatusMove(Moves.WISH, Type.NORMAL, -1, 10, -1, 0, 3)
|
new SelfStatusMove(Moves.WISH, Type.NORMAL, -1, 10, -1, 0, 3)
|
||||||
.triageMove()
|
.triageMove()
|
||||||
.unimplemented(),
|
.attr(AddArenaTagAttr, ArenaTagType.WISH, 2, true),
|
||||||
new SelfStatusMove(Moves.ASSIST, Type.NORMAL, -1, 20, -1, 0, 3)
|
new SelfStatusMove(Moves.ASSIST, Type.NORMAL, -1, 20, -1, 0, 3)
|
||||||
.attr(RandomMovesetMoveAttr, true)
|
.attr(RandomMovesetMoveAttr, true)
|
||||||
.ignoresVirtual(),
|
.ignoresVirtual(),
|
||||||
|
@ -542,11 +542,21 @@ 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.GRENINJA]: [
|
||||||
|
new SpeciesFormChange(Species.GRENINJA, 'battle-bond', 'ash', new SpeciesFormChangeManualTrigger(), true),
|
||||||
|
new SpeciesFormChange(Species.GRENINJA, 'ash', 'battle-bond', new SpeciesFormChangeManualTrigger(), true)
|
||||||
|
],
|
||||||
[Species.AEGISLASH]: [
|
[Species.AEGISLASH]: [
|
||||||
new SpeciesFormChange(Species.AEGISLASH, 'blade', 'shield', new SpeciesFormChangePreMoveTrigger(Moves.KINGS_SHIELD), true, new SpeciesFormChangeCondition(p => p.hasAbility(Abilities.STANCE_CHANGE))),
|
new SpeciesFormChange(Species.AEGISLASH, 'blade', 'shield', new SpeciesFormChangePreMoveTrigger(Moves.KINGS_SHIELD), true, new SpeciesFormChangeCondition(p => p.hasAbility(Abilities.STANCE_CHANGE))),
|
||||||
new SpeciesFormChange(Species.AEGISLASH, 'shield', 'blade', new SpeciesFormChangePreMoveTrigger(m => allMoves[m].category !== MoveCategory.STATUS), true, new SpeciesFormChangeCondition(p => p.hasAbility(Abilities.STANCE_CHANGE))),
|
new SpeciesFormChange(Species.AEGISLASH, 'shield', 'blade', new SpeciesFormChangePreMoveTrigger(m => allMoves[m].category !== MoveCategory.STATUS), true, new SpeciesFormChangeCondition(p => p.hasAbility(Abilities.STANCE_CHANGE))),
|
||||||
new SpeciesFormChange(Species.AEGISLASH, 'blade', 'shield', new SpeciesFormChangeActiveTrigger(false), true)
|
new SpeciesFormChange(Species.AEGISLASH, 'blade', 'shield', new SpeciesFormChangeActiveTrigger(false), true)
|
||||||
],
|
],
|
||||||
|
[Species.ZYGARDE]: [
|
||||||
|
new SpeciesFormChange(Species.ZYGARDE, '50-pc', 'complete', new SpeciesFormChangeManualTrigger(), true),
|
||||||
|
new SpeciesFormChange(Species.ZYGARDE, 'complete', '50-pc', new SpeciesFormChangeManualTrigger(), true),
|
||||||
|
new SpeciesFormChange(Species.ZYGARDE, '10-pc', 'complete', new SpeciesFormChangeManualTrigger(), true),
|
||||||
|
new SpeciesFormChange(Species.ZYGARDE, 'complete', '10-pc', new SpeciesFormChangeManualTrigger(), true)
|
||||||
|
],
|
||||||
[Species.DIANCIE]: [
|
[Species.DIANCIE]: [
|
||||||
new SpeciesFormChange(Species.DIANCIE, '', SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.DIANCITE))
|
new SpeciesFormChange(Species.DIANCIE, '', SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.DIANCITE))
|
||||||
],
|
],
|
||||||
|
@ -396,9 +396,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 36, Moves.THUNDERBOLT ],
|
[ 36, Moves.THUNDERBOLT ],
|
||||||
[ 40, Moves.LIGHT_SCREEN ],
|
[ 40, Moves.LIGHT_SCREEN ],
|
||||||
[ 44, Moves.THUNDER ],
|
[ 44, Moves.THUNDER ],
|
||||||
|
[ 48, Moves.PIKA_PAPOW ],
|
||||||
],
|
],
|
||||||
[Species.RAICHU]: [
|
[Species.RAICHU]: [
|
||||||
[ 0, Moves.THUNDER_PUNCH ],
|
[ 0, Moves.ZIPPY_ZAP ],
|
||||||
[ 1, Moves.TAIL_WHIP ],
|
[ 1, Moves.TAIL_WHIP ],
|
||||||
[ 1, Moves.GROWL ],
|
[ 1, Moves.GROWL ],
|
||||||
[ 1, Moves.THUNDER_SHOCK ],
|
[ 1, Moves.THUNDER_SHOCK ],
|
||||||
@ -418,7 +419,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.ELECTRO_BALL ],
|
[ 1, Moves.ELECTRO_BALL ],
|
||||||
[ 1, Moves.PLAY_NICE ],
|
[ 1, Moves.PLAY_NICE ],
|
||||||
[ 1, Moves.NUZZLE ],
|
[ 1, Moves.NUZZLE ],
|
||||||
|
[ 1, Moves.THUNDER_PUNCH ],
|
||||||
[ 5, Moves.THUNDERBOLT ],
|
[ 5, Moves.THUNDERBOLT ],
|
||||||
|
[ 50, Moves.PIKA_PAPOW ],
|
||||||
],
|
],
|
||||||
[Species.SANDSHREW]: [
|
[Species.SANDSHREW]: [
|
||||||
[ 1, Moves.SCRATCH ],
|
[ 1, Moves.SCRATCH ],
|
||||||
@ -2231,9 +2234,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 45, Moves.CHARM ],
|
[ 45, Moves.CHARM ],
|
||||||
[ 50, Moves.DOUBLE_EDGE ],
|
[ 50, Moves.DOUBLE_EDGE ],
|
||||||
[ 55, Moves.LAST_RESORT ],
|
[ 55, Moves.LAST_RESORT ],
|
||||||
|
[ 60, Moves.VEEVEE_VOLLEY ],
|
||||||
],
|
],
|
||||||
[Species.VAPOREON]: [
|
[Species.VAPOREON]: [
|
||||||
[ 0, Moves.WATER_GUN ],
|
[ 0, Moves.BOUNCY_BUBBLE ],
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
[ 1, Moves.TAKE_DOWN ],
|
[ 1, Moves.TAKE_DOWN ],
|
||||||
[ 1, Moves.DOUBLE_EDGE ],
|
[ 1, Moves.DOUBLE_EDGE ],
|
||||||
@ -2247,19 +2251,20 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.COVET ],
|
[ 1, Moves.COVET ],
|
||||||
[ 1, Moves.COPYCAT ],
|
[ 1, Moves.COPYCAT ],
|
||||||
[ 5, Moves.SAND_ATTACK ],
|
[ 5, Moves.SAND_ATTACK ],
|
||||||
[ 10, Moves.QUICK_ATTACK ],
|
[ 10, Moves.WATER_GUN ],
|
||||||
[ 15, Moves.BABY_DOLL_EYES ],
|
[ 15, Moves.QUICK_ATTACK ],
|
||||||
[ 20, Moves.HAZE ],
|
[ 20, Moves.BABY_DOLL_EYES ],
|
||||||
[ 25, Moves.WATER_PULSE ],
|
[ 25, Moves.HAZE ],
|
||||||
[ 30, Moves.AURORA_BEAM ],
|
[ 30, Moves.WATER_PULSE ],
|
||||||
[ 35, Moves.AQUA_RING ],
|
[ 35, Moves.AURORA_BEAM ],
|
||||||
[ 40, Moves.MUDDY_WATER ],
|
[ 40, Moves.AQUA_RING ],
|
||||||
[ 45, Moves.ACID_ARMOR ],
|
[ 45, Moves.MUDDY_WATER ],
|
||||||
[ 50, Moves.HYDRO_PUMP ],
|
[ 50, Moves.ACID_ARMOR ],
|
||||||
[ 55, Moves.LAST_RESORT ],
|
[ 55, Moves.HYDRO_PUMP ],
|
||||||
|
[ 60, Moves.LAST_RESORT ],
|
||||||
],
|
],
|
||||||
[Species.JOLTEON]: [
|
[Species.JOLTEON]: [
|
||||||
[ 0, Moves.THUNDER_SHOCK ],
|
[ 0, Moves.BUZZY_BUZZ ],
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
[ 1, Moves.TAKE_DOWN ],
|
[ 1, Moves.TAKE_DOWN ],
|
||||||
[ 1, Moves.DOUBLE_EDGE ],
|
[ 1, Moves.DOUBLE_EDGE ],
|
||||||
@ -2273,19 +2278,20 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.COVET ],
|
[ 1, Moves.COVET ],
|
||||||
[ 1, Moves.COPYCAT ],
|
[ 1, Moves.COPYCAT ],
|
||||||
[ 5, Moves.SAND_ATTACK ],
|
[ 5, Moves.SAND_ATTACK ],
|
||||||
[ 10, Moves.QUICK_ATTACK ],
|
[ 10, Moves.THUNDER_SHOCK ],
|
||||||
[ 15, Moves.BABY_DOLL_EYES ],
|
[ 15, Moves.QUICK_ATTACK ],
|
||||||
[ 20, Moves.THUNDER_WAVE ],
|
[ 20, Moves.BABY_DOLL_EYES ],
|
||||||
[ 25, Moves.DOUBLE_KICK ],
|
[ 25, Moves.THUNDER_WAVE ],
|
||||||
[ 30, Moves.THUNDER_FANG ],
|
[ 30, Moves.DOUBLE_KICK ],
|
||||||
[ 35, Moves.PIN_MISSILE ],
|
[ 35, Moves.THUNDER_FANG ],
|
||||||
[ 40, Moves.DISCHARGE ],
|
[ 40, Moves.PIN_MISSILE ],
|
||||||
[ 45, Moves.AGILITY ],
|
[ 45, Moves.DISCHARGE ],
|
||||||
[ 50, Moves.THUNDER ],
|
[ 50, Moves.AGILITY ],
|
||||||
[ 55, Moves.LAST_RESORT ],
|
[ 55, Moves.THUNDER ],
|
||||||
|
[ 60, Moves.LAST_RESORT ],
|
||||||
],
|
],
|
||||||
[Species.FLAREON]: [
|
[Species.FLAREON]: [
|
||||||
[ 0, Moves.EMBER ],
|
[ 0, Moves.SIZZLY_SLIDE ],
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
[ 1, Moves.TAKE_DOWN ],
|
[ 1, Moves.TAKE_DOWN ],
|
||||||
[ 1, Moves.DOUBLE_EDGE ],
|
[ 1, Moves.DOUBLE_EDGE ],
|
||||||
@ -2298,16 +2304,17 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.COVET ],
|
[ 1, Moves.COVET ],
|
||||||
[ 1, Moves.COPYCAT ],
|
[ 1, Moves.COPYCAT ],
|
||||||
[ 5, Moves.SAND_ATTACK ],
|
[ 5, Moves.SAND_ATTACK ],
|
||||||
[ 10, Moves.QUICK_ATTACK ],
|
[ 10, Moves.EMBER ],
|
||||||
[ 15, Moves.BABY_DOLL_EYES ],
|
[ 15, Moves.QUICK_ATTACK ],
|
||||||
[ 20, Moves.SMOG ],
|
[ 20, Moves.BABY_DOLL_EYES ],
|
||||||
[ 25, Moves.BITE ],
|
[ 25, Moves.SMOG ],
|
||||||
[ 30, Moves.FIRE_FANG ],
|
[ 30, Moves.BITE ],
|
||||||
[ 35, Moves.FIRE_SPIN ],
|
[ 35, Moves.FIRE_FANG ],
|
||||||
[ 40, Moves.LAVA_PLUME ],
|
[ 40, Moves.FIRE_SPIN ],
|
||||||
[ 45, Moves.SCARY_FACE ],
|
[ 45, Moves.LAVA_PLUME ],
|
||||||
[ 50, Moves.FLARE_BLITZ ],
|
[ 50, Moves.SCARY_FACE ],
|
||||||
[ 55, Moves.LAST_RESORT ],
|
[ 55, Moves.FLARE_BLITZ ],
|
||||||
|
[ 60, Moves.LAST_RESORT ],
|
||||||
],
|
],
|
||||||
[Species.PORYGON]: [
|
[Species.PORYGON]: [
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
@ -3325,7 +3332,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 52, Moves.EARTHQUAKE ],
|
[ 52, Moves.EARTHQUAKE ],
|
||||||
],
|
],
|
||||||
[Species.ESPEON]: [
|
[Species.ESPEON]: [
|
||||||
[ 0, Moves.CONFUSION ],
|
[ 0, Moves.GLITZY_GLOW ],
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
[ 1, Moves.TAKE_DOWN ],
|
[ 1, Moves.TAKE_DOWN ],
|
||||||
[ 1, Moves.DOUBLE_EDGE ],
|
[ 1, Moves.DOUBLE_EDGE ],
|
||||||
@ -3338,19 +3345,20 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.COVET ],
|
[ 1, Moves.COVET ],
|
||||||
[ 1, Moves.COPYCAT ],
|
[ 1, Moves.COPYCAT ],
|
||||||
[ 5, Moves.SAND_ATTACK ],
|
[ 5, Moves.SAND_ATTACK ],
|
||||||
[ 10, Moves.QUICK_ATTACK ],
|
[ 10, Moves.CONFUSION ],
|
||||||
[ 15, Moves.BABY_DOLL_EYES ],
|
[ 15, Moves.QUICK_ATTACK ],
|
||||||
[ 20, Moves.SWIFT ],
|
[ 20, Moves.BABY_DOLL_EYES ],
|
||||||
[ 25, Moves.PSYBEAM ],
|
[ 25, Moves.SWIFT ],
|
||||||
[ 30, Moves.MORNING_SUN ],
|
[ 30, Moves.PSYBEAM ],
|
||||||
[ 35, Moves.POWER_SWAP ],
|
[ 35, Moves.MORNING_SUN ],
|
||||||
[ 40, Moves.PSYCHIC ],
|
[ 40, Moves.POWER_SWAP ],
|
||||||
[ 45, Moves.PSYCH_UP ],
|
[ 45, Moves.PSYCHIC ],
|
||||||
[ 50, Moves.FUTURE_SIGHT ],
|
[ 50, Moves.PSYCH_UP ],
|
||||||
[ 55, Moves.LAST_RESORT ],
|
[ 55, Moves.FUTURE_SIGHT ],
|
||||||
|
[ 60, Moves.LAST_RESORT ],
|
||||||
],
|
],
|
||||||
[Species.UMBREON]: [
|
[Species.UMBREON]: [
|
||||||
[ 0, Moves.SNARL ],
|
[ 0, Moves.BADDY_BAD ],
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
[ 1, Moves.TAKE_DOWN ],
|
[ 1, Moves.TAKE_DOWN ],
|
||||||
[ 1, Moves.DOUBLE_EDGE ],
|
[ 1, Moves.DOUBLE_EDGE ],
|
||||||
@ -3364,16 +3372,17 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.COVET ],
|
[ 1, Moves.COVET ],
|
||||||
[ 1, Moves.COPYCAT ],
|
[ 1, Moves.COPYCAT ],
|
||||||
[ 5, Moves.SAND_ATTACK ],
|
[ 5, Moves.SAND_ATTACK ],
|
||||||
[ 10, Moves.QUICK_ATTACK ],
|
[ 10, Moves.SNARL ],
|
||||||
[ 15, Moves.BABY_DOLL_EYES ],
|
[ 15, Moves.QUICK_ATTACK ],
|
||||||
[ 20, Moves.CONFUSE_RAY ],
|
[ 20, Moves.BABY_DOLL_EYES ],
|
||||||
[ 25, Moves.ASSURANCE ],
|
[ 25, Moves.CONFUSE_RAY ],
|
||||||
[ 30, Moves.MOONLIGHT ],
|
[ 30, Moves.ASSURANCE ],
|
||||||
[ 35, Moves.GUARD_SWAP ],
|
[ 35, Moves.MOONLIGHT ],
|
||||||
[ 40, Moves.DARK_PULSE ],
|
[ 40, Moves.GUARD_SWAP ],
|
||||||
[ 45, Moves.SCREECH ],
|
[ 45, Moves.DARK_PULSE ],
|
||||||
[ 50, Moves.MEAN_LOOK ],
|
[ 50, Moves.SCREECH ],
|
||||||
[ 55, Moves.LAST_RESORT ],
|
[ 55, Moves.MEAN_LOOK ],
|
||||||
|
[ 60, Moves.LAST_RESORT ],
|
||||||
],
|
],
|
||||||
[Species.MURKROW]: [
|
[Species.MURKROW]: [
|
||||||
[ 1, Moves.PECK ],
|
[ 1, Moves.PECK ],
|
||||||
@ -5586,7 +5595,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[Species.SPINDA]: [
|
[Species.SPINDA]: [
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
[ 5, Moves.COPYCAT ],
|
[ 5, Moves.COPYCAT ],
|
||||||
[ 10, Moves.TEETER_DANCE ],
|
[ 10, Moves.DIZZY_PUNCH ],
|
||||||
[ 14, Moves.PSYBEAM ],
|
[ 14, Moves.PSYBEAM ],
|
||||||
[ 19, Moves.HYPNOSIS ],
|
[ 19, Moves.HYPNOSIS ],
|
||||||
[ 23, Moves.BODY_SLAM ],
|
[ 23, Moves.BODY_SLAM ],
|
||||||
@ -7932,7 +7941,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 49, Moves.U_TURN ],
|
[ 49, Moves.U_TURN ],
|
||||||
],
|
],
|
||||||
[Species.LEAFEON]: [
|
[Species.LEAFEON]: [
|
||||||
[ 0, Moves.RAZOR_LEAF ],
|
[ 0, Moves.SAPPY_SEED ],
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
[ 1, Moves.TAKE_DOWN ],
|
[ 1, Moves.TAKE_DOWN ],
|
||||||
[ 1, Moves.DOUBLE_EDGE ],
|
[ 1, Moves.DOUBLE_EDGE ],
|
||||||
@ -7946,19 +7955,20 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.COVET ],
|
[ 1, Moves.COVET ],
|
||||||
[ 1, Moves.COPYCAT ],
|
[ 1, Moves.COPYCAT ],
|
||||||
[ 5, Moves.SAND_ATTACK ],
|
[ 5, Moves.SAND_ATTACK ],
|
||||||
[ 10, Moves.QUICK_ATTACK ],
|
[ 10, Moves.RAZOR_LEAF ],
|
||||||
[ 15, Moves.BABY_DOLL_EYES ],
|
[ 15, Moves.QUICK_ATTACK ],
|
||||||
[ 20, Moves.LEECH_SEED ],
|
[ 20, Moves.BABY_DOLL_EYES ],
|
||||||
[ 25, Moves.MAGICAL_LEAF ],
|
[ 25, Moves.LEECH_SEED ],
|
||||||
[ 30, Moves.SYNTHESIS ],
|
[ 30, Moves.MAGICAL_LEAF ],
|
||||||
[ 35, Moves.SUNNY_DAY ],
|
[ 35, Moves.SYNTHESIS ],
|
||||||
[ 40, Moves.GIGA_DRAIN ],
|
[ 40, Moves.SUNNY_DAY ],
|
||||||
[ 45, Moves.SWORDS_DANCE ],
|
[ 45, Moves.GIGA_DRAIN ],
|
||||||
[ 50, Moves.LEAF_BLADE ],
|
[ 50, Moves.SWORDS_DANCE ],
|
||||||
[ 55, Moves.LAST_RESORT ],
|
[ 55, Moves.LEAF_BLADE ],
|
||||||
|
[ 60, Moves.LAST_RESORT ],
|
||||||
],
|
],
|
||||||
[Species.GLACEON]: [
|
[Species.GLACEON]: [
|
||||||
[ 0, Moves.ICY_WIND ],
|
[ 0, Moves.FREEZY_FROST ],
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
[ 1, Moves.TAKE_DOWN ],
|
[ 1, Moves.TAKE_DOWN ],
|
||||||
[ 1, Moves.DOUBLE_EDGE ],
|
[ 1, Moves.DOUBLE_EDGE ],
|
||||||
@ -7971,16 +7981,17 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.COVET ],
|
[ 1, Moves.COVET ],
|
||||||
[ 1, Moves.COPYCAT ],
|
[ 1, Moves.COPYCAT ],
|
||||||
[ 5, Moves.SAND_ATTACK ],
|
[ 5, Moves.SAND_ATTACK ],
|
||||||
[ 10, Moves.QUICK_ATTACK ],
|
[ 10, Moves.ICY_WIND ],
|
||||||
[ 15, Moves.BABY_DOLL_EYES ],
|
[ 15, Moves.QUICK_ATTACK ],
|
||||||
[ 20, Moves.ICE_SHARD ],
|
[ 20, Moves.BABY_DOLL_EYES ],
|
||||||
[ 25, Moves.BITE ],
|
[ 25, Moves.ICE_SHARD ],
|
||||||
[ 30, Moves.ICE_FANG ],
|
[ 30, Moves.BITE ],
|
||||||
[ 35, Moves.SNOWSCAPE ],
|
[ 35, Moves.ICE_FANG ],
|
||||||
[ 40, Moves.FREEZE_DRY ],
|
[ 40, Moves.SNOWSCAPE ],
|
||||||
[ 45, Moves.MIRROR_COAT ],
|
[ 45, Moves.FREEZE_DRY ],
|
||||||
[ 50, Moves.BLIZZARD ],
|
[ 50, Moves.MIRROR_COAT ],
|
||||||
[ 55, Moves.LAST_RESORT ],
|
[ 55, Moves.BLIZZARD ],
|
||||||
|
[ 60, Moves.LAST_RESORT ],
|
||||||
],
|
],
|
||||||
[Species.GLISCOR]: [
|
[Species.GLISCOR]: [
|
||||||
[ 1, Moves.SAND_ATTACK ],
|
[ 1, Moves.SAND_ATTACK ],
|
||||||
@ -11822,7 +11833,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 66, Moves.HYPER_BEAM ],
|
[ 66, Moves.HYPER_BEAM ],
|
||||||
],
|
],
|
||||||
[Species.SYLVEON]: [
|
[Species.SYLVEON]: [
|
||||||
[ 0, Moves.DISARMING_VOICE ],
|
[ 0, Moves.SPARKLY_SWIRL ],
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
[ 1, Moves.TAKE_DOWN ],
|
[ 1, Moves.TAKE_DOWN ],
|
||||||
[ 1, Moves.DOUBLE_EDGE ],
|
[ 1, Moves.DOUBLE_EDGE ],
|
||||||
@ -11835,16 +11846,17 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.COVET ],
|
[ 1, Moves.COVET ],
|
||||||
[ 1, Moves.COPYCAT ],
|
[ 1, Moves.COPYCAT ],
|
||||||
[ 5, Moves.SAND_ATTACK ],
|
[ 5, Moves.SAND_ATTACK ],
|
||||||
[ 10, Moves.QUICK_ATTACK ],
|
[ 10, Moves.DISARMING_VOICE ],
|
||||||
[ 15, Moves.BABY_DOLL_EYES ],
|
[ 15, Moves.QUICK_ATTACK ],
|
||||||
[ 20, Moves.SWIFT ],
|
[ 20, Moves.BABY_DOLL_EYES ],
|
||||||
[ 25, Moves.LIGHT_SCREEN ],
|
[ 25, Moves.SWIFT ],
|
||||||
[ 30, Moves.DRAINING_KISS ],
|
[ 30, Moves.LIGHT_SCREEN ],
|
||||||
[ 35, Moves.MISTY_TERRAIN ],
|
[ 35, Moves.DRAINING_KISS ],
|
||||||
[ 40, Moves.SKILL_SWAP ],
|
[ 40, Moves.MISTY_TERRAIN ],
|
||||||
[ 45, Moves.PSYCH_UP ],
|
[ 45, Moves.SKILL_SWAP ],
|
||||||
[ 50, Moves.MOONBLAST ],
|
[ 50, Moves.PSYCH_UP ],
|
||||||
[ 55, Moves.LAST_RESORT ],
|
[ 55, Moves.MOONBLAST ],
|
||||||
|
[ 60, Moves.LAST_RESORT ],
|
||||||
],
|
],
|
||||||
[Species.HAWLUCHA]: [
|
[Species.HAWLUCHA]: [
|
||||||
[ 1, Moves.TACKLE ],
|
[ 1, Moves.TACKLE ],
|
||||||
@ -17237,6 +17249,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
],
|
],
|
||||||
[Species.ALOLA_RAICHU]: [
|
[Species.ALOLA_RAICHU]: [
|
||||||
[ 0, Moves.PSYCHIC ],
|
[ 0, Moves.PSYCHIC ],
|
||||||
|
[ 0, Moves.ZIPPY_ZAP ],
|
||||||
[ 1, Moves.TAIL_WHIP ],
|
[ 1, Moves.TAIL_WHIP ],
|
||||||
[ 1, Moves.GROWL ],
|
[ 1, Moves.GROWL ],
|
||||||
[ 1, Moves.THUNDER_SHOCK ],
|
[ 1, Moves.THUNDER_SHOCK ],
|
||||||
@ -17257,6 +17270,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
|
|||||||
[ 1, Moves.PLAY_NICE ],
|
[ 1, Moves.PLAY_NICE ],
|
||||||
[ 1, Moves.NUZZLE ],
|
[ 1, Moves.NUZZLE ],
|
||||||
[ 5, Moves.THUNDERBOLT ],
|
[ 5, Moves.THUNDERBOLT ],
|
||||||
|
[ 50, Moves.PIKA_PAPOW ],
|
||||||
],
|
],
|
||||||
[Species.ALOLA_SANDSHREW]: [
|
[Species.ALOLA_SANDSHREW]: [
|
||||||
[ 1, Moves.SCRATCH ],
|
[ 1, Moves.SCRATCH ],
|
||||||
|
@ -1748,8 +1748,14 @@ export function initSpecies() {
|
|||||||
new PokemonSpecies(Species.FENNEKIN, 6, false, false, false, "Fox Pokémon", Type.FIRE, null, 0.4, 9.4, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 307, 40, 45, 40, 62, 60, 60, 45, 70, 61, GrowthRate.MEDIUM_SLOW, 87.5, false),
|
new PokemonSpecies(Species.FENNEKIN, 6, false, false, false, "Fox Pokémon", Type.FIRE, null, 0.4, 9.4, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 307, 40, 45, 40, 62, 60, 60, 45, 70, 61, GrowthRate.MEDIUM_SLOW, 87.5, false),
|
||||||
new PokemonSpecies(Species.BRAIXEN, 6, false, false, false, "Fox Pokémon", Type.FIRE, null, 1, 14.5, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 409, 59, 59, 58, 90, 70, 73, 45, 70, 143, GrowthRate.MEDIUM_SLOW, 87.5, false),
|
new PokemonSpecies(Species.BRAIXEN, 6, false, false, false, "Fox Pokémon", Type.FIRE, null, 1, 14.5, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 409, 59, 59, 58, 90, 70, 73, 45, 70, 143, GrowthRate.MEDIUM_SLOW, 87.5, false),
|
||||||
new PokemonSpecies(Species.DELPHOX, 6, false, false, false, "Fox Pokémon", Type.FIRE, Type.PSYCHIC, 1.5, 39, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 534, 75, 69, 72, 114, 100, 104, 45, 70, 240, GrowthRate.MEDIUM_SLOW, 87.5, false),
|
new PokemonSpecies(Species.DELPHOX, 6, false, false, false, "Fox Pokémon", Type.FIRE, Type.PSYCHIC, 1.5, 39, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 534, 75, 69, 72, 114, 100, 104, 45, 70, 240, GrowthRate.MEDIUM_SLOW, 87.5, false),
|
||||||
new PokemonSpecies(Species.FROAKIE, 6, false, false, false, "Bubble Frog Pokémon", Type.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false),
|
new PokemonSpecies(Species.FROAKIE, 6, false, false, false, "Bubble Frog Pokémon", Type.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false, false,
|
||||||
new PokemonSpecies(Species.FROGADIER, 6, false, false, false, "Bubble Frog Pokémon", Type.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false),
|
new PokemonForm("Normal", "", Type.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63),
|
||||||
|
new PokemonForm("Battle Bond", "battle-bond", Type.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, false, ""),
|
||||||
|
),
|
||||||
|
new PokemonSpecies(Species.FROGADIER, 6, false, false, false, "Bubble Frog Pokémon", Type.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false, false,
|
||||||
|
new PokemonForm("Normal", "", Type.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142),
|
||||||
|
new PokemonForm("Battle Bond", "battle-bond", Type.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, false, ""),
|
||||||
|
),
|
||||||
new PokemonSpecies(Species.GRENINJA, 6, false, false, false, "Ninja Pokémon", Type.WATER, Type.DARK, 1.5, 40, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 239, GrowthRate.MEDIUM_SLOW, 87.5, false, false,
|
new PokemonSpecies(Species.GRENINJA, 6, false, false, false, "Ninja Pokémon", Type.WATER, Type.DARK, 1.5, 40, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 239, GrowthRate.MEDIUM_SLOW, 87.5, false, false,
|
||||||
new PokemonForm("Normal", "", Type.WATER, Type.DARK, 1.5, 40, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 239),
|
new PokemonForm("Normal", "", Type.WATER, Type.DARK, 1.5, 40, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 239),
|
||||||
new PokemonForm("Battle Bond", "battle-bond", Type.WATER, Type.DARK, 1.5, 40, Abilities.BATTLE_BOND, Abilities.NONE, Abilities.BATTLE_BOND, 530, 72, 95, 67, 103, 71, 122, 45, 70, 239, false, ""),
|
new PokemonForm("Battle Bond", "battle-bond", Type.WATER, Type.DARK, 1.5, 40, Abilities.BATTLE_BOND, Abilities.NONE, Abilities.BATTLE_BOND, 530, 72, 95, 67, 103, 71, 122, 45, 70, 239, false, ""),
|
||||||
|
@ -97,7 +97,7 @@ export const trainerNamePools = {
|
|||||||
[TrainerType.MAID]: ["Belinda","Sophie","Emily","Elena","Clare","Alica","Tanya","Tammy"],
|
[TrainerType.MAID]: ["Belinda","Sophie","Emily","Elena","Clare","Alica","Tanya","Tammy"],
|
||||||
[TrainerType.MUSICIAN]: ["Boris","Preston","Charles","Clyde","Vincent","Dalton","Kirk","Shawn","Fabian","Fernando","Joseph","Marcos","Arturo","Jerry","Lonnie","Tony"],
|
[TrainerType.MUSICIAN]: ["Boris","Preston","Charles","Clyde","Vincent","Dalton","Kirk","Shawn","Fabian","Fernando","Joseph","Marcos","Arturo","Jerry","Lonnie","Tony"],
|
||||||
[TrainerType.NURSERY_AIDE]: ["Autumn","Briana","Leah","Miho","Ethel","Hollie","Ilse","June","Kimya","Rosalyn"],
|
[TrainerType.NURSERY_AIDE]: ["Autumn","Briana","Leah","Miho","Ethel","Hollie","Ilse","June","Kimya","Rosalyn"],
|
||||||
[TrainerType.OFFICER]: ["Dirk","Keith","Alex","Bobby","Caleb","Danny","Dylan","Thomas","Daniel","Jeff","Braven","Dell","Neagle","Haruki","Mitchell","Sheriff","Raymond"],
|
[TrainerType.OFFICER]: ["Dirk","Keith","Alex","Bobby","Caleb","Danny","Dylan","Thomas","Daniel","Jeff","Braven","Dell","Neagle","Haruki","Mitchell","Raymond"],
|
||||||
[TrainerType.PARASOL_LADY]: ["Angelica","Clarissa","Madeline","Akari","Annabell","Kayley","Rachel","Alexa","Sabrina","April","Gwyneth","Laura","Lumi","Mariah","Melita","Nicole","Tihana","Ingrid","Tyra"],
|
[TrainerType.PARASOL_LADY]: ["Angelica","Clarissa","Madeline","Akari","Annabell","Kayley","Rachel","Alexa","Sabrina","April","Gwyneth","Laura","Lumi","Mariah","Melita","Nicole","Tihana","Ingrid","Tyra"],
|
||||||
[TrainerType.PILOT]: ["Chase","Leonard","Ted","Elron","Ewing","Flynn","Winslow"],
|
[TrainerType.PILOT]: ["Chase","Leonard","Ted","Elron","Ewing","Flynn","Winslow"],
|
||||||
[TrainerType.POKEFAN]: [["Alex","Allan","Brandon","Carter","Colin","Derek","Jeremy","Joshua","Rex","Robert","Trevor","William","Colton","Miguel","Francisco","Kaleb","Leonard","Boone","Elliot","Jude","Norbert","Corey","Gabe","Baxter"],["Beverly","Georgia","Jaime","Ruth","Isabel","Marissa","Vanessa","Annika","Bethany","Kimberly","Meredith","Rebekah","Eleanor","Darcy","Lydia","Sachiko","Abigail","Agnes","Lydie","Roisin","Tara","Carmen","Janet"]],
|
[TrainerType.POKEFAN]: [["Alex","Allan","Brandon","Carter","Colin","Derek","Jeremy","Joshua","Rex","Robert","Trevor","William","Colton","Miguel","Francisco","Kaleb","Leonard","Boone","Elliot","Jude","Norbert","Corey","Gabe","Baxter"],["Beverly","Georgia","Jaime","Ruth","Isabel","Marissa","Vanessa","Annika","Bethany","Kimberly","Meredith","Rebekah","Eleanor","Darcy","Lydia","Sachiko","Abigail","Agnes","Lydie","Roisin","Tara","Carmen","Janet"]],
|
||||||
|
@ -18,8 +18,7 @@ import { TimeOfDay } from "../data/enums/time-of-day";
|
|||||||
import { Terrain, TerrainType } from "../data/terrain";
|
import { Terrain, TerrainType } from "../data/terrain";
|
||||||
import { PostTerrainChangeAbAttr, PostWeatherChangeAbAttr, applyPostTerrainChangeAbAttrs, applyPostWeatherChangeAbAttrs } from "../data/ability";
|
import { PostTerrainChangeAbAttr, PostWeatherChangeAbAttr, applyPostTerrainChangeAbAttrs, applyPostWeatherChangeAbAttrs } from "../data/ability";
|
||||||
import Pokemon from "./pokemon";
|
import Pokemon from "./pokemon";
|
||||||
|
import { WEATHER_OVERRIDE } from '../overrides';
|
||||||
const WEATHER_OVERRIDE = WeatherType.NONE;
|
|
||||||
|
|
||||||
export class Arena {
|
export class Arena {
|
||||||
public scene: BattleScene;
|
public scene: BattleScene;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import Phaser from 'phaser';
|
import Phaser from 'phaser';
|
||||||
import BattleScene, { ABILITY_OVERRIDE, AnySound, MOVE_OVERRIDE, OPP_ABILITY_OVERRIDE, OPP_MOVE_OVERRIDE, OPP_SHINY_OVERRIDE, OPP_VARIANT_OVERRIDE } from '../battle-scene';
|
import BattleScene, { AnySound } from '../battle-scene';
|
||||||
import { Variant, VariantSet, variantColorCache } from '#app/data/variant';
|
import { Variant, VariantSet, variantColorCache } from '#app/data/variant';
|
||||||
import { variantData } from '#app/data/variant';
|
import { variantData } from '#app/data/variant';
|
||||||
import BattleInfo, { PlayerBattleInfo, EnemyBattleInfo } from '../ui/battle-info';
|
import BattleInfo, { PlayerBattleInfo, EnemyBattleInfo } from '../ui/battle-info';
|
||||||
@ -43,6 +43,7 @@ import { Nature, getNatureStatMultiplier } from '../data/nature';
|
|||||||
import { SpeciesFormChange, SpeciesFormChangeActiveTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangeStatusEffectTrigger } from '../data/pokemon-forms';
|
import { SpeciesFormChange, SpeciesFormChangeActiveTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangeStatusEffectTrigger } from '../data/pokemon-forms';
|
||||||
import { TerrainType } from '../data/terrain';
|
import { TerrainType } from '../data/terrain';
|
||||||
import { TrainerSlot } from '../data/trainer-config';
|
import { TrainerSlot } from '../data/trainer-config';
|
||||||
|
import { ABILITY_OVERRIDE, MOVE_OVERRIDE, OPP_ABILITY_OVERRIDE, OPP_MOVE_OVERRIDE, OPP_SHINY_OVERRIDE, OPP_VARIANT_OVERRIDE } from '../overrides';
|
||||||
|
|
||||||
export enum FieldPosition {
|
export enum FieldPosition {
|
||||||
CENTER,
|
CENTER,
|
||||||
@ -657,7 +658,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
getHpRatio(precise: boolean = false): number {
|
getHpRatio(precise: boolean = false): number {
|
||||||
return precise
|
return precise
|
||||||
? this.hp / this.getMaxHp()
|
? this.hp / this.getMaxHp()
|
||||||
: ((this.hp / this.getMaxHp()) * 100) / 100;
|
: Math.round((this.hp / this.getMaxHp()) * 100) / 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
generateGender(): void {
|
generateGender(): void {
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
import { fixedBattles } from "./battle";
|
import { fixedBattles } from "./battle";
|
||||||
import BattleScene, { STARTING_BIOME_OVERRIDE, STARTING_LEVEL_OVERRIDE, STARTING_MONEY_OVERRIDE } from "./battle-scene";
|
import BattleScene from "./battle-scene";
|
||||||
import { Biome } from "./data/enums/biome";
|
import { Biome } from "./data/enums/biome";
|
||||||
import { Species } from "./data/enums/species";
|
import { Species } from "./data/enums/species";
|
||||||
import PokemonSpecies, { allSpecies } from "./data/pokemon-species";
|
import PokemonSpecies, { allSpecies } from "./data/pokemon-species";
|
||||||
import { Arena } from "./field/arena";
|
import { Arena } from "./field/arena";
|
||||||
import * as Utils from "./utils";
|
import * as Utils from "./utils";
|
||||||
|
import { STARTING_BIOME_OVERRIDE, STARTING_LEVEL_OVERRIDE, STARTING_MONEY_OVERRIDE } from './overrides';
|
||||||
|
|
||||||
export enum GameModes {
|
export enum GameModes {
|
||||||
CLASSIC,
|
CLASSIC,
|
||||||
|
@ -59,4 +59,9 @@ export const menu: SimpleTranslationEntries = {
|
|||||||
"escapeVerbSwitch": "auswechseln",
|
"escapeVerbSwitch": "auswechseln",
|
||||||
"escapeVerbFlee": "flucht",
|
"escapeVerbFlee": "flucht",
|
||||||
"notDisabled": "{{moveName}} ist\nnicht mehr deaktiviert!",
|
"notDisabled": "{{moveName}} ist\nnicht mehr deaktiviert!",
|
||||||
|
"rankings": "Rankings",
|
||||||
|
"dailyRankings": "Daily Rankings",
|
||||||
|
"noRankings": "No Rankings",
|
||||||
|
"loading": "Loading…",
|
||||||
|
"playersOnline": "Players Online"
|
||||||
} as const;
|
} as const;
|
@ -387,102 +387,102 @@ export const pokemon: SimpleTranslationEntries = {
|
|||||||
"rayquaza": "Rayquaza",
|
"rayquaza": "Rayquaza",
|
||||||
"jirachi": "Jirachi",
|
"jirachi": "Jirachi",
|
||||||
"deoxys": "Deoxys",
|
"deoxys": "Deoxys",
|
||||||
"turtwig": "Turtwig",
|
"turtwig": "Chelast",
|
||||||
"grotle": "Grotle",
|
"grotle": "Chelcarain",
|
||||||
"torterra": "Torterra",
|
"torterra": "Chelterrar",
|
||||||
"chimchar": "Chimchar",
|
"chimchar": "Panflam",
|
||||||
"monferno": "Monferno",
|
"monferno": "Panpyro",
|
||||||
"infernape": "Infernape",
|
"infernape": "Panferno",
|
||||||
"piplup": "Piplup",
|
"piplup": "Plinfa",
|
||||||
"prinplup": "Prinplup",
|
"prinplup": "Pilprin",
|
||||||
"empoleon": "Empoleon",
|
"empoleon": "Impoleon",
|
||||||
"starly": "Starly",
|
"starly": "Staralili",
|
||||||
"staravia": "Staravia",
|
"staravia": "Staravia",
|
||||||
"staraptor": "Staraptor",
|
"staraptor": "Staraptor",
|
||||||
"bidoof": "Bidoof",
|
"bidoof": "Bidiza",
|
||||||
"bibarel": "Bibarel",
|
"bibarel": "Bidifas",
|
||||||
"kricketot": "Kricketot",
|
"kricketot": "Zirpurze",
|
||||||
"kricketune": "Kricketune",
|
"kricketune": "Zirpeise",
|
||||||
"shinx": "Shinx",
|
"shinx": "Sheinux",
|
||||||
"luxio": "Luxio",
|
"luxio": "Luxio",
|
||||||
"luxray": "Luxray",
|
"luxray": "Luxray",
|
||||||
"budew": "Budew",
|
"budew": "Knospi",
|
||||||
"roserade": "Roserade",
|
"roserade": "Roserade",
|
||||||
"cranidos": "Cranidos",
|
"cranidos": "Koknodon",
|
||||||
"rampardos": "Rampardos",
|
"rampardos": "Rameidon",
|
||||||
"shieldon": "Shieldon",
|
"shieldon": "Schilterus",
|
||||||
"bastiodon": "Bastiodon",
|
"bastiodon": "Bollterus",
|
||||||
"burmy": "Burmy",
|
"burmy": "Burmy",
|
||||||
"wormadam": "Wormadam",
|
"wormadam": "Burmadame",
|
||||||
"mothim": "Mothim",
|
"mothim": "Moterpel",
|
||||||
"combee": "Combee",
|
"combee": "Wadribie",
|
||||||
"vespiquen": "Vespiquen",
|
"vespiquen": "Hornwiesel",
|
||||||
"pachirisu": "Pachirisu",
|
"pachirisu": "Pachirisu",
|
||||||
"buizel": "Buizel",
|
"buizel": "Bamelin",
|
||||||
"floatzel": "Floatzel",
|
"floatzel": "Bojelin",
|
||||||
"cherubi": "Cherubi",
|
"cherubi": "Kikugi",
|
||||||
"cherrim": "Cherrim",
|
"cherrim": "Kinoso",
|
||||||
"shellos": "Shellos",
|
"shellos": "Schalellos",
|
||||||
"gastrodon": "Gastrodon",
|
"gastrodon": "Gastrodon",
|
||||||
"ambipom": "Ambipom",
|
"ambipom": "Ambidifel",
|
||||||
"drifloon": "Drifloon",
|
"drifloon": "Driftlon",
|
||||||
"drifblim": "Drifblim",
|
"drifblim": "Drifzepeli",
|
||||||
"buneary": "Buneary",
|
"buneary": "Haspiror",
|
||||||
"lopunny": "Lopunny",
|
"lopunny": "Schlapor",
|
||||||
"mismagius": "Mismagius",
|
"mismagius": "Traunmagil",
|
||||||
"honchkrow": "Honchkrow",
|
"honchkrow": "Kramshef",
|
||||||
"glameow": "Glameow",
|
"glameow": "Charmian",
|
||||||
"purugly": "Purugly",
|
"purugly": "Shnurgarst",
|
||||||
"chingling": "Chingling",
|
"chingling": "Klingplim",
|
||||||
"stunky": "Stunky",
|
"stunky": "Skunkapuh",
|
||||||
"skuntank": "Skuntank",
|
"skuntank": "Skuntank",
|
||||||
"bronzor": "Bronzor",
|
"bronzor": "Bronzel",
|
||||||
"bronzong": "Bronzong",
|
"bronzong": "Bronzong",
|
||||||
"bonsly": "Bonsly",
|
"bonsly": "Mobai",
|
||||||
"mime_jr": "Mime Jr.",
|
"mime_jr": "Pantimimi",
|
||||||
"happiny": "Happiny",
|
"happiny": "Wonneira",
|
||||||
"chatot": "Chatot",
|
"chatot": "Plaudagei",
|
||||||
"spiritomb": "Spiritomb",
|
"spiritomb": "Kryppuk",
|
||||||
"gible": "Gible",
|
"gible": "Kaumalat",
|
||||||
"gabite": "Gabite",
|
"gabite": "Knarksel",
|
||||||
"garchomp": "Garchomp",
|
"garchomp": "Knackrack",
|
||||||
"munchlax": "Munchlax",
|
"munchlax": "Mampfaxo",
|
||||||
"riolu": "Riolu",
|
"riolu": "Riolu",
|
||||||
"lucario": "Lucario",
|
"lucario": "Lucario",
|
||||||
"hippopotas": "Hippopotas",
|
"hippopotas": "Hippopotas",
|
||||||
"hippowdon": "Hippowdon",
|
"hippowdon": "Hippoterus",
|
||||||
"skorupi": "Skorupi",
|
"skorupi": "Pionskora",
|
||||||
"drapion": "Drapion",
|
"drapion": "Piondragi",
|
||||||
"croagunk": "Croagunk",
|
"croagunk": "Glibunkel",
|
||||||
"toxicroak": "Toxicroak",
|
"toxicroak": "Toxiquak",
|
||||||
"carnivine": "Carnivine",
|
"carnivine": "Venuflibis",
|
||||||
"finneon": "Finneon",
|
"finneon": "Finneon",
|
||||||
"lumineon": "Lumineon",
|
"lumineon": "Lumineon",
|
||||||
"mantyke": "Mantyke",
|
"mantyke": "Mantirps",
|
||||||
"snover": "Snover",
|
"snover": "Shnebedeck",
|
||||||
"abomasnow": "Abomasnow",
|
"abomasnow": "Rexblisar",
|
||||||
"weavile": "Weavile",
|
"weavile": "Snibunna",
|
||||||
"magnezone": "Magnezone",
|
"magnezone": "Magnezone",
|
||||||
"lickilicky": "Lickilicky",
|
"lickilicky": "Schlurplek",
|
||||||
"rhyperior": "Rhyperior",
|
"rhyperior": "Rihornior",
|
||||||
"tangrowth": "Tangrowth",
|
"tangrowth": "Tangoloss",
|
||||||
"electivire": "Electivire",
|
"electivire": "Elevoltek",
|
||||||
"magmortar": "Magmortar",
|
"magmortar": "Magbrant",
|
||||||
"togekiss": "Togekiss",
|
"togekiss": "Togekiss",
|
||||||
"yanmega": "Yanmega",
|
"yanmega": "Yanmega",
|
||||||
"leafeon": "Leafeon",
|
"leafeon": "Folipurba",
|
||||||
"glaceon": "Glaceon",
|
"glaceon": "Glaziola",
|
||||||
"gliscor": "Gliscor",
|
"gliscor": "Skorgro",
|
||||||
"mamoswine": "Mamoswine",
|
"mamoswine": "Mamutel",
|
||||||
"porygon_z": "Porygon-Z",
|
"porygon_z": "Porygon-Z",
|
||||||
"gallade": "Gallade",
|
"gallade": "Galagladi",
|
||||||
"probopass": "Probopass",
|
"probopass": "Voluminas",
|
||||||
"dusknoir": "Dusknoir",
|
"dusknoir": "Zwirrfinst",
|
||||||
"froslass": "Froslass",
|
"froslass": "Frosdedje",
|
||||||
"rotom": "Rotom",
|
"rotom": "Rotom",
|
||||||
"uxie": "Uxie",
|
"uxie": "Selfe",
|
||||||
"mesprit": "Mesprit",
|
"mesprit": "Vesprit",
|
||||||
"azelf": "Azelf",
|
"azelf": "Tobutz",
|
||||||
"dialga": "Dialga",
|
"dialga": "Dialga",
|
||||||
"palkia": "Palkia",
|
"palkia": "Palkia",
|
||||||
"heatran": "Heatran",
|
"heatran": "Heatran",
|
||||||
@ -495,116 +495,116 @@ export const pokemon: SimpleTranslationEntries = {
|
|||||||
"shaymin": "Shaymin",
|
"shaymin": "Shaymin",
|
||||||
"arceus": "Arceus",
|
"arceus": "Arceus",
|
||||||
"victini": "Victini",
|
"victini": "Victini",
|
||||||
"snivy": "Snivy",
|
"snivy": "Serpifeu",
|
||||||
"servine": "Servine",
|
"servine": "Efoserp",
|
||||||
"serperior": "Serperior",
|
"serperior": "Serpiroyal",
|
||||||
"tepig": "Tepig",
|
"tepig": "Floink",
|
||||||
"pignite": "Pignite",
|
"pignite": "Ferkokel",
|
||||||
"emboar": "Emboar",
|
"emboar": "Flambirex",
|
||||||
"oshawott": "Oshawott",
|
"oshawott": "Ottaro",
|
||||||
"dewott": "Dewott",
|
"dewott": "Zwottronin",
|
||||||
"samurott": "Samurott",
|
"samurott": "Admurai",
|
||||||
"patrat": "Patrat",
|
"patrat": "Nagelotz",
|
||||||
"watchog": "Watchog",
|
"watchog": "Kukmarda",
|
||||||
"lillipup": "Lillipup",
|
"lillipup": "Yorkleff",
|
||||||
"herdier": "Herdier",
|
"herdier": "Terribark",
|
||||||
"stoutland": "Stoutland",
|
"stoutland": "Bissbark",
|
||||||
"purrloin": "Purrloin",
|
"purrloin": "Felilou",
|
||||||
"liepard": "Liepard",
|
"liepard": "Kleoparda",
|
||||||
"pansage": "Pansage",
|
"pansage": "Vegimak",
|
||||||
"simisage": "Simisage",
|
"simisage": "Vegichita",
|
||||||
"pansear": "Pansear",
|
"pansear": "Grillmak",
|
||||||
"simisear": "Simisear",
|
"simisear": "Grillchita",
|
||||||
"panpour": "Panpour",
|
"panpour": "Sodamak",
|
||||||
"simipour": "Simipour",
|
"simipour": "Sodachita",
|
||||||
"munna": "Munna",
|
"munna": "Somniam",
|
||||||
"musharna": "Musharna",
|
"musharna": "Somnivora",
|
||||||
"pidove": "Pidove",
|
"pidove": "Dusslgurr",
|
||||||
"tranquill": "Tranquill",
|
"tranquill": "Navitaub",
|
||||||
"unfezant": "Unfezant",
|
"unfezant": "Fasasnob",
|
||||||
"blitzle": "Blitzle",
|
"blitzle": "Elezeba",
|
||||||
"zebstrika": "Zebstrika",
|
"zebstrika": "Zebritz",
|
||||||
"roggenrola": "Roggenrola",
|
"roggenrola": "Kiesling",
|
||||||
"boldore": "Boldore",
|
"boldore": "Sedimantur",
|
||||||
"gigalith": "Gigalith",
|
"gigalith": "Brockoloss",
|
||||||
"woobat": "Woobat",
|
"woobat": "Fleknoil",
|
||||||
"swoobat": "Swoobat",
|
"swoobat": "Fletiamo",
|
||||||
"drilbur": "Drilbur",
|
"drilbur": "Rotomurf",
|
||||||
"excadrill": "Excadrill",
|
"excadrill": "Stalobor",
|
||||||
"audino": "Audino",
|
"audino": "Ohrdoch",
|
||||||
"timburr": "Timburr",
|
"timburr": "Praktibalk",
|
||||||
"gurdurr": "Gurdurr",
|
"gurdurr": "Strepoli",
|
||||||
"conkeldurr": "Conkeldurr",
|
"conkeldurr": "Meistagriff",
|
||||||
"tympole": "Tympole",
|
"tympole": "Schallquap",
|
||||||
"palpitoad": "Palpitoad",
|
"palpitoad": "Membrana",
|
||||||
"seismitoad": "Seismitoad",
|
"seismitoad": "Branawarz",
|
||||||
"throh": "Throh",
|
"throh": "Juitesto",
|
||||||
"sawk": "Sawk",
|
"sawk": "Karadonis",
|
||||||
"sewaddle": "Sewaddle",
|
"sewaddle": "Strawickl",
|
||||||
"swadloon": "Swadloon",
|
"swadloon": "Folikon",
|
||||||
"leavanny": "Leavanny",
|
"leavanny": "Matrifol",
|
||||||
"venipede": "Venipede",
|
"venipede": "Toxiped",
|
||||||
"whirlipede": "Whirlipede",
|
"whirlipede": "Rollum",
|
||||||
"scolipede": "Scolipede",
|
"scolipede": "Cerapendra",
|
||||||
"cottonee": "Cottonee",
|
"cottonee": "Waumboll",
|
||||||
"whimsicott": "Whimsicott",
|
"whimsicott": "Elfun",
|
||||||
"petilil": "Petilil",
|
"petilil": "Lilminip",
|
||||||
"lilligant": "Lilligant",
|
"lilligant": "Dressella",
|
||||||
"basculin": "Basculin",
|
"basculin": "Barschuft",
|
||||||
"sandile": "Sandile",
|
"sandile": "Ganovil",
|
||||||
"krokorok": "Krokorok",
|
"krokorok": "Rokkaiman",
|
||||||
"krookodile": "Krookodile",
|
"krookodile": "Rabigator",
|
||||||
"darumaka": "Darumaka",
|
"darumaka": "Flampion",
|
||||||
"darmanitan": "Darmanitan",
|
"darmanitan": "Flampavian",
|
||||||
"maractus": "Maractus",
|
"maractus": "Maracamba",
|
||||||
"dwebble": "Dwebble",
|
"dwebble": "Lithomith",
|
||||||
"crustle": "Crustle",
|
"crustle": "Castellith",
|
||||||
"scraggy": "Scraggy",
|
"scraggy": "Zurrokex",
|
||||||
"scrafty": "Scrafty",
|
"scrafty": "Irokex",
|
||||||
"sigilyph": "Sigilyph",
|
"sigilyph": "Symvolara",
|
||||||
"yamask": "Yamask",
|
"yamask": "Makabaja",
|
||||||
"cofagrigus": "Cofagrigus",
|
"cofagrigus": "Echnatoll",
|
||||||
"tirtouga": "Tirtouga",
|
"tirtouga": "Galapaflos",
|
||||||
"carracosta": "Carracosta",
|
"carracosta": "Karippas",
|
||||||
"archen": "Archen",
|
"archen": "Flapteryx",
|
||||||
"archeops": "Archeops",
|
"archeops": "Aeropteryx",
|
||||||
"trubbish": "Trubbish",
|
"trubbish": "Unratütox",
|
||||||
"garbodor": "Garbodor",
|
"garbodor": "Deponitox",
|
||||||
"zorua": "Zorua",
|
"zorua": "Zorua",
|
||||||
"zoroark": "Zoroark",
|
"zoroark": "Zoroark",
|
||||||
"minccino": "Minccino",
|
"minccino": "Picochilla",
|
||||||
"cinccino": "Cinccino",
|
"cinccino": "Chillabell",
|
||||||
"gothita": "Gothita",
|
"gothita": "Mollimorba",
|
||||||
"gothorita": "Gothorita",
|
"gothorita": "Hypnomorba",
|
||||||
"gothitelle": "Gothitelle",
|
"gothitelle": "Morbitesse",
|
||||||
"solosis": "Solosis",
|
"solosis": "Monozyto",
|
||||||
"duosion": "Duosion",
|
"duosion": "Mitodos",
|
||||||
"reuniclus": "Reuniclus",
|
"reuniclus": "Zytomega",
|
||||||
"ducklett": "Ducklett",
|
"ducklett": "Piccolente",
|
||||||
"swanna": "Swanna",
|
"swanna": "Swaroness",
|
||||||
"vanillite": "Vanillite",
|
"vanillite": "Gelatini",
|
||||||
"vanillish": "Vanillish",
|
"vanillish": "Gelatroppo",
|
||||||
"vanilluxe": "Vanilluxe",
|
"vanilluxe": "Gelatwino",
|
||||||
"deerling": "Deerling",
|
"deerling": "Sesokitz",
|
||||||
"sawsbuck": "Sawsbuck",
|
"sawsbuck": "Kronjuwild",
|
||||||
"emolga": "Emolga",
|
"emolga": "Emolga",
|
||||||
"karrablast": "Karrablast",
|
"karrablast": "Laukaps",
|
||||||
"escavalier": "Escavalier",
|
"escavalier": "Cavalanzas",
|
||||||
"foongus": "Foongus",
|
"foongus": "Tarnpignon",
|
||||||
"amoonguss": "Amoonguss",
|
"amoonguss": "Hutsassa",
|
||||||
"frillish": "Frillish",
|
"frillish": "Quabbel",
|
||||||
"jellicent": "Jellicent",
|
"jellicent": "Apoquallyp",
|
||||||
"alomomola": "Alomomola",
|
"alomomola": "Mamolida",
|
||||||
"joltik": "Joltik",
|
"joltik": "Wattzapf",
|
||||||
"galvantula": "Galvantula",
|
"galvantula": "Voltula",
|
||||||
"ferroseed": "Ferroseed",
|
"ferroseed": "Kastadur",
|
||||||
"ferrothorn": "Ferrothorn",
|
"ferrothorn": "Tentantel",
|
||||||
"klink": "Klink",
|
"klink": "Klikk",
|
||||||
"klang": "Klang",
|
"klang": "Kliklak",
|
||||||
"klinklang": "Klinklang",
|
"klinklang": "Klikdiklak",
|
||||||
"tynamo": "Tynamo",
|
"tynamo": "Zapplardin",
|
||||||
"eelektrik": "Eelektrik",
|
"eelektrik": "Zapplalek",
|
||||||
"eelektross": "Eelektross",
|
"eelektross": "Zapplarang",
|
||||||
"elgyem": "Elgyem",
|
"elgyem": "Elgyem",
|
||||||
"beheeyem": "Beheeyem",
|
"beheeyem": "Beheeyem",
|
||||||
"litwick": "Litwick",
|
"litwick": "Litwick",
|
||||||
|
@ -78,4 +78,9 @@ export const menu: SimpleTranslationEntries = {
|
|||||||
"skipItemQuestion": "Are you sure you want to skip taking an item?",
|
"skipItemQuestion": "Are you sure you want to skip taking an item?",
|
||||||
"eggHatching": "Oh?",
|
"eggHatching": "Oh?",
|
||||||
"ivScannerUseQuestion": "Use IV Scanner on {{pokemonName}}?",
|
"ivScannerUseQuestion": "Use IV Scanner on {{pokemonName}}?",
|
||||||
|
"rankings": "Rankings",
|
||||||
|
"dailyRankings": "Daily Rankings",
|
||||||
|
"noRankings": "No Rankings",
|
||||||
|
"loading": "Loading…",
|
||||||
|
"playersOnline": "Players Online"
|
||||||
} as const;
|
} as const;
|
@ -61,5 +61,10 @@ export const menu: SimpleTranslationEntries = {
|
|||||||
"notDisabled": "¡El movimiento {{moveName}}\nya no está anulado!",
|
"notDisabled": "¡El movimiento {{moveName}}\nya no está anulado!",
|
||||||
"skipItemQuestion": "¿Estás seguro de que no quieres coger un objeto?",
|
"skipItemQuestion": "¿Estás seguro de que no quieres coger un objeto?",
|
||||||
"eggHatching": "¿Y esto?",
|
"eggHatching": "¿Y esto?",
|
||||||
"ivScannerUseQuestion": "¿Quieres usar el Escáner de IVs en {{pokemonName}}?"
|
"ivScannerUseQuestion": "¿Quieres usar el Escáner de IVs en {{pokemonName}}?",
|
||||||
|
"rankings": "Rankings",
|
||||||
|
"dailyRankings": "Daily Rankings",
|
||||||
|
"noRankings": "No Rankings",
|
||||||
|
"loading": "Loading…",
|
||||||
|
"playersOnline": "Players Online"
|
||||||
} as const;
|
} as const;
|
@ -73,4 +73,9 @@ export const menu: SimpleTranslationEntries = {
|
|||||||
"skipItemQuestion": "Êtes-vous sûr·e de ne pas vouloir prendre d’objet ?",
|
"skipItemQuestion": "Êtes-vous sûr·e de ne pas vouloir prendre d’objet ?",
|
||||||
"eggHatching": "Oh ?",
|
"eggHatching": "Oh ?",
|
||||||
"ivScannerUseQuestion": "Utiliser le Scanner d’IV sur {{pokemonName}} ?",
|
"ivScannerUseQuestion": "Utiliser le Scanner d’IV sur {{pokemonName}} ?",
|
||||||
|
"rankings": "Rankings",
|
||||||
|
"dailyRankings": "Daily Rankings",
|
||||||
|
"noRankings": "No Rankings",
|
||||||
|
"loading": "Loading…",
|
||||||
|
"playersOnline": "Players Online"
|
||||||
} as const;
|
} as const;
|
||||||
|
@ -1,38 +1,43 @@
|
|||||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
export const tutorial: SimpleTranslationEntries = {
|
export const tutorial: SimpleTranslationEntries = {
|
||||||
"intro": `Welcome to PokéRogue! This is a battle-focused Pokémon fangame with roguelite elements.
|
"intro": `Bienvenue dans PokéRogue, un fangame axé sur les combats Pokémon avec des éléments roguelite !
|
||||||
$This game is not monetized and we claim no ownership of Pokémon nor of the copyrighted assets used.
|
$Ce jeu n’est pas monétisé et nous ne prétendons pas à la propriété de Pokémon, ni des éléments sous copyright
|
||||||
$The game is a work in progress, but fully playable.\nFor bug reports, please use the Discord community.
|
$utilisés.
|
||||||
$If the game runs slowly, please ensure 'Hardware Acceleration' is turned on in your browser settings.`,
|
$Ce jeu est toujours en développement, mais entièrement jouable.
|
||||||
|
$Tout signalement de bugs passe par le serveur Discord.
|
||||||
"accessMenu": `To access the menu, press M or Escape while awaiting input.\nThe menu contains settings and various features.`,
|
$Si le jeu est lent, vérifiez que l’Accélération Matérielle est activée dans les paramètres du navigateur.`,
|
||||||
|
|
||||||
"menu": `From this menu you can access the settings.
|
|
||||||
$From the settings you can change game speed, window style, and other options.
|
|
||||||
$There are also various other features here, so be sure to check them all!`,
|
|
||||||
|
|
||||||
"starterSelect": `From this screen, you can select your starters.\nThese are your initial party members.
|
"accessMenu": `Accédez au menu avec M ou Échap lors de l'attente d’une\naction.
|
||||||
$Each starter has a value. Your party can have up to\n6 members as long as the total does not exceed 10.
|
$Il contient les paramètres et diverses fonctionnalités`,
|
||||||
$You can also select gender, ability, and form depending on\nthe variants you've caught or hatched.
|
|
||||||
$The IVs for a species are also the best of every one you've\ncaught or hatched, so try to get lots of the same species!`,
|
|
||||||
|
|
||||||
"pokerus": `A daily random 3 selectable starters have a purple border.
|
"menu": `Vous pouvez accéder aux paramètres depuis ce menu.
|
||||||
$If you see a starter you own with one of these,\ntry adding it to your party. Be sure to check its summary!`,
|
$Vous pouvez entre autres y changer la vitesse du jeu ou le style de fenêtre.
|
||||||
|
$Il y a également toute une variété d’autres fonctionnalités,
|
||||||
|
$jetez-y un œil !`,
|
||||||
|
|
||||||
"selectItem": `After every battle, you are given a choice of 3 random items.\nYou may only pick one.
|
"starterSelect": `Choisissez vos starters depuis cet écran.\nIls formeront votre équipe de départ.
|
||||||
$These range from consumables, to Pokémon held items, to passive permanent items.
|
$Chacun possède une valeur. Votre équipe peut avoir jusqu’à\n6 membres, tant que vous ne dépassez pas un coût de 10.
|
||||||
$Most non-consumable item effects will stack in various ways.
|
$Vous pouvez aussi choisir le sexe, le talent et la forme en\nfonction des variants déjà capturés ou éclos.
|
||||||
$Some items will only show up if they can be used, such as evolution items.
|
$Les IVs d’un starter sont les meilleurs de tous ceux de son\nespèce déjà obtenus. Essayez donc d’en obtenir plusieurs !`,
|
||||||
$You can also transfer held items between Pokémon using the transfer option.
|
|
||||||
$The transfer option will appear in the bottom right once you have obtained a held item.
|
|
||||||
$You may purchase consumable items with money, and a larger variety will be available the further you get.
|
|
||||||
$Be sure to buy these before you pick your random item, as it will progress to the next battle once you do.`,
|
|
||||||
|
|
||||||
"eggGacha": `From this screen, you can redeem your vouchers for\nPokémon eggs.
|
"pokerus": `Chaque jour, 3 starters tirés aléatoirement ont un contour
|
||||||
$Eggs have to be hatched and get closer to hatching after\nevery battle. Rarer eggs take longer to hatch.
|
$violet. Si un starter que vous possédez l’a, essayez de
|
||||||
$Hatched Pokémon also won't be added to your party, they will\nbe added to your starters.
|
$ l’ajouter à votre équipe. Vérifiez bien son résumé !`,
|
||||||
$Pokémon hatched from eggs generally have better IVs than\nwild Pokémon.
|
|
||||||
$Some Pokémon can only even be obtained from eggs.
|
"selectItem": `Après chaque combat, vous avez le choix entre 3 objets\ntirés au sort. Vous ne pouvez en prendre qu’un.
|
||||||
$There are 3 different machines to pull from with different\nbonuses, so pick the one that suits you best!`,
|
$Cela peut être des objets consommables, des objets à\nfaire tenir, ou des objets passifs aux effets permanents.
|
||||||
|
$La plupart des effets des objets non-consommables se cumuleront de diverses manières.
|
||||||
|
$Certains objets apparaîtront s’ils peuvent être utilisés, comme les objets d’évolution.
|
||||||
|
$Vous pouvez aussi transférer des objets tenus entre Pokémon en utilisant l’option de transfert.
|
||||||
|
$L’option de transfert apparaît en bas à droite dès que vous avez obtenu un objet à faire tenir.
|
||||||
|
$Vous pouvez acheter des consommables avec de l’argent.\nPlus vous progressez, plus le choix sera varié.
|
||||||
|
$Choisir un des objets gratuits déclenchera le prochain combat, donc faites bien tous vos achats avant.`,
|
||||||
|
|
||||||
|
"eggGacha": `Depuis cet écran, vous pouvez échanger vos coupons\ncontre des Œufs de Pokémon.
|
||||||
|
$Les Œufs éclosent après avoir remporté un certain nombre\nde combats. Les plus rares mettent plus de temps.
|
||||||
|
$Les Pokémon éclos ne rejoindront pas votre équipe,\nmais seront ajoutés à vos starters.
|
||||||
|
$Les Pokémon issus d’Œufs ont généralement de\nmeilleurs IVs que les Pokémon sauvages.
|
||||||
|
$Certains Pokémon ne peuvent être obtenus\nque dans des Œufs.
|
||||||
|
$Il y a 3 différentes machines à actionner avec différents\nbonus, prenez celle qui vous convient le mieux !`,
|
||||||
} as const;
|
} as const;
|
@ -6,5 +6,10 @@ export const menu: SimpleTranslationEntries = {
|
|||||||
"newGame": "Nuova Partita",
|
"newGame": "Nuova Partita",
|
||||||
"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.",
|
||||||
|
"rankings": "Rankings",
|
||||||
|
"dailyRankings": "Daily Rankings",
|
||||||
|
"noRankings": "No Rankings",
|
||||||
|
"loading": "Loading…",
|
||||||
|
"playersOnline": "Players Online"
|
||||||
} as const;
|
} as const;
|
23
src/overrides.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import { Species } from './data/enums/species';
|
||||||
|
import { Abilities } from "./data/enums/abilities";
|
||||||
|
import { Biome } from "./data/enums/biome";
|
||||||
|
import { Moves } from "./data/enums/moves";
|
||||||
|
import { WeatherType } from "./data/weather";
|
||||||
|
|
||||||
|
export const SEED_OVERRIDE = '';
|
||||||
|
export const STARTER_SPECIES_OVERRIDE = 0;
|
||||||
|
export const STARTER_FORM_OVERRIDE = 0;
|
||||||
|
export const STARTING_LEVEL_OVERRIDE = 0;
|
||||||
|
export const STARTING_WAVE_OVERRIDE = 0;
|
||||||
|
export const STARTING_BIOME_OVERRIDE = Biome.TOWN;
|
||||||
|
export const STARTING_MONEY_OVERRIDE = 0;
|
||||||
|
export const WEATHER_OVERRIDE = WeatherType.NONE;
|
||||||
|
|
||||||
|
export const ABILITY_OVERRIDE = Abilities.NONE;
|
||||||
|
export const MOVE_OVERRIDE = Moves.NONE;
|
||||||
|
export const OPP_SPECIES_OVERRIDE = 0;
|
||||||
|
export const OPP_ABILITY_OVERRIDE = Abilities.NONE;
|
||||||
|
export const OPP_MOVE_OVERRIDE = Moves.NONE;
|
||||||
|
|
||||||
|
export const OPP_SHINY_OVERRIDE = false;
|
||||||
|
export const OPP_VARIANT_OVERRIDE = 0;
|
@ -1,4 +1,4 @@
|
|||||||
import BattleScene, { STARTER_FORM_OVERRIDE, STARTER_SPECIES_OVERRIDE, bypassLogin, startingWave } from "./battle-scene";
|
import BattleScene, { bypassLogin, startingWave } from "./battle-scene";
|
||||||
import { default as Pokemon, PlayerPokemon, EnemyPokemon, PokemonMove, MoveResult, DamageResult, FieldPosition, HitResult, TurnMove } from "./field/pokemon";
|
import { default as Pokemon, PlayerPokemon, EnemyPokemon, PokemonMove, MoveResult, DamageResult, FieldPosition, HitResult, TurnMove } from "./field/pokemon";
|
||||||
import * as Utils from './utils';
|
import * as Utils from './utils';
|
||||||
import { Moves } from "./data/enums/moves";
|
import { Moves } from "./data/enums/moves";
|
||||||
@ -58,6 +58,7 @@ import { fetchDailyRunSeed, getDailyRunStarters } from "./data/daily-run";
|
|||||||
import { GameModes, gameModes } from "./game-mode";
|
import { GameModes, gameModes } from "./game-mode";
|
||||||
import { getPokemonSpecies, speciesStarters } from "./data/pokemon-species";
|
import { getPokemonSpecies, speciesStarters } from "./data/pokemon-species";
|
||||||
import i18next from './plugins/i18n';
|
import i18next from './plugins/i18n';
|
||||||
|
import { STARTER_FORM_OVERRIDE, STARTER_SPECIES_OVERRIDE } from './overrides';
|
||||||
|
|
||||||
export class LoginPhase extends Phase {
|
export class LoginPhase extends Phase {
|
||||||
private showText: boolean;
|
private showText: boolean;
|
||||||
@ -2548,7 +2549,7 @@ export class MoveEffectPhase extends PokemonPhase {
|
|||||||
: 3 / (3 + Math.min(targetEvasionLevel.value - userAccuracyLevel.value, 6));
|
: 3 / (3 + Math.min(targetEvasionLevel.value - userAccuracyLevel.value, 6));
|
||||||
}
|
}
|
||||||
|
|
||||||
applyBattleStatMultiplierAbAttrs(BattleStatMultiplierAbAttr, user, BattleStat.ACC, accuracyMultiplier);
|
applyBattleStatMultiplierAbAttrs(BattleStatMultiplierAbAttr, user, BattleStat.ACC, accuracyMultiplier, this.move.getMove());
|
||||||
|
|
||||||
const evasionMultiplier = new Utils.NumberHolder(1);
|
const evasionMultiplier = new Utils.NumberHolder(1);
|
||||||
applyBattleStatMultiplierAbAttrs(BattleStatMultiplierAbAttr, this.getTarget(), BattleStat.EVA, evasionMultiplier);
|
applyBattleStatMultiplierAbAttrs(BattleStatMultiplierAbAttr, this.getTarget(), BattleStat.EVA, evasionMultiplier);
|
||||||
|
@ -2,6 +2,7 @@ import BattleScene from "../battle-scene";
|
|||||||
import { TextStyle, addTextObject } from "./text";
|
import { TextStyle, addTextObject } from "./text";
|
||||||
import { WindowVariant, addWindow } from "./ui-theme";
|
import { WindowVariant, addWindow } from "./ui-theme";
|
||||||
import * as Utils from "../utils";
|
import * as Utils from "../utils";
|
||||||
|
import i18next from "i18next";
|
||||||
|
|
||||||
interface RankingEntry {
|
interface RankingEntry {
|
||||||
rank: integer,
|
rank: integer,
|
||||||
@ -39,7 +40,7 @@ export class DailyRunScoreboard extends Phaser.GameObjects.Container {
|
|||||||
const titleWindow = addWindow(this.scene, 0, 0, 114, 18, false, false, null, null, WindowVariant.THIN);
|
const titleWindow = addWindow(this.scene, 0, 0, 114, 18, false, false, null, null, WindowVariant.THIN);
|
||||||
this.add(titleWindow);
|
this.add(titleWindow);
|
||||||
|
|
||||||
this.titleLabel = addTextObject(this.scene, titleWindow.displayWidth / 2, titleWindow.displayHeight / 2, 'Daily Rankings', TextStyle.WINDOW, { fontSize: '64px' });
|
this.titleLabel = addTextObject(this.scene, titleWindow.displayWidth / 2, titleWindow.displayHeight / 2, i18next.t('menu:dailyRankings'), TextStyle.WINDOW, { fontSize: '64px' });
|
||||||
this.titleLabel.setOrigin(0.5, 0.5);
|
this.titleLabel.setOrigin(0.5, 0.5);
|
||||||
this.add(this.titleLabel);
|
this.add(this.titleLabel);
|
||||||
|
|
||||||
@ -141,7 +142,7 @@ export class DailyRunScoreboard extends Phaser.GameObjects.Container {
|
|||||||
update(category: ScoreboardCategory = this.category, page: integer = this.page) {
|
update(category: ScoreboardCategory = this.category, page: integer = this.page) {
|
||||||
this.rankingsContainer.removeAll(true);
|
this.rankingsContainer.removeAll(true);
|
||||||
|
|
||||||
this.loadingLabel.setText('Loading…');
|
this.loadingLabel.setText(i18next.t('menu:loading'));
|
||||||
this.loadingLabel.setVisible(true);
|
this.loadingLabel.setVisible(true);
|
||||||
|
|
||||||
if (category !== this.category)
|
if (category !== this.category)
|
||||||
@ -155,7 +156,7 @@ export class DailyRunScoreboard extends Phaser.GameObjects.Container {
|
|||||||
.then(jsonResponse => {
|
.then(jsonResponse => {
|
||||||
this.page = page;
|
this.page = page;
|
||||||
this.category = category;
|
this.category = category;
|
||||||
this.titleLabel.setText(`${Utils.toReadableString(ScoreboardCategory[category])} Rankings`);
|
this.titleLabel.setText(`${Utils.toReadableString(ScoreboardCategory[category])} ${i18next.t("menu:rankings")}`);
|
||||||
this.prevPageButton.setAlpha(page > 1 ? 1 : 0.5);
|
this.prevPageButton.setAlpha(page > 1 ? 1 : 0.5);
|
||||||
this.nextPageButton.setAlpha(page < this.pageCount ? 1 : 0.5);
|
this.nextPageButton.setAlpha(page < this.pageCount ? 1 : 0.5);
|
||||||
this.pageNumberLabel.setText(page.toString());
|
this.pageNumberLabel.setText(page.toString());
|
||||||
@ -163,7 +164,7 @@ export class DailyRunScoreboard extends Phaser.GameObjects.Container {
|
|||||||
this.loadingLabel.setVisible(false);
|
this.loadingLabel.setVisible(false);
|
||||||
this.updateRankings(jsonResponse);
|
this.updateRankings(jsonResponse);
|
||||||
} else
|
} else
|
||||||
this.loadingLabel.setText('No Rankings');
|
this.loadingLabel.setText(i18next.t('menu:noRankings'));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -383,6 +383,7 @@ export default class PartyUiHandler extends MessageUiHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const slotCount = this.partySlots.length;
|
const slotCount = this.partySlots.length;
|
||||||
|
const battlerCount = this.scene.currentBattle.getBattlerCount();
|
||||||
|
|
||||||
switch (button) {
|
switch (button) {
|
||||||
case Button.UP:
|
case Button.UP:
|
||||||
@ -392,14 +393,20 @@ export default class PartyUiHandler extends MessageUiHandler {
|
|||||||
success = this.setCursor(this.cursor < 6 ? this.cursor < slotCount - 1 ? this.cursor + 1 : 6 : 0);
|
success = this.setCursor(this.cursor < 6 ? this.cursor < slotCount - 1 ? this.cursor + 1 : 6 : 0);
|
||||||
break;
|
break;
|
||||||
case Button.LEFT:
|
case Button.LEFT:
|
||||||
if (this.cursor >= this.scene.currentBattle.getBattlerCount() && this.cursor < 6)
|
if (this.cursor >= battlerCount && this.cursor <= 6)
|
||||||
success = this.setCursor(0);
|
success = this.setCursor(0);
|
||||||
break;
|
break;
|
||||||
case Button.RIGHT:
|
case Button.RIGHT:
|
||||||
const battlerCount = this.scene.currentBattle.getBattlerCount();
|
if (slotCount === battlerCount){
|
||||||
if (slotCount > battlerCount && this.cursor < battlerCount)
|
success = this.setCursor(6);
|
||||||
success = this.setCursor(this.lastCursor < 6 ? this.lastCursor || battlerCount : battlerCount);
|
|
||||||
break;
|
break;
|
||||||
|
} else if (battlerCount >= 2 && slotCount > battlerCount && this.getCursor() === 0 && this.lastCursor === 1){
|
||||||
|
success = this.setCursor(2);
|
||||||
|
break;
|
||||||
|
} else if (slotCount > battlerCount && this.cursor < battlerCount){
|
||||||
|
success = this.setCursor(this.lastCursor < 6 ? this.lastCursor || battlerCount : battlerCount);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,7 +203,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
this.starterSelectContainer.add(this.shinyOverlay);
|
this.starterSelectContainer.add(this.shinyOverlay);
|
||||||
|
|
||||||
const starterContainerWindow = addWindow(this.scene, 141, 1, 178, 178);
|
const starterContainerWindow = addWindow(this.scene, 141, 1, 178, 178);
|
||||||
|
|
||||||
this.starterSelectContainer.add(addWindow(this.scene, 107, 1, 34, 58));
|
this.starterSelectContainer.add(addWindow(this.scene, 107, 1, 34, 58));
|
||||||
this.starterSelectContainer.add(addWindow(this.scene, 107, 59, 34, 91));
|
this.starterSelectContainer.add(addWindow(this.scene, 107, 59, 34, 91));
|
||||||
this.starterSelectContainer.add(addWindow(this.scene, 107, 145, 34, 34, true));
|
this.starterSelectContainer.add(addWindow(this.scene, 107, 145, 34, 34, true));
|
||||||
@ -318,7 +318,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
this.genCursorObj.setVisible(false);
|
this.genCursorObj.setVisible(false);
|
||||||
this.genCursorObj.setOrigin(0, 0);
|
this.genCursorObj.setOrigin(0, 0);
|
||||||
this.starterSelectContainer.add(this.genCursorObj);
|
this.starterSelectContainer.add(this.genCursorObj);
|
||||||
|
|
||||||
this.valueLimitLabel = addTextObject(this.scene, 124, 150, '0/10', TextStyle.TOOLTIP_CONTENT);
|
this.valueLimitLabel = addTextObject(this.scene, 124, 150, '0/10', TextStyle.TOOLTIP_CONTENT);
|
||||||
this.valueLimitLabel.setOrigin(0.5, 0);
|
this.valueLimitLabel.setOrigin(0.5, 0);
|
||||||
this.starterSelectContainer.add(this.valueLimitLabel);
|
this.starterSelectContainer.add(this.valueLimitLabel);
|
||||||
@ -333,7 +333,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
this.starterSelectContainer.add(this.startCursorObj);
|
this.starterSelectContainer.add(this.startCursorObj);
|
||||||
|
|
||||||
const starterSpecies: Species[] = [];
|
const starterSpecies: Species[] = [];
|
||||||
|
|
||||||
for (let g = 0; g < this.starterSelectGenIconContainers.length; g++) {
|
for (let g = 0; g < this.starterSelectGenIconContainers.length; g++) {
|
||||||
let s = 0;
|
let s = 0;
|
||||||
this.genSpecies.push([]);
|
this.genSpecies.push([]);
|
||||||
@ -498,7 +498,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
|
|
||||||
const eggMovesLabel = addTextObject(this.scene, -46, 0, 'Egg Moves', TextStyle.WINDOW_ALT);
|
const eggMovesLabel = addTextObject(this.scene, -46, 0, 'Egg Moves', TextStyle.WINDOW_ALT);
|
||||||
eggMovesLabel.setOrigin(0.5, 0);
|
eggMovesLabel.setOrigin(0.5, 0);
|
||||||
|
|
||||||
this.pokemonEggMovesContainer.add(eggMovesLabel);
|
this.pokemonEggMovesContainer.add(eggMovesLabel);
|
||||||
|
|
||||||
for (let m = 0; m < 4; m++) {
|
for (let m = 0; m < 4; m++) {
|
||||||
@ -552,7 +552,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
species = getPokemonSpecies(randomSpeciesId);
|
species = getPokemonSpecies(randomSpeciesId);
|
||||||
pokerusCursor = this.genSpecies[species.generation - 1].indexOf(species);
|
pokerusCursor = this.genSpecies[species.generation - 1].indexOf(species);
|
||||||
};
|
};
|
||||||
|
|
||||||
let dupe = false;
|
let dupe = false;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
@ -1049,7 +1049,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
ui.playSelect();
|
ui.playSelect();
|
||||||
else if (error)
|
else if (error)
|
||||||
@ -1086,7 +1086,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
this.scene.gameData.starterData[speciesId].moveset = this.starterMoveset.slice(0) as StarterMoveset;
|
this.scene.gameData.starterData[speciesId].moveset = this.starterMoveset.slice(0) as StarterMoveset;
|
||||||
this.setSpeciesDetails(this.lastSpecies, undefined, undefined, undefined, undefined, undefined, undefined, false);
|
this.setSpeciesDetails(this.lastSpecies, undefined, undefined, undefined, undefined, undefined, undefined, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateInstructions(): void {
|
updateInstructions(): void {
|
||||||
let instructionLines = [ ];
|
let instructionLines = [ ];
|
||||||
let cycleInstructionLines = [];
|
let cycleInstructionLines = [];
|
||||||
@ -1212,7 +1212,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
setGenMode(genMode: boolean): boolean {
|
setGenMode(genMode: boolean): boolean {
|
||||||
this.genCursorObj.setVisible(genMode && !this.startCursorObj.visible);
|
this.genCursorObj.setVisible(genMode && !this.startCursorObj.visible);
|
||||||
this.cursorObj.setVisible(!genMode && !this.startCursorObj.visible);
|
this.cursorObj.setVisible(!genMode && !this.startCursorObj.visible);
|
||||||
|
|
||||||
if (genMode !== this.genMode) {
|
if (genMode !== this.genMode) {
|
||||||
this.genMode = genMode;
|
this.genMode = genMode;
|
||||||
|
|
||||||
@ -1311,7 +1311,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
const defaultAbilityIndex = this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species);
|
const defaultAbilityIndex = this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species);
|
||||||
const defaultNature = this.scene.gameData.getSpeciesDefaultNature(species);
|
const defaultNature = this.scene.gameData.getSpeciesDefaultNature(species);
|
||||||
props = this.scene.gameData.getSpeciesDexAttrProps(species, defaultDexAttr);
|
props = this.scene.gameData.getSpeciesDexAttrProps(species, defaultDexAttr);
|
||||||
|
|
||||||
this.setSpeciesDetails(species, props.shiny, props.formIndex, props.female, props.variant, defaultAbilityIndex, defaultNature);
|
this.setSpeciesDetails(species, props.shiny, props.formIndex, props.female, props.variant, defaultAbilityIndex, defaultNature);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1319,7 +1319,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
this.setTypeIcons(speciesForm.type1, speciesForm.type2);
|
this.setTypeIcons(speciesForm.type1, speciesForm.type2);
|
||||||
|
|
||||||
this.pokemonSprite.clearTint();
|
this.pokemonSprite.clearTint();
|
||||||
if (this.pokerusCursors.find((cursor: integer, i: integer) => cursor === this.cursor && this.pokerusGens[i] === this.genCursor))
|
if (this.pokerusCursors.find((cursor: integer, i: integer) => cursor === this.cursor && this.pokerusGens[i] === this.getGenCursorWithScroll()))
|
||||||
handleTutorial(this.scene, Tutorial.Pokerus);
|
handleTutorial(this.scene, Tutorial.Pokerus);
|
||||||
} else {
|
} else {
|
||||||
this.pokemonGrowthRateText.setText('');
|
this.pokemonGrowthRateText.setText('');
|
||||||
@ -1341,7 +1341,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
const defaultAbilityIndex = this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species);
|
const defaultAbilityIndex = this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species);
|
||||||
const defaultNature = this.scene.gameData.getSpeciesDefaultNature(species);
|
const defaultNature = this.scene.gameData.getSpeciesDefaultNature(species);
|
||||||
const props = this.scene.gameData.getSpeciesDexAttrProps(species, defaultDexAttr);
|
const props = this.scene.gameData.getSpeciesDexAttrProps(species, defaultDexAttr);
|
||||||
|
|
||||||
this.setSpeciesDetails(species, props.shiny, props.formIndex, props.female, props.variant, defaultAbilityIndex, defaultNature, true);
|
this.setSpeciesDetails(species, props.shiny, props.formIndex, props.female, props.variant, defaultAbilityIndex, defaultNature, true);
|
||||||
this.pokemonSprite.setTint(0x808080);
|
this.pokemonSprite.setTint(0x808080);
|
||||||
}
|
}
|
||||||
@ -1507,7 +1507,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
this.speciesStarterMoves.push(speciesEggMoves[species.speciesId][em]);
|
this.speciesStarterMoves.push(speciesEggMoves[species.speciesId][em]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const speciesMoveData = this.scene.gameData.starterData[species.speciesId].moveset;
|
const speciesMoveData = this.scene.gameData.starterData[species.speciesId].moveset;
|
||||||
let moveData: StarterMoveset = speciesMoveData
|
let moveData: StarterMoveset = speciesMoveData
|
||||||
? Array.isArray(speciesMoveData)
|
? Array.isArray(speciesMoveData)
|
||||||
@ -1696,7 +1696,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
this.statsContainer.updateIvs(null);
|
this.statsContainer.updateIvs(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
showStats(): void {
|
showStats(): void {
|
||||||
if (!this.speciesStarterDexEntry)
|
if (!this.speciesStarterDexEntry)
|
||||||
return;
|
return;
|
||||||
|
@ -364,9 +364,16 @@ export default class SummaryUiHandler extends UiHandler {
|
|||||||
case Button.LEFT:
|
case Button.LEFT:
|
||||||
this.moveSelect = false;
|
this.moveSelect = false;
|
||||||
this.setCursor(Page.STATS);
|
this.setCursor(Page.STATS);
|
||||||
this.hideMoveEffect();
|
if (this.summaryUiMode === SummaryUiMode.LEARN_MOVE){
|
||||||
success = true;
|
this.hideMoveEffect();
|
||||||
break;
|
this.destroyBlinkCursor();
|
||||||
|
success = true;
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
this.hideMoveSelect();
|
||||||
|
success = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -426,11 +433,9 @@ export default class SummaryUiHandler extends UiHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setCursor(cursor: integer, overrideChanged: boolean = false): boolean {
|
setCursor(cursor: integer, overrideChanged: boolean = false): boolean {
|
||||||
let changed: boolean;
|
let changed: boolean = overrideChanged || this.moveCursor !== cursor;
|
||||||
|
|
||||||
if (this.moveSelect) {
|
if (this.moveSelect) {
|
||||||
changed = overrideChanged || this.moveCursor !== cursor;
|
|
||||||
if (changed) {
|
|
||||||
this.moveCursor = cursor;
|
this.moveCursor = cursor;
|
||||||
|
|
||||||
const selectedMove = this.getSelectedMove();
|
const selectedMove = this.getSelectedMove();
|
||||||
@ -462,7 +467,6 @@ export default class SummaryUiHandler extends UiHandler {
|
|||||||
y: `-=${14.83 * (moveDescriptionLineCount - 3)}`
|
y: `-=${14.83 * (moveDescriptionLineCount - 3)}`
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (!this.moveCursorObj) {
|
if (!this.moveCursorObj) {
|
||||||
this.moveCursorObj = this.scene.add.sprite(-2, 0, 'summary_moves_cursor', 'highlight');
|
this.moveCursorObj = this.scene.add.sprite(-2, 0, 'summary_moves_cursor', 'highlight');
|
||||||
@ -527,6 +531,11 @@ export default class SummaryUiHandler extends UiHandler {
|
|||||||
this.setCursor(0, true);
|
this.setCursor(0, true);
|
||||||
this.showMoveEffect();
|
this.showMoveEffect();
|
||||||
}
|
}
|
||||||
|
else if (this.cursor===Page.MOVES) {
|
||||||
|
this.moveCursorObj = null;
|
||||||
|
this.showMoveSelect();
|
||||||
|
this.showMoveEffect();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
this.summaryPageTransitionContainer.x -= 214;
|
this.summaryPageTransitionContainer.x -= 214;
|
||||||
@ -871,6 +880,12 @@ export default class SummaryUiHandler extends UiHandler {
|
|||||||
this.moveSelect = false;
|
this.moveSelect = false;
|
||||||
this.extraMoveRowContainer.setVisible(false);
|
this.extraMoveRowContainer.setVisible(false);
|
||||||
this.moveDescriptionText.setText('');
|
this.moveDescriptionText.setText('');
|
||||||
|
|
||||||
|
this.destroyBlinkCursor();
|
||||||
|
this.hideMoveEffect();
|
||||||
|
}
|
||||||
|
|
||||||
|
destroyBlinkCursor(){
|
||||||
if (this.moveCursorBlinkTimer) {
|
if (this.moveCursorBlinkTimer) {
|
||||||
this.moveCursorBlinkTimer.destroy();
|
this.moveCursorBlinkTimer.destroy();
|
||||||
this.moveCursorBlinkTimer = null;
|
this.moveCursorBlinkTimer = null;
|
||||||
@ -883,8 +898,6 @@ export default class SummaryUiHandler extends UiHandler {
|
|||||||
this.selectedMoveCursorObj.destroy();
|
this.selectedMoveCursorObj.destroy();
|
||||||
this.selectedMoveCursorObj = null;
|
this.selectedMoveCursorObj = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.hideMoveEffect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
showMoveEffect(instant?: boolean) {
|
showMoveEffect(instant?: boolean) {
|
||||||
|
@ -5,6 +5,7 @@ import { Mode } from "./ui";
|
|||||||
import * as Utils from "../utils";
|
import * as Utils from "../utils";
|
||||||
import { TextStyle, addTextObject } from "./text";
|
import { TextStyle, addTextObject } from "./text";
|
||||||
import { battleCountSplashMessage, splashMessages } from "../data/splash-messages";
|
import { battleCountSplashMessage, splashMessages } from "../data/splash-messages";
|
||||||
|
import i18next from "i18next";
|
||||||
|
|
||||||
export default class TitleUiHandler extends OptionSelectUiHandler {
|
export default class TitleUiHandler extends OptionSelectUiHandler {
|
||||||
private titleContainer: Phaser.GameObjects.Container;
|
private titleContainer: Phaser.GameObjects.Container;
|
||||||
@ -37,7 +38,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler {
|
|||||||
|
|
||||||
this.titleContainer.add(this.dailyRunScoreboard);
|
this.titleContainer.add(this.dailyRunScoreboard);
|
||||||
|
|
||||||
this.playerCountLabel = addTextObject(this.scene, (this.scene.game.canvas.width / 6) - 2, (this.scene.game.canvas.height / 6) - 90, '? Players Online', TextStyle.MESSAGE, { fontSize: '54px' });
|
this.playerCountLabel = addTextObject(this.scene, (this.scene.game.canvas.width / 6) - 2, (this.scene.game.canvas.height / 6) - 90, `? ${i18next.t("menu:playersOnline")}`, TextStyle.MESSAGE, { fontSize: '54px' });
|
||||||
this.playerCountLabel.setOrigin(1, 0);
|
this.playerCountLabel.setOrigin(1, 0);
|
||||||
this.titleContainer.add(this.playerCountLabel);
|
this.titleContainer.add(this.playerCountLabel);
|
||||||
|
|
||||||
@ -61,7 +62,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler {
|
|||||||
Utils.apiFetch(`game/titlestats`)
|
Utils.apiFetch(`game/titlestats`)
|
||||||
.then(request => request.json())
|
.then(request => request.json())
|
||||||
.then(stats => {
|
.then(stats => {
|
||||||
this.playerCountLabel.setText(`${stats.playerCount} Players Online`);
|
this.playerCountLabel.setText(`${stats.playerCount} ${i18next.t("menu:playersOnline")}`);
|
||||||
if (this.splashMessage === battleCountSplashMessage)
|
if (this.splashMessage === battleCountSplashMessage)
|
||||||
this.splashMessageText.setText(battleCountSplashMessage.replace('{COUNT}', stats.battleCount.toLocaleString('en-US')));
|
this.splashMessageText.setText(battleCountSplashMessage.replace('{COUNT}', stats.battleCount.toLocaleString('en-US')));
|
||||||
});
|
});
|
||||||
|