Merge branch 'beta' into fix-evolution-hp

This commit is contained in:
NightKev 2024-08-30 19:47:35 -07:00 committed by GitHub
commit 05fe1ecd84
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
211 changed files with 82402 additions and 25977 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,886 @@
{
"id": 216,
"graphic": "PRAS- Love",
"frames": [
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": 0.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 3,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -6.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 3,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 18.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 3,
"opacity": 135,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -3,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -10,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 14.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 3,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -7,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -13.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 10.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -10.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -17,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 6.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -14.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -21,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 2.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -18,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -24.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": -1,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -22,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -28,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": -5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -25.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -31.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": -9,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -29,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -35,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": -13,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -33,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 130,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -39,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 130,
"priority": 1,
"focus": 2
},
{
"x": 0,
"y": -16.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 8,
"y": -2,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -37,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 70,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -43.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 70,
"priority": 1,
"focus": 2
},
{
"x": 0,
"y": -20.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 130,
"priority": 1,
"focus": 2
}
],
[
{
"x": 16,
"y": -6,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 0,
"y": -24.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 70,
"priority": 1,
"focus": 2
}
],
[
{
"x": 24,
"y": -8,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 124,
"y": -58,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 6,
"opacity": 255,
"priority": 1,
"focus": 3
}
],
[
{
"x": 12,
"y": -4,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 124,
"y": -58,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 6,
"opacity": 255,
"priority": 1,
"focus": 3
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 124,
"y": -58,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 6,
"opacity": 130,
"priority": 1,
"focus": 3
}
]
],
"frameTimedEvents": {
"0": [
{
"frameIndex": 0,
"resourceName": "PRSFX- Return1.wav",
"volume": 100,
"pitch": 100,
"eventType": "AnimTimedSoundEvent"
}
],
"11": [
{
"frameIndex": 11,
"resourceName": "PRSFX- Return2.wav",
"volume": 100,
"pitch": 100,
"eventType": "AnimTimedSoundEvent"
}
]
},
"position": 3,
"hue": 0
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 848 B

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 864 B

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -4,8 +4,8 @@
"image": "skull_grunt_f.png", "image": "skull_grunt_f.png",
"format": "RGBA8888", "format": "RGBA8888",
"size": { "size": {
"w": 69, "w": 74,
"h": 69 "h": 74
}, },
"scale": 1, "scale": 1,
"frames": [ "frames": [
@ -14,20 +14,20 @@
"rotated": false, "rotated": false,
"trimmed": false, "trimmed": false,
"sourceSize": { "sourceSize": {
"w": 80, "w": 31,
"h": 80 "h": 74
}, },
"spriteSourceSize": { "spriteSourceSize": {
"x": 27, "x": 0,
"y": 9, "y": 0,
"w": 29, "w": 31,
"h": 69 "h": 74
}, },
"frame": { "frame": {
"x": 0, "x": 0,
"y": 0, "y": 0,
"w": 29, "w": 31,
"h": 69 "h": 74
} }
} }
] ]
@ -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:2e44c39efe8e78ec75d9119731b9b1cb:4923b5197ea74a9ed0b861e2408f595b:9035f560a0ab0d45bcc084aba7172990$" "smartupdate": "$TexturePacker:SmartUpdate:71a1f5b1981674c6e81163ac8ea576c3:a5e612d58e5f0a1489e111212baea09d:dd369353af16e4c5eb6547e129dfac18$"
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 B

After

Width:  |  Height:  |  Size: 905 B

View File

@ -4,8 +4,8 @@
"image": "skull_grunt_m.png", "image": "skull_grunt_m.png",
"format": "RGBA8888", "format": "RGBA8888",
"size": { "size": {
"w": 67, "w": 72,
"h": 67 "h": 72
}, },
"scale": 1, "scale": 1,
"frames": [ "frames": [
@ -14,20 +14,20 @@
"rotated": false, "rotated": false,
"trimmed": false, "trimmed": false,
"sourceSize": { "sourceSize": {
"w": 80, "w": 51,
"h": 80 "h": 72
}, },
"spriteSourceSize": { "spriteSourceSize": {
"x": 28, "x": 0,
"y": 11, "y": 0,
"w": 26, "w": 51,
"h": 67 "h": 72
}, },
"frame": { "frame": {
"x": 0, "x": 0,
"y": 0, "y": 0,
"w": 26, "w": 51,
"h": 67 "h": 72
} }
} }
] ]
@ -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:688a83ff13a77c6923f038db8c7e5e84:d0ece3ab82602eb0c5003bacc26dbd9f:1ff10b395daf6ebfa377680a6404f816$" "smartupdate": "$TexturePacker:SmartUpdate:4deb2a68e4d168bb1a40cb5d190a7d1f:be3d7b29f4b544ba51cf907691fef51d:df57ca2c9bf5f80d930306e15a851d4d$"
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 723 B

After

Width:  |  Height:  |  Size: 966 B

View File

@ -6,6 +6,7 @@ export interface UserInfo {
lastSessionSlot: integer; lastSessionSlot: integer;
discordId: string; discordId: string;
googleId: string; googleId: string;
hasAdminRole: boolean;
} }
export let loggedInUser: UserInfo | null = null; export let loggedInUser: UserInfo | null = null;
@ -13,13 +14,13 @@ export let loggedInUser: UserInfo | null = null;
export const clientSessionId = Utils.randomString(32); export const clientSessionId = Utils.randomString(32);
export function initLoggedInUser(): void { export function initLoggedInUser(): void {
loggedInUser = { username: "Guest", lastSessionSlot: -1, discordId: "", googleId: ""}; loggedInUser = { username: "Guest", lastSessionSlot: -1, discordId: "", googleId: "", hasAdminRole: false };
} }
export function updateUserInfo(): Promise<[boolean, integer]> { export function updateUserInfo(): Promise<[boolean, integer]> {
return new Promise<[boolean, integer]>(resolve => { return new Promise<[boolean, integer]>(resolve => {
if (bypassLogin) { if (bypassLogin) {
loggedInUser = { username: "Guest", lastSessionSlot: -1, discordId: "", googleId: "" }; loggedInUser = { username: "Guest", lastSessionSlot: -1, discordId: "", googleId: "", hasAdminRole: false};
let lastSessionSlot = -1; let lastSessionSlot = -1;
for (let s = 0; s < 5; s++) { for (let s = 0; s < 5; s++) {
if (localStorage.getItem(`sessionData${s ? s : ""}_${loggedInUser.username}`)) { if (localStorage.getItem(`sessionData${s ? s : ""}_${loggedInUser.username}`)) {

View File

@ -4498,7 +4498,7 @@ async function applyAbAttrsInternal<TAttr extends AbAttr>(
applyFunc: AbAttrApplyFunc<TAttr>, applyFunc: AbAttrApplyFunc<TAttr>,
args: any[], args: any[],
showAbilityInstant: boolean = false, showAbilityInstant: boolean = false,
quiet: boolean = false, simulated: boolean = false,
messages: string[] = [], messages: string[] = [],
) { ) {
for (const passive of [false, true]) { for (const passive of [false, true]) {
@ -4520,33 +4520,29 @@ async function applyAbAttrsInternal<TAttr extends AbAttr>(
if (result instanceof Promise) { if (result instanceof Promise) {
result = await result; result = await result;
} }
if (result) { if (result) {
if (pokemon.summonData && !pokemon.summonData.abilitiesApplied.includes(ability.id)) { if (pokemon.summonData && !pokemon.summonData.abilitiesApplied.includes(ability.id)) {
pokemon.summonData.abilitiesApplied.push(ability.id); pokemon.summonData.abilitiesApplied.push(ability.id);
} }
if (pokemon.battleData && !quiet && !pokemon.battleData.abilitiesApplied.includes(ability.id)) { if (pokemon.battleData && !simulated && !pokemon.battleData.abilitiesApplied.includes(ability.id)) {
pokemon.battleData.abilitiesApplied.push(ability.id); pokemon.battleData.abilitiesApplied.push(ability.id);
} }
if (attr.showAbility && !simulated) {
if (attr.showAbility && !quiet) {
if (showAbilityInstant) { if (showAbilityInstant) {
pokemon.scene.abilityBar.showAbility(pokemon, passive); pokemon.scene.abilityBar.showAbility(pokemon, passive);
} else { } else {
queueShowAbility(pokemon, passive); queueShowAbility(pokemon, passive);
} }
} }
if (!quiet) {
const message = attr.getTriggerMessage(pokemon, ability.name, args); const message = attr.getTriggerMessage(pokemon, ability.name, args);
if (message) { if (message) {
if (!simulated) {
pokemon.scene.queueMessage(message); pokemon.scene.queueMessage(message);
messages.push(message);
} }
} }
messages.push(message!);
} }
} }
pokemon.scene.clearPhaseQueueSplice(); pokemon.scene.clearPhaseQueueSplice();
} }
} }

View File

@ -35,36 +35,36 @@ interface BiomeDepths {
export const biomeLinks: BiomeLinks = { export const biomeLinks: BiomeLinks = {
[Biome.TOWN]: Biome.PLAINS, [Biome.TOWN]: Biome.PLAINS,
[Biome.PLAINS]: [ Biome.GRASS, Biome.METROPOLIS, Biome.LAKE ], [Biome.PLAINS]: [ Biome.GRASS, Biome.METROPOLIS, Biome.LAKE ],
[Biome.GRASS]: Biome.TALL_GRASS, [Biome.GRASS]: [ Biome.TALL_GRASS, [ Biome.CONSTRUCTION_SITE, 2 ] ],
[Biome.TALL_GRASS]: [ Biome.FOREST, Biome.CAVE ], [Biome.TALL_GRASS]: [ Biome.FOREST, Biome.CAVE ],
[Biome.SLUM]: Biome.CONSTRUCTION_SITE, [Biome.SLUM]: Biome.CONSTRUCTION_SITE,
[Biome.FOREST]: [ Biome.JUNGLE, Biome.MEADOW ], [Biome.FOREST]: [ Biome.JUNGLE, Biome.MEADOW ],
[Biome.SEA]: [ Biome.SEABED, Biome.ICE_CAVE ], [Biome.SEA]: [ Biome.SEABED, Biome.ICE_CAVE ],
[Biome.SWAMP]: [ Biome.GRAVEYARD, Biome.TALL_GRASS ], [Biome.SWAMP]: [ Biome.GRAVEYARD, Biome.TALL_GRASS ],
[Biome.BEACH]: [ Biome.SEA, [ Biome.ISLAND, 4 ] ], [Biome.BEACH]: [ Biome.SEA, [ Biome.ISLAND, 3 ] ],
[Biome.LAKE]: [ Biome.BEACH, Biome.SWAMP, Biome.CONSTRUCTION_SITE ], [Biome.LAKE]: [ Biome.BEACH, Biome.SWAMP, Biome.CONSTRUCTION_SITE ],
[Biome.SEABED]: [ Biome.CAVE, [ Biome.VOLCANO, 4 ] ], [Biome.SEABED]: [ Biome.CAVE, [ Biome.VOLCANO, 3 ] ],
[Biome.MOUNTAIN]: [ Biome.VOLCANO, [ Biome.WASTELAND, 3 ] ], [Biome.MOUNTAIN]: [ Biome.VOLCANO, [ Biome.DOJO, 2] [ Biome.WASTELAND, 2 ] ],
[Biome.BADLANDS]: [ Biome.DESERT, Biome.MOUNTAIN ], [Biome.BADLANDS]: [ Biome.DESERT, Biome.MOUNTAIN ],
[Biome.CAVE]: [ Biome.BADLANDS, Biome.LAKE ], [Biome.CAVE]: [ Biome.BADLANDS, Biome.LAKE ],
[Biome.DESERT]: Biome.RUINS, [Biome.DESERT]: [ Biome.RUINS, [ Biome.CONSTRUCTION_SITE, 2 ] ],
[Biome.ICE_CAVE]: Biome.SNOWY_FOREST, [Biome.ICE_CAVE]: Biome.SNOWY_FOREST,
[Biome.MEADOW]: [ Biome.PLAINS, [ Biome.FAIRY_CAVE, 2 ] ], [Biome.MEADOW]: [ Biome.PLAINS, Biome.FAIRY_CAVE ],
[Biome.POWER_PLANT]: Biome.FACTORY, [Biome.POWER_PLANT]: Biome.FACTORY,
[Biome.VOLCANO]: [ Biome.BEACH, [ Biome.ICE_CAVE, 4 ] ], [Biome.VOLCANO]: [ Biome.BEACH, [ Biome.ICE_CAVE, 3 ] ],
[Biome.GRAVEYARD]: Biome.ABYSS, [Biome.GRAVEYARD]: Biome.ABYSS,
[Biome.DOJO]: [ Biome.PLAINS, [ Biome.TEMPLE, 3 ] ], [Biome.DOJO]: [ Biome.PLAINS, [ Biome.JUNGLE, 2], [ Biome.TEMPLE, 2 ] ],
[Biome.FACTORY]: [ Biome.PLAINS, [ Biome.LABORATORY, 4 ] ], [Biome.FACTORY]: [ Biome.TALL_GRASS, [ Biome.LABORATORY, 3 ] ],
[Biome.RUINS]: [ Biome.FOREST ], [Biome.RUINS]: [ Biome.FOREST ],
[Biome.WASTELAND]: Biome.BADLANDS, [Biome.WASTELAND]: Biome.BADLANDS,
[Biome.ABYSS]: [ Biome.CAVE, [ Biome.SPACE, 3 ], [ Biome.WASTELAND, 3 ] ], [Biome.ABYSS]: [ Biome.CAVE, [ Biome.SPACE, 3 ], [ Biome.WASTELAND, 3 ] ],
[Biome.SPACE]: Biome.RUINS, [Biome.SPACE]: Biome.RUINS,
[Biome.CONSTRUCTION_SITE]: [ Biome.DOJO, Biome.POWER_PLANT ], [Biome.CONSTRUCTION_SITE]: [ Biome.POWER_PLANT, [ Biome.DOJO, 2 ] ],
[Biome.JUNGLE]: [ Biome.TEMPLE ], [Biome.JUNGLE]: [ Biome.TEMPLE ],
[Biome.FAIRY_CAVE]: [ Biome.ICE_CAVE, [ Biome.SPACE, 3 ] ], [Biome.FAIRY_CAVE]: [ Biome.ICE_CAVE, [ Biome.SPACE, 2 ] ],
[Biome.TEMPLE]: [ Biome.SWAMP, [ Biome.RUINS, 3 ] ], [Biome.TEMPLE]: [ Biome.DESERT, [ Biome.SWAMP, 2 ], [ Biome.RUINS, 2 ] ],
[Biome.METROPOLIS]: Biome.SLUM, [Biome.METROPOLIS]: Biome.SLUM,
[Biome.SNOWY_FOREST]: [ Biome.FOREST, Biome.LAKE, Biome.MOUNTAIN ], [Biome.SNOWY_FOREST]: [ Biome.FOREST, Biome.MOUNTAIN, [ Biome.LAKE, 2 ] ],
[Biome.ISLAND]: Biome.SEA, [Biome.ISLAND]: Biome.SEA,
[Biome.LABORATORY]: Biome.CONSTRUCTION_SITE [Biome.LABORATORY]: Biome.CONSTRUCTION_SITE
}; };
@ -7663,6 +7663,12 @@ export function initBiomes() {
biomeDepths[Biome.TOWN] = [ 0, 1 ]; biomeDepths[Biome.TOWN] = [ 0, 1 ];
const traverseBiome = (biome: Biome, depth: integer) => { const traverseBiome = (biome: Biome, depth: integer) => {
if (biome === Biome.END) {
const biomeList = Object.keys(Biome).filter(key => !isNaN(Number(key)));
biomeList.pop(); // Removes Biome.END from the list
const randIndex = Utils.randInt(biomeList.length, 2); // Will never be Biome.TOWN or Biome.PLAINS
biome = Biome[biomeList[randIndex]];
}
const linkedBiomes: (Biome | [ Biome, integer ])[] = Array.isArray(biomeLinks[biome]) const linkedBiomes: (Biome | [ Biome, integer ])[] = Array.isArray(biomeLinks[biome])
? biomeLinks[biome] as (Biome | [ Biome, integer ])[] ? biomeLinks[biome] as (Biome | [ Biome, integer ])[]
: [ biomeLinks[biome] as Biome ]; : [ biomeLinks[biome] as Biome ];

View File

@ -55,6 +55,11 @@ export enum ChallengeType {
* @see {@link Challenge.applyFixedBattle} * @see {@link Challenge.applyFixedBattle}
*/ */
FIXED_BATTLES, FIXED_BATTLES,
/**
* Modifies the effectiveness of Type matchups in battle
* @see {@linkcode Challenge.applyTypeEffectiveness}
*/
TYPE_EFFECTIVENESS,
/** /**
* Modifies what level the AI pokemon are. UNIMPLEMENTED. * Modifies what level the AI pokemon are. UNIMPLEMENTED.
*/ */
@ -327,6 +332,15 @@ export abstract class Challenge {
return false; return false;
} }
/**
* An apply function for TYPE_EFFECTIVENESS challenges. Derived classes should alter this.
* @param effectiveness {@linkcode Utils.NumberHolder} The current effectiveness of the move.
* @returns Whether this function did anything.
*/
applyTypeEffectiveness(effectiveness: Utils.NumberHolder): boolean {
return false;
}
/** /**
* An apply function for AI_LEVEL challenges. Derived classes should alter this. * An apply function for AI_LEVEL challenges. Derived classes should alter this.
* @param level {@link Utils.IntegerHolder} The generated level. * @param level {@link Utils.IntegerHolder} The generated level.
@ -651,10 +665,7 @@ export class FreshStartChallenge extends Challenge {
return true; return true;
} }
/** override getDifficulty(): number {
* @overrides
*/
getDifficulty(): number {
return 0; return 0;
} }
@ -666,6 +677,38 @@ export class FreshStartChallenge extends Challenge {
} }
} }
/**
* Implements an inverse battle challenge.
*/
export class InverseBattleChallenge extends Challenge {
constructor() {
super(Challenges.INVERSE_BATTLE, 1);
}
static loadChallenge(source: InverseBattleChallenge | any): InverseBattleChallenge {
const newChallenge = new InverseBattleChallenge();
newChallenge.value = source.value;
newChallenge.severity = source.severity;
return newChallenge;
}
override getDifficulty(): number {
return 0;
}
applyTypeEffectiveness(effectiveness: Utils.NumberHolder): boolean {
if (effectiveness.value < 1) {
effectiveness.value = 2;
return true;
} else if (effectiveness.value > 1) {
effectiveness.value = 0.5;
return true;
}
return false;
}
}
/** /**
* Lowers the amount of starter points available. * Lowers the amount of starter points available.
*/ */
@ -785,6 +828,14 @@ export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType
* @returns True if any challenge was successfully applied. * @returns True if any challenge was successfully applied.
*/ */
export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType.FIXED_BATTLES, waveIndex: Number, battleConfig: FixedBattleConfig): boolean; export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType.FIXED_BATTLES, waveIndex: Number, battleConfig: FixedBattleConfig): boolean;
/**
* Apply all challenges that modify type effectiveness.
* @param gameMode {@linkcode GameMode} The current gameMode
* @param challengeType {@linkcode ChallengeType} ChallengeType.TYPE_EFFECTIVENESS
* @param effectiveness {@linkcode Utils.NumberHolder} The current effectiveness of the move.
* @returns True if any challenge was successfully applied.
*/
export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType.TYPE_EFFECTIVENESS, effectiveness: Utils.NumberHolder): boolean;
/** /**
* Apply all challenges that modify what level AI are. * Apply all challenges that modify what level AI are.
* @param gameMode {@link GameMode} The current gameMode * @param gameMode {@link GameMode} The current gameMode
@ -866,6 +917,9 @@ export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType
case ChallengeType.FIXED_BATTLES: case ChallengeType.FIXED_BATTLES:
ret ||= c.applyFixedBattle(args[0], args[1]); ret ||= c.applyFixedBattle(args[0], args[1]);
break; break;
case ChallengeType.TYPE_EFFECTIVENESS:
ret ||= c.applyTypeEffectiveness(args[0]);
break;
case ChallengeType.AI_LEVEL: case ChallengeType.AI_LEVEL:
ret ||= c.applyLevelChange(args[0], args[1], args[2], args[3]); ret ||= c.applyLevelChange(args[0], args[1], args[2], args[3]);
break; break;
@ -907,6 +961,8 @@ export function copyChallenge(source: Challenge | any): Challenge {
return LowerStarterPointsChallenge.loadChallenge(source); return LowerStarterPointsChallenge.loadChallenge(source);
case Challenges.FRESH_START: case Challenges.FRESH_START:
return FreshStartChallenge.loadChallenge(source); return FreshStartChallenge.loadChallenge(source);
case Challenges.INVERSE_BATTLE:
return InverseBattleChallenge.loadChallenge(source);
} }
throw new Error("Unknown challenge copied"); throw new Error("Unknown challenge copied");
} }
@ -918,5 +974,6 @@ export function initChallenges() {
new SingleGenerationChallenge(), new SingleGenerationChallenge(),
new SingleTypeChallenge(), new SingleTypeChallenge(),
new FreshStartChallenge(), new FreshStartChallenge(),
new InverseBattleChallenge(),
); );
} }

View File

@ -43,7 +43,7 @@ export const speciesEggMoves = {
[Species.SHELLDER]: [ Moves.ROCK_BLAST, Moves.WATER_SHURIKEN, Moves.BANEFUL_BUNKER, Moves.BONE_RUSH ], [Species.SHELLDER]: [ Moves.ROCK_BLAST, Moves.WATER_SHURIKEN, Moves.BANEFUL_BUNKER, Moves.BONE_RUSH ],
[Species.GASTLY]: [ Moves.SLUDGE_BOMB, Moves.AURA_SPHERE, Moves.NASTY_PLOT, Moves.ASTRAL_BARRAGE ], [Species.GASTLY]: [ Moves.SLUDGE_BOMB, Moves.AURA_SPHERE, Moves.NASTY_PLOT, Moves.ASTRAL_BARRAGE ],
[Species.ONIX]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.HEAVY_SLAM, Moves.DIAMOND_STORM ], [Species.ONIX]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.HEAVY_SLAM, Moves.DIAMOND_STORM ],
[Species.DROWZEE]: [ Moves.BADDY_BAD, Moves.STRENGTH_SAP, Moves.LUMINA_CRASH, Moves.SPORE ], [Species.DROWZEE]: [ Moves.BADDY_BAD, Moves.STRENGTH_SAP, Moves.LUMINA_CRASH, Moves.DARK_VOID ],
[Species.KRABBY]: [ Moves.FIRE_LASH, Moves.PLAY_ROUGH, Moves.IVY_CUDGEL, Moves.SHELL_SMASH ], [Species.KRABBY]: [ Moves.FIRE_LASH, Moves.PLAY_ROUGH, Moves.IVY_CUDGEL, Moves.SHELL_SMASH ],
[Species.VOLTORB]: [ Moves.NASTY_PLOT, Moves.OVERHEAT, Moves.FROST_BREATH, Moves.ELECTRO_DRIFT ], [Species.VOLTORB]: [ Moves.NASTY_PLOT, Moves.OVERHEAT, Moves.FROST_BREATH, Moves.ELECTRO_DRIFT ],
[Species.EXEGGCUTE]: [ Moves.FICKLE_BEAM, Moves.APPLE_ACID, Moves.TRICK_ROOM, Moves.LUMINA_CRASH ], [Species.EXEGGCUTE]: [ Moves.FICKLE_BEAM, Moves.APPLE_ACID, Moves.TRICK_ROOM, Moves.LUMINA_CRASH ],
@ -125,7 +125,7 @@ export const speciesEggMoves = {
[Species.SUICUNE]: [ Moves.RECOVER, Moves.NASTY_PLOT, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], [Species.SUICUNE]: [ Moves.RECOVER, Moves.NASTY_PLOT, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ],
[Species.LARVITAR]: [ Moves.DRAGON_DANCE, Moves.MOUNTAIN_GALE, Moves.SHORE_UP, Moves.DIAMOND_STORM ], [Species.LARVITAR]: [ Moves.DRAGON_DANCE, Moves.MOUNTAIN_GALE, Moves.SHORE_UP, Moves.DIAMOND_STORM ],
[Species.LUGIA]: [ Moves.NASTY_PLOT, Moves.LUMINA_CRASH, Moves.AURA_SPHERE, Moves.OBLIVION_WING ], [Species.LUGIA]: [ Moves.NASTY_PLOT, Moves.LUMINA_CRASH, Moves.AURA_SPHERE, Moves.OBLIVION_WING ],
[Species.HO_OH]: [ Moves.FLOATY_FALL, Moves.SOLAR_BLADE, Moves.REVIVAL_BLESSING, Moves.BOLT_BEAK ], [Species.HO_OH]: [ Moves.FLOATY_FALL, Moves.PRECIPICE_BLADES, Moves.REVIVAL_BLESSING, Moves.BOLT_BEAK ],
[Species.CELEBI]: [ Moves.PHOTON_GEYSER, Moves.MATCHA_GOTCHA, Moves.REVIVAL_BLESSING, Moves.QUIVER_DANCE ], [Species.CELEBI]: [ Moves.PHOTON_GEYSER, Moves.MATCHA_GOTCHA, Moves.REVIVAL_BLESSING, Moves.QUIVER_DANCE ],
[Species.TREECKO]: [ Moves.NASTY_PLOT, Moves.APPLE_ACID, Moves.SECRET_SWORD, Moves.DRAGON_ENERGY ], [Species.TREECKO]: [ Moves.NASTY_PLOT, Moves.APPLE_ACID, Moves.SECRET_SWORD, Moves.DRAGON_ENERGY ],
[Species.TORCHIC]: [ Moves.HIGH_JUMP_KICK, Moves.SUPERCELL_SLAM, Moves.KNOCK_OFF, Moves.V_CREATE ], [Species.TORCHIC]: [ Moves.HIGH_JUMP_KICK, Moves.SUPERCELL_SLAM, Moves.KNOCK_OFF, Moves.V_CREATE ],
@ -249,7 +249,7 @@ export const speciesEggMoves = {
[Species.CRESSELIA]: [ Moves.COSMIC_POWER, Moves.SECRET_SWORD, Moves.SIZZLY_SLIDE, Moves.LUMINA_CRASH ], [Species.CRESSELIA]: [ Moves.COSMIC_POWER, Moves.SECRET_SWORD, Moves.SIZZLY_SLIDE, Moves.LUMINA_CRASH ],
[Species.PHIONE]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ], [Species.PHIONE]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ],
[Species.MANAPHY]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ], [Species.MANAPHY]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ],
[Species.DARKRAI]: [ Moves.FIERY_WRATH, Moves.MOONBLAST, Moves.SEARING_SHOT, Moves.SPORE ], [Species.DARKRAI]: [ Moves.FIERY_WRATH, Moves.MOONBLAST, Moves.FIERY_DANCE, Moves.MAKE_IT_RAIN ],
[Species.SHAYMIN]: [ Moves.MATCHA_GOTCHA, Moves.FIERY_DANCE, Moves.AEROBLAST, Moves.QUIVER_DANCE ], [Species.SHAYMIN]: [ Moves.MATCHA_GOTCHA, Moves.FIERY_DANCE, Moves.AEROBLAST, Moves.QUIVER_DANCE ],
[Species.ARCEUS]: [ Moves.NO_RETREAT, Moves.COLLISION_COURSE, Moves.ASTRAL_BARRAGE, Moves.MULTI_ATTACK ], [Species.ARCEUS]: [ Moves.NO_RETREAT, Moves.COLLISION_COURSE, Moves.ASTRAL_BARRAGE, Moves.MULTI_ATTACK ],
[Species.VICTINI]: [ Moves.BLUE_FLARE, Moves.BOLT_STRIKE, Moves.LUSTER_PURGE, Moves.VICTORY_DANCE ], [Species.VICTINI]: [ Moves.BLUE_FLARE, Moves.BOLT_STRIKE, Moves.LUSTER_PURGE, Moves.VICTORY_DANCE ],

View File

@ -4,7 +4,7 @@ import { EncoreTag, GulpMissileTag, HelpingHandTag, SemiInvulnerableTag, ShellTr
import { getPokemonNameWithAffix } from "../messages"; import { getPokemonNameWithAffix } from "../messages";
import Pokemon, { AttackMoveResult, EnemyPokemon, HitResult, MoveResult, PlayerPokemon, PokemonMove, TurnMove } from "../field/pokemon"; import Pokemon, { AttackMoveResult, EnemyPokemon, HitResult, MoveResult, PlayerPokemon, PokemonMove, TurnMove } from "../field/pokemon";
import { StatusEffect, getStatusEffectHealText, isNonVolatileStatusEffect, getNonVolatileStatusEffects } from "./status-effect"; import { StatusEffect, getStatusEffectHealText, isNonVolatileStatusEffect, getNonVolatileStatusEffects } from "./status-effect";
import { getTypeResistances, Type } from "./type"; import { getTypeDamageMultiplier, Type } from "./type";
import { Constructor } from "#app/utils"; import { Constructor } from "#app/utils";
import * as Utils from "../utils"; import * as Utils from "../utils";
import { WeatherType } from "./weather"; import { WeatherType } from "./weather";
@ -37,6 +37,9 @@ import { StatChangePhase } from "#app/phases/stat-change-phase";
import { SwitchPhase } from "#app/phases/switch-phase"; import { SwitchPhase } from "#app/phases/switch-phase";
import { SwitchSummonPhase } from "#app/phases/switch-summon-phase"; import { SwitchSummonPhase } from "#app/phases/switch-summon-phase";
import { SpeciesFormChangeRevertWeatherFormTrigger } from "./pokemon-forms"; import { SpeciesFormChangeRevertWeatherFormTrigger } from "./pokemon-forms";
import { NumberHolder } from "#app/utils";
import { GameMode } from "#app/game-mode";
import { applyChallenges, ChallengeType } from "./challenge";
export enum MoveCategory { export enum MoveCategory {
PHYSICAL, PHYSICAL,
@ -4180,9 +4183,13 @@ export class WaterSuperEffectTypeMultiplierAttr extends VariableMoveTypeMultipli
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
const multiplier = args[0] as Utils.NumberHolder; const multiplier = args[0] as Utils.NumberHolder;
if (target.isOfType(Type.WATER)) { if (target.isOfType(Type.WATER)) {
multiplier.value *= 4; // Increased twice because initial reduction against water const effectivenessAgainstWater = new Utils.NumberHolder(getTypeDamageMultiplier(move.type, Type.WATER));
applyChallenges(user.scene.gameMode, ChallengeType.TYPE_EFFECTIVENESS, effectivenessAgainstWater);
if (effectivenessAgainstWater.value !== 0) {
multiplier.value *= 2 / effectivenessAgainstWater.value;
return true; return true;
} }
}
return false; return false;
} }
@ -6203,7 +6210,7 @@ export class ResistLastMoveTypeAttr extends MoveEffectAttr {
return false; return false;
} }
const userTypes = user.getTypes(); const userTypes = user.getTypes();
const validTypes = getTypeResistances(moveData.type).filter(t => !userTypes.includes(t)); // valid types are ones that are not already the user's types const validTypes = this.getTypeResistances(user.scene.gameMode, moveData.type).filter(t => !userTypes.includes(t)); // valid types are ones that are not already the user's types
if (!validTypes.length) { if (!validTypes.length) {
return false; return false;
} }
@ -6215,6 +6222,25 @@ export class ResistLastMoveTypeAttr extends MoveEffectAttr {
return true; return true;
} }
/**
* Retrieve the types resisting a given type. Used by Conversion 2
* @returns An array populated with Types, or an empty array if no resistances exist (Unknown or Stellar type)
*/
getTypeResistances(gameMode: GameMode, type: number): Type[] {
const typeResistances: Type[] = [];
for (let i = 0; i < Object.keys(Type).length; i++) {
const multiplier = new NumberHolder(1);
multiplier.value = getTypeDamageMultiplier(type, i);
applyChallenges(gameMode, ChallengeType.TYPE_EFFECTIVENESS, multiplier);
if (multiplier.value < 1) {
typeResistances.push(i);
}
}
return typeResistances;
}
getCondition(): MoveConditionFunc { getCondition(): MoveConditionFunc {
return (user, target, move) => { return (user, target, move) => {
const moveHistory = target.getLastXMoves(); const moveHistory = target.getLastXMoves();
@ -6854,7 +6880,16 @@ export function initMoves() {
.attr(ExposedMoveAttr, BattlerTagType.IGNORE_GHOST), .attr(ExposedMoveAttr, BattlerTagType.IGNORE_GHOST),
new SelfStatusMove(Moves.DESTINY_BOND, Type.GHOST, -1, 5, -1, 0, 2) new SelfStatusMove(Moves.DESTINY_BOND, Type.GHOST, -1, 5, -1, 0, 2)
.ignoresProtect() .ignoresProtect()
.attr(DestinyBondAttr), .attr(DestinyBondAttr)
.condition((user, target, move) => {
// Retrieves user's previous move, returns empty array if no moves have been used
const lastTurnMove = user.getLastXMoves(1);
// Checks last move and allows destiny bond to be used if:
// - no previous moves have been made
// - the previous move used was not destiny bond
// - the previous move was unsuccessful
return lastTurnMove.length === 0 || lastTurnMove[0].move !== move.id || lastTurnMove[0].result !== MoveResult.SUCCESS;
}),
new StatusMove(Moves.PERISH_SONG, Type.NORMAL, -1, 5, -1, 0, 2) new StatusMove(Moves.PERISH_SONG, Type.NORMAL, -1, 5, -1, 0, 2)
.attr(FaintCountdownAttr) .attr(FaintCountdownAttr)
.ignoresProtect() .ignoresProtect()
@ -7931,7 +7966,8 @@ export function initMoves() {
.target(MoveTarget.ALL_NEAR_OTHERS), .target(MoveTarget.ALL_NEAR_OTHERS),
new AttackMove(Moves.FREEZE_DRY, Type.ICE, MoveCategory.SPECIAL, 70, 100, 20, 10, 0, 6) new AttackMove(Moves.FREEZE_DRY, Type.ICE, MoveCategory.SPECIAL, 70, 100, 20, 10, 0, 6)
.attr(StatusEffectAttr, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.FREEZE)
.attr(WaterSuperEffectTypeMultiplierAttr), .attr(WaterSuperEffectTypeMultiplierAttr)
.partial(), // This currently just multiplies the move's power instead of changing its effectiveness. It also doesn't account for abilities that modify type effectiveness such as tera shell.
new AttackMove(Moves.DISARMING_VOICE, Type.FAIRY, MoveCategory.SPECIAL, 40, -1, 15, -1, 0, 6) new AttackMove(Moves.DISARMING_VOICE, Type.FAIRY, MoveCategory.SPECIAL, 40, -1, 15, -1, 0, 6)
.soundBased() .soundBased()
.target(MoveTarget.ALL_NEAR_ENEMIES), .target(MoveTarget.ALL_NEAR_ENEMIES),

View File

@ -1132,7 +1132,7 @@ export function initSpecies() {
), ),
new PokemonSpecies(Species.SNORLAX, 1, false, false, false, "Sleeping Pokémon", Type.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, GrowthRate.SLOW, 87.5, false, true, new PokemonSpecies(Species.SNORLAX, 1, false, false, false, "Sleeping Pokémon", Type.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, GrowthRate.SLOW, 87.5, false, true,
new PokemonForm("Normal", "", Type.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, false, null, true), new PokemonForm("Normal", "", Type.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, Type.GRASS, 35, 460, Abilities.THICK_FAT, Abilities.THICK_FAT, Abilities.THICK_FAT, 640, 200, 135, 85, 80, 125, 15, 25, 50, 189), new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, null, 35, 460, Abilities.THICK_FAT, Abilities.THICK_FAT, Abilities.THICK_FAT, 640, 200, 135, 85, 80, 125, 15, 25, 50, 189),
), ),
new PokemonSpecies(Species.ARTICUNO, 1, true, false, false, "Freeze Pokémon", Type.ICE, Type.FLYING, 1.7, 55.4, Abilities.PRESSURE, Abilities.NONE, Abilities.SNOW_CLOAK, 580, 90, 85, 100, 95, 125, 85, 3, 35, 290, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.ARTICUNO, 1, true, false, false, "Freeze Pokémon", Type.ICE, Type.FLYING, 1.7, 55.4, Abilities.PRESSURE, Abilities.NONE, Abilities.SNOW_CLOAK, 580, 90, 85, 100, 95, 125, 85, 3, 35, 290, GrowthRate.SLOW, null, false),
new PokemonSpecies(Species.ZAPDOS, 1, true, false, false, "Electric Pokémon", Type.ELECTRIC, Type.FLYING, 1.6, 52.6, Abilities.PRESSURE, Abilities.NONE, Abilities.STATIC, 580, 90, 90, 85, 125, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.ZAPDOS, 1, true, false, false, "Electric Pokémon", Type.ELECTRIC, Type.FLYING, 1.6, 52.6, Abilities.PRESSURE, Abilities.NONE, Abilities.STATIC, 580, 90, 90, 85, 125, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false),
@ -2252,19 +2252,19 @@ export function initSpecies() {
new PokemonSpecies(Species.THWACKEY, 8, false, false, false, "Beat Pokémon", Type.GRASS, null, 0.7, 14, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 420, 70, 85, 70, 55, 60, 80, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.THWACKEY, 8, false, false, false, "Beat Pokémon", Type.GRASS, null, 0.7, 14, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 420, 70, 85, 70, 55, 60, 80, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.RILLABOOM, 8, false, false, false, "Drummer Pokémon", Type.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonSpecies(Species.RILLABOOM, 8, false, false, false, "Drummer Pokémon", Type.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true,
new PokemonForm("Normal", "", Type.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, false, null, true), new PokemonForm("Normal", "", Type.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, null, 28, 90, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, 630, 125, 150, 115, 65, 95, 80, 45, 50, 265), new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, null, 28, 90, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, 630, 125, 150, 105, 85, 85, 80, 45, 50, 265),
), ),
new PokemonSpecies(Species.SCORBUNNY, 8, false, false, false, "Rabbit Pokémon", Type.FIRE, null, 0.3, 4.5, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 310, 50, 71, 40, 40, 40, 69, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.SCORBUNNY, 8, false, false, false, "Rabbit Pokémon", Type.FIRE, null, 0.3, 4.5, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 310, 50, 71, 40, 40, 40, 69, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.RABOOT, 8, false, false, false, "Rabbit Pokémon", Type.FIRE, null, 0.6, 9, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 420, 65, 86, 60, 55, 60, 94, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.RABOOT, 8, false, false, false, "Rabbit Pokémon", Type.FIRE, null, 0.6, 9, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 420, 65, 86, 60, 55, 60, 94, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.CINDERACE, 8, false, false, false, "Striker Pokémon", Type.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonSpecies(Species.CINDERACE, 8, false, false, false, "Striker Pokémon", Type.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true,
new PokemonForm("Normal", "", Type.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, false, null, true), new PokemonForm("Normal", "", Type.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, null, 27, 33, Abilities.LIBERO, Abilities.LIBERO, Abilities.LIBERO, 630, 90, 151, 85, 85, 85, 134, 45, 50, 265), new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, null, 27, 33, Abilities.LIBERO, Abilities.LIBERO, Abilities.LIBERO, 630, 100, 146, 80, 90, 80, 134, 45, 50, 265),
), ),
new PokemonSpecies(Species.SOBBLE, 8, false, false, false, "Water Lizard Pokémon", Type.WATER, null, 0.3, 4, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 310, 50, 40, 40, 70, 40, 70, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.SOBBLE, 8, false, false, false, "Water Lizard Pokémon", Type.WATER, null, 0.3, 4, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 310, 50, 40, 40, 70, 40, 70, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.DRIZZILE, 8, false, false, false, "Water Lizard Pokémon", Type.WATER, null, 0.7, 11.5, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 420, 65, 60, 55, 95, 55, 90, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.DRIZZILE, 8, false, false, false, "Water Lizard Pokémon", Type.WATER, null, 0.7, 11.5, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 420, 65, 60, 55, 95, 55, 90, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.INTELEON, 8, false, false, false, "Secret Agent Pokémon", Type.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonSpecies(Species.INTELEON, 8, false, false, false, "Secret Agent Pokémon", Type.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true,
new PokemonForm("Normal", "", Type.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, false, null, true), new PokemonForm("Normal", "", Type.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, null, 40, 45.2, Abilities.SNIPER, Abilities.SNIPER, Abilities.SNIPER, 630, 90, 90, 85, 150, 85, 130, 45, 50, 265), new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, null, 40, 45.2, Abilities.SNIPER, Abilities.SNIPER, Abilities.SNIPER, 630, 95, 97, 77, 147, 77, 137, 45, 50, 265),
), ),
new PokemonSpecies(Species.SKWOVET, 8, false, false, false, "Cheeky Pokémon", Type.NORMAL, null, 0.3, 2.5, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 275, 70, 55, 55, 35, 35, 25, 255, 50, 55, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.SKWOVET, 8, false, false, false, "Cheeky Pokémon", Type.NORMAL, null, 0.3, 2.5, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 275, 70, 55, 55, 35, 35, 25, 255, 50, 55, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.GREEDENT, 8, false, false, false, "Greedy Pokémon", Type.NORMAL, null, 0.6, 6, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 460, 120, 95, 95, 55, 75, 20, 90, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.GREEDENT, 8, false, false, false, "Greedy Pokémon", Type.NORMAL, null, 0.6, 6, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 460, 120, 95, 95, 55, 75, 20, 90, 50, 161, GrowthRate.MEDIUM_FAST, 50, false),
@ -3470,7 +3470,7 @@ export const starterPassiveAbilities = {
[Species.SUICUNE]: Abilities.UNAWARE, [Species.SUICUNE]: Abilities.UNAWARE,
[Species.LARVITAR]: Abilities.SAND_RUSH, [Species.LARVITAR]: Abilities.SAND_RUSH,
[Species.LUGIA]: Abilities.DELTA_STREAM, [Species.LUGIA]: Abilities.DELTA_STREAM,
[Species.HO_OH]: Abilities.DROUGHT, [Species.HO_OH]: Abilities.MAGIC_GUARD,
[Species.CELEBI]: Abilities.GRASSY_SURGE, [Species.CELEBI]: Abilities.GRASSY_SURGE,
[Species.TREECKO]: Abilities.TINTED_LENS, [Species.TREECKO]: Abilities.TINTED_LENS,
[Species.TORCHIC]: Abilities.RECKLESS, [Species.TORCHIC]: Abilities.RECKLESS,
@ -3591,7 +3591,7 @@ export const starterPassiveAbilities = {
[Species.HEATRAN]: Abilities.EARTH_EATER, [Species.HEATRAN]: Abilities.EARTH_EATER,
[Species.REGIGIGAS]: Abilities.MINDS_EYE, [Species.REGIGIGAS]: Abilities.MINDS_EYE,
[Species.GIRATINA]: Abilities.SHADOW_SHIELD, [Species.GIRATINA]: Abilities.SHADOW_SHIELD,
[Species.CRESSELIA]: Abilities.UNAWARE, [Species.CRESSELIA]: Abilities.SHADOW_SHIELD,
[Species.PHIONE]: Abilities.SIMPLE, [Species.PHIONE]: Abilities.SIMPLE,
[Species.MANAPHY]: Abilities.PRIMORDIAL_SEA, [Species.MANAPHY]: Abilities.PRIMORDIAL_SEA,
[Species.DARKRAI]: Abilities.UNNERVE, [Species.DARKRAI]: Abilities.UNNERVE,

View File

@ -42431,7 +42431,6 @@ export const tmSpecies: TmSpecies = {
Species.TORTERRA, Species.TORTERRA,
Species.BUDEW, Species.BUDEW,
Species.ROSERADE, Species.ROSERADE,
Species.WORMADAM,
Species.CHERUBI, Species.CHERUBI,
Species.CHERRIM, Species.CHERRIM,
Species.CARNIVINE, Species.CARNIVINE,
@ -42449,6 +42448,7 @@ export const tmSpecies: TmSpecies = {
Species.PETILIL, Species.PETILIL,
Species.LILLIGANT, Species.LILLIGANT,
Species.MARACTUS, Species.MARACTUS,
Species.MINCCINO,
Species.CINCCINO, Species.CINCCINO,
Species.DEERLING, Species.DEERLING,
Species.SAWSBUCK, Species.SAWSBUCK,
@ -42511,6 +42511,10 @@ export const tmSpecies: TmSpecies = {
Species.DIPPLIN, Species.DIPPLIN,
Species.OGERPON, Species.OGERPON,
Species.HYDRAPPLE, Species.HYDRAPPLE,
[
Species.WORMADAM,
"plant",
],
Species.ALOLA_EXEGGUTOR, Species.ALOLA_EXEGGUTOR,
Species.HISUI_VOLTORB, Species.HISUI_VOLTORB,
Species.HISUI_ELECTRODE, Species.HISUI_ELECTRODE,
@ -45984,6 +45988,7 @@ export const tmSpecies: TmSpecies = {
Species.TEDDIURSA, Species.TEDDIURSA,
Species.URSARING, Species.URSARING,
Species.HITMONTOP, Species.HITMONTOP,
Species.COMBUSKEN,
Species.BLAZIKEN, Species.BLAZIKEN,
Species.BRELOOM, Species.BRELOOM,
Species.MAKUHITA, Species.MAKUHITA,
@ -48612,6 +48617,7 @@ export const tmSpecies: TmSpecies = {
Species.WOOBAT, Species.WOOBAT,
Species.SWOOBAT, Species.SWOOBAT,
Species.SEWADDLE, Species.SEWADDLE,
Species.SWADLOON,
Species.LEAVANNY, Species.LEAVANNY,
Species.SIGILYPH, Species.SIGILYPH,
Species.ARCHEOPS, Species.ARCHEOPS,
@ -48641,6 +48647,9 @@ export const tmSpecies: TmSpecies = {
Species.ROWLET, Species.ROWLET,
Species.DARTRIX, Species.DARTRIX,
Species.DECIDUEYE, Species.DECIDUEYE,
Species.PIKIPEK,
Species.TRUMBEAK,
Species.TOUCANNON,
Species.VIKAVOLT, Species.VIKAVOLT,
Species.ORICORIO, Species.ORICORIO,
Species.TYPE_NULL, Species.TYPE_NULL,
@ -49162,6 +49171,8 @@ export const tmSpecies: TmSpecies = {
Species.AZELF, Species.AZELF,
Species.REGIGIGAS, Species.REGIGIGAS,
Species.DARKRAI, Species.DARKRAI,
Species.PIGNITE,
Species.EMBOAR,
Species.AUDINO, Species.AUDINO,
Species.TIMBURR, Species.TIMBURR,
Species.GURDURR, Species.GURDURR,
@ -49792,10 +49803,13 @@ export const tmSpecies: TmSpecies = {
], ],
[Moves.BRAVE_BIRD]: [ [Moves.BRAVE_BIRD]: [
Species.PIDGEY, Species.PIDGEY,
Species.PIDGEOTTO,
Species.PIDGEOT,
Species.ZUBAT, Species.ZUBAT,
Species.GOLBAT, Species.GOLBAT,
Species.FARFETCHD, Species.FARFETCHD,
Species.DODUO, Species.DODUO,
Species.DODRIO,
Species.ARTICUNO, Species.ARTICUNO,
Species.ZAPDOS, Species.ZAPDOS,
Species.MOLTRES, Species.MOLTRES,
@ -49806,6 +49820,7 @@ export const tmSpecies: TmSpecies = {
Species.MURKROW, Species.MURKROW,
Species.DELIBIRD, Species.DELIBIRD,
Species.SKARMORY, Species.SKARMORY,
Species.LUGIA,
Species.HO_OH, Species.HO_OH,
Species.BLAZIKEN, Species.BLAZIKEN,
Species.TAILLOW, Species.TAILLOW,
@ -49833,6 +49848,8 @@ export const tmSpecies: TmSpecies = {
Species.DARTRIX, Species.DARTRIX,
Species.DECIDUEYE, Species.DECIDUEYE,
Species.PIKIPEK, Species.PIKIPEK,
Species.TRUMBEAK,
Species.TOUCANNON,
Species.TAPU_KOKO, Species.TAPU_KOKO,
Species.ROOKIDEE, Species.ROOKIDEE,
Species.CORVISQUIRE, Species.CORVISQUIRE,
@ -50008,6 +50025,7 @@ export const tmSpecies: TmSpecies = {
Species.MUDSDALE, Species.MUDSDALE,
Species.SANDYGAST, Species.SANDYGAST,
Species.PALOSSAND, Species.PALOSSAND,
Species.MINIOR,
Species.NECROZMA, Species.NECROZMA,
Species.RILLABOOM, Species.RILLABOOM,
Species.DREDNAW, Species.DREDNAW,
@ -51968,6 +51986,7 @@ export const tmSpecies: TmSpecies = {
Species.BEHEEYEM, Species.BEHEEYEM,
Species.CRYOGONAL, Species.CRYOGONAL,
Species.DRUDDIGON, Species.DRUDDIGON,
Species.GOLETT,
Species.GOLURK, Species.GOLURK,
Species.PAWNIARD, Species.PAWNIARD,
Species.BISHARP, Species.BISHARP,
@ -52010,6 +52029,7 @@ export const tmSpecies: TmSpecies = {
Species.MELTAN, Species.MELTAN,
Species.MELMETAL, Species.MELMETAL,
Species.CORVIKNIGHT, Species.CORVIKNIGHT,
Species.PERRSERKER,
Species.CUFANT, Species.CUFANT,
Species.COPPERAJAH, Species.COPPERAJAH,
Species.DURALUDON, Species.DURALUDON,
@ -53199,6 +53219,8 @@ export const tmSpecies: TmSpecies = {
Species.NUMEL, Species.NUMEL,
Species.CAMERUPT, Species.CAMERUPT,
Species.TORKOAL, Species.TORKOAL,
Species.TRAPINCH,
Species.VIBRAVA,
Species.FLYGON, Species.FLYGON,
Species.LUNATONE, Species.LUNATONE,
Species.SOLROCK, Species.SOLROCK,
@ -53442,6 +53464,9 @@ export const tmSpecies: TmSpecies = {
Species.NUMEL, Species.NUMEL,
Species.CAMERUPT, Species.CAMERUPT,
Species.TORKOAL, Species.TORKOAL,
Species.TRAPINCH,
Species.VIBRAVA,
Species.FLYGON,
Species.LUNATONE, Species.LUNATONE,
Species.SOLROCK, Species.SOLROCK,
Species.BARBOACH, Species.BARBOACH,
@ -53524,6 +53549,7 @@ export const tmSpecies: TmSpecies = {
Species.HYDREIGON, Species.HYDREIGON,
Species.COBALION, Species.COBALION,
Species.TERRAKION, Species.TERRAKION,
Species.ZEKROM,
Species.LANDORUS, Species.LANDORUS,
Species.BINACLE, Species.BINACLE,
Species.BARBARACLE, Species.BARBARACLE,
@ -54570,6 +54596,7 @@ export const tmSpecies: TmSpecies = {
Species.SLOWBRO, Species.SLOWBRO,
Species.DROWZEE, Species.DROWZEE,
Species.HYPNO, Species.HYPNO,
Species.EXEGGCUTE,
Species.EXEGGUTOR, Species.EXEGGUTOR,
Species.STARMIE, Species.STARMIE,
Species.MR_MIME, Species.MR_MIME,
@ -54621,6 +54648,7 @@ export const tmSpecies: TmSpecies = {
Species.MESPRIT, Species.MESPRIT,
Species.AZELF, Species.AZELF,
Species.CRESSELIA, Species.CRESSELIA,
Species.DARKRAI,
Species.ARCEUS, Species.ARCEUS,
Species.VICTINI, Species.VICTINI,
Species.MUNNA, Species.MUNNA,
@ -54644,6 +54672,7 @@ export const tmSpecies: TmSpecies = {
Species.ESPURR, Species.ESPURR,
Species.MEOWSTIC, Species.MEOWSTIC,
Species.AROMATISSE, Species.AROMATISSE,
Species.INKAY,
Species.MALAMAR, Species.MALAMAR,
Species.SYLVEON, Species.SYLVEON,
Species.KLEFKI, Species.KLEFKI,
@ -55061,6 +55090,7 @@ export const tmSpecies: TmSpecies = {
Species.NIDOQUEEN, Species.NIDOQUEEN,
Species.NIDOKING, Species.NIDOKING,
Species.VILEPLUME, Species.VILEPLUME,
Species.VENOMOTH,
Species.DUGTRIO, Species.DUGTRIO,
Species.BELLSPROUT, Species.BELLSPROUT,
Species.WEEPINBELL, Species.WEEPINBELL,
@ -55165,6 +55195,7 @@ export const tmSpecies: TmSpecies = {
Species.MAGNEMITE, Species.MAGNEMITE,
Species.MAGNETON, Species.MAGNETON,
Species.ONIX, Species.ONIX,
Species.RHYHORN,
Species.RHYDON, Species.RHYDON,
Species.SNORLAX, Species.SNORLAX,
Species.MEW, Species.MEW,
@ -55197,6 +55228,7 @@ export const tmSpecies: TmSpecies = {
Species.TURTWIG, Species.TURTWIG,
Species.GROTLE, Species.GROTLE,
Species.TORTERRA, Species.TORTERRA,
Species.RAMPARDOS,
Species.SHIELDON, Species.SHIELDON,
Species.BASTIODON, Species.BASTIODON,
Species.BRONZOR, Species.BRONZOR,
@ -55212,6 +55244,8 @@ export const tmSpecies: TmSpecies = {
Species.REGIGIGAS, Species.REGIGIGAS,
Species.ARCEUS, Species.ARCEUS,
Species.TEPIG, Species.TEPIG,
Species.PIGNITE,
Species.EMBOAR,
Species.ROGGENROLA, Species.ROGGENROLA,
Species.BOLDORE, Species.BOLDORE,
Species.GIGALITH, Species.GIGALITH,
@ -55222,6 +55256,7 @@ export const tmSpecies: TmSpecies = {
Species.BEARTIC, Species.BEARTIC,
Species.GOLETT, Species.GOLETT,
Species.GOLURK, Species.GOLURK,
Species.COBALION,
Species.CARBINK, Species.CARBINK,
Species.AVALUGG, Species.AVALUGG,
Species.VOLCANION, Species.VOLCANION,
@ -55303,6 +55338,7 @@ export const tmSpecies: TmSpecies = {
Species.FLAAFFY, Species.FLAAFFY,
Species.AMPHAROS, Species.AMPHAROS,
Species.ELEKID, Species.ELEKID,
Species.RAIKOU,
Species.ELECTRIKE, Species.ELECTRIKE,
Species.MANECTRIC, Species.MANECTRIC,
Species.PLUSLE, Species.PLUSLE,
@ -55314,6 +55350,8 @@ export const tmSpecies: TmSpecies = {
Species.MAGNEZONE, Species.MAGNEZONE,
Species.ELECTIVIRE, Species.ELECTIVIRE,
Species.ROTOM, Species.ROTOM,
Species.BLITZLE,
Species.ZEBSTRIKA,
Species.EMOLGA, Species.EMOLGA,
Species.JOLTIK, Species.JOLTIK,
Species.GALVANTULA, Species.GALVANTULA,
@ -59685,6 +59723,7 @@ export const tmSpecies: TmSpecies = {
Species.NIDORINO, Species.NIDORINO,
Species.NIDOKING, Species.NIDOKING,
Species.RAPIDASH, Species.RAPIDASH,
Species.DODRIO,
Species.SEEL, Species.SEEL,
Species.DEWGONG, Species.DEWGONG,
Species.CLOYSTER, Species.CLOYSTER,
@ -59699,6 +59738,7 @@ export const tmSpecies: TmSpecies = {
Species.FORRETRESS, Species.FORRETRESS,
Species.DUNSPARCE, Species.DUNSPARCE,
Species.STEELIX, Species.STEELIX,
Species.SKARMORY,
Species.DELIBIRD, Species.DELIBIRD,
Species.HITMONTOP, Species.HITMONTOP,
Species.BALTOY, Species.BALTOY,
@ -60552,6 +60592,7 @@ export const tmSpecies: TmSpecies = {
Species.ARCANINE, Species.ARCANINE,
Species.PONYTA, Species.PONYTA,
Species.RAPIDASH, Species.RAPIDASH,
Species.DEWGONG,
Species.MEW, Species.MEW,
Species.CYNDAQUIL, Species.CYNDAQUIL,
Species.QUILAVA, Species.QUILAVA,
@ -60582,6 +60623,8 @@ export const tmSpecies: TmSpecies = {
Species.SKITTY, Species.SKITTY,
Species.DELCATTY, Species.DELCATTY,
Species.MAWILE, Species.MAWILE,
Species.PLUSLE,
Species.MINUN,
Species.VOLBEAT, Species.VOLBEAT,
Species.ILLUMISE, Species.ILLUMISE,
Species.SWABLU, Species.SWABLU,
@ -60603,6 +60646,7 @@ export const tmSpecies: TmSpecies = {
Species.UXIE, Species.UXIE,
Species.MESPRIT, Species.MESPRIT,
Species.AZELF, Species.AZELF,
Species.SHAYMIN,
Species.LILLIPUP, Species.LILLIPUP,
Species.HERDIER, Species.HERDIER,
Species.STOUTLAND, Species.STOUTLAND,
@ -66276,8 +66320,13 @@ export const tmSpecies: TmSpecies = {
Species.BLOODMOON_URSALUNA, Species.BLOODMOON_URSALUNA,
], ],
[Moves.ICE_SPINNER]: [ [Moves.ICE_SPINNER]: [
Species.SQUIRTLE,
Species.WARTORTLE,
Species.BLASTOISE,
Species.JIGGLYPUFF, Species.JIGGLYPUFF,
Species.WIGGLYTUFF, Species.WIGGLYTUFF,
Species.SEEL,
Species.DEWGONG,
Species.SHELLDER, Species.SHELLDER,
Species.CLOYSTER, Species.CLOYSTER,
Species.ARTICUNO, Species.ARTICUNO,
@ -66290,9 +66339,12 @@ export const tmSpecies: TmSpecies = {
Species.DUNSPARCE, Species.DUNSPARCE,
Species.DELIBIRD, Species.DELIBIRD,
Species.DONPHAN, Species.DONPHAN,
Species.HITMONTOP,
Species.LUDICOLO, Species.LUDICOLO,
Species.SNORUNT, Species.SNORUNT,
Species.GLALIE, Species.GLALIE,
Species.REGICE,
Species.REGISTEEL,
Species.PIPLUP, Species.PIPLUP,
Species.PRINPLUP, Species.PRINPLUP,
Species.EMPOLEON, Species.EMPOLEON,
@ -66304,10 +66356,14 @@ export const tmSpecies: TmSpecies = {
Species.ABOMASNOW, Species.ABOMASNOW,
Species.WEAVILE, Species.WEAVILE,
Species.FROSLASS, Species.FROSLASS,
Species.CINCCINO,
Species.CRYOGONAL, Species.CRYOGONAL,
Species.MIENSHAO, Species.MIENSHAO,
Species.BERGMITE, Species.BERGMITE,
Species.AVALUGG, Species.AVALUGG,
Species.POPPLIO,
Species.BRIONNE,
Species.PRIMARINA,
Species.CRABOMINABLE, Species.CRABOMINABLE,
Species.MAREANIE, Species.MAREANIE,
Species.TOXAPEX, Species.TOXAPEX,
@ -66845,6 +66901,9 @@ export const tmSpecies: TmSpecies = {
Species.BLOODMOON_URSALUNA, Species.BLOODMOON_URSALUNA,
], ],
[Moves.CHILLING_WATER]: [ [Moves.CHILLING_WATER]: [
Species.SQUIRTLE,
Species.WARTORTLE,
Species.BLASTOISE,
Species.CLEFAIRY, Species.CLEFAIRY,
Species.CLEFABLE, Species.CLEFABLE,
Species.JIGGLYPUFF, Species.JIGGLYPUFF,
@ -66856,12 +66915,19 @@ export const tmSpecies: TmSpecies = {
Species.POLIWAG, Species.POLIWAG,
Species.POLIWHIRL, Species.POLIWHIRL,
Species.POLIWRATH, Species.POLIWRATH,
Species.TENTACOOL,
Species.TENTACRUEL,
Species.SLOWPOKE, Species.SLOWPOKE,
Species.SLOWBRO, Species.SLOWBRO,
Species.SEEL,
Species.DEWGONG,
Species.SHELLDER, Species.SHELLDER,
Species.CLOYSTER, Species.CLOYSTER,
Species.CHANSEY, Species.CHANSEY,
Species.HORSEA,
Species.SEADRA,
Species.GYARADOS, Species.GYARADOS,
Species.LAPRAS,
Species.VAPOREON, Species.VAPOREON,
Species.SNORLAX, Species.SNORLAX,
Species.DRATINI, Species.DRATINI,
@ -66869,8 +66935,13 @@ export const tmSpecies: TmSpecies = {
Species.DRAGONITE, Species.DRAGONITE,
Species.MEWTWO, Species.MEWTWO,
Species.MEW, Species.MEW,
Species.TOTODILE,
Species.CROCONAW,
Species.FERALIGATR,
Species.SENTRET, Species.SENTRET,
Species.FURRET, Species.FURRET,
Species.CHINCHOU,
Species.LANTURN,
Species.CLEFFA, Species.CLEFFA,
Species.MARILL, Species.MARILL,
Species.AZUMARILL, Species.AZUMARILL,
@ -66882,7 +66953,13 @@ export const tmSpecies: TmSpecies = {
Species.DUNSPARCE, Species.DUNSPARCE,
Species.QWILFISH, Species.QWILFISH,
Species.DELIBIRD, Species.DELIBIRD,
Species.KINGDRA,
Species.BLISSEY, Species.BLISSEY,
Species.SUICUNE,
Species.LUGIA,
Species.MUDKIP,
Species.MARSHTOMP,
Species.SWAMPERT,
Species.LOTAD, Species.LOTAD,
Species.LOMBRE, Species.LOMBRE,
Species.LUDICOLO, Species.LUDICOLO,
@ -66908,6 +66985,8 @@ export const tmSpecies: TmSpecies = {
Species.MILOTIC, Species.MILOTIC,
Species.SNORUNT, Species.SNORUNT,
Species.GLALIE, Species.GLALIE,
Species.LATIAS,
Species.LATIOS,
Species.KYOGRE, Species.KYOGRE,
Species.PIPLUP, Species.PIPLUP,
Species.PRINPLUP, Species.PRINPLUP,
@ -66933,6 +67012,8 @@ export const tmSpecies: TmSpecies = {
"", "",
"origin", "origin",
], ],
Species.PHIONE,
Species.MANAPHY,
Species.ARCEUS, Species.ARCEUS,
Species.OSHAWOTT, Species.OSHAWOTT,
Species.DEWOTT, Species.DEWOTT,
@ -66943,6 +67024,8 @@ export const tmSpecies: TmSpecies = {
"blue-striped", "blue-striped",
"white-striped", "white-striped",
], ],
Species.MINCCINO,
Species.CINCCINO,
Species.DUCKLETT, Species.DUCKLETT,
Species.SWANNA, Species.SWANNA,
Species.ALOMOMOLA, Species.ALOMOMOLA,
@ -66950,6 +67033,7 @@ export const tmSpecies: TmSpecies = {
Species.BEARTIC, Species.BEARTIC,
Species.CRYOGONAL, Species.CRYOGONAL,
Species.TORNADUS, Species.TORNADUS,
Species.KELDEO,
Species.FROAKIE, Species.FROAKIE,
Species.FROGADIER, Species.FROGADIER,
[ [
@ -66970,12 +67054,17 @@ export const tmSpecies: TmSpecies = {
Species.GOODRA, Species.GOODRA,
Species.BERGMITE, Species.BERGMITE,
Species.AVALUGG, Species.AVALUGG,
Species.POPPLIO,
Species.BRIONNE,
Species.PRIMARINA,
Species.YUNGOOS, Species.YUNGOOS,
Species.GUMSHOOS, Species.GUMSHOOS,
Species.CRABRAWLER, Species.CRABRAWLER,
Species.CRABOMINABLE, Species.CRABOMINABLE,
Species.MAREANIE, Species.MAREANIE,
Species.TOXAPEX, Species.TOXAPEX,
Species.DEWPIDER,
Species.ARAQUANID,
Species.ORANGURU, Species.ORANGURU,
Species.PASSIMIAN, Species.PASSIMIAN,
Species.SANDYGAST, Species.SANDYGAST,

View File

@ -23,7 +23,7 @@ export enum Type {
export type TypeDamageMultiplier = 0 | 0.125 | 0.25 | 0.5 | 1 | 2 | 4 | 8; export type TypeDamageMultiplier = 0 | 0.125 | 0.25 | 0.5 | 1 | 2 | 4 | 8;
export function getTypeDamageMultiplier(attackType: integer, defType: integer): TypeDamageMultiplier { export function getTypeDamageMultiplier(attackType: Type, defType: Type): TypeDamageMultiplier {
if (attackType === Type.UNKNOWN || defType === Type.UNKNOWN) { if (attackType === Type.UNKNOWN || defType === Type.UNKNOWN) {
return 1; return 1;
} }
@ -33,26 +33,10 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
switch (attackType) { switch (attackType) {
case Type.FIGHTING: case Type.FIGHTING:
return 2; return 2;
case Type.NORMAL:
case Type.FLYING:
case Type.POISON:
case Type.GROUND:
case Type.ROCK:
case Type.BUG:
case Type.STEEL:
case Type.FIRE:
case Type.WATER:
case Type.GRASS:
case Type.ELECTRIC:
case Type.PSYCHIC:
case Type.ICE:
case Type.DRAGON:
case Type.DARK:
case Type.FAIRY:
return 1;
case Type.GHOST: case Type.GHOST:
default:
return 0; return 0;
default:
return 1;
} }
case Type.FIGHTING: case Type.FIGHTING:
switch (attackType) { switch (attackType) {
@ -60,25 +44,12 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.PSYCHIC: case Type.PSYCHIC:
case Type.FAIRY: case Type.FAIRY:
return 2; return 2;
case Type.NORMAL:
case Type.FIGHTING:
case Type.POISON:
case Type.GROUND:
case Type.GHOST:
case Type.STEEL:
case Type.FIRE:
case Type.WATER:
case Type.GRASS:
case Type.ELECTRIC:
case Type.ICE:
case Type.DRAGON:
return 1;
case Type.ROCK: case Type.ROCK:
case Type.BUG: case Type.BUG:
case Type.DARK: case Type.DARK:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.FLYING: case Type.FLYING:
switch (attackType) { switch (attackType) {
@ -86,43 +57,20 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.ELECTRIC: case Type.ELECTRIC:
case Type.ICE: case Type.ICE:
return 2; return 2;
case Type.NORMAL:
case Type.FLYING:
case Type.POISON:
case Type.GHOST:
case Type.STEEL:
case Type.FIRE:
case Type.WATER:
case Type.PSYCHIC:
case Type.DRAGON:
case Type.DARK:
case Type.FAIRY:
return 1;
case Type.FIGHTING: case Type.FIGHTING:
case Type.BUG: case Type.BUG:
case Type.GRASS: case Type.GRASS:
return 0.5; return 0.5;
case Type.GROUND: case Type.GROUND:
default:
return 0; return 0;
default:
return 1;
} }
case Type.POISON: case Type.POISON:
switch (attackType) { switch (attackType) {
case Type.GROUND: case Type.GROUND:
case Type.PSYCHIC: case Type.PSYCHIC:
return 2; return 2;
case Type.NORMAL:
case Type.FLYING:
case Type.ROCK:
case Type.GHOST:
case Type.STEEL:
case Type.FIRE:
case Type.WATER:
case Type.ELECTRIC:
case Type.ICE:
case Type.DRAGON:
case Type.DARK:
return 1;
case Type.FIGHTING: case Type.FIGHTING:
case Type.POISON: case Type.POISON:
case Type.BUG: case Type.BUG:
@ -130,7 +78,7 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.FAIRY: case Type.FAIRY:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.GROUND: case Type.GROUND:
switch (attackType) { switch (attackType) {
@ -138,25 +86,13 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.GRASS: case Type.GRASS:
case Type.ICE: case Type.ICE:
return 2; return 2;
case Type.NORMAL:
case Type.FIGHTING:
case Type.FLYING:
case Type.GROUND:
case Type.BUG:
case Type.GHOST:
case Type.STEEL:
case Type.FIRE:
case Type.PSYCHIC:
case Type.DRAGON:
case Type.DARK:
case Type.FAIRY:
return 1;
case Type.POISON: case Type.POISON:
case Type.ROCK: case Type.ROCK:
return 0.5; return 0.5;
case Type.ELECTRIC: case Type.ELECTRIC:
default:
return 0; return 0;
default:
return 1;
} }
case Type.ROCK: case Type.ROCK:
switch (attackType) { switch (attackType) {
@ -166,23 +102,13 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.WATER: case Type.WATER:
case Type.GRASS: case Type.GRASS:
return 2; return 2;
case Type.ROCK:
case Type.BUG:
case Type.GHOST:
case Type.ELECTRIC:
case Type.PSYCHIC:
case Type.ICE:
case Type.DRAGON:
case Type.DARK:
case Type.FAIRY:
return 1;
case Type.NORMAL: case Type.NORMAL:
case Type.FLYING: case Type.FLYING:
case Type.POISON: case Type.POISON:
case Type.FIRE: case Type.FIRE:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.BUG: case Type.BUG:
switch (attackType) { switch (attackType) {
@ -190,51 +116,26 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.ROCK: case Type.ROCK:
case Type.FIRE: case Type.FIRE:
return 2; return 2;
case Type.NORMAL:
case Type.POISON:
case Type.BUG:
case Type.GHOST:
case Type.STEEL:
case Type.WATER:
case Type.ELECTRIC:
case Type.PSYCHIC:
case Type.ICE:
case Type.DRAGON:
case Type.DARK:
case Type.FAIRY:
return 1;
case Type.FIGHTING: case Type.FIGHTING:
case Type.GROUND: case Type.GROUND:
case Type.GRASS: case Type.GRASS:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.GHOST: case Type.GHOST:
switch (attackType) { switch (attackType) {
case Type.GHOST: case Type.GHOST:
case Type.DARK: case Type.DARK:
return 2; return 2;
case Type.FLYING:
case Type.GROUND:
case Type.ROCK:
case Type.STEEL:
case Type.FIRE:
case Type.WATER:
case Type.GRASS:
case Type.ELECTRIC:
case Type.PSYCHIC:
case Type.ICE:
case Type.DRAGON:
case Type.FAIRY:
return 1;
case Type.POISON: case Type.POISON:
case Type.BUG: case Type.BUG:
return 0.5; return 0.5;
case Type.NORMAL: case Type.NORMAL:
case Type.FIGHTING: case Type.FIGHTING:
default:
return 0; return 0;
default:
return 1;
} }
case Type.STEEL: case Type.STEEL:
switch (attackType) { switch (attackType) {
@ -242,11 +143,6 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.GROUND: case Type.GROUND:
case Type.FIRE: case Type.FIRE:
return 2; return 2;
case Type.GHOST:
case Type.WATER:
case Type.ELECTRIC:
case Type.DARK:
return 1;
case Type.NORMAL: case Type.NORMAL:
case Type.FLYING: case Type.FLYING:
case Type.ROCK: case Type.ROCK:
@ -259,8 +155,9 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.FAIRY: case Type.FAIRY:
return 0.5; return 0.5;
case Type.POISON: case Type.POISON:
default:
return 0; return 0;
default:
return 1;
} }
case Type.FIRE: case Type.FIRE:
switch (attackType) { switch (attackType) {
@ -268,16 +165,6 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.ROCK: case Type.ROCK:
case Type.WATER: case Type.WATER:
return 2; return 2;
case Type.NORMAL:
case Type.FIGHTING:
case Type.FLYING:
case Type.POISON:
case Type.GHOST:
case Type.ELECTRIC:
case Type.PSYCHIC:
case Type.DRAGON:
case Type.DARK:
return 1;
case Type.BUG: case Type.BUG:
case Type.STEEL: case Type.STEEL:
case Type.FIRE: case Type.FIRE:
@ -286,33 +173,20 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.FAIRY: case Type.FAIRY:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.WATER: case Type.WATER:
switch (attackType) { switch (attackType) {
case Type.GRASS: case Type.GRASS:
case Type.ELECTRIC: case Type.ELECTRIC:
return 2; return 2;
case Type.NORMAL:
case Type.FIGHTING:
case Type.FLYING:
case Type.POISON:
case Type.GROUND:
case Type.ROCK:
case Type.BUG:
case Type.GHOST:
case Type.PSYCHIC:
case Type.DRAGON:
case Type.DARK:
case Type.FAIRY:
return 1;
case Type.STEEL: case Type.STEEL:
case Type.FIRE: case Type.FIRE:
case Type.WATER: case Type.WATER:
case Type.ICE: case Type.ICE:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.GRASS: case Type.GRASS:
switch (attackType) { switch (attackType) {
@ -322,49 +196,24 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.FIRE: case Type.FIRE:
case Type.ICE: case Type.ICE:
return 2; return 2;
case Type.NORMAL:
case Type.FIGHTING:
case Type.ROCK:
case Type.GHOST:
case Type.STEEL:
case Type.PSYCHIC:
case Type.DRAGON:
case Type.DARK:
case Type.FAIRY:
return 1;
case Type.GROUND: case Type.GROUND:
case Type.WATER: case Type.WATER:
case Type.GRASS: case Type.GRASS:
case Type.ELECTRIC: case Type.ELECTRIC:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.ELECTRIC: case Type.ELECTRIC:
switch (attackType) { switch (attackType) {
case Type.GROUND: case Type.GROUND:
return 2; return 2;
case Type.NORMAL:
case Type.FIGHTING:
case Type.POISON:
case Type.ROCK:
case Type.BUG:
case Type.GHOST:
case Type.FIRE:
case Type.WATER:
case Type.GRASS:
case Type.PSYCHIC:
case Type.ICE:
case Type.DRAGON:
case Type.DARK:
case Type.FAIRY:
return 1;
case Type.FLYING: case Type.FLYING:
case Type.STEEL: case Type.STEEL:
case Type.ELECTRIC: case Type.ELECTRIC:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.PSYCHIC: case Type.PSYCHIC:
switch (attackType) { switch (attackType) {
@ -372,25 +221,11 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.GHOST: case Type.GHOST:
case Type.DARK: case Type.DARK:
return 2; return 2;
case Type.NORMAL:
case Type.FLYING:
case Type.POISON:
case Type.GROUND:
case Type.ROCK:
case Type.STEEL:
case Type.FIRE:
case Type.WATER:
case Type.GRASS:
case Type.ELECTRIC:
case Type.ICE:
case Type.DRAGON:
case Type.FAIRY:
return 1;
case Type.FIGHTING: case Type.FIGHTING:
case Type.PSYCHIC: case Type.PSYCHIC:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.ICE: case Type.ICE:
switch (attackType) { switch (attackType) {
@ -399,24 +234,10 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.STEEL: case Type.STEEL:
case Type.FIRE: case Type.FIRE:
return 2; return 2;
case Type.NORMAL:
case Type.FLYING:
case Type.POISON:
case Type.GROUND:
case Type.BUG:
case Type.GHOST:
case Type.WATER:
case Type.GRASS:
case Type.ELECTRIC:
case Type.PSYCHIC:
case Type.DRAGON:
case Type.DARK:
case Type.FAIRY:
return 1;
case Type.ICE: case Type.ICE:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.DRAGON: case Type.DRAGON:
switch (attackType) { switch (attackType) {
@ -424,25 +245,13 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.DRAGON: case Type.DRAGON:
case Type.FAIRY: case Type.FAIRY:
return 2; return 2;
case Type.NORMAL:
case Type.FIGHTING:
case Type.FLYING:
case Type.POISON:
case Type.GROUND:
case Type.ROCK:
case Type.BUG:
case Type.GHOST:
case Type.STEEL:
case Type.PSYCHIC:
case Type.DARK:
return 1;
case Type.FIRE: case Type.FIRE:
case Type.WATER: case Type.WATER:
case Type.GRASS: case Type.GRASS:
case Type.ELECTRIC: case Type.ELECTRIC:
return 0.5; return 0.5;
default: default:
return 0; return 1;
} }
case Type.DARK: case Type.DARK:
switch (attackType) { switch (attackType) {
@ -450,106 +259,33 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
case Type.BUG: case Type.BUG:
case Type.FAIRY: case Type.FAIRY:
return 2; return 2;
case Type.NORMAL:
case Type.FLYING:
case Type.POISON:
case Type.GROUND:
case Type.ROCK:
case Type.STEEL:
case Type.FIRE:
case Type.WATER:
case Type.GRASS:
case Type.ELECTRIC:
case Type.ICE:
case Type.DRAGON:
return 1;
case Type.GHOST: case Type.GHOST:
case Type.DARK: case Type.DARK:
return 0.5; return 0.5;
case Type.PSYCHIC: case Type.PSYCHIC:
default:
return 0; return 0;
default:
return 1;
} }
case Type.FAIRY: case Type.FAIRY:
switch (attackType) { switch (attackType) {
case Type.POISON: case Type.POISON:
case Type.STEEL: case Type.STEEL:
return 2; return 2;
case Type.NORMAL:
case Type.FLYING:
case Type.GROUND:
case Type.ROCK:
case Type.GHOST:
case Type.FIRE:
case Type.WATER:
case Type.GRASS:
case Type.ELECTRIC:
case Type.PSYCHIC:
case Type.ICE:
case Type.FAIRY:
return 1;
case Type.FIGHTING: case Type.FIGHTING:
case Type.BUG: case Type.BUG:
case Type.DARK: case Type.DARK:
return 0.5; return 0.5;
case Type.DRAGON: case Type.DRAGON:
default:
return 0; return 0;
default:
return 1;
} }
case Type.STELLAR: case Type.STELLAR:
return 1; return 1;
} }
return 0; return 1;
}
/**
* Retrieve the types resisting a given type
* @returns An array populated with Types, or an empty array if no resistances exist (Unknown or Stellar type)
*/
export function getTypeResistances(type: number): Type[] {
switch (type) {
case Type.NORMAL:
return [Type.ROCK, Type.STEEL, Type.GHOST];
case Type.FIGHTING:
return [Type.FLYING, Type.POISON, Type.BUG, Type.PSYCHIC, Type.FAIRY, Type.GHOST];
case Type.FLYING:
return [Type.ROCK, Type.ELECTRIC, Type.STEEL];
case Type.POISON:
return [Type.POISON, Type.GROUND, Type.ROCK, Type.GHOST, Type.STEEL];
case Type.GROUND:
return [Type.BUG, Type.GRASS, Type.FLYING];
case Type.ROCK:
return [Type.FIGHTING, Type.GROUND, Type.STEEL];
case Type.BUG:
return [Type.FIGHTING, Type.FLYING, Type.POISON, Type.GHOST, Type.STEEL, Type.FIRE, Type.FAIRY];
case Type.GHOST:
return [Type.DARK, Type.NORMAL];
case Type.STEEL:
return [Type.STEEL, Type.FIRE, Type.WATER, Type.ELECTRIC];
case Type.FIRE:
return [Type.ROCK, Type.FIRE, Type.WATER, Type.DRAGON];
case Type.WATER:
return [Type.WATER, Type.GRASS, Type.DRAGON];
case Type.GRASS:
return [Type.FLYING, Type.POISON, Type.BUG, Type.STEEL, Type.FIRE, Type.GRASS, Type.DRAGON];
case Type.ELECTRIC:
return [Type.GRASS, Type.ELECTRIC, Type.DRAGON, Type.GROUND];
case Type.PSYCHIC:
return [Type.STEEL, Type.PSYCHIC];
case Type.ICE:
return [Type.STEEL, Type.FIRE, Type.WATER, Type.ICE];
case Type.DRAGON:
return [Type.STEEL, Type.FAIRY];
case Type.DARK:
return [Type.FIGHTING, Type.DARK, Type.FAIRY];
case Type.FAIRY:
return [Type.POISON, Type.STEEL, Type.FIRE];
case Type.UNKNOWN:
case Type.STELLAR:
default:
return [];
}
} }
/** /**

View File

@ -3,5 +3,6 @@ export enum Challenges {
SINGLE_TYPE, SINGLE_TYPE,
LOWER_MAX_STARTER_COST, LOWER_MAX_STARTER_COST,
LOWER_STARTER_POINTS, LOWER_STARTER_POINTS,
FRESH_START FRESH_START,
INVERSE_BATTLE,
} }

View File

@ -49,6 +49,7 @@ import { BerryType } from "#enums/berry-type";
import { Biome } from "#enums/biome"; import { Biome } from "#enums/biome";
import { Moves } from "#enums/moves"; import { Moves } from "#enums/moves";
import { Species } from "#enums/species"; import { Species } from "#enums/species";
import { Challenges } from "#enums/challenges";
import { getPokemonNameWithAffix } from "#app/messages.js"; import { getPokemonNameWithAffix } from "#app/messages.js";
import { DamagePhase } from "#app/phases/damage-phase.js"; import { DamagePhase } from "#app/phases/damage-phase.js";
import { FaintPhase } from "#app/phases/faint-phase.js"; import { FaintPhase } from "#app/phases/faint-phase.js";
@ -1317,12 +1318,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return 1; return 1;
} }
} }
const multiplier = new Utils.NumberHolder(getTypeDamageMultiplier(moveType, defType));
return getTypeDamageMultiplier(moveType, defType); applyChallenges(this.scene.gameMode, ChallengeType.TYPE_EFFECTIVENESS, multiplier);
return multiplier.value;
}).reduce((acc, cur) => acc * cur, 1) as TypeDamageMultiplier; }).reduce((acc, cur) => acc * cur, 1) as TypeDamageMultiplier;
const typeMultiplierAgainstFlying = new Utils.NumberHolder(getTypeDamageMultiplier(moveType, Type.FLYING));
applyChallenges(this.scene.gameMode, ChallengeType.TYPE_EFFECTIVENESS, typeMultiplierAgainstFlying);
// Handle strong winds lowering effectiveness of types super effective against pure flying // Handle strong winds lowering effectiveness of types super effective against pure flying
if (!ignoreStrongWinds && arena.weather?.weatherType === WeatherType.STRONG_WINDS && !arena.weather.isEffectSuppressed(this.scene) && this.isOfType(Type.FLYING) && getTypeDamageMultiplier(moveType, Type.FLYING) === 2) { if (!ignoreStrongWinds && arena.weather?.weatherType === WeatherType.STRONG_WINDS && !arena.weather.isEffectSuppressed(this.scene) && this.isOfType(Type.FLYING) && typeMultiplierAgainstFlying.value === 2) {
multiplier /= 2; multiplier /= 2;
if (!simulated) { if (!simulated) {
this.scene.queueMessage(i18next.t("weather:strongWindsEffectMessage")); this.scene.queueMessage(i18next.t("weather:strongWindsEffectMessage"));
@ -3844,7 +3848,7 @@ export class EnemyPokemon extends Pokemon {
this.moveset = (formIndex !== undefined ? formIndex : this.formIndex) this.moveset = (formIndex !== undefined ? formIndex : this.formIndex)
? [ ? [
new PokemonMove(Moves.DYNAMAX_CANNON), new PokemonMove(Moves.DYNAMAX_CANNON),
new PokemonMove(Moves.SLUDGE_BOMB), new PokemonMove(Moves.CROSS_POISON),
new PokemonMove(Moves.FLAMETHROWER), new PokemonMove(Moves.FLAMETHROWER),
new PokemonMove(Moves.RECOVER, 0, -4) new PokemonMove(Moves.RECOVER, 0, -4)
] ]
@ -3854,6 +3858,9 @@ export class EnemyPokemon extends Pokemon {
new PokemonMove(Moves.FLAMETHROWER), new PokemonMove(Moves.FLAMETHROWER),
new PokemonMove(Moves.COSMIC_POWER) new PokemonMove(Moves.COSMIC_POWER)
]; ];
if (this.scene.gameMode.hasChallenge(Challenges.INVERSE_BATTLE)) {
this.moveset[2] = new PokemonMove(Moves.THUNDERBOLT);
}
break; break;
default: default:
super.generateAndPopulateMoveset(); super.generateAndPopulateMoveset();

View File

@ -342,8 +342,8 @@ export class LoadingScene extends SceneBase {
this.loadLoadingScreen(); this.loadLoadingScreen();
initVouchers();
initAchievements(); initAchievements();
initVouchers();
initStatsKeys(); initStatsKeys();
initPokemonPrevolutions(); initPokemonPrevolutions();
initBiomes(); initBiomes();

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -16,14 +15,10 @@ import bgmName from "./bgm-name.json";
import biome from "./biome.json"; import biome from "./biome.json";
import challenges from "./challenges.json"; import challenges from "./challenges.json";
import commandUiHandler from "./command-ui-handler.json"; import commandUiHandler from "./command-ui-handler.json";
import dialogueMale from "./dialogue-male.json"; import dialogue from "./dialogue.json";
import dialogueFemale from "./dialogue-female.json"; import battleSpecDialogue from "./dialogue-final-boss.json";
import dialogueEndbossMale from "./dialogue-final-boss-male.json"; import miscDialogue from "./dialogue-misc.json";
import dialogueEndbossFemale from "./dialogue-final-boss-female.json"; import doubleBattleDialogue from "./dialogue-double-battle.json";
import dialogueMiscMale from "./dialogue-misc-male.json";
import dialogueMiscFemale from "./dialogue-misc-female.json";
import dialogueDoubleBattleMale from "./dialogue-double-battle-male.json";
import dialogueDoubleBattleFemale from "./dialogue-double-battle-female.json";
import egg from "./egg.json"; import egg from "./egg.json";
import fightUiHandler from "./fight-ui-handler.json"; import fightUiHandler from "./fight-ui-handler.json";
import filterBar from "./filter-bar.json"; import filterBar from "./filter-bar.json";
@ -76,16 +71,11 @@ export const caEsConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale, dialogue,
PGMdialogue: dialogueMale, battleSpecDialogue,
PGFdialogue: dialogueFemale, miscDialogue,
PGMbattleSpecDialogue: dialogueEndbossMale, doubleBattleDialogue,
PGFbattleSpecDialogue: dialogueEndbossFemale,
PGMmiscDialogue: dialogueMiscMale,
PGFmiscDialogue: dialogueMiscFemale,
PGMdoubleBattleDialogue: dialogueDoubleBattleMale,
PGFdoubleBattleDialogue: dialogueDoubleBattleFemale,
egg, egg,
fightUiHandler, fightUiHandler,
filterBar, filterBar,

View File

@ -1,264 +0,0 @@
{
"Achievements": {
"name": "Errungenschaften"
},
"Locked": {
"name": "Gesperrt"
},
"MoneyAchv": {
"description": "Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an."
},
"10K_MONEY": {
"name": "Besserverdiener"
},
"100K_MONEY": {
"name": "Reich"
},
"1M_MONEY": {
"name": "Millionär"
},
"10M_MONEY": {
"name": "Einprozenter"
},
"DamageAchv": {
"description": "Füge mit einem Treffer {{damageAmount}} Schaden zu."
},
"250_DMG": {
"name": "Harte Treffer"
},
"1000_DMG": {
"name": "Härtere Treffer"
},
"2500_DMG": {
"name": "Das ist ne Menge Schaden!"
},
"10000_DMG": {
"name": "One Punch Man"
},
"HealAchv": {
"description": "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, Fähigkeit oder einem gehaltenen Gegenstand."
},
"250_HEAL": {
"name": "Anfänger-Heiler"
},
"1000_HEAL": {
"name": "Gesundheitsprofi"
},
"2500_HEAL": {
"name": "Kleriker"
},
"10000_HEAL": {
"name": "Wiederherstellungsmeister"
},
"LevelAchv": {
"description": "Erhöhe das Level eines Pokémon auf {{level}}."
},
"LV_100": {
"name": "Warte, es gibt mehr!"
},
"LV_250": {
"name": "Elite"
},
"LV_1000": {
"name": "Geh noch höher hinaus!"
},
"RibbonAchv": {
"description": "Sammle insgesamt {{ribbonAmount}} Bänder."
},
"10_RIBBONS": {
"name": "Champion der Pokémon Liga"
},
"25_RIBBONS": {
"name": "Bänder-Sammler"
},
"50_RIBBONS": {
"name": "Bänder-Experte"
},
"75_RIBBONS": {
"name": "Bänder-Guru"
},
"100_RIBBONS": {
"name": "Bänder-Meister"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "Teamwork",
"description": "Nutze Staffette, während der Anwender mindestens eines Statuswertes maximiert hat."
},
"MAX_FRIENDSHIP": {
"name": "Freundschaftsmaximierung",
"description": "Erreiche maximale Freundschaft bei einem Pokémon."
},
"MEGA_EVOLVE": {
"name": "Megaverwandlung",
"description": "Megaentwickle ein Pokémon."
},
"GIGANTAMAX": {
"name": "Absolute Einheit",
"description": "Gigadynamaximiere ein Pokémon."
},
"TERASTALLIZE": {
"name": "Typen-Bonus Enthusiast",
"description": "Terrakristallisiere ein Pokémon."
},
"STELLAR_TERASTALLIZE": {
"name": "Der geheime Typ",
"description": "Terrakristallisiere ein Pokémon zum Typen Stellar."
},
"SPLICE": {
"name": "Unendliche Fusion",
"description": "Kombiniere zwei Pokémon mit einem DNS-Keil."
},
"MINI_BLACK_HOLE": {
"name": "Ein Loch voller Items",
"description": "Erlange ein Mini-Schwarzes Loch."
},
"CATCH_MYTHICAL": {
"name": "Mysteriöses!",
"description": "Fange ein mysteriöses Pokémon."
},
"CATCH_SUB_LEGENDARY": {
"name": "Sub-Legendär",
"description": "Fange ein sub-legendäres Pokémon."
},
"CATCH_LEGENDARY": {
"name": "Legendär",
"description": "Fange ein legendäres Pokémon."
},
"SEE_SHINY": {
"name": "Schillerndes Licht",
"description": "Finde ein wildes schillerndes Pokémon."
},
"SHINY_PARTY": {
"name": "Das ist Hingabe",
"description": "Habe ein Team aus schillernden Pokémon."
},
"HATCH_MYTHICAL": {
"name": "Mysteriöses Ei",
"description": "Lass ein mysteriöses Pokémon aus einem Ei schlüpfen."
},
"HATCH_SUB_LEGENDARY": {
"name": "Sub-Legendäres Ei",
"description": "Lass ein sub-legendäres Pokémon aus einem Ei schlüpfen."
},
"HATCH_LEGENDARY": {
"name": "Legendäres Ei",
"description": "Lass ein legendäres Pokémon aus einem Ei schlüpfen."
},
"HATCH_SHINY": {
"name": "Schillerndes Ei",
"description": "Lass ein schillerndes Pokémon aus einem Ei schlüpfen."
},
"HIDDEN_ABILITY": {
"name": "Geheimes Talent",
"description": "Fang ein Pokémon mit versteckter Fähigkeit."
},
"PERFECT_IVS": {
"name": "Zertifikat der Echtheit",
"description": "Erhalte ein Pokémon mit perfekten IS-Werten."
},
"CLASSIC_VICTORY": {
"name": "Ungeschlagen",
"description": "Beende den klassischen Modus erfolgreich."
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "'Bringe dein Kind mit zur Arbeit'-Tag",
"description": "Beende den klassischen Modus erfolgreich mit mindestens einem nicht entwickeltem Pokémon in deinem Team"
},
"MONO_GEN_ONE": {
"name": "Der originale Rivale",
"description": "Schließe die 'Nur 1. Generation' Herausforderung ab."
},
"MONO_GEN_TWO": {
"name": "Generation 1.5",
"description": "Schließe die 'Nur 2. Generation' Herausforderung ab."
},
"MONO_GEN_THREE": {
"name": "Zu viel Wasser?",
"description": "Schließe die 'Nur 3. Generation' Herausforderung ab."
},
"MONO_GEN_FOUR": {
"name": "Ist SIE wirklich die Stärkste?",
"description": "Schließe die 'Nur 4. Generation' Herausforderung ab."
},
"MONO_GEN_FIVE": {
"name": "Komplett Original",
"description": "Schließe die 'Nur 5. Generation' Herausforderung ab."
},
"MONO_GEN_SIX": {
"name": "Fast Königlich",
"description": "Schließe die 'Nur 6. Generation' Herausforderung ab."
},
"MONO_GEN_SEVEN": {
"name": "Technisch gesehen",
"description": "Schließe die 'Nur 7. Generation' Herausforderung ab."
},
"MONO_GEN_EIGHT": {
"name": "Die Zeit des Champions",
"description": "Schließe die 'Nur 8. Generation' Herausforderung ab."
},
"MONO_GEN_NINE": {
"name": "Sie hat es dir leicht gemacht...",
"description": "Schließe die 'Nur 9. Generation' Herausforderung ab."
},
"MonoType": {
"description": "Beende die Monotyp-{{type}} Herausforderung."
},
"MONO_NORMAL": {
"name": "Normaler Typ"
},
"MONO_FIGHTING": {
"name": "Ich kenne Kung Fu."
},
"MONO_FLYING": {
"name": "Ich glaube ich kann fliegen."
},
"MONO_POISON": {
"name": "Kantos Liebling"
},
"MONO_GROUND": {
"name": "Auf dem Boden bleiben."
},
"MONO_ROCK": {
"name": "So hart wie Rocko."
},
"MONO_BUG": {
"name": "Steche wie ein Bibor."
},
"MONO_GHOST": {
"name": "Wer wird angerufen?"
},
"MONO_STEEL": {
"name": "Stahlharte Entschlossenheit"
},
"MONO_FIRE": {
"name": "Brennende Leidenschaft"
},
"MONO_WATER": {
"name": "Wenn es regnet, schüttet es!"
},
"MONO_GRASS": {
"name": "Grüner Daumen"
},
"MONO_ELECTRIC": {
"name": "Elektrisierend"
},
"MONO_PSYCHIC": {
"name": "Übernatürliches Talent"
},
"MONO_ICE": {
"name": "Eis Eis Baby"
},
"MONO_DRAGON": {
"name": "Siegfried bist du es?"
},
"MONO_DARK": {
"name": "Es ist nur eine Phase!"
},
"MONO_FAIRY": {
"name": "Ein ewiges Abenteuer!"
},
"FRESH_START": {
"name": "Hussa, noch einmal von vorn!",
"description": "Schließe die 'Neuanfang' Herausforderung ab"
}
}

View File

@ -1,31 +1,4 @@
{ {
"10K_MONEY": {
"name": "Besserverdienerin"
},
"1M_MONEY": {
"name": "Millionärin"
},
"10000_DMG": {
"name": "One Punch Woman"
},
"250_HEAL": {
"name": "Anfänger-Heilerin"
},
"2500_HEAL": {
"name": "Klerikerin"
},
"10000_HEAL": {
"name": "Wiederherstellungsmeisterin"
},
"25_RIBBONS": {
"name": "Bänder-Sammlerin"
},
"50_RIBBONS": {
"name": "Bänder-Expertin"
},
"100_RIBBONS": {
"name": "Bänder-Meisterin"
},
"Achievements": { "Achievements": {
"name": "Errungenschaften" "name": "Errungenschaften"
}, },
@ -35,9 +8,17 @@
"MoneyAchv": { "MoneyAchv": {
"description": "Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an." "description": "Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an."
}, },
"10K_MONEY": {
"name": "Besserverdiener",
"name_female": "Besserverdienerin"
},
"100K_MONEY": { "100K_MONEY": {
"name": "Reich" "name": "Reich"
}, },
"1M_MONEY": {
"name": "Millionär",
"name_female": "Millionärin"
},
"10M_MONEY": { "10M_MONEY": {
"name": "Einprozenter" "name": "Einprozenter"
}, },
@ -53,12 +34,28 @@
"2500_DMG": { "2500_DMG": {
"name": "Das ist ne Menge Schaden!" "name": "Das ist ne Menge Schaden!"
}, },
"10000_DMG": {
"name": "One Punch Man",
"name_female": "One Punch Woman"
},
"HealAchv": { "HealAchv": {
"description": "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, Fähigkeit oder einem gehaltenen Gegenstand." "description": "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, Fähigkeit oder einem gehaltenen Gegenstand."
}, },
"250_HEAL": {
"name": "Anfänger-Heiler",
"name_female": "Anfänger-Heilerin"
},
"1000_HEAL": { "1000_HEAL": {
"name": "Gesundheitsprofi" "name": "Gesundheitsprofi"
}, },
"2500_HEAL": {
"name": "Kleriker",
"name_female": "Klerikerin"
},
"10000_HEAL": {
"name": "Wiederherstellungsmeister",
"name_female": "Wiederherstellungsmeisterin"
},
"LevelAchv": { "LevelAchv": {
"description": "Erhöhe das Level eines Pokémon auf {{level}}." "description": "Erhöhe das Level eines Pokémon auf {{level}}."
}, },
@ -77,9 +74,21 @@
"10_RIBBONS": { "10_RIBBONS": {
"name": "Champion der Pokémon Liga" "name": "Champion der Pokémon Liga"
}, },
"25_RIBBONS": {
"name": "Bänder-Sammler",
"name_female": "Bänder-Sammlerin"
},
"50_RIBBONS": {
"name": "Bänder-Experte",
"name_female": "Bänder-Expertin"
},
"75_RIBBONS": { "75_RIBBONS": {
"name": "Bänder-Guru" "name": "Bänder-Guru"
}, },
"100_RIBBONS": {
"name": "Bänder-Meister",
"name_female": "Bänder-Meisterin"
},
"TRANSFER_MAX_BATTLE_STAT": { "TRANSFER_MAX_BATTLE_STAT": {
"name": "Teamwork", "name": "Teamwork",
"description": "Nutze Staffette, während der Anwender mindestens eines Statuswertes maximiert hat." "description": "Nutze Staffette, während der Anwender mindestens eines Statuswertes maximiert hat."
@ -260,5 +269,9 @@
"FRESH_START": { "FRESH_START": {
"name": "Hussa, noch einmal von vorn!", "name": "Hussa, noch einmal von vorn!",
"description": "Schließe die 'Neuanfang' Herausforderung ab" "description": "Schließe die 'Neuanfang' Herausforderung ab"
},
"INVERSE_BATTLE": {
"name": "Spieglein, Spieglein an der Wand",
"description": "Schließe die 'Umkehrkampf' Herausforderung ab"
} }
} }

View File

@ -25,5 +25,12 @@
"desc": "Du kannst nur die ursprünglichen Starter verwenden, genau so, als hättest du gerade erst mit Pokérogue begonnen.", "desc": "Du kannst nur die ursprünglichen Starter verwenden, genau so, als hättest du gerade erst mit Pokérogue begonnen.",
"value.0": "Aus", "value.0": "Aus",
"value.1": "An" "value.1": "An"
},
"inverseBattle": {
"name": "Umkehrkampf",
"shortName": "Umkehrkampf",
"desc": "Die Typen-Effektivität wird umgekehrt, und kein Typ ist gegen einen anderen Typ immun.\nDeaktiviert die Erfolge anderer Herausforderungen.",
"value.0": "Aus",
"value.1": "An"
} }
} }

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -16,14 +15,10 @@ import bgmName from "./bgm-name.json";
import biome from "./biome.json"; import biome from "./biome.json";
import challenges from "./challenges.json"; import challenges from "./challenges.json";
import commandUiHandler from "./command-ui-handler.json"; import commandUiHandler from "./command-ui-handler.json";
import dialogueMale from "./dialogue-male.json"; import dialogue from "./dialogue.json";
import dialogueFemale from "./dialogue-female.json"; import battleSpecDialogue from "./dialogue-final-boss.json";
import dialogueEndbossMale from "./dialogue-final-boss-male.json"; import miscDialogue from "./dialogue-misc.json";
import dialogueEndbossFemale from "./dialogue-final-boss-female.json"; import doubleBattleDialogue from "./dialogue-double-battle.json";
import dialogueMiscMale from "./dialogue-misc-male.json";
import dialogueMiscFemale from "./dialogue-misc-female.json";
import dialogueDoubleBattleMale from "./dialogue-double-battle-male.json";
import dialogueDoubleBattleFemale from "./dialogue-double-battle-female.json";
import egg from "./egg.json"; import egg from "./egg.json";
import fightUiHandler from "./fight-ui-handler.json"; import fightUiHandler from "./fight-ui-handler.json";
import filterBar from "./filter-bar.json"; import filterBar from "./filter-bar.json";
@ -76,16 +71,11 @@ export const deConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale, dialogue,
PGMdialogue: dialogueMale, battleSpecDialogue,
PGFdialogue: dialogueFemale, miscDialogue,
PGMbattleSpecDialogue: dialogueEndbossMale, doubleBattleDialogue,
PGFbattleSpecDialogue: dialogueEndbossFemale,
PGMmiscDialogue: dialogueMiscMale,
PGFmiscDialogue: dialogueMiscFemale,
PGMdoubleBattleDialogue: dialogueDoubleBattleMale,
PGFdoubleBattleDialogue: dialogueDoubleBattleFemale,
egg, egg,
fightUiHandler, fightUiHandler,
filterBar, filterBar,

View File

@ -1,82 +0,0 @@
{
"blue_red_double": {
"encounter": {
"1": "Blau: Hey Rot, lass uns ihnen zeigen, was wir drauf haben!\n$Rot: ...\n$Blau: Das ist die Macht von Alabastia!"
},
"victory": {
"1": "Blau: Das war ein großartiger Kampf!\n$Rot: ..."
}
},
"red_blue_double": {
"encounter": {
"1": "Rot: ...!\n$Blau: Er redet nicht viel...\n$Blau: Aber lass dich davon nicht täuschen! Er ist schließlich ein Champ!"
},
"victory": {
"1": "Rot: ...!\n$Blau: Das nächste Mal gewinnen wir!"
}
},
"tate_liza_double": {
"encounter": {
"1": "Ben: Hehehe...Bist du überrascht?\n$Svenja: Wir sind zwei Arenaleiter auf einmal!\n$Ben: Wir sind Zwillinge!\n$Svenja: Wir müssen nicht reden um uns gegenseitig zu verstehen!\n$Ben: Die doppelte Kraft...\n$Svenja: Kannst du ihr standhalten?"
},
"victory": {
"1": "Ben: Was? Unsere Kombination war perfekt!\n$Svenja: Sieht so aus als müssten wir wohl mehr tranieren..."
}
},
"liza_tate_double": {
"encounter": {
"1": "Svenja: Hihihi... Bist du überrascht?\n$Ben: Ja, wir sind wirklich zwei Arenaleiter auf einmal!\n$Svenja: Das ist mein Zwillingsbruder Ben!\n$Ben: Und das meine Zwillingsschwester Svenja!\n$Svenja: Wir sind die perfekte Kombo!"
},
"victory": {
"1": "Svenja: Sind wir...\n$Ben: ...nicht so stark wie wir dachten?"
}
},
"wallace_steven_double": {
"encounter": {
"1": "Troy: Wassili, lass uns ihnen die Kraft von Champions zeigen!\n$Wassili: Wir zeigen dir die Kraft von Hoenn!\n$Troy: Los gehts!"
},
"victory": {
"1": "Troy: Das war ein großartiger Kampf!\n$Wassili: Das nächste Mal gewinnen wir!"
}
},
"steven_wallace_double": {
"encounter": {
"1": "Troy: Hast du irgendwelche seltenen Pokémon?\n$Wassili: Troy... Wir sind hier um zu kämpfen und nicht um mit unseren Pokémon zu prahlen...\n$Troy: Oh... Wenn das so ist... Lass uns anfangen!"
},
"victory": {
"1": "Troy: Jetzt da wir mit Kämpfen fertig sind... Lass uns mit unsereren Pokémon prahlen!\n$Wassili: Troy..."
}
},
"alder_iris_double": {
"encounter": {
"1": "Lauro: Wir sind die stärksten Trainer aus Einall!\n$Lilia: Kämpfe gegen starke Trainer machen am meisten Spaß!"
},
"victory": {
"1": "Lauro: Wow! Du bist super stark!\n$Lilia: Beim nächsten Mal schlagen wir dich!"
}
},
"iris_alder_double": {
"encounter": {
"1": "Lilia: Willkommen Herausforderer! Ich bin DER Champion von Einall!\n$Lauro: Lilia, bist du nicht etwas zu aufgeregt?"
},
"victory": {
"1": "Lilia: Eine solche Niederlage ist nicht einfach zu verkraften...\n$Lauro: Aber wir wachsen an unseren Niederlagen und werden immer besser!"
}
},
"marnie_piers_double": {
"encounter": {
"1": "Mary: Bruder, lass uns ihnen die Kraft von Spikeford zeigen!\n$Nezz: Wir bringen die Dunkelheit!"
},
"victory": {
"1": "Mary: Du hast Licht in unsere Dunkelheit gebracht!\n$Piers: Es ist viel zu hell..."
}
},
"piers_marnie_double": {
"encounter": {
"1": "Nezz: Bereit für ein Konzert?\n$Mary: Bruder...Sie sind hier um zu kämpfen, nicht um zu singen..."
},
"victory": {
"1": "Nezz: Das war mal ein großartiges Konzert!\n$Marnie: Bruder..."
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +0,0 @@
{
"encounter": "Es scheint, als wäre es wieder mal an der Zeit.\nDu weißt, warum du hierher kommen musst, oder?\n$Dich hat es hierher gezogen, du warst bereits hier.\nUnzählige Male.\n$Obwohl, vielleicht doch nicht unzählig.\nUm genau zu sein, dies ist der {{cycleCount}}te Zyklus.\n$Du verlierst jeden Zyklus dein Gedächtnis. Trotzdem \nbleibt etwas, ein Teil deines ehemaligen Ichs, erhalten.\n$Bis jetzt hast du es noch nicht vollbracht zu siegen, aber dieses Mal spüre ich eine andere Präsenz in dir.\n\n$Du bist der Einzige hier, aber es kommt mir so vor als wäre da...jemand anderes.\n$Wirst du endlich beweisen, dass du ein würdiger Herausforder bist?\nDie Herausforderung auf die ich seit Jahrtausenden warte?\n$Lass uns beginnen.","firstStageWin": "Ahh verstehe. Diese Präsenz, die ich gespürt habe, ist wirklich real.\nEs scheint als müsste ich micht nicht länger zurück halten.\n$Enttäusche mich nicht.",
"secondStageWin": "…Herrlich."
}

View File

@ -1,6 +0,0 @@
{
"ending": "@c{smile}Oh? Du hast gewonnen?@d{96} @c{smile_eclosed}Ich schätze, das hätte ich wissen sollen.\n$Aber, du bist jetzt zurück.\n$@c{smile}Es ist vorbei.@d{64} Du hast die Schleife beendet.\n$@c{serious_smile_fists}Du hast auch deinen Traum erfüllt, nicht wahr?\nDu hast nicht einmal verloren.\n$@c{neutral}Ich bin der Einzige, der sich daran erinnern wird, was du getan hast.@d{96}\n$Ich schätze, das ist in Ordnung, oder?\n$@c{serious_smile_fists}Deine Legende wird immer in unseren Herzen weiterleben.\n$@c{smile_eclosed}Wie auch immer, ich habe genug von diesem Ort, oder nicht? Lass uns nach Hause gehen.\n$@c{serious_smile_fists}Vielleicht können wir, wenn wir zurück sind, noch einen Kampf haben?\n$Wenn du dazu bereit bist.",
"ending_female": "@c{shock}Du bist zurück?@d{32} Bedeutet das…@d{96} du hast gewonnen?!\n$@c{smile_ehalf}Ich hätte wissen sollen, dass du es in dir hast.\n$@c{smile_eclosed}Natürlich… ich hatte immer dieses Gefühl.\n$@c{smile}Es ist jetzt vorbei, richtig? Du hast die Schleife beendet.\n$@c{smile_ehalf}Du hast auch deinen Traum erfüllt, nicht wahr?\n$Du hast nicht einmal verloren.\n$Ich werde die Einzige sein, die sich daran erinnert, was du getan hast.\n$@c{angry_mopen}Ich werde versuchen, es nicht zu vergessen!\n$@c{smile_wave_wink}Nur ein Scherz!@d{64} @c{smile}Ich würde es nie vergessen.@d{32}\n$Deine Legende wird in unseren Herzen weiterleben.\n$@c{smile_wave}Wie auch immer,@d{64} es wird spät…@d{96} denke ich?\nEs ist schwer zu sagen an diesem Ort.\n$Lass uns nach Hause gehen. \n$@c{smile_wave_wink}Vielleicht können wir morgen noch einen Kampf haben, der alten Zeiten willen?",
"ending_endless": "Glückwunsch! Du hast das aktuelle Ende erreicht!\nWir arbeiten an mehr Spielinhalten.",
"ending_name": "Entwickler"
}

View File

@ -869,7 +869,7 @@
}, },
"aether_boss_lusamine_1": { "aether_boss_lusamine_1": {
"encounter": { "encounter": {
"1": "Du wirst mein süßes Biest erschrecken! Wie kannst du nur? Ultra-Besiten sind so niedlich!\n$Es sieht so aus, als müsste ich dich zuerst zum Schweigen bringen." "1": "Du wirst mein süßes Biest erschrecken! Wie kannst du nur? Ultra-Bestien sind so niedlich!\n$Es sieht so aus, als müsste ich dich zuerst zum Schweigen bringen."
}, },
"victory": { "victory": {
"1": "Wie kann eine Person nur so grausam sein?!" "1": "Wie kann eine Person nur so grausam sein?!"

View File

@ -1,15 +1,15 @@
{ {
"victory": "Sieg!", "victory": "Sieg!",
"defeatedWildM": "Besiegt durch ", "defeatedWild": "Besiegt durch ",
"defeatedTrainerM": "Besiegt durch ", "defeatedTrainer": "Besiegt durch ",
"defeatedTrainerDoubleM": "Besiegt durch Doppelkampf", "defeatedTrainerDouble": "Besiegt durch Doppelkampf",
"defeatedRivalM": "Besiegt durch Rivalin", "defeatedRival": "Besiegt durch Rivalin",
"defeatedM": "Besiegt", "defeated": "Besiegt",
"defeatedWildF": "Besiegt durch ", "defeatedWild_female": "Besiegt durch ",
"defeatedTrainerF": "Besiegt durch ", "defeatedTrainer_female": "Besiegt durch ",
"defeatedTrainerDoubleF": "Besiegt durch Doppelkampf", "defeatedTrainerDouble_female": "Besiegt durch Doppelkampf",
"defeatedRivalF": "Besiegt durch Rivale", "defeatedRival_female": "Besiegt durch Rivale",
"defeatedF": "Besiegt", "defeated_female": "Besiegt",
"luck": "Glück", "luck": "Glück",
"score": "Punkte", "score": "Punkte",
"mode": "Modus", "mode": "Modus",
@ -30,8 +30,8 @@
"money": "Geld", "money": "Geld",
"runLength": "Durchlauf Dauer", "runLength": "Durchlauf Dauer",
"viewHeldItems": "Getragene Items", "viewHeldItems": "Getragene Items",
"hallofFameTextM": "Willkommen in der Ruhmeshalle!", "hallofFameText": "Willkommen in der Ruhmeshalle!",
"hallofFameTextF": "Willkommen in der Ruhmeshalle", "hallofFameText_female": "Willkommen in der Ruhmeshalle",
"viewHallOfFame": "Ruhmeshalle ansehen!", "viewHallOfFame": "Ruhmeshalle ansehen!",
"viewEndingSplash": "Endgrafik anzeigen!" "viewEndingSplash": "Endgrafik anzeigen!"
} }

View File

@ -260,5 +260,9 @@
"FRESH_START": { "FRESH_START": {
"name": "First Try!", "name": "First Try!",
"description": "Complete the Fresh Start challenge." "description": "Complete the Fresh Start challenge."
},
"INVERSE_BATTLE": {
"name": "Mirror rorriM",
"description": "Complete the Inverse Battle challenge.\n.egnellahc elttaB esrevnI eht etelpmoC"
} }
} }

View File

@ -9,16 +9,20 @@
"description": "Accumulate a total of ₽{{moneyAmount}}" "description": "Accumulate a total of ₽{{moneyAmount}}"
}, },
"10K_MONEY": { "10K_MONEY": {
"name": "Money Haver" "name": "Money Haver",
"name_female": null
}, },
"100K_MONEY": { "100K_MONEY": {
"name": "Rich" "name": "Rich",
"name_female": null
}, },
"1M_MONEY": { "1M_MONEY": {
"name": "Millionaire" "name": "Millionaire",
"name_female": null
}, },
"10M_MONEY": { "10M_MONEY": {
"name": "One Percenter" "name": "One Percenter",
"name_female": null
}, },
"DamageAchv": { "DamageAchv": {
"description": "Inflict {{damageAmount}} damage in one hit" "description": "Inflict {{damageAmount}} damage in one hit"
@ -27,28 +31,35 @@
"name": "Hard Hitter" "name": "Hard Hitter"
}, },
"1000_DMG": { "1000_DMG": {
"name": "Harder Hitter" "name": "Harder Hitter",
"name_female": null
}, },
"2500_DMG": { "2500_DMG": {
"name": "That's a Lotta Damage!" "name": "That's a Lotta Damage!",
"name_female": null
}, },
"10000_DMG": { "10000_DMG": {
"name": "One Punch Man" "name": "One Punch Man",
"name_female": "One Punch Woman"
}, },
"HealAchv": { "HealAchv": {
"description": "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item" "description": "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item"
}, },
"250_HEAL": { "250_HEAL": {
"name": "Novice Healer" "name": "Novice Healer",
"name_female": null
}, },
"1000_HEAL": { "1000_HEAL": {
"name": "Big Healer" "name": "Big Healer",
"name_female": null
}, },
"2500_HEAL": { "2500_HEAL": {
"name": "Cleric" "name": "Cleric",
"name_female": null
}, },
"10000_HEAL": { "10000_HEAL": {
"name": "Recovery Master" "name": "Recovery Master",
"name_female": null
}, },
"LevelAchv": { "LevelAchv": {
"description": "Level up a Pokémon to Lv{{level}}" "description": "Level up a Pokémon to Lv{{level}}"
@ -57,7 +68,8 @@
"name": "But Wait, There's More!" "name": "But Wait, There's More!"
}, },
"LV_250": { "LV_250": {
"name": "Elite" "name": "Elite",
"name_female": null
}, },
"LV_1000": { "LV_1000": {
"name": "To Go Even Further Beyond" "name": "To Go Even Further Beyond"
@ -66,19 +78,24 @@
"description": "Accumulate a total of {{ribbonAmount}} Ribbons" "description": "Accumulate a total of {{ribbonAmount}} Ribbons"
}, },
"10_RIBBONS": { "10_RIBBONS": {
"name": "Pokémon League Champion" "name": "Pokémon League Champion",
"name_female": null
}, },
"25_RIBBONS": { "25_RIBBONS": {
"name": "Great League Champion" "name": "Great League Champion",
"name_female": null
}, },
"50_RIBBONS": { "50_RIBBONS": {
"name": "Ultra League Champion" "name": "Ultra League Champion",
"name_female": null
}, },
"75_RIBBONS": { "75_RIBBONS": {
"name": "Rogue League Champion" "name": "Rogue League Champion",
"name_female": null
}, },
"100_RIBBONS": { "100_RIBBONS": {
"name": "Master League Champion" "name": "Master League Champion",
"name_female": null
}, },
"TRANSFER_MAX_BATTLE_STAT": { "TRANSFER_MAX_BATTLE_STAT": {
"name": "Teamwork", "name": "Teamwork",
@ -130,6 +147,7 @@
}, },
"SHINY_PARTY": { "SHINY_PARTY": {
"name": "That's Dedication", "name": "That's Dedication",
"name_female": null,
"description": "Have a full party of shiny Pokémon" "description": "Have a full party of shiny Pokémon"
}, },
"HATCH_MYTHICAL": { "HATCH_MYTHICAL": {
@ -158,6 +176,7 @@
}, },
"CLASSIC_VICTORY": { "CLASSIC_VICTORY": {
"name": "Undefeated", "name": "Undefeated",
"name_female": null,
"description": "Beat the game in classic mode" "description": "Beat the game in classic mode"
}, },
"UNEVOLVED_CLASSIC_VICTORY": { "UNEVOLVED_CLASSIC_VICTORY": {
@ -260,5 +279,9 @@
"FRESH_START": { "FRESH_START": {
"name": "First Try!", "name": "First Try!",
"description": "Complete the Fresh Start challenge." "description": "Complete the Fresh Start challenge."
},
"INVERSE_BATTLE": {
"name": "Mirror rorriM",
"description": "Complete the Inverse Battle challenge.\n.egnellahc elttaB esrevnI eht etelpmoC"
} }
} }

View File

@ -25,5 +25,12 @@
"desc": "You can only use the original starters, and only as if you had just started PokéRogue.", "desc": "You can only use the original starters, and only as if you had just started PokéRogue.",
"value.0": "Off", "value.0": "Off",
"value.1": "On" "value.1": "On"
},
"inverseBattle": {
"name": "Inverse Battle",
"shortName": "Inverse",
"desc": "Type matchups are reversed and no type is immune to any other type.\nDisables other challenges' achievements.",
"value.0": "Off",
"value.1": "On"
} }
} }

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -16,14 +15,10 @@ import bgmName from "./bgm-name.json";
import biome from "./biome.json"; import biome from "./biome.json";
import challenges from "./challenges.json"; import challenges from "./challenges.json";
import commandUiHandler from "./command-ui-handler.json"; import commandUiHandler from "./command-ui-handler.json";
import dialogueMale from "./dialogue-male.json"; import dialogue from "./dialogue.json";
import dialogueFemale from "./dialogue-female.json"; import battleSpecDialogue from "./dialogue-final-boss.json";
import dialogueEndbossMale from "./dialogue-final-boss-male.json"; import miscDialogue from "./dialogue-misc.json";
import dialogueEndbossFemale from "./dialogue-final-boss-female.json"; import doubleBattleDialogue from "./dialogue-double-battle.json";
import dialogueMiscMale from "./dialogue-misc-male.json";
import dialogueMiscFemale from "./dialogue-misc-female.json";
import dialogueDoubleBattleMale from "./dialogue-double-battle-male.json";
import dialogueDoubleBattleFemale from "./dialogue-double-battle-female.json";
import egg from "./egg.json"; import egg from "./egg.json";
import fightUiHandler from "./fight-ui-handler.json"; import fightUiHandler from "./fight-ui-handler.json";
import filterBar from "./filter-bar.json"; import filterBar from "./filter-bar.json";
@ -76,16 +71,11 @@ export const enConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale, dialogue,
PGMdialogue: dialogueMale, battleSpecDialogue,
PGFdialogue: dialogueFemale, miscDialogue,
PGMbattleSpecDialogue: dialogueEndbossMale, doubleBattleDialogue,
PGFbattleSpecDialogue: dialogueEndbossFemale,
PGMmiscDialogue: dialogueMiscMale,
PGFmiscDialogue: dialogueMiscFemale,
PGMdoubleBattleDialogue: dialogueDoubleBattleMale,
PGFdoubleBattleDialogue: dialogueDoubleBattleFemale,
egg, egg,
fightUiHandler, fightUiHandler,
filterBar, filterBar,

View File

@ -1,82 +0,0 @@
{
"blue_red_double": {
"encounter": {
"1": "Blue: Hey Red, let's show them what we're made of!\n$Red: ...\n$Blue: This is Pallet Town Power!"
},
"victory": {
"1": "Blue: That was a great battle!\n$Red: ..."
}
},
"red_blue_double": {
"encounter": {
"1": "Red: ...!\n$Blue: He never talks much.\n$Blue: But dont let that fool you! He is a champ after all!"
},
"victory": {
"1": "Red: ...!\n$Blue: Next time we will beat you!"
}
},
"tate_liza_double": {
"encounter": {
"1": "Tate: Are you surprised?\n$Liza: We are two gym leaders at once!\n$Tate: We are twins!\n$Liza: We dont need to talk to understand each other!\n$Tate: Twice the power...\n$Liza: Can you handle it?"
},
"victory": {
"1": "Tate: What? Our combination was perfect!\n$Liza: Looks like we need to train more..."
}
},
"liza_tate_double": {
"encounter": {
"1": "Liza: Hihihi... Are you surprised?\n$Tate: Yes, we are really two gym leaders at once!\n$Liza: This is my twin brother Tate!\n$Tate: And this is my twin sister Liza!\n$Liza: Don't you think we are a perfect combination?"
},
"victory": {
"1": "Liza: Are we...\n$Tate: ...not as strong as we thought?"
}
},
"wallace_steven_double": {
"encounter": {
"1": "Steven: Wallace, let's show them the power of the champions!\n$Wallace: We will show you the power of Hoenn!\n$Steven: Let's go!"
},
"victory": {
"1": "Steven: That was a great battle!\n$Wallace: We will win next time!"
}
},
"steven_wallace_double": {
"encounter": {
"1": "Steven: Do you have any rare Pokémon?\n$Wallace: Steven... We are here for a battle, not to show off our Pokémon.\n$Steven: Oh... I see... Let's go then!"
},
"victory": {
"1": "Steven: Now that we are done with the battle, let's show off our Pokémon!\n$Wallace: Steven..."
}
},
"alder_iris_double": {
"encounter": {
"1": "Alder: We are the strongest trainers in Unova!\n$Iris: Fights against strong trainers are the best!"
},
"victory": {
"1": "Alder: Wow! You are super strong!\n$Iris: We will win next time!"
}
},
"iris_alder_double": {
"encounter": {
"1": "Iris: Welcome Challenger! I am THE Unova Champion!\n$Alder: Iris, aren't you a bit too excited?"
},
"victory": {
"1": "Iris: A loss like this is not easy to take...\n$Alder: But we will only get stronger with every loss!"
}
},
"piers_marnie_double": {
"encounter": {
"1": "Marnie: Brother, let's show them the power of Spikemuth!\n$Piers: We bring darkness!"
},
"victory": {
"1": "Marnie: You brought light to our darkness!\n$Piers: Its too bright..."
}
},
"marnie_piers_double": {
"encounter": {
"1": "Piers: Ready for a concert?\n$Marnie: Brother... They are here to fight, not to sing..."
},
"victory": {
"1": "Piers: Now that was a great concert!\n$Marnie: Brother..."
}
}
}

View File

@ -57,7 +57,8 @@
}, },
"iris_alder_double": { "iris_alder_double": {
"encounter": { "encounter": {
"1": "Iris: Welcome Challenger! I am THE Unova Champion!\n$Alder: Iris, aren't you a bit too excited?" "1": "Iris: Welcome Challenger! I am THE Unova Champion!\n$Alder: Iris, aren't you a bit too excited?",
"1_female": null
}, },
"victory": { "victory": {
"1": "Iris: A loss like this is not easy to take...\n$Alder: But we will only get stronger with every loss!" "1": "Iris: A loss like this is not easy to take...\n$Alder: But we will only get stronger with every loss!"
@ -73,7 +74,8 @@
}, },
"marnie_piers_double": { "marnie_piers_double": {
"encounter": { "encounter": {
"1": "Piers: Ready for a concert?\n$Marnie: Brother... They are here to fight, not to sing..." "1": "Piers: Ready for a concert?\n$Marnie: Brother... They are here to fight, not to sing...",
"1_female": null
}, },
"victory": { "victory": {
"1": "Piers: Now that was a great concert!\n$Marnie: Brother..." "1": "Piers: Now that was a great concert!\n$Marnie: Brother..."

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +0,0 @@
{
"encounter": "It appears the time has finally come once again.\nYou know why you have come here, do you not?\n$You were drawn here, because you have been here before.\nCountless times.\n$Though, perhaps it can be counted.\nTo be precise, this is in fact your {{cycleCount}} cycle.\n$Each cycle your mind reverts to its former state.\nEven so, somehow, remnants of your former selves remain.\n$Until now you have yet to succeed, but I sense a different presence in you this time.\n\n$You are the only one here, though it is as if there is… another.\n$Will you finally prove a formidable challenge to me?\nThe challenge I have longed after for millennia?\n$We begin.",
"firstStageWin": "I see. The presence I felt was indeed real.\nIt appears I no longer need to hold back.\n$Do not disappoint me.",
"secondStageWin": "…Magnificent."
}

View File

@ -1,5 +1,10 @@
{ {
"encounter": "It appears the time has finally come once again.\nYou know why you have come here, do you not?\n$You were drawn here, because you have been here before.\nCountless times.\n$Though, perhaps it can be counted.\nTo be precise, this is in fact your {{cycleCount}} cycle.\n$Each cycle your mind reverts to its former state.\nEven so, somehow, remnants of your former selves remain.\n$Until now you have yet to succeed, but I sense a different presence in you this time.\n\n$You are the only one here, though it is as if there is… another.\n$Will you finally prove a formidable challenge to me?\nThe challenge I have longed after for millennia?\n$We begin.", "encounter": "It appears the time has finally come once again.\nYou know why you have come here, do you not?\n$You were drawn here, because you have been here before.\nCountless times.\n$Though, perhaps it can be counted.\nTo be precise, this is in fact your {{cycleCount}} cycle.\n$Each cycle your mind reverts to its former state.\nEven so, somehow, remnants of your former selves remain.\n$Until now you have yet to succeed, but I sense a different presence in you this time.\n\n$You are the only one here, though it is as if there is… another.\n$Will you finally prove a formidable challenge to me?\nThe challenge I have longed after for millennia?\n$We begin.",
"encounter_female": null,
"firstStageWin": "I see. The presence I felt was indeed real.\nIt appears I no longer need to hold back.\n$Do not disappoint me.", "firstStageWin": "I see. The presence I felt was indeed real.\nIt appears I no longer need to hold back.\n$Do not disappoint me.",
"secondStageWin": "…Magnificent." "secondStageWin": "…Magnificent.",
"key_ordinal_one": "st",
"key_ordinal_two": "nd",
"key_ordinal_few": "rd",
"key_ordinal_other": "th"
} }

View File

@ -1,6 +0,0 @@
{
"ending": "@c{smile}Oh? You won?@d{96} @c{smile_eclosed}I guess I should've known.\nBut, you're back now.\n$@c{smile}It's over.@d{64} You ended the loop.\n$@c{serious_smile_fists}You fulfilled your dream too, didn't you?\nYou didn't lose even once.\n$@c{neutral}I'm the only one who'll remember what you did.@d{96}\nI guess that's okay, isn't it?\n$@c{serious_smile_fists}Your legend will always live on in our hearts.\n$@c{smile_eclosed}Anyway, I've had about enough of this place, haven't you? Let's head home.\n$@c{serious_smile_fists}Maybe when we get back, we can have another battle?\nIf you're up to it.",
"ending_female": "@c{shock}You're back?@d{32} Does that mean…@d{96} you won?!\n@c{smile_ehalf}I should have known you had it in you.\n$@c{smile_eclosed}Of course… I always had that feeling.\n@c{smile}It's over now, right? You ended the loop.\n$@c{smile_ehalf}You fulfilled your dream too, didn't you?\nYou didn't lose even once.\n$I'll be the only one to remember what you did.\n@c{angry_mopen}I'll try not to forget!\n$@c{smile_wave_wink}Just kidding!@d{64} @c{smile}I'd never forget.@d{32}\nYour legend will live on in our hearts.\n$@c{smile_wave}Anyway,@d{64} it's getting late…@d{96} I think?\nIt's hard to tell in this place.\n$Let's go home. @c{smile_wave_wink}Maybe tomorrow, we can have another battle, for old time's sake?",
"ending_endless": "Congratulations on reaching the current end!\nMore content is coming soon.",
"ending_name": "Devs"
}

View File

@ -3,24 +3,31 @@
"encounter": { "encounter": {
"1": "Hey, wanna battle?", "1": "Hey, wanna battle?",
"2": "Are you a new trainer too?", "2": "Are you a new trainer too?",
"2_female": null,
"3": "Hey, I haven't seen you before. Let's battle!", "3": "Hey, I haven't seen you before. Let's battle!",
"4": "I just lost, so I'm trying to find more Pokémon.\nWait! You look weak! Come on, let's battle!", "4": "I just lost, so I'm trying to find more Pokémon.\nWait! You look weak! Come on, let's battle!",
"4_female": null,
"5": "Have we met or not? I don't really remember. Well, I guess it's nice to meet you anyway!", "5": "Have we met or not? I don't really remember. Well, I guess it's nice to meet you anyway!",
"6": "All right! Let's go!", "6": "All right! Let's go!",
"7": "All right! Here I come! I'll show you my power!", "7": "All right! Here I come! I'll show you my power!",
"8": "Haw haw haw... I'll show you how hawesome my Pokémon are!", "8": "Haw haw haw... I'll show you how hawesome my Pokémon are!",
"9": "No need to waste time saying hello. Bring it on whenever you're ready!", "9": "No need to waste time saying hello. Bring it on whenever you're ready!",
"9_female": null,
"10": "Don't let your guard down, or you may be crying when a kid beats you.", "10": "Don't let your guard down, or you may be crying when a kid beats you.",
"11": "I've raised my Pokémon with great care. You're not allowed to hurt them!", "11": "I've raised my Pokémon with great care. You're not allowed to hurt them!",
"12": "Glad you made it! It won't be an easy job from here.", "12": "Glad you made it! It won't be an easy job from here.",
"13": "The battles continue forever! Welcome to the world with no end!" "12_female": null,
"13": "The battles continue forever! Welcome to the world with no end!",
"13_female": null
}, },
"victory": { "victory": {
"1": "Wow! You're strong!", "1": "Wow! You're strong!",
"1_female": null,
"2": "I didn't stand a chance, huh?", "2": "I didn't stand a chance, huh?",
"3": "I'll find you again when I'm older and beat you!", "3": "I'll find you again when I'm older and beat you!",
"4": "Ugh. I don't have any more Pokémon.", "4": "Ugh. I don't have any more Pokémon.",
"5": "No way… NO WAY! How could I lose again…", "5": "No way… NO WAY! How could I lose again…",
"5_female": null,
"6": "No! I lost!", "6": "No! I lost!",
"7": "Whoa! You are incredible! I'm amazed and surprised!", "7": "Whoa! You are incredible! I'm amazed and surprised!",
"8": "Could it be… How… My Pokémon and I are the strongest, though…", "8": "Could it be… How… My Pokémon and I are the strongest, though…",
@ -35,10 +42,12 @@
"encounter": { "encounter": {
"1": "Let's have a battle, shall we?", "1": "Let's have a battle, shall we?",
"2": "You look like a new trainer. Let's have a battle!", "2": "You look like a new trainer. Let's have a battle!",
"2_female": null,
"3": "I don't recognize you. How about a battle?", "3": "I don't recognize you. How about a battle?",
"4": "Let's have a fun Pokémon battle!", "4": "Let's have a fun Pokémon battle!",
"5": "I'll show you the ropes of how to really use Pokémon!", "5": "I'll show you the ropes of how to really use Pokémon!",
"6": "A serious battle starts from a serious beginning! Are you sure you're ready?", "6": "A serious battle starts from a serious beginning! Are you sure you're ready?",
"6_female": null,
"7": "You're only young once. And you only get one shot at a given battle. Soon, you'll be nothing but a memory.", "7": "You're only young once. And you only get one shot at a given battle. Soon, you'll be nothing but a memory.",
"8": "You'd better go easy on me, OK? Though I'll be seriously fighting!", "8": "You'd better go easy on me, OK? Though I'll be seriously fighting!",
"9": "School is boring. I've got nothing to do. Yawn. I'm only battling to kill the time." "9": "School is boring. I've got nothing to do. Yawn. I'm only battling to kill the time."
@ -46,12 +55,15 @@
"victory": { "victory": {
"1": "That was impressive! I've got a lot to learn.", "1": "That was impressive! I've got a lot to learn.",
"2": "I didn't think you'd beat me that bad…", "2": "I didn't think you'd beat me that bad…",
"2_female": null,
"3": "I hope we get to have a rematch some day.", "3": "I hope we get to have a rematch some day.",
"4": "That was pretty amazingly fun! You've totally exhausted me…", "4": "That was pretty amazingly fun! You've totally exhausted me…",
"5": "You actually taught me a lesson! You're pretty amazing!", "5": "You actually taught me a lesson! You're pretty amazing!",
"6": "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.", "6": "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.",
"6_female": null,
"7": "I don't need memories like this. Deleting memory…", "7": "I don't need memories like this. Deleting memory…",
"8": "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.", "8": "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.",
"8_female": null,
"9": "I'm actually getting tired of battling… There's gotta be something new to do…" "9": "I'm actually getting tired of battling… There's gotta be something new to do…"
} }
}, },
@ -142,6 +154,7 @@
"ace_trainer": { "ace_trainer": {
"encounter": { "encounter": {
"1": "You seem quite confident.", "1": "You seem quite confident.",
"1_female": null,
"2": "Your Pokémon… Show them to me…", "2": "Your Pokémon… Show them to me…",
"3": "Because I'm an Ace Trainer, people think I'm strong.", "3": "Because I'm an Ace Trainer, people think I'm strong.",
"4": "Are you aware of what it takes to be an Ace Trainer?" "4": "Are you aware of what it takes to be an Ace Trainer?"
@ -150,7 +163,9 @@
"1": "Yes… You have good Pokémon…", "1": "Yes… You have good Pokémon…",
"2": "What?! But I'm a battling genius!", "2": "What?! But I'm a battling genius!",
"3": "Of course, you are the main character!", "3": "Of course, you are the main character!",
"4": "OK! OK! You could be an Ace Trainer!" "3_female": null,
"4": "OK! OK! You could be an Ace Trainer!",
"4_female": null
}, },
"defeat": { "defeat": {
"1": "I am devoting my body and soul to Pokémon battles!", "1": "I am devoting my body and soul to Pokémon battles!",
@ -171,7 +186,8 @@
"encounter": { "encounter": {
"1": "Get ready, because when we team up, it's double the trouble!", "1": "Get ready, because when we team up, it's double the trouble!",
"2": "Two hearts, one strategy let's see if you can keep up with our twin power!", "2": "Two hearts, one strategy let's see if you can keep up with our twin power!",
"3": "Hope you're ready for double trouble, because we're about to bring the heat!" "3": "Hope you're ready for double trouble, because we're about to bring the heat!",
"3_female": null
}, },
"victory": { "victory": {
"1": "We may have lost this round, but our bond remains unbreakable!", "1": "We may have lost this round, but our bond remains unbreakable!",
@ -199,7 +215,8 @@
"black_belt": { "black_belt": {
"encounter": { "encounter": {
"1": "I praise your courage in challenging me! For I am the one with the strongest kick!", "1": "I praise your courage in challenging me! For I am the one with the strongest kick!",
"2": "Oh, I see. Would you like to be cut to pieces? Or do you prefer the role of punching bag?" "2": "Oh, I see. Would you like to be cut to pieces? Or do you prefer the role of punching bag?",
"2_female": null
}, },
"victory": { "victory": {
"1": "Oh. The Pokémon did the fighting. My strong kick didn't help a bit.", "1": "Oh. The Pokémon did the fighting. My strong kick didn't help a bit.",
@ -310,7 +327,8 @@
}, },
"defeat": { "defeat": {
"1": "New age simply refers to twentieth century classical composers, right?", "1": "New age simply refers to twentieth century classical composers, right?",
"2": "Don't get hung up on sadness or frustration. You can use your grudges to motivate yourself." "2": "Don't get hung up on sadness or frustration. You can use your grudges to motivate yourself.",
"2_female": null
} }
}, },
"psychic": { "psychic": {
@ -341,7 +359,8 @@
}, },
"baker": { "baker": {
"encounter": { "encounter": {
"1": "Hope you're ready to taste defeat!" "1": "Hope you're ready to taste defeat!",
"1_female": null
}, },
"victory": { "victory": {
"1": "I'll bake a comeback." "1": "I'll bake a comeback."
@ -371,7 +390,8 @@
"encounter": { "encounter": {
"1": "Matey, you're walking the plank if you lose!", "1": "Matey, you're walking the plank if you lose!",
"2": "Come on then! My sailor's pride is at stake!", "2": "Come on then! My sailor's pride is at stake!",
"3": "Ahoy there! Are you seasick?" "3": "Ahoy there! Are you seasick?",
"3_female": null
}, },
"victory": { "victory": {
"1": "Argh! Beaten by a kid!", "1": "Argh! Beaten by a kid!",
@ -381,7 +401,7 @@
}, },
"archer": { "archer": {
"encounter": { "encounter": {
"1": "Before you go any further, let's see how you far against us, Team Rocket!", "1": "Before you go any further, let's see how you fare against us, Team Rocket!",
"2": "I have received reports that your skills are not insignificant. Let's see if they are true.", "2": "I have received reports that your skills are not insignificant. Let's see if they are true.",
"3": "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." "3": "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization."
}, },
@ -399,6 +419,7 @@
}, },
"victory": { "victory": {
"1": "Tch, you really are strong. It's too bad.\n$If you were to join Team Rocket, you could become an Executive.", "1": "Tch, you really are strong. It's too bad.\n$If you were to join Team Rocket, you could become an Executive.",
"1_female": null,
"2": "I... I'm shattered...", "2": "I... I'm shattered...",
"3": "Aaaieeeee! This can't be happening! I fought hard, but I still lost…" "3": "Aaaieeeee! This can't be happening! I fought hard, but I still lost…"
} }
@ -434,52 +455,57 @@
"3": "I'm going to give you a little taste of pain! Resign yourself to it!" "3": "I'm going to give you a little taste of pain! Resign yourself to it!"
}, },
"victory": { "victory": {
"1": "Hehehe! You might have beaten me, but you don't stand a chance against the Boss!\n$If you get lost now, you won't have to face a sound whipping!", "1": "Hehehe! You might have beaten me, but you don't stand a chance against the boss!\n$If you get lost now, you won't have to face a sound whipping!",
"2": "Hehehe... So, I lost, too...", "2": "Hehehe... So, I lost, too...",
"3": "Ahya! How could this be? For an Admin like me to lose to some random trainer..." "3": "Ahya! How could this be? For an Admin like me to lose to some random trainer...",
"3_female": null
} }
}, },
"courtney": { "courtney": {
"encounter": { "encounter": {
"1": "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", "1": "Don't. Get. In. My. Way.",
"2": "... Well then...Deleting...", "2": "You... ...I want to...analyze. Ahahaha",
"3": "...Ha. ...Analyzing... ...Hah♪" "3": "... Well then...Deleting..."
}, },
"victory": { "victory": {
"1": "... ...Change...the world.", "1": "Hah hah... Uhn...hah hah...",
"2": "As anticipated. Unanticipated. You. Target lock...completed.\n$Commencing...experiment. You. Forever. Aha... ♪", "2": "As anticipated. Unanticipated. You. Target lock...completed.\n$Commencing...experiment. You. Forever. Aha... ♪",
"3": "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. ♪" "3": "That's unanticipated. ...I knew it. You...are interesting! ...Haha. ♪"
} }
}, },
"shelly": { "shelly": {
"encounter": { "encounter": {
"1": "Ahahahaha! You're going to meddle in Team Aqua's affairs?\n$You're either absolutely fearless, simply ignorant, or both!\n$You're so cute, you're disgusting! I'll put you down", "1": "Ahahahaha! You're going to meddle in Team Aqua's affairs?\n$You're either absolutely fearless, simply ignorant, or both!\n$You're so cute, you're disgusting! I'll put you down",
"2": "What's this? Who's this spoiled brat?", "2": "What's this? Who's this spoiled brat?",
"3": "Cool your jets. Be patient. I'll crush you shortly." "3": "Cool your jets. Be patient. I'll crush you shortly.",
"3_female": null
}, },
"victory": { "victory": {
"1": "Ahahahaha! We got meddled with unexpectedly! We're out of options.\n$We'll have to pull out. But this isn't the last you'll see of Team Aqua!\n$We have other plans! Don't you forget it!", "1": "Ahahahaha! We got meddled with unexpectedly! We're out of options.\n$We'll have to pull out. But this isn't the last you'll see of Team Aqua!\n$We have other plans! Don't you forget it!",
"2": "Ahhh?! Did I go too easy on you?!", "2": "Ahhh?! Did I go too easy on you?!",
"3": "Uh. Are you telling me you've upped your game even more during the fight?\n$You're a brat with a bright future… My Pokémon and I don't have any strength left to fight…\n$Go on… Go and be destroyed by Archie." "3": "Uh. Are you telling me you've upped your game even more during the fight?\n$You're a brat with a bright future… My Pokémon and I don't have any strength left to fight…\n$Go on… Go and be destroyed by Archie.",
"3_female": null
} }
}, },
"matt": { "matt": {
"encounter": { "encounter": {
"1": "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", "1": "All right then, until the boss has time for you, I'll be your opponent!",
"2": "Oho! You! You're that funny kid!", "2": "Hooah! Full on! I'm burning up! Well! Welll! Wellllll! Let's battle it out until we've got nothing left!",
"3": "What are you doing here? Did you follow us?" "3": "Hoo hah! I'm gonna smash you up!"
}, },
"victory": { "victory": {
"1": "All right then, until the Boss has time for you, I'll be your opponent!", "1": "Muwuhahaha! That battle was fun even though I lost!",
"2": "I can feel it! I can feel it, all right! The strength coming offa you!\n$More! I still want more! But looks like we're outta time...", "2": "I can feel it! I can feel it, all right! The strength coming offa you!\n$More! I still want more! But looks like we're outta time...",
"3": "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" "3": "Oho! That's a loss I can be proud of!",
"3_female": null
} }
}, },
"mars": { "mars": {
"encounter": { "encounter": {
"1": "I'm Mars, one of Team Galactic's top Commanders.", "1": "I'm Mars, one of Team Galactic's top Commanders.",
"2": "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", "2": "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!",
"3": "Feeling nervous? You should be!" "3": "Feeling nervous? You should be!",
"3_female": null
}, },
"victory": { "victory": {
"1": "This can't be happening! How did I lose?!", "1": "This can't be happening! How did I lose?!",
@ -514,36 +540,44 @@
"zinzolin": { "zinzolin": {
"encounter": { "encounter": {
"1": "You could become a threat to Team Plasma, so we will eliminate you here and now!", "1": "You could become a threat to Team Plasma, so we will eliminate you here and now!",
"2": "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", "1_female": null,
"3": "You're an impressive Trainer to have made it this far. But it ends here." "2": "You don't have the sense to know when to quit, it seems. It's an act of mercy on my part to bring an end to this now!",
"3": "You're an impressive Trainer to have made it this far. But it ends here.",
"3_female": null
}, },
"victory": { "victory": {
"1": "Ghetsis... I have failed you...", "1": "Ghetsis... I have failed you...",
"2": "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", "2": "It's bitter cold. I'm shivering. I'm suffering. Yet, we will stand victorious.",
"3": "Hmph. You're a smarter Trainer than I expected, but not smart enough." "3": "Hmph. You're a smarter Trainer than I expected, but not smart enough.",
"3_female": null
} }
}, },
"rood": { "rood": {
"encounter": { "encounter": {
"1": "You are a threat to Team Plasma. We cannot let you walk away from here and now!", "1": "You are a threat to Team Plasma. We cannot let you walk away from here and now!",
"2": "Oh, this icy wind... I never thought I'd have to fight here!", "1_female": null,
"3": "You are a remarkable Trainer to have made it this far. But this is where it ends." "2": "It seems you don't know when to give up. I'll make sure no one interferes with our plans!",
"3": "You are a remarkable Trainer to have made it this far. But this is where it ends.",
"3_female": null
}, },
"victory": { "victory": {
"1": "Ghetsis... I have failed my mission...", "1": "Ghetsis... I have failed my mission...",
"2": "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", "2": "The cold is piercing. I'm shivering. I'm suffering. Yet, we will stand triumphant.",
"3": "Hm. You are a talented Trainer, but unfortunately not talented enough." "3": "Hm. You are a talented Trainer, but unfortunately not talented enough."
} }
}, },
"xerosic": { "xerosic": {
"encounter": { "encounter": {
"1": "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", "1": "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!",
"1_female": null,
"2": "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", "2": "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.",
"2_female": null,
"3": "I've been waiting for you! I need to do a little research on you! Come, let us begin!" "3": "I've been waiting for you! I need to do a little research on you! Come, let us begin!"
}, },
"victory": { "victory": {
"1": "Ah, you're quite strong. Oh yes—very strong, indeed.", "1": "Ah, you're quite strong. Oh yes—very strong, indeed.",
"2": "Ding-ding-ding! You did it! To the victor go the spoils!", "2": "Ding-ding-ding! You did it! To the victor go the spoils!",
"2_female": null,
"3": "Wonderful! Amazing! You have tremendous skill and bravery!" "3": "Wonderful! Amazing! You have tremendous skill and bravery!"
} }
}, },
@ -551,6 +585,7 @@
"encounter": { "encounter": {
"1": "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", "1": "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.",
"2": "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", "2": "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.",
"2_female": null,
"3": "I've anticipated your arrival. It's time for a little test. Shall we begin?" "3": "I've anticipated your arrival. It's time for a little test. Shall we begin?"
}, },
"victory": { "victory": {
@ -563,9 +598,11 @@
"encounter": { "encounter": {
"1": "Prepare for trouble!", "1": "Prepare for trouble!",
"2": "We're pulling a big job here! Get lost, kid!", "2": "We're pulling a big job here! Get lost, kid!",
"2_female": null,
"3": "Hand over your Pokémon, or face the wrath of Team Rocket!", "3": "Hand over your Pokémon, or face the wrath of Team Rocket!",
"4": "You're about to experience the true terror of Team Rocket!", "4": "You're about to experience the true terror of Team Rocket!",
"5": "Hey, kid! Me am a Team Rocket member kind of guy!" "5": "Hey, kid! Me am a Team Rocket member kind of guy!",
"5_female": null
}, },
"victory": { "victory": {
"1": "Team Rocket blasting off again!", "1": "Team Rocket blasting off again!",
@ -587,6 +624,7 @@
"1": "Huh? I lost?!", "1": "Huh? I lost?!",
"2": "I can't believe I lost! I even skipped lunch for this", "2": "I can't believe I lost! I even skipped lunch for this",
"3": "No way! You're just a kid!", "3": "No way! You're just a kid!",
"3_female": null,
"4": "Urrrgh... I should've ducked into our hideout right away...", "4": "Urrrgh... I should've ducked into our hideout right away...",
"5": "You beat me... Do you think the boss will dock my pay for this?" "5": "You beat me... Do you think the boss will dock my pay for this?"
} }
@ -613,7 +651,8 @@
"2": "Witness the power of our technology and the future we envision!", "2": "Witness the power of our technology and the future we envision!",
"3": "In the name of Team Galactic, I'll eliminate anyone who stands in our way!", "3": "In the name of Team Galactic, I'll eliminate anyone who stands in our way!",
"4": "Get ready to lose!", "4": "Get ready to lose!",
"5": "Hope you're ready for a cosmic beatdown!" "5": "Hope you're ready for a cosmic beatdown!",
"5_female": null
}, },
"victory": { "victory": {
"1": "Shut down...", "1": "Shut down...",
@ -643,6 +682,7 @@
"encounter": { "encounter": {
"1": "Your Pokémon are no match for the elegance of Team Flare.", "1": "Your Pokémon are no match for the elegance of Team Flare.",
"2": "Hope you brought your sunglasses, because things are about to get bright!", "2": "Hope you brought your sunglasses, because things are about to get bright!",
"2_female": null,
"3": "Team Flare will cleanse the world of imperfection!", "3": "Team Flare will cleanse the world of imperfection!",
"4": "Prepare to face the brilliance of Team Flare!", "4": "Prepare to face the brilliance of Team Flare!",
"5": "Fashion is most important to us!" "5": "Fashion is most important to us!"
@ -743,7 +783,8 @@
"1": "WHAT! This cannot be!" "1": "WHAT! This cannot be!"
}, },
"defeat": { "defeat": {
"1": "Mark my words. Not being able to measure your own strength shows that you are still a child." "1": "Mark my words. Not being able to measure your own strength shows that you are still a child.",
"1_female": null
} }
}, },
"rocket_boss_giovanni_2": { "rocket_boss_giovanni_2": {
@ -803,7 +844,8 @@
}, },
"galactic_boss_cyrus_1": { "galactic_boss_cyrus_1": {
"encounter": { "encounter": {
"1": "You were compelled to come here by such vacuous sentimentality.\n$I will make you regret paying heed to your heart!" "1": "You were compelled to come here by such vacuous sentimentality.\n$I will make you regret paying heed to your heart!",
"1_female": null
}, },
"victory": { "victory": {
"1": "Interesting. And quite curious." "1": "Interesting. And quite curious."
@ -953,6 +995,7 @@
"misty": { "misty": {
"encounter": { "encounter": {
"1": "My policy is an all out offensive with Water-type Pokémon!", "1": "My policy is an all out offensive with Water-type Pokémon!",
"1_female": null,
"2": "Hiya, I'll show you the strength of my aquatic Pokémon!", "2": "Hiya, I'll show you the strength of my aquatic Pokémon!",
"3": "My dream was to go on a journey and battle powerful trainers…\nWill you be a sufficient challenge?" "3": "My dream was to go on a journey and battle powerful trainers…\nWill you be a sufficient challenge?"
}, },
@ -970,12 +1013,14 @@
"lt_surge": { "lt_surge": {
"encounter": { "encounter": {
"1": "My Electric Pokémon saved me during the war! I'll show you how!", "1": "My Electric Pokémon saved me during the war! I'll show you how!",
"1_female": null,
"2": "Ten-hut! I'll shock you into surrender!", "2": "Ten-hut! I'll shock you into surrender!",
"3": "I'll zap you just like I do to all my enemies in battle!" "3": "I'll zap you just like I do to all my enemies in battle!"
}, },
"victory": { "victory": {
"1": "Whoa! Your team's the real deal, kid!", "1": "Whoa! Your team's the real deal, kid!",
"2": "Aaargh, you're strong! Even my electric tricks lost against you.", "2": "Aaargh, you're strong! Even my electric tricks lost against you.",
"2_female": null,
"3": "That was an absolutely shocking loss!" "3": "That was an absolutely shocking loss!"
}, },
"defeat": { "defeat": {
@ -1000,6 +1045,7 @@
"defeat": { "defeat": {
"1": "I was afraid I would doze off…", "1": "I was afraid I would doze off…",
"2": "Oh my, it seems my Grass Pokémon overwhelmed you.", "2": "Oh my, it seems my Grass Pokémon overwhelmed you.",
"2_female": null,
"3": "That battle was such a soothing experience.", "3": "That battle was such a soothing experience.",
"4": "Oh… Is that all?" "4": "Oh… Is that all?"
} }
@ -1059,7 +1105,8 @@
"encounter": { "encounter": {
"1": "I, the leader of Team Rocket, will make you feel a world of pain!", "1": "I, the leader of Team Rocket, will make you feel a world of pain!",
"2": "My training here will be vital before I am to face my old associates again.", "2": "My training here will be vital before I am to face my old associates again.",
"3": "I do not think you are prepared for the level of failure you are about to experience!" "3": "I do not think you are prepared for the level of failure you are about to experience!",
"3_female": null
}, },
"victory": { "victory": {
"1": "WHAT! Me, lose?! There is nothing I wish to say to you!", "1": "WHAT! Me, lose?! There is nothing I wish to say to you!",
@ -1092,6 +1139,7 @@
"brawly": { "brawly": {
"encounter": { "encounter": {
"1": "Oh man, a challenger!\nLet's see what you can do!", "1": "Oh man, a challenger!\nLet's see what you can do!",
"1_female": null,
"2": "You seem like a big splash.\nLet's battle!", "2": "You seem like a big splash.\nLet's battle!",
"3": "Time to create a storm!\nLet's go!" "3": "Time to create a storm!\nLet's go!"
}, },
@ -1119,6 +1167,7 @@
}, },
"defeat": { "defeat": {
"1": "Recharge your batteries and challenge me again sometime!\nWahahahaha!", "1": "Recharge your batteries and challenge me again sometime!\nWahahahaha!",
"1_female": null,
"2": "I hope you found our battle electrifying!\nWahahahaha!", "2": "I hope you found our battle electrifying!\nWahahahaha!",
"3": "Aren't you shocked I won?\nWahahahaha!" "3": "Aren't you shocked I won?\nWahahahaha!"
} }
@ -1165,6 +1214,7 @@
}, },
"victory": { "victory": {
"1": "You're the first Trainer I've seen with more grace than I.\nExcellently played.", "1": "You're the first Trainer I've seen with more grace than I.\nExcellently played.",
"1_female": null,
"2": "Oh, my Flying Pokémon have plummeted!\nVery well.", "2": "Oh, my Flying Pokémon have plummeted!\nVery well.",
"3": "Though I may have fallen, my Pokémon will continue to fly!" "3": "Though I may have fallen, my Pokémon will continue to fly!"
}, },
@ -1177,6 +1227,7 @@
"tate": { "tate": {
"encounter": { "encounter": {
"1": "Hehehe…\nWere you surprised to see me without my sister?", "1": "Hehehe…\nWere you surprised to see me without my sister?",
"1_female": null,
"2": "I can see what you're thinking…\nYou want to battle!", "2": "I can see what you're thinking…\nYou want to battle!",
"3": "How can you defeat someone…\nWho knows your every move?" "3": "How can you defeat someone…\nWho knows your every move?"
}, },
@ -1194,6 +1245,7 @@
"liza": { "liza": {
"encounter": { "encounter": {
"1": "Fufufu…\nWere you surprised to see me without my brother?", "1": "Fufufu…\nWere you surprised to see me without my brother?",
"1_female": null,
"2": "I can determine what you desire…\nYou want to battle, don't you?", "2": "I can determine what you desire…\nYou want to battle, don't you?",
"3": "How can you defeat someone…\nWho's one with their Pokémon?" "3": "How can you defeat someone…\nWho's one with their Pokémon?"
}, },
@ -1265,8 +1317,10 @@
"nessa": { "nessa": {
"encounter": { "encounter": {
"1": "No matter what kind of plan your refined mind may be plotting, my partner and I will be sure to sink it.", "1": "No matter what kind of plan your refined mind may be plotting, my partner and I will be sure to sink it.",
"1_female": null,
"2": "I'm not here to chat. I'm here to win!", "2": "I'm not here to chat. I'm here to win!",
"3": "This is a little gift from my Pokémon… I hope you can take it!" "3": "This is a little gift from my Pokémon… I hope you can take it!",
"3_female": null
}, },
"victory": { "victory": {
"1": "You and your Pokémon are just too much…", "1": "You and your Pokémon are just too much…",
@ -1287,6 +1341,7 @@
}, },
"victory": { "victory": {
"1": "You… You're pretty good, huh?", "1": "You… You're pretty good, huh?",
"1_female": null,
"2": "If you find Gordie around, be sure to give him a right trashing, would you?", "2": "If you find Gordie around, be sure to give him a right trashing, would you?",
"3": "I think you took breaking the ice a little too literally…" "3": "I think you took breaking the ice a little too literally…"
}, },
@ -1300,10 +1355,12 @@
"encounter": { "encounter": {
"1": "You look strong! Shoots! Let's start!", "1": "You look strong! Shoots! Let's start!",
"2": "I'm strong like the ocean's wide. You're gonna get swept away, fo' sho'.", "2": "I'm strong like the ocean's wide. You're gonna get swept away, fo' sho'.",
"2_female": null,
"3": "Oh ho, so I'm facing you! That's off the wall." "3": "Oh ho, so I'm facing you! That's off the wall."
}, },
"victory": { "victory": {
"1": "You totally rocked that! You're raising some wicked Pokémon. You got this Trainer thing down!", "1": "You totally rocked that! You're raising some wicked Pokémon. You got this Trainer thing down!",
"1_female": null,
"2": "You don't just look strong, you're strong fo' reals! Eh, I was swept away, too!", "2": "You don't just look strong, you're strong fo' reals! Eh, I was swept away, too!",
"3": "You're strong as a gnarly wave!" "3": "You're strong as a gnarly wave!"
}, },
@ -1316,6 +1373,7 @@
"shauntal": { "shauntal": {
"encounter": { "encounter": {
"1": "Excuse me. You're a challenger, right?\nI'm the Elite Four's Ghost-type Pokémon user, Shauntal, and I shall be your opponent.", "1": "Excuse me. You're a challenger, right?\nI'm the Elite Four's Ghost-type Pokémon user, Shauntal, and I shall be your opponent.",
"1_female": null,
"2": "I absolutely love writing about Trainers who come here and the Pokémon they train.\nCould I use you and your Pokémon as a subject?", "2": "I absolutely love writing about Trainers who come here and the Pokémon they train.\nCould I use you and your Pokémon as a subject?",
"3": "Every person who works with Pokémon has a story to tell.\nWhat story is about to be told?" "3": "Every person who works with Pokémon has a story to tell.\nWhat story is about to be told?"
}, },
@ -1333,6 +1391,7 @@
"marshal": { "marshal": {
"encounter": { "encounter": {
"1": "My mentor, Alder, sees your potential as a Trainer and is taking an interest in you.\nIt is my intention to test you--to take you to the limits of your strength. Kiai!", "1": "My mentor, Alder, sees your potential as a Trainer and is taking an interest in you.\nIt is my intention to test you--to take you to the limits of your strength. Kiai!",
"1_female": null,
"2": "Victory, decisive victory, is my intention! Challenger, here I come!", "2": "Victory, decisive victory, is my intention! Challenger, here I come!",
"3": "In myself, I seek to develop the strength of a fighter and shatter any weakness in myself!\nPrevailing with the force of my convictions!" "3": "In myself, I seek to develop the strength of a fighter and shatter any weakness in myself!\nPrevailing with the force of my convictions!"
}, },
@ -1351,7 +1410,8 @@
"encounter": { "encounter": {
"1": "You remind me of an old friend. That makes me excited about this Pokémon battle!", "1": "You remind me of an old friend. That makes me excited about this Pokémon battle!",
"2": "Pokémon battles have no meaning if you don't think why you battle.\n$Or better said, it makes battling together with Pokémon meaningless.", "2": "Pokémon battles have no meaning if you don't think why you battle.\n$Or better said, it makes battling together with Pokémon meaningless.",
"3": "My name's Cheren! I'm a Gym Leader and a teacher! Pleasure to meet you." "3": "My name's Cheren! I'm a Gym Leader and a teacher! Pleasure to meet you.",
"3_female": null
}, },
"victory": { "victory": {
"1": "Thank you! I saw what was missing in me.", "1": "Thank you! I saw what was missing in me.",
@ -1367,47 +1427,65 @@
"chili": { "chili": {
"encounter": { "encounter": {
"1": "Yeeeeooow! Time to play with FIRE!! I'm the strongest of us brothers!", "1": "Yeeeeooow! Time to play with FIRE!! I'm the strongest of us brothers!",
"1_female": null,
"2": "Ta-da! The Fire-type scorcher Chili--that's me--will be your opponent!", "2": "Ta-da! The Fire-type scorcher Chili--that's me--will be your opponent!",
"3": "I'm going to show you what me and my blazing Fire types can do!" "2_female": null,
"3": "I'm going to show you what me and my blazing Fire types can do!",
"3_female": null
}, },
"victory": { "victory": {
"1": "You got me. I am… burned… out…", "1": "You got me. I am… burned… out…",
"1_female": null,
"2": "Whoa ho! You're on fire!", "2": "Whoa ho! You're on fire!",
"2_female": null,
"3": "Augh! You got me!" "3": "Augh! You got me!"
}, },
"defeat": { "defeat": {
"1": "I'm on fire! Play with me, and you'll get burned!", "1": "I'm on fire! Play with me, and you'll get burned!",
"1_female": null,
"2": "When you play with fire, you get burned!", "2": "When you play with fire, you get burned!",
"3": "I mean, c'mon, your opponent was me! You didn't have a chance!" "3": "I mean, c'mon, your opponent was me! You didn't have a chance!",
"3_female": null
} }
}, },
"cilan": { "cilan": {
"encounter": { "encounter": {
"1": "Nothing personal... No hard feelings... Me and my Grass-type Pokémon will...\n$Um... We're gonna battle come what may.", "1": "Nothing personal... No hard feelings... Me and my Grass-type Pokémon will...\n$Um... We're gonna battle come what may.",
"1_female": null,
"2": "So, um, if you're OK with me, I'll, um, put everything I've got into being, er, you know, your opponent.", "2": "So, um, if you're OK with me, I'll, um, put everything I've got into being, er, you know, your opponent.",
"3": "OK… So, um, I'm Cilan, I like Grass-type Pokémon." "2_female": null,
"3": "OK… So, um, I'm Cilan, I like Grass-type Pokémon.",
"3_female": null
}, },
"victory": { "victory": {
"1": "Er… Is it over now?", "1": "Er… Is it over now?",
"1_female": null,
"2": "…What a surprise. You are very strong, aren't you? \n$I guess my brothers wouldn't have been able to defeat you either…", "2": "…What a surprise. You are very strong, aren't you? \n$I guess my brothers wouldn't have been able to defeat you either…",
"2_female": null,
"3": "…Huh. Looks like my timing was, um, off?" "3": "…Huh. Looks like my timing was, um, off?"
}, },
"defeat": { "defeat": {
"1": "Huh? Did I win?", "1": "Huh? Did I win?",
"1_female": null,
"2": "I guess… \n$I suppose I won, because I've been competing with my brothers Chili and Cress, and we all were able to get tougher.", "2": "I guess… \n$I suppose I won, because I've been competing with my brothers Chili and Cress, and we all were able to get tougher.",
"3": "It…it was quite a thrilling experience…" "2_female": null,
"3": "It…it was quite a thrilling experience…",
"3_female": null
} }
}, },
"roark": { "roark": {
"encounter": { "encounter": {
"1": "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!", "1": "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!",
"1_female": null,
"2": "Here goes! These are my rocking Pokémon, my pride and joy!", "2": "Here goes! These are my rocking Pokémon, my pride and joy!",
"3": "Rock-type Pokémon are simply the best!", "3": "Rock-type Pokémon are simply the best!",
"4": "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!" "4": "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!",
"4_female": null
}, },
"victory": { "victory": {
"1": "W-what? That can't be! My buffed-up Pokémon!", "1": "W-what? That can't be! My buffed-up Pokémon!",
"2": "…We lost control there. Next time I'd like to challenge you to a Fossil-digging race underground.", "2": "…We lost control there. Next time I'd like to challenge you to a Fossil-digging race underground.",
"2_female": null,
"3": "With skill like yours, it's natural for you to win.", "3": "With skill like yours, it's natural for you to win.",
"4": "Wh-what?! It can't be! Even that wasn't enough?", "4": "Wh-what?! It can't be! Even that wasn't enough?",
"5": "I blew it." "5": "I blew it."
@ -1430,6 +1508,7 @@
"victory": { "victory": {
"1": "I'm not good enough yet…", "1": "I'm not good enough yet…",
"2": "I see… Your journey has taken you to far-away places and you have witnessed much more than I.\n$I envy you for that…", "2": "I see… Your journey has taken you to far-away places and you have witnessed much more than I.\n$I envy you for that…",
"2_female": null,
"3": "How is this possible…", "3": "How is this possible…",
"4": "I don't think our potentials are so different.\n$But you seem to have something more than that… So be it.", "4": "I don't think our potentials are so different.\n$But you seem to have something more than that… So be it.",
"5": "Guess I need more training.", "5": "Guess I need more training.",
@ -1488,12 +1567,14 @@
"1": "Guess I should've expected that!" "1": "Guess I should've expected that!"
}, },
"defeat": { "defeat": {
"1": "Heh heh! Don't mind me, just scooping up a W over here. I get it if you're upset, but don't go full Kieran on me, OK?" "1": "Heh heh! Don't mind me, just scooping up a W over here. I get it if you're upset, but don't go full Kieran on me, OK?",
"1_female": null
} }
}, },
"ramos": { "ramos": {
"encounter": { "encounter": {
"1": "Did yeh enjoy the garden playground I made with all these sturdy plants o' mine?\n$Their strength is a sign o' my strength as a gardener and a Gym Leader! Yeh sure yer up to facing all that?" "1": "Did yeh enjoy the garden playground I made with all these sturdy plants o' mine?\n$Their strength is a sign o' my strength as a gardener and a Gym Leader! Yeh sure yer up to facing all that?",
"1_female": null
}, },
"victory": { "victory": {
"1": "Yeh believe in yer Pokémon… And they believe in yeh, too… It was a fine battle, sprout." "1": "Yeh believe in yer Pokémon… And they believe in yeh, too… It was a fine battle, sprout."
@ -1523,7 +1604,8 @@
}, },
"victory": { "victory": {
"1": "I must say, I'm warmed up to you! I might even admire you a little.", "1": "I must say, I'm warmed up to you! I might even admire you a little.",
"2": "Wow! You're great! You've earned my respect! \n$I think your focus and will bowled us over totally. " "2": "Wow! You're great! You've earned my respect! \n$I think your focus and will bowled us over totally. ",
"2_female": null
}, },
"defeat": { "defeat": {
"1": "I sensed your will to win, but I don't lose!", "1": "I sensed your will to win, but I don't lose!",
@ -1535,7 +1617,8 @@
"1": "You have a winning aura about you. So, anyway, this will be fun. Let's have our battle!" "1": "You have a winning aura about you. So, anyway, this will be fun. Let's have our battle!"
}, },
"victory": { "victory": {
"1": "Amazing! You're very good, aren't you?" "1": "Amazing! You're very good, aren't you?",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "Yes! My Pokémon and I are perfectly good!" "1": "Yes! My Pokémon and I are perfectly good!"
@ -1576,7 +1659,8 @@
}, },
"clay": { "clay": {
"encounter": { "encounter": {
"1": "Harrumph! Kept me waitin', didn't ya, kid? All right, time to see what ya can do!" "1": "Harrumph! Kept me waitin', didn't ya, kid? All right, time to see what ya can do!",
"1_female": null
}, },
"victory": { "victory": {
"1": "Man oh man… It feels good to go all out and still be defeated!" "1": "Man oh man… It feels good to go all out and still be defeated!"
@ -1590,7 +1674,8 @@
"1": "I'mma serve you a full course o' Water-type Pokémon! Don't try to eat 'em, though!" "1": "I'mma serve you a full course o' Water-type Pokémon! Don't try to eat 'em, though!"
}, },
"victory": { "victory": {
"1": "Vaultin' Veluza! Yer a lively one, aren't ya! A little TOO lively, if I do say so myself!" "1": "Vaultin' Veluza! Yer a lively one, aren't ya! A little TOO lively, if I do say so myself!",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "You come back to see me again now, ya hear?" "1": "You come back to see me again now, ya hear?"
@ -1656,7 +1741,8 @@
"1": "There's something about you… A difference in your demeanor. \n$I think I sense that in you. Now, show me. Show me the power you wield with your Pokémon. \n$And I, in turn, shall present you with a performance of illusions in water by me and my Pokémon!" "1": "There's something about you… A difference in your demeanor. \n$I think I sense that in you. Now, show me. Show me the power you wield with your Pokémon. \n$And I, in turn, shall present you with a performance of illusions in water by me and my Pokémon!"
}, },
"victory": { "victory": {
"1": "Bravo. I realize now your authenticity and magnificence as a Pokémon Trainer. \n$I find much joy in having met you and your Pokémon. You have proven yourself worthy." "1": "Bravo. I realize now your authenticity and magnificence as a Pokémon Trainer. \n$I find much joy in having met you and your Pokémon. You have proven yourself worthy.",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "A grand illusion!" "1": "A grand illusion!"
@ -1664,13 +1750,15 @@
}, },
"lorelei": { "lorelei": {
"encounter": { "encounter": {
"1": "No one can best me when it comes to icy Pokémon! Freezing moves are powerful!\n$Your Pokémon will be at my mercy when they are frozen solid! Hahaha! Are you ready?" "1": "No one can best me when it comes to icy Pokémon! Freezing moves are powerful!\n$Your Pokémon will be at my mercy when they are frozen solid! Hahaha! Are you ready?",
"1_female": null
}, },
"victory": { "victory": {
"1": "How dare you!" "1": "How dare you!"
}, },
"defeat": { "defeat": {
"1": "There's nothing you can do once you're frozen." "1": "There's nothing you can do once you're frozen.",
"1_female": null
} }
}, },
"will": { "will": {
@ -1686,10 +1774,12 @@
}, },
"malva": { "malva": {
"encounter": { "encounter": {
"1": "I feel like my heart might just burst into flames. \n$I'm burning up with my hatred for you, runt!" "1": "I feel like my heart might just burst into flames. \n$I'm burning up with my hatred for you, runt!",
"1_female": null
}, },
"victory": { "victory": {
"1": "What news… So a new challenger has defeated Malva!" "1": "What news… So a new challenger has defeated Malva!",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "I am delighted! Yes, delighted that I could squash you beneath my heel." "1": "I am delighted! Yes, delighted that I could squash you beneath my heel."
@ -1711,7 +1801,8 @@
"1": "I gave the captain position to my cousin Sophocles, but I'm confident in my ability. \n$My strength is like that of a supernova!" "1": "I gave the captain position to my cousin Sophocles, but I'm confident in my ability. \n$My strength is like that of a supernova!"
}, },
"victory": { "victory": {
"1": "I certainly found an interesting Trainer to face!" "1": "I certainly found an interesting Trainer to face!",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "Ahaha. What an interesting battle." "1": "Ahaha. What an interesting battle."
@ -1722,10 +1813,12 @@
"1": "I'd say I'll go easy on you, but… I'd be lying! Think fast!" "1": "I'd say I'll go easy on you, but… I'd be lying! Think fast!"
}, },
"victory": { "victory": {
"1": "Not bad, kiddo." "1": "Not bad, kiddo.",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "Nahahaha! You really are something else, kiddo!" "1": "Nahahaha! You really are something else, kiddo!",
"1_female": null
} }
}, },
"bruno": { "bruno": {
@ -1744,7 +1837,8 @@
"1": "I'm Bugsy! I never lose when it comes to bug Pokémon!" "1": "I'm Bugsy! I never lose when it comes to bug Pokémon!"
}, },
"victory": { "victory": {
"1": "Whoa, amazing! You're an expert on Pokémon!\nMy research isn't complete yet. OK, you win." "1": "Whoa, amazing! You're an expert on Pokémon!\nMy research isn't complete yet. OK, you win.",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "Thanks! Thanks to our battle, I was also able to make progress in my research!" "1": "Thanks! Thanks to our battle, I was also able to make progress in my research!"
@ -1774,10 +1868,12 @@
}, },
"lenora": { "lenora": {
"encounter": { "encounter": {
"1": "Well then, challenger, I'm going to research how you battle with the Pokémon you've so lovingly raised!" "1": "Well then, challenger, I'm going to research how you battle with the Pokémon you've so lovingly raised!",
"1_female": null
}, },
"victory": { "victory": {
"1": "My theory about you was correct. You're more than just talented… You're motivated! I salute you!" "1": "My theory about you was correct. You're more than just talented… You're motivated! I salute you!",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "Ah ha ha! If you lose, make sure to analyze why, and use that knowledge in your next battle!" "1": "Ah ha ha! If you lose, make sure to analyze why, and use that knowledge in your next battle!"
@ -1802,7 +1898,8 @@
"1": "Wild! Your reason's already more toxic than mine!" "1": "Wild! Your reason's already more toxic than mine!"
}, },
"defeat": { "defeat": {
"1": "Hey, c'mon! Get serious! You gotta put more out there!" "1": "Hey, c'mon! Get serious! You gotta put more out there!",
"1_female": null
} }
}, },
"olivia": { "olivia": {
@ -1840,7 +1937,8 @@
}, },
"flint": { "flint": {
"encounter": { "encounter": {
"1": "Hope you're warmed up, cause here comes the Big Bang!" "1": "Hope you're warmed up, cause here comes the Big Bang!",
"1_female": null
}, },
"victory": { "victory": {
"1": "Incredible! Your moves are so hot, they make mine look lukewarm!" "1": "Incredible! Your moves are so hot, they make mine look lukewarm!"
@ -1862,7 +1960,8 @@
}, },
"caitlin": { "caitlin": {
"encounter": { "encounter": {
"1": "It's me who appeared when the flower opened up. You who have been waiting…\n$You look like a Pokémon Trainer with refined strength and deepened kindness. \n$What I look for in my opponent is superb strength… \n$Please unleash your power to the fullest!" "1": "It's me who appeared when the flower opened up. You who have been waiting…\n$You look like a Pokémon Trainer with refined strength and deepened kindness. \n$What I look for in my opponent is superb strength… \n$Please unleash your power to the fullest!",
"1_female": null
}, },
"victory": { "victory": {
"1": "My Pokémon and I learned so much! I offer you my thanks." "1": "My Pokémon and I learned so much! I offer you my thanks."
@ -1884,13 +1983,16 @@
}, },
"wikstrom": { "wikstrom": {
"encounter": { "encounter": {
"1": "Well met, young challenger! Verily am I the famed blade of hardened steel, Duke Wikstrom! \n$Let the battle begin! En garde!" "1": "Well met, young challenger! Verily am I the famed blade of hardened steel, Duke Wikstrom! \n$Let the battle begin! En garde!",
"1_female": null
}, },
"victory": { "victory": {
"1": "Glorious! The trust that you share with your honorable Pokémon surpasses even mine!" "1": "Glorious! The trust that you share with your honorable Pokémon surpasses even mine!",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "What manner of magic is this? My heart, it doth hammer ceaselessly in my breast! \n$Winning against such a worthy opponent doth give my soul wings--thus do I soar!" "1": "What manner of magic is this? My heart, it doth hammer ceaselessly in my breast! \n$Winning against such a worthy opponent doth give my soul wings--thus do I soar!",
"1_female": null
} }
}, },
"acerola": { "acerola": {
@ -1922,11 +2024,14 @@
}, },
"victory": { "victory": {
"1": "You got me. You are magnificent!", "1": "You got me. You are magnificent!",
"2": "I never expected another trainer to beat me… I'm surprised." "1_female": null,
"2": "I never expected another trainer to beat me… I'm surprised.",
"2_female": null
}, },
"defeat": { "defeat": {
"1": "That was close. Want to try again?", "1": "That was close. Want to try again?",
"2": "It's not that you are weak. Don't let it bother you." "2": "It's not that you are weak. Don't let it bother you.",
"2_female": null
} }
}, },
"karen": { "karen": {
@ -1951,7 +2056,8 @@
"1": "Sure seems like you understand Pokémon real well. \n$This is gonna be a doozy of a battle! \n$I'll have to Dynamax my Pokémon if I want to win!" "1": "Sure seems like you understand Pokémon real well. \n$This is gonna be a doozy of a battle! \n$I'll have to Dynamax my Pokémon if I want to win!"
}, },
"victory": { "victory": {
"1": "The power of Grass has wilted… What an incredible Challenger!" "1": "The power of Grass has wilted… What an incredible Challenger!",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "This'll really leave you in shock and awe." "1": "This'll really leave you in shock and awe."
@ -1970,7 +2076,8 @@
}, },
"drasna": { "drasna": {
"encounter": { "encounter": {
"1": "You must be a strong Trainer. Yes, quite strong indeed…\n$That's just wonderful news! Facing opponents like you and your team will make my Pokémon grow like weeds!" "1": "You must be a strong Trainer. Yes, quite strong indeed…\n$That's just wonderful news! Facing opponents like you and your team will make my Pokémon grow like weeds!",
"1_female": null
}, },
"victory": { "victory": {
"1": "Oh, dear me. That sure was a quick battle… I do hope you'll come back again sometime!" "1": "Oh, dear me. That sure was a quick battle… I do hope you'll come back again sometime!"
@ -2003,7 +2110,8 @@
}, },
"blue": { "blue": {
"encounter": { "encounter": {
"1": "You must be pretty good to get this far." "1": "You must be pretty good to get this far.",
"1_female": null
}, },
"victory": { "victory": {
"1": "I've only lost to him and now to you… Him? Hee, hee…" "1": "I've only lost to him and now to you… Him? Hee, hee…"
@ -2050,7 +2158,8 @@
"1": "I am still the Champion. I won't hold anything back." "1": "I am still the Champion. I won't hold anything back."
}, },
"victory": { "victory": {
"1": "This is the emergence of a new Champion." "1": "This is the emergence of a new Champion.",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "I successfully defended my Championship." "1": "I successfully defended my Championship."
@ -2138,7 +2247,8 @@
"1": "Hey! Don't you think Pokémon are, like, super cute?" "1": "Hey! Don't you think Pokémon are, like, super cute?"
}, },
"victory": { "victory": {
"1": "Waaah! Waaah! You're so mean!" "1": "Waaah! Waaah! You're so mean!",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "And that's that!" "1": "And that's that!"
@ -2146,7 +2256,8 @@
}, },
"chuck": { "chuck": {
"encounter": { "encounter": {
"1": "Hah! You want to challenge me? Are you brave or just ignorant?" "1": "Hah! You want to challenge me? Are you brave or just ignorant?",
"1_female": null
}, },
"victory": { "victory": {
"1": "You're strong! Would you please make me your apprentice?" "1": "You're strong! Would you please make me your apprentice?"
@ -2157,7 +2268,8 @@
}, },
"katy": { "katy": {
"encounter": { "encounter": {
"1": "Don't let your guard down unless you would like to find yourself knocked off your feet!" "1": "Don't let your guard down unless you would like to find yourself knocked off your feet!",
"1_female": null
}, },
"victory": { "victory": {
"1": "All of my sweet little Pokémon dropped like flies!" "1": "All of my sweet little Pokémon dropped like flies!"
@ -2190,7 +2302,8 @@
}, },
"maylene": { "maylene": {
"encounter": { "encounter": {
"1": "I've come to challenge you now, and I won't hold anything back. \n$Please prepare yourself for battle!" "1": "I've come to challenge you now, and I won't hold anything back. \n$Please prepare yourself for battle!",
"1_female": null
}, },
"victory": { "victory": {
"1": "I admit defeat…" "1": "I admit defeat…"
@ -2212,7 +2325,8 @@
}, },
"byron": { "byron": {
"encounter": { "encounter": {
"1": "Trainer! You're young, just like my son, Roark. \n$With more young Trainers taking charge, the future of Pokémon is bright! \n$So, as a wall for young people, I'll take your challenge!" "1": "Trainer! You're young, just like my son, Roark. \n$With more young Trainers taking charge, the future of Pokémon is bright! \n$So, as a wall for young people, I'll take your challenge!",
"1_female": null
}, },
"victory": { "victory": {
"1": "Hmm! My sturdy Pokémon--defeated!" "1": "Hmm! My sturdy Pokémon--defeated!"
@ -2234,7 +2348,8 @@
}, },
"volkner": { "volkner": {
"encounter": { "encounter": {
"1": "Since you've come this far, you must be quite strong…\n$I hope you're the Trainer who'll make me remember how fun it is to battle!" "1": "Since you've come this far, you must be quite strong…\n$I hope you're the Trainer who'll make me remember how fun it is to battle!",
"1_female": null
}, },
"victory": { "victory": {
"1": "You've got me beat…\n$Your desire and the noble way your Pokémon battled for you… \n$I even felt thrilled during our match. That was a very good battle." "1": "You've got me beat…\n$Your desire and the noble way your Pokémon battled for you… \n$I even felt thrilled during our match. That was a very good battle."
@ -2336,7 +2451,8 @@
}, },
"valerie": { "valerie": {
"encounter": { "encounter": {
"1": "Oh, if it isn't a young Trainer… It is lovely to get to meet you like this. \n$Then I suppose you have earned yourself the right to a battle, as a reward for your efforts. \n$The elusive Fairy may appear frail as the breeze and delicate as a bloom, but it is strong." "1": "Oh, if it isn't a young Trainer… It is lovely to get to meet you like this. \n$Then I suppose you have earned yourself the right to a battle, as a reward for your efforts. \n$The elusive Fairy may appear frail as the breeze and delicate as a bloom, but it is strong.",
"1_female": null
}, },
"victory": { "victory": {
"1": "I hope that you will find things worth smiling about tomorrow…" "1": "I hope that you will find things worth smiling about tomorrow…"
@ -2383,7 +2499,8 @@
"1": "Let me have a look at how you and your partner Pokémon behave!" "1": "Let me have a look at how you and your partner Pokémon behave!"
}, },
"victory": { "victory": {
"1": "Your pink is still lacking, but you're an excellent Trainer with excellent Pokémon." "1": "Your pink is still lacking, but you're an excellent Trainer with excellent Pokémon.",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "Too bad for you, I guess." "1": "Too bad for you, I guess."
@ -2391,7 +2508,8 @@
}, },
"bede": { "bede": {
"encounter": { "encounter": {
"1": "I suppose I should prove beyond doubt just how pathetic you are and how strong I am." "1": "I suppose I should prove beyond doubt just how pathetic you are and how strong I am.",
"1_female": null
}, },
"victory": { "victory": {
"1": "I see… Well, that's fine. I wasn't really trying all that hard anyway." "1": "I see… Well, that's fine. I wasn't really trying all that hard anyway."
@ -2435,7 +2553,8 @@
}, },
"brassius": { "brassius": {
"encounter": { "encounter": {
"1": "I assume you are ready? Let our collaborative work of art begin!" "1": "I assume you are ready? Let our collaborative work of art begin!",
"1_female": null
}, },
"victory": { "victory": {
"1": "Ahhh…vant-garde!" "1": "Ahhh…vant-garde!"
@ -2446,10 +2565,12 @@
}, },
"iono": { "iono": {
"encounter": { "encounter": {
"1": "How're ya feelin' about this battle?\n$...\n$Let's get this show on the road! How strong is our challenger? \n$I 'unno! Let's find out together!" "1": "How're ya feelin' about this battle?\n$...\n$Let's get this show on the road! How strong is our challenger? \n$I 'unno! Let's find out together!",
"1_female": null
}, },
"victory": { "victory": {
"1": "You're as flashy and bright as a 10,000,000-volt Thunderbolt, friendo!" "1": "You're as flashy and bright as a 10,000,000-volt Thunderbolt, friendo!",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "Your eyeballs are MINE!" "1": "Your eyeballs are MINE!"
@ -2471,7 +2592,8 @@
"1": "Come on, baby! Rattle me down to the bone!" "1": "Come on, baby! Rattle me down to the bone!"
}, },
"victory": { "victory": {
"1": "You're cool, my friend—you move my SOUL!" "1": "You're cool, my friend—you move my SOUL!",
"1_female": null
}, },
"defeat": { "defeat": {
"1": "Later, baby!" "1": "Later, baby!"
@ -2505,7 +2627,9 @@
"nessa_elite": { "nessa_elite": {
"encounter": { "encounter": {
"1": "The tides are turning in my favor. Ready to get swept away?", "1": "The tides are turning in my favor. Ready to get swept away?",
"2": "Let's make some waves with this battle! I hope you're prepared!" "1_female": null,
"2": "Let's make some waves with this battle! I hope you're prepared!",
"2_female": null
}, },
"victory": { "victory": {
"1": "You navigated those waters perfectly... Well done!", "1": "You navigated those waters perfectly... Well done!",
@ -2533,6 +2657,7 @@
"allister_elite": { "allister_elite": {
"encounter": { "encounter": {
"1": "Shadows fall... Are you ready to face your fears?", "1": "Shadows fall... Are you ready to face your fears?",
"1_female": null,
"2": "Let's see if you can handle the darkness that I command." "2": "Let's see if you can handle the darkness that I command."
}, },
"victory": { "victory": {
@ -2555,7 +2680,8 @@
}, },
"defeat": { "defeat": {
"1": "Another storm weathered, another victory claimed! Well fought!", "1": "Another storm weathered, another victory claimed! Well fought!",
"2": "You got caught in my storm! Better luck next time!" "2": "You got caught in my storm! Better luck next time!",
"2_female": null
} }
}, },
"alder": { "alder": {
@ -2582,10 +2708,10 @@
}, },
"rival": { "rival": {
"encounter": { "encounter": {
"1": "@c{smile}Hey, I was looking for you! I knew you were eager to get going but I expected at least a goodbye…$@c{smile_eclosed}So you're really pursuing your dream after all? I almost can't believe it.$@c{serious_smile_fists}Since we're here, how about a battle?After all, I want to make sure you're ready.$@c{serious_mopen_fists}Don't hold back, I want you to give me everything you've got!" "1": "@c{smile}Hey, I was looking for you! I knew you were eager to get going but I expected at least a goodbye…$@c{smile_eclosed}So you're really pursuing your dream after all? I almost can't believe it.$@c{serious_smile_fists}Since we're here, how about a battle?\nAfter all, I want to make sure you're ready.$@c{serious_mopen_fists}Don't hold back, I want you to give me everything you've got!"
}, },
"victory": { "victory": {
"1": "@c{shock}Wow… You cleaned me out.Are you actually a beginner?$@c{smile}Maybe it was a bit of luck but…Who knows you might just be able to go all the way.$By the way, the professor asked me to give you these items. They look pretty cool.$@c{serious_smile_fists}Good luck out there!" "1": "@c{shock}Wow… You cleaned me out.\nAre you actually a beginner?$@c{smile}Maybe it was a bit of luck but…Who knows you might just be able to go all the way.$By the way, the professor asked me to give you these items. They look pretty cool.$@c{serious_smile_fists}Good luck out there!"
} }
}, },
"rival_female": { "rival_female": {

View File

@ -1,15 +1,15 @@
{ {
"victory": "Victory!", "victory": "Victory!",
"defeatedWildM": "Defeated by ", "defeatedWild": "Defeated by ",
"defeatedTrainerM": "Defeated by ", "defeatedTrainer": "Defeated by ",
"defeatedTrainerDoubleM": "Defeated by Duo", "defeatedTrainerDouble": "Defeated by Duo",
"defeatedRivalM": "Defeated by Rival", "defeatedRival": "Defeated by Rival",
"defeatedM": "Defeated", "defeated": "Defeated",
"defeatedWildF": "Defeated by ", "defeatedWild_female": "Defeated by ",
"defeatedTrainerF": "Defeated by ", "defeatedTrainer_female": "Defeated by ",
"defeatedTrainerDoubleF": "Defeated by Duo", "defeatedTrainerDouble_female": "Defeated by Duo",
"defeatedRivalF": "Defeated by Rival", "defeatedRival_female": "Defeated by Rival",
"defeatedF": "Defeated", "defeated_female": "Defeated",
"luck": "Luck", "luck": "Luck",
"score": "Score", "score": "Score",
"mode": "Mode", "mode": "Mode",
@ -30,8 +30,8 @@
"money": "Money", "money": "Money",
"runLength": "Run Length", "runLength": "Run Length",
"viewHeldItems": "Held Items", "viewHeldItems": "Held Items",
"hallofFameTextM": "Welcome to the Hall of Fame!", "hallofFameText": "Welcome to the Hall of Fame!",
"hallofFameTextF": "Welcome to the Hall of Fame!", "hallofFameText_female": "Welcome to the Hall of Fame!",
"viewHallOfFame": "View Hall of Fame!", "viewHallOfFame": "View Hall of Fame!",
"viewEndingSplash": "View ending art!" "viewEndingSplash": "View ending art!"
} }

View File

@ -1,163 +0,0 @@
{
"Achievements": {
"name": "Logros"
},
"Locked": {
"name": "Bloqueado"
},
"MoneyAchv": {
"description": "Acumula un total de ₽{{moneyAmount}}."
},
"10K_MONEY": {
"name": "Ahorradora"
},
"100K_MONEY": {
"name": "Rica"
},
"1M_MONEY": {
"name": "Millonaria"
},
"10M_MONEY": {
"name": "Elusión Fiscal"
},
"DamageAchv": {
"description": "Inflige {{damageAmount}} daño en un solo golpe."
},
"250_DMG": {
"name": "Golpe Maestro"
},
"1000_DMG": {
"name": "Golpe Devastador"
},
"2500_DMG": {
"name": "¡Eso es un montón de daño!"
},
"10000_DMG": {
"name": "One Punch Man"
},
"HealAchv": {
"description": "Cura {{healAmount}} {{HP}} de una, con un movimiento, habilidad o objeto equipado."
},
"250_HEAL": {
"name": "Sanadora Novata"
},
"1000_HEAL": {
"name": "Gran Sanadora"
},
"2500_HEAL": {
"name": "Clériga"
},
"10000_HEAL": {
"name": "Centro Pokémon"
},
"LevelAchv": {
"description": "Sube a un Pokémon al nivel {{level}}."
},
"LV_100": {
"name": "¡Pero espera, aún hay mas!"
},
"LV_250": {
"name": "Élite"
},
"LV_1000": {
"name": "Supera tus límites"
},
"RibbonAchv": {
"description": "Acumula un total de {{ribbonAmount}} Cintas."
},
"10_RIBBONS": {
"name": "Campeona Liga Pokémon"
},
"25_RIBBONS": {
"name": "Campeona Liga Super"
},
"50_RIBBONS": {
"name": "Campeona Liga Ultra"
},
"75_RIBBONS": {
"name": "Campeona Liga Rogue"
},
"100_RIBBONS": {
"name": "Campeona Liga Master"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "Trabajo en Equipo",
"description": "Haz relevo a otro miembro del equipo con al menos una estadística al máximo."
},
"MAX_FRIENDSHIP": {
"name": "Amistad Total",
"description": "Alcanza con un Pokémon la amistad al máximo."
},
"MEGA_EVOLVE": {
"name": "Megamorfosis",
"description": "Megaevoluciona a un Pokémon."
},
"GIGANTAMAX": {
"name": "Criatura Colosal",
"description": "Haz Gigantamax a un Pokémon."
},
"TERASTALLIZE": {
"name": "Entusiasta del STAB",
"description": "Teracristaliza a un Pokémon."
},
"STELLAR_TERASTALLIZE": {
"name": "El Tipo Oculto",
"description": "Teracristaliza a un Pokémon al tipo Astral."
},
"SPLICE": {
"name": "Infinite Fusion",
"description": "Fusiona dos Pokémon con la Punta ADN."
},
"MINI_BLACK_HOLE": {
"name": "Devorador de Objetos",
"description": "Adquiere un Mini Agujero Negro."
},
"CATCH_MYTHICAL": {
"name": "Singular",
"description": "Captura a un Pokémon Singular."
},
"CATCH_SUB_LEGENDARY": {
"name": "(Sub)Legendario",
"description": "Captura a un Pokémon Sublegendario."
},
"CATCH_LEGENDARY": {
"name": "Legendario",
"description": "Captura a un Pokémon Legendario."
},
"SEE_SHINY": {
"name": "Shiny",
"description": "Encuentra a un Pokémon Shiny salvaje."
},
"SHINY_PARTY": {
"name": "Eso es dedicación",
"description": "Tener un equipo completo de Pokémon shiny."
},
"HATCH_MYTHICAL": {
"name": "Huevo Singular",
"description": "Hacer eclosionar un Pokémon Singular de un huevo."
},
"HATCH_SUB_LEGENDARY": {
"name": "Huevo Sublegendario",
"description": "Hacer eclosionar un Pokémon Sublegendario de un huevo."
},
"HATCH_LEGENDARY": {
"name": "Huevo Legendario",
"description": "Hacer eclosionar un Pokémon Legendario de un huevo."
},
"HATCH_SHINY": {
"name": "Huevo Shiny",
"description": "Hacer eclosionar un Pokémon Shiny de un huevo."
},
"HIDDEN_ABILITY": {
"name": "Potencial Oculto",
"description": "Captura un Pokémon con una habilidad oculta."
},
"PERFECT_IVS": {
"name": "Certificado de Autenticidad",
"description": "Consigue IVs perfectos en un Pokémon."
},
"CLASSIC_VICTORY": {
"name": "Imbatible",
"description": "Completa el juego en modo clásico."
}
}

View File

@ -9,13 +9,16 @@
"description": "Acumula un total de ₽{{moneyAmount}}." "description": "Acumula un total de ₽{{moneyAmount}}."
}, },
"10K_MONEY": { "10K_MONEY": {
"name": "Ahorrador" "name": "Ahorrador",
"name_female": "Ahorradora"
}, },
"100K_MONEY": { "100K_MONEY": {
"name": "Rico" "name": "Rico",
"name_female": "Rica"
}, },
"1M_MONEY": { "1M_MONEY": {
"name": "Millonario" "name": "Millonario",
"name_female": "Millonaria"
}, },
"10M_MONEY": { "10M_MONEY": {
"name": "Elusión Fiscal" "name": "Elusión Fiscal"
@ -39,13 +42,16 @@
"description": "Cura {{healAmount}} {{HP}} de una, con un movimiento, habilidad o objeto equipado." "description": "Cura {{healAmount}} {{HP}} de una, con un movimiento, habilidad o objeto equipado."
}, },
"250_HEAL": { "250_HEAL": {
"name": "Sanador Novato" "name": "Sanador Novato",
"name_female": "Sanadora Novata"
}, },
"1000_HEAL": { "1000_HEAL": {
"name": "Gran Sanador" "name": "Gran Sanador",
"name_female": "Gran Sanadora"
}, },
"2500_HEAL": { "2500_HEAL": {
"name": "Clérigo" "name": "Clérigo",
"name_female": "Clériga"
}, },
"10000_HEAL": { "10000_HEAL": {
"name": "Centro Pokémon" "name": "Centro Pokémon"
@ -66,19 +72,24 @@
"description": "Acumula un total de {{ribbonAmount}} Cintas." "description": "Acumula un total de {{ribbonAmount}} Cintas."
}, },
"10_RIBBONS": { "10_RIBBONS": {
"name": "Campeón Liga Pokémon" "name": "Campeón Liga Pokémon",
"name_female": "Campeona Liga Pokémon"
}, },
"25_RIBBONS": { "25_RIBBONS": {
"name": "Campeón Liga Super" "name": "Campeón Liga Super",
"name_female": "Campeona Liga Super"
}, },
"50_RIBBONS": { "50_RIBBONS": {
"name": "Campeón Liga Ultra" "name": "Campeón Liga Ultra",
"name_female": "Campeona Liga Ultra"
}, },
"75_RIBBONS": { "75_RIBBONS": {
"name": "Campeón Liga Rogue" "name": "Campeón Liga Rogue",
"name_female": "Campeona Liga Rogue"
}, },
"100_RIBBONS": { "100_RIBBONS": {
"name": "Campeón Liga Master" "name": "Campeón Liga Master",
"name_female": "Campeona Liga Master"
}, },
"TRANSFER_MAX_BATTLE_STAT": { "TRANSFER_MAX_BATTLE_STAT": {
"name": "Trabajo en Equipo", "name": "Trabajo en Equipo",
@ -159,5 +170,9 @@
"CLASSIC_VICTORY": { "CLASSIC_VICTORY": {
"name": "Imbatible", "name": "Imbatible",
"description": "Completa el juego en modo clásico." "description": "Completa el juego en modo clásico."
},
"INVERSE_BATTLE": {
"name": "Espejo ojepsE",
"description": "Completa el reto de Combate Inverso.\n.osrevnI etabmoC ed oter le atelpmoC"
} }
} }

View File

@ -18,5 +18,12 @@
"name": "Monotipo", "name": "Monotipo",
"desc": "Solo puedes usar Pokémon with the {{type}} type.", "desc": "Solo puedes usar Pokémon with the {{type}} type.",
"desc_default": "Solo puedes usar Pokémon del tipo elegido." "desc_default": "Solo puedes usar Pokémon del tipo elegido."
},
"inverseBattle": {
"name": "Combate Inverso",
"shortName": "Inverso",
"desc": "La efectividad de los tipos es invertida. No hay inmunidades entre tipos.\nEste reto deshabilita logros de otros retos.",
"value.0": "Desactivado",
"value.1": "Activado"
} }
} }

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -16,14 +15,10 @@ import bgmName from "./bgm-name.json";
import biome from "./biome.json"; import biome from "./biome.json";
import challenges from "./challenges.json"; import challenges from "./challenges.json";
import commandUiHandler from "./command-ui-handler.json"; import commandUiHandler from "./command-ui-handler.json";
import dialogueMale from "./dialogue-male.json"; import dialogue from "./dialogue.json";
import dialogueFemale from "./dialogue-female.json"; import battleSpecDialogue from "./dialogue-final-boss.json";
import dialogueEndbossMale from "./dialogue-final-boss-male.json"; import miscDialogue from "./dialogue-misc.json";
import dialogueEndbossFemale from "./dialogue-final-boss-female.json"; import doubleBattleDialogue from "./dialogue-double-battle.json";
import dialogueMiscMale from "./dialogue-misc-male.json";
import dialogueMiscFemale from "./dialogue-misc-female.json";
import dialogueDoubleBattleMale from "./dialogue-double-battle-male.json";
import dialogueDoubleBattleFemale from "./dialogue-double-battle-female.json";
import egg from "./egg.json"; import egg from "./egg.json";
import fightUiHandler from "./fight-ui-handler.json"; import fightUiHandler from "./fight-ui-handler.json";
import filterBar from "./filter-bar.json"; import filterBar from "./filter-bar.json";
@ -76,16 +71,11 @@ export const esConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale, dialogue,
PGMdialogue: dialogueMale, battleSpecDialogue,
PGFdialogue: dialogueFemale, miscDialogue,
PGMbattleSpecDialogue: dialogueEndbossMale, doubleBattleDialogue,
PGFbattleSpecDialogue: dialogueEndbossFemale,
PGMmiscDialogue: dialogueMiscMale,
PGFmiscDialogue: dialogueMiscFemale,
PGMdoubleBattleDialogue: dialogueDoubleBattleMale,
PGFdoubleBattleDialogue: dialogueDoubleBattleFemale,
egg, egg,
fightUiHandler, fightUiHandler,
filterBar, filterBar,

View File

@ -1,52 +0,0 @@
{
"aether_grunt": {
"encounter": {
"1": "¡Lucharé con toda mi fuerza para detenerte!",
"2": "Me da igual que seas un crío. Eres una amenaza y debes irte.",
"3": "Me dijeron que mandara a todos los entrenadores por donde venían, ¡sin excepciones!",
"4": "¡Te mostraré el poder del Paraíso Æther!",
"5": "Ahora que conoces la oscuridad en lo profundo del Paraíso Æther, es hora de que vayas desapareciendo..."
},
"victory": {
"1": "¡Vaya! Demuestras habilidad.",
"2": "¿Qué quiere decir esto? ¿Eh?",
"3": "¡Vaya! Con esa fuerza, ¡no creo que pueda detenerte!",
"4": "Vaya... parece que puede que haya perdido.",
"5": "¡Mira, te hago una mueca!: ¡Aiyee!"
}
},
"faba": {
"encounter": {
"1": "¡Yo, Subdirector Fabio, te mostraré la cruda realidad del mundo!",
"2": "¿Yo, la última línea de defensa de Æther, battallando a un mero crío?",
"3": "Yo, Fabio, soy el Subdirector de la Fundación Æther. Soy el único en el mundo, soy irremplazable."
},
"victory": {
"1": "¡Aaaah!",
"2": "¿C-c-cómo puede ser? Eres tan solo un niño...",
"3": "Este... este es el motivo por el que odio a los niños."
}
},
"aether_boss_lusamine_1": {
"encounter": {
"1": "¡Vas a asustar a mi pobre criatura! Parece que tendré que silenciarte cuanto antes."
},
"victory": {
"1": "¿Cómo?¿Cómo puedes ser tan terrible?"
},
"defeat": {
"1": "Buff."
}
},
"aether_boss_lusamine_2": {
"encounter": {
"1": "¡¿Por qué me sigues molestando?! Estoy cansada de ti. ¡Hasta las narices!\n$Se acabó esta charla innecesaria. Este es el poder de Nihilego, ¡te demostraré cuánto te equivocas al venir aquí!"
},
"victory": {
"1": "¡¡¡Aaauuuggghhhhhhhhh!!!"
},
"defeat": {
"1": "¡Todo lo que quiero es a esta preciosa criatura! ¡Los demás no me importáis!"
}
}
}

View File

@ -1,15 +1,15 @@
{ {
"victory": "¡Victoria!", "victory": "¡Victoria!",
"defeatedWildM": "Derrotado por ", "defeatedWild": "Derrotado por ",
"defeatedTrainerM": "Derrotado por ", "defeatedTrainer": "Derrotado por ",
"defeatedTrainerDoubleM": "Derrotado por un dúo", "defeatedTrainerDouble": "Derrotado por un dúo",
"defeatedRivalM": "Derrotado por el rival", "defeatedRival": "Derrotado por el rival",
"defeatedM": "Derrotado", "defeated": "Derrotado",
"defeatedWildF": "Derrotada por ", "defeatedWild_female": "Derrotada por ",
"defeatedTrainerF": "Derrotada por ", "defeatedTrainer_female": "Derrotada por ",
"defeatedTrainerDoubleF": "Derrotada por un dúo", "defeatedTrainerDouble_female": "Derrotada por un dúo",
"defeatedRivalF": "Derrotada por el rival", "defeatedRival_female": "Derrotada por el rival",
"defeatedF": "Derrotada", "defeated_female": "Derrotada",
"luck": "Suerte", "luck": "Suerte",
"score": "Puntuación", "score": "Puntuación",
"mode": "Modo", "mode": "Modo",
@ -30,8 +30,8 @@
"money": "Dinero", "money": "Dinero",
"runLength": "Duración de partida", "runLength": "Duración de partida",
"viewHeldItems": "Objetos equipados", "viewHeldItems": "Objetos equipados",
"hallofFameTextM": "¡Bienvenido al Hall de la Fama!", "hallofFameText": "¡Bienvenido al Hall de la Fama!",
"hallofFameTextF": "¡Bienvenida al Hall de la Fama!", "hallofFameText_female": "¡Bienvenida al Hall de la Fama!",
"viewHallOfFame": "¡Ver Hall de la Fama!", "viewHallOfFame": "¡Ver Hall de la Fama!",
"viewEndingSplash": "¡Ver la imagen final!" "viewEndingSplash": "¡Ver la imagen final!"
} }

View File

@ -1,264 +0,0 @@
{
"10K_MONEY": {
"name": "Épargnante"
},
"1M_MONEY": {
"name": "Banquière"
},
"10M_MONEY": {
"name": "Évadée fiscale"
},
"1000_DMG": {
"name": "Boxeuse"
},
"2500_DMG": {
"name": "Distributrice de pains"
},
"10000_DMG": {
"name": "One Punch Woman"
},
"250_HEAL": {
"name": "Infirmière"
},
"10_RIBBONS": {
"name": "Maitresse de la Ligue"
},
"25_RIBBONS": {
"name": "Super Maitresse de la Ligue"
},
"50_RIBBONS": {
"name": "Hyper Maitresse de la Ligue"
},
"75_RIBBONS": {
"name": "Rogue Maitresse de la Ligue"
},
"100_RIBBONS": {
"name": "Master Maitresse de la Ligue"
},
"SHINY_PARTY": {
"name": "Shasseuse",
"description": "Avoir une équipe exclusivement composée de Pokémon chromatiques"
},
"CLASSIC_VICTORY": {
"name": "Invaincue",
"description": "Terminer le jeu en mode classique"
},
"Achievements": {
"name": "Succès"
},
"Locked": {
"name": "Verrouillé"
},
"MoneyAchv": {
"description": "Récolter un total de {{moneyAmount}} ₽."
},
"100K_MONEY": {
"name": "Je possède des thunes"
},
"DamageAchv": {
"description": "Infliger {{damageAmount}} de dégâts en un coup."
},
"250_DMG": {
"name": "Caïd"
},
"HealAchv": {
"description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité,\nun talent ou un objet tenu."
},
"1000_HEAL": {
"name": "Médecin"
},
"2500_HEAL": {
"name": "Clerc"
},
"10000_HEAL": {
"name": "Centre Pokémon"
},
"LevelAchv": {
"description": "Monter un Pokémon au N.{{level}}."
},
"LV_100": {
"name": "Et cest pas fini !"
},
"LV_250": {
"name": "Élite"
},
"LV_1000": {
"name": "Vers linfini et au-delà"
},
"RibbonAchv": {
"description": "Accumuler un total de {{ribbonAmount}} Rubans."
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "Travail déquipe",
"description": "Utiliser Relais avec au moins une statistique montée à fond."
},
"MAX_FRIENDSHIP": {
"name": "Copinage",
"description": "Atteindre le niveau de bonheur maximal avec un Pokémon."
},
"MEGA_EVOLVE": {
"name": "Mégamorph",
"description": "Méga-évoluer un Pokémon."
},
"GIGANTAMAX": {
"name": "Kaijū",
"description": "Gigamaxer un Pokémon."
},
"TERASTALLIZE": {
"name": "Jaime les STAB",
"description": "Téracristalliser un Pokémon."
},
"STELLAR_TERASTALLIZE": {
"name": "Le type enfoui",
"description": "Téracristalliser un Pokémon en type Stellaire."
},
"SPLICE": {
"name": "Infinite Fusion",
"description": "Fusionner deux Pokémon avec le Pointeau ADN."
},
"MINI_BLACK_HOLE": {
"name": "Item-stellar",
"description": "Obtenir un Mini Trou Noir."
},
"CATCH_MYTHICAL": {
"name": "Fabuleux",
"description": "Capturer un Pokémon fabuleux."
},
"CATCH_SUB_LEGENDARY": {
"name": "(Semi-)Légendaire",
"description": "Capturer un Pokémon semi-légendaire."
},
"CATCH_LEGENDARY": {
"name": "Légendaire",
"description": "Capturer un Pokémon légendaire."
},
"SEE_SHINY": {
"name": "Chromatique",
"description": "Trouver un Pokémon sauvage chromatique."
},
"HATCH_MYTHICAL": {
"name": "Œuf fabuleux",
"description": "Obtenir un Pokémon fabuleux dans un Œuf."
},
"HATCH_SUB_LEGENDARY": {
"name": "Œuf semi-légendaire",
"description": "Obtenir un Pokémon semi-légendaire dans un Œuf."
},
"HATCH_LEGENDARY": {
"name": "Œuf légendaire",
"description": "Obtenir un Pokémon légendaire dans un Œuf."
},
"HATCH_SHINY": {
"name": "Œuf chromatique",
"description": "Obtenir un Pokémon chromatique dans un Œuf."
},
"HIDDEN_ABILITY": {
"name": "Potentiel enfoui",
"description": "Capturer un Pokémon possédant un talent caché."
},
"PERFECT_IVS": {
"name": "Certificat dauthenticité",
"description": "Avoir des IV parfaits sur un Pokémon."
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "Le stagiaire de 3e",
"description": "Terminer le mode Classique avec au moins un Pokémon non-évolué dans léquipe."
},
"MONO_GEN_ONE": {
"name": "Le rival originel",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 1re génération."
},
"MONO_GEN_TWO": {
"name": "Entre tradition et modernité",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 2e génération."
},
"MONO_GEN_THREE": {
"name": "Too much water ?",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 3e génération."
},
"MONO_GEN_FOUR": {
"name": "Réellement la plus difficile ?",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 4e génération."
},
"MONO_GEN_FIVE": {
"name": "Recast complet",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 5e génération."
},
"MONO_GEN_SIX": {
"name": "Aristocrate",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 6e génération."
},
"MONO_GEN_SEVEN": {
"name": "Seulement techniquement",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 7e génération."
},
"MONO_GEN_EIGHT": {
"name": "Lheure de gloire",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 8e génération."
},
"MONO_GEN_NINE": {
"name": "Ça va, cétait EZ",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 9e génération."
},
"MonoType": {
"description": "Terminer un challenge en monotype {{type}}."
},
"MONO_NORMAL": {
"name": "Extraordinairement banal"
},
"MONO_FIGHTING": {
"name": "Je connais le kung-fu"
},
"MONO_FLYING": {
"name": "Angry Birds"
},
"MONO_POISON": {
"name": "Touche moi je tempoisonne !"
},
"MONO_GROUND": {
"name": "Prévisions : Séisme"
},
"MONO_ROCK": {
"name": "Comme un roc"
},
"MONO_BUG": {
"name": "Une chenille !"
},
"MONO_GHOST": {
"name": "SOS Fantômes"
},
"MONO_STEEL": {
"name": "De type Acier !"
},
"MONO_FIRE": {
"name": "Allumer le feu"
},
"MONO_WATER": {
"name": "Vacances en Bretagne"
},
"MONO_GRASS": {
"name": "Ne pas toucher !"
},
"MONO_ELECTRIC": {
"name": "À la masse"
},
"MONO_PSYCHIC": {
"name": "Grocervo"
},
"MONO_ICE": {
"name": "Froid comme la glace"
},
"MONO_DRAGON": {
"name": "Légendes du club, ou presque"
},
"MONO_DARK": {
"name": "Ça va lui passer"
},
"MONO_FAIRY": {
"name": "Hey ! Listen !"
},
"FRESH_START": {
"name": "Du premier coup !",
"description": "Terminer un challenge « Nouveau départ »."
}
}

View File

@ -9,16 +9,19 @@
"description": "Récolter un total de {{moneyAmount}} ₽." "description": "Récolter un total de {{moneyAmount}} ₽."
}, },
"10K_MONEY": { "10K_MONEY": {
"name": "Épargnant" "name": "Épargnant",
"name_female": "Épargnante"
}, },
"100K_MONEY": { "100K_MONEY": {
"name": "Je possède des thunes" "name": "Je possède des thunes"
}, },
"1M_MONEY": { "1M_MONEY": {
"name": "Banquier" "name": "Banquier",
"name_female": "Banquière"
}, },
"10M_MONEY": { "10M_MONEY": {
"name": "Évadé fiscal" "name": "Évadé fiscal",
"name_female": "Évadée fiscale"
}, },
"DamageAchv": { "DamageAchv": {
"description": "Infliger {{damageAmount}} de dégâts en un coup." "description": "Infliger {{damageAmount}} de dégâts en un coup."
@ -27,19 +30,23 @@
"name": "Caïd" "name": "Caïd"
}, },
"1000_DMG": { "1000_DMG": {
"name": "Boxeur" "name": "Boxeur",
"name_female": "Boxeuse"
}, },
"2500_DMG": { "2500_DMG": {
"name": "Distributeur de pains" "name": "Distributeur de pains",
"name_female": "Distributrice de pains"
}, },
"10000_DMG": { "10000_DMG": {
"name": "One Punch Man" "name": "One Punch Man",
"name_female": "One Punch Woman"
}, },
"HealAchv": { "HealAchv": {
"description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité,\nun talent ou un objet tenu." "description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité,\nun talent ou un objet tenu."
}, },
"250_HEAL": { "250_HEAL": {
"name": "Infirmier" "name": "Infirmier",
"name_female": "Infirmière"
}, },
"1000_HEAL": { "1000_HEAL": {
"name": "Médecin" "name": "Médecin"
@ -66,19 +73,24 @@
"description": "Accumuler un total de {{ribbonAmount}} Rubans." "description": "Accumuler un total de {{ribbonAmount}} Rubans."
}, },
"10_RIBBONS": { "10_RIBBONS": {
"name": "Maitre de la Ligue" "name": "Maitre de la Ligue",
"name_female": "Maitresse de la Ligue"
}, },
"25_RIBBONS": { "25_RIBBONS": {
"name": "Super Maitre de la Ligue" "name": "Super Maitre de la Ligue",
"name_female": "Super Maitresse de la Ligue"
}, },
"50_RIBBONS": { "50_RIBBONS": {
"name": "Hyper Maitre de la Ligue" "name": "Hyper Maitre de la Ligue",
"name_female": "Hyper Maitresse de la Ligue"
}, },
"75_RIBBONS": { "75_RIBBONS": {
"name": "Rogue Maitre de la Ligue" "name": "Rogue Maitre de la Ligue",
"name_female": "Rogue Maitresse de la Ligue"
}, },
"100_RIBBONS": { "100_RIBBONS": {
"name": "Master Maitre de la Ligue" "name": "Master Maitre de la Ligue",
"name_female": "Master Maitresse de la Ligue"
}, },
"TRANSFER_MAX_BATTLE_STAT": { "TRANSFER_MAX_BATTLE_STAT": {
"name": "Travail déquipe", "name": "Travail déquipe",
@ -130,6 +142,7 @@
}, },
"SHINY_PARTY": { "SHINY_PARTY": {
"name": "Shasseur", "name": "Shasseur",
"name_female": "Shasseuse",
"description": "Avoir une équipe exclusivement composée de Pokémon chromatiques." "description": "Avoir une équipe exclusivement composée de Pokémon chromatiques."
}, },
"HATCH_MYTHICAL": { "HATCH_MYTHICAL": {
@ -158,6 +171,7 @@
}, },
"CLASSIC_VICTORY": { "CLASSIC_VICTORY": {
"name": "Invaincu", "name": "Invaincu",
"name_female": "Invaincue",
"description": "Terminer le jeu en mode Classique." "description": "Terminer le jeu en mode Classique."
}, },
"UNEVOLVED_CLASSIC_VICTORY": { "UNEVOLVED_CLASSIC_VICTORY": {
@ -260,5 +274,9 @@
"FRESH_START": { "FRESH_START": {
"name": "Du premier coup !", "name": "Du premier coup !",
"description": "Terminer un challenge « Nouveau départ »." "description": "Terminer un challenge « Nouveau départ »."
},
"INVERSE_BATTLE": {
"name": "La teuté à verlan",
"description": "Terminer un challenge en Combat Inversé.\nMineter un lenjcha en Ba-con Versin."
} }
} }

View File

@ -25,5 +25,12 @@
"desc": "Vous ne pouvez choisir que les starters de base du jeu, comme si vous le recommenciez.", "desc": "Vous ne pouvez choisir que les starters de base du jeu, comme si vous le recommenciez.",
"value.0": "Non", "value.0": "Non",
"value.1": "Oui" "value.1": "Oui"
},
"inverseBattle": {
"name": "Combat Inversé",
"shortName": "Inversé",
"desc": "Les affinités de la table des types sont inversées et plus aucun type na dimmunité.\nDésactive les succès des autres challenges.",
"value.0": "Non",
"value.1": "Oui"
} }
} }

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -16,14 +15,10 @@ import bgmName from "./bgm-name.json";
import biome from "./biome.json"; import biome from "./biome.json";
import challenges from "./challenges.json"; import challenges from "./challenges.json";
import commandUiHandler from "./command-ui-handler.json"; import commandUiHandler from "./command-ui-handler.json";
import dialogueMale from "./dialogue-male.json"; import dialogue from "./dialogue.json";
import dialogueFemale from "./dialogue-female.json"; import battleSpecDialogue from "./dialogue-final-boss.json";
import dialogueEndbossMale from "./dialogue-final-boss-male.json"; import miscDialogue from "./dialogue-misc.json";
import dialogueEndbossFemale from "./dialogue-final-boss-female.json"; import doubleBattleDialogue from "./dialogue-double-battle.json";
import dialogueMiscMale from "./dialogue-misc-male.json";
import dialogueMiscFemale from "./dialogue-misc-female.json";
import dialogueDoubleBattleMale from "./dialogue-double-battle-male.json";
import dialogueDoubleBattleFemale from "./dialogue-double-battle-female.json";
import egg from "./egg.json"; import egg from "./egg.json";
import fightUiHandler from "./fight-ui-handler.json"; import fightUiHandler from "./fight-ui-handler.json";
import filterBar from "./filter-bar.json"; import filterBar from "./filter-bar.json";
@ -76,16 +71,11 @@ export const frConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale, dialogue,
PGMdialogue: dialogueMale, battleSpecDialogue,
PGFdialogue: dialogueFemale, miscDialogue,
PGMbattleSpecDialogue: dialogueEndbossMale, doubleBattleDialogue,
PGFbattleSpecDialogue: dialogueEndbossFemale,
PGMmiscDialogue: dialogueMiscMale,
PGFmiscDialogue: dialogueMiscFemale,
PGMdoubleBattleDialogue: dialogueDoubleBattleMale,
PGFdoubleBattleDialogue: dialogueDoubleBattleFemale,
egg, egg,
fightUiHandler, fightUiHandler,
filterBar, filterBar,

View File

@ -1,82 +0,0 @@
{
"blue_red_double": {
"encounter": {
"1": "Blue : Hé Red, montrons-lui de quel bois on se chauffe !\n$Red : …\n$Blue : Voilà la puissance du Bourg Palette !"
},
"victory": {
"1": "Blue : Cétait un magnifique combat !\n$Red : …"
}
},
"red_blue_double": {
"encounter": {
"1": "Red : … !\n$Blue : Il est pas très loquace.\n$Blue : Mais ne te laisse pas avoir, ça reste un Maitre Pokémon !"
},
"victory": {
"1": "Red : … !\n$Blue : La prochaine fois, on va te battre !"
}
},
"tate_liza_double": {
"encounter": {
"1": "Lévy : Héhéhé… Tu en fais une drôle de tête.\n$Tatia : Tu ne tattendais pas à rencontrer deux Champions, nest-ce pas ?\n$Lévy : Nous sommes des jumeaux !\n$Tatia : Nous navons pas besoin de parler entre nous !\n$Lévy : Tu crois pouvoir briser…\n$Tatia : … Notre duo parfait ?"
},
"victory": {
"1": "Lévy : Quoi ? Notre combinaison était parfaite !\n$Tatia : Nous avons encore besoin dentrainement…"
}
},
"liza_tate_double": {
"encounter": {
"1": "Tatia : Hihih… Si tu voyais ta tête !\n$Lévy : Oui, nous sommes deux Champions en un !\n$Tatia : Voici mon frère, Lévy…\n$Lévy : … Et ma sœur, Tatia !\n$Tatia : Tu ne penses pas que notre combinaison est parfaite ?"
},
"victory": {
"1": "Tatia : Quoi ? Notre combinaison…\n$Lévy : … a échoué !"
}
},
"wallace_steven_double": {
"encounter": {
"1": "Pierre R. : Marc, montrons-lui la puissance des Maitres !\n$Marc : Tu vas gouter au pouvoir de Hoenn !\n$Pierre R. : Cest parti !"
},
"victory": {
"1": "Pierre R. : Cétait un beau combat !\n$Marc : Ce sera notre tour la prochaine fois !"
}
},
"steven_wallace_double": {
"encounter": {
"1": "Pierre R. : Excuse-moi, aurais-tu des Pokémon rares ?\n$Marc : Pierre… Nous sommes là pour nous battre, pas pour frimer avec nos Pokémon.\n$Pierre R. : Oh… Je vois… Commençons alors !"
},
"victory": {
"1": "Pierre R. : Bien, maintenant que ce combat est clos, montrons-nous nos Pokémon !\n$Marc : Pierre…"
}
},
"alder_iris_double": {
"encounter": {
"1": "Goyah : Nous sommes lélite des Dresseurs dUnys !\n$Iris : Rien de mieux que des combats contre des prodiges !"
},
"victory": {
"1": "Goyah : INCROYABLE ! Tes trop doué !\n$Iris : On gagnera la prochaine fois !"
}
},
"iris_alder_double": {
"encounter": {
"1": "Iris : Bienvenue, Dresseur ! Je suis LA Maitresse dUnys !\n$Goyah : Iris, concentre-toi sil te plait…"
},
"victory": {
"1": "Iris : On a tout donné et pourtant…\n$Goyah : Cette défaite ne pourra que nous être bénéfique !"
}
},
"piers_marnie_double": {
"encounter": {
"1": "Rosemary : Frérot, montrons-lui la puissance de Smashings !\n$Peterson : Nous sommes les ténèbres !"
},
"victory": {
"1": "Rosemary : Tas amené la lumière dans les ténèbres !\n$Peterson : Ptêtre un peu trop…"
}
},
"marnie_piers_double": {
"encounter": {
"1": "Peterson : Chauds pour un concert ?\n$Rosemary : Frérot… Elle est pas là pour chanter, mais se battre…"
},
"victory": {
"1": "Peterson : Ça cest du rock !\n$Rosemary : Frérot…"
}
}
}

View File

@ -73,7 +73,8 @@
}, },
"marnie_piers_double": { "marnie_piers_double": {
"encounter": { "encounter": {
"1": "Peterson : Chauds pour un concert ?\n$Rosemary : Frérot… Il est pas là pour chanter, mais se battre…" "1": "Peterson : Chauds pour un concert ?\n$Rosemary : Frérot… Il est pas là pour chanter, mais se battre…",
"1_female": "Peterson : Chauds pour un concert ?\n$Rosemary : Frérot… Elle est pas là pour chanter, mais se battre…"
}, },
"victory": { "victory": {
"1": "Peterson : Ça cest du rock !\n$Rosemary : Frérot…" "1": "Peterson : Ça cest du rock !\n$Rosemary : Frérot…"

View File

@ -1,577 +0,0 @@
{
"youngster": {
"encounter": {
"1": "Hé ! Combat ?",
"2": "Toi aussi tu débutes ?",
"3": "Hé, jme souviens pas de ta tête. Combat !",
"4": "Jai perdu, alors jessaye de capturer dautres Pokémon.\nHé, tas lair faible toi ! Allez, combat !",
"5": "On sconnait ? Jai comme un doute. Dans tous les cas, sympa de te rencontrer !",
"6": "Allez, cest parti !",
"7": "Attention, me voilà !\nTu vas voir comment jsuis fort !",
"8": "Coucou… Tu veux voir mes bô Pokémon ?",
"9": "Trève de mondanités. Ramène-toi quand tu le sens !",
"10": "Baisse pas ta garde si tu veux pas pleurer davoir perdu face à un gamin.",
"11": "Jai tout donné pour élever mes Pokémon. Attention à toi si tu leur fait du mal !",
"12": "Incroyable que ty sois parvenue ! Mais la suite va pas être une partie de plaisir.",
"13": "Les combats sont éternels ! Bienvenue dans un monde sans fin !"
},
"victory": {
"1": "Hé, mais tes trop forte !",
"2": "En vrai javais aucune chance hein ?",
"3": "Jte retrouverai un jour, et là jte battrai !",
"4": "Arg… Jai plus aucun Pokémon.",
"5": "Non… IMPOSSIBLE ! Pourquoi jai encore perdu…",
"6": "Non ! Jai perdu !",
"7": "Waah ! Tes trop incroyable ! Jsuis bouche bée !",
"8": "Pourquoi… Comment… Pourtant on est les plus forts, mes Pokémon et moi…",
"9": "Jperdrai pas la prochaine fois ! Remettons ça un jour !",
"10": "Weeeesh ! Tu vois que jsuis quun gamin ? Cest pas juste de me bully comme ça !",
"11": "Tes Pokémon sont trop incroyables !\n… Ptit échange ?",
"12": "Je me suis fait un peu aider plus tôt, mais de quel taf je parlais ?",
"13": "Ahaha ! Et voilà, ça y est !\nTes déjà comme chez toi dans ce monde !"
}
},
"lass": {
"encounter": {
"1": "Affrontons-nous, daccord ?",
"2": "Tas lair dune nouvelle Dresseuse. Battons nous !",
"3": "Je te connais pas. Ça te dis de te battre ?",
"4": "Prenons du bon temps avec ce combat Pokémon !",
"5": "Je vais tapprendre à te battre avec tes Pokémon !",
"6": "Un combat doit toujours être pris au sérieux.\nTes prête à te battre ?",
"7": "Tu seras pas jeune éternellement. Tas quune chance pendant un combat. Bientôt, tu seras plus quun souvenir.",
"8": "Tu ferais mieux dy aller doucement avec moi. Mais je vais me battre sérieusement !",
"9": "Je mennuie à lécole. Ya rien à y faire. *Baille*\nJe me bats juste pour passer le temps."
},
"victory": {
"1": "Wah, cétait impressionnant ! Jai encore beaucoup à apprendre.",
"2": "Je pensais pas que je perdrais comme ça…",
"3": "Jespère que jaurai ma revanche un jour.",
"4": "Cétait super amusant ! Mais ce combat ma épuisée…",
"5": "Tu mas appris une belle leçon ! Tes vraiment incroyable !",
"6": "Vraiment ? Jai perdu… ? Cest des choses qui arrivent, ça me déprime mais tes vraiment très cool.",
"7": "Jai pas besoin de ce genre de souvenirs.\n*Suppression de mémoire en cours…*",
"8": "Hé ! Je tavais dit dy aller doucement avec moi ! Mais tes vraiment si cool quand tu te bats sérieusement…",
"9": "Jen ai marre des combats Pokémon…\nJe vais chercher dautres trucs à faire…"
}
},
"breeder": {
"encounter": {
"1": "Quils soient obéissants ou égoïstes… Les Pokémon ont des caractéristiques uniques.",
"2": "Même si mes choix et ma personnalité ne sont pas fous, je pense quand même bien avoir élevé mes Pokémon.",
"3": "Hum, tes pas trop laxiste avec tes Pokémon ?\nTrop les chouchouter nest pas bon."
},
"victory": {
"1": "Il est primordial de nourir et développer toutes les caractéristiques de chaque Pokémon.",
"2": "Contrairement à moi, ces Pokémon ont un bon fond.",
"3": "Trop déloges peut ruiner les Pokémon et les gens."
},
"defeat": {
"1": "Tu ne devrais pas ténerver sur tes Pokémon, même après une défaite.",
"2": "Alors ? Pas mal mes Pokémon, hein ? Je suis fait pour ça.",
"3": "Peu importe à quel point taimes tes Pokémon, il faut toujours de la discipline sils se comportent mal."
}
},
"breeder_female": {
"encounter": {
"1": "Les Pokémon ne trahissent jamais. Ils te rendront toujours lamour que tu leur donne.",
"2": "Puis-je te donner une astuce pour mieux élever tes Pokémon ?",
"3": "Jai élevé mes Pokémon en utilisant une méthode très spéciale."
},
"victory": {
"1": "Arg… Cétait pas supposé se passer comme ça. Leur ai-je administré la mauvaise préparation ?",
"2": "Comment ça a pu arriver…\nAvec quoi nourris-tu tes Pokémon ?",
"3": "Si je perds, cest juste pour te dire que je tuais le temps. Mon ego nest absolument pas touché…"
},
"defeat": {
"1": "Cest la preuve que mes Pokémon reconnaissent tout mon amour.",
"2": "Le seul secret derrière des Pokémon bien entrainés, cest surtout den capturer des bons.",
"3": "La force des Pokémon dépend de ta capacité à savoir les élever correctement."
}
},
"fisherman": {
"encounter": {
"1": "Aaah non ! Javais une touche !\nTu comptes faire quoi pour arranger ça ?",
"2": "Bouge de là ! Tu fais peur aux Pokémon !",
"3": "Voyons si tarrives à ferrer une victoire !"
},
"victory": {
"1": "Vas-y là, oublie.",
"2": "La prochaine fois, je vais me repêcher !",
"3": "Je présume que jai sous-estimé les courants…"
}
},
"fisherman_female": {
"encounter": {
"1": "Oh la belle prise !",
"2": "Ma ligne est en place, prête à ferrer le succès !",
"3": "Prête à faire des vagues !"
},
"victory": {
"1": "Je suppose que je vais avoir besoin dun plus gros hameçon.",
"2": "La ligne sest brisée, jai pas pu la ferrer…",
"3": "Attends que jaiguise mes hameçons pour la revanche !"
}
},
"swimmer": {
"encounter": {
"1": "Cest lheure de plonger dans le vif !",
"2": "Cest le moment de surfer sur les vagues de la victoire !",
"3": "Je vais téclabousser de mon talent !"
},
"victory": {
"1": "Tu mas complètement séché",
"2": "Il semblerait que ce soit celles de la défaite…",
"3": "Retour sur la terre ferme je suppose"
}
},
"backpacker": {
"encounter": {
"1": "Fais ton sac, on y va !",
"2": "Voyons si tarrives à garder le rythme !",
"3": "Accélère le pas, camarade !",
"4": "Jai passé 20 ans à la recherche de moi-même…\nMais où suis-je ?"
},
"victory": {
"1": "Jai trébuché !",
"2": "Ah, je crois que je me suis paumé.",
"3": "Ah, une impasse !",
"4": "Hé ! Attends une seconde…\nTu saurais pas qui je suis ?"
}
},
"ace_trainer": {
"encounter": {
"1": "Tas lair plutôt confiante.",
"2": "Tes Pokémon… Montre-les-moi…",
"3": "Les gens pensent que je suis fort par que je suis un Topdresseur.",
"4": "Tes au courant de ce que ça signifie dêtre un Topdresseur ?"
},
"victory": {
"1": "Très bien… Tas de bons Pokémon…",
"2": "Quoi ?! Mais cest moi le génie des combats !",
"3": "Évidemment que tes le personnage principal !",
"4": "OK ! OK ! Tu pourrais être une Topdresseuse !"
},
"defeat": {
"1": "Je me dévoue corps et âme aux combats Pokémon !",
"2": "Comme prévu… Vraiment aucune surprise…",
"3": "Et moi qui pensais quen grandissant, jallais rester frêle et fragile, à me briser à la moindre étreinte.",
"4": "Évidemment que je suis fort et encore moins un perdant. Cest important de gagner avec grâce."
}
},
"parasol_lady": {
"encounter": {
"1": "Honorons ce terrain de combat avec élégance et équilibre !"
},
"victory": {
"2": "Mon élégance demeure inébranlable !"
}
},
"rocket_grunt": {
"encounter": {
"1": "Nous sommes de retour !",
"2": "Ça bosse dur, ici ! Alors du balai !",
"3": "File-nous tes Pokémon ou tu vas gouter à la colère de la Team Rocket !",
"4": "Sois témoin de ce quest une vraie terreur de la Team Rocket!",
"5": "Hé gamine ! Moi être guy member of la Team Rocket !"
},
"victory": {
"1": "Une fois de plus la Team Rocket senvole vers dautres cieux !",
"2": "Mince! Jai laissé tomber\nla Clé Ascenseur !",
"3": "Jai tout foiré !",
"4": "Mes compagnons vont me venger !",
"5": "Toi dire quoi ? Forget que tu mas vu !\nYou nas rien seen !"
}
},
"magma_grunt": {
"encounter": {
"1": "Nespère pas recevoir de la pitié si tu te mets sur le chemin de la Team Magma !",
"2": "Ne te mêle pas de nos affaires ! On va rendre ce monde meilleur !",
"3": "Hors de mon chemin ! La Team Magma na pas de temps pour les gamins !",
"4": "Jespère que tas quelques marshmallows, car ça va chauffer !",
"5": "On va utiliser le puissance dun volcan ! Ça va être… explosif ! Tu las… ? Héhé !"
},
"victory": {
"1": "Je…?\nJai perdu ?!",
"2": "Je peux pas croire que jai pas pris mon déjeuner juste pour ça…",
"3": "Impossible ! Tes quune gosse !",
"4": "Aahhh…\nJaurais dû directement rentrer à la planque…",
"5": "Tu mas démoli… Tu crois que le boss va suspendre mon salaire ?"
}
},
"aqua_grunt": {
"encounter": {
"1": "Aucune pitié si tu te mets sur le chemin de la Team Aqua, même pour un gamin !",
"2": "Grrr…\nTu as eu le culot de topposer à la Team Aqua !",
"3": "Je vais te liquéfier !\nEt ce sera pas quà cause des mes Pokémon Eau !",
"4": "Nous, la Team Aqua, existons pour le bien commun !",
"5": "Prépare-toi à te faire emporter par le courant de…\nEuh… Mes Pokémon ! Oui, mes Pokémon !"
},
"victory": {
"1": "Comment ça ?",
"2": "Ah, javais pas prévu dêtre gêné par un mouflet qui se mêle de tout !",
"3": "Jai perdu ?! Super, jai plus quà nager jusquà la planque maintenant…",
"4": "Oh non quelle angoisse…\nLe boss va me démonter…",
"5": "Je suis battu… Tu penses que le boss va me faire subir le supplice de la planche ?…"
}
},
"galactic_grunt": {
"encounter": {
"1": "Ne te mets pas en travers de la Team Galaxie !",
"2": "Sois témoin de la puissance de notre technologie et du futur qui se profile !",
"3": "Au nom de la Team Galaxie, jéliminerai quiconque se mettera sur notre route !",
"4": "Prépare ta défaite !",
"5": "Jespère que tes prête à te prendre une raclée de lespace !"
},
"victory": {
"1": "Désactivation…",
"2": "Cet échec nest quune poussière face à nos ambitions débordantes.",
"3": "Notre projet est bien plus important que cette défaite.",
"4": "Comment ?!",
"5": "Note à moi-même :\nMentrainer aux combats Pokémon. Ça urge…"
}
},
"plasma_grunt": {
"encounter": {
"1": "Pas de quatiers à ceux qui ne suivent pas notre idéal !",
"2": "Si je gagne, tu relâches tous tes Pokémon !",
"3": "Si tu te mets en travers de la Team Plasma, je moccuperai de toi personnellement !",
"4": "La Team Plasma va libérer les Pokémon de tous les humains égoïstes dans ton genre !",
"5": "Nos coupes sont lunaires… Mais en combat ?\nTu vas vite le découvrir."
},
"victory": {
"1": "Plasmaaaaaaaaa !",
"2": "Comment ai-je pu perdre…",
"3": "… Ce Pokémon est nul, jvais aller en voler de meilleurs !",
"4": "Les plans ambitieux connaissent toujours leurs lots dinterruptions.",
"5": "Cest mauvais… MAUVAIS MAUVAIS MAUVAIS MAUVAIS !\nVa falloir battre en retraite, cest la méga cata !"
}
},
"flare_grunt": {
"encounter": {
"1": "Tes Pokémon ne sont pas dignes de lélégance de la Team Flare.",
"2": "Tas des lunettes de soleil jespère ?\nCar prépare-toi à être éblouie !",
"3": "La Team Flare va purifier ce monde de toute imperfection !",
"4": "Prépare-toi à découvrir lindiscutable sens du style de la Team Flare !",
"5": "La mode, cest important !"
},
"victory": {
"1": "Mon futur na pas lair si radieux.",
"2": "Les combats semblent être plus complexes que je le pensais.\nRetour aux planches à dessin.",
"3": "Ehhhh ?! Jai perdu ?!",
"4": "Même dans la défaite, lélégance de la Team Flare continue de rayonner sur ce monde.",
"5": "Jappelle pas ça perdre, jappelle ça échouer avec panache !"
}
},
"rocket_boss_giovanni_1": {
"encounter": {
"1": "Bien. Je dois admettre que je suis impressionné de te voir ici !"
},
"victory": {
"1": "QUOI ? IMPOSSIBLE !"
},
"defeat": {
"1": "Retiens bien. Ton incapacité à évaluer ta propre force est\nla démonstration claire que tu nes encore quune gamine."
}
},
"rocket_boss_giovanni_2": {
"encounter": {
"1": "Mes anciens collaborateurs mattendent.\nComptes-tu men empêcher ?"
},
"victory": {
"1": "Comment cest possible… ? Le grand dessein de la Team Rocket nest plus quune illusion…"
},
"defeat": {
"1": "La Team Rocket renaitra, et je dominerai le monde !"
}
},
"magma_boss_maxie_1": {
"encounter": {
"1": "Je vais tenterrer de mes propres mains.\nJespère que tapprécieras cet honneur !"
},
"victory": {
"1": "Gnn… ! Tu… Tas du répondant…\nCe sentiment dêtre à la traine, de si peu…"
},
"defeat": {
"1": "La Team Magma vaincra !"
}
},
"magma_boss_maxie_2": {
"encounter": {
"1": "Tes le dernier rempart entravant mes objectifs.\nPrépare-toi à mon ultime riposte ! Hahahaha !"
},
"victory": {
"1": "Ce… Ce nest pas… Gnn…"
},
"defeat": {
"1": "Lheure est venue…\nJe vais transformer cette planète en paradis pour lhumanité."
}
},
"aqua_boss_archie_1": {
"encounter": {
"1": "Je suis le Leader de la Team Aqua.\nJai bien peur que pour toi, ce soit fin de parcours."
},
"victory": {
"1": "Retrouvons-nous.\nJe me souviendrai de ton visage."
},
"defeat": {
"1": "Magnifique !\nPlus rien ne peut nous retenir !"
}
},
"aqua_boss_archie_2": {
"encounter": {
"1": "Jai attendu ce moment depuis si longtemps.\nVoici la vraie puissance de la Team Aqua !"
},
"victory": {
"1": "Comme si jy avait cru…"
},
"defeat": {
"1": "Je rendrai à ce monde sa pureté originelle !"
}
},
"galactic_boss_cyrus_1": {
"encounter": {
"1": "Tu tes sentie obligée de venir ici dans un acte vide de sens. Je vais te le faire regretter."
},
"victory": {
"1": "Intéressant. Et plutôt curieux."
},
"defeat": {
"1": "Je le créerai, mon nouveau monde…"
}
},
"galactic_boss_cyrus_2": {
"encounter": {
"1": "Nous y revoilà. Il semblerait que nos destinées soient entremêlées. Il est lheure dy mettre un terme."
},
"victory": {
"1": "Comment. Comment ?\nCOMMENT ?!"
},
"defeat": {
"1": "Adieu."
}
},
"plasma_boss_ghetsis_1": {
"encounter": {
"1": "Je naccepterai pas quon me barre la route !\nPeu importe qui fait quoi !"
},
"victory": {
"1": "Comment ? Je suis le leader de la Team Plasma !\nJe suis parfait !"
},
"defeat": {
"1": "Je suis le parfait monarque dun monde parfait !\nHahaha !"
}
},
"plasma_boss_ghetsis_2": {
"encounter": {
"1": "Viens ! Je veux voir ton visage à linstant même où lespoir quittera ton corps !"
},
"victory": {
"1": "Mes calculs… Non ! Mes plans étaient parfaits !\nCe monde devrait être mien !"
},
"defeat": {
"1": "Kyurem ! Fusiorption !!!"
}
},
"flare_boss_lysandre_1": {
"encounter": {
"1": "Comptes-tu marrêter ? Prouve-le."
},
"victory": {
"1": "Tes venu marrêter. Mais je te demande dattendre."
},
"defeat": {
"1": "Les Pokémon… Ne devraient plus exister."
}
},
"brock": {
"encounter": {
"1": "Mon expertise des types Roche va te mettre au sol ! En garde !",
"2": "Tu veux toujours te battre avec moi ? Même en sachant que tu vas perdre ?",
"3": "Laisse-moi de montrer la véritable force de mes Pokémon Roche !"
},
"victory": {
"1": "Jétais trop sûr de moi, cest pour ça que jai perdu.",
"2": "Ce monde est vaste ! Je suis honoré davoir pu taffronter.",
"3": "Peut-être bien que je naurais pas dû abandonner ma vocation dÉleveur…"
},
"defeat": {
"1": "La défense est la meilleure des attaques !\nTelle est ma méthode !",
"2": "Viens étudier des roches avec moi la prochaine fois si tu veux apprendre à mieux les aborder !",
"3": "Tout ce temps à voyager autour du monde paie enfin !"
}
},
"misty": {
"encounter": {
"1": "Ma tactique ? Attaquer avec des Pokémon Eau !",
"2": "Je vais te prouver le tsunami que sont mes Pokémon aquatiques !",
"3": "Mon rêve, cétait de voyager et de défier des Dresseurs super forts. Seras-tu à la hauteur ?"
},
"victory": {
"1": "OK. Tes pas naze… Je le reconnais…",
"2": "Pfff… Tas juste eu de la chance hein ?!",
"3": "Ouah ! Tes super balèze !"
},
"defeat": {
"1": "Quen dis-tu? Cest ça, la puissance des Pokémon Eau !",
"2": "Jespère que tas pris note des élégantes techniques de nage de mes Pokémon !",
"3": "Tes Pokémon ne jouent visiblement pas dans le même bassin…"
}
},
"lt_surge": {
"encounter": {
"1": "Tas pas froid aux yeux, soldat ! Les combats Pokémon, cest la guerre !",
"2": "Tu as du guts pour venir me fight ici ! Je vais te shock !",
"3": "Compte tes dents, tu vas morfler !\nMes Pokémon Électrik vont tatomiser !"
},
"victory": {
"1": "Whoo ! Tiras loin toi.",
"2": "Oh noes ! Mes tricks électriques sont à plat…\nYou are very fortiche!",
"3": "Tu es very costaud ! Je vais training very dur mes Pokémon, moi too, et on sera Number One !"
},
"defeat": {
"1": "Oh yeah !\nMes Pokémon Électrik sont les best du monde !",
"2": "Oh yeah, baby ! I am trop fort !",
"3": "Une combat Pokémon, cest comme une guerre et tas eu droit à une bataille de premier ordre !"
}
},
"erika": {
"encounter": {
"1": "Il fait beau, aujourdhui, nest-ce pas… ?\nQuoi un combat… ? Très bien…",
"2": "Larrangement floral est ma spécialité, et mes Pokémon sont de type Plante. Quoi ? Tu veux te battre ?",
"3": "Il fait beau… Le soleil brille… Les plantes bourgeonnent… Je mennuie…",
"4": "Voir un tel jardin rempli de fleurs est si apaisant…"
},
"victory": {
"1": "Bien joué, cest mértié.",
"2": "Dommage, on samusait si bien…",
"3": "Oh non, le combat est terminé…",
"4": "Aaah, ça fait du bien !\nMerci, jen avais besoin."
},
"defeat": {
"1": "Jai failli mendormir…",
"2": "Oh non… Mes Pokémon Plante ont lair de tavoir bien endormie…",
"3": "Ce combat était si apaisant…",
"4": "Oh non… Cest tout ?"
}
},
"flare_boss_lysandre_2": {
"encounter": {
"1": "Ton futur ou le mien…\nVoyons lequel mérite plus daboutir."
},
"victory": {
"1": "Ohhhh… !"
},
"defeat": {
"1": "Les ignorants sans aucune vision nauront donc de cesse de souiller ce monde."
}
},
"rival": {
"encounter": {
"1": "@c{smile}Ah, te voilà ! Je tai cherchée partout ! Je savais que tétais pressée de partir, mais je mattendais quand même à un au revoir…\n$@c{smile_eclosed}Tas finalement décidé de réaliser ton rêve ?\nJai peine à y croire.\n$@c{serious_smile_fists}Vu que tes là, ça te dis un petit combat ?\nJe voudrais quand même massurer que tes prête.\n$@c{serious_mopen_fists}Surtout ne te retiens pas et donne-moi tout ce que tas !"
},
"victory": {
"1": "@c{shock}Wah… Tu mas vraiment lavé.\nTes vraiment une débutante ?\n$@c{smile}Tas peut-être eu de la chance, mais…\nPeut-être que tarriveras jusquau bout du chemin.\n$Dailleurs, le prof ma demandé de te filer ces objets.\nIls ont lair sympas.\n$@c{serious_smile_fists}Bonne chance à toi !"
}
},
"rival_female": {
"encounter": {
"1": "@c{smile_wave}Ah, je te cherchais ! Je tai cherchée partout !\n@c{angry_mopen}On oublie de dire au revoir à sa meilleure amie ?\n$@c{smile_ehalf}Tas décidé de réaliser ton rêve, hein ?\nCe jour est donc vraiment arrivé…\n$@c{smile}Je veux bien te pardonner de mavoir oubliée,\nà une conditon. @c{smile_wave_wink}Que tu maffronte !\n$@c{angry_mopen}Donne tout ! Ce serait dommage que ton aventure finisse avant davoir commencé, hein ?"
},
"victory": {
"1": "@c{shock}Tu viens de commencer et tes déjà si forte ?!@d{96}\n@c{angry}Tas triché non ? Avoue !\n$@c{smile_wave_wink}Jdéconne !@d{64} @c{smile_eclosed}Jai perdu dans les règles…\nJai le sentiment que tu vas très bien ten sortir.\n$@c{smile}Dailleurs, le prof veut que je te donne ces quelques objets. Ils te seront utiles, pour sûr !\n$@c{smile_wave}Fais de ton mieux, comme toujours !\nJe crois fort en toi !"
}
},
"rival_2": {
"encounter": {
"1": "@c{smile}Hé, toi aussi tes là ?\n@c{smile_eclosed}Toujours invaincue, hein… ?\n$@c{serious_mopen_fists}Je sais que jai lair de tavoir suivie ici, mais cest pas complètement vrai.\n$@c{serious_smile_fists}Pour être honnête, ça me démangeait davoir une revanche depuis que tu mas battu.\n$Je me suis beaucoup entrainé, alors sois sure que je vais pas retenir mes coups cette fois.\n$@c{serious_mopen_fists}Et comme la dernière fois, ne te retiens pas !\nCest parti !"
},
"victory": {
"1": "@c{neutral_eclosed}Oh. Je crois que jai trop pris la confiance.\n$@c{smile}Pas grave, cest OK. Je me doutais que ça arriverait.\n@c{serious_mopen_fists}Je vais juste devoir encore plus mentrainer !\n\n$@c{smile}Ah, et pas que taies réellement besoin daide, mais jai ça en trop sur moi qui pourrait tintéresser.\n\n$@c{serious_smile_fists}Mais nespère plus en avoir dautres !\nJe peux pas passer mon temps à aider mon adversaire.\n$@c{smile}Bref, prends soin de toi et profite bien de lévènement !"
}
},
"rival_2_female": {
"encounter": {
"1": "@c{smile_wave}Hé, sympa de te croiser ici. Tas toujours lair invaincue. @c{angry_mopen}Eh… Pas mal !\n$@c{angry_mopen}Je sais à quoi tu penses et non, je tespionne pas.\n@c{smile_eclosed}Cest juste que jétais aussi dans le coin.\n$@c{smile_ehalf}Heureuse pour toi, mais je veux juste te rappeler que cest pas grave de perdre parfois.\n$@c{smile}On apprend de nos erreurs, souvent plus que si on ne connaissait que le succès.\n$@c{angry_mopen}Dans tous les cas je me suis bien entrainée pour cette revanche, tas intérêt à tout donner !"
},
"victory": {
"1": "@c{neutral}Je… Jétais pas encore supposée perdre…\n$@c{smile}Bon. Ça veut juste dire que je vais devoir encore plus mentrainer !\n$@c{smile_wave}Jai aussi ça en rab pour toi !\n@c{smile_wave_wink}Inutile de me remercier ~.\n$@c{angry_mopen}Cétait le dernier, terminé les cadeaux après celui-là !\n$@c{smile_wave}Allez, tiens le coup et profite bien de lévènement !"
},
"defeat": {
"1": "Je suppose que cest parfois normal de perdre…"
}
},
"rival_3": {
"encounter": {
"1": "@c{smile}Hé, mais qui voilà ! Ça fait un bail.\n@c{neutral}Tes… toujours invaincue ? Incroyable.\n$@c{neutral_eclosed}Tout est devenu un peu… étrange.\nCest plus pareil sans toi au village.\n$@c{serious}Je sais que cest égoïste, mais jai besoin dexpier ça.\n@c{neutral_eclosed}Je crois que tout ça te dépasse.\n$@c{serious}Ne jamais perdre, cest juste irréaliste.\nGrandir, cest parfois aussi savoir perdre.\n$@c{neutral_eclosed}Tas un beau parcours, mais il y a encore tellement à venir et ça va pas sarranger. @c{neutral}Tes prête pour ça ?\n$@c{serious_mopen_fists}Si tu les, alors prouve-le."
},
"victory": {
"1": "@c{angry_mhalf}Cest lunaire… Jai presque fait que mentrainer…\nAlors pourquoi il y a encore un tel écart entre nous ?"
}
},
"rival_3_female": {
"encounter": {
"1": "@c{smile_wave}Ça fait une éternité ! Toujours debout hein ?\n@c{angry}Tu commences à me pousser à bout là. @c{smile_wave_wink}Tinquiètes jdéconne !\n$@c{smile_ehalf}Mais en vrai, ta maison te manque pas ? Ou… Moi ?\nJ… Je veux dire… Tu me manques vraiment beaucoup.\n$@c{smile_eclosed}Je te soutiendrai toujours dans tes ambitions, mais la vérité est que tu finiras par perdre un jour ou lautre.\n$@c{smile}Quand ça arrivera, je serai là pour toi, comme toujours.\n@c{angry_mopen}Maintenant, montre-moi à quel point tes devenue forte !"
},
"victory": {
"1": "@c{shock}Après tout ça… Ça te suffit toujours pas… ?\nTu reviendras jamais à ce rythme…"
},
"defeat": {
"1": "Tas fait de ton mieux.\nAllez, rentrons à la maison."
}
},
"rival_4": {
"encounter": {
"1": "@c{neutral}Hé.\n$Je vais pas y aller par quatre chemins avec toi.\n@c{neutral_eclosed}Je suis là pour gagner. Simple, basique.\n$@c{serious_mhalf_fists}Jai appris à maximiser tout mon potentiel en mentrainant darrachepied.\n$@c{smile}Cest fou tout le temps que tu peux te dégager si tu dors pas en sacrifiant ta vie sociale.\n$@c{serious_mopen_fists}Plus rien na dimportance désormais, pas tant que jaurai pas gagné.\n$@c{neutral_eclosed}Jai atteint un stade où je ne peux plus perdre.\n@c{smile_eclosed}Je présume que ta philosophie était pas si fausse finalement.\n$@c{angry_mhalf}La défaite, cest pour les faibles, et je ne suis plus un faible.\n$@c{serious_mopen_fists}Tiens-toi prête."
},
"victory": {
"1": "@c{neutral}Que…@d{64} Qui es-tu ?"
}
},
"rival_4_female": {
"encounter": {
"1": "@c{neutral}Cest moi ! Tu mas pas encore oubliée… nest-ce pas ?\n$@c{smile}Tu devrais être fière dêtre arrivée aussi loin. GG !\nMais cest certainement pas la fin de ton aventure.\n$@c{smile_eclosed}Tas éveillé en moi quelque chose que jignorais.\nTout mon temps passe dans lentrainement.\n$@c{smile_ehalf}Je dors et je mange à peine, je mentraine juste tous les jours, et deviens de plus en plus forte.\n$@c{neutral}En vrai, Je… Jai de la peine à me reconnaitre.\n$Mais maintenant, je suis au top de mes capacités.\nJe doute que tu sois de nouveau capable de me battre.\n$Et tu sais quoi ? Tout ça, cest de ta faute.\n@c{smile_ehalf}Et jignore si je dois te remercier ou te haïr.\n$@c{angry_mopen}Tiens-toi prête."
},
"victory": {
"1": "@c{neutral}Que…@d{64} Qui es-tu ?"
},
"defeat": {
"1": "$@c{smile}Tu devrais être fière dêtre arrivé jusque là."
}
},
"rival_5": {
"encounter": {
"1": "@c{neutral}…"
},
"victory": {
"1": "@c{neutral}…"
}
},
"rival_5_female": {
"encounter": {
"1": "@c{neutral}…"
},
"victory": {
"1": "@c{neutral}…"
},
"defeat": {
"1": "$@c{smile_ehalf}…"
}
},
"rival_6": {
"encounter": {
"1": "@c{smile_eclosed}Nous y revoilà.\n$@c{neutral}Jai eu du temps pour réfléchir à tout ça.\nIl y a une raison à pourquoi tout semble étrange.\n$@c{neutral_eclosed}Ton rêve, ma volonté de te battre…\nFont partie de quelque chose de plus grand.\n$@c{serious}Cest même pas à propos de moi, ni de toi… Mais du monde, @c{serious_mhalf_fists}et te repousser dans tes limites est ma mission.\n$@c{neutral_eclosed}Jignore si je serai capable de laccomplir, mais je ferai tout ce qui est en mon pouvoir.\n$@c{neutral}Cet endroit est terrifiant… Et pourtant il ma lair familier, comme si jy avais déjà mis les pieds.\n$@c{serious_mhalf_fists}Tu ressens la même chose, pas vrai ?\n$@c{serious}… et cest comme si quelque chose ici me parlait.\n$Comme si cétait tout ce que ce monde avait toujours connu.\n$Ces précieux moments ensemble semblent si proches ne sont rien de plus quun lointain souvenir.\n$@c{neutral_eclosed}Dailleurs, qui peut dire aujourdhui quils ont pu être réels ?\n$@c{serious_mopen_fists}Il faut que tu persévères. Si tu tarrêtes, ça naura jamais de fin et tes la seule à en être capable.\n$@c{serious_smile_fists}Difficile de comprendre le sens de tout ça, je sais juste que cest la réalité.\n$@c{serious_mopen_fists}Si tu ne parviens à pas me battre ici et maintenant, tu nas aucune chance."
},
"victory": {
"1": "@c{smile_eclosed}Jai fait ce que javais à faire.\n$Promets-moi juste une chose.\n@c{smile}Après avoir réparé ce monde… Rentre à la maison."
}
},
"rival_6_female": {
"encounter": {
"1": "@c{smile_ehalf}Cest donc encore entre toi et moi.\n$@c{smile_eclosed}Tu sais, jai beau retouner ça dans tous les sens…\n$@c{smile_ehalf}Quelque chose peut expliquer tout ça, pourquoi tout semble si étrange…\n$@c{smile}Tas tes rêves, jai mes ambitions…\n$Jai juste le sentiment quil y a un grand dessein derrière tout ça, derrière ce quon fait toi et moi.\n$@c{smile_eclosed}Je crois que mon but est de… repousser tes limites.\n$@c{smile_ehalf}Je suis pas certaine de bien être douée à cet exercice, mais je fais de mon mieux.\n$Cet endroit épouvantable cache quelque chose détrange… Tout semble si limpide…\n$Comme… si cétait tout ce que ce monde avait toujours connu.\n$@c{smile_eclosed}Jai le sentiment que nos précieux moments ensemble sont devenus si flous.\n$@c{smile_ehalf}Ont-ils au moins été réels ? Tout semble si loin maintenant…\n$@c{angry_mopen}Il faut que tu persévères. Si tu tarrêtes, ça naura jamais de fin et tes le seul à en être capable.\n$@c{smile_ehalf}Je… jignore le sens de tout ça… Mais je sais que cest la réalité.\n$@c{neutral}Si tu ne parviens pas à me battre ici et maintenant, tu nas aucune chance."
},
"victory": {
"1": "@c{smile_ehalf}Je… Je crois que jai rempli ma mission…\n$@c{smile_eclosed}Promets-moi… Après avoir réparé ce monde… Reviens à la maison saine et sauve.\n$@c{smile_ehalf}… Merci."
}
}
}

View File

@ -1,5 +0,0 @@
{
"encounter": "Une fois de plus, te revoilà.\nSais-tu que ce nest point là ta première venue ?\n$Tu as été appelée ici parce que ty es déjà venue.\nUn nombre inimaginable de fois.\n$Mais allons-y, faisons le décompte.\nTu en es très précisément à ton {{cycleCount}}e cycle.\n$Chaque cycle réinitialise ton souvenir du précédent.\nMais étrangement, des bribes subsistent en toi.\n$Jusquà maintenant, tu as toujours échoué. Mais je ressens quelque chose de différent cette fois-ci.\n\n$Tu es la seule présence ici, bien que jai le sentiment den ressentir… une autre.\n$Vas-tu enfin me livrer un affrontement digne de ce nom ?\nCe challenge dont je rêve depuis un millénaire ?\n$Commençons.",
"firstStageWin": "Je vois. Cette présence était bien réelle.\nJe nai donc plus besoin de retenir mes coups.\n$Ne me déçoit pas.",
"secondStageWin": "… Magnifique."
}

View File

@ -1,5 +1,6 @@
{ {
"encounter": "Une fois de plus, te revoilà.\nSais-tu que ce nest point là ta première venue ?\n$Tu as été appelé ici parce que ty es déjà venu.\nUn nombre inimaginable de fois.\n$Mais allons-y, faisons le décompte.\nTu en es très précisément à ton {{cycleCount}}e cycle.\n$Chaque cycle réinitialise ton souvenir du précédent.\nMais étrangement, des bribes subsistent en toi.\n$Jusquà maintenant, tu as toujours échoué. Mais je ressens quelque chose de différent cette fois-ci.\n\n$Tu es la seule présence ici, bien que jai le sentiment den ressentir… une autre.\n$Vas-tu enfin me livrer un affrontement digne de ce nom ?\nCe challenge dont je rêve depuis un millénaire ?\n$Commençons.", "encounter": "Une fois de plus, te revoilà.\nSais-tu que ce nest point là ta première venue ?\n$Tu as été appelé ici parce que ty es déjà venu.\nUn nombre inimaginable de fois.\n$Mais allons-y, faisons le décompte.\nTu en es très précisément à ton {{cycleCount}}e cycle.\n$Chaque cycle réinitialise ton souvenir du précédent.\nMais étrangement, des bribes subsistent en toi.\n$Jusquà maintenant, tu as toujours échoué. Mais je ressens quelque chose de différent cette fois-ci.\n\n$Tu es la seule présence ici, bien que jai le sentiment den ressentir… une autre.\n$Vas-tu enfin me livrer un affrontement digne de ce nom ?\nCe challenge dont je rêve depuis un millénaire ?\n$Commençons.",
"encounter_female": "Une fois de plus, te revoilà.\nSais-tu que ce nest point là ta première venue ?\n$Tu as été appelée ici parce que ty es déjà venue.\nUn nombre inimaginable de fois.\n$Mais allons-y, faisons le décompte.\nTu en es très précisément à ton {{cycleCount}}e cycle.\n$Chaque cycle réinitialise ton souvenir du précédent.\nMais étrangement, des bribes subsistent en toi.\n$Jusquà maintenant, tu as toujours échoué. Mais je ressens quelque chose de différent cette fois-ci.\n\n$Tu es la seule présence ici, bien que jai le sentiment den ressentir… une autre.\n$Vas-tu enfin me livrer un affrontement digne de ce nom ?\nCe challenge dont je rêve depuis un millénaire ?\n$Commençons.",
"firstStageWin": "Je vois. Cette présence était bien réelle.\nJe nai donc plus besoin de retenir mes coups.\n$Ne me déçoit pas.", "firstStageWin": "Je vois. Cette présence était bien réelle.\nJe nai donc plus besoin de retenir mes coups.\n$Ne me déçoit pas.",
"secondStageWin": "… Magnifique." "secondStageWin": "… Magnifique."
} }

View File

@ -1,4 +0,0 @@
{
"ending": "@c{smile}Oh ? Tas gagné ?@d{96} @c{smile_eclosed}Jaurais dû le savoir.\nMais de voilà de retour.\n$@c{smile}Cest terminé.@d{64} Tas brisé ce cycle infernal.\n$@c{serious_smile_fists}Tas aussi accompli ton rêve non ?\nTu nas pas connu la moindre défaite.\n$@c{neutral}Je suis le seul à me souvenir de ce que tas fait.@d{96}\nJe pense que ça ira, non ?\n$@c{serious_smile_fists}Ta légende vivra à jamais dans nos cœurs.\n$@c{smile_eclosed}Bref, jen ai un peu marre de ce endroit, pas toi ? Rentrons à la maison.\n$@c{serious_smile_fists}On se fera un ptit combat une fois rentrés ?\nSi tes daccord.",
"ending_female": "@c{shock}Tes revenu ?@d{32} Ça veut dire…@d{96} que tas gagné ?!\n@c{smile_ehalf}Jaurais dû le savoir.\n$@c{smile_eclosed}Bien sûr… Jai toujours eu ce sentiment.\n@c{smile}Cest fini maitenant hein ? Tas brisé ce cycle.\n$@c{smile_ehalf}Tas aussi accompli ton rêve non ?\nTu nas pas connu la moindre défaite.\n$Je serai la seule à me souvenir de ce que tas fait.\n@c{angry_mopen}Je tâcherai de ne pas oublier !\n$@c{smile_wave_wink}Jdéconne !@d{64} @c{smile}Jamais joublierai.@d{32}\nTa légende vivra à jamais dans nos cœurs.\n$@c{smile_wave}Bon,@d{64} il se fait tard…@d{96} je crois ?\nDifficile à dire ici.\n$Rentrons, @c{smile_wave_wink}et demain on se fera un ptit combat, comme au bon vieux temps ?"
}

View File

@ -13,10 +13,12 @@
"10": "Baisse pas ta garde si tu veux pas pleurer davoir perdu face à un gamin.", "10": "Baisse pas ta garde si tu veux pas pleurer davoir perdu face à un gamin.",
"11": "Jai tout donné pour élever mes Pokémon. Attention à toi si tu leur fait du mal !", "11": "Jai tout donné pour élever mes Pokémon. Attention à toi si tu leur fait du mal !",
"12": "Incroyable que ty sois parvenu ! Mais la suite va pas être une partie de plaisir.", "12": "Incroyable que ty sois parvenu ! Mais la suite va pas être une partie de plaisir.",
"12_female": "Incroyable que ty sois parvenue ! Mais la suite va pas être une partie de plaisir.",
"13": "Les combats sont éternels ! Bienvenue dans un monde sans fin !" "13": "Les combats sont éternels ! Bienvenue dans un monde sans fin !"
}, },
"victory": { "victory": {
"1": "Hé, mais tes trop fort !", "1": "Hé, mais tes trop fort !",
"1_female": "Hé, mais tes trop forte !",
"2": "En vrai javais aucune chance hein ?", "2": "En vrai javais aucune chance hein ?",
"3": "Jte retrouverai un jour, et là jte battrai !", "3": "Jte retrouverai un jour, et là jte battrai !",
"4": "Arg… Jai plus aucun Pokémon.", "4": "Arg… Jai plus aucun Pokémon.",
@ -35,10 +37,12 @@
"encounter": { "encounter": {
"1": "Affrontons-nous, daccord ?", "1": "Affrontons-nous, daccord ?",
"2": "Tas lair dun nouveau Dresseur. Battons nous !", "2": "Tas lair dun nouveau Dresseur. Battons nous !",
"2_female": "Tas lair dune nouvelle Dresseuse. Battons nous !",
"3": "Je te connais pas. Ça te dis de te battre ?", "3": "Je te connais pas. Ça te dis de te battre ?",
"4": "Prenons du bon temps avec ce combat Pokémon !", "4": "Prenons du bon temps avec ce combat Pokémon !",
"5": "Je vais tapprendre à te battre avec tes Pokémon !", "5": "Je vais tapprendre à te battre avec tes Pokémon !",
"6": "Un combat doit toujours être pris au sérieux.\nTes prêt à te battre ?", "6": "Un combat doit toujours être pris au sérieux.\nTes prêt à te battre ?",
"6_female": "Un combat doit toujours être pris au sérieux.\nTes prête à te battre ?",
"7": "Tu seras pas jeune éternellement. Tas quune chance pendant un combat. Bientôt, tu seras plus quun souvenir.", "7": "Tu seras pas jeune éternellement. Tas quune chance pendant un combat. Bientôt, tu seras plus quun souvenir.",
"8": "Tu ferais mieux dy aller doucement avec moi. Mais je vais me battre sérieusement !", "8": "Tu ferais mieux dy aller doucement avec moi. Mais je vais me battre sérieusement !",
"9": "Je mennuie à lécole. Ya rien à y faire. *Baille*\nJe me bats juste pour passer le temps." "9": "Je mennuie à lécole. Ya rien à y faire. *Baille*\nJe me bats juste pour passer le temps."
@ -46,10 +50,12 @@
"victory": { "victory": {
"1": "Wah, cétait impressionnant ! Jai encore beaucoup à apprendre.", "1": "Wah, cétait impressionnant ! Jai encore beaucoup à apprendre.",
"2": "Je ne pensais pas que je perdrais comme ça…", "2": "Je ne pensais pas que je perdrais comme ça…",
"2_female": "Je pensais pas que je perdrais comme ça…",
"3": "Jespère que jaurai ma revanche un jour.", "3": "Jespère que jaurai ma revanche un jour.",
"4": "Cétait super amusant ! Mais ce combat ma épuisée…", "4": "Cétait super amusant ! Mais ce combat ma épuisée…",
"5": "Tu mas appris une belle leçon ! Tes vraiment incroyable !", "5": "Tu mas appris une belle leçon ! Tes vraiment incroyable !",
"6": "Vraiment ? Jai perdu… ? Cest des choses qui arrivent, ça me déprime mais tu es vraiment très cool.", "6": "Vraiment ? Jai perdu… ? Cest des choses qui arrivent, ça me déprime mais tu es vraiment très cool.",
"6_female": "Vraiment ? Jai perdu… ? Cest des choses qui arrivent, ça me déprime mais tes vraiment très cool.",
"7": "Jai pas besoin de ce genre de souvenirs.\n*Suppression de mémoire en cours…*", "7": "Jai pas besoin de ce genre de souvenirs.\n*Suppression de mémoire en cours…*",
"8": "Hé ! Je tavais dit dy aller doucement avec moi ! Mais tes vraiment si cool quand tu te bats sérieusement…", "8": "Hé ! Je tavais dit dy aller doucement avec moi ! Mais tes vraiment si cool quand tu te bats sérieusement…",
"9": "Jen ai marre des combats Pokémon…\nJe vais chercher dautres trucs à faire…" "9": "Jen ai marre des combats Pokémon…\nJe vais chercher dautres trucs à faire…"
@ -142,6 +148,7 @@
"ace_trainer": { "ace_trainer": {
"encounter": { "encounter": {
"1": "Tas lair plutôt confiant.", "1": "Tas lair plutôt confiant.",
"1_female": "Tas lair plutôt confiante.",
"2": "Tes Pokémon… Montre-les-moi…", "2": "Tes Pokémon… Montre-les-moi…",
"3": "Les gens pensent que je suis fort par que je suis un Topdresseur.", "3": "Les gens pensent que je suis fort par que je suis un Topdresseur.",
"4": "Tes au courant de ce que ça signifie dêtre un Topdresseur ?" "4": "Tes au courant de ce que ça signifie dêtre un Topdresseur ?"
@ -150,7 +157,8 @@
"1": "Très bien… Tas de bons Pokémon…", "1": "Très bien… Tas de bons Pokémon…",
"2": "Quoi ?! Mais cest moi le génie des combats !", "2": "Quoi ?! Mais cest moi le génie des combats !",
"3": "Évidemment que tes le personnage principal !", "3": "Évidemment que tes le personnage principal !",
"4": "OK ! OK ! Tu pourrais être un Topdresseur !" "4": "OK ! OK ! Tu pourrais être un Topdresseur !",
"4_female": "OK ! OK ! Tu pourrais être une Topdresseuse !"
}, },
"defeat": { "defeat": {
"1": "Je me dévoue corps et âme aux combats Pokémon !", "1": "Je me dévoue corps et âme aux combats Pokémon !",
@ -164,7 +172,7 @@
"1": "Honorons ce terrain de combat avec élégance et équilibre !" "1": "Honorons ce terrain de combat avec élégance et équilibre !"
}, },
"victory": { "victory": {
"2": "Mon élégance demeure inébranlable !" "1": "Mon élégance demeure inébranlable !"
} }
}, },
"rocket_grunt": { "rocket_grunt": {
@ -173,7 +181,8 @@
"2": "Ça bosse dur, ici ! Alors du balai !", "2": "Ça bosse dur, ici ! Alors du balai !",
"3": "File-nous tes Pokémon ou tu vas gouter à la colère de la Team Rocket !", "3": "File-nous tes Pokémon ou tu vas gouter à la colère de la Team Rocket !",
"4": "Sois témoin de ce quest une vraie terreur de la Team Rocket!", "4": "Sois témoin de ce quest une vraie terreur de la Team Rocket!",
"5": "Hé gamin ! Moi être guy member of la Team Rocket !" "5": "Hé gamin ! Moi être guy member of la Team Rocket !",
"5_female": "Hé gamine ! Moi être guy member of la Team Rocket !"
}, },
"victory": { "victory": {
"1": "Une fois de plus la Team Rocket senvole vers dautres cieux !", "1": "Une fois de plus la Team Rocket senvole vers dautres cieux !",
@ -195,6 +204,7 @@
"1": "Je…?\nJai perdu ?!", "1": "Je…?\nJai perdu ?!",
"2": "Je peux pas croire que jai pas pris mon déjeuner juste pour ça…", "2": "Je peux pas croire que jai pas pris mon déjeuner juste pour ça…",
"3": "Impossible ! Tes quun gosse !", "3": "Impossible ! Tes quun gosse !",
"3_female": "Impossible ! Tes quune gosse !",
"4": "Aahhh…\nJaurais dû directement rentrer à la planque…", "4": "Aahhh…\nJaurais dû directement rentrer à la planque…",
"5": "Tu mas démoli… Tu crois que le boss va suspendre mon salaire ?" "5": "Tu mas démoli… Tu crois que le boss va suspendre mon salaire ?"
} }
@ -221,7 +231,8 @@
"2": "Sois témoin de la puissance de notre technologie et du futur qui se profile !", "2": "Sois témoin de la puissance de notre technologie et du futur qui se profile !",
"3": "Au nom de la Team Galaxie, jéliminerai quiconque se mettera sur notre route !", "3": "Au nom de la Team Galaxie, jéliminerai quiconque se mettera sur notre route !",
"4": "Prépare ta défaite !", "4": "Prépare ta défaite !",
"5": "Jespère que tes prêt à te prendre une raclée de lespace !" "5": "Jespère que tes prêt à te prendre une raclée de lespace !",
"5_female": "Jespère que tes prête à te prendre une raclée de lespace !"
}, },
"victory": { "victory": {
"1": "Désactivation…", "1": "Désactivation…",
@ -251,6 +262,7 @@
"encounter": { "encounter": {
"1": "Tes Pokémon ne sont pas dignes de lélégance de la Team Flare.", "1": "Tes Pokémon ne sont pas dignes de lélégance de la Team Flare.",
"2": "Tas des lunettes de soleil jespère ?\nCar prépare-toi à être ébloui !", "2": "Tas des lunettes de soleil jespère ?\nCar prépare-toi à être ébloui !",
"2_female": "Tas des lunettes de soleil jespère ?\nCar prépare-toi à être éblouie !",
"3": "La Team Flare va purifier ce monde de toute imperfection !", "3": "La Team Flare va purifier ce monde de toute imperfection !",
"4": "Prépare-toi à découvrir lindiscutable sens du style de la Team Flare !", "4": "Prépare-toi à découvrir lindiscutable sens du style de la Team Flare !",
"5": "La mode, cest important !" "5": "La mode, cest important !"
@ -271,7 +283,8 @@
"1": "QUOI ? IMPOSSIBLE !" "1": "QUOI ? IMPOSSIBLE !"
}, },
"defeat": { "defeat": {
"1": "Retiens bien. Ton incapacité à évaluer ta propre force est\nla démonstration claire que tu nes encore quun gamin." "1": "Retiens bien. Ton incapacité à évaluer ta propre force est\nla démonstration claire que tu nes encore quun gamin.",
"1_female": "Retiens bien. Ton incapacité à évaluer ta propre force est\nla démonstration claire que tu nes encore quune gamine."
} }
}, },
"rocket_boss_giovanni_2": { "rocket_boss_giovanni_2": {
@ -331,7 +344,8 @@
}, },
"galactic_boss_cyrus_1": { "galactic_boss_cyrus_1": {
"encounter": { "encounter": {
"1": "Tu tes senti obligé de venir ici dans un acte vide de sens. Je vais te le faire regretter." "1": "Tu tes senti obligé de venir ici dans un acte vide de sens. Je vais te le faire regretter.",
"1_female": "Tu tes sentie obligée de venir ici dans un acte vide de sens. Je vais te le faire regretter."
}, },
"victory": { "victory": {
"1": "Intéressant. Et plutôt curieux." "1": "Intéressant. Et plutôt curieux."
@ -462,6 +476,7 @@
"defeat": { "defeat": {
"1": "Jai failli mendormir…", "1": "Jai failli mendormir…",
"2": "Oh non… Mes Pokémon Plante ont lair de tavoir bien endormi…", "2": "Oh non… Mes Pokémon Plante ont lair de tavoir bien endormi…",
"2_female": "Oh non… Mes Pokémon Plante ont lair de tavoir bien endormie…",
"3": "Ce combat était si apaisant…", "3": "Ce combat était si apaisant…",
"4": "Oh non… Cest tout ?" "4": "Oh non… Cest tout ?"
} }

View File

@ -1,15 +1,15 @@
{ {
"victory": "Victoire !", "victory": "Victoire !",
"defeatedWildM": "Battu par ", "defeatedWild": "Battu par ",
"defeatedTrainerM": "Battu par ", "defeatedTrainer": "Battu par ",
"defeatedTrainerDoubleM": "Battu par Duo", "defeatedTrainerDouble": "Battu par Duo",
"defeatedRivalM": "Battu par Rivale", "defeatedRival": "Battu par Rivale",
"defeatedM": "Vaincu", "defeated": "Vaincu",
"defeatedWildF": "Battue par ", "defeatedWild_female": "Battue par ",
"defeatedTrainerF": "Battue par ", "defeatedTrainer_female": "Battue par ",
"defeatedTrainerDoubleF": "Battue par Duo", "defeatedTrainerDouble_female": "Battue par Duo",
"defeatedRivalF": "Battue par Rival", "defeatedRival_female": "Battue par Rival",
"defeatedF": "Vaincue", "defeated_female": "Vaincue",
"luck": "Chance ", "luck": "Chance ",
"score": "Score", "score": "Score",
"mode": "Mode ", "mode": "Mode ",
@ -30,8 +30,8 @@
"money": "Argent", "money": "Argent",
"runLength": "Durée session ", "runLength": "Durée session ",
"viewHeldItems": "Objets tenus", "viewHeldItems": "Objets tenus",
"hallofFameTextM": "Bienvenue au Panthéon !", "hallofFameText": "Bienvenue au Panthéon !",
"hallofFameTextF": "Bienvenue au Panthéon !", "hallofFameText_female": "Bienvenue au Panthéon !",
"viewHallOfFame": "Voir le Panthéon", "viewHallOfFame": "Voir le Panthéon",
"viewEndingSplash": "Voir lillustration\nde fin" "viewEndingSplash": "Voir lillustration\nde fin"
} }

View File

@ -1,264 +0,0 @@
{
"Achievements": {
"name": "Obiettivi"
},
"Locked": {
"name": "Bloccato"
},
"MoneyAchv": {
"description": "Accumula {{moneyAmount}} PokéDollari"
},
"10K_MONEY": {
"name": "Benestante"
},
"100K_MONEY": {
"name": "Ricco"
},
"1M_MONEY": {
"name": "Milionario"
},
"10M_MONEY": {
"name": "La numero uno"
},
"DamageAchv": {
"description": "Infliggi {{damageAmount}} danni in un colpo"
},
"250_DMG": {
"name": "Grandi danni!"
},
"1000_DMG": {
"name": "Incredibili danni"
},
"2500_DMG": {
"name": "Danni a palate!"
},
"10000_DMG": {
"name": "One Punch Man"
},
"HealAchv": {
"description": "Cura {{healAmount}} {{HP}} tramite mossa, abilità, o oggetto"
},
"250_HEAL": {
"name": "Paramedico"
},
"1000_HEAL": {
"name": "Dottore"
},
"2500_HEAL": {
"name": "Chierico"
},
"10000_HEAL": {
"name": "Mastro Curatore"
},
"LevelAchv": {
"description": "Porta un pokémon a Lv{{level}}"
},
"LV_100": {
"name": "E Non Finisce Qui!"
},
"LV_250": {
"name": "Elite"
},
"LV_1000": {
"name": "Verso l'Infinito ed Oltre!"
},
"RibbonAchv": {
"description": "Accumula un Totale di {{ribbonAmount}} Nastri"
},
"10_RIBBONS": {
"name": "Campione Lega Pokémon"
},
"25_RIBBONS": {
"name": "Campione Lega Estesa"
},
"50_RIBBONS": {
"name": "Campione Lega Ultra"
},
"75_RIBBONS": {
"name": "Campione Lega Rogue"
},
"100_RIBBONS": {
"name": "Campione Lega Assoluta"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "Lavoro di Squadra",
"description": "Trasferisci almeno sei bonus statistiche tramite staffetta"
},
"MAX_FRIENDSHIP": {
"name": "Amiconi",
"description": "Raggiungi amicizia massima con un Pokémon"
},
"MEGA_EVOLVE": {
"name": "Megamorfosi",
"description": "Megaevolvi un Pokémon"
},
"GIGANTAMAX": {
"name": "Grosso e Cattivo",
"description": "Ottieni una gigamax"
},
"TERASTALLIZE": {
"name": "STAB Per Tutti",
"description": "Teracristallizza un Pokémon"
},
"STELLAR_TERASTALLIZE": {
"name": "Tipo Segreto",
"description": "Teracristallizza un Pokémon stellare"
},
"SPLICE": {
"name": "Fusione Infinita",
"description": "Fondi due Pokémon insieme tramite cuneo DNA"
},
"MINI_BLACK_HOLE": {
"name": "Universo di Oggetti",
"description": "Ottieni un Mini Buco Nero"
},
"CATCH_MYTHICAL": {
"name": "Mitico",
"description": "Cattura un Pokémon mitico"
},
"CATCH_SUB_LEGENDARY": {
"name": "(Semi)Leggendario",
"description": "Cattura un Pokémon semileggendario"
},
"CATCH_LEGENDARY": {
"name": "Leggendario",
"description": "Cattura un Pokémon leggendario"
},
"SEE_SHINY": {
"name": "Cromatico",
"description": "Trova un Pokémon shiny in natura"
},
"SHINY_PARTY": {
"name": "Dedizione Totale",
"description": "Riempi la squadra di Pokémon shiny"
},
"HATCH_MYTHICAL": {
"name": "Uovo Mitico",
"description": "Schiudi l'uovo di un Pokémon mitico"
},
"HATCH_SUB_LEGENDARY": {
"name": "Uovo (Semi)Leggendario",
"description": "Schiudi l'uovo di un Pokémon semileggendario"
},
"HATCH_LEGENDARY": {
"name": "Uovo Leggendario",
"description": "Schiudi l'uovo di un Pokémon leggendario"
},
"HATCH_SHINY": {
"name": "Uovo Cromatico",
"description": "Schiudi l'uovo di un Pokémon shiny"
},
"HIDDEN_ABILITY": {
"name": "Potenziale Nascosto",
"description": "Cattura un Pokémon con abilità nascosta"
},
"PERFECT_IVS": {
"name": "Certificato di Autenticità",
"description": "Ottieni un Pokémon con IV perfetti"
},
"CLASSIC_VICTORY": {
"name": "Imbattuto",
"description": "Vinci in modalità classica"
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "Alternanza scuola-lavoro",
"description": "Completa la modalità classica con almeno un membro della squadra non evoluto completamente."
},
"MONO_GEN_ONE": {
"name": "Rivale Originale",
"description": "Completa la modalità sfida di prima generazione."
},
"MONO_GEN_TWO": {
"name": "Generazione 1.5",
"description": "Completa la modalità sfida di seconda generazione."
},
"MONO_GEN_THREE": {
"name": "Troppa Acqua?",
"description": "Completa la modalità sfida di terza generazione."
},
"MONO_GEN_FOUR": {
"name": "È Davvero La Più Forte?",
"description": "Completa la modalità sfida di quarta generazione."
},
"MONO_GEN_FIVE": {
"name": "Tutti Originali",
"description": "Completa la modalità sfida di quinta generazione."
},
"MONO_GEN_SIX": {
"name": "Vita e Morte",
"description": "Completa la modalità sfida di sesta generazione."
},
"MONO_GEN_SEVEN": {
"name": "Troppo amichevoli?",
"description": "Completa la modalità sfida di settima generazione."
},
"MONO_GEN_EIGHT": {
"name": "It's champion time!",
"description": "Completa la modalità sfida di ottava generazione."
},
"MONO_GEN_NINE": {
"name": "Paradossalmente sbalorditivi",
"description": "Completa la modalità sfida di nona generazione."
},
"MonoType": {
"description": "Completa la modalità sfida monotipo {{type}}"
},
"MONO_NORMAL": {
"name": "Un tipo semplice"
},
"MONO_FIGHTING": {
"name": "Conosco il Kung-fu"
},
"MONO_FLYING": {
"name": "È un uccello? È un aereo?"
},
"MONO_POISON": {
"name": "I migliori di Kanto"
},
"MONO_GROUND": {
"name": "Con i piedi per terra"
},
"MONO_ROCK": {
"name": "Forte come una roccia!"
},
"MONO_BUG": {
"name": "Metodo Guzma"
},
"MONO_GHOST": {
"name": "Sono fantasmi, caro Watson"
},
"MONO_STEEL": {
"name": "Pugno di ferro"
},
"MONO_FIRE": {
"name": "Giocare col fuoco"
},
"MONO_WATER": {
"name": "Piove sul bagnato"
},
"MONO_GRASS": {
"name": "L'erba del vicino è sempre più verde"
},
"MONO_ELECTRIC": {
"name": "Elettrizzante"
},
"MONO_PSYCHIC": {
"name": "Mentalista"
},
"MONO_ICE": {
"name": "Rompere il ghiaccio"
},
"MONO_DRAGON": {
"name": "Sangue di drago"
},
"MONO_DARK": {
"name": "Solo una fase"
},
"MONO_FAIRY": {
"name": "Follettini e follettine"
},
"FRESH_START": {
"name": "Buona la prima!",
"description": "Completa la modalità sfida 'Un nuovo inizio'."
}
}

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