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:
+7
-7
@@ -38,21 +38,21 @@ public class RingOfEnergy extends Ring {
|
|||||||
public String statsInfo() {
|
public String statsInfo() {
|
||||||
if (isIdentified()){
|
if (isIdentified()){
|
||||||
String info = Messages.get(this, "stats",
|
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)){
|
if (isEquipped(Dungeon.hero) && soloBuffedBonus() != combinedBuffedBonus(Dungeon.hero)){
|
||||||
info += "\n\n" + Messages.get(this, "combined_stats",
|
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;
|
return info;
|
||||||
} else {
|
} else {
|
||||||
return Messages.get(this, "typical_stats",
|
return Messages.get(this, "typical_stats",
|
||||||
Messages.decimalFormat("#.##", 15f));
|
Messages.decimalFormat("#.##", 17.5f));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String upgradeStat1(int level){
|
public String upgradeStat1(int level){
|
||||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
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
|
@Override
|
||||||
@@ -61,11 +61,11 @@ public class RingOfEnergy extends Ring {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static float wandChargeMultiplier( Char target ){
|
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 ){
|
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)){
|
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);
|
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 ){
|
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 {
|
public class Energy extends RingBuff {
|
||||||
|
|||||||
+5
-5
@@ -84,9 +84,9 @@ public class RingOfForce extends Ring {
|
|||||||
int dmg = Hero.heroDamageIntRange(min(level, tier), max(level, tier));
|
int dmg = Hero.heroDamageIntRange(min(level, tier), max(level, tier));
|
||||||
if (hero.buff(BrawlersStance.class) != null
|
if (hero.buff(BrawlersStance.class) != null
|
||||||
&& hero.buff(BrawlersStance.class).active){
|
&& hero.buff(BrawlersStance.class).active){
|
||||||
// 1+tier base dmg, roughly +35% dmg
|
// 3+tier base dmg, roughly +60%->45% dmg at T1->5
|
||||||
// lvl*((3+tier)/8) scaling, roughly +30% dmg
|
// lvl*((4+2*tier)/8) scaling, +50% dmg
|
||||||
dmg += Math.round(1+tier+(level*((3+tier)/8f)));
|
dmg += Math.round(3+tier+(level*((4+2*tier)/8f)));
|
||||||
}
|
}
|
||||||
return dmg;
|
return dmg;
|
||||||
} else {
|
} else {
|
||||||
@@ -149,7 +149,7 @@ public class RingOfForce extends Ring {
|
|||||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
||||||
if (Dungeon.hero != null && Dungeon.hero.heroClass == HeroClass.DUELIST){
|
if (Dungeon.hero != null && Dungeon.hero.heroClass == HeroClass.DUELIST){
|
||||||
float tier = tier(Dungeon.hero != null ? Dungeon.hero.STR() : 10);
|
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);
|
return (min(level+1, tier) + bonus) + "-" + (max(level+1, tier) + bonus);
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
@@ -230,7 +230,7 @@ public class RingOfForce extends Ring {
|
|||||||
//0 if unidentified, solo level if unequipped, combined level if equipped
|
//0 if unidentified, solo level if unequipped, combined level if equipped
|
||||||
int level = isIdentified() ? (isEquipped(Dungeon.hero) ? getBuffedBonus(Dungeon.hero, Force.class) : soloBuffedBonus()) : 0;
|
int level = isIdentified() ? (isEquipped(Dungeon.hero) ? getBuffedBonus(Dungeon.hero, Force.class) : soloBuffedBonus()) : 0;
|
||||||
float tier = tier(Dungeon.hero.STR());
|
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()) {
|
if (isIdentified()) {
|
||||||
info += "\n\n" + Messages.get(this, "ability_desc", min(level, tier)+dmgBoost, max(level, tier)+dmgBoost);
|
info += "\n\n" + Messages.get(this, "ability_desc", min(level, tier)+dmgBoost, max(level, tier)+dmgBoost);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+5
-5
@@ -35,20 +35,20 @@ public class RingOfHaste extends Ring {
|
|||||||
public String statsInfo() {
|
public String statsInfo() {
|
||||||
if (isIdentified()){
|
if (isIdentified()){
|
||||||
String info = Messages.get(this, "stats",
|
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)){
|
if (isEquipped(Dungeon.hero) && soloBuffedBonus() != combinedBuffedBonus(Dungeon.hero)){
|
||||||
info += "\n\n" + Messages.get(this, "combined_stats",
|
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;
|
return info;
|
||||||
} else {
|
} 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){
|
public String upgradeStat1(int level){
|
||||||
if (cursed && cursedKnown) level = Math.min(-1, level-3);
|
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
|
@Override
|
||||||
@@ -57,7 +57,7 @@ public class RingOfHaste extends Ring {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static float speedMultiplier( Char target ){
|
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 {
|
public class Haste extends RingBuff {
|
||||||
|
|||||||
Reference in New Issue
Block a user