Encountered an issue with parsing my position in line in the spooky challenge, which wasn't set, but sadly missed reading the text to work out why not.
r15739
nsContestants tracking for 2 and 3 seems to error for certain cases.
To reproduce:
Have exactly(?) one more adventurer to defeat for either the stat contest or the element contest.
Visit contest booth, see nsContestants2 or nsContestants3 is -1.
Visit quest log, see it tracked properly as 1. (quest log initiates a reparsing for that)
Visit contest booth again, nsContestants2/3 resets to -1.
I believe this may be caused in
SorceressLairManager.java, which is meant to match when there's one entrant left:
Code:
text.contains( "you and one other" ) ?
This only(?) matches the Fastest adventurer text. For the other two contests, the text is different:
Code:
"You already entered the Strongest Adventurer contest. You should go wait in line with the other Adventurers. It says on my clipboard that only one other Adventurer besides you entered this one. So you should go wait in line with the other Adventurer, is what I meant to say.
Code:
"You already entered the Coldest Adventurer contest. You should go wait with the other entrants. It says here that there's only one other person in that contest, actually. So go wait with the... entrant."
I think it falls through to the -1 case and set the property value to that. Changing the line to something like this seems to fix the bug?
Code:
( text.contains( "you and one other" ) || text.contains( "only one other Adventurer besides you" ) || text.contains( "only one other person in that contest" ) ) ?