Authenticity fix for saradomin brew (added bias to linear formula). Fixes #304.
This commit is contained in:
@@ -317,7 +317,7 @@ public enum Consumables {
|
||||
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))),
|
||||
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))),
|
||||
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)))),
|
||||
|
||||
@@ -4,18 +4,20 @@ import core.game.node.entity.player.Player;
|
||||
import core.game.content.consumable.ConsumableEffect;
|
||||
|
||||
public class PercentHeal extends ConsumableEffect {
|
||||
double perc = 0.0;
|
||||
int base = 0;
|
||||
double percent = 0.0;
|
||||
|
||||
public PercentHeal(double percent){
|
||||
perc = percent;
|
||||
public PercentHeal(int base, double percent){
|
||||
this.base = base;
|
||||
this.percent = percent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void activate(Player p) {
|
||||
int maxHp = p.getSkills().getMaximumLifepoints();
|
||||
int curHp = p.getSkills().getLifepoints();
|
||||
int amount = (int) Math.floor(maxHp * perc);
|
||||
amount = Math.min(amount, (int)((1.0 + perc) * (double)maxHp - (double)curHp));
|
||||
int amount = (int) Math.floor(maxHp * percent);
|
||||
amount = base + Math.min(amount, (int)((1.0 + percent) * (double)maxHp - (double)curHp));
|
||||
p.getSkills().healNoRestrictions(amount);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user