Reproducible. From my DEBUG log:
Let's cannonball in the swimming pool.
Connecting to clan_viplounge.php...
Field: Location = [choice.php?forceoption=0]
Connecting to choice.php...
[choice page of things to do in the pool]
That is why it automatically followed the redirect. Also ClanLoungeRequest:
protected boolean shouldFollowRedirect()
It is coded assuming the redirect will NOT be followed.
if ( this.redirectLocation != null && this.redirectLocation.startsWith( "choice.php" ) )
RequestLogger.printLine( "You start screwing around in the swimming pool." );
else if ( !responseText.contains( "vippool.gif" ) )
KoLmafia.updateDisplay( "There is no swimming pool in this clan." );
Not sure when the redirect following was added (presumably to make something else work) but it made the swimming pool no longer "You start screwing around in the swimming pool." when you cannonball in to it.
A simple fix might be to change the "shouldFollowRedirect" method return false if the URL contains "subaction=screwaround". Or, since the check is in the run() method of ClanLoungeRequest, to simply assume that the request worked, if ( this.option == CANNONBALL ).
Hmm. I should finish my current Kingdom of Explathing run today and be able to test this in aftercore breakfast...