Adventure Advisor

That's a pretty massive error on my part. The script must have looked awful to everyone!


Adventure Advisor v 2.6.1 released!


Changelog:
version 2.6.1 April 13, 2012
  • Properly update map file.
  • Lots of little quest update improvements, including Clancy
 
Last edited:
Well, we never saw it, because it downloaded from zarqon's server every time. :) The new version should just reduce server hits for him and make it run a bit faster for us. Thanks for the update!
 
Here is an idea for the next update. I often open relay_AdventureAdvisor.ash to find out why it is advising me to go in a zone. Why not add a .reason field to the place record? I think there is enough space to have a "notes" column on the right, and it would help forgetful people by gently telling them that yes, even though I already finished that quest, I need to go to the Orc Chasm because I lack a lowercase n.

I still can't figure out why the script is advising me to go to the spooky forest though. The only place I can find where it is mentioned is:
PHP:
if(!hidden_temple_unlocked() && my_level() >=2)
	kingdom["Spooky Forest"].useful = true;
It shouldn't get set to true, though:
Code:
> ashq if(!hidden_temple_unlocked() && my_level() >=2) print("useful"); else print("unuseful");

unuseful

Is there anything I am missing?
 
Could be that it's currently a bounty location?

Did notice one thing on the undersea locations though... it's checking for level > 13, not level >= 13, even though the sea unlocks when you get the SCUBA at level 13. Most people won't notice that its missing the zone, but... eh. :)
 
That's a good idea. I also get confused sometimes.

Unfortunately my screen isn't as wide as yours so perhaps I'll add it as a tooltip.
 
Adventure Advisor v 2.7 released!


Changelog:
version 2.7 April 17, 2012
  • Tooltip for purpose of a location.




I'm bound to have missed something so let me know if you get weird advice or I forgot text..
 
Last edited:
Since it seems to have gotten missed above... the underwater locations like
Code:
		if(my_level() > 13) kingdom["Anemone Mine"].useful = true;
are off by a bit. Since they actually unlock at level 13, not 14. However, more accurately, they unlock when you complete the SCUBA gear, which is a quest item, so you could just test for that item. if(item_amount($item[makeshift scuba gear])>0) means useful on the undersea locations. Unfortunately mafia doesn't track the Sea Monkees at all, so you can't guarantee that the user has found little brother, big brother, and unlocked grandpa's zone, but the scuba gear is a more accurate check than looking at the level. :)
 
Adventure Advisor v 2.7.1 released!


Changelog:
version 2.7.1 April 21, 2012
  • More Tooltip information
  • Tooltips differentiate between telescope confirmed tower items and unconfirmed tower items.
 
Last edited:
I really like the new Ascension Advisor feature; thanks for adding it!

I did notice a slight bug in my copy: A few of the tooltips end in "aggregate boolean [string]". I've seen this on Haunted Kitchen, Guano Junction, and Haunted Library.
 
I don't see it... Do you have a telescope? If so, to what level?

Please copy/paste the results of the CLI command: telescope
 
> telescope

You have a telescope with 3 additional upgrades
Outer gate: locked gate (Locks Like the Raven/Black No. 2 - NEED)
Tower Guardian #1: best-selling novelist (plot hole - NEED)
Tower Guardian #2: the fickle finger of f8 (razor-sharp can lid - have)
Tower Guardian #3: pretty fly (spider web - have)
 
Adventure Advisor v 2.7.2 released!


Changelog:
version 2.7.2 April 25, 2012
  • Fixed bug on questionably needed items when the telescope is incomplete


That bug was so weird that I cannot figure out if it is a bug in my script or a bug in KoLmafia. However I could figure out a better way to implement the function which doesn't have a bug.
 
Last edited:
A strange bug indeed. I could reduce the issue to the following code:
PHP:
# must be test(<something>, string)
void test( int something, string toprint )
{
	print( "test( string, string ) called" );
	print( "toprint = " + toprint );
}

# must have the same name as the function above
# (it must be an override)
void test( int whatever, int [int] m )
{
	print( "test( int, int [int] ) called" );
	test( whatever, m contains whatever? "yes": "no" );
}

int [int] any_map;
test( 2, any_map );
results in
Code:
> call test.ash

test( string, string ) called
toprint = aggregate int [int]

EDIT:
Oh, I get it. test( 2, any_map ) actually calls test(int, string) instead of test(int, int[int])

I changed the code above to reflect that.
 
Last edited:
Why would KoLmafia do that?


Edit: It seems that slyz has filed a bug report.
 
Last edited:
Adventure Advisor v 2.7.3 released!


Changelog:
version 2.7.3 May 26, 2012
  • Added bio data zones as needed, for Bugbear Invasion
 
Last edited:
Adventure Advisor v 2.7.4 released!


Changelog:
version 2.7.4 June 6, 2012
  • More Bugbear Invasion Improvements
 
Last edited:
Back
Top