Skip to content

Commit

Permalink
Adding options to see mons with only one or only two cost reductions
Browse files Browse the repository at this point in the history
  • Loading branch information
Wlowscha committed Dec 27, 2024
1 parent 10e0f9f commit 5f1e4b2
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 4 deletions.
12 changes: 11 additions & 1 deletion src/ui/dropdown.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ export enum DropDownState {
ON = 0,
OFF = 1,
EXCLUDE = 2,
UNLOCKABLE = 3
UNLOCKABLE = 3,
ONE = 4,
TWO = 5
}

export enum DropDownType {
Expand Down Expand Up @@ -56,6 +58,8 @@ export class DropDownOption extends Phaser.GameObjects.Container {
private offColor = 0x272727;
private excludeColor = 0xff5555;
private unlockableColor = 0xffff00;
private oneColor = 0x33bbff;
private twoColor = 0x33bbff;

constructor(scene: SceneBase, val: any, labels: DropDownLabel | DropDownLabel[]) {
super(scene);
Expand Down Expand Up @@ -127,6 +131,12 @@ export class DropDownOption extends Phaser.GameObjects.Container {
case DropDownState.UNLOCKABLE:
this.toggle.setTint(this.unlockableColor);
break;
case DropDownState.ONE:
this.toggle.setTint(this.oneColor);
break;
case DropDownState.TWO:
this.toggle.setTint(this.twoColor);
break;
}
}

Expand Down
13 changes: 10 additions & 3 deletions src/ui/starter-select-ui-handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
const costReductionLabels = [
new DropDownLabel(i18next.t("filterBar:costReduction"), undefined, DropDownState.OFF),
new DropDownLabel(i18next.t("filterBar:costReductionUnlocked"), undefined, DropDownState.ON),
new DropDownLabel(i18next.t("filterBar:costReductionUnlockedOne"), undefined, DropDownState.ONE),
new DropDownLabel(i18next.t("filterBar:costReductionUnlockedTwo"), undefined, DropDownState.TWO),
new DropDownLabel(i18next.t("filterBar:costReductionUnlockable"), undefined, DropDownState.UNLOCKABLE),
new DropDownLabel(i18next.t("filterBar:costReductionLocked"), undefined, DropDownState.EXCLUDE),
];
Expand Down Expand Up @@ -2466,13 +2468,18 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
});

// Cost Reduction Filter
const isCostReduced = starterData.valueReduction > 0;
const isCostReducedByOne = starterData.valueReduction === 1;
const isCostReducedByTwo = starterData.valueReduction === 2;
const isCostReductionUnlockable = this.isValueReductionAvailable(container.species.speciesId);
const fitsCostReduction = this.filterBar.getVals(DropDownColumn.UNLOCKS).some(unlocks => {
if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.ON) {
return isCostReduced;
return isCostReducedByOne || isCostReducedByTwo;
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.ONE) {
return isCostReducedByOne;
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.TWO) {
return isCostReducedByTwo;
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.EXCLUDE) {
return isStarterProgressable && !isCostReduced;
return isStarterProgressable && !(isCostReducedByOne || isCostReducedByTwo);
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.UNLOCKABLE) {
return isCostReductionUnlockable;
} else if (unlocks.val === "COST_REDUCTION" && unlocks.state === DropDownState.OFF) {
Expand Down

0 comments on commit 5f1e4b2

Please sign in to comment.