Search in sources :

Example 1 with Stat

use of net.runelite.client.plugins.itemstats.stats.Stat in project runelite by runelite.

the class SuperRestore method calculate.

@Override
public StatsChanges calculate(Client client) {
    StatsChanges changes = new StatsChanges(0);
    SimpleStatBoost calc = new SimpleStatBoost(null, false, perc(.25, delta));
    PrayerPotion prayer = new PrayerPotion(delta);
    changes.setStatChanges(Stream.concat(Stream.of(prayer.effect(client)), Stream.of(superRestoreStats).filter(stat -> stat.getValue(client) < stat.getMaximum(client)).map(stat -> {
        calc.setStat(stat);
        return calc.effect(client);
    })).toArray(StatChange[]::new));
    changes.setPositivity(Stream.of(changes.getStatChanges()).map(sc -> sc.getPositivity()).max(Comparator.comparing(Enum::ordinal)).get());
    return changes;
}
Also used : StatsChanges(net.runelite.client.plugins.itemstats.StatsChanges) Builders.perc(net.runelite.client.plugins.itemstats.Builders.perc) Stream(java.util.stream.Stream) Stat(net.runelite.client.plugins.itemstats.stats.Stat) Stats(net.runelite.client.plugins.itemstats.stats.Stats) RequiredArgsConstructor(lombok.RequiredArgsConstructor) Effect(net.runelite.client.plugins.itemstats.Effect) StatChange(net.runelite.client.plugins.itemstats.StatChange) Comparator(java.util.Comparator) Client(net.runelite.api.Client) SimpleStatBoost(net.runelite.client.plugins.itemstats.SimpleStatBoost) SimpleStatBoost(net.runelite.client.plugins.itemstats.SimpleStatBoost) StatChange(net.runelite.client.plugins.itemstats.StatChange) StatsChanges(net.runelite.client.plugins.itemstats.StatsChanges)

Aggregations

Comparator (java.util.Comparator)1 Stream (java.util.stream.Stream)1 RequiredArgsConstructor (lombok.RequiredArgsConstructor)1 Client (net.runelite.api.Client)1 Builders.perc (net.runelite.client.plugins.itemstats.Builders.perc)1 Effect (net.runelite.client.plugins.itemstats.Effect)1 SimpleStatBoost (net.runelite.client.plugins.itemstats.SimpleStatBoost)1 StatChange (net.runelite.client.plugins.itemstats.StatChange)1 StatsChanges (net.runelite.client.plugins.itemstats.StatsChanges)1 Stat (net.runelite.client.plugins.itemstats.stats.Stat)1 Stats (net.runelite.client.plugins.itemstats.stats.Stats)1