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:
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user