The revamped Tavern means that a bunch of KoLmafia needs to be changed - or is simply obsolete.
Used to be, the tavern cellar was rats.php. When we visited it, we'd remember what we saw in the square in the tavernLayout setting. Since the old cellar did not give you any indication of which squares you'd visited - and you could visit the same square multiple times - we'd "decorate" that page by showing you pictures of rats, booze, whatever in the appropriate square. The Quest menu had a Tavern entry which would randomly visit unvisited squares until the faucet was found.
The new cellar is cellar.php. You can only visit an "unexplored" space once - and KoL itself shows you what you found there. You can only explore a space which is next to a space you've already been in.
I think this suggests the following changes:
- RequestEditorKit.addTavernSpoilers is obsolete: KoL itself shows you what you found when you explored a square, and you can no longer go to (most) previously explored squares a second time.
- tavernLayout needs to be revisited. Currently, squares are tagged like this:
1 = rat
2 = booze
3 = faucet
4 = Baron
For the new cellar, we have, potentially, the adventurer, the faucet, and the Baron as unique squares, as well as different kinds of combats and noncombats. Do those matter?
- GenericRequest uses rats.php to decide if it's a rat quest square. It needs to use cellar.php
- validateFaucetQuest, preTavernVisit and postTavernVisit are currently in KoLmafia.java. They should move to TavernRequest.php
- KoLmafia.locateTavernFaucet is the Quest Menu entry. It should be modified to look using the new "can only explore squares adjacent to know squares" rule. Whether it should still be random is an open spading question.
Used to be, the tavern cellar was rats.php. When we visited it, we'd remember what we saw in the square in the tavernLayout setting. Since the old cellar did not give you any indication of which squares you'd visited - and you could visit the same square multiple times - we'd "decorate" that page by showing you pictures of rats, booze, whatever in the appropriate square. The Quest menu had a Tavern entry which would randomly visit unvisited squares until the faucet was found.
The new cellar is cellar.php. You can only visit an "unexplored" space once - and KoL itself shows you what you found there. You can only explore a space which is next to a space you've already been in.
I think this suggests the following changes:
- RequestEditorKit.addTavernSpoilers is obsolete: KoL itself shows you what you found when you explored a square, and you can no longer go to (most) previously explored squares a second time.
- tavernLayout needs to be revisited. Currently, squares are tagged like this:
1 = rat
2 = booze
3 = faucet
4 = Baron
For the new cellar, we have, potentially, the adventurer, the faucet, and the Baron as unique squares, as well as different kinds of combats and noncombats. Do those matter?
- GenericRequest uses rats.php to decide if it's a rat quest square. It needs to use cellar.php
- validateFaucetQuest, preTavernVisit and postTavernVisit are currently in KoLmafia.java. They should move to TavernRequest.php
- KoLmafia.locateTavernFaucet is the Quest Menu entry. It should be modified to look using the new "can only explore squares adjacent to know squares" rule. Whether it should still be random is an open spading question.