crimbo2015

digitrev

Member
Never fear, digitrev's here! To save you from having to track which monsters you've already fought, that is.

To install this lovely little script:

Code:
svn checkout https://svn.code.sf.net/p/digitrev/code/crimbo2015

To run it, just type crimbo2015 n, where n is the number of adventures you'd like to spend.

If you haven't run the script, but want to set these settings, run ashq import <crimbo2015.ash>. This will set the defaults for those settings.

You can tell it to do zone preparation (equip fledges, etc...) to increase the number of zones available by running zlib c2015_zoneprep = true. You can also it to adventure underwater by running zlib c2015_underwater = true.

This is some pretty lazy font. It tries to find the zone with the largest fraction of unfought monsters for that faction, and adventure there once. It'll then move on to the next zone. It will also try its best to keep your faction totals even, but I make no promises about that.
 
Last edited:

digitrev

Member
Looks like I'm going to be updating this frequently, while I try to deal with edge-cases, like the Dungeons of Doom / Enormous Greater-Than Sign, and the video game dungeons.
 

digitrev

Member
Moving our discussion over here, Bale.

Then I would recommend incrementing total += 1 even if you cannot disambiguate the monster. That's the part which confused me.
The total isn't the issue. That will just mean sticking with a given faction for longer than strictly necessary. However, me not incrementing the counter if I hadn't hit a new monster definitely was.
 

Bale

Minion
In the interest of improving this script, I'd like to recommend a fix for adventuring in the Haunted Bedroom.

Code:
			adventure(1, nloc);
			monster mon = get_property("lastEncounter").to_monster();
			if (mon != $monster[none] && !adventured[mon, faction]){
				adventured[mon, faction] = true;
				counter[faction] += 1;
				totals[faction] += 1;
			}
[COLOR="#0000CD"]			if ( run_combat().contains_text("You investigate the now-still nightstand...") )
				cli_execute("choice-goal");[/COLOR]
 
Last edited:

Crowther

Active member
Looks like I'm going to be updating this frequently, while I try to deal with edge-cases, like the Dungeons of Doom / Enormous Greater-Than Sign, and the video game dungeons.
You're a braver man than me. I mostly just blacklisted all the edge cases. He's my script in case there's anything you want to use from it. For the most part, yours looks better, but you might want to look at how I used appearance_rates() to find the best location to adventure in. By just using get_monsters() you'll count ultra-rares and other monsters that might never show up.
 

Attachments

  • pester.ash
    3.9 KB · Views: 102

Rinn

Developer
Couple tips:
* You should use appearance_rates() instead of get_monsters(). Filter out any monsters with a rate 0 or less as it signifies a monster that you don't encounter normally, or ultra rate monsters. It also has the benefit on only returning monsters that you can actually fight in an ascension (such as drunken half-orc hobo vs hung-over half-orc hobo):
Code:
[COLOR=olive]> ash get_monsters($location[The Sleazy Back Alley])[/COLOR]

Returned: aggregate monster [6]
0 => big creepy spider
1 => completely different spider
2 => rushing bum
3 => drunken half-orc hobo
4 => hung-over half-orc hobo
5 => Crazy Bastard

[COLOR=olive]> ash appearance_rates($location[The Sleazy Back Alley])[/COLOR]

Returned: aggregate float [monster]
Crazy Bastard => -1.0
none => 55.0
big creepy spider => 11.25
completely different spider => 11.25
drunken half-orc hobo => 11.25
rushing bum => 11.25
* It may be smarter to sort locations by encounter rate, as you can burn through all the monsters more efficiently. 'none' in appearance_rates() is the non-combat rate for a specific zone.
* You should ensure zone prep doesn't unequip the offhand item. I'm actually not sure if that could happen but it's possible?
 
Last edited:

digitrev

Member
Bale: I put a similar check in already, checking to see if I had adventured in the bedroom, and then doing run_choice(-1).
Rinn & Crowther: I've put in some similar logic, but I'm not worrying about combat rates too much. Besides, I recall that the combat rates aren't necessarily accurate, and I don't want to have to handle someone's +/- encounter rate.
 

digitrev

Member
Also: I've reduced the # of hard-coded banned zones. adv1 should handle most of the edge cases, it's just the weird ones like the clan dungeons, > sign, and fernswarthy's basement.
 

Kris Moonhand

New member
Bug Report: The script is stuck trying to adventure at the Hidden Shrines, despite there being no monsters to fight there once they've been cleared.
 

Mattematical

New member
Thanks for this! Does it take advantage of the tracker they implemented?

I am getting the same bug, of adventuring at the shrine. Also, the panich script dies at the goblin king, because it puts on a 2H weapon and gets confused.
 
Last edited:

jeff

Member
crimbo2015.ash getting stuck at overgrown shrine
pester.ash getting stuck at hippy camp since I've completed the war
 

digitrev

Member
Most of the shrine / ziggurat issues are due to a lack of defaults for the choice adventure. So there are a few potential solutions.

1. Set your choice adventures. Just go into the choice adventure selection in the adventure tab, and make sure nothing is set to "show in browser".
2. Use one of these modified scripts with additional banned zones.
3. I can put in some code to automatically ban any zone that gets caught on a choice adventure.

I personally advocate #1, but if I get enough complaints, I'll set up #3.
 

fronobulax

Developer
Staff member
Most of the shrine / ziggurat issues are due to a lack of defaults for the choice adventure. So there are a few potential solutions.

1. Set your choice adventures. Just go into the choice adventure selection in the adventure tab, and make sure nothing is set to "show in browser".
2. Use one of these modified scripts with additional banned zones.
3. I can put in some code to automatically ban any zone that gets caught on a choice adventure.

I personally advocate #1, but if I get enough complaints, I'll set up #3.

I'm OK with 1. This does not have to be perfect, just good enough that I don't have to figure out which monsters I need for which side and then go find them. Thanks again.
 

Darzil

Developer
Probably worth noting in the OP that this script relies on CanAdv (at least according to the clannie who asked why it was asking about CanAdv).
 

Magus_Prime

Well-known member
Suggestion: When doing adventure prep zones don't unequip either of the off-hands and then try to adventure. The script equipped the Knob Goblin Elite Guard uniform and then adventured in the barracks.
 
Top