mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-11 19:02:16 +02:00
working override for starting held items for player
This commit is contained in:
parent
b9ce5cfaaa
commit
ba6fdc074f
@ -19,6 +19,8 @@ import { VoucherType } from '../system/voucher';
|
|||||||
import { FormChangeItem, SpeciesFormChangeItemTrigger } from '../data/pokemon-forms';
|
import { FormChangeItem, SpeciesFormChangeItemTrigger } from '../data/pokemon-forms';
|
||||||
import { Nature } from '#app/data/nature';
|
import { Nature } from '#app/data/nature';
|
||||||
import { BattlerTagType } from '#app/data/enums/battler-tag-type';
|
import { BattlerTagType } from '#app/data/enums/battler-tag-type';
|
||||||
|
import { STARTING_HELD_ITEMS_OVERRIDE } from "./overrides";
|
||||||
|
import { modifierTypes } from "./modifier-type";
|
||||||
|
|
||||||
type ModifierType = ModifierTypes.ModifierType;
|
type ModifierType = ModifierTypes.ModifierType;
|
||||||
export type ModifierPredicate = (modifier: Modifier) => boolean;
|
export type ModifierPredicate = (modifier: Modifier) => boolean;
|
||||||
@ -2175,4 +2177,25 @@ export class EnemyFusionChanceModifier extends EnemyPersistentModifier {
|
|||||||
getMaxStackCount(scene: BattleScene): integer {
|
getMaxStackCount(scene: BattleScene): integer {
|
||||||
return 10;
|
return 10;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function startingItemHeldsOverride(pokemon: Pokemon): Modifier[] {
|
||||||
|
const ret: Modifier[] = new Array();
|
||||||
|
// if no override, do nothing
|
||||||
|
if (!STARTING_HELD_ITEMS_OVERRIDE || STARTING_HELD_ITEMS_OVERRIDE.length === 0) return ret;
|
||||||
|
// we loop through all the itemName given in the override file
|
||||||
|
for (const itemName of STARTING_HELD_ITEMS_OVERRIDE) {
|
||||||
|
// if the item does not exist, we skip it
|
||||||
|
if (!modifierTypes.hasOwnProperty(itemName)) continue;
|
||||||
|
// we retrieve the item in the list
|
||||||
|
const modifierType = modifierTypes[itemName]();
|
||||||
|
// we create the item
|
||||||
|
const itemModifier = modifierType.withIdFromFunc(modifierTypes[itemName]).newModifier((pokemon) as PersistentModifier) as PokemonHeldItemModifier;
|
||||||
|
// we assign the created item to the pokemon
|
||||||
|
itemModifier.pokemonId = pokemon.id;
|
||||||
|
// we say how many items we want
|
||||||
|
itemModifier.stackCount = 1;
|
||||||
|
ret.push(itemModifier);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
@ -13,6 +13,7 @@ export const STARTING_BIOME_OVERRIDE = Biome.TOWN;
|
|||||||
export const STARTING_MONEY_OVERRIDE = 0;
|
export const STARTING_MONEY_OVERRIDE = 0;
|
||||||
export const WEATHER_OVERRIDE = WeatherType.NONE;
|
export const WEATHER_OVERRIDE = WeatherType.NONE;
|
||||||
export const DOUBLE_BATTLE_OVERRIDE = false;
|
export const DOUBLE_BATTLE_OVERRIDE = false;
|
||||||
|
export const STARTING_HELD_ITEMS_OVERRIDE = ['REVIVER_SEED'];
|
||||||
|
|
||||||
export const ABILITY_OVERRIDE = Abilities.NONE;
|
export const ABILITY_OVERRIDE = Abilities.NONE;
|
||||||
export const PASSIVE_ABILITY_OVERRIDE = Abilities.NONE;
|
export const PASSIVE_ABILITY_OVERRIDE = Abilities.NONE;
|
||||||
@ -23,6 +24,7 @@ export const OPP_ABILITY_OVERRIDE = Abilities.NONE;
|
|||||||
export const OPP_PASSIVE_ABILITY_OVERRIDE = Abilities.NONE;
|
export const OPP_PASSIVE_ABILITY_OVERRIDE = Abilities.NONE;
|
||||||
export const OPP_MOVE_OVERRIDE = Moves.NONE;
|
export const OPP_MOVE_OVERRIDE = Moves.NONE;
|
||||||
export const OPP_MOVE_OVERRIDE_2 = Moves.NONE;
|
export const OPP_MOVE_OVERRIDE_2 = Moves.NONE;
|
||||||
|
export const OPP_HELD_ITEMS_OVERRIDE = ['LUCKY_EGG'];
|
||||||
|
|
||||||
export const OPP_SHINY_OVERRIDE = false;
|
export const OPP_SHINY_OVERRIDE = false;
|
||||||
export const OPP_VARIANT_OVERRIDE = 0;
|
export const OPP_VARIANT_OVERRIDE = 0;
|
||||||
|
@ -6,7 +6,7 @@ import { allMoves, applyMoveAttrs, BypassSleepAttr, ChargeAttr, applyFilteredMov
|
|||||||
import { Mode } from './ui/ui';
|
import { Mode } from './ui/ui';
|
||||||
import { Command } from "./ui/command-ui-handler";
|
import { Command } from "./ui/command-ui-handler";
|
||||||
import { Stat } from "./data/pokemon-stat";
|
import { Stat } from "./data/pokemon-stat";
|
||||||
import { BerryModifier, ContactHeldItemTransferChanceModifier, EnemyAttackStatusEffectChanceModifier, EnemyPersistentModifier, EnemyStatusEffectHealChanceModifier, EnemyTurnHealModifier, ExpBalanceModifier, ExpBoosterModifier, ExpShareModifier, ExtraModifierModifier, FlinchChanceModifier, FusePokemonModifier, HealingBoosterModifier, HitHealModifier, LapsingPersistentModifier, MapModifier, Modifier, MultipleParticipantExpBonusModifier, PersistentModifier, PokemonExpBoosterModifier, PokemonHeldItemModifier, PokemonInstantReviveModifier, SwitchEffectTransferModifier, TempBattleStatBoosterModifier, TurnHealModifier, TurnHeldItemTransferModifier, MoneyMultiplierModifier, MoneyInterestModifier, IvScannerModifier, LapsingPokemonHeldItemModifier, PokemonMultiHitModifier, PokemonMoveAccuracyBoosterModifier } from "./modifier/modifier";
|
import { BerryModifier, ContactHeldItemTransferChanceModifier, EnemyAttackStatusEffectChanceModifier, EnemyPersistentModifier, EnemyStatusEffectHealChanceModifier, EnemyTurnHealModifier, ExpBalanceModifier, ExpBoosterModifier, ExpShareModifier, ExtraModifierModifier, FlinchChanceModifier, FusePokemonModifier, HealingBoosterModifier, HitHealModifier, LapsingPersistentModifier, MapModifier, Modifier, MultipleParticipantExpBonusModifier, PersistentModifier, PokemonExpBoosterModifier, PokemonHeldItemModifier, PokemonInstantReviveModifier, SwitchEffectTransferModifier, TempBattleStatBoosterModifier, TurnHealModifier, TurnHeldItemTransferModifier, MoneyMultiplierModifier, MoneyInterestModifier, IvScannerModifier, LapsingPokemonHeldItemModifier, PokemonMultiHitModifier, PokemonMoveAccuracyBoosterModifier, startingItemHeldsOverride } from "./modifier/modifier";
|
||||||
import PartyUiHandler, { PartyOption, PartyUiMode } from "./ui/party-ui-handler";
|
import PartyUiHandler, { PartyOption, PartyUiMode } from "./ui/party-ui-handler";
|
||||||
import { doPokeballBounceAnim, getPokeballAtlasKey, getPokeballCatchMultiplier, getPokeballTintColor, PokeballType } from "./data/pokeball";
|
import { doPokeballBounceAnim, getPokeballAtlasKey, getPokeballCatchMultiplier, getPokeballTintColor, PokeballType } from "./data/pokeball";
|
||||||
import { CommonAnim, CommonBattleAnim, MoveAnim, initMoveAnim, loadMoveAnimAssets } from "./data/battle-anims";
|
import { CommonAnim, CommonBattleAnim, MoveAnim, initMoveAnim, loadMoveAnimAssets } from "./data/battle-anims";
|
||||||
@ -510,6 +510,12 @@ export class SelectStarterPhase extends Phase {
|
|||||||
party.push(starterPokemon);
|
party.push(starterPokemon);
|
||||||
loadPokemonAssets.push(starterPokemon.loadAssets());
|
loadPokemonAssets.push(starterPokemon.loadAssets());
|
||||||
});
|
});
|
||||||
|
const itemHeldsOverride = startingItemHeldsOverride(party[0]);
|
||||||
|
if (itemHeldsOverride?.length) {
|
||||||
|
for (const itemHeldOverride of itemHeldsOverride) {
|
||||||
|
this.scene.addModifier(itemHeldOverride, true, false, false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
Promise.all(loadPokemonAssets).then(() => {
|
Promise.all(loadPokemonAssets).then(() => {
|
||||||
SoundFade.fadeOut(this.scene, this.scene.sound.get('menu'), 500, true);
|
SoundFade.fadeOut(this.scene, this.scene.sound.get('menu'), 500, true);
|
||||||
this.scene.time.delayedCall(500, () => this.scene.playBgm());
|
this.scene.time.delayedCall(500, () => this.scene.playBgm());
|
||||||
|
Loading…
Reference in New Issue
Block a user