Well, those are interesting. We log some of them via code in AdventureDatabase.getUnknownName:
Code:
else if ( urlString.startsWith( "lair4.php" ) )
{
if ( urlString.contains( "action=level1" ) )
{
return "Sorceress Tower: Level 1";
}
else if ( urlString.contains( "action=level2" ) )
{
return "Sorceress Tower: Level 2";
}
else if ( urlString.contains( "action=level3" ) )
{
return "Sorceress Tower: Level 3";
}
return null;
}
else if ( urlString.startsWith( "lair5.php" ) )
{
if ( urlString.contains( "action=level1" ) )
{
return "Sorceress Tower: Level 4";
}
else if ( urlString.contains( "action=level2" ) )
{
return "Sorceress Tower: Level 5";
}
else if ( urlString.contains( "action=level3" ) )
{
return "Sorceress Tower: Level 6";
}
return null;
}
else if ( urlString.startsWith( "lair6.php" ) )
{
if ( urlString.contains( "place=0" ) )
{
return "Sorceress Tower: Door Puzzles";
}
else if ( urlString.contains( "place=2" ) )
{
return "Sorceress Tower: Shadow Fight";
}
else if ( urlString.contains( "place=5" ) )
{
return "Sorceress Tower: Naughty Sorceress";
}
}
I'm not sure it's worth making them KoLAdventure objects - adventuring locations which appear in the Adventure selector - since you can't actually ADVENTURE there. But I find it very interesting that KoL considers them to be "zones" - complete with an adventure ID, although that was not logged.
OK, revision 13147 does this:
When we look at Last Adventure in either api.php or charpane.php, we look up the KoLAdventure.
If we don't find it, we consider registering it.
If it is adventure.php, cool.
If it is mining.php, cool.
If it is main.php, that is (none), as Bale discovered, and we ignore it.
If it is anything else, I'm curious to know what Last Adventure said about it, so it will log the info to the session log, but it will otherwise not create a KoLAdventure for it.
The previous "register unknown adventuring locations" only worked for adventure.php, so this is actually slightly better, in that we'll automatically discover new mines.
To test the session logging, I commented out the Barrel Full of Barrels. I got the following:
Unknown last adventure: id = '' name = 'The Barrel Full of Barrels' URL = 'barrel.php' container = 'mountains.php'
Unknown last adventure: id = '1011' name = 'The Barrel Full of Barrels' URL = 'barrel.php' container = 'mountains.php'
The first one was scraped from the (normal mode) charpane.php.
The second one was from api.php.
As I said, KoL itself assigns an "id" to non-adventure.php-locations; the id is not only a snarfblat. Very interesting.
In any case, I think this bug is fixed.