2024-05-23 16:03:10 +01:00
|
|
|
import { Species } from "./data/enums/species";
|
2024-04-30 11:47:53 +01:00
|
|
|
import { Abilities } from "./data/enums/abilities";
|
|
|
|
import { Biome } from "./data/enums/biome";
|
|
|
|
import { Moves } from "./data/enums/moves";
|
|
|
|
import { WeatherType } from "./data/weather";
|
2024-05-23 16:03:10 +01:00
|
|
|
import { Variant } from "./data/variant";
|
2024-06-04 19:03:02 +01:00
|
|
|
import { BerryType } from "./data/enums/berry-type";
|
2024-05-23 16:03:10 +01:00
|
|
|
import { TempBattleStat } from "./data/temp-battle-stat";
|
|
|
|
import { Nature } from "./data/nature";
|
|
|
|
import { Type } from "./data/type";
|
|
|
|
import { Stat } from "./data/pokemon-stat";
|
|
|
|
import { PokeballCounts } from "./battle-scene";
|
|
|
|
import { PokeballType } from "./data/pokeball";
|
2024-05-26 17:17:41 +01:00
|
|
|
import {TimeOfDay} from "#app/data/enums/time-of-day";
|
2024-05-28 04:59:01 +01:00
|
|
|
import { Gender } from "./data/gender";
|
2024-05-30 17:49:57 +01:00
|
|
|
import { StatusEffect } from "./data/status-effect";
|
2024-05-31 23:41:09 +01:00
|
|
|
import { modifierTypes } from "./modifier/modifier-type";
|
2024-04-30 11:47:53 +01:00
|
|
|
|
2024-05-09 20:52:09 +01:00
|
|
|
/**
|
|
|
|
* Overrides for testing different in game situations
|
|
|
|
* if an override name starts with "STARTING", it will apply when a new run begins
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* OVERALL OVERRIDES
|
|
|
|
*/
|
|
|
|
|
|
|
|
// a specific seed (default: a random string of 24 characters)
|
2024-05-23 16:03:10 +01:00
|
|
|
export const SEED_OVERRIDE: string = "";
|
2024-05-09 20:52:09 +01:00
|
|
|
export const WEATHER_OVERRIDE: WeatherType = WeatherType.NONE;
|
|
|
|
export const DOUBLE_BATTLE_OVERRIDE: boolean = false;
|
|
|
|
export const STARTING_WAVE_OVERRIDE: integer = 0;
|
|
|
|
export const STARTING_BIOME_OVERRIDE: Biome = Biome.TOWN;
|
2024-05-26 17:17:41 +01:00
|
|
|
export const ARENA_TINT_OVERRIDE: TimeOfDay = null;
|
|
|
|
// Multiplies XP gained by this value including 0. Set to null to ignore the override
|
|
|
|
export const XP_MULTIPLIER_OVERRIDE: number = null;
|
2024-05-27 11:49:49 +01:00
|
|
|
export const IMMEDIATE_HATCH_EGGS_OVERRIDE: boolean = false;
|
2024-05-09 20:52:09 +01:00
|
|
|
// default 1000
|
|
|
|
export const STARTING_MONEY_OVERRIDE: integer = 0;
|
2024-05-13 09:40:53 +01:00
|
|
|
export const POKEBALL_OVERRIDE: { active: boolean, pokeballs: PokeballCounts } = {
|
2024-05-23 16:03:10 +01:00
|
|
|
active: false,
|
|
|
|
pokeballs: {
|
|
|
|
[PokeballType.POKEBALL]: 5,
|
|
|
|
[PokeballType.GREAT_BALL]: 0,
|
|
|
|
[PokeballType.ULTRA_BALL]: 0,
|
|
|
|
[PokeballType.ROGUE_BALL]: 0,
|
|
|
|
[PokeballType.MASTER_BALL]: 0,
|
|
|
|
}
|
|
|
|
};
|
2024-05-09 20:52:09 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* PLAYER OVERRIDES
|
|
|
|
*/
|
|
|
|
|
2024-06-04 16:39:02 +01:00
|
|
|
// forms can be found in pokemon-species.ts
|
|
|
|
export const STARTER_FORM_OVERRIDE: integer = 0;
|
2024-05-09 20:52:09 +01:00
|
|
|
// default 5 or 20 for Daily
|
|
|
|
export const STARTING_LEVEL_OVERRIDE: integer = 0;
|
2024-06-04 16:39:02 +01:00
|
|
|
/**
|
|
|
|
* SPECIES OVERRIDE
|
|
|
|
* will only apply to the first starter in your party or each enemy pokemon
|
|
|
|
* default is 0 to not override
|
|
|
|
* @example SPECIES_OVERRIDE = Species.Bulbasaur;
|
|
|
|
*/
|
|
|
|
export const STARTER_SPECIES_OVERRIDE: Species | integer = 0;
|
|
|
|
export const ABILITY_OVERRIDE: Abilities = Abilities.NONE;
|
|
|
|
export const PASSIVE_ABILITY_OVERRIDE: Abilities = Abilities.NONE;
|
|
|
|
export const STATUS_OVERRIDE: StatusEffect = StatusEffect.NONE;
|
|
|
|
export const GENDER_OVERRIDE: Gender = null;
|
|
|
|
export const MOVESET_OVERRIDE: Array<Moves> = [];
|
|
|
|
export const SHINY_OVERRIDE: boolean = false;
|
|
|
|
export const VARIANT_OVERRIDE: Variant = 0;
|
2024-05-09 20:52:09 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* OPPONENT / ENEMY OVERRIDES
|
|
|
|
*/
|
|
|
|
|
2024-05-16 23:19:32 +01:00
|
|
|
export const OPP_SPECIES_OVERRIDE: Species | integer = 0;
|
2024-05-29 20:17:36 +01:00
|
|
|
export const OPP_LEVEL_OVERRIDE: number = 0;
|
2024-05-09 20:52:09 +01:00
|
|
|
export const OPP_ABILITY_OVERRIDE: Abilities = Abilities.NONE;
|
2024-05-06 19:55:52 +01:00
|
|
|
export const OPP_PASSIVE_ABILITY_OVERRIDE = Abilities.NONE;
|
2024-05-30 17:49:57 +01:00
|
|
|
export const OPP_STATUS_OVERRIDE: StatusEffect = StatusEffect.NONE;
|
2024-05-26 17:17:41 +01:00
|
|
|
export const OPP_GENDER_OVERRIDE: Gender = null;
|
2024-05-09 20:52:09 +01:00
|
|
|
export const OPP_MOVESET_OVERRIDE: Array<Moves> = [];
|
|
|
|
export const OPP_SHINY_OVERRIDE: boolean = false;
|
|
|
|
export const OPP_VARIANT_OVERRIDE: Variant = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* MODIFIER / ITEM OVERRIDES
|
|
|
|
* if count is not provided, it will default to 1
|
|
|
|
* @example Modifier Override [{name: "EXP_SHARE", count: 2}]
|
|
|
|
* @example Held Item Override [{name: "LUCKY_EGG"}]
|
2024-05-24 00:45:04 +01:00
|
|
|
*
|
|
|
|
* Some items are generated based on a sub-type (i.e. berries), to override those:
|
2024-05-09 20:52:09 +01:00
|
|
|
* @example [{name: "BERRY", count: 5, type: BerryType.SITRUS}]
|
|
|
|
* types are listed in interface below
|
|
|
|
* - TempBattleStat is for TEMP_STAT_BOOSTER / X Items (Dire hit is separate)
|
|
|
|
* - Stat is for BASE_STAT_BOOSTER / Vitamin
|
|
|
|
* - Nature is for MINT
|
|
|
|
* - Type is for TERA_SHARD or ATTACK_TYPE_BOOSTER (type boosting items i.e Silk Scarf)
|
|
|
|
* - BerryType is for BERRY
|
|
|
|
*/
|
|
|
|
interface ModifierOverride {
|
2024-05-31 23:41:09 +01:00
|
|
|
name: keyof typeof modifierTypes & string,
|
2024-05-09 20:52:09 +01:00
|
|
|
count?: integer
|
|
|
|
type?: TempBattleStat|Stat|Nature|Type|BerryType
|
|
|
|
}
|
2024-05-24 00:45:04 +01:00
|
|
|
export const STARTING_MODIFIER_OVERRIDE: Array<ModifierOverride> = [];
|
|
|
|
export const OPP_MODIFIER_OVERRIDE: Array<ModifierOverride> = [];
|
2024-04-30 11:47:53 +01:00
|
|
|
|
2024-05-24 00:45:04 +01:00
|
|
|
export const STARTING_HELD_ITEMS_OVERRIDE: Array<ModifierOverride> = [];
|
|
|
|
export const OPP_HELD_ITEMS_OVERRIDE: Array<ModifierOverride> = [];
|