auto BHH and friends

dixmcdix

Member
By 'optimal' do you mean using Olfaction and/or banishes (Pantsgiving)? I've noticed the hunting is taking a tad longer since the script does not use either of these.

Currently I'm using it to grab the bounty and start adventuring, then I manually Olfact/Talk about Politics then restart. Which is still better than doing it manually for sure. :)
 

Theraze

Active member
Optimal decides, based on current noncombat rate, which location would be the fastest.

Whenever rlbond86 updates the relay script, it should fix bounty optimal - as long as the function names remain the same. If they change, or the override file needs to change, I'll just adjust and dump out a new version of bounty. :)

Regarding dixmcdix's understanding of optimal... that depends on SmartStasis understanding about current bounties again. Since the code was removed from SS to make it stop crashing, it needs to be put back in again now that we know monster names of our current bounties. While we can't do a single check as we did before, checking if (get_property("currentEasyBountyItem").to_bounty().monster == last_monster()) isn't difficult, and then we just need to throw the Hard and Special in as well.
 

Winterbay

Active member
Currently if you do "bounty.ash optimal" you get three messages saying that none of the options are valid...
 

Theraze

Active member
What does the relay override has to do with this script which is not an override? Or at least I've never used as one...

I really liked what rlbond86 did for the bhh page, and I wanted to have it applying through the gCLI, so I modified the attached version of bounty to include an 'optimal' keyword. This works as per the quote:The hippy camp isn't the hardest... that would be the sky, so I can't use bounty hard. Knoll and Sky both tie for bounty small, and bounty best would take the sky as well... However, at -5% combat rate, rags will take 50.5 adventures, dreadlocks take 33 adventures, and stardust takes 49.5 adventures. Hard choice there... or not.

bounty optimal will use this line:
Code:
            bestBounty[i].adventures = average_turns(bountyDB[it], combat_rate_modifier(), have_skill($skill[Transcendent Olfaction]), false, 0);
to set how many adventures it should take, on average, based on your current combat modifier and whether or not you possess TO already, to complete the bounty. It then should sort the bounty records based on this, pick the best available one, and set you loose. If you want to automatically collect them, bounty * or bounty go will move onwards. If you disagree with the choice, bounty cancel will let you pick something else.

Note that, as mentioned above, this DOES require rlbond86's bhh.ash relay script be included... somewhere... in your mafia folder. Mine is happily in the relay folder overriding the normal bounty page, so I can tell why the script makes the decisions it does, as well as see his useful notes. If you don't want optimal-adventure guessing, just keep using the 142 version of bounty.ash.

Also, disabled the safe moxie check, because with Boris and Zombie runs, the safe moxie level generally isn't where you actually kill the monsters. Generally. :)
As it says, it requires the rlbond86 bhh.ash relay override for bounty optimal. Because it uses those for the calculations.
 

Theraze

Active member
Yep! Since it starts with import <bhh.ash> it won't run if you don't have that script. :D And the bhh.ash optimal function won't run optimal calculations unless the bhh.ash has working optimal functions. :D
 

Theraze

Active member
Since I got annoyed again today with the lack of pirate fledges, and I've been annoyed by skipping the CT for 8-bit, threw a can_adv prep into the adventuring bit. This will only change your gear if you've already accepted the bounty and are now hunting there, so it shouldn't mess anything up, though it doesn't outfit snapshot and restore, since trying makes people complain if it doesn't succeed. I unabashedly don't try to restore your gear with this version. If you want to fail to adventure instead, use the 178 version.
 

Attachments

  • bounty.ash
    5.5 KB · Views: 51

zekaonar

Member
If you've already accepted bounties, or have them left over from yesterday then count(options) == 0 but current would have bounties to collect. The first line of main could be:

if (count(options) == 0 && count(current) == 0) vprint("Bounty hunt already completed today.",-3);

to deal with this.
 

Theraze

Active member
Meh, I'll add them together and check once. But here's that version. :)
 

Attachments

  • bounty.ash
    5.5 KB · Views: 75

Theraze

Active member
Since the bhh.ash relay hasn't been updated in a while, and I believe it will need to change at least some of its details when it does get updated, I've commented out the optimal bounty bits for now. Attached is a version that should run without needing anything but CanAdv for zone availability.

If people want me to dump this on SVN, I can, since I've done the only updates here since 2012. Or not. I'm happy to keep randomly spamming the thread with countless new versions. :D Or they could be counted. If that's actually desired. Either way, it works basically the same for me. :D
 

Attachments

  • bounty.ash
    5.6 KB · Views: 117

Bale

Minion
I would like to have svn updates, please. :)

Yeah, it is about time this was on SVN. Since a number of people (lately Theraze) have worked on this I will put it on SVN myself in my role as a minion. I will then give Theraze admin access to the project. (As well as anyone else who wants to be responsible for keeping it up to date and has proven reliability.)
 
Last edited:

Bale

Minion
The above has been done. I have also added it to the Script Manager. Scripts menu -> Script Manager -> Install Tab -> right-click on "Bounty" -> Select "Install script"

If you do not see Bounty in that list, then choose "reload remote repository" from the right-click menu.
 

fronobulax

Developer
Staff member
Yeah, it is about time this was on SVN. Since a number of people (lately Theraze) have worked on this I will put it on SVN myself in my role as a minion. I will then give Theraze admin access to the project. (As well as anyone else who wants to be responsible for keeping it up to date and has proven reliability.)

That is why we love you, in a non-threatening, non-erotic kind of way, of course.
 

taltamir

Member
When I run this I get

bounty script.png

What is string param? normally popups from a script explain what they actually want. Incidentally, this is what the CLI shows
Code:
[COLOR=olive]> call scripts\bounty.ash[/COLOR]

[COLOR=green]10      cherry stems from novelty tropical skeleton[/COLOR]
[COLOR=green]10      cherry stems from novelty tropical skeleton[/COLOR]
[COLOR=red]10      cherry stems from novelty tropical skeleton[/COLOR]
[COLOR=blue]Now      hunting: 10 cherry stems from novelty tropical skeleton[/COLOR]
[COLOR=blue]Now      hunting: 10 piles of beard crumbs from Neckbeard Giant[/COLOR]
[COLOR=blue]Now      hunting: 8 lengths of greasy string from salaminder
[/COLOR]
 
Top