mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-04 23:42:18 +02:00
Splitting held items to their own file
This commit is contained in:
parent
908c78ae03
commit
604c216e12
@ -19,7 +19,7 @@ import {
|
|||||||
type Constructor,
|
type Constructor,
|
||||||
} from "#app/utils/common";
|
} from "#app/utils/common";
|
||||||
import { deepMergeSpriteData } from "#app/utils/data";
|
import { deepMergeSpriteData } from "#app/utils/data";
|
||||||
import type { Modifier, ModifierPredicate, TurnHeldItemTransferModifier } from "./modifier/modifier";
|
import type { Modifier, ModifierPredicate } from "./modifier/modifier";
|
||||||
import {
|
import {
|
||||||
ConsumableModifier,
|
ConsumableModifier,
|
||||||
ConsumablePokemonModifier,
|
ConsumablePokemonModifier,
|
||||||
@ -28,14 +28,9 @@ import {
|
|||||||
ExpShareModifier,
|
ExpShareModifier,
|
||||||
FusePokemonModifier,
|
FusePokemonModifier,
|
||||||
HealingBoosterModifier,
|
HealingBoosterModifier,
|
||||||
ModifierBar,
|
|
||||||
MultipleParticipantExpBonusModifier,
|
MultipleParticipantExpBonusModifier,
|
||||||
PersistentModifier,
|
PersistentModifier,
|
||||||
PokemonExpBoosterModifier,
|
|
||||||
PokemonFormChangeItemModifier,
|
|
||||||
PokemonHeldItemModifier,
|
|
||||||
PokemonHpRestoreModifier,
|
PokemonHpRestoreModifier,
|
||||||
PokemonIncrementingStatModifier,
|
|
||||||
RememberMoveModifier,
|
RememberMoveModifier,
|
||||||
} from "./modifier/modifier";
|
} from "./modifier/modifier";
|
||||||
import { PokeballType } from "#enums/pokeball";
|
import { PokeballType } from "#enums/pokeball";
|
||||||
@ -182,6 +177,14 @@ import { hasExpSprite } from "./sprites/sprite-utils";
|
|||||||
import { timedEventManager } from "./global-event-manager";
|
import { timedEventManager } from "./global-event-manager";
|
||||||
import { starterColors } from "./global-vars/starter-colors";
|
import { starterColors } from "./global-vars/starter-colors";
|
||||||
import { startingWave } from "./starting-wave";
|
import { startingWave } from "./starting-wave";
|
||||||
|
import { ModifierBar } from "./modifier/modifier-bar";
|
||||||
|
import {
|
||||||
|
PokemonExpBoosterModifier,
|
||||||
|
PokemonFormChangeItemModifier,
|
||||||
|
PokemonHeldItemModifier,
|
||||||
|
PokemonIncrementingStatModifier,
|
||||||
|
type TurnHeldItemTransferModifier,
|
||||||
|
} from "./modifier/held-item-modifier";
|
||||||
|
|
||||||
const DEBUG_RNG = false;
|
const DEBUG_RNG = false;
|
||||||
|
|
||||||
|
2012
src/modifier/held-item-modifier.ts
Normal file
2012
src/modifier/held-item-modifier.ts
Normal file
File diff suppressed because it is too large
Load Diff
82
src/modifier/modifier-bar.ts
Normal file
82
src/modifier/modifier-bar.ts
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
import { globalScene } from "#app/global-scene";
|
||||||
|
import { modifierSortFunc, type PokemonHeldItemModifier } from "./held-item-modifier";
|
||||||
|
import type { PersistentModifier } from "./modifier";
|
||||||
|
|
||||||
|
const iconOverflowIndex = 24;
|
||||||
|
|
||||||
|
export class ModifierBar extends Phaser.GameObjects.Container {
|
||||||
|
private player: boolean;
|
||||||
|
private modifierCache: PersistentModifier[];
|
||||||
|
|
||||||
|
constructor(enemy?: boolean) {
|
||||||
|
super(globalScene, 1 + (enemy ? 302 : 0), 2);
|
||||||
|
|
||||||
|
this.player = !enemy;
|
||||||
|
this.setScale(0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to update content displayed in {@linkcode ModifierBar}
|
||||||
|
* @param {PersistentModifier[]} modifiers - The list of modifiers to be displayed in the {@linkcode ModifierBar}
|
||||||
|
* @param {boolean} hideHeldItems - If set to "true", only modifiers not assigned to a Pokémon are displayed
|
||||||
|
*/
|
||||||
|
updateModifiers(modifiers: PersistentModifier[], hideHeldItems = false) {
|
||||||
|
this.removeAll(true);
|
||||||
|
|
||||||
|
const visibleIconModifiers = modifiers.filter(m => m.isIconVisible());
|
||||||
|
const nonPokemonSpecificModifiers = visibleIconModifiers
|
||||||
|
.filter(m => !(m as PokemonHeldItemModifier).pokemonId)
|
||||||
|
.sort(modifierSortFunc);
|
||||||
|
const pokemonSpecificModifiers = visibleIconModifiers
|
||||||
|
.filter(m => (m as PokemonHeldItemModifier).pokemonId)
|
||||||
|
.sort(modifierSortFunc);
|
||||||
|
|
||||||
|
const sortedVisibleIconModifiers = hideHeldItems
|
||||||
|
? nonPokemonSpecificModifiers
|
||||||
|
: nonPokemonSpecificModifiers.concat(pokemonSpecificModifiers);
|
||||||
|
|
||||||
|
sortedVisibleIconModifiers.forEach((modifier: PersistentModifier, i: number) => {
|
||||||
|
const icon = modifier.getIcon();
|
||||||
|
if (i >= iconOverflowIndex) {
|
||||||
|
icon.setVisible(false);
|
||||||
|
}
|
||||||
|
this.add(icon);
|
||||||
|
this.setModifierIconPosition(icon, sortedVisibleIconModifiers.length);
|
||||||
|
icon.setInteractive(new Phaser.Geom.Rectangle(0, 0, 32, 24), Phaser.Geom.Rectangle.Contains);
|
||||||
|
icon.on("pointerover", () => {
|
||||||
|
globalScene.ui.showTooltip(modifier.type.name, modifier.type.getDescription());
|
||||||
|
if (this.modifierCache && this.modifierCache.length > iconOverflowIndex) {
|
||||||
|
this.updateModifierOverflowVisibility(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
icon.on("pointerout", () => {
|
||||||
|
globalScene.ui.hideTooltip();
|
||||||
|
if (this.modifierCache && this.modifierCache.length > iconOverflowIndex) {
|
||||||
|
this.updateModifierOverflowVisibility(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
for (const icon of this.getAll()) {
|
||||||
|
this.sendToBack(icon);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.modifierCache = modifiers;
|
||||||
|
}
|
||||||
|
|
||||||
|
updateModifierOverflowVisibility(ignoreLimit: boolean) {
|
||||||
|
const modifierIcons = this.getAll().reverse();
|
||||||
|
for (const modifier of modifierIcons.map(m => m as Phaser.GameObjects.Container).slice(iconOverflowIndex)) {
|
||||||
|
modifier.setVisible(ignoreLimit);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setModifierIconPosition(icon: Phaser.GameObjects.Container, modifierCount: number) {
|
||||||
|
const rowIcons: number = 12 + 6 * Math.max(Math.ceil(Math.min(modifierCount, 24) / 12) - 2, 0);
|
||||||
|
|
||||||
|
const x = ((this.getIndex(icon) % rowIcons) * 26) / (rowIcons / 12);
|
||||||
|
const y = Math.floor(this.getIndex(icon) / rowIcons) * 20;
|
||||||
|
|
||||||
|
icon.setPosition(this.player ? x : -x, y);
|
||||||
|
}
|
||||||
|
}
|
@ -11,14 +11,13 @@ import { Moves } from "#enums/moves";
|
|||||||
import { PokeballType } from "#enums/pokeball";
|
import { PokeballType } from "#enums/pokeball";
|
||||||
import { Species } from "#enums/species";
|
import { Species } from "#enums/species";
|
||||||
import { StatusEffect } from "#enums/status-effect";
|
import { StatusEffect } from "#enums/status-effect";
|
||||||
|
import type { EnemyPersistentModifier, PersistentModifier } from "./modifier";
|
||||||
import {
|
import {
|
||||||
BerryModifier,
|
BerryModifier,
|
||||||
type EnemyPersistentModifier,
|
|
||||||
type PersistentModifier,
|
|
||||||
type PokemonHeldItemModifier,
|
type PokemonHeldItemModifier,
|
||||||
SpeciesCritBoosterModifier,
|
SpeciesCritBoosterModifier,
|
||||||
TurnStatusEffectModifier,
|
TurnStatusEffectModifier,
|
||||||
} from "./modifier";
|
} from "./held-item-modifier";
|
||||||
import { ModifierTier } from "./modifier-tier";
|
import { ModifierTier } from "./modifier-tier";
|
||||||
import {
|
import {
|
||||||
FormChangeItemModifierType,
|
FormChangeItemModifierType,
|
||||||
|
@ -20,14 +20,7 @@ import { getPokemonNameWithAffix } from "#app/messages";
|
|||||||
import {
|
import {
|
||||||
AddPokeballModifier,
|
AddPokeballModifier,
|
||||||
AddVoucherModifier,
|
AddVoucherModifier,
|
||||||
AttackTypeBoosterModifier,
|
|
||||||
BaseStatModifier,
|
|
||||||
BerryModifier,
|
|
||||||
BoostBugSpawnModifier,
|
BoostBugSpawnModifier,
|
||||||
BypassSpeedChanceModifier,
|
|
||||||
ContactHeldItemTransferChanceModifier,
|
|
||||||
CritBoosterModifier,
|
|
||||||
DamageMoneyRewardModifier,
|
|
||||||
DoubleBattleChanceBoosterModifier,
|
DoubleBattleChanceBoosterModifier,
|
||||||
EnemyAttackStatusEffectChanceModifier,
|
EnemyAttackStatusEffectChanceModifier,
|
||||||
EnemyDamageBoosterModifier,
|
EnemyDamageBoosterModifier,
|
||||||
@ -37,19 +30,15 @@ import {
|
|||||||
EnemyStatusEffectHealChanceModifier,
|
EnemyStatusEffectHealChanceModifier,
|
||||||
EnemyTurnHealModifier,
|
EnemyTurnHealModifier,
|
||||||
EvolutionItemModifier,
|
EvolutionItemModifier,
|
||||||
EvolutionStatBoosterModifier,
|
|
||||||
EvoTrackerModifier,
|
|
||||||
ExpBalanceModifier,
|
ExpBalanceModifier,
|
||||||
ExpBoosterModifier,
|
ExpBoosterModifier,
|
||||||
ExpShareModifier,
|
ExpShareModifier,
|
||||||
ExtraModifierModifier,
|
ExtraModifierModifier,
|
||||||
FlinchChanceModifier,
|
|
||||||
FusePokemonModifier,
|
FusePokemonModifier,
|
||||||
GigantamaxAccessModifier,
|
GigantamaxAccessModifier,
|
||||||
HealingBoosterModifier,
|
HealingBoosterModifier,
|
||||||
HealShopCostModifier,
|
HealShopCostModifier,
|
||||||
HiddenAbilityRateBoosterModifier,
|
HiddenAbilityRateBoosterModifier,
|
||||||
HitHealModifier,
|
|
||||||
IvScannerModifier,
|
IvScannerModifier,
|
||||||
LevelIncrementBoosterModifier,
|
LevelIncrementBoosterModifier,
|
||||||
LockModifierTiersModifier,
|
LockModifierTiersModifier,
|
||||||
@ -60,44 +49,57 @@ import {
|
|||||||
MoneyRewardModifier,
|
MoneyRewardModifier,
|
||||||
MultipleParticipantExpBonusModifier,
|
MultipleParticipantExpBonusModifier,
|
||||||
PokemonAllMovePpRestoreModifier,
|
PokemonAllMovePpRestoreModifier,
|
||||||
|
PokemonHpRestoreModifier,
|
||||||
|
PokemonLevelIncrementModifier,
|
||||||
|
PokemonNatureChangeModifier,
|
||||||
|
PokemonPpRestoreModifier,
|
||||||
|
PokemonPpUpModifier,
|
||||||
|
PokemonStatusHealModifier,
|
||||||
|
RememberMoveModifier,
|
||||||
|
ShinyRateBoosterModifier,
|
||||||
|
TempCritBoosterModifier,
|
||||||
|
TempStatStageBoosterModifier,
|
||||||
|
TerastallizeAccessModifier,
|
||||||
|
TerrastalizeModifier,
|
||||||
|
TmModifier,
|
||||||
|
type Modifier,
|
||||||
|
TempExtraModifierModifier,
|
||||||
|
CriticalCatchChanceBoosterModifier,
|
||||||
|
} from "#app/modifier/modifier";
|
||||||
|
import {
|
||||||
|
AttackTypeBoosterModifier,
|
||||||
|
BaseStatModifier,
|
||||||
|
BerryModifier,
|
||||||
|
BypassSpeedChanceModifier,
|
||||||
|
ContactHeldItemTransferChanceModifier,
|
||||||
|
CritBoosterModifier,
|
||||||
|
DamageMoneyRewardModifier,
|
||||||
|
EvolutionStatBoosterModifier,
|
||||||
|
EvoTrackerModifier,
|
||||||
|
FlinchChanceModifier,
|
||||||
|
HitHealModifier,
|
||||||
PokemonBaseStatFlatModifier,
|
PokemonBaseStatFlatModifier,
|
||||||
PokemonBaseStatTotalModifier,
|
PokemonBaseStatTotalModifier,
|
||||||
PokemonExpBoosterModifier,
|
PokemonExpBoosterModifier,
|
||||||
PokemonFormChangeItemModifier,
|
PokemonFormChangeItemModifier,
|
||||||
PokemonFriendshipBoosterModifier,
|
PokemonFriendshipBoosterModifier,
|
||||||
PokemonHeldItemModifier,
|
PokemonHeldItemModifier,
|
||||||
PokemonHpRestoreModifier,
|
|
||||||
PokemonIncrementingStatModifier,
|
PokemonIncrementingStatModifier,
|
||||||
PokemonInstantReviveModifier,
|
PokemonInstantReviveModifier,
|
||||||
PokemonLevelIncrementModifier,
|
|
||||||
PokemonMoveAccuracyBoosterModifier,
|
PokemonMoveAccuracyBoosterModifier,
|
||||||
PokemonMultiHitModifier,
|
PokemonMultiHitModifier,
|
||||||
PokemonNatureChangeModifier,
|
|
||||||
PokemonNatureWeightModifier,
|
PokemonNatureWeightModifier,
|
||||||
PokemonPpRestoreModifier,
|
|
||||||
PokemonPpUpModifier,
|
|
||||||
PokemonStatusHealModifier,
|
|
||||||
PreserveBerryModifier,
|
PreserveBerryModifier,
|
||||||
RememberMoveModifier,
|
|
||||||
ResetNegativeStatStageModifier,
|
ResetNegativeStatStageModifier,
|
||||||
ShinyRateBoosterModifier,
|
|
||||||
SpeciesCritBoosterModifier,
|
SpeciesCritBoosterModifier,
|
||||||
SpeciesStatBoosterModifier,
|
SpeciesStatBoosterModifier,
|
||||||
SurviveDamageModifier,
|
SurviveDamageModifier,
|
||||||
SwitchEffectTransferModifier,
|
SwitchEffectTransferModifier,
|
||||||
TempCritBoosterModifier,
|
|
||||||
TempStatStageBoosterModifier,
|
|
||||||
TerastallizeAccessModifier,
|
|
||||||
TerrastalizeModifier,
|
|
||||||
TmModifier,
|
|
||||||
TurnHealModifier,
|
TurnHealModifier,
|
||||||
TurnHeldItemTransferModifier,
|
TurnHeldItemTransferModifier,
|
||||||
TurnStatusEffectModifier,
|
TurnStatusEffectModifier,
|
||||||
type Modifier,
|
|
||||||
TempExtraModifierModifier,
|
|
||||||
CriticalCatchChanceBoosterModifier,
|
|
||||||
FieldEffectModifier,
|
FieldEffectModifier,
|
||||||
} from "#app/modifier/modifier";
|
} from "#app/modifier/held-item-modifier";
|
||||||
import { ModifierTier } from "#app/modifier/modifier-tier";
|
import { ModifierTier } from "#app/modifier/modifier-tier";
|
||||||
import { getVoucherTypeIcon, getVoucherTypeName, VoucherType } from "#app/system/voucher";
|
import { getVoucherTypeIcon, getVoucherTypeName, VoucherType } from "#app/system/voucher";
|
||||||
import type { PokemonMoveSelectFilter, PokemonSelectFilter } from "#app/ui/party-ui-handler";
|
import type { PokemonMoveSelectFilter, PokemonSelectFilter } from "#app/ui/party-ui-handler";
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -19,7 +19,7 @@ import { EncounterPhaseEvent } from "#app/events/battle-scene";
|
|||||||
import type Pokemon from "#app/field/pokemon";
|
import type Pokemon from "#app/field/pokemon";
|
||||||
import { FieldPosition } from "#app/field/pokemon";
|
import { FieldPosition } from "#app/field/pokemon";
|
||||||
import { getPokemonNameWithAffix } from "#app/messages";
|
import { getPokemonNameWithAffix } from "#app/messages";
|
||||||
import { BoostBugSpawnModifier, IvScannerModifier, TurnHeldItemTransferModifier } from "#app/modifier/modifier";
|
import { BoostBugSpawnModifier, IvScannerModifier } from "#app/modifier/modifier";
|
||||||
import { ModifierPoolType, regenerateModifierPoolThresholds } from "#app/modifier/modifier-pool";
|
import { ModifierPoolType, regenerateModifierPoolThresholds } from "#app/modifier/modifier-pool";
|
||||||
import Overrides from "#app/overrides";
|
import Overrides from "#app/overrides";
|
||||||
import { BattlePhase } from "#app/phases/battle-phase";
|
import { BattlePhase } from "#app/phases/battle-phase";
|
||||||
@ -41,10 +41,11 @@ import { Biome } from "#enums/biome";
|
|||||||
import { MysteryEncounterMode } from "#enums/mystery-encounter-mode";
|
import { MysteryEncounterMode } from "#enums/mystery-encounter-mode";
|
||||||
import { PlayerGender } from "#enums/player-gender";
|
import { PlayerGender } from "#enums/player-gender";
|
||||||
import { Species } from "#enums/species";
|
import { Species } from "#enums/species";
|
||||||
import { overrideHeldItems, overrideModifiers } from "#app/modifier/modifier";
|
import { overrideModifiers } from "#app/modifier/modifier";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import { WEIGHT_INCREMENT_ON_SPAWN_MISS } from "#app/data/mystery-encounters/mystery-encounters";
|
import { WEIGHT_INCREMENT_ON_SPAWN_MISS } from "#app/data/mystery-encounters/mystery-encounters";
|
||||||
import { getNatureName } from "#app/data/nature";
|
import { getNatureName } from "#app/data/nature";
|
||||||
|
import { overrideHeldItems, TurnHeldItemTransferModifier } from "#app/modifier/held-item-modifier";
|
||||||
|
|
||||||
export class EncounterPhase extends BattlePhase {
|
export class EncounterPhase extends BattlePhase {
|
||||||
private loaded: boolean;
|
private loaded: boolean;
|
||||||
|
@ -5,7 +5,7 @@ import { getPokeballAtlasKey } from "#app/data/pokeball";
|
|||||||
import { addTextObject, getTextStyleOptions, getModifierTierTextTint, getTextColor, TextStyle } from "./text";
|
import { addTextObject, getTextStyleOptions, getModifierTierTextTint, getTextColor, TextStyle } from "./text";
|
||||||
import AwaitableUiHandler from "./awaitable-ui-handler";
|
import AwaitableUiHandler from "./awaitable-ui-handler";
|
||||||
import { UiMode } from "#enums/ui-mode";
|
import { UiMode } from "#enums/ui-mode";
|
||||||
import { LockModifierTiersModifier, PokemonHeldItemModifier, HealShopCostModifier } from "../modifier/modifier";
|
import { LockModifierTiersModifier, HealShopCostModifier } from "../modifier/modifier";
|
||||||
import { handleTutorial, Tutorial } from "../tutorial";
|
import { handleTutorial, Tutorial } from "../tutorial";
|
||||||
import { Button } from "#enums/buttons";
|
import { Button } from "#enums/buttons";
|
||||||
import MoveInfoOverlay from "./move-info-overlay";
|
import MoveInfoOverlay from "./move-info-overlay";
|
||||||
@ -17,6 +17,7 @@ import { ShopCursorTarget } from "#app/enums/shop-cursor-target";
|
|||||||
import Phaser from "phaser";
|
import Phaser from "phaser";
|
||||||
import type { PokeballType } from "#enums/pokeball";
|
import type { PokeballType } from "#enums/pokeball";
|
||||||
import { getPlayerShopModifierTypeOptionsForWave } from "#app/modifier/modifier-pool";
|
import { getPlayerShopModifierTypeOptionsForWave } from "#app/modifier/modifier-pool";
|
||||||
|
import { PokemonHeldItemModifier } from "#app/modifier/held-item-modifier";
|
||||||
|
|
||||||
export const SHOP_OPTIONS_ROW_LIMIT = 7;
|
export const SHOP_OPTIONS_ROW_LIMIT = 7;
|
||||||
const SINGLE_SHOP_ROW_YOFFSET = 12;
|
const SINGLE_SHOP_ROW_YOFFSET = 12;
|
||||||
|
@ -27,6 +27,7 @@ import { SettingKeyboard } from "#app/system/settings/settings-keyboard";
|
|||||||
import { getBiomeName } from "#app/data/balance/biomes";
|
import { getBiomeName } from "#app/data/balance/biomes";
|
||||||
import type { MysteryEncounterType } from "#enums/mystery-encounter-type";
|
import type { MysteryEncounterType } from "#enums/mystery-encounter-type";
|
||||||
import { globalScene } from "#app/global-scene";
|
import { globalScene } from "#app/global-scene";
|
||||||
|
import { modifierSortFunc, PokemonHeldItemModifier } from "#app/modifier/held-item-modifier";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RunInfoUiMode indicates possible overlays of RunInfoUiHandler.
|
* RunInfoUiMode indicates possible overlays of RunInfoUiHandler.
|
||||||
@ -650,7 +651,7 @@ export default class RunInfoUiHandler extends UiHandler {
|
|||||||
modifierIconsContainer.setScale(0.45);
|
modifierIconsContainer.setScale(0.45);
|
||||||
for (const m of this.runInfo.modifiers) {
|
for (const m of this.runInfo.modifiers) {
|
||||||
const modifier = m.toModifier(this.modifiersModule[m.className]);
|
const modifier = m.toModifier(this.modifiersModule[m.className]);
|
||||||
if (modifier instanceof Modifier.PokemonHeldItemModifier) {
|
if (modifier instanceof PokemonHeldItemModifier) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const icon = modifier?.getIcon(false);
|
const icon = modifier?.getIcon(false);
|
||||||
@ -881,17 +882,17 @@ export default class RunInfoUiHandler extends UiHandler {
|
|||||||
const heldItemsScale =
|
const heldItemsScale =
|
||||||
this.runInfo.gameMode === GameModes.SPLICED_ENDLESS || this.runInfo.gameMode === GameModes.ENDLESS ? 0.25 : 0.5;
|
this.runInfo.gameMode === GameModes.SPLICED_ENDLESS || this.runInfo.gameMode === GameModes.ENDLESS ? 0.25 : 0.5;
|
||||||
const heldItemsContainer = globalScene.add.container(-82, 2);
|
const heldItemsContainer = globalScene.add.container(-82, 2);
|
||||||
const heldItemsList: Modifier.PokemonHeldItemModifier[] = [];
|
const heldItemsList: PokemonHeldItemModifier[] = [];
|
||||||
if (this.runInfo.modifiers.length) {
|
if (this.runInfo.modifiers.length) {
|
||||||
for (const m of this.runInfo.modifiers) {
|
for (const m of this.runInfo.modifiers) {
|
||||||
const modifier = m.toModifier(this.modifiersModule[m.className]);
|
const modifier = m.toModifier(this.modifiersModule[m.className]);
|
||||||
if (modifier instanceof Modifier.PokemonHeldItemModifier && modifier.pokemonId === pokemon.id) {
|
if (modifier instanceof PokemonHeldItemModifier && modifier.pokemonId === pokemon.id) {
|
||||||
modifier.stackCount = m["stackCount"];
|
modifier.stackCount = m["stackCount"];
|
||||||
heldItemsList.push(modifier);
|
heldItemsList.push(modifier);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (heldItemsList.length > 0) {
|
if (heldItemsList.length > 0) {
|
||||||
(heldItemsList as Modifier.PokemonHeldItemModifier[]).sort(Modifier.modifierSortFunc);
|
(heldItemsList as PokemonHeldItemModifier[]).sort(modifierSortFunc);
|
||||||
let row = 0;
|
let row = 0;
|
||||||
for (const [index, item] of heldItemsList.entries()) {
|
for (const [index, item] of heldItemsList.entries()) {
|
||||||
if (index > 36) {
|
if (index > 36) {
|
||||||
|
@ -24,7 +24,6 @@ import { MoveCategory } from "#enums/MoveCategory";
|
|||||||
import { getPokeballAtlasKey } from "#app/data/pokeball";
|
import { getPokeballAtlasKey } from "#app/data/pokeball";
|
||||||
import { getGenderColor, getGenderSymbol } from "#app/data/gender";
|
import { getGenderColor, getGenderSymbol } from "#app/data/gender";
|
||||||
import { getLevelRelExp, getLevelTotalExp } from "#app/data/exp";
|
import { getLevelRelExp, getLevelTotalExp } from "#app/data/exp";
|
||||||
import { PokemonHeldItemModifier } from "#app/modifier/modifier";
|
|
||||||
import { StatusEffect } from "#enums/status-effect";
|
import { StatusEffect } from "#enums/status-effect";
|
||||||
import { getBiomeName } from "#app/data/balance/biomes";
|
import { getBiomeName } from "#app/data/balance/biomes";
|
||||||
import { getNatureName, getNatureStatMultiplier } from "#app/data/nature";
|
import { getNatureName, getNatureStatMultiplier } from "#app/data/nature";
|
||||||
@ -34,11 +33,11 @@ import { getVariantTint } from "#app/sprites/variant";
|
|||||||
import { Button } from "#enums/buttons";
|
import { Button } from "#enums/buttons";
|
||||||
import type { Ability } from "#app/data/abilities/ability-class";
|
import type { Ability } from "#app/data/abilities/ability-class";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import { modifierSortFunc } from "#app/modifier/modifier";
|
|
||||||
import { PlayerGender } from "#enums/player-gender";
|
import { PlayerGender } from "#enums/player-gender";
|
||||||
import { Stat, PERMANENT_STATS, getStatKey } from "#enums/stat";
|
import { Stat, PERMANENT_STATS, getStatKey } from "#enums/stat";
|
||||||
import { Nature } from "#enums/nature";
|
import { Nature } from "#enums/nature";
|
||||||
import { achvs } from "#app/system/achv";
|
import { achvs } from "#app/system/achv";
|
||||||
|
import { modifierSortFunc, PokemonHeldItemModifier } from "#app/modifier/held-item-modifier";
|
||||||
|
|
||||||
enum Page {
|
enum Page {
|
||||||
PROFILE,
|
PROFILE,
|
||||||
|
@ -6,7 +6,7 @@ import { getMoveTargets } from "../data/moves/move";
|
|||||||
import { Button } from "#enums/buttons";
|
import { Button } from "#enums/buttons";
|
||||||
import type { Moves } from "#enums/moves";
|
import type { Moves } from "#enums/moves";
|
||||||
import type Pokemon from "#app/field/pokemon";
|
import type Pokemon from "#app/field/pokemon";
|
||||||
import type { ModifierBar } from "#app/modifier/modifier";
|
import type { ModifierBar } from "#app/modifier/modifier-bar";
|
||||||
import { SubstituteTag } from "#app/data/battler-tags";
|
import { SubstituteTag } from "#app/data/battler-tags";
|
||||||
import { globalScene } from "#app/global-scene";
|
import { globalScene } from "#app/global-scene";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user