Add summary memo text
This commit is contained in:
parent
39b31e7d6f
commit
6dc868272f
|
@ -35,9 +35,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
"version": "7.23.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz",
|
||||
"integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==",
|
||||
"version": "7.23.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz",
|
||||
"integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==",
|
||||
"dependencies": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
},
|
||||
|
@ -546,9 +546,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.11.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
|
||||
"integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
|
||||
"version": "8.11.3",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
|
||||
"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
|
@ -618,12 +618,12 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/axios": {
|
||||
"version": "1.6.3",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.3.tgz",
|
||||
"integrity": "sha512-fWyNdeawGam70jXSVlKl+SUNVcL6j6W79CuSIPfi6HnDUmSCH6gyUys/HrqHeA/wU0Az41rRgean494d0Jb+ww==",
|
||||
"version": "1.6.4",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.4.tgz",
|
||||
"integrity": "sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"follow-redirects": "^1.15.0",
|
||||
"follow-redirects": "^1.15.4",
|
||||
"form-data": "^4.0.0",
|
||||
"proxy-from-env": "^1.1.0"
|
||||
}
|
||||
|
@ -810,9 +810,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/cookies": {
|
||||
"version": "0.8.0",
|
||||
"resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
|
||||
"integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==",
|
||||
"version": "0.9.1",
|
||||
"resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz",
|
||||
"integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"depd": "~2.0.0",
|
||||
|
@ -1242,9 +1242,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/follow-redirects": {
|
||||
"version": "1.15.3",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
|
||||
"integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
|
||||
"version": "1.15.4",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz",
|
||||
"integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
@ -1738,16 +1738,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/koa": {
|
||||
"version": "2.14.2",
|
||||
"resolved": "https://registry.npmjs.org/koa/-/koa-2.14.2.tgz",
|
||||
"integrity": "sha512-VFI2bpJaodz6P7x2uyLiX6RLYpZmOJqNmoCst/Yyd7hQlszyPwG/I9CQJ63nOtKSxpt5M7NH67V6nJL2BwCl7g==",
|
||||
"version": "2.15.0",
|
||||
"resolved": "https://registry.npmjs.org/koa/-/koa-2.15.0.tgz",
|
||||
"integrity": "sha512-KEL/vU1knsoUvfP4MC4/GthpQrY/p6dzwaaGI6Rt4NQuFqkw3qrvsdYF5pz3wOfi7IGTvMPHC9aZIcUKYFNxsw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"accepts": "^1.3.5",
|
||||
"cache-content-type": "^1.0.0",
|
||||
"content-disposition": "~0.5.2",
|
||||
"content-type": "^1.0.4",
|
||||
"cookies": "~0.8.0",
|
||||
"cookies": "~0.9.0",
|
||||
"debug": "^4.3.2",
|
||||
"delegates": "^1.0.0",
|
||||
"depd": "^2.0.0",
|
||||
|
@ -2143,9 +2143,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/phaser3-rex-plugins": {
|
||||
"version": "1.60.8",
|
||||
"resolved": "https://registry.npmjs.org/phaser3-rex-plugins/-/phaser3-rex-plugins-1.60.8.tgz",
|
||||
"integrity": "sha512-akmRnNpPMP239aN91zxIEsqLIWwoFJe6BBdJEw5pgMMi/bnMY/3NpyoDfJT1thFC7Yf8rwLCBGtPF/nWXx6jAw==",
|
||||
"version": "1.60.9",
|
||||
"resolved": "https://registry.npmjs.org/phaser3-rex-plugins/-/phaser3-rex-plugins-1.60.9.tgz",
|
||||
"integrity": "sha512-3tH98Fo3boDIFwwehlGhFdpaHAK0/gLugTyaXipfVS4dyWbT7BO5LOLhcgSuGoCTgooWN020x5juMMOtttxbSw==",
|
||||
"dependencies": {
|
||||
"eventemitter3": "^3.1.2",
|
||||
"i18next": "^22.5.1",
|
||||
|
@ -2184,9 +2184,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.32",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
|
||||
"integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
|
||||
"version": "8.4.33",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
|
||||
"integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
|
|
@ -45,7 +45,9 @@ export enum Biome {
|
|||
END = 50
|
||||
};
|
||||
|
||||
export function getBiomeName(biome: Biome) {
|
||||
export function getBiomeName(biome: Biome | -1) {
|
||||
if (biome === -1)
|
||||
return 'Somewhere you can\'t remember';
|
||||
switch (biome) {
|
||||
case Biome.GRASS:
|
||||
return 'Grassy Field';
|
||||
|
|
|
@ -65,6 +65,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
public moveset: PokemonMove[];
|
||||
public status: Status;
|
||||
public friendship: integer;
|
||||
public metLevel: integer;
|
||||
public metBiome: Biome | -1;
|
||||
public pauseEvolutions: boolean;
|
||||
public pokerus: boolean;
|
||||
|
||||
|
@ -124,6 +126,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
this.moveset = dataSource.moveset;
|
||||
this.status = dataSource.status;
|
||||
this.friendship = dataSource.friendship !== undefined ? dataSource.friendship : this.species.baseFriendship;
|
||||
this.metLevel = dataSource.metLevel || 5;
|
||||
this.metBiome = dataSource.metBiome;
|
||||
this.pauseEvolutions = dataSource.pauseEvolutions;
|
||||
this.pokerus = !!dataSource.pokerus;
|
||||
this.fusionSpecies = dataSource.fusionSpecies instanceof PokemonSpecies ? dataSource.fusionSpecies : getPokemonSpecies(dataSource.fusionSpecies);
|
||||
|
@ -161,6 +165,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
this.trySetShiny();
|
||||
|
||||
this.friendship = species.baseFriendship;
|
||||
this.metLevel = level;
|
||||
this.metBiome = scene.currentBattle ? scene.arena.biomeType : -1;
|
||||
this.pokerus = false;
|
||||
|
||||
if (scene.gameMode === GameMode.SPLICED_ENDLESS) {
|
||||
|
@ -1717,15 +1723,11 @@ export default interface Pokemon {
|
|||
}
|
||||
|
||||
export class PlayerPokemon extends Pokemon {
|
||||
public metBiome: Biome;
|
||||
public metLevel: integer;
|
||||
public compatibleTms: Moves[];
|
||||
|
||||
constructor(scene: BattleScene, species: PokemonSpecies, level: integer, abilityIndex: integer, formIndex: integer, gender?: Gender, shiny?: boolean, ivs?: integer[], dataSource?: Pokemon | PokemonData) {
|
||||
super(scene, 106, 148, species, level, abilityIndex, formIndex, gender, shiny, ivs, dataSource);
|
||||
|
||||
this.metBiome = scene.arena?.biomeType || Biome.TOWN;
|
||||
this.metLevel = level;
|
||||
this.generateCompatibleTms();
|
||||
}
|
||||
|
||||
|
@ -2092,6 +2094,8 @@ export class EnemyPokemon extends Pokemon {
|
|||
|
||||
if (party.length < 6) {
|
||||
this.pokeball = pokeballType;
|
||||
this.metLevel = this.level;
|
||||
this.metBiome = this.scene.arena.biomeType;
|
||||
const newPokemon = new PlayerPokemon(this.scene, this.species, this.level, this.abilityIndex, this.formIndex, this.gender, this.shiny, null, this);
|
||||
party.push(newPokemon);
|
||||
ret = newPokemon;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { BattleType } from "../battle";
|
||||
import BattleScene from "../battle-scene";
|
||||
import { Biome } from "../data/biome";
|
||||
import { Gender } from "../data/gender";
|
||||
import { PokeballType } from "../data/pokeball";
|
||||
import { getPokemonSpecies } from "../data/pokemon-species";
|
||||
|
@ -25,6 +26,8 @@ export default class PokemonData {
|
|||
public moveset: PokemonMove[];
|
||||
public status: Status;
|
||||
public friendship: integer;
|
||||
public metLevel: integer;
|
||||
public metBiome: Biome | -1;
|
||||
public pauseEvolutions: boolean;
|
||||
public pokerus: boolean;
|
||||
|
||||
|
@ -53,6 +56,8 @@ export default class PokemonData {
|
|||
this.stats = source.stats;
|
||||
this.ivs = source.ivs;
|
||||
this.friendship = source.friendship !== undefined ? source.friendship : getPokemonSpecies(this.species).baseFriendship;
|
||||
this.metLevel = source.metLevel || 5;
|
||||
this.metBiome = source.metBiome !== undefined ? source.metBiome : -1;
|
||||
this.pauseEvolutions = !!source.pauseEvolutions;
|
||||
this.pokerus = !!source.pokerus;
|
||||
|
||||
|
|
|
@ -65,8 +65,8 @@ export abstract class FormModalUiHandler extends ModalUiHandler {
|
|||
});
|
||||
|
||||
this.errorMessage = addTextObject(this.scene, 10, (hasTitle ? 31 : 5) + 20 * (fields.length - 1) + 16, '', TextStyle.TOOLTIP_CONTENT);
|
||||
this.errorMessage.setColor(getTextColor(TextStyle.SUMMARY_RED));
|
||||
this.errorMessage.setShadowColor(getTextColor(TextStyle.SUMMARY_RED, true));
|
||||
this.errorMessage.setColor(getTextColor(TextStyle.SUMMARY_PINK));
|
||||
this.errorMessage.setShadowColor(getTextColor(TextStyle.SUMMARY_PINK, true));
|
||||
this.errorMessage.setVisible(false);
|
||||
this.modalContainer.add(this.errorMessage);
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||
this.pokemonGrowthRateLabelText.setVisible(false);
|
||||
this.starterSelectContainer.add(this.pokemonGrowthRateLabelText);
|
||||
|
||||
this.pokemonGrowthRateText = addTextObject(this.scene, 44, 103, '', TextStyle.SUMMARY_RED, { fontSize: '48px' });
|
||||
this.pokemonGrowthRateText = addTextObject(this.scene, 44, 103, '', TextStyle.SUMMARY_PINK, { fontSize: '48px' });
|
||||
this.pokemonGrowthRateText.setOrigin(0, 0);
|
||||
this.starterSelectContainer.add(this.pokemonGrowthRateText);
|
||||
|
||||
|
@ -796,8 +796,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
|||
const newValue = value + (add || 0);
|
||||
const overLimit = newValue > 10;
|
||||
this.valueLimitLabel.setText(`${newValue}/10`);
|
||||
this.valueLimitLabel.setColor(getTextColor(!overLimit ? TextStyle.TOOLTIP_CONTENT : TextStyle.SUMMARY_RED));
|
||||
this.valueLimitLabel.setShadowColor(getTextColor(!overLimit ? TextStyle.TOOLTIP_CONTENT : TextStyle.SUMMARY_RED, true));
|
||||
this.valueLimitLabel.setColor(getTextColor(!overLimit ? TextStyle.TOOLTIP_CONTENT : TextStyle.SUMMARY_PINK));
|
||||
this.valueLimitLabel.setShadowColor(getTextColor(!overLimit ? TextStyle.TOOLTIP_CONTENT : TextStyle.SUMMARY_PINK, true));
|
||||
if (overLimit) {
|
||||
this.scene.time.delayedCall(Utils.fixedInt(500), () => this.tryUpdateValue());
|
||||
return false;
|
||||
|
|
|
@ -71,7 +71,7 @@ export class StatsContainer extends Phaser.GameObjects.Container {
|
|||
let label = ivs[i].toString();
|
||||
if (this.showDiff && originalIvs) {
|
||||
if (originalIvs[i] < ivs[i])
|
||||
label += ` ([color=${getGenderColor(Gender.MALE)}]+${ivs[i] - originalIvs[i]}[/color])`;
|
||||
label += ` ([color=${getGenderColor(Gender.MALE)}][shadow=${getGenderColor(Gender.MALE, true)}]+${ivs[i] - originalIvs[i]}[/shadow][/color])`;
|
||||
else
|
||||
label += ' (-)';
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import UiHandler from "./ui-handler";
|
|||
import * as Utils from "../utils";
|
||||
import { PlayerPokemon } from "../pokemon";
|
||||
import { Type } from "../data/type";
|
||||
import { TextStyle, addTextObject, getTextColor } from "./text";
|
||||
import { TextStyle, addBBCodeTextObject, addTextObject, getBBCodeFrag, getTextColor } from "./text";
|
||||
import Move, { MoveCategory } from "../data/move";
|
||||
import { getPokeballAtlasKey } from "../data/pokeball";
|
||||
import { getGenderColor, getGenderSymbol } from "../data/gender";
|
||||
|
@ -12,6 +12,7 @@ import { getLevelTotalExp } from "../data/exp";
|
|||
import { Stat, getStatName } from "../data/pokemon-stat";
|
||||
import { PokemonHeldItemModifier } from "../modifier/modifier";
|
||||
import { StatusEffect } from "../data/status-effect";
|
||||
import { getBiomeName } from "../data/biome";
|
||||
|
||||
enum Page {
|
||||
PROFILE,
|
||||
|
@ -529,6 +530,12 @@ export default class SummaryUiHandler extends UiHandler {
|
|||
y: `-=${14.83 * (abilityDescriptionLineCount - 2)}`
|
||||
});
|
||||
}
|
||||
|
||||
let memoString = `${getBBCodeFrag(`${this.pokemon.metBiome === -1 ? 'apparently ' : ''}met at Lv`, TextStyle.WINDOW)}${getBBCodeFrag(this.pokemon.metLevel.toString(), TextStyle.SUMMARY_RED)}${getBBCodeFrag(',', TextStyle.WINDOW)}\n${getBBCodeFrag(getBiomeName(this.pokemon.metBiome), TextStyle.SUMMARY_RED)}${getBBCodeFrag('.', TextStyle.WINDOW)}`;
|
||||
|
||||
const memoText = addBBCodeTextObject(this.scene, 7, 113, memoString, TextStyle.WINDOW);
|
||||
memoText.setOrigin(0, 0);
|
||||
profileContainer.add(memoText);
|
||||
break;
|
||||
case Page.STATS:
|
||||
const statsContainer = this.scene.add.container(0, -pageBg.height);
|
||||
|
@ -619,7 +626,7 @@ export default class SummaryUiHandler extends UiHandler {
|
|||
this.extraMoveRowContainer.add(extraRowOverlay);
|
||||
|
||||
const extraRowText = addTextObject(this.scene, 35, 0, this.summaryUiMode === SummaryUiMode.LEARN_MOVE ? this.newMove.name : 'Cancel',
|
||||
this.summaryUiMode === SummaryUiMode.LEARN_MOVE ? TextStyle.SUMMARY_RED : TextStyle.SUMMARY);
|
||||
this.summaryUiMode === SummaryUiMode.LEARN_MOVE ? TextStyle.SUMMARY_PINK : TextStyle.SUMMARY);
|
||||
extraRowText.setOrigin(0, 1);
|
||||
this.extraMoveRowContainer.add(extraRowText);
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ export enum TextStyle {
|
|||
PARTY_RED,
|
||||
SUMMARY,
|
||||
SUMMARY_RED,
|
||||
SUMMARY_PINK,
|
||||
SUMMARY_GOLD,
|
||||
MONEY,
|
||||
SETTINGS_LABEL,
|
||||
|
@ -68,6 +69,7 @@ function getTextStyleOptions(style: TextStyle, extraStyleOptions?: Phaser.Types.
|
|||
switch (style) {
|
||||
case TextStyle.SUMMARY:
|
||||
case TextStyle.SUMMARY_RED:
|
||||
case TextStyle.SUMMARY_PINK:
|
||||
case TextStyle.SUMMARY_GOLD:
|
||||
case TextStyle.WINDOW:
|
||||
case TextStyle.MESSAGE:
|
||||
|
@ -105,6 +107,10 @@ function getTextStyleOptions(style: TextStyle, extraStyleOptions?: Phaser.Types.
|
|||
return [ styleOptions, shadowColor, shadowSize ];
|
||||
}
|
||||
|
||||
export function getBBCodeFrag(content: string, textStyle: TextStyle): string {
|
||||
return `[color=${getTextColor(textStyle)}][shadow=${getTextColor(textStyle, true)}]${content}[/shadow][/color]`;
|
||||
}
|
||||
|
||||
export function getTextColor(textStyle: TextStyle, shadow?: boolean): string {
|
||||
switch (textStyle) {
|
||||
case TextStyle.MESSAGE:
|
||||
|
@ -122,6 +128,8 @@ export function getTextColor(textStyle: TextStyle, shadow?: boolean): string {
|
|||
return !shadow ? '#ffffff' : '#636363';
|
||||
case TextStyle.SUMMARY_RED:
|
||||
case TextStyle.TOOLTIP_TITLE:
|
||||
return !shadow ? '#e70808' : '#ffbd73';
|
||||
case TextStyle.SUMMARY_PINK:
|
||||
return !shadow ? '#f89890' : '#984038';
|
||||
case TextStyle.SUMMARY_GOLD:
|
||||
case TextStyle.MONEY:
|
||||
|
|
Loading…
Reference in New Issue