mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-04 15:32:18 +02:00
added comments
This commit is contained in:
parent
ebf9784b1e
commit
04bcd8a60b
@ -4,7 +4,7 @@ import { NextEncounterPhase, NewBiomeEncounterPhase, SelectBiomePhase, MessagePh
|
|||||||
import Pokemon, { PlayerPokemon, EnemyPokemon } from './field/pokemon';
|
import Pokemon, { PlayerPokemon, EnemyPokemon } from './field/pokemon';
|
||||||
import PokemonSpecies, { PokemonSpeciesFilter, allSpecies, getPokemonSpecies, initSpecies, speciesStarters } from './data/pokemon-species';
|
import PokemonSpecies, { PokemonSpeciesFilter, allSpecies, getPokemonSpecies, initSpecies, speciesStarters } from './data/pokemon-species';
|
||||||
import * as Utils from './utils';
|
import * as Utils from './utils';
|
||||||
import { Modifier, ModifierBar, ConsumablePokemonModifier, ConsumableModifier, PokemonHpRestoreModifier, HealingBoosterModifier, PersistentModifier, PokemonHeldItemModifier, ModifierPredicate, DoubleBattleChanceBoosterModifier, FusePokemonModifier, PokemonFormChangeItemModifier, TerastallizeModifier, modifiersOverride, itemHeldsOverride } from './modifier/modifier';
|
import { Modifier, ModifierBar, ConsumablePokemonModifier, ConsumableModifier, PokemonHpRestoreModifier, HealingBoosterModifier, PersistentModifier, PokemonHeldItemModifier, ModifierPredicate, DoubleBattleChanceBoosterModifier, FusePokemonModifier, PokemonFormChangeItemModifier, TerastallizeModifier, overrideModifiers, overrideHeldItems } from './modifier/modifier';
|
||||||
import { PokeballType } from './data/pokeball';
|
import { PokeballType } from './data/pokeball';
|
||||||
import { initCommonAnims, initMoveAnim, loadCommonAnimAssets, loadMoveAnimAssets, populateAnims } from './data/battle-anims';
|
import { initCommonAnims, initMoveAnim, loadCommonAnimAssets, loadMoveAnimAssets, populateAnims } from './data/battle-anims';
|
||||||
import { Phase } from './phase';
|
import { Phase } from './phase';
|
||||||
@ -615,8 +615,8 @@ export default class BattleScene extends SceneBase {
|
|||||||
if (Overrides.OPP_SPECIES_OVERRIDE)
|
if (Overrides.OPP_SPECIES_OVERRIDE)
|
||||||
species = getPokemonSpecies(Overrides.OPP_SPECIES_OVERRIDE);
|
species = getPokemonSpecies(Overrides.OPP_SPECIES_OVERRIDE);
|
||||||
const pokemon = new EnemyPokemon(this, species, level, trainerSlot, boss, dataSource);
|
const pokemon = new EnemyPokemon(this, species, level, trainerSlot, boss, dataSource);
|
||||||
modifiersOverride(this, false);
|
overrideModifiers(this, false);
|
||||||
itemHeldsOverride(this, pokemon, false);
|
overrideHeldItems(this, pokemon, false);
|
||||||
if (boss && !dataSource) {
|
if (boss && !dataSource) {
|
||||||
const secondaryIvs = Utils.getIvsFromId(Utils.randSeedInt(4294967295));
|
const secondaryIvs = Utils.getIvsFromId(Utils.randSeedInt(4294967295));
|
||||||
|
|
||||||
@ -1769,6 +1769,9 @@ export default class BattleScene extends SceneBase {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes all modifiers from enemy of PersistentModifier type
|
||||||
|
*/
|
||||||
clearEnemyModifiers(): void {
|
clearEnemyModifiers(): void {
|
||||||
const modifiersToRemove = this.enemyModifiers.filter(m => m instanceof PersistentModifier);
|
const modifiersToRemove = this.enemyModifiers.filter(m => m instanceof PersistentModifier);
|
||||||
for (let m of modifiersToRemove)
|
for (let m of modifiersToRemove)
|
||||||
@ -1776,6 +1779,9 @@ export default class BattleScene extends SceneBase {
|
|||||||
this.updateModifiers(false).then(() => this.updateUIPositions());
|
this.updateModifiers(false).then(() => this.updateUIPositions());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes all modifiers from enemy of PokemonHeldItemModifier type
|
||||||
|
*/
|
||||||
clearEnemyHeldItemModifiers(): void {
|
clearEnemyHeldItemModifiers(): void {
|
||||||
const modifiersToRemove = this.enemyModifiers.filter(m => m instanceof PokemonHeldItemModifier);
|
const modifiersToRemove = this.enemyModifiers.filter(m => m instanceof PokemonHeldItemModifier);
|
||||||
for (let m of modifiersToRemove)
|
for (let m of modifiersToRemove)
|
||||||
|
@ -273,6 +273,11 @@ export class Arena {
|
|||||||
return 131 / 180;
|
return 131 / 180;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets weather to the override specified in overrides.ts
|
||||||
|
* @param weather new weather to set of type WeatherType
|
||||||
|
* @returns true to force trySetWeather to return true
|
||||||
|
*/
|
||||||
trySetWeatherOverride(weather: WeatherType): boolean {
|
trySetWeatherOverride(weather: WeatherType): boolean {
|
||||||
this.weather = new Weather(weather, 0);
|
this.weather = new Weather(weather, 0);
|
||||||
this.scene.unshiftPhase(new CommonAnimPhase(this.scene, undefined, undefined, CommonAnim.SUNNY + (weather - 1)));
|
this.scene.unshiftPhase(new CommonAnimPhase(this.scene, undefined, undefined, CommonAnim.SUNNY + (weather - 1)));
|
||||||
@ -280,8 +285,13 @@ export class Arena {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attempts to set a new weather to the battle
|
||||||
|
* @param weather new weather to set of type WeatherType
|
||||||
|
* @param hasPokemonSource is the new weather from a pokemon
|
||||||
|
* @returns true if new weather set, false if no weather provided or attempting to set the same weather as currently in use
|
||||||
|
*/
|
||||||
trySetWeather(weather: WeatherType, hasPokemonSource: boolean): boolean {
|
trySetWeather(weather: WeatherType, hasPokemonSource: boolean): boolean {
|
||||||
// override hook for debugging
|
|
||||||
if (Overrides.WEATHER_OVERRIDE)
|
if (Overrides.WEATHER_OVERRIDE)
|
||||||
return this.trySetWeatherOverride(Overrides.WEATHER_OVERRIDE);
|
return this.trySetWeatherOverride(Overrides.WEATHER_OVERRIDE);
|
||||||
|
|
||||||
|
@ -725,9 +725,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
? this.summonData.moveset
|
? this.summonData.moveset
|
||||||
: this.moveset;
|
: this.moveset;
|
||||||
|
|
||||||
const overideArray: Array<Moves> = this.isPlayer() ? Overrides.MOVESET_OVERRIDE : Overrides.OPP_MOVESET_OVERRIDE;
|
// Overrides moveset based on arrays specified in overrides.ts
|
||||||
if (overideArray.length > 0) {
|
const overrideArray: Array<Moves> = this.isPlayer() ? Overrides.MOVESET_OVERRIDE : Overrides.OPP_MOVESET_OVERRIDE;
|
||||||
overideArray.forEach((move: Moves, index: number) => {
|
if (overrideArray.length > 0) {
|
||||||
|
overrideArray.forEach((move: Moves, index: number) => {
|
||||||
this.moveset[index] = new PokemonMove(move, Math.min(this.moveset[index].ppUsed, allMoves[move].pp))
|
this.moveset[index] = new PokemonMove(move, Math.min(this.moveset[index].ppUsed, allMoves[move].pp))
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -819,8 +820,17 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
return allAbilities[starterPassiveAbilities[starterSpeciesId]];
|
return allAbilities[starterPassiveAbilities[starterSpeciesId]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a pokemon has a passive either from:
|
||||||
|
* - bought with starter candy
|
||||||
|
* - set by override
|
||||||
|
* - is a boss pokemon
|
||||||
|
* @returns whether or not a pokemon should have a passive
|
||||||
|
*/
|
||||||
hasPassive(): boolean {
|
hasPassive(): boolean {
|
||||||
if ((Overrides.PASSIVE_ABILITY_OVERRIDE !== Abilities.NONE && this.isPlayer()) || (Overrides.OPP_PASSIVE_ABILITY_OVERRIDE !== Abilities.NONE && !this.isPlayer()))
|
// returns override if valid for current case
|
||||||
|
if ((Overrides.PASSIVE_ABILITY_OVERRIDE !== Abilities.NONE && this.isPlayer()) ||
|
||||||
|
(Overrides.OPP_PASSIVE_ABILITY_OVERRIDE !== Abilities.NONE && !this.isPlayer()))
|
||||||
return true;
|
return true;
|
||||||
return this.passive || this.isBoss();
|
return this.passive || this.isBoss();
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,13 @@ export class GameMode implements GameModeConfig {
|
|||||||
Object.assign(this, config);
|
Object.assign(this, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns either:
|
||||||
|
* - override from overrides.ts
|
||||||
|
* - 20 for Daily Runs
|
||||||
|
* - 5 for all other modes
|
||||||
|
* @returns starting level
|
||||||
|
*/
|
||||||
getStartingLevel(): integer {
|
getStartingLevel(): integer {
|
||||||
if (Overrides.STARTING_LEVEL_OVERRIDE)
|
if (Overrides.STARTING_LEVEL_OVERRIDE)
|
||||||
return Overrides.STARTING_LEVEL_OVERRIDE;
|
return Overrides.STARTING_LEVEL_OVERRIDE;
|
||||||
|
@ -2178,7 +2178,12 @@ export class EnemyFusionChanceModifier extends EnemyPersistentModifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function modifiersOverride(scene: BattleScene, player: boolean = true): void {
|
/**
|
||||||
|
* Uses override from overrides.ts to set PersistentModifiers for starting a new game
|
||||||
|
* @param scene current BattleScene
|
||||||
|
* @param player is this for player for enemy
|
||||||
|
*/
|
||||||
|
export function overrideModifiers(scene: BattleScene, player: boolean = true): void {
|
||||||
const modifierOverride = player ? Overrides.STARTING_MODIFIER_OVERRIDE : Overrides.OPP_MODIFIER_OVERRIDE;
|
const modifierOverride = player ? Overrides.STARTING_MODIFIER_OVERRIDE : Overrides.OPP_MODIFIER_OVERRIDE;
|
||||||
if (!modifierOverride || modifierOverride.length === 0 || !scene) return; // if no override, do nothing
|
if (!modifierOverride || modifierOverride.length === 0 || !scene) return; // if no override, do nothing
|
||||||
// if it's the opponent, we clear all his current modifiers to avoid stacking
|
// if it's the opponent, we clear all his current modifiers to avoid stacking
|
||||||
@ -2201,7 +2206,12 @@ export function modifiersOverride(scene: BattleScene, player: boolean = true): v
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function itemHeldsOverride(scene: BattleScene, pokemon: Pokemon, player: boolean = true): void {
|
/**
|
||||||
|
* Uses override from overrides.ts to set PokemonHeldItemModifiers for starting a new game
|
||||||
|
* @param scene current BattleScene
|
||||||
|
* @param player is this for player for enemy
|
||||||
|
*/
|
||||||
|
export function overrideHeldItems(scene: BattleScene, pokemon: Pokemon, player: boolean = true): void {
|
||||||
const heldItemsOverride = player ? Overrides.STARTING_HELD_ITEMS_OVERRIDE : Overrides.OPP_HELD_ITEMS_OVERRIDE;
|
const heldItemsOverride = player ? Overrides.STARTING_HELD_ITEMS_OVERRIDE : Overrides.OPP_HELD_ITEMS_OVERRIDE;
|
||||||
if (!heldItemsOverride || heldItemsOverride.length === 0 || !scene) return; // if no override, do nothing
|
if (!heldItemsOverride || heldItemsOverride.length === 0 || !scene) return; // if no override, do nothing
|
||||||
// we loop through all the itemName given in the override file
|
// we loop through all the itemName given in the override file
|
||||||
|
@ -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, modifiersOverride, itemHeldsOverride } 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, overrideModifiers, overrideHeldItems } 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,8 +510,8 @@ export class SelectStarterPhase extends Phase {
|
|||||||
party.push(starterPokemon);
|
party.push(starterPokemon);
|
||||||
loadPokemonAssets.push(starterPokemon.loadAssets());
|
loadPokemonAssets.push(starterPokemon.loadAssets());
|
||||||
});
|
});
|
||||||
modifiersOverride(this.scene);
|
overrideModifiers(this.scene);
|
||||||
itemHeldsOverride(this.scene, party[0]);
|
overrideHeldItems(this.scene, party[0]);
|
||||||
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