mirror of
https://github.com/Zoinkwiz/quest-helper.git
synced 2025-12-23 22:48:29 -05:00
Update tree run (#2492)
* WIP: Adds new trees, new patches, and calquats. * Fixes erroneous import. * Updates calquat patch tab to match FRUIT_TREE from PatchImplementation * WIP: adds new farm regions * Adds updated farmrun files from RuneLite. * Bug fix, fix issues with some plots. * Fixes bug with Anglers Retreat not updating. * Updates sidebar steps * Adds missing comma. * Adds more commas.
This commit is contained in:
@@ -274,7 +274,10 @@ public class FarmingUtils
|
||||
public enum HardwoodTreeSapling implements PlantableItem
|
||||
{
|
||||
TEAK(ItemID.PLANTPOT_TEAK_SAPLING, ItemID.LIMPWURT_ROOT, 15),
|
||||
MAHOGANY(ItemID.PLANTPOT_MAHOGANY_SAPLING, ItemID.YANILLIAN_HOPS, 25);
|
||||
MAHOGANY(ItemID.PLANTPOT_MAHOGANY_SAPLING, ItemID.YANILLIAN_HOPS, 25),
|
||||
CAMPHOR(ItemID.PLANTPOT_CAMPHOR_SAPLING, ItemID.WHITE_BERRIES, 10),
|
||||
IRONWOOD(ItemID.PLANTPOT_IRONWOOD_SAPLING, ItemID.CURRY, 10),
|
||||
ROSEWOOD(ItemID.PLANTPOT_ROSEWOOD_SAPLING, ItemID.DRAGONFRUIT, 8);
|
||||
|
||||
final int hardwoodTreeSaplingId;
|
||||
final int protectionItemId;
|
||||
@@ -318,6 +321,52 @@ public class FarmingUtils
|
||||
}
|
||||
}
|
||||
|
||||
public enum CalquatTreeSapling implements PlantableItem
|
||||
{
|
||||
CALQUAT(ItemID.PLANTPOT_CALQUAT_SAPLING, ItemID.POISONIVY_BERRIES, 8);
|
||||
|
||||
final int calquatTreeSaplingId;
|
||||
final int protectionItemId;
|
||||
final int protectionItemQuantity;
|
||||
|
||||
CalquatTreeSapling(int calquatTreeSaplingId, int protectionItemId, int protectionItemQuantity)
|
||||
{
|
||||
this.calquatTreeSaplingId = calquatTreeSaplingId;
|
||||
this.protectionItemId = protectionItemId;
|
||||
this.protectionItemQuantity = protectionItemQuantity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getConfigKey()
|
||||
{
|
||||
return "calquatTreeSaplings";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPlantableItemId()
|
||||
{
|
||||
return calquatTreeSaplingId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getProtectionItemId()
|
||||
{
|
||||
return protectionItemId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getProtectionItemQuantity()
|
||||
{
|
||||
return protectionItemQuantity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigEnum getDefault()
|
||||
{
|
||||
return CalquatTreeSapling.CALQUAT;
|
||||
}
|
||||
}
|
||||
|
||||
public enum GracefulOrFarming
|
||||
{
|
||||
NONE(),
|
||||
|
||||
@@ -29,15 +29,21 @@ import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.google.common.collect.Multimaps;
|
||||
import com.google.inject.Singleton;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
import java.util.TreeSet;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.Getter;
|
||||
import net.runelite.api.coords.WorldPoint;
|
||||
import net.runelite.api.gameval.NpcID;
|
||||
import net.runelite.api.gameval.VarbitID;
|
||||
import net.runelite.client.plugins.timetracking.Tab;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Singleton
|
||||
class FarmingWorld
|
||||
{
|
||||
@@ -45,12 +51,13 @@ class FarmingWorld
|
||||
private Multimap<Integer, FarmingRegion> regions = HashMultimap.create();
|
||||
|
||||
@Getter
|
||||
@SuppressWarnings("PMD.ImmutableField")
|
||||
private Map<Tab, Set<FarmingPatch>> tabs = new HashMap<>();
|
||||
|
||||
private final Comparator<FarmingPatch> tabSorter = Comparator
|
||||
.comparing(FarmingPatch::getImplementation)
|
||||
.thenComparing((FarmingPatch p) -> p.getRegion().getName())
|
||||
.thenComparing(FarmingPatch::getName);
|
||||
.comparing(FarmingPatch::getImplementation)
|
||||
.thenComparing((FarmingPatch p) -> p.getRegion().getName())
|
||||
.thenComparing(FarmingPatch::getName);
|
||||
|
||||
@Getter
|
||||
private final FarmingRegion farmingGuildRegion;
|
||||
@@ -60,39 +67,48 @@ class FarmingWorld
|
||||
// Some of these patches get updated in multiple regions.
|
||||
// It may be worth it to add a specialization for these patches
|
||||
add(new FarmingRegion("Al Kharid", 13106, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CACTUS, NpcID.FARMING_GARDENER_CACTUS)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CACTUS, NpcID.FARMING_GARDENER_CACTUS)
|
||||
), 13362, 13105);
|
||||
|
||||
add(new FarmingRegion("Aldarin", 5421, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_5)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_5)
|
||||
), 5165, 5166, 5422, 5677, 5678);
|
||||
|
||||
add(new FarmingRegion("Ardougne", 10290, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_4)
|
||||
), 10546);
|
||||
add(new FarmingRegion("Ardougne", 10548, false,
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.KRAGEN, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.KRAGEN, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
add(new FarmingRegion("Anglers' Retreat", 9770, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FARMING_GARDENER_HARDWOOD_TREE_5)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Ardougne", 10290, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_4)
|
||||
), 10546);
|
||||
add(new FarmingRegion("Ardougne", 10548, false,
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.KRAGEN, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.KRAGEN, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Auburnvale", 5427, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_7),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.BELLADONNA)
|
||||
), 5428, 5684);
|
||||
|
||||
add(new FarmingRegion("Avium Savannah", 6702, true,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FROG_QUEST_MARCELLUS)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FROG_QUEST_MARCELLUS)
|
||||
), 6446);
|
||||
|
||||
add(new FarmingRegion("Brimhaven", 11058, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.GARTH),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_3)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.GARTH),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_3)
|
||||
), 11057);
|
||||
|
||||
add(new FarmingRegion("Catherby", 11062, false,
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.DANTAERA, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.DANTAERA, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.DANTAERA, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.DANTAERA, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
)
|
||||
{
|
||||
@Override
|
||||
@@ -107,7 +123,7 @@ class FarmingWorld
|
||||
}
|
||||
}, 11061, 11318, 11317);
|
||||
add(new FarmingRegion("Catherby", 11317, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_4)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_4)
|
||||
)
|
||||
{
|
||||
//The fruit tree patch is always sent when upstairs in 11317
|
||||
@@ -119,39 +135,39 @@ class FarmingWorld
|
||||
});
|
||||
|
||||
add(new FarmingRegion("Civitas illa Fortis", 6192, false,
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.FORTIS_GARDENER, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.FORTIS_GARDENER, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.FORTIS_GARDENER, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.FORTIS_GARDENER, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
), 6447, 6448, 6449, 6191, 6193);
|
||||
|
||||
add(new FarmingRegion("Champions' Guild", 12596, true,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_1)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_1)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Draynor Manor", 12340, false,
|
||||
new FarmingPatch("Belladonna", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BELLADONNA)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BELLADONNA)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Entrana", 11060, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FRANCIS)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FRANCIS)
|
||||
), 11316);
|
||||
|
||||
add(new FarmingRegion("Etceteria", 10300, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_3),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_2)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_3),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_2)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Falador", 11828, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_2)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_2)
|
||||
), 12084);
|
||||
add(new FarmingRegion("Falador", 12083, false,
|
||||
new FarmingPatch("North West", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.ELSTAN, 0),
|
||||
new FarmingPatch("South East", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.ELSTAN, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
new FarmingPatch("North West", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.ELSTAN, 0),
|
||||
new FarmingPatch("South East", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.ELSTAN, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
)
|
||||
{
|
||||
@Override
|
||||
@@ -163,9 +179,9 @@ class FarmingWorld
|
||||
});
|
||||
|
||||
add(new FarmingRegion("Fossil Island", 14651, false,
|
||||
new FarmingPatch("East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER1),
|
||||
new FarmingPatch("Middle", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER2),
|
||||
new FarmingPatch("West", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER3)
|
||||
new FarmingPatch("East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER1),
|
||||
new FarmingPatch("Middle", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER2),
|
||||
new FarmingPatch("West", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.HARDWOOD_TREE, NpcID.FOSSIL_SQUIRREL_GARDENER3)
|
||||
)
|
||||
{
|
||||
@Override
|
||||
@@ -182,7 +198,7 @@ class FarmingWorld
|
||||
|
||||
//East and west ladders to rope bridge
|
||||
if ((loc.getX() == 3729 || loc.getX() == 3728 || loc.getX() == 3747 || loc.getX() == 3746)
|
||||
&& loc.getY() <= 3832 && loc.getY() >= 3830)
|
||||
&& loc.getY() <= 3832 && loc.getY() >= 3830)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -191,71 +207,79 @@ class FarmingWorld
|
||||
}
|
||||
}, 14907, 14908, 15164, 14652, 14906, 14650, 15162, 15163);
|
||||
add(new FarmingRegion("Seaweed", 15008, false,
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SEAWEED, NpcID.FOSSIL_GARDENER_UNDERWATER, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SEAWEED, NpcID.FOSSIL_GARDENER_UNDERWATER, 1)
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SEAWEED, NpcID.FOSSIL_GARDENER_UNDERWATER, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.SEAWEED, NpcID.FOSSIL_GARDENER_UNDERWATER, 1)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Gnome Stronghold", 9781, true,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_GNOME),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_1)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_GNOME),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_1)
|
||||
), 9782, 9526, 9525);
|
||||
|
||||
add(new FarmingRegion("Great Conch", 12581, true,
|
||||
new FarmingPatch("East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CORAL, NpcID.TORTUGAN_CORAL_FARMER, 0),
|
||||
new FarmingPatch("West", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.CORAL, NpcID.TORTUGAN_CORAL_FARMER, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.CALQUAT, NpcID.FARMING_GARDENER_CALQUAT_3)
|
||||
), 12325, 12326, 12327, 12580, 12581, 12582, 12583, 12836, 12837, 12838, 12839, 13092, 13093, 13194);
|
||||
|
||||
add(new FarmingRegion("Harmony", 15148, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.HERB)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.HERB)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Kastori", 5423, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CALQUAT, NpcID.FARMING_GARDENER_CALQUAT_2),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_7),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER)
|
||||
), 5167, 5424);
|
||||
|
||||
add(new FarmingRegion("Kourend", 6967, false,
|
||||
new FarmingPatch("North East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.HOSIDIUS_ALLOTMENT_GARDENER, 0),
|
||||
new FarmingPatch("South West", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.HOSIDIUS_ALLOTMENT_GARDENER, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_F, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_4)
|
||||
new FarmingPatch("North East", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.HOSIDIUS_ALLOTMENT_GARDENER, 0),
|
||||
new FarmingPatch("South West", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.HOSIDIUS_ALLOTMENT_GARDENER, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_F, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_4)
|
||||
), 6711);
|
||||
add(new FarmingRegion("Kourend", 7223, false,
|
||||
new FarmingPatch("East 1", VarbitID.FARMING_TRANSMIT_A1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 2", VarbitID.FARMING_TRANSMIT_A2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 3", VarbitID.FARMING_TRANSMIT_B1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 4", VarbitID.FARMING_TRANSMIT_B2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 5", VarbitID.FARMING_TRANSMIT_C1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 6", VarbitID.FARMING_TRANSMIT_C2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 1", VarbitID.FARMING_TRANSMIT_D1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 2", VarbitID.FARMING_TRANSMIT_D2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 3", VarbitID.FARMING_TRANSMIT_E1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 4", VarbitID.FARMING_TRANSMIT_E2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 5", VarbitID.FARMING_TRANSMIT_F1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 6", VarbitID.FARMING_TRANSMIT_F2, PatchImplementation.GRAPES)
|
||||
new FarmingPatch("East 1", VarbitID.FARMING_TRANSMIT_A1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 2", VarbitID.FARMING_TRANSMIT_A2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 3", VarbitID.FARMING_TRANSMIT_B1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 4", VarbitID.FARMING_TRANSMIT_B2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 5", VarbitID.FARMING_TRANSMIT_C1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("East 6", VarbitID.FARMING_TRANSMIT_C2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 1", VarbitID.FARMING_TRANSMIT_D1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 2", VarbitID.FARMING_TRANSMIT_D2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 3", VarbitID.FARMING_TRANSMIT_E1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 4", VarbitID.FARMING_TRANSMIT_E2, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 5", VarbitID.FARMING_TRANSMIT_F1, PatchImplementation.GRAPES),
|
||||
new FarmingPatch("West 6", VarbitID.FARMING_TRANSMIT_F2, PatchImplementation.GRAPES)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Lletya", 9265, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_TREE_5)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_TREE_5)
|
||||
), 11103);
|
||||
|
||||
add(new FarmingRegion("Lumbridge", 12851, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_3)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_3)
|
||||
));
|
||||
add(new FarmingRegion("Lumbridge", 12594, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_4)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_4)
|
||||
), 12850);
|
||||
|
||||
add(new FarmingRegion("Morytania", 13622, false,
|
||||
new FarmingPatch("Mushroom", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.MUSHROOM)
|
||||
new FarmingPatch("Mushroom", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.MUSHROOM)
|
||||
), 13878);
|
||||
add(new FarmingRegion("Morytania", 14391, false,
|
||||
new FarmingPatch("North West", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.LYRA, 0),
|
||||
new FarmingPatch("South East", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.LYRA, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
new FarmingPatch("North West", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.LYRA, 0),
|
||||
new FarmingPatch("South East", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.LYRA, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.COMPOST)
|
||||
), 14390);
|
||||
|
||||
add(new FarmingRegion("Nemus Retreat", 5427, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_7)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Port Sarim", 12082, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_1)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_1)
|
||||
)
|
||||
{
|
||||
@Override
|
||||
@@ -266,71 +290,71 @@ class FarmingWorld
|
||||
}, 12083);
|
||||
|
||||
add(new FarmingRegion("Rimmington", 11570, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_2)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_BUSH_2)
|
||||
), 11826);
|
||||
|
||||
add(new FarmingRegion("Seers' Village", 10551, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_4)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_4)
|
||||
), 10550);
|
||||
|
||||
add(new FarmingRegion("Tai Bwo Wannai", 11056, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CALQUAT, NpcID.FARMING_GARDENER_CALQUAT)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.CALQUAT, NpcID.FARMING_GARDENER_CALQUAT)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Taverley", 11573, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_1)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_1)
|
||||
), 11829);
|
||||
|
||||
add(new FarmingRegion("Tree Gnome Village", 9777, true,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_2)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FRUIT_2)
|
||||
), 10033);
|
||||
|
||||
add(new FarmingRegion("Troll Stronghold", 11321, true,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HERB)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HERB)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Varrock", 12854, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_3_02)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.TREE, NpcID.FARMING_GARDENER_TREE_3_02)
|
||||
), 12853);
|
||||
|
||||
add(new FarmingRegion("Yanille", 10288, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_1)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HOPS, NpcID.FARMING_GARDENER_HOPS_1)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Weiss", 11325, false,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HERB)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.HERB)
|
||||
));
|
||||
|
||||
add(new FarmingRegion("Farming Guild", 5021, true,
|
||||
new FarmingPatch("Hespori", VarbitID.FARMING_TRANSMIT_J, PatchImplementation.HESPORI)
|
||||
new FarmingPatch("Hespori", VarbitID.FARMING_TRANSMIT_J, PatchImplementation.HESPORI)
|
||||
));
|
||||
|
||||
//Full 3x3 region area centered on farming guild
|
||||
add(farmingGuildRegion = new FarmingRegion("Farming Guild", 4922, true,
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_G, PatchImplementation.TREE, NpcID.FARMING_GARDENER_FARMGUILD_T2),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_FARMGUILD_T1, 3),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_H, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.ALLOTMENT, NpcID.FARMING_GARDENER_FARMGUILD_T1, 1),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.ALLOTMENT, NpcID.FARMING_GARDENER_FARMGUILD_T1, 2),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_N, PatchImplementation.BIG_COMPOST),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_F, PatchImplementation.CACTUS, NpcID.FARMING_GARDENER_FARMGUILD_T1, 0),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_5),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_K, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FARMGUILD_T3),
|
||||
new FarmingPatch("Anima", VarbitID.FARMING_TRANSMIT_M, PatchImplementation.ANIMA),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_L, PatchImplementation.CELASTRUS, NpcID.FARMING_GARDENER_FARMGUILD_CELASTRUS),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_I, PatchImplementation.REDWOOD, NpcID.FARMING_GARDENER_FARMGUILD_REDWOOD)
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_G, PatchImplementation.TREE, NpcID.FARMING_GARDENER_FARMGUILD_T2),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.HERB),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.BUSH, NpcID.FARMING_GARDENER_FARMGUILD_T1, 3),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_H, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.ALLOTMENT, NpcID.FARMING_GARDENER_FARMGUILD_T1, 1),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.ALLOTMENT, NpcID.FARMING_GARDENER_FARMGUILD_T1, 2),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_N, PatchImplementation.BIG_COMPOST),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_F, PatchImplementation.CACTUS, NpcID.FARMING_GARDENER_FARMGUILD_T1, 0),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.SPIRIT_TREE, NpcID.FARMING_GARDENER_SPIRIT_TREE_5),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_K, PatchImplementation.FRUIT_TREE, NpcID.FARMING_GARDENER_FARMGUILD_T3),
|
||||
new FarmingPatch("Anima", VarbitID.FARMING_TRANSMIT_M, PatchImplementation.ANIMA),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_L, PatchImplementation.CELASTRUS, NpcID.FARMING_GARDENER_FARMGUILD_CELASTRUS),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_I, PatchImplementation.REDWOOD, NpcID.FARMING_GARDENER_FARMGUILD_REDWOOD)
|
||||
), 5177, 5178, 5179, 4921, 4923, 4665, 4666, 4667);
|
||||
|
||||
//All of Prifddinas, and all of Prifddinas Underground
|
||||
add(new FarmingRegion("Prifddinas", 13151, false,
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.PRIF_GARDENER, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.PRIF_GARDENER, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.CRYSTAL_TREE),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.COMPOST)
|
||||
), 12895, 12894, 13150,
|
||||
/* Underground */ 12994, 12993, 12737, 12738, 12126, 12127, 13250);
|
||||
new FarmingPatch("North", VarbitID.FARMING_TRANSMIT_A, PatchImplementation.ALLOTMENT, NpcID.PRIF_GARDENER, 0),
|
||||
new FarmingPatch("South", VarbitID.FARMING_TRANSMIT_B, PatchImplementation.ALLOTMENT, NpcID.PRIF_GARDENER, 1),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_C, PatchImplementation.FLOWER),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_E, PatchImplementation.CRYSTAL_TREE),
|
||||
new FarmingPatch("", VarbitID.FARMING_TRANSMIT_D, PatchImplementation.COMPOST)
|
||||
), 12895, 12894, 13150,
|
||||
/* Underground */ 12994, 12993, 12737, 12738, 12126, 12127, 13250);
|
||||
|
||||
// Finalize
|
||||
this.regions = Multimaps.unmodifiableMultimap(this.regions);
|
||||
@@ -352,15 +376,15 @@ class FarmingWorld
|
||||
for (FarmingPatch p : r.getPatches())
|
||||
{
|
||||
tabs
|
||||
.computeIfAbsent(p.getImplementation().getTab(), k -> new TreeSet<>(tabSorter))
|
||||
.add(p);
|
||||
.computeIfAbsent(p.getImplementation().getTab(), k -> new TreeSet<>(tabSorter))
|
||||
.add(p);
|
||||
}
|
||||
}
|
||||
|
||||
Collection<FarmingRegion> getRegionsForLocation(WorldPoint location)
|
||||
{
|
||||
return this.regions.get(location.getRegionID()).stream()
|
||||
.filter(region -> region.isInBounds(location))
|
||||
.collect(Collectors.toSet());
|
||||
.filter(region -> region.isInBounds(location))
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -32,6 +32,7 @@ import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.FruitTreeSaplin
|
||||
import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.GracefulOrFarming;
|
||||
import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.HardwoodTreeSapling;
|
||||
import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.TreeSapling;
|
||||
import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.CalquatTreeSapling;
|
||||
import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.PayOrCut;
|
||||
import com.questhelper.helpers.mischelpers.farmruns.FarmingUtils.PayOrCompost;
|
||||
import com.questhelper.panel.PanelDetails;
|
||||
@@ -90,71 +91,95 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
DetailedQuestStep waitForTree;
|
||||
|
||||
// Trees
|
||||
DetailedQuestStep farmingGuildTreePatchCheckHealth, lumbridgeTreePatchCheckHealth, faladorTreePatchCheckHealth, taverleyTreePatchCheckHealth, varrockTreePatchCheckHealth,
|
||||
gnomeStrongholdTreePatchCheckHealth, nemusRetreatTreePatchCheckHealth;
|
||||
DetailedQuestStep farmingGuildTreePatchPlant, lumbridgeTreePatchPlant, faladorTreePatchPlant, taverleyTreePatchPlant,
|
||||
varrockTreePatchPlant, gnomeStrongholdTreePatchPlant, nemusRetreatTreePatchPlant;
|
||||
DetailedQuestStep farmingGuildTreePatchCheckHealth, lumbridgeTreePatchCheckHealth, faladorTreePatchCheckHealth,
|
||||
taverleyTreePatchCheckHealth, varrockTreePatchCheckHealth, gnomeStrongholdTreePatchCheckHealth,
|
||||
auburnvaleTreePatchCheckHealth;
|
||||
DetailedQuestStep farmingGuildTreePatchPlant, lumbridgeTreePatchPlant, faladorTreePatchPlant,
|
||||
taverleyTreePatchPlant, varrockTreePatchPlant, gnomeStrongholdTreePatchPlant,
|
||||
auburnvaleTreePatchPlant;
|
||||
|
||||
DetailedQuestStep lumbridgeTreePatchClear, faladorTreePatchClear, taverleyTreePatchClear, varrockTreePatchClear,
|
||||
gnomeStrongholdTreePatchClear, farmingGuildTreePatchClear, nemusRetreatTreePatchClear;
|
||||
gnomeStrongholdTreePatchClear, farmingGuildTreePatchClear, auburnvaleTreePatchClear;
|
||||
DetailedQuestStep lumbridgeTreePatchDig, faladorTreePatchDig, taverleyTreePatchDig, varrockTreePatchDig,
|
||||
gnomeStrongholdTreePatchDig, farmingGuildTreePatchDig, nemusRetreatTreePatchDig;
|
||||
gnomeStrongholdTreePatchDig, farmingGuildTreePatchDig, auburnvaleTreePatchDig;
|
||||
|
||||
DetailedQuestStep farmingGuildTreePayForProtection, lumbridgeTreeProtect, faladorTreeProtect, taverleyTreeProtect,
|
||||
varrockTreeProtect, strongholdTreeProtect, nemusRetreatTreeProtect;
|
||||
DetailedQuestStep farmingGuildTreePayForProtection, lumbridgeTreeProtect,
|
||||
faladorTreeProtect, taverleyTreeProtect, varrockTreeProtect, strongholdTreeProtect,
|
||||
auburnvaleTreeProtect;
|
||||
|
||||
// Fruit Trees
|
||||
DetailedQuestStep farmingGuildFruitTreePatchCheckHealth, gnomeStrongholdFruitTreePatchCheckHealth, gnomeVillageFruitTreePatchCheckHealth,
|
||||
brimhavenFruitTreePatchCheckHealth, lletyaFruitTreePatchCheckHealth, catherbyFruitTreePatchCheckHealth;
|
||||
DetailedQuestStep farmingGuildFruitTreePatchPlant, gnomeStrongholdFruitTreePatchPlant, gnomeVillageFruitTreePatchPlant,
|
||||
brimhavenFruitTreePatchPlant, lletyaFruitTreePatchPlant, catherbyFruitTreePatchPlant;
|
||||
DetailedQuestStep farmingGuildFruitTreePatchCheckHealth, gnomeStrongholdFruitTreePatchCheckHealth,
|
||||
gnomeVillageFruitTreePatchCheckHealth, brimhavenFruitTreePatchCheckHealth, lletyaFruitTreePatchCheckHealth,
|
||||
catherbyFruitTreePatchCheckHealth, taiBwoWannaiCalquatPatchCheckHealth, kastoriFruitTreePatchCheckHealth,
|
||||
kastoriCalquatPatchCheckHealth, greatConchCalquatPatchCheckHealth;
|
||||
DetailedQuestStep farmingGuildFruitTreePatchPlant, gnomeStrongholdFruitTreePatchPlant,
|
||||
gnomeVillageFruitTreePatchPlant, brimhavenFruitTreePatchPlant, lletyaFruitTreePatchPlant,
|
||||
catherbyFruitTreePatchPlant, taiBwoWannaiCalquatPatchPlant, kastoriFruitTreePatchPlant,
|
||||
kastoriCalquatPatchPlant, greatConchCalquatPatchPlant;
|
||||
|
||||
DetailedQuestStep farmingGuildFruitTreePatchClear, gnomeStrongholdFruitTreePatchClear, gnomeVillageFruitTreePatchClear,
|
||||
brimhavenFruitTreePatchClear, lletyaFruitTreePatchClear, catherbyFruitTreePatchClear;
|
||||
DetailedQuestStep farmingGuildFruitTreePatchClear, gnomeStrongholdFruitTreePatchClear,
|
||||
gnomeVillageFruitTreePatchClear, brimhavenFruitTreePatchClear, lletyaFruitTreePatchClear,
|
||||
catherbyFruitTreePatchClear, taiBwoWannaiCalquatPatchClear, kastoriFruitTreePatchClear,
|
||||
kastoriCalquatPatchClear, greatConchCalquatPatchClear;
|
||||
DetailedQuestStep farmingGuildFruitTreePatchDig, gnomeStrongholdFruitTreePatchDig, gnomeVillageFruitTreePatchDig,
|
||||
brimhavenFruitTreePatchDig, lletyaFruitTreePatchDig, catherbyFruitTreePatchDig;
|
||||
brimhavenFruitTreePatchDig, lletyaFruitTreePatchDig, catherbyFruitTreePatchDig,
|
||||
taiBwoWannaiCalquatPatchDig, kastoriFruitTreePatchDig, kastoriCalquatPatchDig, greatConchCalquatPatchDig;
|
||||
|
||||
DetailedQuestStep guildFruitProtect, strongholdFruitProtect, villageFruitProtect, brimhavenFruitProtect,
|
||||
lletyaFruitProtect, catherbyFruitProtect;
|
||||
lletyaFruitProtect, catherbyFruitProtect, taiBwoWannaiCalquatProtect, kastoriFruitProtect,
|
||||
kastoriCalquatProtect, greatConchCalquatProtect;
|
||||
|
||||
// Hardwood Trees
|
||||
DetailedQuestStep eastHardwoodTreePatchCheckHealth, westHardwoodTreePatchCheckHealth, middleHardwoodTreePatchCheckHealth, savannahCheckHealth;
|
||||
DetailedQuestStep eastHardwoodTreePatchPlant, westHardwoodTreePatchPlant, middleHardwoodTreePatchPlant, savannahPlant;
|
||||
DetailedQuestStep eastHardwoodTreePatchDig, westHardwoodTreePatchDig, middleHardwoodTreePatchDig, savannahDig;
|
||||
DetailedQuestStep eastHardwoodTreePatchCheckHealth, westHardwoodTreePatchCheckHealth,
|
||||
middleHardwoodTreePatchCheckHealth, savannahCheckHealth, anglersCheckHealth;
|
||||
DetailedQuestStep eastHardwoodTreePatchPlant, westHardwoodTreePatchPlant, middleHardwoodTreePatchPlant,
|
||||
savannahPlant, anglersPlant;
|
||||
DetailedQuestStep eastHardwoodTreePatchDig, westHardwoodTreePatchDig, middleHardwoodTreePatchDig, savannahDig,
|
||||
anglersDig;
|
||||
|
||||
DetailedQuestStep eastHardwoodTreePatchClear, westHardwoodTreePatchClear, middleHardwoodTreePatchClear, savannahClear;
|
||||
DetailedQuestStep eastHardwoodTreePatchClear, westHardwoodTreePatchClear, middleHardwoodTreePatchClear,
|
||||
savannahClear, anglersClear;
|
||||
|
||||
DetailedQuestStep eastHardwoodProtect, westHardwoodProtect, middleHardwoodProtect, savannahProtect;
|
||||
DetailedQuestStep eastHardwoodProtect, westHardwoodProtect, middleHardwoodProtect, savannahProtect,
|
||||
anglersProtect;
|
||||
|
||||
// Farming Items
|
||||
ItemRequirement coins, spade, rake, allTreeSaplings, treeSapling, allFruitSaplings, fruitTreeSapling, allHardwoodSaplings, hardwoodSapling, compost, axe,
|
||||
protectionItemTree, allProtectionItemTree, protectionItemFruitTree, allProtectionItemFruitTree, protectionItemHardwood, allProtectionItemHardwood;
|
||||
ItemRequirement coins, spade, rake, allTreeSaplings, treeSapling, allFruitSaplings, fruitTreeSapling,
|
||||
allHardwoodSaplings, hardwoodSapling, calquatSapling, allCalquatSaplings,
|
||||
compost, axe, protectionItemTree, allProtectionItemTree, protectionItemCalquat, allProtectionItemCalquat,
|
||||
protectionItemFruitTree, allProtectionItemFruitTree, protectionItemHardwood, allProtectionItemHardwood;
|
||||
|
||||
// Teleport Items
|
||||
// TODO: Add these...
|
||||
ItemRequirement farmingGuildTeleport, crystalTeleport, catherbyTeleport, varrockTeleport, lumbridgeTeleport, faladorTeleport, fossilIslandTeleport, nemusRetreatTeleport;
|
||||
ItemRequirement farmingGuildTeleport, crystalTeleport, catherbyTeleport, varrockTeleport, lumbridgeTeleport,
|
||||
faladorTeleport, fossilIslandTeleport, auburnvaleTeleport, kastoriTeleport;
|
||||
|
||||
// Graceful Set
|
||||
ItemRequirement gracefulHood, gracefulTop, gracefulLegs, gracefulGloves, gracefulBoots, gracefulCape, gracefulOutfit;
|
||||
ItemRequirement gracefulHood, gracefulTop, gracefulLegs, gracefulGloves, gracefulBoots, gracefulCape,
|
||||
gracefulOutfit;
|
||||
|
||||
// Farming Set
|
||||
ItemRequirement farmingHat, farmingTop, farmingLegs, farmingBoots, farmersOutfit;
|
||||
|
||||
// Access Requirements
|
||||
Requirement accessToFarmingGuildTreePatch, accessToFarmingGuildFruitTreePatch, accessToLletya, accessToFossilIsland, accessToSavannah, accessToVarlamore;
|
||||
Requirement accessToFarmingGuildTreePatch, accessToFarmingGuildFruitTreePatch, accessToLletya, accessToFossilIsland,
|
||||
accessToSavannah, accessToVarlamore, accessToAnglersRetreat, accessToGreatConch;
|
||||
|
||||
Requirement payingForRemoval, payingForProtection, usingCompostorNothing;
|
||||
|
||||
PatchStates faladorStates, lumbridgeStates, farmingGuildTreeStates, taverleyStates, varrockStates, gnomeStrongholdTreeStates, nemusRetreatStates;
|
||||
PatchStates faladorStates, lumbridgeStates, farmingGuildTreeStates, taverleyStates, varrockStates,
|
||||
gnomeStrongholdTreeStates, auburnvaleStates;
|
||||
|
||||
PatchStates gnomeStrongholdFruitStates, gnomeVillageStates, brimhavenStates, catherbyStates, lletyaStates, farmingGuildFruitStates;
|
||||
PatchStates gnomeStrongholdFruitStates, gnomeVillageStates, brimhavenStates, catherbyStates, lletyaStates,
|
||||
farmingGuildFruitStates, taiBwoWannaiStates, kastoriStates, greatConchStates;
|
||||
|
||||
PatchStates eastHardwoodStates, middleHardwoodStates, westHardwoodStates, savannahStates;
|
||||
PatchStates eastHardwoodStates, middleHardwoodStates, westHardwoodStates, savannahStates, anglersRetreatStates;
|
||||
|
||||
Requirement allGrowing;
|
||||
|
||||
ConditionalStep farmingGuildStep, lumbridgeStep, varrockStep, faladorStep, taverleyStep, strongholdStep, villageStep, lletyaStep,
|
||||
catherbyStep, brimhavenStep, fossilIslandStep, savannahStep, nemusRetreatStep;
|
||||
ConditionalStep farmingGuildStep, lumbridgeStep, varrockStep, faladorStep, taverleyStep, strongholdStep,
|
||||
villageStep, lletyaStep, catherbyStep, brimhavenStep, fossilIslandStep, savannahStep, auburnvaleStep,
|
||||
kastoriStep, anglersRetreatStep, greatConchStep;
|
||||
|
||||
private final String PAY_OR_CUT = "payOrCutTree";
|
||||
private final String PAY_OR_COMPOST = "payOrCompostTree";
|
||||
@@ -167,8 +192,8 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
setupSteps();
|
||||
farmingHandler = new FarmingHandler(client, configManager);
|
||||
|
||||
ReorderableConditionalStep steps = new ReorderableConditionalStep(this, waitForTree, spade, coins, rake, compost
|
||||
, farmersOutfit, gracefulOutfit);
|
||||
ReorderableConditionalStep steps = new ReorderableConditionalStep(this, waitForTree, spade, coins,
|
||||
rake, compost, farmersOutfit, gracefulOutfit);
|
||||
|
||||
// Farming Guild Tree -> Farming Guild Fruit Tree -> Lumbridge -> Falador -> Taverley
|
||||
// Varrock -> Gnome Stronghold Fruit -> Gnome Stronghold Tree -> Gnome Village -> catherby
|
||||
@@ -266,8 +291,14 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
brimhavenStep.addStep(brimhavenStates.getIsHarvestable(), brimhavenFruitTreePatchClear);
|
||||
brimhavenStep.addStep(brimhavenStates.getIsStump(), brimhavenFruitTreePatchDig);
|
||||
brimhavenStep.addStep(nor(usingCompostorNothing, brimhavenStates.getIsProtected()), brimhavenFruitProtect);
|
||||
brimhavenStep.addStep(taiBwoWannaiStates.getIsUnchecked(), taiBwoWannaiCalquatPatchCheckHealth);
|
||||
brimhavenStep.addStep(taiBwoWannaiStates.getIsEmpty(), taiBwoWannaiCalquatPatchPlant);
|
||||
brimhavenStep.addStep(taiBwoWannaiStates.getIsHarvestable(), taiBwoWannaiCalquatPatchClear);
|
||||
brimhavenStep.addStep(taiBwoWannaiStates.getIsStump(), taiBwoWannaiCalquatPatchDig);
|
||||
brimhavenStep.addStep(nor(usingCompostorNothing, taiBwoWannaiStates.getIsProtected()),
|
||||
taiBwoWannaiCalquatProtect);
|
||||
|
||||
steps.addStep(nor(brimhavenStates.getIsGrowing()), brimhavenStep.withId(8));
|
||||
steps.addStep(nand(brimhavenStates.getIsGrowing(), taiBwoWannaiStates.getIsGrowing()), brimhavenStep.withId(8));
|
||||
|
||||
lletyaStep = new ConditionalStep(this, lletyaFruitTreePatchCheckHealth);
|
||||
lletyaStep.addStep(lletyaStates.getIsUnchecked(), lletyaFruitTreePatchCheckHealth);
|
||||
@@ -310,14 +341,52 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
|
||||
steps.addStep(and(accessToSavannah, nor(savannahStates.getIsGrowing())), savannahStep.withId(11));
|
||||
|
||||
nemusRetreatStep = new ConditionalStep(this, nemusRetreatTreePatchCheckHealth);
|
||||
nemusRetreatStep.addStep(nemusRetreatStates.getIsUnchecked(), nemusRetreatTreePatchCheckHealth);
|
||||
nemusRetreatStep.addStep(nemusRetreatStates.getIsEmpty(), nemusRetreatTreePatchPlant);
|
||||
nemusRetreatStep.addStep(nemusRetreatStates.getIsHarvestable(), nemusRetreatTreePatchClear);
|
||||
nemusRetreatStep.addStep(nemusRetreatStates.getIsStump(), nemusRetreatTreePatchDig);
|
||||
nemusRetreatStep.addStep(nor(usingCompostorNothing, nemusRetreatStates.getIsProtected()), nemusRetreatTreeProtect);
|
||||
auburnvaleStep = new ConditionalStep(this, auburnvaleTreePatchCheckHealth);
|
||||
auburnvaleStep.addStep(auburnvaleStates.getIsUnchecked(), auburnvaleTreePatchCheckHealth);
|
||||
auburnvaleStep.addStep(auburnvaleStates.getIsEmpty(), auburnvaleTreePatchPlant);
|
||||
auburnvaleStep.addStep(auburnvaleStates.getIsHarvestable(), auburnvaleTreePatchClear);
|
||||
auburnvaleStep.addStep(auburnvaleStates.getIsStump(), auburnvaleTreePatchDig);
|
||||
auburnvaleStep.addStep(nor(usingCompostorNothing, auburnvaleStates.getIsProtected()), auburnvaleTreeProtect);
|
||||
|
||||
steps.addStep(and(accessToVarlamore, nor(nemusRetreatStates.getIsGrowing())), nemusRetreatStep.withId(12));
|
||||
steps.addStep(and(accessToVarlamore, nor(auburnvaleStates.getIsGrowing())), auburnvaleStep.withId(12));
|
||||
|
||||
|
||||
//kastoriStep, anglersRetreatStep, greatConchStep;
|
||||
|
||||
kastoriStep = new ConditionalStep(this, kastoriFruitTreePatchCheckHealth);
|
||||
kastoriStep.addStep(kastoriStates.getIsUnchecked(), kastoriFruitTreePatchCheckHealth);
|
||||
kastoriStep.addStep(kastoriStates.getIsEmpty(), kastoriFruitTreePatchPlant);
|
||||
kastoriStep.addStep(kastoriStates.getIsHarvestable(), kastoriFruitTreePatchClear);
|
||||
kastoriStep.addStep(kastoriStates.getIsStump(), kastoriFruitTreePatchDig);
|
||||
kastoriStep.addStep(nor(usingCompostorNothing, kastoriStates.getIsProtected()), kastoriFruitProtect);
|
||||
|
||||
kastoriStep.addStep(kastoriStates.getIsUnchecked(), kastoriCalquatPatchCheckHealth);
|
||||
kastoriStep.addStep(kastoriStates.getIsEmpty(), kastoriCalquatPatchPlant);
|
||||
kastoriStep.addStep(kastoriStates.getIsHarvestable(), kastoriCalquatPatchClear);
|
||||
kastoriStep.addStep(kastoriStates.getIsStump(), kastoriCalquatPatchDig);
|
||||
kastoriStep.addStep(nor(usingCompostorNothing, kastoriStates.getIsProtected()), kastoriCalquatProtect);
|
||||
|
||||
steps.addStep(and(accessToVarlamore, nand(kastoriStates.getIsGrowing(), kastoriStates.getIsGrowing())), kastoriStep.withId(13));
|
||||
|
||||
anglersRetreatStep = new ConditionalStep(this, anglersCheckHealth);
|
||||
anglersRetreatStep.addStep(anglersRetreatStates.getIsUnchecked(), anglersCheckHealth);
|
||||
anglersRetreatStep.addStep(anglersRetreatStates.getIsEmpty(), anglersPlant);
|
||||
anglersRetreatStep.addStep(anglersRetreatStates.getIsHarvestable(), anglersClear);
|
||||
anglersRetreatStep.addStep(anglersRetreatStates.getIsStump(), anglersDig);
|
||||
anglersRetreatStep.addStep(nor(usingCompostorNothing, anglersRetreatStates.getIsProtected()), anglersProtect);
|
||||
|
||||
steps.addStep(and(accessToAnglersRetreat, nor(anglersRetreatStates.getIsGrowing())),
|
||||
anglersRetreatStep.withId(14));
|
||||
|
||||
greatConchStep = new ConditionalStep(this, greatConchCalquatPatchCheckHealth);
|
||||
greatConchStep.addStep(greatConchStates.getIsUnchecked(), greatConchCalquatPatchCheckHealth);
|
||||
greatConchStep.addStep(greatConchStates.getIsEmpty(), greatConchCalquatPatchPlant);
|
||||
greatConchStep.addStep(greatConchStates.getIsHarvestable(), greatConchCalquatPatchClear);
|
||||
greatConchStep.addStep(greatConchStates.getIsStump(), greatConchCalquatPatchDig);
|
||||
greatConchStep.addStep(nor(usingCompostorNothing, greatConchStates.getIsProtected()), greatConchCalquatProtect);
|
||||
|
||||
steps.addStep(and(accessToGreatConch, nor(greatConchStates.getIsGrowing())),
|
||||
greatConchStep.withId(15));
|
||||
|
||||
return steps;
|
||||
}
|
||||
@@ -339,6 +408,12 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
accessToSavannah = new QuestRequirement(QuestHelperQuest.THE_RIBBITING_TALE_OF_A_LILY_PAD_LABOUR_DISPUTE, QuestState.FINISHED);
|
||||
accessToVarlamore = new QuestRequirement(QuestHelperQuest.CHILDREN_OF_THE_SUN, QuestState.FINISHED);
|
||||
|
||||
accessToAnglersRetreat = new Conditions(
|
||||
new SkillRequirement(Skill.SAILING, 51)
|
||||
);
|
||||
|
||||
accessToGreatConch = new QuestRequirement(QuestHelperQuest.TROUBLED_TORTUGANS, QuestState.FINISHED);
|
||||
|
||||
// Trees
|
||||
lumbridgeStates = new PatchStates("Lumbridge");
|
||||
faladorStates = new PatchStates("Falador");
|
||||
@@ -346,30 +421,38 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
varrockStates = new PatchStates("Varrock");
|
||||
gnomeStrongholdTreeStates = new PatchStates("Gnome Stronghold");
|
||||
farmingGuildTreeStates = new PatchStates("Farming Guild", accessToFarmingGuildTreePatch);
|
||||
nemusRetreatStates = new PatchStates("Nemus Retreat", accessToVarlamore);
|
||||
auburnvaleStates = new PatchStates("Auburnvale", accessToVarlamore);
|
||||
|
||||
// Fruit trees
|
||||
catherbyStates = new PatchStates("Catherby");
|
||||
brimhavenStates = new PatchStates("Brimhaven");
|
||||
taiBwoWannaiStates = new PatchStates("Tai Bwo Wannai");
|
||||
gnomeVillageStates = new PatchStates("Tree Gnome Village");
|
||||
gnomeStrongholdFruitStates = new PatchStates("Gnome Stronghold");
|
||||
lletyaStates = new PatchStates("Lletya", accessToLletya);
|
||||
farmingGuildFruitStates = new PatchStates("Farming Guild", accessToFarmingGuildFruitTreePatch);
|
||||
kastoriStates = new PatchStates("Kastori", accessToVarlamore);
|
||||
greatConchStates = new PatchStates("Great Conch", accessToGreatConch);
|
||||
|
||||
westHardwoodStates = new PatchStates("Fossil Island", "West");
|
||||
middleHardwoodStates = new PatchStates("Fossil Island", "Middle");
|
||||
eastHardwoodStates = new PatchStates("Fossil Island", "East");
|
||||
savannahStates = new PatchStates("Avium Savannah", accessToSavannah);
|
||||
anglersRetreatStates = new PatchStates("Anglers' Retreat", accessToAnglersRetreat);
|
||||
|
||||
allGrowing = and(lumbridgeStates.getIsGrowing(), faladorStates.getIsGrowing(), taverleyStates.getIsGrowing(), varrockStates.getIsGrowing(),
|
||||
gnomeStrongholdTreeStates.getIsGrowing(), catherbyStates.getIsGrowing(), brimhavenStates.getIsGrowing(), gnomeVillageStates.getIsGrowing(),
|
||||
allGrowing = and(lumbridgeStates.getIsGrowing(), faladorStates.getIsGrowing(), taverleyStates.getIsGrowing(),
|
||||
varrockStates.getIsGrowing(), gnomeStrongholdTreeStates.getIsGrowing(), catherbyStates.getIsGrowing(),
|
||||
brimhavenStates.getIsGrowing(), taiBwoWannaiStates.getIsGrowing(), gnomeVillageStates.getIsGrowing(),
|
||||
gnomeStrongholdFruitStates.getIsGrowing(),
|
||||
or(not(accessToLletya), lletyaStates.getIsGrowing()),
|
||||
or(not(accessToVarlamore), nemusRetreatStates.getIsGrowing()),
|
||||
or(not(accessToVarlamore), auburnvaleStates.getIsGrowing()),
|
||||
or(not(accessToVarlamore), kastoriStates.getIsGrowing()),
|
||||
or(not(accessToFarmingGuildTreePatch), farmingGuildTreeStates.getIsGrowing()),
|
||||
or(not(accessToFarmingGuildFruitTreePatch), farmingGuildFruitStates.getIsGrowing()),
|
||||
or(not(accessToFossilIsland), and(westHardwoodStates.getIsGrowing(), middleHardwoodStates.getIsGrowing(), eastHardwoodStates.getIsGrowing())),
|
||||
or(not(accessToSavannah), savannahStates.getIsGrowing())
|
||||
or(not(accessToSavannah), savannahStates.getIsGrowing()),
|
||||
or(not(accessToAnglersRetreat), anglersRetreatStates.getIsGrowing()),
|
||||
or(not(accessToGreatConch), greatConchStates.getIsGrowing())
|
||||
);
|
||||
|
||||
payingForRemoval = new RuneliteRequirement(configManager, PAY_OR_CUT, PayOrCut.PAY.name());
|
||||
@@ -417,6 +500,16 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
protectionItemHardwood.addAlternates(protectionItemHardwood.getId() + 1);
|
||||
allProtectionItemHardwood = protectionItemHardwood.copy();
|
||||
|
||||
CalquatTreeSapling calquatTreeSaplingEnum = (CalquatTreeSapling) FarmingUtils.getEnumFromConfig(configManager,
|
||||
CalquatTreeSapling.CALQUAT);
|
||||
calquatSapling = calquatTreeSaplingEnum.getPlantableItemRequirement(itemManager);
|
||||
calquatSapling.setHighlightInInventory(true);
|
||||
allCalquatSaplings = calquatSapling.copy();
|
||||
|
||||
protectionItemCalquat = calquatTreeSaplingEnum.getProtectionItemRequirement(itemManager).showConditioned(payingForProtection);
|
||||
protectionItemCalquat.addAlternates(protectionItemCalquat.getId() + 1);
|
||||
allProtectionItemCalquat = protectionItemCalquat.copy();
|
||||
|
||||
compost = new ItemRequirement("Compost", ItemCollections.COMPOST).showConditioned(usingCompostorNothing);
|
||||
compost.setDisplayMatchedItemName(true);
|
||||
|
||||
@@ -430,8 +523,10 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
faladorTeleport = new ItemRequirement("Falador teleport", ItemCollections.RING_OF_WEALTHS);
|
||||
faladorTeleport.addAlternates(ItemID.POH_TABLET_FALADORTELEPORT);
|
||||
fossilIslandTeleport = new ItemRequirement("Teleport to Fossil Island", ItemCollections.DIGSITE_PENDANTS);
|
||||
nemusRetreatTeleport = new ItemRequirement("Nemus Retreat Teleport", ItemID.PENDANT_OF_ATES);
|
||||
nemusRetreatTeleport.addAlternates(ItemCollections.FAIRY_STAFF);
|
||||
auburnvaleTeleport = new ItemRequirement("Auburnvale Teleport", ItemID.PENDANT_OF_ATES);
|
||||
auburnvaleTeleport.addAlternates(ItemCollections.FAIRY_STAFF);
|
||||
kastoriTeleport = new ItemRequirement("Kastori Teleport", ItemID.PENDANT_OF_ATES);
|
||||
kastoriTeleport.addAlternates(ItemCollections.FAIRY_STAFF);
|
||||
|
||||
// Graceful and Farming Outfit
|
||||
gracefulHood = new ItemRequirement(
|
||||
@@ -511,9 +606,9 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
"Speak to Rosie to clear the patch.");
|
||||
farmingGuildTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
|
||||
nemusRetreatTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_7, new WorldPoint(1367, 3322, 0),
|
||||
auburnvaleTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_7, new WorldPoint(1367, 3322, 0),
|
||||
"Speak to Aub to clear the patch.");
|
||||
nemusRetreatTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
auburnvaleTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
|
||||
lumbridgeTreeProtect = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_4, new WorldPoint(3193, 3231, 0),
|
||||
"Speak to Fayeth to protect the patch.");
|
||||
@@ -539,9 +634,9 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
"Speak to Rosie to protect the patch.");
|
||||
farmingGuildTreePayForProtection.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
|
||||
nemusRetreatTreeProtect = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_7, new WorldPoint(1367, 3322, 0),
|
||||
auburnvaleTreeProtect = new NpcStep(this, NpcID.FARMING_GARDENER_TREE_7, new WorldPoint(1367, 3322, 0),
|
||||
"Speak to Aub to protect the patch.");
|
||||
nemusRetreatTreeProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
auburnvaleTreeProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
|
||||
// Tree Patch Steps
|
||||
lumbridgeTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_4, new WorldPoint(3193, 3231, 0),
|
||||
@@ -566,10 +661,10 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
farmingGuildTreePatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToFarmingGuildTreePatch));
|
||||
farmingGuildTreePatchCheckHealth.addTeleport(farmingGuildTeleport);
|
||||
|
||||
nemusRetreatTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0),
|
||||
"Check the health of the tree planted at the Nemus Retreat");
|
||||
nemusRetreatTreePatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore));
|
||||
nemusRetreatTreePatchCheckHealth.addTeleport(nemusRetreatTeleport);
|
||||
auburnvaleTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0),
|
||||
"Check the health of the tree planted at Auburnvale");
|
||||
auburnvaleTreePatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore));
|
||||
auburnvaleTreePatchCheckHealth.addTeleport(auburnvaleTeleport);
|
||||
|
||||
// Tree Plant Steps
|
||||
lumbridgeTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_4, new WorldPoint(3193, 3231, 0),
|
||||
@@ -603,11 +698,11 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
farmingGuildTreePatchPlant.addIcon(treeSapling.getId());
|
||||
farmingGuildTreePatchCheckHealth.addSubSteps(farmingGuildTreePatchPlant);
|
||||
|
||||
nemusRetreatTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0),
|
||||
"Plant your sapling in the Nemus Retreat tree patch.", treeSapling);
|
||||
nemusRetreatTreePatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore));
|
||||
nemusRetreatTreePatchPlant.addIcon(treeSapling.getId());
|
||||
nemusRetreatTreePatchCheckHealth.addSubSteps(nemusRetreatTreePatchPlant);
|
||||
auburnvaleTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0),
|
||||
"Plant your sapling in the Auburnvale tree patch.", treeSapling);
|
||||
auburnvaleTreePatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore));
|
||||
auburnvaleTreePatchPlant.addIcon(treeSapling.getId());
|
||||
auburnvaleTreePatchCheckHealth.addSubSteps(auburnvaleTreePatchPlant);
|
||||
|
||||
// Dig
|
||||
lumbridgeTreePatchDig = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_4, new WorldPoint(3193, 3231, 0),
|
||||
@@ -622,8 +717,8 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
"Dig up the tree stump in the Tree Gnome Stronghold.");
|
||||
farmingGuildTreePatchDig = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_6, new WorldPoint(1232, 3736, 0),
|
||||
"Dig up the tree stump in the Farming Guild tree patch.");
|
||||
nemusRetreatTreePatchDig = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0),
|
||||
"Dig up the tree stump in the Nemus Retreat tree patch.");
|
||||
auburnvaleTreePatchDig = new ObjectStep(this, ObjectID.FARMING_TREE_PATCH_7, new WorldPoint(1367, 3322, 0),
|
||||
"Dig up the tree stump in the Auburnvale tree patch.");
|
||||
|
||||
faladorTreePatchClear.addSubSteps(faladorTreePatchDig, faladorTreeProtect);
|
||||
taverleyTreePatchClear.addSubSteps(taverleyTreePatchDig, taverleyTreeProtect);
|
||||
@@ -631,7 +726,7 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
gnomeStrongholdTreePatchClear.addSubSteps(gnomeStrongholdTreePatchDig, strongholdTreeProtect);
|
||||
lumbridgeTreePatchClear.addSubSteps(lumbridgeTreePatchDig, lumbridgeTreeProtect);
|
||||
farmingGuildTreePatchClear.addSubSteps(farmingGuildTreePatchDig, farmingGuildTreePayForProtection);
|
||||
nemusRetreatTreePatchClear.addSubSteps(nemusRetreatTreePatchDig, nemusRetreatTreeProtect);
|
||||
auburnvaleTreePatchClear.addSubSteps(auburnvaleTreePatchDig, auburnvaleTreeProtect);
|
||||
|
||||
// Fruit Tree Steps
|
||||
|
||||
@@ -662,6 +757,25 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
farmingGuildFruitTreePatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToFarmingGuildFruitTreePatch));
|
||||
farmingGuildFruitTreePatchPlant.addIcon(fruitTreeSapling.getId());
|
||||
|
||||
kastoriFruitTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_7, new WorldPoint(1350, 3057, 0),
|
||||
"Plant your sapling in the Kastori patch.", fruitTreeSapling);
|
||||
kastoriFruitTreePatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore));
|
||||
kastoriFruitTreePatchPlant.addIcon(fruitTreeSapling.getId());
|
||||
|
||||
taiBwoWannaiCalquatPatchPlant = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH, new WorldPoint(2795, 3102, 0),
|
||||
"Plant your sapling in the Tai Bwo Wannai patch.", calquatSapling);
|
||||
taiBwoWannaiCalquatPatchPlant.addIcon(calquatSapling.getId());
|
||||
|
||||
kastoriCalquatPatchPlant = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_2, new WorldPoint(1366, 3033, 0),
|
||||
"Plant your sapling in the Kastori Calquat patch.", calquatSapling);
|
||||
kastoriCalquatPatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore));
|
||||
kastoriCalquatPatchPlant.addIcon(calquatSapling.getId());
|
||||
|
||||
greatConchCalquatPatchPlant = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_3, new WorldPoint(3129, 2406, 0),
|
||||
"Plant your sapling in the Great Conch patch.", calquatSapling);
|
||||
greatConchCalquatPatchPlant.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToGreatConch));
|
||||
greatConchCalquatPatchPlant.addIcon(calquatSapling.getId());
|
||||
|
||||
// Fruit Tree Check Health Steps
|
||||
gnomeStrongholdFruitTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_1, new WorldPoint(2476, 3446, 0),
|
||||
"Check the health of the fruit tree planted in the Tree Gnome Stronghold.");
|
||||
@@ -700,6 +814,31 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
farmingGuildFruitTreePatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Farming Guild", true);
|
||||
farmingGuildFruitTreePatchCheckHealth.addSubSteps(farmingGuildFruitTreePatchPlant);
|
||||
|
||||
kastoriFruitTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_7, new WorldPoint(1350, 3057, 0),
|
||||
"Check the health of the fruit tree planted in Kastori.");
|
||||
kastoriFruitTreePatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore));
|
||||
kastoriFruitTreePatchCheckHealth.addTeleport(kastoriTeleport);
|
||||
kastoriFruitTreePatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Kastori", true);
|
||||
kastoriFruitTreePatchCheckHealth.addSubSteps(kastoriFruitTreePatchPlant);
|
||||
|
||||
taiBwoWannaiCalquatPatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH, new WorldPoint(2795, 3102, 0),
|
||||
"Check the health of the calquat tree planted in Tai Bwo Wannai.", calquatSapling);
|
||||
taiBwoWannaiCalquatPatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Tai Bwo Wannai", true);
|
||||
taiBwoWannaiCalquatPatchCheckHealth.addSubSteps(taiBwoWannaiCalquatPatchPlant);
|
||||
|
||||
kastoriCalquatPatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_2, new WorldPoint(1366, 3033, 0),
|
||||
"Check the health of the calquat tree planted in Kastori.");
|
||||
kastoriCalquatPatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToVarlamore));
|
||||
kastoriCalquatPatchCheckHealth.addTeleport(kastoriTeleport);
|
||||
kastoriCalquatPatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Kastori", true);
|
||||
kastoriCalquatPatchCheckHealth.addSubSteps(kastoriCalquatPatchPlant);
|
||||
|
||||
greatConchCalquatPatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_3, new WorldPoint(3129, 2406, 0),
|
||||
"Check the health of the calquat tree planted in Great Conch.", calquatSapling);
|
||||
greatConchCalquatPatchCheckHealth.conditionToHideInSidebar(new Conditions(LogicType.NOR, accessToGreatConch));
|
||||
greatConchCalquatPatchCheckHealth.addWidgetHighlightWithTextRequirement(187, 3, "Great Conch", true);
|
||||
greatConchCalquatPatchCheckHealth.addSubSteps(greatConchCalquatPatchPlant);
|
||||
|
||||
// Clear
|
||||
gnomeStrongholdFruitTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_FRUIT_1, new WorldPoint(2476, 3446, 0),
|
||||
"Pay Bolongo 200 coins to clear the fruit tree, or pick all the fruit and cut it down.");
|
||||
@@ -722,6 +861,18 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
farmingGuildFruitTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_FARMGUILD_T3, new WorldPoint(1243, 3760, 0),
|
||||
"Pay Nikkie 200 coins to clear the fruit tree, or pick all the fruit and cut it down.");
|
||||
farmingGuildFruitTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
kastoriFruitTreePatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_FRUIT_7, new WorldPoint(1350, 3057, 0),
|
||||
"Pay Ehecatl 200 coins to clear the fruit tree, or pick all the fruit and cut it down.");
|
||||
kastoriFruitTreePatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
taiBwoWannaiCalquatPatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT, new WorldPoint(2795, 3102, 0),
|
||||
"Pay Imiago 200 coins to clear the calquat tree, or pick all the fruit and cut it down.");
|
||||
taiBwoWannaiCalquatPatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
kastoriCalquatPatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT_2, new WorldPoint(1366, 3033, 0),
|
||||
"Pay Tziuhtla 200 coins to clear the calquat tree, or pick all the fruit and cut it down.");
|
||||
kastoriCalquatPatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
greatConchCalquatPatchClear = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT_3, new WorldPoint(3129, 2406, 0),
|
||||
"Pay Guppa 200 coins to clear the calquat tree, or pick all the fruit and cut it down.");
|
||||
greatConchCalquatPatchClear.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
|
||||
strongholdFruitProtect = new NpcStep(this, NpcID.FARMING_GARDENER_FRUIT_1, new WorldPoint(2476, 3446, 0),
|
||||
"Pay Bolongo to protect the patch.");
|
||||
@@ -743,6 +894,18 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
"Pay Nikkie to protect the patch.");
|
||||
guildFruitProtect.addDialogSteps("Would you chop my tree down for me?", "I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - " +
|
||||
"chop my tree down please.", "Yes.");
|
||||
kastoriFruitProtect = new NpcStep(this, NpcID.FARMING_GARDENER_FRUIT_7, new WorldPoint(1350, 3057, 0),
|
||||
"Pay Ehecatl to protect the patch.");
|
||||
kastoriFruitProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
taiBwoWannaiCalquatProtect = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT, new WorldPoint(2795, 3102, 0),
|
||||
"Pay Imiago to protect the patch.");
|
||||
taiBwoWannaiCalquatProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
kastoriCalquatProtect = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT_2, new WorldPoint(1366, 3033, 0),
|
||||
"Pay Tziuhtla to protect the patch.");
|
||||
kastoriCalquatProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
greatConchCalquatProtect = new NpcStep(this, NpcID.FARMING_GARDENER_CALQUAT_3, new WorldPoint(3129, 2406, 0),
|
||||
"Pay Guppa to protect the patch.");
|
||||
greatConchCalquatProtect.addDialogSteps("Would you chop my tree down for me?","I can't be bothered - I'd rather pay you to do it.", "Here's 200 Coins - chop my tree down please.", "Yes.");
|
||||
|
||||
// Dig Fruit Tree Steps
|
||||
gnomeStrongholdFruitTreePatchDig = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_1, new WorldPoint(2476, 3446, 0),
|
||||
@@ -757,6 +920,14 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
"Dig up the fruit tree's stump in Lletya.");
|
||||
farmingGuildFruitTreePatchDig = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_6, new WorldPoint(1242, 3758, 0),
|
||||
"Dig up the fruit tree's stump in the Farming Guild.");
|
||||
kastoriFruitTreePatchDig = new ObjectStep(this, ObjectID.FARMING_FRUIT_TREE_PATCH_7, new WorldPoint(1350, 3057, 0),
|
||||
"Dig up the fruit tree's stump in Kastori.");
|
||||
taiBwoWannaiCalquatPatchDig = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH, new WorldPoint(2795, 3102, 0),
|
||||
"Dig up the calquat tree's stump in Tai Bwo Wannai.");
|
||||
kastoriCalquatPatchDig = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_2, new WorldPoint(1366, 3033, 0),
|
||||
"Dig up the calquat tree's stump in Kastori.");
|
||||
greatConchCalquatPatchDig = new ObjectStep(this, ObjectID.FARMING_CALQUAT_TREE_PATCH_3, new WorldPoint(3129, 2406, 0),
|
||||
"Dig up the calquat tree's stump in Great Conch.");
|
||||
|
||||
gnomeStrongholdFruitTreePatchClear.addSubSteps(gnomeStrongholdFruitTreePatchDig, strongholdFruitProtect);
|
||||
gnomeVillageFruitTreePatchClear.addSubSteps(gnomeVillageFruitTreePatchDig, villageFruitProtect);
|
||||
@@ -764,6 +935,10 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
catherbyFruitTreePatchClear.addSubSteps(catherbyFruitTreePatchDig, catherbyFruitProtect);
|
||||
lletyaFruitTreePatchClear.addSubSteps(lletyaFruitTreePatchDig, lletyaFruitProtect);
|
||||
farmingGuildFruitTreePatchClear.addSubSteps(farmingGuildFruitTreePatchDig, guildFruitProtect);
|
||||
kastoriFruitTreePatchClear.addSubSteps(kastoriFruitTreePatchDig, kastoriFruitProtect);
|
||||
taiBwoWannaiCalquatPatchClear.addSubSteps(taiBwoWannaiCalquatPatchDig, taiBwoWannaiCalquatProtect);
|
||||
kastoriCalquatPatchClear.addSubSteps(kastoriCalquatPatchDig, kastoriCalquatProtect);
|
||||
greatConchCalquatPatchClear.addSubSteps(greatConchCalquatPatchDig, greatConchCalquatProtect);
|
||||
|
||||
// Hardwood Tree Steps
|
||||
westHardwoodTreePatchCheckHealth = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_3, new WorldPoint(3702, 3837, 0),
|
||||
@@ -774,6 +949,8 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
"Check the health of the eastern hardwood tree on Fossil Island.");
|
||||
savannahCheckHealth = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_4, new WorldPoint(1687, 2972, 0),
|
||||
"Check the health of the hardwood tree in the Avium Savannah.");
|
||||
anglersCheckHealth = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_5, new WorldPoint(2470, 2704, 0),
|
||||
"Check the health of the hardwood tree in the Anglers' Retreat.");
|
||||
|
||||
// Hardwood Tree Plant Steps
|
||||
westHardwoodTreePatchPlant = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_3, new WorldPoint(3702, 3837, 0),
|
||||
@@ -792,7 +969,10 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
eastHardwoodTreePatchCheckHealth.addSubSteps(eastHardwoodTreePatchPlant);
|
||||
|
||||
savannahPlant = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_4, new WorldPoint(1687, 2972, 0),
|
||||
"Plant your sapling into the hardwood tree in the hardwood tree patch in the Avium Savannah.", hardwoodSapling);
|
||||
"Plant your sapling on the hardwood tree patch in the Avium Savannah.", hardwoodSapling);
|
||||
|
||||
anglersPlant = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_5, new WorldPoint(2470, 2704, 0),
|
||||
"Plant your sapling on the hardwood tree patch on Anglers' Retreat.", hardwoodSapling);
|
||||
|
||||
westHardwoodTreePatchClear = new NpcStep(this, NpcID.FOSSIL_SQUIRREL_GARDENER3, new WorldPoint(3702, 3837, 0),
|
||||
"Pay the brown squirrel to remove the west tree.");
|
||||
@@ -812,6 +992,11 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
savannahClear.addDialogSteps("Would you chop my tree down for me?", "I can't be bothered - I'd rather pay you to do it.", "Here's 200 " +
|
||||
"Coins - chop my tree down please.", "Yes.");
|
||||
|
||||
anglersClear = new NpcStep(this, NpcID.FARMING_GARDENER_HARDWOOD_TREE_5, new WorldPoint(2470, 2704, 0),
|
||||
"Pay Argo to clear the tree.");
|
||||
anglersClear.addDialogSteps("Would you chop my tree down for me?", "I can't be bothered - I'd rather pay you to do it.", "Here's 200 " +
|
||||
"Coins - chop my tree down please.", "Yes.");
|
||||
|
||||
westHardwoodTreePatchDig = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_3, new WorldPoint(3702, 3837, 0),
|
||||
"Dig up the western hardwood tree's stump on Fossil Island.");
|
||||
middleHardwoodTreePatchDig = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_2, new WorldPoint(3708, 3833, 0),
|
||||
@@ -820,6 +1005,8 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
"Dig up the eastern hardwood tree's stump on Fossil Island.");
|
||||
savannahDig = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_4, new WorldPoint(1687, 2972, 0),
|
||||
"Dig up the Savannah hardwood tree's stump.");
|
||||
anglersDig = new ObjectStep(this, ObjectID.FARMING_HARDWOOD_TREE_PATCH_5, new WorldPoint(2470,2704, 0),
|
||||
"Dig up the Anglers' Retreat hardwood tree's stump.");
|
||||
|
||||
westHardwoodProtect = new NpcStep(this, NpcID.FOSSIL_SQUIRREL_GARDENER3, new WorldPoint(3702, 3837, 0),
|
||||
"Pay the brown squirrel to protect the west tree.");
|
||||
@@ -829,11 +1016,14 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
"Pay the grey squirrel to protect the east tree.");
|
||||
savannahProtect = new NpcStep(this, NpcID.FROG_QUEST_MARCELLUS_FARMER, new WorldPoint(1687, 2972, 0),
|
||||
"Pay Marcellus to protect the hardwood tree.");
|
||||
anglersProtect = new NpcStep(this, NpcID.FARMING_GARDENER_HARDWOOD_TREE_5, new WorldPoint(2470, 2704, 0),
|
||||
"Pay Argo to protect the hardwood tree.");
|
||||
|
||||
westHardwoodTreePatchClear.addSubSteps(westHardwoodTreePatchDig, westHardwoodProtect);
|
||||
middleHardwoodTreePatchClear.addSubSteps(middleHardwoodTreePatchDig, middleHardwoodProtect);
|
||||
eastHardwoodTreePatchClear.addSubSteps(eastHardwoodTreePatchDig, eastHardwoodProtect);
|
||||
savannahClear.addSubSteps(savannahDig, savannahProtect);
|
||||
anglersClear.addSubSteps(anglersDig, anglersProtect);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@@ -843,13 +1033,19 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
allProtectionItemTree.setQuantity(protectionItemTree.getQuantity());
|
||||
allProtectionItemFruitTree.setQuantity(protectionItemFruitTree.getQuantity());
|
||||
allProtectionItemHardwood.setQuantity(protectionItemHardwood.getQuantity());
|
||||
allProtectionItemCalquat.setQuantity(protectionItemCalquat.getQuantity());
|
||||
handleTreePatches(PatchImplementation.TREE,
|
||||
List.of(farmingGuildTreeStates, varrockStates, faladorStates, taverleyStates, lumbridgeStates, gnomeStrongholdTreeStates, nemusRetreatStates),
|
||||
List.of(farmingGuildTreeStates, varrockStates, faladorStates, taverleyStates, lumbridgeStates, gnomeStrongholdTreeStates, auburnvaleStates),
|
||||
farmingWorld.getTabs().get(Tab.TREE), allTreeSaplings, allProtectionItemTree);
|
||||
handleTreePatches(PatchImplementation.FRUIT_TREE,
|
||||
List.of(farmingGuildFruitStates, brimhavenStates, catherbyStates, gnomeStrongholdFruitStates, gnomeVillageStates, lletyaStates),
|
||||
List.of(farmingGuildFruitStates, brimhavenStates, catherbyStates, gnomeStrongholdFruitStates, gnomeVillageStates, lletyaStates,
|
||||
kastoriStates),
|
||||
farmingWorld.getTabs().get(Tab.FRUIT_TREE), allFruitSaplings, allProtectionItemFruitTree);
|
||||
handleTreePatches(PatchImplementation.HARDWOOD_TREE, List.of(westHardwoodStates, middleHardwoodStates, eastHardwoodStates, savannahStates),
|
||||
handleTreePatches(PatchImplementation.CALQUAT,
|
||||
List.of(taiBwoWannaiStates, kastoriStates, greatConchStates),
|
||||
farmingWorld.getTabs().get(Tab.FRUIT_TREE), allCalquatSaplings, allProtectionItemCalquat);
|
||||
handleTreePatches(PatchImplementation.HARDWOOD_TREE, List.of(westHardwoodStates, middleHardwoodStates,
|
||||
eastHardwoodStates, savannahStates, anglersRetreatStates),
|
||||
farmingWorld.getTabs().get(Tab.TREE), allHardwoodSaplings, allProtectionItemHardwood);
|
||||
}
|
||||
|
||||
@@ -916,6 +1112,8 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
this::updateFruitTreeSapling, FruitTreeSapling.APPLE, configManager, questHelperPlugin);
|
||||
FarmingConfigChangeHandler.handleFarmingEnumConfigChange(event, HARDWOOD_TREE_SAPLING, HardwoodTreeSapling.class,
|
||||
this::updateHardwoodTreeSapling, HardwoodTreeSapling.TEAK, configManager, questHelperPlugin);
|
||||
FarmingConfigChangeHandler.handleFarmingEnumConfigChange(event, CALQUAT_TREE_SAPLING, CalquatTreeSapling.class,
|
||||
this::updateCalquatTreeSapling, CalquatTreeSapling.CALQUAT, configManager, questHelperPlugin);
|
||||
|
||||
if (event.getKey().equals(GRACEFUL_OR_FARMING) || event.getKey().equals(PAY_OR_CUT) || event.getKey().equals(PAY_OR_COMPOST))
|
||||
{
|
||||
@@ -926,6 +1124,7 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
private final String TREE_SAPLING = "treeSaplings";
|
||||
private final String FRUIT_TREE_SAPLING = "fruitTreeSaplings";
|
||||
private final String HARDWOOD_TREE_SAPLING = "hardwoodTreeSaplings";
|
||||
private final String CALQUAT_TREE_SAPLING = "calquatTreeSaplings";
|
||||
|
||||
@Override
|
||||
public List<HelperConfig> getConfigs()
|
||||
@@ -933,16 +1132,17 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
HelperConfig treesConfig = new HelperConfig("Trees", TREE_SAPLING, TreeSapling.values());
|
||||
HelperConfig fruitTreesConfig = new HelperConfig("Fruit Trees", FRUIT_TREE_SAPLING, FruitTreeSapling.values());
|
||||
HelperConfig hardwoodTreesConfig = new HelperConfig("Hardwood Trees", HARDWOOD_TREE_SAPLING, HardwoodTreeSapling.values());
|
||||
HelperConfig calquatTreesConfig = new HelperConfig("Calquat Trees", CALQUAT_TREE_SAPLING, CalquatTreeSapling.values());
|
||||
HelperConfig outfitConfig = new HelperConfig("Outfit", GRACEFUL_OR_FARMING, GracefulOrFarming.values());
|
||||
HelperConfig payOrCutConfig = new HelperConfig("Pay or cut tree removal", PAY_OR_CUT, PayOrCut.values());
|
||||
HelperConfig payOrCompostConfig = new HelperConfig("Pay farmer or compost", PAY_OR_COMPOST, PayOrCompost.values());
|
||||
return Arrays.asList(treesConfig, fruitTreesConfig, hardwoodTreesConfig, outfitConfig, payOrCutConfig, payOrCompostConfig);
|
||||
return Arrays.asList(treesConfig, fruitTreesConfig, hardwoodTreesConfig, calquatTreesConfig, outfitConfig, payOrCutConfig, payOrCompostConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemRequirement> getItemRequirements()
|
||||
{
|
||||
return Arrays.asList(spade, rake, compost, coins, allTreeSaplings, allFruitSaplings, allHardwoodSaplings, allProtectionItemTree, allProtectionItemFruitTree, allProtectionItemHardwood);
|
||||
return Arrays.asList(spade, rake, compost, coins, allTreeSaplings, allFruitSaplings, allHardwoodSaplings, allCalquatSaplings, allProtectionItemTree, allProtectionItemFruitTree, allProtectionItemHardwood, allProtectionItemCalquat);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -960,51 +1160,68 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
allSteps.add(new PanelDetails("Wait for Herbs", waitForTree).withHideCondition(nor(allGrowing)));
|
||||
|
||||
PanelDetails farmingGuildPanel = new PanelDetails("Farming Guild", Arrays.asList(farmingGuildTreePatchCheckHealth, farmingGuildTreePatchClear,
|
||||
farmingGuildFruitTreePatchCheckHealth, farmingGuildFruitTreePatchClear)).withId(0);
|
||||
farmingGuildTreePatchPlant, farmingGuildFruitTreePatchCheckHealth, farmingGuildFruitTreePatchClear,
|
||||
farmingGuildTreePatchPlant)).withId(0);
|
||||
farmingGuildPanel.setLockingStep(farmingGuildStep);
|
||||
|
||||
PanelDetails lumbridgePanel = new PanelDetails("Lumbridge", Arrays.asList(lumbridgeTreePatchCheckHealth, lumbridgeTreePatchClear)).withId(1);
|
||||
PanelDetails lumbridgePanel = new PanelDetails("Lumbridge", Arrays.asList(lumbridgeTreePatchCheckHealth, lumbridgeTreePatchClear, lumbridgeTreePatchPlant)).withId(1);
|
||||
lumbridgePanel.setLockingStep(lumbridgeStep);
|
||||
|
||||
PanelDetails faladorPanel = new PanelDetails("Falador", Arrays.asList(faladorTreePatchCheckHealth, faladorTreePatchClear)).withId(2);
|
||||
PanelDetails faladorPanel = new PanelDetails("Falador", Arrays.asList(faladorTreePatchCheckHealth, faladorTreePatchClear, faladorTreePatchPlant)).withId(2);
|
||||
faladorPanel.setLockingStep(faladorStep);
|
||||
|
||||
PanelDetails taverleyPanel = new PanelDetails("Taverley", Arrays.asList(taverleyTreePatchCheckHealth, taverleyTreePatchClear)).withId(3);
|
||||
PanelDetails taverleyPanel = new PanelDetails("Taverley", Arrays.asList(taverleyTreePatchCheckHealth, taverleyTreePatchClear, taverleyTreePatchPlant)).withId(3);
|
||||
taverleyPanel.setLockingStep(taverleyStep);
|
||||
|
||||
PanelDetails varrockPanel = new PanelDetails("Varrock", Arrays.asList(varrockTreePatchCheckHealth, varrockTreePatchClear)).withId(4);
|
||||
PanelDetails varrockPanel = new PanelDetails("Varrock", Arrays.asList(varrockTreePatchCheckHealth, varrockTreePatchClear, varrockTreePatchPlant)).withId(4);
|
||||
varrockPanel.setLockingStep(varrockStep);
|
||||
|
||||
PanelDetails gnomeStrongholdPanel = new PanelDetails("Gnome Stronghold", Arrays.asList(gnomeStrongholdFruitTreePatchCheckHealth, gnomeVillageFruitTreePatchClear,
|
||||
gnomeStrongholdTreePatchCheckHealth, gnomeStrongholdTreePatchClear)).withId(5);
|
||||
PanelDetails gnomeStrongholdPanel = new PanelDetails("Gnome Stronghold", Arrays.asList(gnomeStrongholdFruitTreePatchCheckHealth, gnomeStrongholdFruitTreePatchClear, gnomeStrongholdFruitTreePatchPlant,
|
||||
gnomeStrongholdTreePatchCheckHealth, gnomeStrongholdTreePatchClear, gnomeStrongholdFruitTreePatchPlant)).withId(5);
|
||||
gnomeStrongholdPanel.setLockingStep(strongholdStep);
|
||||
|
||||
PanelDetails villagePanel = new PanelDetails("Tree Gnome Village", Arrays.asList(gnomeVillageFruitTreePatchCheckHealth,
|
||||
gnomeVillageFruitTreePatchClear)).withId(6);
|
||||
gnomeVillageFruitTreePatchClear, gnomeVillageFruitTreePatchPlant)).withId(6);
|
||||
villagePanel.setLockingStep(villageStep);
|
||||
|
||||
PanelDetails catherbyPanel = new PanelDetails("Catherby", Arrays.asList(catherbyFruitTreePatchCheckHealth, catherbyFruitTreePatchClear)).withId(7);
|
||||
PanelDetails catherbyPanel = new PanelDetails("Catherby", Arrays.asList(catherbyFruitTreePatchCheckHealth, catherbyFruitTreePatchClear, catherbyFruitTreePatchPlant)).withId(7);
|
||||
catherbyPanel.setLockingStep(catherbyStep);
|
||||
|
||||
PanelDetails brimhavenPanel = new PanelDetails("Brimhaven", Arrays.asList(brimhavenFruitTreePatchCheckHealth, brimhavenFruitTreePatchClear)).withId(8);
|
||||
PanelDetails brimhavenPanel = new PanelDetails("Brimhaven", Arrays.asList(brimhavenFruitTreePatchCheckHealth, brimhavenFruitTreePatchClear, brimhavenFruitTreePatchPlant,
|
||||
taiBwoWannaiCalquatPatchCheckHealth, taiBwoWannaiCalquatPatchClear, taiBwoWannaiCalquatPatchPlant)).withId(8);
|
||||
brimhavenPanel.setLockingStep(brimhavenStep);
|
||||
|
||||
PanelDetails lletyaPanel = new PanelDetails("Lletya", Arrays.asList(lletyaFruitTreePatchCheckHealth, lletyaFruitTreePatchClear)).withId(9);
|
||||
PanelDetails lletyaPanel = new PanelDetails("Lletya", Arrays.asList(lletyaFruitTreePatchCheckHealth, lletyaFruitTreePatchClear, lletyaFruitTreePatchPlant)).withId(9);
|
||||
lletyaPanel.setLockingStep(lletyaStep);
|
||||
|
||||
PanelDetails fossilIslandPanel = new PanelDetails("Fossil Island", Arrays.asList(eastHardwoodTreePatchCheckHealth, eastHardwoodTreePatchClear,
|
||||
middleHardwoodTreePatchCheckHealth, middleHardwoodTreePatchClear,
|
||||
westHardwoodTreePatchCheckHealth, westHardwoodTreePatchClear)).withId(10);
|
||||
PanelDetails fossilIslandPanel = new PanelDetails("Fossil Island", Arrays.asList(eastHardwoodTreePatchCheckHealth, eastHardwoodTreePatchClear, eastHardwoodTreePatchPlant,
|
||||
middleHardwoodTreePatchCheckHealth, middleHardwoodTreePatchClear, middleHardwoodTreePatchPlant,
|
||||
westHardwoodTreePatchCheckHealth, westHardwoodTreePatchClear, westHardwoodTreePatchPlant)).withId(10);
|
||||
fossilIslandPanel.setLockingStep(fossilIslandStep);
|
||||
|
||||
PanelDetails savannahPanel = new PanelDetails("Avium Savannah", Arrays.asList(savannahCheckHealth, savannahClear, savannahPlant)).withId(11);
|
||||
savannahPanel.setLockingStep(savannahStep);
|
||||
|
||||
PanelDetails nemusRetreatPanel = new PanelDetails("Nemus Retreat", Arrays.asList(nemusRetreatTreePatchCheckHealth, nemusRetreatTreePatchClear, nemusRetreatTreePatchPlant)).withId(12);
|
||||
nemusRetreatPanel.setLockingStep(nemusRetreatStep);
|
||||
PanelDetails auburnvalePanel = new PanelDetails("Auburnvale", Arrays.asList(auburnvaleTreePatchCheckHealth, auburnvaleTreePatchClear, auburnvaleTreePatchPlant)).withId(12);
|
||||
auburnvalePanel.setLockingStep(auburnvaleStep);
|
||||
|
||||
PanelDetails kastoriPanel = new PanelDetails("Kastori", Arrays.asList(kastoriFruitTreePatchCheckHealth,
|
||||
kastoriFruitTreePatchClear, kastoriFruitTreePatchPlant, kastoriCalquatPatchCheckHealth,
|
||||
kastoriCalquatPatchClear, kastoriCalquatPatchPlant)).withId(13);
|
||||
kastoriPanel.setLockingStep(kastoriStep);
|
||||
|
||||
PanelDetails anglersPanel = new PanelDetails("Anglers' Retreat", Arrays.asList(anglersCheckHealth,
|
||||
anglersClear, anglersPlant)).withId(14);
|
||||
anglersPanel.setLockingStep(anglersRetreatStep);
|
||||
|
||||
PanelDetails greatConchPanel = new PanelDetails("Great Conch",
|
||||
Arrays.asList(greatConchCalquatPatchCheckHealth, greatConchCalquatPatchClear,
|
||||
greatConchCalquatPatchPlant)).withId(15);
|
||||
greatConchPanel.setLockingStep(greatConchStep);
|
||||
|
||||
TopLevelPanelDetails farmRunSidebar = new TopLevelPanelDetails("Tree Run", farmingGuildPanel, lumbridgePanel, faladorPanel, taverleyPanel,
|
||||
varrockPanel, gnomeStrongholdPanel, villagePanel, catherbyPanel, brimhavenPanel, lletyaPanel, fossilIslandPanel, savannahPanel, nemusRetreatPanel);
|
||||
varrockPanel, gnomeStrongholdPanel, villagePanel, catherbyPanel, brimhavenPanel, lletyaPanel, fossilIslandPanel, savannahPanel, auburnvalePanel,
|
||||
kastoriPanel, anglersPanel, greatConchPanel);
|
||||
allSteps.add(farmRunSidebar);
|
||||
|
||||
return allSteps;
|
||||
@@ -1040,6 +1257,16 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
updateHardwoodTreePaymentItem(selectedHardwoodTreeSapling);
|
||||
}
|
||||
|
||||
private void updateCalquatTreeSapling(CalquatTreeSapling selectedCalquatTreeSapling)
|
||||
{
|
||||
calquatSapling.setId(selectedCalquatTreeSapling.calquatTreeSaplingId);
|
||||
calquatSapling.setName(itemManager.getItemComposition(selectedCalquatTreeSapling.getPlantableItemId()).getName());
|
||||
|
||||
allCalquatSaplings.setId(selectedCalquatTreeSapling.calquatTreeSaplingId);
|
||||
allCalquatSaplings.setName(itemManager.getItemComposition(selectedCalquatTreeSapling.getPlantableItemId()).getName());
|
||||
updateCalquatPaymentItem(selectedCalquatTreeSapling);
|
||||
}
|
||||
|
||||
private void updateTreePaymentItem(TreeSapling treeSapling)
|
||||
{
|
||||
protectionItemTree.setId(treeSapling.protectionItemId);
|
||||
@@ -1072,4 +1299,15 @@ public class TreeRun extends ComplexStateQuestHelper
|
||||
allProtectionItemHardwood.setName(itemManager.getItemComposition(treeSapling.protectionItemId).getName());
|
||||
allProtectionItemHardwood.setQuantity(treeSapling.protectionItemQuantity);
|
||||
}
|
||||
|
||||
private void updateCalquatPaymentItem(CalquatTreeSapling treeSapling)
|
||||
{
|
||||
protectionItemCalquat.setId(treeSapling.protectionItemId);
|
||||
protectionItemCalquat.setName(itemManager.getItemComposition(treeSapling.protectionItemId).getName());
|
||||
protectionItemCalquat.setQuantity(treeSapling.protectionItemQuantity);
|
||||
|
||||
allProtectionItemCalquat.setId(treeSapling.protectionItemId);
|
||||
allProtectionItemCalquat.setName(itemManager.getItemComposition(treeSapling.protectionItemId).getName());
|
||||
allProtectionItemCalquat.setQuantity(treeSapling.protectionItemQuantity);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user