Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFD - Sir Amik Varze: Minor polish #1278

Merged
merged 3 commits into from
Sep 24, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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