Skip to content

Commit

Permalink
Just a few small changes to quests of stuff that I noticed on 4 quest…
Browse files Browse the repository at this point in the history
…s and a miniquest (#1802)

* Just a few small changes to quests of stuff that I noticed

A Night At The Theatre I added new spider cave tele to make significantly faster and fixed some stuff for the steps and sidebar of it.

* The Generals Shadow Tooltip

Also changed it to TeleportItemRequirement just so thats done but didn't add the teleports to sidebar or steps yet. There is a lot of them if someone wants to do that sometime.

* Some secrets of north small nits

---------

Co-authored-by: Haavardaw <>
  • Loading branch information
Haavardaw authored Oct 19, 2024
1 parent 4965f17 commit 3d19224
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

import com.questhelper.collections.ItemCollections;
import com.questhelper.questinfo.QuestHelperQuest;
import com.questhelper.requirements.item.TeleportItemRequirement;
import com.questhelper.requirements.zone.Zone;
import com.questhelper.bank.banktab.BankSlotIcons;
import com.questhelper.panel.PanelDetails;
Expand Down Expand Up @@ -120,24 +121,26 @@ protected void setupRequirements()
ghostlyCloak = new ItemRequirement("Ghostly cloak", ItemID.GHOSTLY_CLOAK, 1, true).isNotConsumed();
ghostlyRobes = new ItemRequirements("Ghostly robes", ghostlyHood, ghostlyBody, ghostlyLegs, ghostlyGloves,
ghostlyBoots, ghostlyCloak).isNotConsumed();
ghostlyRobes.setTooltip("You can buy these back from Perdu for 131,500 coins or get them back yourself.");

ringOfVisibility = new ItemRequirement("Ring of visibility", ItemID.RING_OF_VISIBILITY, 1, true).isNotConsumed();
ghostspeak = new ItemRequirement("Ghostspeak amulet", ItemID.GHOSTSPEAK_AMULET, 1, true).isNotConsumed();
ghostspeak.addAlternates(ItemID.GHOSTSPEAK_AMULET_4250);
ghostspeak.setTooltip("Can be obtained from Father Urhney in the Lumbridge Swamp house to the west.");

coins40 = new ItemRequirement("Coins", ItemCollections.COINS, 40);
inventorySlot = new FreeInventorySlotRequirement(1);

kharidTeleport = new ItemRequirement("Teleport to Al Kharid", ItemCollections.AMULET_OF_GLORIES);
gnomeTeleport = new ItemRequirement("Necklace of Passage, or a teleport to Tree Gnome Stronghold", -1);
kharidTeleport = new TeleportItemRequirement("Teleport to Al Kharid", ItemCollections.AMULET_OF_GLORIES);
gnomeTeleport = new TeleportItemRequirement("Necklace of Passage, or a teleport to Tree Gnome Stronghold", -1);
gnomeTeleport.setDisplayItemId(ItemID.SPIRIT_TREE);
gnomeTeleport.addAlternates(ItemCollections.NECKLACE_OF_PASSAGES);
rellekkaTeleport = new ItemRequirement("Teleports to Rellekka", ItemID.RELLEKKA_TELEPORT, 3);
karamjaTeleport = new ItemRequirement("Teleport to Tai Bwo Wannai", ItemID.TAI_BWO_WANNAI_TELEPORT);
draynorTeleport = new ItemRequirement("Teleport to Draynor Manor", ItemCollections.AMULET_OF_GLORIES);
rellekkaTeleport = new TeleportItemRequirement("Teleports to Rellekka", ItemID.RELLEKKA_TELEPORT, 3);
karamjaTeleport = new TeleportItemRequirement("Teleport to Tai Bwo Wannai", ItemID.TAI_BWO_WANNAI_TELEPORT);
draynorTeleport = new TeleportItemRequirement("Teleport to Draynor Manor", ItemCollections.AMULET_OF_GLORIES);
draynorTeleport.addAlternates(ItemID.DRAYNOR_MANOR_TELEPORT, ItemID.EXPLORERS_RING_2, ItemID.EXPLORERS_RING_3, ItemID.EXPLORERS_RING_4);
camelotTeleport = new ItemRequirement("Teleport to Seer's Village", ItemID.CAMELOT_TELEPORT);
skillsNecklace = new ItemRequirement("Teleport to Fishing Guild", ItemCollections.SKILLS_NECKLACES);
camelotTeleport = new TeleportItemRequirement("Teleport to Seer's Village", ItemID.CAMELOT_TELEPORT);
skillsNecklace = new TeleportItemRequirement("Teleport to Fishing Guild", ItemCollections.SKILLS_NECKLACES);

combatGear = new ItemRequirement("Combat gear", -1, -1).isNotConsumed();
combatGear.setDisplayItemId(BankSlotIcons.getCombatGear());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public class ANightAtTheTheatre extends BasicQuestHelper
ItemRequirement flail, saw, axe, ghostSpeakAmulet, combatGear, food;

// Recommended Items
ItemRequirement drakansMedallion, antiVenom, antipoison, fairyRings;
ItemRequirement drakansMedallion, spiderCaveTeleport, antiVenom, antipoison, fairyRings;

// Quest Items
ItemRequirement cryptKey, ranisHead, stickyNote, sulphuricAcid, strangeSpiderEggs, hesporiBark;
Expand Down Expand Up @@ -292,6 +292,7 @@ public void setupSteps()
"Use the Drakan's Medallion tele to get to Ver Sinhaza quickly.", strangeSpiderEggs);
returnToMysteriousStrangerWithEggs.addDialogSteps("I found some of those eggs.");
((NpcStep) returnToMysteriousStrangerWithEggs).addAlternateNpcs(NpcID.MYSTERIOUS_STRANGER_10875);
((NpcStep) returnToMysteriousStrangerWithEggs).addTeleport(drakansMedallion);

mysteriousStrangerCutscenes = new DetailedQuestStep(this, "Watch cutscenes.");
speakWithMysteriousStrangerAndWatchCutscenes = new NpcStep(this, NpcID.MYSTERIOUS_STRANGER_10876, new WorldPoint(3673, 3223, 0),
Expand Down Expand Up @@ -339,6 +340,7 @@ public void setupSteps()
"Speak with the Mysterious Stranger in Ver Sinhaza again with the Hespori bark. Use the Drakan's Medallion tele to get to Ver Sinhaza quickly.", hesporiBark);
returnToMysteriousStrangerWithBark.addDialogSteps("I found a hespori.");
((NpcStep) returnToMysteriousStrangerWithBark).addAlternateNpcs(NpcID.MYSTERIOUS_STRANGER_10875);
((NpcStep) returnToMysteriousStrangerWithBark).addTeleport(drakansMedallion);

mysteriousStrangerCutscenes2 = new DetailedQuestStep(this, "Watch cutscenes.");
speakWithMysteriousStrangerAndWatchCutscenes2 = new NpcStep(this, NpcID.MYSTERIOUS_STRANGER_10876, new WorldPoint(3673, 3223, 0),
Expand Down Expand Up @@ -376,6 +378,7 @@ protected void setupRequirements()
combatGear.setDisplayItemId(BankSlotIcons.getMeleeCombatGear());
food = new ItemRequirement("Food", ItemCollections.GOOD_EATING_FOOD);
drakansMedallion = new ItemRequirement("Drakan's Medallion", ItemID.DRAKANS_MEDALLION).isNotConsumed();
spiderCaveTeleport = new ItemRequirement("Spider cave teleport", ItemID.SPIDER_CAVE_TELEPORT);
antiVenom = new ItemRequirement("Anti-venom", ItemCollections.ANTIVENOMS);
antipoison = new ItemRequirement("Antipoison", ItemCollections.ANTIPOISONS);
fairyRings = new ItemRequirement("Access to fairy rings", ItemCollections.FAIRY_STAFF).isNotConsumed();
Expand Down Expand Up @@ -436,7 +439,7 @@ public List<ItemRequirement> getItemRequirements()
@Override
public List<ItemRequirement> getItemRecommended()
{
return Arrays.asList(drakansMedallion, antiVenom, antipoison, fairyRings);
return Arrays.asList(drakansMedallion, spiderCaveTeleport.quantity(2), antiVenom, antipoison, fairyRings);
}

@Override
Expand Down Expand Up @@ -480,12 +483,12 @@ public ArrayList<PanelDetails> getPanels()
enterVerSinhazaCrypts, killVyrewatchForKey, unlockTheCryptGate, searchTheCoffinInVerSinhazaCrypts,
speakWithMysteriousStrangerWithRanisHead, speakMoreWithMysteriousStranger, enterSpiderCave, searchSpiderCaveSkeleton,
readStickyNote, speakWithDaerKrand, returnToSpiderCave, returnToMysteriousStrangerWithEggs,
mysteriousStrangerCutscenes), combatGear, food, flail, saw, antiVenom, drakansMedallion));
mysteriousStrangerCutscenes), combatGear, food, flail, saw, antiVenom, drakansMedallion, spiderCaveTeleport));

allSteps.add(new PanelDetails("In Touch with Nature", Arrays.asList(goToNatureGrotto, goToHesporiFight, fightHespori,
chopHesporiForBark, returnToMysteriousStrangerWithBark, mysteriousStrangerCutscenes2), combatGear,
food,
ghostSpeakAmulet, axe, antipoison));
ghostSpeakAmulet, axe, antipoison, drakansMedallion));

allSteps.add(new PanelDetails("Theatre of Blood", Arrays.asList(completeTob, speakWithMysteriousStrangerToFinish)));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public class DefenderOfVarrock extends BasicQuestHelper

Requirement talkedToRoald, talkedToAeonisig, talkedToPrysin, talkedToRomeo, talkedToHorvik, talkedToHalen, givenShield;

ItemRequirement combatGear, bottle, bottleOfMist, varrockTeleport, mindAltarOrLassarTeleport, barroniteDeposit, chaosCore, imbuedBarronite, pickaxe, listOfElders, shieldOfArrav;
ItemRequirement combatGear, bottle, bottleOfMist, varrockTeleport, mindAltarOrLassarTeleport, lumberyardTeleport, barroniteDeposit, chaosCore, imbuedBarronite, pickaxe, listOfElders, shieldOfArrav;

@Override
public Map<Integer, QuestStep> loadSteps()
Expand Down Expand Up @@ -239,6 +239,8 @@ protected void setupRequirements()
varrockTeleport = new TeleportItemRequirement("Varrock teleport", ItemID.VARROCK_TELEPORT);
mindAltarOrLassarTeleport = new TeleportItemRequirement("Mind Altar or Lassar teleport tablet or spell", ItemID.MIND_ALTAR_TELEPORT);
mindAltarOrLassarTeleport.addAlternates(ItemID.LASSAR_TELEPORT);
lumberyardTeleport = new TeleportItemRequirement("Teleport to the Lumberyard", ItemID.LUMBERYARD_TELEPORT);
lumberyardTeleport.addAlternates(ItemID.RING_OF_THE_ELEMENTS, ItemID.RING_OF_THE_ELEMENTS_26818);

barroniteDeposit = new ItemRequirement("Barronite deposit", ItemID.BARRONITE_DEPOSIT);
chaosCore = new ItemRequirement("Chaos core", ItemID.CHAOS_CORE);
Expand Down Expand Up @@ -302,6 +304,7 @@ public void setupSteps()
talkToElias = new NpcStep(this, NpcID.ELIAS_WHITE, new WorldPoint(3283, 3501, 0),
"Talk to Elias White in the Jolly Boar Inn north-east of Varrock.", combatGear);
talkToElias.addDialogSteps("Yes.", "Ready when you are.");
talkToElias.addTeleport(lumberyardTeleport);

inspectPlant = new ObjectStep(this, NullObjectID.NULL_50662, new WorldPoint(3280, 3516, 0), "Inspect the plant north of the pub.");
inspectRock = new ObjectStep(this, NullObjectID.NULL_50664, new WorldPoint(3260, 3514, 0), "Inspect the small rocks to the west.");
Expand Down Expand Up @@ -441,6 +444,7 @@ public List<ItemRequirement> getItemRequirements()
public List<ItemRequirement> getItemRecommended()
{
return Arrays.asList(
lumberyardTeleport,
varrockTeleport.quantity(2),
mindAltarOrLassarTeleport
);
Expand Down Expand Up @@ -504,12 +508,12 @@ public List<PanelDetails> getPanels()
List<PanelDetails> allSteps = new ArrayList<>();
allSteps.add(new PanelDetails("Intrigue", Arrays.asList(talkToElias, inspectPlant, inspectRock, inspectPlant2, inspectBush1,
inspectBush2, inspectBush3, inspectTrapdoor, listenToElias, lookOverBalcony, pickupBottles, killZombies, collectRedMist, openDoorToArrav,
goThroughSecondGate, lookOverSecondBalcony), combatGear));
goThroughSecondGate, lookOverSecondBalcony), combatGear, lumberyardTeleport, varrockTeleport));
allSteps.add(new PanelDetails("Crisis", Arrays.asList(talkToEliasInPalace, talkToRovin, enterCamdozaal, talkToRamarno, mineBarronite, killChaosGolems,
useCoreOnDeposit, useBarroniteOnForge), combatGear, pickaxe));
useCoreOnDeposit, useBarroniteOnForge), combatGear, pickaxe, mindAltarOrLassarTeleport));

allSteps.add(new PanelDetails("Invasion", Arrays.asList(talkToRovinAfterForge, talkToReldo, searchScrolls, readList, readCensus, talkToRoald,
talkToAeonisig, talkToPrysin, talkToRomeo, talkToHorvik, talkToHalen, talkToDimintheis, finishQuest)));
talkToAeonisig, talkToPrysin, talkToRomeo, talkToHorvik, talkToHalen, talkToDimintheis, finishQuest), varrockTeleport));
return allSteps;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -497,7 +497,7 @@ public void setupSteps()
talkToTrollFinish.addDialogSteps("Okay, I'm done asking questions. What now?", "I'm done asking questions. What now?");
talkToTroll.addSubSteps(talkToTrollFinish);
talkToSnowflake = new NpcStep(this, NpcID.SNOWFLAKE, new WorldPoint(2872, 3934, 0),
"Talk to Snowflake");
"Talk to Snowflake.");
talkToSnowflake.addDialogStep("Have you seen anything odd around here recently?");
moveToWeissCave = new ObjectStep(this, ObjectID.STAIRS_33234, new WorldPoint(2867, 3940, 0),
"Prepare for a fight and climb down the stairs in the middle of Weiss.", combatGear, antipoison);
Expand Down Expand Up @@ -548,6 +548,7 @@ public void setupSteps()
useLeverOnMechanism.addIcon(leverHandle.getId());
useLeverOnMechanism.addDialogStep("Yes.");
pullLever = new ObjectStep(this, NullObjectID.NULL_46900, new WorldPoint(2917, 10342, 0), "Pull the lever.");
pullLever.addDialogStep("Yes.");
inspectPillar = new ObjectStep(this, ObjectID.PILLAR_46613, new WorldPoint(2924, 10346, 0),
"Inspect the south west pillar in the room where you fought the assassin.");
combineShards = new DetailedQuestStep(this, "Use the jewel shards on one another.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ public void setupConditions()
public void setupSteps()
{
goToDesertPlateau = new DetailedQuestStep(this, new WorldPoint(3362, 3148, 0),
"Go to the Desert Plateau east of Al Kharid to start the quest.", Arrays.asList(oakLogs, wool, nails, chisel), Arrays.asList(iceGloves));
"Go to the Desert Plateau east of Al Kharid to start the quest. Minigame teleport to Giant's Foundry.", Arrays.asList(oakLogs, wool, nails, chisel), Arrays.asList(iceGloves));
((DetailedQuestStep) goToDesertPlateau).setLinePoints(Arrays.asList(new WorldPoint(3293, 3180, 0),
new WorldPoint(3306, 3180, 0),
new WorldPoint(3313, 3171, 0),
Expand Down Expand Up @@ -383,7 +383,7 @@ public void setupSteps()
getPreform = new ObjectStep(this, NullObjectID.NULL_44778, new WorldPoint(3369, 11501, 0),
"Get your preform from the preform storage in the north of the room.");

handInPreform = new NpcStep(this, NpcID.KOVAC_11470, "Give the finished sword to Kovac.");
handInPreform = new NpcStep(this, NpcID.KOVAC_11470, "Give the finished sword to Kovac to complete the quest.");

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ private void setupSteps()
int[] SUE_AND_GARY = new int[]{NpcID.SUE, NpcID.GARY};
int[] DAVE_AND_JANE = new int[]{NpcID.JANE, NpcID.DAVE_12943};
talkToMarcellus = new NpcStep(this, NpcID.MARCELLUS, new WorldPoint(1683, 2973, 0),
"Talk to Marcellus near the Locus Oasis south of Civitas illa Fortis.");
"Talk to Marcellus near the Locus Oasis south of Civitas illa Fortis. AJP Fairy ring is fastest.");
talkToMarcellus.addDialogStep("Yes.");
talkToBlueFrogs = new NpcStep(this, NpcID.FROG_12938, new WorldPoint(1694, 2996, 0),
"Talk to the blue frogs in the north-east of the oasis.");
Expand Down

0 comments on commit 3d19224

Please sign in to comment.