Authenticity fix for saradomin brew (added bias to linear formula). Fixes #304.

This commit is contained in:
Avi Weinstock
2022-02-26 05:36:06 +00:00
committed by Ryan
parent 509d73ff2c
commit b6457acd15
2 changed files with 8 additions and 6 deletions
@@ -317,7 +317,7 @@ public enum Consumables {
AGILITY(new Potion(new int[] {3032, 3034, 3036, 3038}, new SkillEffect(Skills.AGILITY, 3, 0))), AGILITY(new Potion(new int[] {3032, 3034, 3036, 3038}, new SkillEffect(Skills.AGILITY, 3, 0))),
HUNTER(new Potion(new int[] {9998, 10000, 10002, 10004}, new SkillEffect(Skills.HUNTER, 3, 0))), HUNTER(new Potion(new int[] {9998, 10000, 10002, 10004}, new SkillEffect(Skills.HUNTER, 3, 0))),
RESTORE(new Potion(new int[] {2430, 127, 129, 131}, new RestoreEffect(10, 0.3))), RESTORE(new Potion(new int[] {2430, 127, 129, 131}, new RestoreEffect(10, 0.3))),
SARA_BREW(new Potion(new int[] {6685, 6687, 6689, 6691}, new MultiEffect(new PercentHeal(.15), new SkillEffect(Skills.ATTACK, 0, -0.10), new SkillEffect(Skills.STRENGTH, 0, -0.10), new SkillEffect(Skills.MAGIC, 0, -0.10), new SkillEffect(Skills.RANGE, 0, -0.10), new SkillEffect(Skills.DEFENCE, 2, 0.2)))), SARA_BREW(new Potion(new int[] {6685, 6687, 6689, 6691}, new MultiEffect(new PercentHeal(2, .15), new SkillEffect(Skills.ATTACK, 0, -0.10), new SkillEffect(Skills.STRENGTH, 0, -0.10), new SkillEffect(Skills.MAGIC, 0, -0.10), new SkillEffect(Skills.RANGE, 0, -0.10), new SkillEffect(Skills.DEFENCE, 2, 0.2)))),
SUMMONING(new Potion(new int[] {12140, 12142, 12144, 12146}, new SummoningEffect(7, 0.25))), SUMMONING(new Potion(new int[] {12140, 12142, 12144, 12146}, new SummoningEffect(7, 0.25))),
COMBAT(new Potion(new int[] {9739, 9741, 9743, 9745}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 3, .1), new SkillEffect(Skills.ATTACK, 3, .1)))), COMBAT(new Potion(new int[] {9739, 9741, 9743, 9745}, new MultiEffect(new SkillEffect(Skills.STRENGTH, 3, .1), new SkillEffect(Skills.ATTACK, 3, .1)))),
ENERGY(new Potion(new int[] {3008, 3010, 3012, 3014}, new MultiEffect(new EnergyEffect(10), new HealingEffect(3)))), ENERGY(new Potion(new int[] {3008, 3010, 3012, 3014}, new MultiEffect(new EnergyEffect(10), new HealingEffect(3)))),
@@ -4,18 +4,20 @@ import core.game.node.entity.player.Player;
import core.game.content.consumable.ConsumableEffect; import core.game.content.consumable.ConsumableEffect;
public class PercentHeal extends ConsumableEffect { public class PercentHeal extends ConsumableEffect {
double perc = 0.0; int base = 0;
double percent = 0.0;
public PercentHeal(double percent){ public PercentHeal(int base, double percent){
perc = percent; this.base = base;
this.percent = percent;
} }
@Override @Override
public void activate(Player p) { public void activate(Player p) {
int maxHp = p.getSkills().getMaximumLifepoints(); int maxHp = p.getSkills().getMaximumLifepoints();
int curHp = p.getSkills().getLifepoints(); int curHp = p.getSkills().getLifepoints();
int amount = (int) Math.floor(maxHp * perc); int amount = (int) Math.floor(maxHp * percent);
amount = Math.min(amount, (int)((1.0 + perc) * (double)maxHp - (double)curHp)); amount = base + Math.min(amount, (int)((1.0 + percent) * (double)maxHp - (double)curHp));
p.getSkills().healNoRestrictions(amount); p.getSkills().healNoRestrictions(amount);
} }
} }