v2.5.0: Ring balance changes:

- brawler's stance bonus dmg up to ~50% from ~30%
- ring of energy boost up to 17.5% from 15%
- ring of haste boost down to 17.5% from 20%
This commit is contained in:
Evan Debenham
2024-07-11 17:18:01 -04:00
parent 525571f044
commit 90d14838ae
3 changed files with 17 additions and 17 deletions

View File

@@ -38,21 +38,21 @@ public class RingOfEnergy extends Ring {
public String statsInfo() {
if (isIdentified()){
String info = Messages.get(this, "stats",
Messages.decimalFormat("#.##", 100f * (Math.pow(1.15f, soloBuffedBonus()) - 1f)));
Messages.decimalFormat("#.##", 100f * (Math.pow(1.175f, soloBuffedBonus()) - 1f)));
if (isEquipped(Dungeon.hero) && soloBuffedBonus() != combinedBuffedBonus(Dungeon.hero)){
info += "\n\n" + Messages.get(this, "combined_stats",
Messages.decimalFormat("#.##", 100f * (Math.pow(1.15f, combinedBuffedBonus(Dungeon.hero)) - 1f)));
Messages.decimalFormat("#.##", 100f * (Math.pow(1.175f, combinedBuffedBonus(Dungeon.hero)) - 1f)));
}
return info;
} else {
return Messages.get(this, "typical_stats",
Messages.decimalFormat("#.##", 15f));
Messages.decimalFormat("#.##", 17.5f));
}
}
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)) + "%";
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.175f, level+1)-1f)) + "%";
}
@Override
@@ -61,11 +61,11 @@ public class RingOfEnergy extends Ring {
}
public static float wandChargeMultiplier( Char target ){
return (float)Math.pow(1.15, getBuffedBonus(target, Energy.class));
return (float)Math.pow(1.175, getBuffedBonus(target, Energy.class));
}
public static float artifactChargeMultiplier( Char target ){
float bonus = (float)Math.pow(1.15, getBuffedBonus(target, Energy.class));
float bonus = (float)Math.pow(1.175, getBuffedBonus(target, Energy.class));
if (target instanceof Hero && ((Hero) target).heroClass != HeroClass.ROGUE && ((Hero) target).hasTalent(Talent.LIGHT_CLOAK)){
bonus *= 1f + (0.2f * ((Hero) target).pointsInTalent(Talent.LIGHT_CLOAK)/3f);
@@ -75,7 +75,7 @@ public class RingOfEnergy extends Ring {
}
public static float armorChargeMultiplier( Char target ){
return (float)Math.pow(1.15, getBuffedBonus(target, Energy.class));
return (float)Math.pow(1.175, getBuffedBonus(target, Energy.class));
}
public class Energy extends RingBuff {

View File

@@ -84,9 +84,9 @@ public class RingOfForce extends Ring {
int dmg = Hero.heroDamageIntRange(min(level, tier), max(level, tier));
if (hero.buff(BrawlersStance.class) != null
&& hero.buff(BrawlersStance.class).active){
// 1+tier base dmg, roughly +35% dmg
// lvl*((3+tier)/8) scaling, roughly +30% dmg
dmg += Math.round(1+tier+(level*((3+tier)/8f)));
// 3+tier base dmg, roughly +60%->45% dmg at T1->5
// lvl*((4+2*tier)/8) scaling, +50% dmg
dmg += Math.round(3+tier+(level*((4+2*tier)/8f)));
}
return dmg;
} else {
@@ -149,7 +149,7 @@ public class RingOfForce extends Ring {
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)));
int bonus = Math.round(3+tier+(level*((4+2*tier)/8f)));
return (min(level+1, tier) + bonus) + "-" + (max(level+1, tier) + bonus);
} else {
return null;
@@ -230,7 +230,7 @@ public class RingOfForce extends Ring {
//0 if unidentified, solo level if unequipped, combined level if equipped
int level = isIdentified() ? (isEquipped(Dungeon.hero) ? getBuffedBonus(Dungeon.hero, Force.class) : soloBuffedBonus()) : 0;
float tier = tier(Dungeon.hero.STR());
int dmgBoost = Math.round(1+tier+(level*((3+tier)/8f)));
int dmgBoost = Math.round(3+tier+(level*((4+2*tier)/8f)));
if (isIdentified()) {
info += "\n\n" + Messages.get(this, "ability_desc", min(level, tier)+dmgBoost, max(level, tier)+dmgBoost);
} else {

View File

@@ -35,20 +35,20 @@ public class RingOfHaste extends Ring {
public String statsInfo() {
if (isIdentified()){
String info = Messages.get(this, "stats",
Messages.decimalFormat("#.##", 100f * (Math.pow(1.2f, soloBuffedBonus()) - 1f)));
Messages.decimalFormat("#.##", 100f * (Math.pow(1.175f, soloBuffedBonus()) - 1f)));
if (isEquipped(Dungeon.hero) && soloBuffedBonus() != combinedBuffedBonus(Dungeon.hero)){
info += "\n\n" + Messages.get(this, "combined_stats",
Messages.decimalFormat("#.##", 100f * (Math.pow(1.2f, combinedBuffedBonus(Dungeon.hero)) - 1f)));
Messages.decimalFormat("#.##", 100f * (Math.pow(1.175f, combinedBuffedBonus(Dungeon.hero)) - 1f)));
}
return info;
} else {
return Messages.get(this, "typical_stats", Messages.decimalFormat("#.##", 20f));
return Messages.get(this, "typical_stats", Messages.decimalFormat("#.##", 17.5f));
}
}
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)) + "%";
return Messages.decimalFormat("#.##", 100f * (Math.pow(1.75f, level+1)-1f)) + "%";
}
@Override
@@ -57,7 +57,7 @@ public class RingOfHaste extends Ring {
}
public static float speedMultiplier( Char target ){
return (float)Math.pow(1.2, getBuffedBonus(target, Haste.class));
return (float)Math.pow(1.75, getBuffedBonus(target, Haste.class));
}
public class Haste extends RingBuff {