Skip to content

Commit

Permalink
RFD - Sir Amik Varze: Minor polish (#1278)
Browse files Browse the repository at this point in the history
* feat: Add Draynor Village teleport hint

 - When first talking to the Wise Old Man

* feat: Add Lumbridge Teleport hint when about to end the quest

* chore: Run Reformat code on the quest file
  • Loading branch information
pajlada authored Sep 24, 2023
1 parent fe901f3 commit 3cb54a4
Showing 1 changed file with 21 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
import com.questhelper.requirements.quest.QuestPointRequirement;
import com.questhelper.requirements.quest.QuestRequirement;
import com.questhelper.requirements.item.ItemOnTileRequirement;
import com.questhelper.requirements.util.LogicType;
import com.questhelper.requirements.var.VarbitRequirement;
import com.questhelper.requirements.ZoneRequirement;
import com.questhelper.requirements.var.VarplayerRequirement;
Expand Down Expand Up @@ -71,8 +72,9 @@ public class RFDSirAmikVarze extends BasicQuestHelper
vanillaPod, dramenStaffOrLunar, dramenBranch, pestleAndMortar, iceGloves, rawChicken, antidragonShield,
antifirePotion, radimusNotes, bruleeWithEgg, baseBrulee, uncookedBrulee, finishedBrulee, finishedBruleeHighlighted,
milkyMixture, cornflourMixture, evilEgg, token, cinnamon, pestleAndMortarHighlighted, tokenHighlighted;
ItemRequirement draynorVillageTele, lumbridgeTele;

Requirement inDiningRoom, talkedToWom, inEvilChickenLair, inZanaris, hasEggAndToken, tokenNearby, eggNearby;
Requirement inDiningRoom, talkedToWom, inEvilChickenLair, inZanaris, inDraynorVillage, hasEggAndToken, tokenNearby, eggNearby;

QuestStep enterDiningRoom, inspectAmik, enterKitchen, talkToCook, enterDiningRoomAgain, useBruleeOnVarze, talkToWom, useMilkOnCream,
useCornflourOnMilky, addPodToCornflourMixture, enterZanaris, useChickenOnShrine, killEvilChicken, pickUpEgg, useEggOnBrulee,
Expand All @@ -81,7 +83,7 @@ public class RFDSirAmikVarze extends BasicQuestHelper
ConditionalStep tokenAndEggSteps;

//Zones
Zone diningRoom, zanaris, evilChickenLair;
Zone diningRoom, zanaris, evilChickenLair, draynorVillage;

int evilChickenLevel = 19;

Expand Down Expand Up @@ -181,6 +183,10 @@ public void setupRequirements()
antifirePotion = new ItemRequirement("Antifire potion", ItemCollections.ANTIFIRE);
combatGear = new ItemRequirement("Combat gear", -1, -1).isNotConsumed();
combatGear.setDisplayItemId(BankSlotIcons.getCombatGear());
draynorVillageTele = new ItemRequirement("Draynor Village teleport", ItemCollections.AMULET_OF_GLORIES, 1);
draynorVillageTele.setChargedItem(true);
draynorVillageTele.showConditioned(new Conditions(LogicType.NOR, inDraynorVillage));
lumbridgeTele = new ItemRequirement("Lumbridge Teleport", ItemID.LUMBRIDGE_TELEPORT, 1);

milkyMixture = new ItemRequirement("Milky mixture", ItemID.MILKY_MIXTURE);
milkyMixture.setHighlightInInventory(true);
Expand Down Expand Up @@ -214,6 +220,7 @@ public void loadZones()
diningRoom = new Zone(new WorldPoint(1856, 5313, 0), new WorldPoint(1870, 5333, 0));
zanaris = new Zone(new WorldPoint(2368, 4353, 0), new WorldPoint(2495, 4479, 0));
evilChickenLair = new Zone(new WorldPoint(2430, 4355, 0), new WorldPoint(2492, 4407, 0));
draynorVillage = new Zone(new WorldPoint(3060, 3221, 0), new WorldPoint(3121, 3283, 0));
}

public void setupConditions()
Expand All @@ -226,6 +233,7 @@ public void setupConditions()
// 1919 = 2 when entered black dragon lair once

inEvilChickenLair = new ZoneRequirement(evilChickenLair);
inDraynorVillage = new ZoneRequirement(draynorVillage);
inZanaris = new ZoneRequirement(zanaris);
hasEggAndToken = new Conditions(evilEgg, token);
tokenNearby = new ItemOnTileRequirement(token);
Expand All @@ -245,7 +253,8 @@ public void setupSteps()
talkToCook.addSubSteps(enterKitchen);

talkToWom = new NpcStep(this, NpcID.WISE_OLD_MAN, new WorldPoint(3088, 3255, 0), "Talk to the Wise Old Man in Draynor Village about strange beasts and the Evil Chicken.");
talkToWom.addDialogSteps("I'd just like to ask you something.", "Strange beasts", "The Evil Chicken");
((NpcStep) talkToWom).addTeleport(draynorVillageTele.quantity(1).named("Amulet of glory (Draynor Village [3])"));
talkToWom.addDialogSteps("Draynor Village", "I'd just like to ask you something.", "Strange beasts", "The Evil Chicken");

useMilkOnCream = new DetailedQuestStep(this, "Use a bucket of milk on a pot of cream.", bucketOfMilk, potOfCream);
useCornflourOnMilky = new DetailedQuestStep(this, "Use cornflour on the milky mixture.", cornflour, milkyMixture);
Expand All @@ -265,6 +274,7 @@ public void setupSteps()
rubToken.addDialogStep("Please flambe this creme brulee for me.");

enterDiningRoomAgain = new ObjectStep(this, ObjectID.DOOR_12348, new WorldPoint(3207, 3217, 0), "Go give the Brulee to Sir Amik Varze to finish the quest.", finishedBrulee);
((ObjectStep) enterDiningRoomAgain).addTeleport(lumbridgeTele);
useBruleeOnVarze = new ObjectStep(this, ObjectID.SIR_AMIK_VARZE_12345, new WorldPoint(1865, 5321, 0), "Give the Brulee to Sir Amik Varze to finish the quest.", finishedBruleeHighlighted);
useBruleeOnVarze.addIcon(ItemID.BRULEE_SUPREME);
useBruleeOnVarze.addSubSteps(enterDiningRoomAgain);
Expand Down Expand Up @@ -315,7 +325,7 @@ public List<ItemRequirement> getItemRequirements()
@Override
public List<ItemRequirement> getItemRecommended()
{
return Arrays.asList(combatGear, antidragonShield, antifirePotion);
return Arrays.asList(combatGear, antidragonShield, antifirePotion, draynorVillageTele, lumbridgeTele);
}

@Override
Expand Down Expand Up @@ -349,31 +359,32 @@ public QuestPointReward getQuestPointReward()
public List<ExperienceReward> getExperienceRewards()
{
return Arrays.asList(
new ExperienceReward(Skill.COOKING, 4000),
new ExperienceReward(Skill.HITPOINTS, 4000));
new ExperienceReward(Skill.COOKING, 4000),
new ExperienceReward(Skill.HITPOINTS, 4000));
}

@Override
public List<UnlockReward> getUnlockRewards()
{
return Arrays.asList(
new UnlockReward("Access to the Evil Chickens Lair"),
new UnlockReward("Further access to the Culinaromancer's Chest"));
new UnlockReward("Access to the Evil Chickens Lair"),
new UnlockReward("Further access to the Culinaromancer's Chest"));
}

@Override
public List<PanelDetails> getPanels()
{
List<PanelDetails> allSteps = new ArrayList<>();
allSteps.add(new PanelDetails("Starting off", Arrays.asList(inspectAmik, talkToCook, talkToWom)));
allSteps.add(new PanelDetails("Starting off", Arrays.asList(inspectAmik, talkToCook, talkToWom), null, Arrays.asList(draynorVillageTele.quantity(1))));
PanelDetails tokenAndEggPanel = new PanelDetails("Get token and egg", Arrays.asList(enterZanaris, useChickenOnShrine,
killEvilChicken, pickUpEgg, killBlackDragon, pickUpToken),
dramenStaffOrLunar, rawChicken, combatGear, antidragonShield, antifirePotion);
tokenAndEggPanel.setLockingStep(tokenAndEggSteps);
allSteps.add(tokenAndEggPanel);
allSteps.add(new PanelDetails("Making the brulee", Arrays.asList(useMilkOnCream, useCornflourOnMilky, addPodToCornflourMixture,
useEggOnBrulee, grindBranch, useCinnamonOnBrulee, rubToken, useBruleeOnVarze),
bucketOfMilk, potOfCream, cornflourMixture, pestleAndMortar, dramenBranch, vanillaPod, evilEgg, token, iceGloves));
Arrays.asList(bucketOfMilk, potOfCream, cornflourMixture, pestleAndMortar, dramenBranch, vanillaPod, evilEgg, token, iceGloves),
Arrays.asList(lumbridgeTele)));

return allSteps;
}
Expand Down

0 comments on commit 3cb54a4

Please sign in to comment.