Skip to content
This repository has been archived by the owner on Apr 7, 2022. It is now read-only.

Auto-skipping quests #6

Closed
ArcerionDev opened this issue Feb 13, 2020 · 10 comments
Closed

Auto-skipping quests #6

ArcerionDev opened this issue Feb 13, 2020 · 10 comments

Comments

@ArcerionDev
Copy link
Contributor

How would I go about finding a way to auto-skip quests?

@PatheticMustan
Copy link
Member

What do you mean by auto skipping quests?

@PatheticMustan
Copy link
Member

Do you mean completing bounties, or....

@ArcerionDev
Copy link
Contributor Author

Like, completing Firefly forest, Shiverchill mt. etc. instantaneously

@PatheticMustan
Copy link
Member

I did it! I'll explain how I figured it out to help you in future detective work.

@ArcerionDev
Copy link
Contributor Author

Please do!

@PatheticMustan
Copy link
Member

So first, just exploring around, we can find PIXI.game.prodigy.debugQuests.
Assuming that there is a way to complete quests in here, we look through the prototype to find

PIXI.game.prodigy.debugQuests.completeQuestRequirements(t)

Now we need to figure out what to put in for parameter t.
completeQuestRequirements.toString() returns

function (t){
var i=this.game.prodigy.world.zones[t],
n=i.getCurrentQuest(),
e=0;
if(l.b.isValid(n)){
var s=n.req;
if("item"===s.type)this.game.prodigy.player.backpack.add(s.type,s.ID,!1,l.b.isValid(s.N)?s.N:1);
else if("key"===s.type)this.game.prodigy.player.backpack.add(s.type,s.ID,!1,l.b.isValid(s.N)?s.N:1);
else if("pet"===s.type)for(e=0;e<s.N;e++)i.defeatMonster(s.ID,e,s.U);
else if("seq"===s.type)for(e=0;e<s.N;e++)i.completeSequence(n.ID,e)
}
}

Seeing that it sets i to PIXI.game.prodigy.world.zones[t], we can assume that t is a key of object PIXI.game.prodigy.world.zones.

Now we need to figure out what keys are in world.zones.
Object.keys(PIXI.game.prodigy.world.zones)

object forest
object shiverchill
object skywatch
object lamplight
object dyno
object bonfire_spire
object house
object toyzone
object shipwreck_shore
object darktower
object academy
object archives
object earthtower
object tower_town

Since I was in Shiverchill, I did
PIXI.game.prodigy.debugQuests.completeQuestRequirements("shiverchill"), but nothing happened. I could no longer move, or interact with panels. (???)

On reloading the page, the quest was completed!

B3B9F4F7-6289-4DC9-B619-71422B61FBD9

@ArcerionDev
Copy link
Contributor Author

Aha. I've seen that in the past when I was looking. I was leaning toward using game.world.zones for this type of stuff. Thanks!

@ArcerionDev
Copy link
Contributor Author

So I want to ask something about world.zones... I saw your zones and there was one that confused me. I'll explain.
object house **_object toyzone_** object shipwreck_shore
What is "Toyzone" exactly?

@PatheticMustan
Copy link
Member

PatheticMustan commented Feb 14, 2020

It's that tiny island at the top right of the map, you can teleport to it with

PIXI.game.prodigy.debugMisc.tp("toyzone-B1")

and you can check your current map with

PIXI.game.prodigy.world.currentMap

If the map is not valid, you'll instead be teleported to your house.

@ArcerionDev
Copy link
Contributor Author

ArcerionDev commented Feb 14, 2020 via email

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants