New Content - Implemented Bounty Hunter Change

Winterbay

Active member
Will there be cli commands to accept the current daily bounties? Say "bounty easy"and so on for example.
 

dixmcdix

Member
Edit: If I start the Hard bounty, then do the Easy bounty it seems to work fine. I'm baffled. :)
Thanks again for making this program its so awesome and such a timesaver!

Weird... I am getting the error still on 13566 but only on the easy bounty.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
KoLmafia v16.2 r13566, Windows 7, Java 1.7.0_51
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Please note: do not post this log in the KoLmafia thread of KoL's
Gameplay-Discussion forum. If you would like the KoLmafia dev team
to look at it, please write a bug report at kolmafia.us. Include
specific information about what you were doing when you made this
and include this log as an attachment.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Timestamp: Thu Jan 23 07:00:56 PST 2014
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Unexpected error, debug log printed.
class java.lang.NullPointerException: null
java.lang.NullPointerException
at net.sourceforge.kolmafia.persistence.BountyDatabase.getNumber(BountyDatabase.java:200)
at net.sourceforge.kolmafia.KoLmafia.executeRequest(KoLmafia.java:1234)
at net.sourceforge.kolmafia.KoLmafia.makeRequest(KoLmafia.java:1079)
at net.sourceforge.kolmafia.swingui.panel.AdventureSelectPanel$ExecuteRunnable.run(AdventureSelectPanel.java:453)
at net.sourceforge.kolmafia.RequestThread$ThreadWrappedRunnable.run(RequestThread.java:400)

I can't imagine others are having no issues and it's just my Mafia, so maybe I've got some setting messed up or something?
 

dixmcdix

Member
Same deal... But also on Hard now. Maybe I should nuke from orbit and try reinstalling mafia/all scripts? (not using a script to bounty hunt just to clarify).

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
KoLmafia v16.2 r13567, Windows 7, Java 1.7.0_51
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Please note: do not post this log in the KoLmafia thread of KoL's
Gameplay-Discussion forum. If you would like the KoLmafia dev team
to look at it, please write a bug report at kolmafia.us. Include
specific information about what you were doing when you made this
and include this log as an attachment.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Timestamp: Thu Jan 23 08:20:04 PST 2014
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Unexpected error, debug log printed.
class java.lang.NullPointerException: null
java.lang.NullPointerException
at net.sourceforge.kolmafia.persistence.BountyDatabase.getNumber(BountyDatabase.java:200)
at net.sourceforge.kolmafia.KoLmafia.executeRequest(KoLmafia.java:1248)
at net.sourceforge.kolmafia.KoLmafia.makeRequest(KoLmafia.java:1079)
at net.sourceforge.kolmafia.swingui.panel.AdventureSelectPanel$ExecuteRunnable.run(AdventureSelectPanel.java:453)
at net.sourceforge.kolmafia.RequestThread$ThreadWrappedRunnable.run(RequestThread.java:400)
 

Theraze

Active member
Any chance we could get some additional tracking bits on the bounty items? If we tracked the locations of bounty items, I could at least make the old bounty.ash able to pick from the locations, but as it stands it's slightly difficult to guess programically where to go for the "spent handwarmer" bounty. Additionally if we tracked how many items were needed, then BHH could predict about how many adventures each bounty should take again.

I can scrape the bounty page, but if I can save server hits after mafia itself knows what and where, so much the better.
 

Darzil

Developer
Any chance we could get some additional tracking bits on the bounty items? If we tracked the locations of bounty items, I could at least make the old bounty.ash able to pick from the locations, but as it stands it's slightly difficult to guess programically where to go for the "spent handwarmer" bounty. Additionally if we tracked how many items were needed, then BHH could predict about how many adventures each bounty should take again.

I can scrape the bounty page, but if I can save server hits after mafia itself knows what and where, so much the better.

I'll look into creating a bounty proxy item at some point to expose the information we have in the database (name, plural, image, type, number, monster). I wanted to duplicate existing functionality first.
 

Theraze

Active member
Some bounties are available from multiple locations. How would those be handled?

True. So tracking the monster, rather than the location, would be the useful thing. Then we can just run it through something like the wheretofind alias and find where it's most likely to show up. :)

I'll look into creating a bounty proxy item at some point to expose the information we have in the database (name, plural, image, type, number, monster). I wanted to duplicate existing functionality first.

Great, thanks! As part of current functionality and cleanup, the old proxy records should probably be removed, so that any script that tries to use them doesn't send the user off to collect items that don't actually exist. Or to avoid the inevitable "multiple bounties in this location because it's now tied to monster rather than location" issues that will show up if we don't allow for them. :)
 

Darzil

Developer
As part of current functionality and cleanup, the old proxy records should probably be removed, so that any script that tries to use them doesn't send the user off to collect items that don't actually exist. Or to avoid the inevitable "multiple bounties in this location because it's now tied to monster rather than location" issues that will show up if we don't allow for them. :)

Do you mean the bounty and bounty_count ones for $item, or is there something else ? They currently return none and 0 respectively, as a temporary measure to prevent script errors whilst not allowing them to return wrong information.
 

Theraze

Active member
> ash $location[the bat hole entrance]

Returned: The Bat Hole Entrance
nocombats => false
zone => BatHole
parent => BatHole
parentdesc => Bat Hole
environment => underground
bounty => pink bat eye
combat_queue =>
noncombat_queue =>
kisses => 0
The bounty field in location, which is what bounty.ash and no doubt other scripts used to try to tell when a location had a bounty available today.
 

Darzil

Developer
r13576 Added ash proxy record "bounty". Gives plural, type, number, image and monster that drops the bounty shown in preferences _untakenEasyBountyItem, _untakenHardBountyItem, _untakenSpecialBountyItem, currentEasyBountyItem, currentHardBountyItem and currentSpecialBountyItem.
 

Theraze

Active member
Awesome... thanks! That should make it much easier than my hackish attempts to rewrite the bounty.ash file earlier today. :)
 

Darzil

Developer
The bounty field in location, which is what bounty.ash and no doubt other scripts used to try to tell when a location had a bounty available today.

r13577 returns the new bounty. It also comes up with an error (eg Unknown item found: pieces of triffid bark) but not sure where this is generated - any ideas/fixes welcomed.

The bounty field didn't just show today's bounty, but all possible bounties, and this one does the same (or all currently known ones at least).
 

Ensiferum

Member
r13575 (and a several versions before it) - impossible to autoadventure in any zone. Mafia aborts after the first adventure in a zone with a debug log. The account has a currently unfinished bounty task and I suspect it's the reason causing this.

Unexpected error, debug log printed.
class java.lang.NullPointerException: null
java.lang.NullPointerException
at net.sourceforge.kolmafia.persistence.BountyDatabase.getNumber(BountyDatabase.java:200)
at net.sourceforge.kolmafia.KoLmafia.executeRequest(KoLmafia.java:1262)
at net.sourceforge.kolmafia.KoLmafia.makeRequest(KoLmafia.java:1079)
at net.sourceforge.kolmafia.swingui.panel.AdventureSelectPanel$ExecuteRunnable.run(AdventureSelectPanel.java:453)
at net.sourceforge.kolmafia.RequestThread$ThreadWrappedRunnable.run(RequestThread.java:400)
 

Theraze

Active member
r13576 Added ash proxy record "bounty". Gives plural, type, number, image and monster that drops the bounty shown in preferences _untakenEasyBountyItem, _untakenHardBountyItem, _untakenSpecialBountyItem, currentEasyBountyItem, currentHardBountyItem and currentSpecialBountyItem.

> ash $bounty[unlucky claw]

Returned: unlucky claw
plural => unlucky claws
type => special
number => 8
image => boneclaw.gif
monster => lucky cat statue

> ash to_bounty("unlucky claw")

Function 'to_bounty( string )' undefined. This script may require a more recent version of KoLmafia and/or its supporting scripts. ()
Returned: void
Any chance we could have a to_bounty(string) function so that we can actually do get_property("currentEasyBountyItem").to_bounty() or something similar? :)
 

zarqon

Well-known member
Also making a note that we'll want to be able to foreach (or enumerate multiple) $bounties[].
 
Top