Prodigy-Hacking / ProdigyMathGameHacking

Prodigy Hacking: Hacking for the right reasons. | Questions? Ask on our Discord. https://discord.gg/XQDfbfq
https://prodigyhacking.com
Other
17 stars 10 forks source link

Auto-skipping quests #6

Closed ArcerionDev closed 4 years ago

ArcerionDev commented 4 years ago

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

PatheticMustan commented 4 years ago

What do you mean by auto skipping quests?

PatheticMustan commented 4 years ago

Do you mean completing bounties, or....

ArcerionDev commented 4 years ago

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

PatheticMustan commented 4 years ago

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

ArcerionDev commented 4 years ago

Please do!

PatheticMustan commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

Oh, the epics subspace.

On Fri, Feb 14, 2020 at 4:29 PM Mustan Pathetic notifications@github.com wrote:

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

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

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.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/6?email_source=notifications&email_token=AOQ7MLF563GOKHJP5Q2E3WLRC4EM7A5CNFSM4KU5JUU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEL2PVNI#issuecomment-586480309, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLGO6YT4U7YUO5UFUPLRC4EM7ANCNFSM4KU5JUUQ .