Feature - Implemented Zombie Slayer: Delay new ascension stuff until after Dawn of the D'oh

Bale

Minion
It would be awesome if, instead of skipping Dawn of the D'oh, Mafia delayed new ascension stuff like checking Hagnks and post ascension scripts until after completing the Dawn of the D'oh choice adventure if choicedventure596 is set to a default value of 0. If it is set to 1, then skip through it.

A lot of people are missing this adventure and posting about it on the main forum. Although I have not posted my own feelings in G-D, I quite agree that it would improve my KoL Experience to continue enjoying that excellent introduction to being a Zombie Slayer. The writing was awesomely funny and I don't want to only see it on the wiki.
 
I think I have an idea for how this would work, and I attached a patch that looks mostly good. It's missing a URL that I should be able to pick up later today when I also test the patch. I see that my patch leads to ValhallaManager.logNewAscension() being called after the choice adventure is finished, but that was apparently happening anyway.

One thing I can't figure out is how ValhallaManager.postAscension() is called if you aren't using the Relay Browser, or why it wouldn't need to be called. I feel like this patch would lead to it being called in that case for zombie runs when it normally isn't called.
 

Attachments

Haven't looked at the patch yet, but can we also retrofit this patch (or whatever solution that ends up in Mafia) to also apply to, say, Boriscore? There will most likely be more challenge paths with introductory on-ascension content, and a generalized approach now will probably save time in the future.
 
A generalized approach would recognize the presence of a choice adventure and wait until completing that choice before starting an ascension, similar to the idea of being in the midst of a choice adventure on logon.
 
to also apply to, say, Boriscore?

What part of Boriscore would this apply to?

I agree with the idea of implementing a generic solution, but I don't know how that could be done. The patch I posted above could be easily expanded to each new path as needed, shortly after the need is recognized.
 
I'd kinda thought that adventure didn't happen after the first time since I only encountered it the first time. Now I'm thinking it is just like Dawn of the D'oh and it got removed after the first time I ascended as a Boris.
 
I turns out you can't test stuff when you keep using a version that doesn't have the new code in it, so I won't be able to test that for another 2 days.
 
One thing I can't figure out is how ValhallaManager.postAscension() is called if you aren't using the Relay Browser, or why it wouldn't need to be called. I feel like this patch would lead to it being called in that case for zombie runs when it normally isn't called.
I think we (I, probably), assumed that you would always ascend from the Relay Browser. I.e., that you wouldn't script Reincarnating from Valhalla. People do all sorts of crazy scripting now, so that's probably not a good assumption. :)

In order for the code to apply to all reincarnations - Relay Browser and visit_url - then the code in RelayAgent that does special stuff for afterlife.php redirecting to (something) should, presumably, move to GenericRequest somewhere.

I have done lots of Boris runs. I've noticed two things:

- I don't remember seeing the page that heeheehee pointed to. So, I suspect that that, too, is being suppressed.
- When I free the king, I think maybe we're missing a page there, too.

We have a mechanism we use when you log into a choice adventure - ChoiceManager.initializeAfterChoice() - to allow you to finish refreshing your session after you exit out of the choice. I had thought we could use something like that here, too, but most new ascensions don't start out with a choice chain. In particular, only choice #574 (The Minstrel Cycle Begins) and #596 (Dawn of the D'oh).

We could do something like this:

If we redirect from afterlife.php and it is a reincarnation, look at what we redirect to. If it is not choice.php, execute ValhallaManager.postAscension() immediately. If it is choice.php, make ChoiceManager.ascendAfterChoice(), which works like ChoiceManager.initializeAfterChoice().

I'll see if I can code up a patch. It'll be days before I have a chance to test it out, though. I'll post it here, in case somebody else wants to try it.
 
I do.
As the wiki says: "Occurs when prompted by Clancy. ".
When you first ascend the Boris way, Clancy will "!" at you until you click him, and give you that encounter.

I wasn't sure whether to trust the wiki on this one, since it looked like it was copy-pasted from some other Clancy page (although it should predate all other Clancy pages). It seems strange that this bit of content would only appear on the first Boris ascension, though. (I also don't remember getting this adventure on my somewhat recent whim-ascension without Mafia. Then again, I was mostly trying to remember how stuff worked.) I guess in a few days, I'll ascend my mostly-non-ascending alt that I ascended into Zombiecore (for HTML-grabbing!) to test whether this is the case or not.
 
I checked the session log for my Boris run; The Minstrel Cycle Begins didn't appear at the very start of the run (as Dawn of the D'oh did), but only after clicking on Clancy.
 
Back
Top