Remove max level potentials from potential selectors

This commit is contained in:
Melledy
2025-12-04 00:01:48 -08:00
parent e5cb842fdd
commit be84e0f406

View File

@@ -477,20 +477,40 @@ public class StarTowerGame {
} }
// Random potentials list // Random potentials list
var potentials = new IntArrayList(); var list = new IntArrayList();
// Add potentials based on character role // Add potentials based on character role
boolean isMainCharacter = this.getCharIds().getInt(0) == charId; boolean isMainCharacter = this.getCharIds().getInt(0) == charId;
if (isMainCharacter) { if (isMainCharacter) {
potentials.addElements(0, data.getMasterSpecificPotentialIds()); list.addElements(0, data.getMasterSpecificPotentialIds());
potentials.addElements(0, data.getMasterNormalPotentialIds()); list.addElements(0, data.getMasterNormalPotentialIds());
} else { } else {
potentials.addElements(0, data.getAssistSpecificPotentialIds()); list.addElements(0, data.getAssistSpecificPotentialIds());
potentials.addElements(0, data.getAssistNormalPotentialIds()); list.addElements(0, data.getAssistNormalPotentialIds());
} }
potentials.addElements(0, data.getCommonPotentialIds()); list.addElements(0, data.getCommonPotentialIds());
// Remove potentials we already have maxed out
var potentials = new IntArrayList();
for (int id : list) {
// Get potential data
var potential = GameData.getPotentialDataTable().get(id);
if (potential == null) continue;
// Filter out max level ones
int curLevel = this.getPotentials().get(id);
int maxLevel = potential.getMaxLevel(this);
if (curLevel >= maxLevel) {
continue;
}
// Add
potentials.add(id);
}
// Get up to 3 random potentials // Get up to 3 random potentials
IntList selector = new IntArrayList(); IntList selector = new IntArrayList();