[Bug] Run History Not Saving Correctly (#4248)
* Fix - need to test though * New Line for Personal Best * Run History basic Interpretation * Stray console log * Added personal best message fix * argh * removed a stray log --------- Co-authored-by: frutescens <info@laptop> Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
This commit is contained in:
parent
714630c9de
commit
c4d5c923fc
|
@ -243,7 +243,7 @@ export class GameOverPhase extends BattlePhase {
|
|||
gameVersion: this.scene.game.config.gameVersion,
|
||||
timestamp: new Date().getTime(),
|
||||
challenges: this.scene.gameMode.challenges.map(c => new ChallengeData(c)),
|
||||
mysteryEncounterType: this.scene.currentBattle.mysteryEncounter?.encounterType,
|
||||
mysteryEncounterType: this.scene.currentBattle.mysteryEncounter?.encounterType ?? -1,
|
||||
mysteryEncounterSaveData: this.scene.mysteryEncounterSaveData
|
||||
} as SessionSaveData;
|
||||
}
|
||||
|
|
|
@ -281,7 +281,7 @@ class RunEntryContainer extends Phaser.GameObjects.Container {
|
|||
const genderIndex = this.scene.gameData.gender ?? PlayerGender.UNSET;
|
||||
const genderStr = PlayerGender[genderIndex].toLowerCase();
|
||||
// Defeats from wild Pokemon battles will show the Pokemon responsible by the text of the run result.
|
||||
if (data.battleType === BattleType.WILD) {
|
||||
if (data.battleType === BattleType.WILD || (data.battleType === BattleType.MYSTERY_ENCOUNTER && !data.trainer)) {
|
||||
const enemyContainer = this.scene.add.container(8, 5);
|
||||
const gameOutcomeLabel = addTextObject(this.scene, 0, 0, `${i18next.t("runHistory:defeatedWild", { context: genderStr })}`, TextStyle.WINDOW);
|
||||
enemyContainer.add(gameOutcomeLabel);
|
||||
|
@ -302,7 +302,7 @@ class RunEntryContainer extends Phaser.GameObjects.Container {
|
|||
enemy.destroy();
|
||||
});
|
||||
this.add(enemyContainer);
|
||||
} else if (data.battleType === BattleType.TRAINER) { // Defeats from Trainers show the trainer's title and name
|
||||
} else if (data.battleType === BattleType.TRAINER || (data.battleType === BattleType.MYSTERY_ENCOUNTER && data.trainer)) { // Defeats from Trainers show the trainer's title and name
|
||||
const tObj = data.trainer.toTrainer(this.scene);
|
||||
// Because of the interesting mechanics behind rival names, the rival name and title have to be retrieved differently
|
||||
const RIVAL_TRAINER_ID_THRESHOLD = 375;
|
||||
|
|
|
@ -211,7 +211,7 @@ export default class RunInfoUiHandler extends UiHandler {
|
|||
if (!this.isVictory) {
|
||||
const enemyContainer = this.scene.add.container(0, 0);
|
||||
// Wild - Single and Doubles
|
||||
if (this.runInfo.battleType === BattleType.WILD) {
|
||||
if (this.runInfo.battleType === BattleType.WILD || (this.runInfo.battleType === BattleType.MYSTERY_ENCOUNTER && !this.runInfo.trainer)) {
|
||||
switch (this.runInfo.enemyParty.length) {
|
||||
case 1:
|
||||
// Wild - Singles
|
||||
|
@ -222,7 +222,7 @@ export default class RunInfoUiHandler extends UiHandler {
|
|||
this.parseWildDoubleDefeat(enemyContainer);
|
||||
break;
|
||||
}
|
||||
} else if (this.runInfo.battleType === BattleType.TRAINER) {
|
||||
} else if (this.runInfo.battleType === BattleType.TRAINER || (this.runInfo.battleType === BattleType.MYSTERY_ENCOUNTER && this.runInfo.trainer)) {
|
||||
this.parseTrainerDefeat(enemyContainer);
|
||||
}
|
||||
this.runResultContainer.add(enemyContainer);
|
||||
|
@ -381,10 +381,6 @@ export default class RunInfoUiHandler extends UiHandler {
|
|||
break;
|
||||
case GameModes.SPLICED_ENDLESS:
|
||||
modeText.appendText(`${i18next.t("gameMode:endlessSpliced")}`, false);
|
||||
if (this.runInfo.waveIndex === this.scene.gameData.gameStats.highestEndlessWave) {
|
||||
modeText.appendText(` [${i18next.t("runHistory:personalBest")}]`, false);
|
||||
modeText.setTint(0xffef5c, 0x47ff69, 0x6b6bff, 0xff6969);
|
||||
}
|
||||
break;
|
||||
case GameModes.CHALLENGE:
|
||||
modeText.appendText(`${i18next.t("gameMode:challenge")}`, false);
|
||||
|
@ -403,17 +399,18 @@ export default class RunInfoUiHandler extends UiHandler {
|
|||
break;
|
||||
case GameModes.ENDLESS:
|
||||
modeText.appendText(`${i18next.t("gameMode:endless")}`, false);
|
||||
// If the player achieves a personal best in Endless, the mode text will be tinted similarly to SSS luck to celebrate their achievement.
|
||||
if (this.runInfo.waveIndex === this.scene.gameData.gameStats.highestEndlessWave) {
|
||||
modeText.appendText(` [${i18next.t("runHistory:personalBest")}]`, false);
|
||||
modeText.setTint(0xffef5c, 0x47ff69, 0x6b6bff, 0xff6969);
|
||||
}
|
||||
break;
|
||||
case GameModes.CLASSIC:
|
||||
modeText.appendText(`${i18next.t("gameMode:classic")}`, false);
|
||||
break;
|
||||
}
|
||||
|
||||
// If the player achieves a personal best in Endless, the mode text will be tinted similarly to SSS luck to celebrate their achievement.
|
||||
if ((this.runInfo.gameMode === GameModes.ENDLESS || this.runInfo.gameMode === GameModes.SPLICED_ENDLESS) && this.runInfo.waveIndex === this.scene.gameData.gameStats.highestEndlessWave) {
|
||||
modeText.appendText(` [${i18next.t("runHistory:personalBest")}]`);
|
||||
modeText.setTint(0xffef5c, 0x47ff69, 0x6b6bff, 0xff6969);
|
||||
}
|
||||
|
||||
// Duration + Money
|
||||
const runInfoTextContainer = this.scene.add.container(0, 0);
|
||||
// Japanese is set to a greater line spacing of 35px in addBBCodeTextObject() if lineSpacing < 12.
|
||||
|
|
Loading…
Reference in New Issue