New Content - Implemented Low-Key path

Veracity

Developer
Staff member
Apparently, lots more locks/keys at tower door.
Keys are quest item accessories.
You lose them when you unlock a lock.

(Can you go get another one to use in aftercore? Or, if you do, do they disappear like Plumber quest items when you free the king?)

Here is a spreadsheet where lock/key info is being collected.

Revision 20099 adds the 17 keys which were there when I last looked. There will be 6 more.

I think the built-in tower door script will need an update.
Some sort of key collection tracking.
Perhaps a command to tell you what you have, what you need, where to find them - sort of like "latter unlocks".

Until I see whether there is a liited path reward, I'm not going to be diving right into this, I think.
 

Veracity

Developer
Staff member
Huh. Revision 20101 has Manual of Lock Picking and Lock Picking Skill.

I guess that using the latter will redirect to a choice adventure to let you pick a lock to pick.
Is it only usable if the Tower Door is accessible?
The skill says "usable once per Life".
Is it upgrade if you learn the skill multiple times (i.e. have a skillLevel, like 12 other skills)?
Does it auto-perm?

We'll find those things out soon enough.

This looks amusing enough that I'll probably try it out tomorrow. Since their's a whole path focused on the Tower Door, perhaps we should create a TowerDoorManager out of what is currently part of SorceressLairManager. I think I'll do that and then we'll have a lot of subsequent work in that class. :)
 

Veracity

Developer
Staff member
Revision 20102 does that: TowerDoorManager has all of our current support for the Tower Door.
 

Veracity

Developer
Staff member
Revision 20103 adds the remaining six keys. TowerDoorManager now has all the data from the spreadsheet.
I'll look at the door later today after I ascend to get the actions needed to activate the 23 new keys.
 

Veracity

Developer
Staff member
I saved the form for the Tower Door in Low-Key. Every lock - the 6 old ones, the 23 new ones, and the doorknob has a different action than on the normal Tower Door. It's a different "place", as well.

Revision 20105 saves all the scraped info in data structures and comments.
I'm clearly going to have to refactor how things work. I'm glad I moved the Tower Door stuff into a new package.

FYI, here is the page HTML (formatted slightly). I love how the divs are sorted numerically: 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 3, 4, 5, 6, 7, 8, 9. :)

HTML:
<div id=background  style='position: relative; width:409px;height:886px'  ><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/towerdoor_lowkeybg.gif" width=409 height=886 border=0>
  <div id=nstower_doowlowkey1 style=' position: absolute; top: 50; left: 19; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey1><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock1.gif" width=100 height=50 border=0 alt="Polka Dotted Lock" title="Polka Dotted Lock"></a>
  </div>
  <div id=nstower_doowlowkey10 style=' position: absolute; top: 184; left: 18; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey10><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock10.gif" width=100 height=50 border=0 alt="Frigid Lock" title="Frigid Lock"></a>
  </div>
  <div id=nstower_doowlowkey11 style=' position: absolute; top: 49; left: 285; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey11><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock11.gif" width=100 height=50 border=0 alt="Anchovy Can" title="Anchovy Can"></a>
  </div>
  <div id=nstower_doowlowkey12 style=' position: absolute; top: 142; left: 284; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey12><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock12.gif" width=100 height=50 border=0 alt="Cactus-Shaped-Hole Lock" title="Cactus-Shaped-Hole Lock"></a>
  </div>
  <div id=nstower_doowlowkey13 style=' position: absolute; top: 92; left: 284; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey13><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock13.gif" width=100 height=50 border=0 alt="Boat Prow Lock" title="Boat Prow Lock"></a>
  </div>
  <div id=nstower_doowlowkey14 style=' position: absolute; top: 579; left: 18; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey14><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock14.gif" width=100 height=50 border=0 alt="Barnacley Lock" title="Barnacley Lock"></a>
  </div>
  <div id=nstower_doowlowkey15 style=' position: absolute; top: 235; left: 18; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey15><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock15.gif" width=100 height=50 border=0 alt="Infernal Lock" title="Infernal Lock"></a>
  </div>
  <div id=nstower_doowlowkey16 style=' position: absolute; top: 245; left: 285; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey16><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock16.gif" width=100 height=50 border=0 alt="Sausage with a Hole" title="Sausage with a Hole"></a>
  </div>
  <div id=nstower_doowlowkey17 style=' position: absolute; top: 767; left: 285; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey17><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock17.gif" width=100 height=50 border=0 alt="Golden Lock" title="Golden Lock"></a>
  </div>
  <div id=nstower_doowlowkey18 style=' position: absolute; top: 456; left: 285; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey18><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock18.gif" width=100 height=50 border=0 alt="Junky Lock" title="Junky Lock"></a>
  </div>
  <div id=nstower_doowlowkey19 style=' position: absolute; top: 369; left: 287; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey19><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock19.gif" width=100 height=50 border=0 alt="Spooky Lock" title="Spooky Lock"></a>
  </div>
  <div id=nstower_doowlowkey2 style=' position: absolute; top: 832; left: 19; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey2><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock2.gif" width=100 height=50 border=0 alt="Bat-Winged Lock" title="Bat-Winged Lock"></a>
  </div>
  <div id=nstower_doowlowkey20 style=' position: absolute; top: 699; left: 20; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey20><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock20.gif" width=100 height=50 border=0 alt="Crib-Shaped Lock" title="Crib-Shaped Lock"></a>
  </div>
  <div id=nstower_doowlowkey21 style=' position: absolute; top: 783; left: 20; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey21><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock21.gif" width=100 height=50 border=0 alt="Boney Lock" title="Boney Lock"></a>
  </div>
  <div id=nstower_doowlowkey22 style=' position: absolute; top: 465; left: 20; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey22><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock22.gif" width=100 height=50 border=0 alt="Loaf of Bread with Keyhole" title="Loaf of Bread with Keyhole"></a>
  </div>
  <div id=nstower_doowlowkey23 style=' position: absolute; top: 508; left: 287; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey23><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock23.gif" width=100 height=50 border=0 alt="Overgrown Lock" title="Overgrown Lock"></a>
  </div>
  <div id=nstower_doowlowkey3 style=' position: absolute; top: 611; left: 285; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey3><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock3.gif" width=100 height=50 border=0 alt="Taco Locko" title="Taco Locko"></a>
  </div>
  <div id=nstower_doowlowkey4 style=' position: absolute; top: 657; left: 285; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey4><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock4.gif" width=100 height=50 border=0 alt="Lockenmeyer Flask" title="Lockenmeyer Flask"></a>
  </div>
  <div id=nstower_doowlowkey5 style=' position: absolute; top: 401; left: 19; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey5><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock5.gif" width=100 height=50 border=0 alt="Antlered Lock" title="Antlered Lock"></a>
  </div>
  <div id=nstower_doowlowkey6 style=' position: absolute; top: 101; left: 19; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey6><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock6.gif" width=100 height=50 border=0 alt="Lock with one Eye" title="Lock with one Eye"></a>
  </div>
  <div id=nstower_doowlowkey7 style=' position: absolute; top: 529; left: 19; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey7><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock7.gif" width=100 height=50 border=0 alt="Trolling Lock" title="Trolling Lock"></a>
  </div>
  <div id=nstower_doowlowkey8 style=' position: absolute; top: 294; left: 19; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey8><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock8.gif" width=100 height=50 border=0 alt="Rabbit-Eared Lock" title="Rabbit-Eared Lock"></a>
  </div>
  <div id=nstower_doowlowkey9 style=' position: absolute; top: 303; left: 286; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=nstower_doowlowkey9><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylock9.gif" width=100 height=50 border=0 alt="Mine Cart Shaped Lock" title="Mine Cart Shaped Lock"></a>
  </div>
  <div id=ns_doorknob_lk style=' position: absolute; top: 421; left: 295; height: 30; width: 30;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=ns_doorknob_lk><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/1x1trans.gif" width=30 height=30 border=0 alt="Doorknob" title="Doorknob"></a>
  </div>
  <div id=ns_lock1_lk style=' position: absolute; top: 825; left: 287; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=ns_lock1_lk><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylockboris.gif" width=100 height=50 border=0 alt="Boris's Lock" title="Boris's Lock"></a>
  </div>
  <div id=ns_lock2_lk style=' position: absolute; top: 196; left: 287; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=ns_lock2_lk><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylockjarlsberg.gif" width=100 height=50 border=0 alt="Jarlsberg's Lock" title="Jarlsberg's Lock"></a>
  </div>
  <div id=ns_lock3_lk style=' position: absolute; top: 638; left: 20; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=ns_lock3_lk><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylockpete.gif" width=100 height=50 border=0 alt="Sneaky Pete's Lock" title="Sneaky Pete's Lock"></a>
  </div>
  <div id=ns_lock4_lk style=' position: absolute; top: 713; left: 287; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=ns_lock4_lk><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylockstar.gif" width=100 height=50 border=0 alt="Star Lock" title="Star Lock"></a>
  </div>
  <div id=ns_lock5_lk style=' position: absolute; top: 561; left: 286; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=ns_lock5_lk><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylockdigital.gif" width=100 height=50 border=0 alt="Digital Lock" title="Digital Lock"></a>
  </div>
  <div id=ns_lock6_lk style=' position: absolute; top: 345; left: 20; height: 50; width: 100;'>
    <a  href=place.php?whichplace=nstower_doorlowkey&action=ns_lock6_lk><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/otherimages/nstower/lowkeylockskeleton.gif" width=100 height=50 border=0 alt="Skeleton Lock" title="Skeleton Lock"></a>
  </div>
</div>
<p>
    <a href=place.php?whichplace=nstower>Back to the Naughty Sorceress' Tower</a>
 

Veracity

Developer
Staff member
Revision 20106 adds the "tower" or "lowkey" command which will print a table describing each lock on the Tower Door (6 for a normal run, 29 for a Low Key run). It will tell you if you have the needed key and/or have already used the needed key. For Low Key locks, it will tell you where to find the key and what the enchantments (as an accessory) each key has.

Note that we do not yet record when you have used a key in the Low Key path; the PlaceRequest for the tower door in that path is not yet supported.
 

Veracity

Developer
Staff member
Revision 20107 mostly (should) support the Low-Key tower door.

I need the text you get when you use the 6 regular keys, the 23 special keys, and the doorknob in Low-Key.

For comparison, here is what we have when inserting keys in the regular tower door:

Code:
		// Boris's Lock: You place Boris's key in the lock and turn
		// it. You hear a jolly bellowing in the distance as the lock
		// vanishes, along with the metal plate it was attached
		// to. Huh.

		// Jarlsberg's Lock: You put Jarlsberg's key in the lock and
		// turn it. You hear a nasal, sort of annoying laugh in the
		// distance as the lock vanishes in a puff of
		// rotten-egg-smelling smoke.

		// Sneaky Pete's Lock: You put the key in the lock and hear the
		// roar of a motorcycle behind you. By the time you turn around
		// to check out the cool motorcycle guy he's gone, but when you
		// turn back to the lock it is <i>also</i> gone.

		// Star Lock: You put the key in and turn it. There is a flash
		// of brilliant starlight accompanied by a competent but not
		// exceptional drum solo, and when both have faded, the lock is
		// gone.

		// Skeleton Lock: You put the skeleton key in the lock and turn
		// it. The key, the lock, and the metal plate the lock is
		// attached to all crumble to dust. And rust, in the case of
		// the metal.

		// Digital Lock: You put the digital key in the lock and turn
		// it. A familiar sequence of eight tones plays as the lock
		// disappears.

		// You turn the knob and the door vanishes. I guess it was made out of the same material as those weird lock plates.
I would not be surprised if Low-Key has the same messages - but I would also not be surprised if it had different messages, since the "action" is different.

I'll collect all the messages myself by doing the door in the Relay Browser, by and by, in a few days.
 

lostcalpolydude

Developer
Staff member
I'm thinking it would be nice to have a way to easily identify which keys haven't been picked up yet (the information is in the table, but it requires more careful reading). Sorting to top/bottom, a parameter that excludes obtained keys, I'm not sure what would make most sense.
 

Veracity

Developer
Staff member
Revision 20111 adds "tower needed" which will not list keys that you either have or have already used to open a lock.
It also fixes the HTML "action" fields for each lock so that it properly detects when you've used a key.
That means you should look at the Tower Door again in order to properly set the "nsTowerDoorKeysUsed" property.
 

Veracity

Developer
Staff member
Lock Picking skill redirects to choice 1414

Encounter: Lock Picking
choice 1: Pick Boris's Lock
choice 2: Pick Jarlsberg's Lock
choice 3: Sneaky Pete's Lock

You cannot walk away from this!

I tried this after I had cleared all the locks on the tower door.

Results:

Code:
A strong pick.

You acquire an item: Boris's key
Looks like this skill will save me 5 turns per run, as long as it is in style...
 

Veracity

Developer
Staff member
Revision 20117 teaches the Tower Door script how to use Lock Picking.
Untested. I just ascended again into Low-Key and will try the script in a few days.
If it works, support for this path might be finished.
 

ckb

Minion
Staff member
I have all the keys. Using tower_door() I get this:

Tower Door: Boris's Lock
Tower Door: Jarlsberg's Lock
Tower Door: Sneaky Pete's Lock
Tower Door: Star Lock
Tower Door: Digital Lock
Tower Door: Skeleton Lock
Tower Door: Polka Dotted Lock
Failed to open lock using clown car key

The LKS keys need to be added to tower_door() for this path.
 

Veracity

Developer
Staff member
IFailed to open lock using clown car key

The LKS keys need to be added to tower_door() for this path.
That message tells you that it attempted to open the door with the clown car key but it failed for some reason.
Perhaps the attempt actually failed because of an incorrect URL.
Perhaps we failed to recognize that the attempt succeeded.

If you can get me a DEBUG log, I will look at it.
Otherwise, I will try it myself tomorrow.
 

Veracity

Developer
Staff member
Tower Door: Polka Dotted Lock
Failed to open lock using clown car key
This also tells me that you were using a revision prior to 20117, since that revision would have said:

Failed to open Polka Dotted Lock using clown car key

What version were you using? I expect 20113 or later to work, anything prior to not work.
 

ckb

Minion
Staff member
This also tells me that you were using a revision prior to 20117, since that revision would have said:
Failed to open Polka Dotted Lock using clown car key
What version were you using? I expect 20113 or later to work, anything prior to not work.

I was using r20116. I will update.

Also, I used the clown car key manually, then tried again, but the next key (bat key I think?) failed with a similar message, as did the one after that.

Sorry, no debug log or URLs to copy as I just did all the keys manually in the relay browser then continued. I will try to get that in my next run if still needed.
 

Veracity

Developer
Staff member
OK. I will adjust the script to try only the first low-key lock (for debugging) and will try the script and get my own debug log.
I was hoping to just run the script tomorrow and have it work, but obviously it's not ready. :(
 

Veracity

Developer
Staff member
We need to submit the request using GET.
Using 20118, the script successfully opened the Polla Dotted Lock.
 

Veracity

Developer
Staff member
I am not ready to go through the door, since I have unfulfilled quests, but I had all the keys - or ingredients. I only had two fat loot tokens, but I have Lock Picking.
The Tower Door Script used Lock Picking, constructed the 2 other legend keys, the digital key, the star key, and the skeleton key, and unlocked every low key lock.

Quest Hint says "Get through the door at the base of the Naughty Sorceress' Tower."
So, I expect it failed to go through the door, because of unfinished quests, but the door is empty of locks.
The L13 quest is still at "step5", so I expect I have to run the script to advenace it to "step6" by opening the doorknob.

I'll try that later. Until then, the tower door script is looking good.
 
Top