mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-09 00:49:27 +02:00
Added generateRewardOptionFromId function
This commit is contained in:
parent
b293b9063e
commit
49092aad55
@ -42,37 +42,28 @@ export function generateReward(rewardFunc: RewardFunc, pregenArgs?: any[]): Rewa
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates a Reward Option from a given function
|
* Generates a Reward Option from a given id
|
||||||
* @param rewardFunc
|
* @param rewardFunc
|
||||||
* @param pregenArgs - can specify BerryType for berries, TM for TMs, AttackBoostType for item, etc.
|
* @param pregenArgs - can specify BerryType for berries, TM for TMs, AttackBoostType for item, etc.
|
||||||
*/
|
*/
|
||||||
export function generateRewardOption(rewardFunc: RewardFunc, pregenArgs?: any[]): RewardOption | null {
|
export function generateRewardOptionFromId(id: RewardPoolId, cost = 0, pregenArgs?: any[]): RewardOption | null {
|
||||||
const reward = generateReward(rewardFunc, pregenArgs);
|
|
||||||
if (reward) {
|
|
||||||
const tier = getRewardDefaultTier(reward);
|
|
||||||
return new RewardOption(reward, 0, tier);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function generateRewardOptionFromId(id: RewardPoolId, pregenArgs?: any[]): RewardOption | null {
|
|
||||||
if (isHeldItemId(id)) {
|
if (isHeldItemId(id)) {
|
||||||
const reward = new HeldItemReward(id);
|
const reward = new HeldItemReward(id);
|
||||||
const tier = heldItemRarities[id];
|
const tier = heldItemRarities[id];
|
||||||
return new RewardOption(reward, 0, tier);
|
return new RewardOption(reward, 0, tier, cost);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isTrainerItemId(id)) {
|
if (isTrainerItemId(id)) {
|
||||||
const reward = new TrainerItemReward(id);
|
const reward = new TrainerItemReward(id);
|
||||||
const tier = trainerItemRarities[id];
|
const tier = trainerItemRarities[id];
|
||||||
return new RewardOption(reward, 0, tier);
|
return new RewardOption(reward, 0, tier, cost);
|
||||||
}
|
}
|
||||||
|
|
||||||
const rewardFunc = allRewards[id];
|
const rewardFunc = allRewards[id];
|
||||||
const reward = generateReward(rewardFunc, pregenArgs);
|
const reward = generateReward(rewardFunc, pregenArgs);
|
||||||
if (reward) {
|
if (reward) {
|
||||||
const tier = rewardRarities[id];
|
const tier = rewardRarities[id];
|
||||||
return new RewardOption(reward, 0, tier);
|
return new RewardOption(reward, 0, tier, cost);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -84,26 +75,26 @@ export function getPlayerShopRewardOptionsForWave(waveIndex: number, baseCost: n
|
|||||||
|
|
||||||
const options = [
|
const options = [
|
||||||
[
|
[
|
||||||
new RewardOption(allRewards.POTION(), 0, baseCost * 0.2),
|
generateRewardOptionFromId(RewardId.POTION, baseCost * 0.2),
|
||||||
new RewardOption(allRewards.ETHER(), 0, baseCost * 0.4),
|
generateRewardOptionFromId(RewardId.ETHER, baseCost * 0.4),
|
||||||
new RewardOption(allRewards.REVIVE(), 0, baseCost * 2),
|
generateRewardOptionFromId(RewardId.REVIVE, baseCost * 2),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
new RewardOption(allRewards.SUPER_POTION(), 0, baseCost * 0.45),
|
generateRewardOptionFromId(RewardId.SUPER_POTION, baseCost * 0.45),
|
||||||
new RewardOption(allRewards.FULL_HEAL(), 0, baseCost),
|
generateRewardOptionFromId(RewardId.FULL_HEAL, baseCost),
|
||||||
],
|
],
|
||||||
[new RewardOption(allRewards.ELIXIR(), 0, baseCost), new RewardOption(allRewards.MAX_ETHER(), 0, baseCost)],
|
[generateRewardOptionFromId(RewardId.ELIXIR, baseCost), generateRewardOptionFromId(RewardId.MAX_ETHER, baseCost)],
|
||||||
[
|
[
|
||||||
new RewardOption(allRewards.HYPER_POTION(), 0, baseCost * 0.8),
|
generateRewardOptionFromId(RewardId.HYPER_POTION, baseCost * 0.8),
|
||||||
new RewardOption(allRewards.MAX_REVIVE(), 0, baseCost * 2.75),
|
generateRewardOptionFromId(RewardId.MAX_REVIVE, baseCost * 2.75),
|
||||||
new RewardOption(allRewards.MEMORY_MUSHROOM(), 0, baseCost * 4),
|
generateRewardOptionFromId(RewardId.MEMORY_MUSHROOM, baseCost * 4),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
new RewardOption(allRewards.MAX_POTION(), 0, baseCost * 1.5),
|
generateRewardOptionFromId(RewardId.MAX_POTION, baseCost * 1.5),
|
||||||
new RewardOption(allRewards.MAX_ELIXIR(), 0, baseCost * 2.5),
|
generateRewardOptionFromId(RewardId.MAX_ELIXIR, baseCost * 2.5),
|
||||||
],
|
],
|
||||||
[new RewardOption(allRewards.FULL_RESTORE(), 0, baseCost * 2.25)],
|
[generateRewardOptionFromId(RewardId.FULL_RESTORE, baseCost * 2.25)],
|
||||||
[new RewardOption(allRewards.SACRED_ASH(), 0, baseCost * 10)],
|
[generateRewardOptionFromId(RewardId.SACRED_ASH, baseCost * 10)],
|
||||||
];
|
];
|
||||||
return options.slice(0, Math.ceil(Math.max(waveIndex + 10, 0) / 30)).flat();
|
return options.slice(0, Math.ceil(Math.max(waveIndex + 10, 0) / 30)).flat();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user