Merge pull request #8384 from Hydrox6/super-restore-fix
prayer: fix dose indicator not accounting for super restores or sanfews
This commit is contained in:
@@ -66,6 +66,8 @@ class PrayerDoseOverlay extends Overlay
|
|||||||
@Setter(AccessLevel.PACKAGE)
|
@Setter(AccessLevel.PACKAGE)
|
||||||
private boolean hasPrayerRestore;
|
private boolean hasPrayerRestore;
|
||||||
@Setter(AccessLevel.PACKAGE)
|
@Setter(AccessLevel.PACKAGE)
|
||||||
|
private int bonusPrayer;
|
||||||
|
@Setter(AccessLevel.PACKAGE)
|
||||||
private boolean hasHolyWrench;
|
private boolean hasHolyWrench;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -135,14 +137,9 @@ class PrayerDoseOverlay extends Overlay
|
|||||||
final double dosePercentage = hasHolyWrench ? .27 : .25;
|
final double dosePercentage = hasHolyWrench ? .27 : .25;
|
||||||
final int basePointsRestored = (int) Math.floor(maxPrayer * dosePercentage);
|
final int basePointsRestored = (int) Math.floor(maxPrayer * dosePercentage);
|
||||||
|
|
||||||
// how many points a prayer and super restore will heal
|
final int pointsRestored = basePointsRestored + 7 + bonusPrayer;
|
||||||
final int prayerPotionPointsRestored = basePointsRestored + 7;
|
|
||||||
final int superRestorePointsRestored = basePointsRestored + 8;
|
|
||||||
|
|
||||||
final boolean usePrayerPotion = prayerPointsMissing >= prayerPotionPointsRestored;
|
if (prayerPointsMissing < pointsRestored)
|
||||||
final boolean useSuperRestore = prayerPointsMissing >= superRestorePointsRestored;
|
|
||||||
|
|
||||||
if (!usePrayerPotion && !useSuperRestore)
|
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,6 +135,7 @@ public class PrayerPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
doseOverlay.setHasHolyWrench(false);
|
doseOverlay.setHasHolyWrench(false);
|
||||||
doseOverlay.setHasPrayerRestore(false);
|
doseOverlay.setHasPrayerRestore(false);
|
||||||
|
doseOverlay.setBonusPrayer(0);
|
||||||
|
|
||||||
if (inventory != null)
|
if (inventory != null)
|
||||||
{
|
{
|
||||||
@@ -211,6 +212,10 @@ public class PrayerPlugin extends Plugin
|
|||||||
|
|
||||||
int total = 0;
|
int total = 0;
|
||||||
|
|
||||||
|
boolean hasPrayerPotion = false;
|
||||||
|
boolean hasSuperRestore = false;
|
||||||
|
boolean hasSanfew = false;
|
||||||
|
|
||||||
for (Item item : items)
|
for (Item item : items)
|
||||||
{
|
{
|
||||||
if (item == null)
|
if (item == null)
|
||||||
@@ -225,9 +230,13 @@ public class PrayerPlugin extends Plugin
|
|||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case PRAYERPOT:
|
case PRAYERPOT:
|
||||||
|
hasPrayerPotion = true;
|
||||||
|
break;
|
||||||
case RESTOREPOT:
|
case RESTOREPOT:
|
||||||
|
hasSuperRestore = true;
|
||||||
|
break;
|
||||||
case SANFEWPOT:
|
case SANFEWPOT:
|
||||||
doseOverlay.setHasPrayerRestore(true);
|
hasSanfew = true;
|
||||||
break;
|
break;
|
||||||
case HOLYWRENCH:
|
case HOLYWRENCH:
|
||||||
doseOverlay.setHasHolyWrench(true);
|
doseOverlay.setHasHolyWrench(true);
|
||||||
@@ -239,6 +248,19 @@ public class PrayerPlugin extends Plugin
|
|||||||
total += bonus;
|
total += bonus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (hasSanfew || hasSuperRestore || hasPrayerPotion)
|
||||||
|
{
|
||||||
|
doseOverlay.setHasPrayerRestore(true);
|
||||||
|
if (hasSanfew)
|
||||||
|
{
|
||||||
|
doseOverlay.setBonusPrayer(2);
|
||||||
|
}
|
||||||
|
else if (hasSuperRestore)
|
||||||
|
{
|
||||||
|
doseOverlay.setBonusPrayer(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return total;
|
return total;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user