Difficulty info tooltips

This commit is contained in:
Anuken
2025-04-12 11:36:49 -04:00
parent f50f935232
commit da2821f220
3 changed files with 24 additions and 1 deletions

View File

@@ -21,7 +21,24 @@ public enum Difficulty{
this.enemyHealthMultiplier = enemyHealthMultiplier;
}
public String info(){
String res =
(enemyHealthMultiplier == 1f ? "" : Core.bundle.format("difficulty.enemyHealthMultiplier", percentStat(enemyHealthMultiplier)) + "\n") +
(enemySpawnMultiplier == 1f ? "" : Core.bundle.format("difficulty.enemySpawnMultiplier", percentStat(enemySpawnMultiplier)) + "\n") +
(waveTimeMultiplier == 1f ? "" : Core.bundle.format("difficulty.waveTimeMultiplier", percentStatNeg(waveTimeMultiplier)) + "\n");
return res.isEmpty() ? Core.bundle.get("difficulty.nomodifiers") : res;
}
public String localized(){
return Core.bundle.get("difficulty." + name());
}
static String percentStat(float val){
return ((int)(val * 100 - 100) > 0 ? "[negstat]+" : "[stat]") + (int)(val * 100 - 100) + "%[]";
}
static String percentStatNeg(float val){
return ((int)(val * 100 - 100) > 0 ? "[stat]+" : "[negstat]") + (int)(val * 100 - 100) + "%[]";
}
}

View File

@@ -53,7 +53,8 @@ public class CampaignRulesDialog extends BaseDialog{
for(Difficulty diff : Difficulty.all){
t.button(diff.localized(), style, () -> {
rules.difficulty = diff;
}).group(group).checked(b -> rules.difficulty == diff);
}).group(group).checked(b -> rules.difficulty == diff)
.tooltip(diff.info());
if(Core.graphics.isPortrait() && diff.ordinal() % 2 == 1){
t.row();