v2.5.0: fixed upgrade window ring stats not accounting for curses
This commit is contained in:
committed by
Evan Debenham
parent
e4085fe445
commit
f232a5d1e8
@@ -47,6 +47,7 @@ public class RingOfAccuracy extends Ring {
|
||||
}
|
||||
|
||||
public String upgradeStat1(int level){
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.3f, level+1)-1f)) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ public class RingOfArcana extends Ring {
|
||||
}
|
||||
|
||||
public String upgradeStat1(int level){
|
||||
if (cursed) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.175f, level+1)-1f)) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ public class RingOfElements extends Ring {
|
||||
}
|
||||
|
||||
public String upgradeStat1(int level){
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (1f - Math.pow(0.825f, level+1))) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ public class RingOfEnergy extends Ring {
|
||||
}
|
||||
|
||||
public String upgradeStat1(int level){
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.15f, level+1)-1f)) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ public class RingOfEvasion extends Ring {
|
||||
}
|
||||
|
||||
public String upgradeStat1(int level){
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.125f, level+1)-1f)) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -133,17 +133,20 @@ public class RingOfForce extends Ring {
|
||||
|
||||
@Override
|
||||
public String upgradeStat1(int level) {
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
float tier = tier(Dungeon.hero != null ? Dungeon.hero.STR() : 10);
|
||||
return min(level+1, tier) + "-" + max(level+1, tier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String upgradeStat2(int level) {
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Integer.toString(level+1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String upgradeStat3(int level) {
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
if (Dungeon.hero != null && Dungeon.hero.heroClass == HeroClass.DUELIST){
|
||||
float tier = tier(Dungeon.hero != null ? Dungeon.hero.STR() : 10);
|
||||
int bonus = Math.round(1+tier+((level+1)*((3+tier)/8f)));
|
||||
|
||||
@@ -47,6 +47,7 @@ public class RingOfFuror extends Ring {
|
||||
}
|
||||
|
||||
public String upgradeStat1(int level){
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.09051f, level+1)-1f)) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ public class RingOfHaste extends Ring {
|
||||
}
|
||||
|
||||
public String upgradeStat1(int level){
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.2f, level+1)-1f)) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -90,11 +90,13 @@ public class RingOfMight extends Ring {
|
||||
|
||||
@Override
|
||||
public String upgradeStat1(int level) {
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Integer.toString(level+1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String upgradeStat2(int level) {
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.035, level+1)-1f)) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -48,11 +48,13 @@ public class RingOfSharpshooting extends Ring {
|
||||
|
||||
@Override
|
||||
public String upgradeStat1(int level) {
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Integer.toString(level+1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String upgradeStat2(int level) {
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.2, level+1)-1f)) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ public class RingOfTenacity extends Ring {
|
||||
}
|
||||
|
||||
public String upgradeStat1(int level){
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (1f - Math.pow(0.85f, level+1))) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -76,6 +76,7 @@ public class RingOfWealth extends Ring {
|
||||
}
|
||||
|
||||
public String upgradeStat1(int level){
|
||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.2f, level+1)-1f)) + "%";
|
||||
}
|
||||
|
||||
|
||||
@@ -103,6 +103,7 @@ public class WndUpgrade extends Window {
|
||||
|
||||
// *** Sprites, showing item at current level and with +1 ***
|
||||
|
||||
//TODO add a background here too, to better communicate things like ID state and curse state?
|
||||
ItemSprite i1 = new ItemSprite();
|
||||
add(i1);
|
||||
i1.view(toUpgrade);
|
||||
@@ -254,7 +255,6 @@ public class WndUpgrade extends Window {
|
||||
}
|
||||
|
||||
//Various ring stats (varies by ring)
|
||||
//TODO cursed ring stats?
|
||||
if (toUpgrade instanceof Ring){
|
||||
if (((Ring) toUpgrade).upgradeStat1(levelFrom) != null){
|
||||
bottom = fillFields(Messages.get(toUpgrade, "upgrade_stat_name_1"),
|
||||
|
||||
Reference in New Issue
Block a user