public static int levelDamageBonus( Char target ){ return getBonus(target, RingOfSharpshooting.Aim.class); }
@Override public int max(int lvl) { return 6 + (int)(Dungeon.hero.lvl/2.5f) + 2*RingOfSharpshooting.levelDamageBonus(Dungeon.hero); }
public String statsInfo() { if (isIdentified()){ return Messages.get(this, "stats", soloBonus(), new DecimalFormat("#.##").format(100f * (Math.pow(1.2, soloBonus()) - 1f))); } else { return Messages.get(this, "typical_stats", 1, new DecimalFormat("#.##").format(20f)); } }
protected float durabilityPerUse(){ float usages = baseUses * (float)(Math.pow(3, level())); if (Dungeon.hero.heroClass == HeroClass.HUNTRESS) usages *= 1.5f; if (holster) usages *= MagicalHolster.HOLSTER_DURABILITY_FACTOR; usages *= RingOfSharpshooting.durabilityMultiplier( Dungeon.hero ); //at 100 uses, items just last forever. if (usages >= 100f) return 0; //add a tiny amount to account for rounding error for calculations like 1/3 return (MAX_DURABILITY/usages) + 0.001f; }
public String statsInfo() { if (isIdentified()){ return Messages.get(this, "stats", soloBonus(), new DecimalFormat("#.##").format(100f * (Math.pow(1.2, soloBonus()) - 1f))); } else { return Messages.get(this, "typical_stats", 1, new DecimalFormat("#.##").format(20f)); } }
protected float durabilityPerUse(){ float usages = baseUses * (float)(Math.pow(3, level())); if (Dungeon.hero.heroClass == HeroClass.HUNTRESS) usages *= 1.5f; if (holster) usages *= MagicalHolster.HOLSTER_DURABILITY_FACTOR; usages *= RingOfSharpshooting.durabilityMultiplier( Dungeon.hero ); //at 100 uses, items just last forever. if (usages >= 100f) return 0; //add a tiny amount to account for rounding error for calculations like 1/3 return (MAX_DURABILITY/usages) + 0.001f; }
@Override public int min(int lvl) { return 1 + Dungeon.hero.lvl/5 + RingOfSharpshooting.levelDamageBonus(Dungeon.hero); }
public static int levelDamageBonus( Char target ){ return getBonus(target, RingOfSharpshooting.Aim.class); }
@Override public int min(int lvl) { return 1 + Dungeon.hero.lvl/5 + RingOfSharpshooting.levelDamageBonus(Dungeon.hero); }
public static float durabilityMultiplier( Char target ){ return (float)(Math.pow(1.2, getBonus(target, Aim.class))); }
@Override public int max(int lvl) { return 6 + (int)(Dungeon.hero.lvl/2.5f) + 2*RingOfSharpshooting.levelDamageBonus(Dungeon.hero); }
public static float durabilityMultiplier( Char target ){ return (float)(Math.pow(1.2, getBonus(target, Aim.class))); }
@Override public int max() { return Math.max(0, max( level() + RingOfSharpshooting.levelDamageBonus(Dungeon.hero) )); }
@Override public int min() { return Math.max(0, min( level() + RingOfSharpshooting.levelDamageBonus(Dungeon.hero) )); }
@Override public int max() { return Math.max(0, max( level() + RingOfSharpshooting.levelDamageBonus(Dungeon.hero) )); }
@Override public int min() { return Math.max(0, min( level() + RingOfSharpshooting.levelDamageBonus(Dungeon.hero) )); }