mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-09 00:49:27 +02:00
Removed rewardInitObj
This commit is contained in:
parent
93ea5749c7
commit
be017438ff
@ -17,7 +17,7 @@ import { HeldItemId } from "#enums/held-item-id";
|
||||
import { LearnMoveType } from "#enums/learn-move-type";
|
||||
import { MoveId } from "#enums/move-id";
|
||||
import { Nature } from "#enums/nature";
|
||||
import { PokeballType } from "#enums/pokeball";
|
||||
import type { PokeballType } from "#enums/pokeball";
|
||||
import { PokemonType } from "#enums/pokemon-type";
|
||||
import { RewardId } from "#enums/reward-id";
|
||||
import { RarityTier } from "#enums/reward-tier";
|
||||
@ -32,14 +32,10 @@ import { permanentStatToHeldItem, statBoostItems } from "#items/base-stat-booste
|
||||
import { berryTypeToHeldItem } from "#items/berry";
|
||||
import { getNewAttackTypeBoosterHeldItem, getNewBerryHeldItem, getNewVitaminHeldItem } from "#items/held-item-pool";
|
||||
import { formChangeItemName } from "#items/item-utility";
|
||||
import {
|
||||
SPECIES_STAT_BOOSTER_ITEMS,
|
||||
type SpeciesStatBoosterItemId,
|
||||
type SpeciesStatBoostHeldItem,
|
||||
} from "#items/stat-booster";
|
||||
import { SPECIES_STAT_BOOSTER_ITEMS, type SpeciesStatBoostHeldItem } from "#items/stat-booster";
|
||||
import { TrainerItemEffect, tempStatToTrainerItem } from "#items/trainer-item";
|
||||
import type { PokemonMove } from "#moves/pokemon-move";
|
||||
import { getVoucherTypeIcon, getVoucherTypeName, VoucherType } from "#system/voucher";
|
||||
import { getVoucherTypeIcon, getVoucherTypeName, type VoucherType } from "#system/voucher";
|
||||
import type { RewardFunc, WeightedRewardWeightFunc } from "#types/rewards";
|
||||
import type { Exact } from "#types/type-helpers";
|
||||
import type { PokemonMoveSelectFilter, PokemonSelectFilter } from "#ui/party-ui-handler";
|
||||
@ -1528,289 +1524,6 @@ export class WeightedReward {
|
||||
}
|
||||
}
|
||||
|
||||
type BaseRewardOverride = {
|
||||
name: Exclude<RewardKeys, GeneratorRewardOverride["name"]>;
|
||||
count?: number;
|
||||
};
|
||||
|
||||
/** Type for modifiers and held items that are constructed via {@linkcode RewardGenerator}. */
|
||||
export type GeneratorRewardOverride = {
|
||||
count?: number;
|
||||
} & (
|
||||
| {
|
||||
name: keyof Pick<typeof rewardInitObj, "SPECIES_STAT_BOOSTER" | "RARE_SPECIES_STAT_BOOSTER">;
|
||||
type?: SpeciesStatBoosterItemId;
|
||||
}
|
||||
| {
|
||||
name: keyof Pick<typeof rewardInitObj, "TEMP_STAT_STAGE_BOOSTER">;
|
||||
type?: TempBattleStat;
|
||||
}
|
||||
| {
|
||||
name: keyof Pick<typeof rewardInitObj, "BASE_STAT_BOOSTER">;
|
||||
type?: Stat;
|
||||
}
|
||||
| {
|
||||
name: keyof Pick<typeof rewardInitObj, "MINT">;
|
||||
type?: Nature;
|
||||
}
|
||||
| {
|
||||
name: keyof Pick<typeof rewardInitObj, "ATTACK_TYPE_BOOSTER" | "TERA_SHARD">;
|
||||
type?: PokemonType;
|
||||
}
|
||||
| {
|
||||
name: keyof Pick<typeof rewardInitObj, "BERRY">;
|
||||
type?: BerryType;
|
||||
}
|
||||
| {
|
||||
name: keyof Pick<typeof rewardInitObj, "EVOLUTION_ITEM" | "RARE_EVOLUTION_ITEM">;
|
||||
type?: EvolutionItem;
|
||||
}
|
||||
| {
|
||||
name: keyof Pick<typeof rewardInitObj, "FORM_CHANGE_ITEM" | "RARE_FORM_CHANGE_ITEM">;
|
||||
type?: FormChangeItem;
|
||||
}
|
||||
| {
|
||||
name: keyof Pick<typeof rewardInitObj, "TM_COMMON" | "TM_GREAT" | "TM_ULTRA">;
|
||||
type?: MoveId;
|
||||
}
|
||||
);
|
||||
|
||||
/** Type used to construct modifiers and held items for overriding purposes. */
|
||||
export type RewardOverride = GeneratorRewardOverride | BaseRewardOverride;
|
||||
|
||||
const rewardInitObj = Object.freeze({
|
||||
// Pokeball rewards
|
||||
POKEBALL: () => new AddPokeballReward("pb", PokeballType.POKEBALL, 5, RewardId.POKEBALL),
|
||||
GREAT_BALL: () => new AddPokeballReward("gb", PokeballType.GREAT_BALL, 5, RewardId.GREAT_BALL),
|
||||
ULTRA_BALL: () => new AddPokeballReward("ub", PokeballType.ULTRA_BALL, 5, RewardId.ULTRA_BALL),
|
||||
ROGUE_BALL: () => new AddPokeballReward("rb", PokeballType.ROGUE_BALL, 5, RewardId.ROGUE_BALL),
|
||||
MASTER_BALL: () => new AddPokeballReward("mb", PokeballType.MASTER_BALL, 1, RewardId.MASTER_BALL),
|
||||
|
||||
// Voucher rewards
|
||||
VOUCHER: () => new AddVoucherReward(VoucherType.REGULAR, 1, RewardId.VOUCHER),
|
||||
VOUCHER_PLUS: () => new AddVoucherReward(VoucherType.PLUS, 1, RewardId.VOUCHER_PLUS),
|
||||
VOUCHER_PREMIUM: () => new AddVoucherReward(VoucherType.PREMIUM, 1, RewardId.VOUCHER_PREMIUM),
|
||||
|
||||
// Money rewards
|
||||
NUGGET: () =>
|
||||
new AddMoneyReward(
|
||||
"modifierType:ModifierType.NUGGET",
|
||||
"nugget",
|
||||
1,
|
||||
"modifierType:ModifierType.MoneyRewardModifierType.extra.small",
|
||||
RewardId.NUGGET,
|
||||
),
|
||||
BIG_NUGGET: () =>
|
||||
new AddMoneyReward(
|
||||
"modifierType:ModifierType.BIG_NUGGET",
|
||||
"big_nugget",
|
||||
2.5,
|
||||
"modifierType:ModifierType.MoneyRewardModifierType.extra.moderate",
|
||||
RewardId.BIG_NUGGET,
|
||||
),
|
||||
RELIC_GOLD: () =>
|
||||
new AddMoneyReward(
|
||||
"modifierType:ModifierType.RELIC_GOLD",
|
||||
"relic_gold",
|
||||
10,
|
||||
"modifierType:ModifierType.MoneyRewardModifierType.extra.large",
|
||||
RewardId.RELIC_GOLD,
|
||||
),
|
||||
|
||||
// Party-wide consumables
|
||||
RARER_CANDY: () => new AllPokemonLevelIncrementReward("modifierType:ModifierType.RARER_CANDY", "rarer_candy"),
|
||||
SACRED_ASH: () => new AllPokemonFullReviveReward("modifierType:ModifierType.SACRED_ASH", "sacred_ash"),
|
||||
|
||||
// Pokemon consumables
|
||||
RARE_CANDY: () => new PokemonLevelIncrementReward("modifierType:ModifierType.RARE_CANDY", "rare_candy"),
|
||||
|
||||
EVOLUTION_ITEM: () => new EvolutionItemRewardGenerator(false, RewardId.EVOLUTION_ITEM),
|
||||
RARE_EVOLUTION_ITEM: () => new EvolutionItemRewardGenerator(true, RewardId.RARE_EVOLUTION_ITEM),
|
||||
|
||||
POTION: () => new PokemonHpRestoreReward("modifierType:ModifierType.POTION", "potion", RewardId.POTION, 20, 10),
|
||||
SUPER_POTION: () =>
|
||||
new PokemonHpRestoreReward("modifierType:ModifierType.SUPER_POTION", "super_potion", RewardId.SUPER_POTION, 50, 25),
|
||||
HYPER_POTION: () =>
|
||||
new PokemonHpRestoreReward(
|
||||
"modifierType:ModifierType.HYPER_POTION",
|
||||
"hyper_potion",
|
||||
RewardId.HYPER_POTION,
|
||||
200,
|
||||
50,
|
||||
),
|
||||
MAX_POTION: () =>
|
||||
new PokemonHpRestoreReward("modifierType:ModifierType.MAX_POTION", "max_potion", RewardId.MAX_POTION, 0, 100),
|
||||
FULL_RESTORE: () =>
|
||||
new PokemonHpRestoreReward(
|
||||
"modifierType:ModifierType.FULL_RESTORE",
|
||||
"full_restore",
|
||||
RewardId.FULL_RESTORE,
|
||||
0,
|
||||
100,
|
||||
true,
|
||||
),
|
||||
|
||||
REVIVE: () => new PokemonReviveReward("modifierType:ModifierType.REVIVE", "revive", RewardId.REVIVE, 50),
|
||||
MAX_REVIVE: () =>
|
||||
new PokemonReviveReward("modifierType:ModifierType.MAX_REVIVE", "max_revive", RewardId.MAX_REVIVE, 100),
|
||||
|
||||
FULL_HEAL: () => new PokemonStatusHealReward("modifierType:ModifierType.FULL_HEAL", "full_heal"),
|
||||
|
||||
ETHER: () => new PokemonPpRestoreReward("modifierType:ModifierType.ETHER", "ether", RewardId.ETHER, 10),
|
||||
MAX_ETHER: () =>
|
||||
new PokemonPpRestoreReward("modifierType:ModifierType.MAX_ETHER", "max_ether", RewardId.MAX_ETHER, -1),
|
||||
|
||||
ELIXIR: () => new PokemonAllMovePpRestoreReward("modifierType:ModifierType.ELIXIR", "elixir", RewardId.ELIXIR, 10),
|
||||
MAX_ELIXIR: () =>
|
||||
new PokemonAllMovePpRestoreReward("modifierType:ModifierType.MAX_ELIXIR", "max_elixir", RewardId.MAX_ELIXIR, -1),
|
||||
|
||||
PP_UP: () => new PokemonPpUpReward("modifierType:ModifierType.PP_UP", "pp_up", RewardId.PP_UP, 1),
|
||||
PP_MAX: () => new PokemonPpUpReward("modifierType:ModifierType.PP_MAX", "pp_max", RewardId.PP_MAX, 3),
|
||||
|
||||
/*REPEL: () => new DoubleBattleChanceBoosterReward('Repel', 5),
|
||||
SUPER_REPEL: () => new DoubleBattleChanceBoosterReward('Super Repel', 10),
|
||||
MAX_REPEL: () => new DoubleBattleChanceBoosterReward('Max Repel', 25),*/
|
||||
|
||||
MINT: () => new MintRewardGenerator(),
|
||||
|
||||
TERA_SHARD: () => new TeraTypeRewardGenerator(),
|
||||
|
||||
TM_COMMON: () => new TmRewardGenerator(RarityTier.COMMON),
|
||||
TM_GREAT: () => new TmRewardGenerator(RarityTier.GREAT),
|
||||
TM_ULTRA: () => new TmRewardGenerator(RarityTier.ULTRA),
|
||||
|
||||
MEMORY_MUSHROOM: () => new RememberMoveReward("modifierType:ModifierType.MEMORY_MUSHROOM", "big_mushroom"),
|
||||
|
||||
DNA_SPLICERS: () => new FusePokemonReward("modifierType:ModifierType.DNA_SPLICERS", "dna_splicers"),
|
||||
|
||||
// Form change items
|
||||
FORM_CHANGE_ITEM: () => new FormChangeItemRewardGenerator(false, RewardId.FORM_CHANGE_ITEM),
|
||||
RARE_FORM_CHANGE_ITEM: () => new FormChangeItemRewardGenerator(true, RewardId.RARE_FORM_CHANGE_ITEM),
|
||||
|
||||
// Held items
|
||||
REVIVER_SEED: () => new HeldItemReward(HeldItemId.REVIVER_SEED),
|
||||
|
||||
WHITE_HERB: () => new HeldItemReward(HeldItemId.WHITE_HERB),
|
||||
|
||||
SPECIES_STAT_BOOSTER: () => new SpeciesStatBoosterRewardGenerator(false),
|
||||
RARE_SPECIES_STAT_BOOSTER: () => new SpeciesStatBoosterRewardGenerator(true),
|
||||
|
||||
BASE_STAT_BOOSTER: () => new BaseStatBoosterRewardGenerator(),
|
||||
|
||||
ATTACK_TYPE_BOOSTER: () => new AttackTypeBoosterRewardGenerator(),
|
||||
|
||||
MYSTICAL_ROCK: () => new HeldItemReward(HeldItemId.MYSTICAL_ROCK),
|
||||
|
||||
BERRY: () => new BerryRewardGenerator(),
|
||||
|
||||
LUCKY_EGG: () => new HeldItemReward(HeldItemId.LUCKY_EGG),
|
||||
GOLDEN_EGG: () => new HeldItemReward(HeldItemId.GOLDEN_EGG),
|
||||
|
||||
SOOTHE_BELL: () => new HeldItemReward(HeldItemId.SOOTHE_BELL),
|
||||
|
||||
SCOPE_LENS: () => new HeldItemReward(HeldItemId.SCOPE_LENS),
|
||||
LEEK: () => new HeldItemReward(HeldItemId.LEEK),
|
||||
|
||||
EVIOLITE: () => new HeldItemReward(HeldItemId.EVIOLITE),
|
||||
|
||||
SOUL_DEW: () => new HeldItemReward(HeldItemId.SOUL_DEW),
|
||||
|
||||
GOLDEN_PUNCH: () => new HeldItemReward(HeldItemId.GOLDEN_PUNCH),
|
||||
|
||||
GRIP_CLAW: () => new HeldItemReward(HeldItemId.GRIP_CLAW),
|
||||
WIDE_LENS: () => new HeldItemReward(HeldItemId.WIDE_LENS),
|
||||
|
||||
MULTI_LENS: () => new HeldItemReward(HeldItemId.MULTI_LENS),
|
||||
|
||||
FOCUS_BAND: () => new HeldItemReward(HeldItemId.FOCUS_BAND),
|
||||
|
||||
QUICK_CLAW: () => new HeldItemReward(HeldItemId.QUICK_CLAW),
|
||||
|
||||
KINGS_ROCK: () => new HeldItemReward(HeldItemId.KINGS_ROCK),
|
||||
|
||||
LEFTOVERS: () => new HeldItemReward(HeldItemId.LEFTOVERS),
|
||||
|
||||
SHELL_BELL: () => new HeldItemReward(HeldItemId.SHELL_BELL),
|
||||
|
||||
TOXIC_ORB: () => new HeldItemReward(HeldItemId.TOXIC_ORB),
|
||||
|
||||
FLAME_ORB: () => new HeldItemReward(HeldItemId.FLAME_ORB),
|
||||
|
||||
BATON: () => new HeldItemReward(HeldItemId.BATON),
|
||||
|
||||
MINI_BLACK_HOLE: () => new HeldItemReward(HeldItemId.MINI_BLACK_HOLE),
|
||||
|
||||
// Trainer items
|
||||
MEGA_BRACELET: () => new TrainerItemReward(TrainerItemId.MEGA_BRACELET),
|
||||
DYNAMAX_BAND: () => new TrainerItemReward(TrainerItemId.DYNAMAX_BAND),
|
||||
TERA_ORB: () => new TrainerItemReward(TrainerItemId.TERA_ORB),
|
||||
|
||||
MAP: () => new TrainerItemReward(TrainerItemId.MAP),
|
||||
|
||||
LURE: () => new LapsingTrainerItemReward(TrainerItemId.LURE, RewardId.LURE),
|
||||
SUPER_LURE: () => new LapsingTrainerItemReward(TrainerItemId.SUPER_LURE, RewardId.SUPER_LURE),
|
||||
MAX_LURE: () => new LapsingTrainerItemReward(TrainerItemId.MAX_LURE, RewardId.MAX_LURE),
|
||||
|
||||
TEMP_STAT_STAGE_BOOSTER: () => new TempStatStageBoosterRewardGenerator(),
|
||||
|
||||
DIRE_HIT: () => new LapsingTrainerItemReward(TrainerItemId.DIRE_HIT, RewardId.TEMP_STAT_STAGE_BOOSTER),
|
||||
|
||||
EXP_SHARE: () => new TrainerItemReward(TrainerItemId.EXP_SHARE),
|
||||
EXP_BALANCE: () => new TrainerItemReward(TrainerItemId.EXP_BALANCE),
|
||||
|
||||
OVAL_CHARM: () => new TrainerItemReward(TrainerItemId.OVAL_CHARM),
|
||||
|
||||
EXP_CHARM: () => new TrainerItemReward(TrainerItemId.EXP_CHARM),
|
||||
SUPER_EXP_CHARM: () => new TrainerItemReward(TrainerItemId.SUPER_EXP_CHARM),
|
||||
|
||||
AMULET_COIN: () => new TrainerItemReward(TrainerItemId.AMULET_COIN),
|
||||
|
||||
LOCK_CAPSULE: () => new TrainerItemReward(TrainerItemId.LOCK_CAPSULE),
|
||||
|
||||
HEALING_CHARM: () => new TrainerItemReward(TrainerItemId.HEALING_CHARM),
|
||||
CANDY_JAR: () => new TrainerItemReward(TrainerItemId.CANDY_JAR),
|
||||
|
||||
BERRY_POUCH: () => new TrainerItemReward(TrainerItemId.BERRY_POUCH),
|
||||
|
||||
SHINY_CHARM: () => new TrainerItemReward(TrainerItemId.SHINY_CHARM),
|
||||
ABILITY_CHARM: () => new TrainerItemReward(TrainerItemId.ABILITY_CHARM),
|
||||
CATCHING_CHARM: () => new TrainerItemReward(TrainerItemId.CATCHING_CHARM),
|
||||
|
||||
IV_SCANNER: () => new TrainerItemReward(TrainerItemId.IV_SCANNER),
|
||||
|
||||
GOLDEN_POKEBALL: () => new TrainerItemReward(TrainerItemId.GOLDEN_POKEBALL),
|
||||
|
||||
// Tokens //TODO: do we even need them here?
|
||||
ENEMY_DAMAGE_BOOSTER: () => new TrainerItemReward(TrainerItemId.ENEMY_DAMAGE_BOOSTER),
|
||||
ENEMY_DAMAGE_REDUCTION: () => new TrainerItemReward(TrainerItemId.ENEMY_DAMAGE_REDUCTION),
|
||||
//ENEMY_SUPER_EFFECT_BOOSTER: () => new Reward('Type Advantage Token', 'Increases damage of super effective attacks by 30%', (type, _args) => new EnemySuperEffectiveDamageBoosterModifier(type, 30), 'wl_custom_super_effective'),
|
||||
ENEMY_HEAL: () => new TrainerItemReward(TrainerItemId.ENEMY_HEAL),
|
||||
ENEMY_ATTACK_POISON_CHANCE: () => new TrainerItemReward(TrainerItemId.ENEMY_ATTACK_POISON_CHANCE),
|
||||
ENEMY_ATTACK_PARALYZE_CHANCE: () => new TrainerItemReward(TrainerItemId.ENEMY_ATTACK_PARALYZE_CHANCE),
|
||||
ENEMY_ATTACK_BURN_CHANCE: () => new TrainerItemReward(TrainerItemId.ENEMY_ATTACK_BURN_CHANCE),
|
||||
ENEMY_STATUS_EFFECT_HEAL_CHANCE: () => new TrainerItemReward(TrainerItemId.ENEMY_STATUS_EFFECT_HEAL_CHANCE),
|
||||
ENEMY_ENDURE_CHANCE: () => new TrainerItemReward(TrainerItemId.ENEMY_ENDURE_CHANCE),
|
||||
ENEMY_FUSED_CHANCE: () => new TrainerItemReward(TrainerItemId.ENEMY_FUSED_CHANCE),
|
||||
|
||||
// Items from mystery encounters
|
||||
MYSTERY_ENCOUNTER_SHUCKLE_JUICE_GOOD: () => new HeldItemReward(HeldItemId.SHUCKLE_JUICE_GOOD),
|
||||
MYSTERY_ENCOUNTER_SHUCKLE_JUICE_BAD: () => new HeldItemReward(HeldItemId.SHUCKLE_JUICE_BAD),
|
||||
|
||||
MYSTERY_ENCOUNTER_OLD_GATEAU: () => new HeldItemReward(HeldItemId.OLD_GATEAU),
|
||||
|
||||
MYSTERY_ENCOUNTER_BLACK_SLUDGE: () => new TrainerItemReward(TrainerItemId.BLACK_SLUDGE),
|
||||
|
||||
MYSTERY_ENCOUNTER_MACHO_BRACE: () => new HeldItemReward(HeldItemId.MACHO_BRACE),
|
||||
|
||||
MYSTERY_ENCOUNTER_GOLDEN_BUG_NET: () => new TrainerItemReward(TrainerItemId.GOLDEN_BUG_NET),
|
||||
});
|
||||
|
||||
/**
|
||||
* The initial set of modifier types, used to generate the modifier pool.
|
||||
*/
|
||||
export type Rewards = typeof rewardInitObj;
|
||||
export type RewardKeys = keyof typeof rewardInitObj;
|
||||
|
||||
export class RewardOption {
|
||||
public type: Reward;
|
||||
public upgradeCount: number;
|
||||
|
Loading…
Reference in New Issue
Block a user