mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-06 08:22:16 +02:00
Merge branch 'pagefaultgames:main' into color_scanner_ivs
This commit is contained in:
commit
edd5966be8
@ -138,9 +138,9 @@ export abstract class PokemonSpeciesForm {
|
|||||||
this.genderDiffs = genderDiffs;
|
this.genderDiffs = genderDiffs;
|
||||||
}
|
}
|
||||||
|
|
||||||
getRootSpeciesId(): Species {
|
getRootSpeciesId(forStarter: boolean = false): Species {
|
||||||
let ret = this.speciesId;
|
let ret = this.speciesId;
|
||||||
while (pokemonPrevolutions.hasOwnProperty(ret))
|
while (pokemonPrevolutions.hasOwnProperty(ret) && (!forStarter || !speciesStarters.hasOwnProperty(ret)))
|
||||||
ret = pokemonPrevolutions[ret];
|
ret = pokemonPrevolutions[ret];
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ import { BattleStat, getBattleStatLevelChangeDescription, getBattleStatName } fr
|
|||||||
import { biomeLinks, getBiomeName } from "./data/biomes";
|
import { biomeLinks, getBiomeName } from "./data/biomes";
|
||||||
import { Biome } from "./data/enums/biome";
|
import { Biome } from "./data/enums/biome";
|
||||||
import { ModifierTier } from "./modifier/modifier-tier";
|
import { ModifierTier } from "./modifier/modifier-tier";
|
||||||
import { FusePokemonModifierType, ModifierPoolType, ModifierType, ModifierTypeFunc, ModifierTypeOption, PokemonModifierType, PokemonMoveModifierType, RememberMoveModifierType, TmModifierType, getDailyRunStarterModifiers, getEnemyBuffModifierForWave, getModifierType, getPlayerModifierTypeOptions, getPlayerShopModifierTypeOptionsForWave, modifierTypes, regenerateModifierPoolThresholds } from "./modifier/modifier-type";
|
import { FusePokemonModifierType, ModifierPoolType, ModifierType, ModifierTypeFunc, ModifierTypeOption, PokemonModifierType, PokemonMoveModifierType, PokemonPpRestoreModifierType, PokemonPpUpModifierType, RememberMoveModifierType, TmModifierType, getDailyRunStarterModifiers, getEnemyBuffModifierForWave, getModifierType, getPlayerModifierTypeOptions, getPlayerShopModifierTypeOptionsForWave, modifierTypes, regenerateModifierPoolThresholds } from "./modifier/modifier-type";
|
||||||
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
|
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
|
||||||
import { BattlerTagLapseType, EncoreTag, HideSpriteTag as HiddenTag, ProtectedTag, TrappedTag } from "./data/battler-tags";
|
import { BattlerTagLapseType, EncoreTag, HideSpriteTag as HiddenTag, ProtectedTag, TrappedTag } from "./data/battler-tags";
|
||||||
import { BattlerTagType } from "./data/enums/battler-tag-type";
|
import { BattlerTagType } from "./data/enums/battler-tag-type";
|
||||||
@ -4340,6 +4340,7 @@ export class SelectModifierPhase extends BattlePhase {
|
|||||||
const isMoveModifier = modifierType instanceof PokemonMoveModifierType;
|
const isMoveModifier = modifierType instanceof PokemonMoveModifierType;
|
||||||
const isTmModifier = modifierType instanceof TmModifierType;
|
const isTmModifier = modifierType instanceof TmModifierType;
|
||||||
const isRememberMoveModifier = modifierType instanceof RememberMoveModifierType;
|
const isRememberMoveModifier = modifierType instanceof RememberMoveModifierType;
|
||||||
|
const isPpRestoreModifier = modifierType instanceof PokemonPpRestoreModifierType;
|
||||||
const partyUiMode = isMoveModifier ? PartyUiMode.MOVE_MODIFIER
|
const partyUiMode = isMoveModifier ? PartyUiMode.MOVE_MODIFIER
|
||||||
: isTmModifier ? PartyUiMode.TM_MODIFIER
|
: isTmModifier ? PartyUiMode.TM_MODIFIER
|
||||||
: isRememberMoveModifier ? PartyUiMode.REMEMBER_MOVE_MODIFIER
|
: isRememberMoveModifier ? PartyUiMode.REMEMBER_MOVE_MODIFIER
|
||||||
@ -4359,7 +4360,7 @@ export class SelectModifierPhase extends BattlePhase {
|
|||||||
});
|
});
|
||||||
} else
|
} else
|
||||||
this.scene.ui.setMode(Mode.MODIFIER_SELECT, this.isPlayer(), typeOptions, modifierSelectCallback, this.getRerollCost(typeOptions, this.scene.lockModifierTiers));
|
this.scene.ui.setMode(Mode.MODIFIER_SELECT, this.isPlayer(), typeOptions, modifierSelectCallback, this.getRerollCost(typeOptions, this.scene.lockModifierTiers));
|
||||||
}, pokemonModifierType.selectFilter, modifierType instanceof PokemonMoveModifierType ? (modifierType as PokemonMoveModifierType).moveSelectFilter : undefined, tmMoveId);
|
}, pokemonModifierType.selectFilter, modifierType instanceof PokemonMoveModifierType ? (modifierType as PokemonMoveModifierType).moveSelectFilter : undefined, tmMoveId, isPpRestoreModifier);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
applyModifier(modifierType.newModifier());
|
applyModifier(modifierType.newModifier());
|
||||||
|
@ -5,6 +5,7 @@ import * as Utils from "../utils";
|
|||||||
import MessageUiHandler from "./message-ui-handler";
|
import MessageUiHandler from "./message-ui-handler";
|
||||||
import { getStatName, Stat } from "../data/pokemon-stat";
|
import { getStatName, Stat } from "../data/pokemon-stat";
|
||||||
import { addWindow } from "./ui-theme";
|
import { addWindow } from "./ui-theme";
|
||||||
|
import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext";
|
||||||
|
|
||||||
export default class BattleMessageUiHandler extends MessageUiHandler {
|
export default class BattleMessageUiHandler extends MessageUiHandler {
|
||||||
private levelUpStatsContainer: Phaser.GameObjects.Container;
|
private levelUpStatsContainer: Phaser.GameObjects.Container;
|
||||||
@ -223,8 +224,9 @@ export default class BattleMessageUiHandler extends MessageUiHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getIvDescriptor(value: integer, typeIv: integer): string {
|
getIvDescriptor(value: integer, typeIv: integer): string {
|
||||||
let starterIvs: number[] = this.scene.gameData.dexData[this.scene.getEnemyPokemon().species.speciesId].ivs;
|
const starterSpecies = this.scene.getEnemyPokemon().species.getRootSpeciesId(true);
|
||||||
let uiTheme = (this.scene as BattleScene).uiTheme; // Assuming uiTheme is accessible
|
const starterIvs: number[] = this.scene.gameData.dexData[starterSpecies].ivs;
|
||||||
|
const uiTheme = (this.scene as BattleScene).uiTheme; // Assuming uiTheme is accessible
|
||||||
|
|
||||||
// Function to wrap text in color based on comparison
|
// Function to wrap text in color based on comparison
|
||||||
const coloredText = (text: string, isBetter: boolean) => {
|
const coloredText = (text: string, isBetter: boolean) => {
|
||||||
|
@ -90,6 +90,7 @@ export default class PartyUiHandler extends MessageUiHandler {
|
|||||||
private selectFilter: PokemonSelectFilter | PokemonModifierTransferSelectFilter;
|
private selectFilter: PokemonSelectFilter | PokemonModifierTransferSelectFilter;
|
||||||
private moveSelectFilter: PokemonMoveSelectFilter;
|
private moveSelectFilter: PokemonMoveSelectFilter;
|
||||||
private tmMoveId: Moves;
|
private tmMoveId: Moves;
|
||||||
|
private showMovePp: boolean;
|
||||||
|
|
||||||
private iconAnimHandler: PokemonIconAnimHandler;
|
private iconAnimHandler: PokemonIconAnimHandler;
|
||||||
|
|
||||||
@ -185,6 +186,7 @@ export default class PartyUiHandler extends MessageUiHandler {
|
|||||||
? args[4] as PokemonMoveSelectFilter
|
? args[4] as PokemonMoveSelectFilter
|
||||||
: PartyUiHandler.FilterAllMoves;
|
: PartyUiHandler.FilterAllMoves;
|
||||||
this.tmMoveId = args.length > 5 && args[5] ? args[5] : Moves.NONE;
|
this.tmMoveId = args.length > 5 && args[5] ? args[5] : Moves.NONE;
|
||||||
|
this.showMovePp = args.length > 6 && args[6];
|
||||||
|
|
||||||
this.partyContainer.setVisible(true);
|
this.partyContainer.setVisible(true);
|
||||||
this.partyBg.setTexture(`party_bg${this.scene.currentBattle.double ? '_double' : ''}`);
|
this.partyBg.setTexture(`party_bg${this.scene.currentBattle.double ? '_double' : ''}`);
|
||||||
@ -663,7 +665,14 @@ export default class PartyUiHandler extends MessageUiHandler {
|
|||||||
case PartyOption.MOVE_2:
|
case PartyOption.MOVE_2:
|
||||||
case PartyOption.MOVE_3:
|
case PartyOption.MOVE_3:
|
||||||
case PartyOption.MOVE_4:
|
case PartyOption.MOVE_4:
|
||||||
optionName = pokemon.moveset[option - PartyOption.MOVE_1].getName();
|
const move = pokemon.moveset[option - PartyOption.MOVE_1];
|
||||||
|
if(this.showMovePp) {
|
||||||
|
const maxPP = move.getMovePp();
|
||||||
|
const currPP = maxPP - move.ppUsed;
|
||||||
|
optionName = `${move.getName()} ${currPP}/${maxPP}`;
|
||||||
|
} else {
|
||||||
|
optionName = move.getName();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (formChangeItemModifiers && option >= PartyOption.FORM_CHANGE_ITEM) {
|
if (formChangeItemModifiers && option >= PartyOption.FORM_CHANGE_ITEM) {
|
||||||
|
@ -161,8 +161,9 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
|
|||||||
if (isFusion)
|
if (isFusion)
|
||||||
this.pokemonFusionShinyIcon.setTint(getVariantTint(pokemon.fusionVariant));
|
this.pokemonFusionShinyIcon.setTint(getVariantTint(pokemon.fusionVariant));
|
||||||
|
|
||||||
const originalIvs: integer[] = this.scene.gameData.dexData[pokemon.species.speciesId].caughtAttr
|
const starterSpeciesId = pokemon.species.getRootSpeciesId(true);
|
||||||
? this.scene.gameData.dexData[pokemon.species.speciesId].ivs
|
const originalIvs: integer[] = this.scene.gameData.dexData[starterSpeciesId].caughtAttr
|
||||||
|
? this.scene.gameData.dexData[starterSpeciesId].ivs
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
this.statsContainer.updateIvs(pokemon.ivs, originalIvs);
|
this.statsContainer.updateIvs(pokemon.ivs, originalIvs);
|
||||||
|
Loading…
Reference in New Issue
Block a user