Bug - Fixed questG02Whitecastle not reset

ckb

Minion
Staff member
After a new ascension, questG02Whitecastle was set to step2, when it should have been unstarted.

Before talking to Paco and activating the quest, visiting the quest log [current quests] and [completed quests] and 'refresh quests' from the CLI did not reset it. It was not in my current or completed quests.

Talking to Paco the first time and activating the quest did correctly set questG02Whitecastle to started.

questG02Whitecastle is weird, in that step2, step5, and step7 are (no unique message).
Because they are all
Code:
Make your way through the dark forest near the <a class=nounder target=mainpane href='place.php?whichplace=woods'><b>Road to the White Citadel
 
That's strange. All quest preferences that don't start questESl should be resetting, we don't handle them individually. It does look as if QuestManager doesn't check in many places for failure to access things, so if something is trying to visit a location starting with "adventure" and including "413" we might be wrongly setting it if QuestManager.handleQuestChange isn't called after checking the adventure was a success. If that's it we should certainly improve that.

Edit - After quest completion if you visit you get "Can anyone truly say where the Road to the White Citadel is? Really?" when visiting that location, and (if reset first) the quest preference doesn't update, so that doesn't look like the issue. I'm out of non-drunk characters at present, so I'll look tomorrow at a character who hasn't actually started it.

Refresh quests won't reset it, as we don't currently check for the absence of quests to set them.

(no unique message) is deliberately used, if you use a blank entry it's matches to everything, whereas this will never match, as we cannot work out the step by the message.
 
Last edited:
I just ascended again, and this:

> get questG02Whitecastle

unstarted

so it is resetting. It just got confused somewhere along the line. I will try to check this periodically and see if I can repeat the problem.
 
ok, in the heat is trying to get a 3-day HC picky (which I failed), I forgot to check this. But I just freed the king, and ran some aftercore adventures, then remembered this. I have not visited Paco, but I see this:

> get questG02Whitecastle

step2

First visit to Paco gets the "you finished the meatcar" message.
Second visit gets the Another Errand I Mean Quest choice.
Accepting the quest (and therefor updating the quest log) updates as expected to this:

> get questG02Whitecastle

started
 
Last edited:
More Data!
I started Day 3 today of a HC Standard run.

> get questG02Whitecastle

step2

I checked this at some point day 2, and it was unstarted. So something happened between then and now that set this wrong.

Here is my quest log:
HTML:
<body>
<centeR><table  width=95%  cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Your Quest Log</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><Center>[current quests]   [<a href="questlog.php?which=2">completed quests</a>]   [<a href="questlog.php?which=3">other accomplishments</a>]   [<a href="questlog.php?which=4">notes</a>]   [<a href="questlog.php?which=5">hobo code binder</a>]   [<a href="questlog.php?which=6">Monster Manuel</a>]</center><p><center><b>Current Quests:</b></center><b>Council Quests:</b><blockquote><b>Ooh, I Think I Smell a Rat</b><br> Explore the cellar of the <a class=nounder target=mainpane href=tavern.php><b>Typical Tavern</b></a> and find the source of the rats.<p><b>There Can Be Only One Topping</b><br> The <a class=nounder target=mainpane href=place.php?whichplace=highlands><b>Highland Lord</b></a> wants you to light three signal fires:<br>   * A-boo Peak<br>   * Twin Peak<br>   * Oil Peak<p><b>Gotta Worship Them All</b><br> Solve the mystery of the <b><a class=nounder target=mainpane href=woods.php>Hidden City</a></b>.<p><b>Doctor!</b><br> Infiltrate the operating room in the <b><a class=nounder target=mainpane href=place.php?whichplace=hiddencity>Hidden Hospital</a></b>.<p><b>Just Deserts</b><br> Explore the <a class=nounder target=mainpane href=place.php?whichplace=desertbeach><b>Arid, Extra-Dry Desert</b></a> to find the pyramid mentioned in your father's journal.<p><b>Of Mice and Shen</b><br> Go to the <a class=nounder target=mainpane href=place.php?whichplace=town_wrong><b>Copperhead Club</b></a> and find Shen, the man mentioned in your father's diary.<p><b>Merry-Go-Ron</b><br> Search for Ron Copperhead on the <a class=nounder target=mainpane href=place.php?whichplace=mountains><b>Red Zeppelin</b></a>.<p><b>ckb1 and the Quest for the Holy MacGuffin</b><br>You've picked up your father's diary, and things just got a whole lot more complicated. Oh dear.<p></blockquote><p><b>Guild Quests:</b><blockquote><b>My Other Car Is Made of Meat</b><br>Since your Guild's meat car has been lost due to somewhat sketchy circumstances, you need to build a new one. You might be able to find some parts at Degrassi Knoll.<p><b>The Wizard of Ego</b><br>You've been tasked with digging up the grave of an ancient and powerful wizard and bringing back a key that was buried with him. What could possibly go wrong?<p><b>Me and My Nemesis</b><br>One of your guild leaders has tasked you to recover a mysterious and unnamed artifact stolen by your Nemesis. Your first step is to smith an Epic Weapon.
<p>
Two parts of the Epic Weapon can be had from the two oldest and wisest men in the kingdom, one of whom runs the casino. You weren't told where the third part is.<p></blockquote><p><b>Other Quests:</b><blockquote><b>What's Up, Doc?</b><br> <a class=nounder target=mainpane href=place.php?whichplace=town_market><b>Doc Galaktik</b> needs some medicinal herbs:<br>   *  Swindleblossoms from the <a class=nounder target=mainpane href=cobbsknob.php><b>Cobb's Knob Harem</b></a> (0/3)<br>   *  <s>3 Fraudwort (3/3)</s><br>   *  <s>3 Shysterweed (3/3)</s><p><b>Give a Hippy a Boat...</b><br> Find a boat for that hippy near the <a class=nounder target=mainpane href=woods.php><b>Old Landfill</b></a>.<p><b>A Grim Tale Indeed!</b><br> Screw up Cindy's evening at <a class=nounder target=mainpane href=place.php?whichplace=ioty2014_cindy><b>The Prince's Ball</b></a>.<br>  Time Left: 26 minutes<br>  Score: 0<p><b>The Shirt Off His Lack of Back</b><br> Go to the <a class=nounder target=mainpane href=place.php?whichplace=mountains><b>Thinknerd Warehouse</b></a> and find Melvign's "shirt."<p></blockquote><p><p><center><a href="campground.php">Back to your Campsite</a></center></td></tr></table></center></td></tr><tr><td height=4></td></tr></table></center></body>

also, I put a check in my afteradventure script to check questG02Whitecastle==unstarted. Hopefully this will help pinpoint when it is getting set wrong.
 
I believe this bug is caused by adventuring in adventure.php anywhere that has a snarfblat containing the string 99.

QuestManager.java:
Code:
if ( location.contains( AdventurePool.ROAD_TO_WHITE_CITADEL_ID ) )

AdventurePool.java:
Code:
public static final String ROAD_TO_WHITE_CITADEL_ID = "99";
That will match for 199, 299, etc.
399 is the haunted boiler room, which is commonly visited in ascension.

An easy way to repeat it is to set questG02Whitecastle=unstarted, then adventure in the haunted boiler room.

There's a lot of other two-digit strings like that in AdventurePool.java as well, and similar contains tests in QuestManager.java. They may cause partial matching bugs as well?
 
I refactored that checking in 15270, which should fix this issue and probably others before they had a chance to show up. There are still some location.contains( AdventurePool.ID ) calls in QuestManager, but they are always preceded by a locationId.equals( AdventurePool.ID ) call, so those should be fine.

I guess confirmation that you can't reproduce these issues would be good here.
 
Ezandora for the Win!

Confirmed fix. Using version 15261, questG02Whitecastle is set to 'step2' from adventuring in the Boiler Room. Using version 15270, questG02Whitecastle is not changed.

Thanks.
 
Back
Top