New Content - Implemented Desert/Oasis revamp

Veracity

Developer
Staff member
Exactly. What are the current "steps" of that quest? All of the various meetings with Gnasir used to be steps, but now they are all optional, except for the first one, and the next step is "discover the pyramid" or something.
 

Bale

Minion
Currently the Quest log doesn't update until the pyramid is found which used to be step 11. That means it should go directly from "started" to "step11". It's kinda awful, really.

It might be nice if we had a gnasirProgress preference which works like twinPeakProgress listing all the things that Gnasir accepts so that we can learn more by parsing gnasirProgress with binary operators.
  • Gave Gnasir killing jar = 1
  • Gave Gnasir black paint = 2
  • Gave Gnasir stone rose = 4
  • Gave Gnasir Worm-riding manual pages (15) = 8
  • Used drum machine = 16

I have two scripts which would be glad to make use of gnasirProgress since questL11Pyramid now has very little granularity.
 
Last edited:

Theraze

Active member
When you use the drum machine, doesn't it go straight to fully-done? I'm just questioning whether there's still reason to track/update gnasirProgress after questL11Pyramid is step11.
 

Theraze

Active member
Ah, okay. The two times I've actually used the drum machine it's been enough to finish me off. :) Thanks.
 

Darzil

Developer
That is frequently the case. I find it takes around about 5 turns to meet Gnasir (10%), then hand in two items (30%), then 15 ish turns to get the pages (30%) and hand them in (30%). It's only if it takes less than 15 turns to get the pages that it's worth handing in a third item, and you need it to take quite a bit longer before the stone rose isn't worth getting if you missed the killing jar.
 

Winterbay

Active member
I've done the revamped quest one time and I got one worm-riding page which meant that anything else was basically better than that :)
Also, it'd be great if there was an autostop when you reached 100% exploration because I thought it would stop and it didn't which spent roughly 50 more turns than needed :)
 

Theraze

Active member
One of the features of finding pages is that it seems to only happen when you're actually hydrated... which isn't usually for me when I'm grinding through with power nap and a starfish-type, since it uneffects the various desert problems. But... it's usually worth the adventures if you have enough +item for finding the drum machine as well.
 

Veracity

Developer
Staff member
I'm wondering if we should merge this with this thread since it's actually discussing how to finish implementing support for the new Desert/Oasis/Gnasir content.

I'll be going through this again tomorrow, now that I am done forever with KoLHS. Anything I should keep an eye on or whose HTML I should capture?
 

Veracity

Developer
Staff member
OK, I didn't have time to look at this in detail when I went through it yesterday, but I have some observations.

I got the worm riding hooks and then the drum machine. Yes, we should give a "wormride" link on the second one obtained. "wormride" currently does the following:

It submits a request to "place.php?whichplace=desertbeach&action=db_pyramid1".
Generic request sees that and does a series of actions before finally submitting it;
- make Staff of Ed (if you have the ingredients)
- if you have hooks and drum machine, use the drum machine
- finally, submit the URL

That worked for the old paradigm where doing a wormride automatically opens the pyramid. Now, however, it will increase your desert exploration but only open the pyramid if you are at 100%. When it does that, it shows you a "new area opened" - which I did not get the HTML for, unfortunately, since I did not turn on debugging first.

(What happens if the desert is less than 100% explored and you use a drum machine without worm riding hooks? Sand worm? Or a message that you should get the hooks, like Gnasir told you? Or what?)

Putting this all together, I'd like it to work like this:

- When you get the 15th page of the wormriding manual, instead of simply listing a [15] as the "link", give a "gnasir" link which visits him, so you can turn in the pages to get the worm riding hooks
- When you get the worm riding hooks, if you have a drum machine and the desert is less than 100% explored, give a "wormride" link which simply uses a drum machine
- When you get a drum machine, if you have the worm riding hooks and the desert is less than 100% explored, ditto: "wormride" uses the drum machine.
If the desert is less than 100% explored and you get the drum machine but have no hooks, what? skip the link?
If the desert is 100% explored, give a simple "use" link to the drum machine when you get one. Same as what you get when you get a drum machine when you have worm riding hooks, but named "use", not "wormride".
- Make the New Area Opened have a link to "place.php?whichplace=desertbeach&action=db_pyramid1", just like we decorate other "New Area Opened" messages with links. Unlike the old paradigm, this can happen no matter how you complete your desert exploration, not just via a wormride.
- GenericRequest will note that URL, as before, and make a Staff of Ed for you first, if it can. It will no longer trouble
to use a drum machine.

That last one mirrors current behavior. I'm unclear if we still want it. It is certainly a convenience, but if somebody wants, for some reason, to visit the pyramid without the Staff, even if they have all the parts, it won't let them. Maybe do it only if you a have spoilers enabled. Thoughts on that?

The above, with the following additional things:

- set quest progress to step11 when the desert exploration hits 100% via any means
- add a "gnasirProgress" bit mask, like Bale wants.

will pretty much finish this, near as I can tell.
 

Veracity

Developer
Staff member
Revision 13303 does this:

---
gnasirProgress is a bitmap of things you've done with Gnasir to advance desert exploration:

stone rose = 1
black paint = 2
killing jar = 4
worm-riding manual pages (15) = 8
successful wormride = 16

When you find a stone rose, add [gnasir] link to visit him
When you find manual pages
- If you have less than 15, add informational [x] to tell you how many you have
- If you have 15, add [gnasir] link to visit him
When you are given the worm-riding hooks and the desert is less than 100% explored:
- If you have a drum machine, "wormride" link uses a drum machine
- Otherwise "oasis" link takes you to Oasis to find one
When you find a drum machine and the desert is 100% explored
- "use" link will use it and let you fight a giant sandworm
When you find a drum machine and the desert is less than 100% explored
- If you have worm riding hooks, "wormride" link uses a drum machine
- Otherwise, no link (lets you save it for worm riding)
When you get a desert sightseeing pamphlet, give it a use link.
When you finish your desert exploration, you get a New Area Unlocked message for A Small Pyramid. Linkify that to go to the pyramid
When you click on the image/link to visit the small pyramid, if you have "autoCraft" enabled, make a Staff of Ed first, if you can.
---

I think this is done.
 

Winterbay

Active member
Is there any way of forcing Mafia to adventure in the arid desert while ultra-hydrated since there is now only one entry for the desert in the GUI?

As far as I'm aware the pages only drop if you are hydrated, and based on the fact that I finished the exploration way before I found a single page I assume that Mafia does not hydrate you automatically any longer when picking the single entry for the arid desert in the GUI-picker.
 

Darzil

Developer
Warning - hopefully this is a KoL bug, but I used the wormride link and didn't get credited with 30% exploration, despite losing Drum Machine and Work Hooks. (I'm at 72%, having explored for 21 turns, handed in Stone Rose and Black Paint, and Wormridden).
 

Veracity

Developer
Staff member
The "wormride" link is simply "use drum machine"; it is exactly the same as if you had used a drum machine from inventory. It CAN'T be different; we don't have secret URLs that we can submit that do things that KoL itself can't do, contrary to what some people think, judgig by G-D posts over the years. :)

It showed you fighting the sandworm, right? When you said "didn't get credited", do you mean KoLmafia's desertExploration did not go up, or when you looked at the desert map, it did not add 30? (Of course, looking at the desert map will update desertExploration to what KoL thinks it is.)
 

Veracity

Developer
Staff member
By the way, I did this today:

5 turns in the Arid, Extra Dry Desert with compass equipped -> 10%
Found Gnasir (+0%)
Adventured in Oasis to get Stone Rose and a drum machine
Verified that using a drum machine after Gnasir but pre-hooks gives you a sand worm
Adventured in the Oasis to get another drum machine
21 turns in the Arid, Extra Dry Desert -> +42% -> 52%
Turned in stone rose -> got desert pamphlet
Used desert pamphlet -> +15% ->67%
Turned in 15 manual pages -> got worm riding hooks
Wormride (via link) -> +30% -> 97%
Turned in killing jar -> got desert pamphlet
Used desert pamphlet -> +15% -> (112%) 100% DESERT EXPLORATION COMPLETE

I used the new Use Links - use a desert pamphlet, visit gnasir after stone rose, wormride, etc. - and everything worked perfectly.

I did not even turn in my black paint, because it took long enough to get the 15 manual pages that I had sufficient desert exploration just from being in the desert.

In summary, everything worked exactly as expected for me.
 

Darzil

Developer
Yeah, I'll see what comes of the KoL bug report. desert map shows 72%, my inventory lacks all the things I used. I didn't think it related to these things. Only way that could be possible would be if KoL had changed the links and we were using old ones that they didn't support correctly. That'd still be a KoL bug I reckon.

Your code worked fine and gnasirProgress is 27 !
 

lostcalpolydude

Developer
Staff member
Is there any way of forcing Mafia to adventure in the arid desert while ultra-hydrated since there is now only one entry for the desert in the GUI?

As far as I'm aware the pages only drop if you are hydrated, and based on the fact that I finished the exploration way before I found a single page I assume that Mafia does not hydrate you automatically any longer when picking the single entry for the arid desert in the GUI-picker.

You need some script to hydrate you, since it could make sense to adventure there unhydrated.
 
Top