One-Click Wossname -- automatic level 12 quest completion

lildrummerninja

New member
I got the latest build, and it fixed something, but it still won't recognize zlib for some reason. Should I just re-download zlib and go from there?
 

fronobulax

Developer
Staff member
Wossname doesn't want to continue in an AoB run because it can't equip the specified familiar. I have

is_100_run none
ocw_f_arena
ocw_f_default none
ocw_f_farm
ocw_f_junkyard
ocw_f_lighthouse

The failure seems to be because have_familiar($familiar[none]) is false. Anyone have a set of parameters that will make it work for an AoB run or do I have to edit the script?

Thanks.
 

Theraze

Active member
Try this version... Since the latest version before this of Wossname (far as I'm aware) is the copy I've attached to post 779, this probably won't cause you any problems, but should fix AoB runs as well as give you whatever fixes I've come up with since then. :)
 

Attachments

  • Wossname.ash
    32.3 KB · Views: 50

kwanzaa bot

New member
Ok, just got my Wossname on the first runthrough with this script. Massive ups to Zarqon and all who worked on it.
I figured I'd leave some notes for inexperienced noobs (like myself) who searched high and low through this thread to make sure things would work.

Run was completed with a brand new account (no ascensions) using a Seal Clubber. I had just become lvl 13 when I began the quest. Stats (unbuffed) were around 165/135/135 or so, don't remember exactly.

Equipment was saved as a custom outfit called 'current'; this is what the script switches back to when you're not wearing the hippy/frat uniform.

What I used:
Giant discarded bottlecap
Sledgehammer of the Vælkyr
Krakrox's Loincloth

Accessories:
Badass Belt
Silver Ring
Claw of the Infernal Seal
Palm frond toupee (for volleyball)

Familar:
Blood-Faced Volleyball (30 lbs, 5+ from hat, 5+ from Empathy buff)

Note: This script (if no configuration options are changed) will attempt to use a NPZR or similar familar- as a new player, I didn't have access to one called in the script. I used my Blood-Faced Volleyball for maximum stat gains.
To make sure the wossname script sticks to the Volleyball, type this in the CLI:
zlib vars
zlib is_100_run = Blood-Faced Volleyball (or your familiar choice's name)

Make sure to change it back to none after you've finished the quest.

Items:
As noted in the config docs, this script will attempt to buy/use a number of items during the run. I went ahead and bought all the auto purchase items mentioned in the config prior to beginning the run. I imagine this isn't necessary but I like to make sure. Additionally, it helped me budget what the run would cost. I also had a fair share of medicinal herbs on hand.

Buffs:
Purchased the saucesphere, shells, fortitude and tenacity buffs from a bot. Get at least 600 turns, I know I needed them.

Daily Food:
The script took 3 days to complete and somewhere around 600 turns total. I ate Peppermint Pattys, Pumpkin Beer and Prismatic Wads. Combined with my rollover outfit, clan furniture and campground gear (the basic stuff), I was at around 300 adventures a day. Quest ended day 3 with 160 adventures left. This stuff is probably way too pricey and I must admit I spent a fair amount of meat getting the Wossname, but I'll chalk it up to being a first-timer and just having sold a Mr. A. I'm sure there's better diets, this is just what I used.

Script Config Details:
I used the SmartStasis.css combat script and nothing else. Just set up your custom combat as:
[ default ]
consult SmartStasis.ash
attack with weapon

No other changes were necessary.
I did make one change to the choice adventure setup for the Haunted Ballroom (GMOB) quest section; the choice 3 was set to ask in browser, but I changed it to muscle substats in order to avoid interrupting the script run. I used the optimal (default) war plan, no changes.

Like I said above, it took around 600 adventures. I never once was beaten up; my herbs would eventually become unusable due to spleen, so I set choice 2 in autorecovery to visit Doc Galaktik. I never dropped below 150 hp. All the item drops were automatically sold at the end, granting me 88k in meat. All side quests were completed perfectly. More importantly, I've got a Wossname on my first go-round. I'm sure there are much better ways of setting things up; I'm just a complete noob to KOL and KolMafia. Sorry if this is a bit longwinded, just wanted to collect the various bits of info that helped me use the script into one place. Hopefully this helps someone.

Massive respect to Zarqon, et al. for the free distribution of this awesome script. You guys rock. I'll send a bat your way as soon as I can.
 
Last edited:

zarqon

Well-known member
First, kwanzaa bot, thank you very much for the ups. They were indeed massive and made my heart feel warm and fuzzy.

Secondly,

1.6 Updates!

What? Zarqon is posting an update to OCW?!?! That old dinosaur of a script?!

Yes. The script has been mainly stable but there have been slowly accumulating small issues. The kicker was, of course, the script's complete failure to work in Boraxecore. When I reached the IsleWar in my first Boris run I realized the script as it has stood since early 2010 (over two years ago) was finally too broken to be allowed to exist in the first post.

This script was my second script ever posted to kolmafia.us, and after quite a lot of discussion, effort, teamwork, and learning on my part, it ended up being quite stable, in addition to one of my most popular. The file I just replaced was sitting at 1,842 downloads, and on the Registry the script has 2,132 unique registered users. Color me happily surprised -- that's more people than the average number of people actually playing KoL at any given moment.

Partly because I have something better in the wings, I didn't really want to spend time developing this script further, but I do at least want to keep it functional. Hence, today's update. My work was made a great deal easier by the helpfulness of Theraze -- many of the fixes in this update are not my own. Thanks Theraze!

The biggest fixes were for Boris support:

  • Familiars. Boris had no need for them. He did, however, have need of an appropriate bard. To that end, OCW now attempts to appropriately equip Clancy. Previously, OCW's familiar settings could be set to either a familiar or a recognized best_fam type ("items" "meat" "produce" etc.). These settings now also apply to Clancy, but in a much simpler way. If you set any of them to "items" (including ocw_f_default), OCW will attempt to equip Clancy's lute for that part of the quest. Otherwise, unless it's the Orchard (always lute), OCW will prefer getting you stats. While I was at it, I totally refactored all this code to make it way awesomer.
  • Outfits. You can't equip the homoerotic paddle because it's not Trusty. However, this complicates getting the War Hippy Fatigues in HC, since OCW previously farmed that outfit at the Hippy Camp. Probably, most players will be going all-frat for this challenge path, but in the event that someone was shooting for a Wossname in HC Boriscore, an alternative solution was needed for this outfit. Since OCW usually farms the Frat Warrior Fatigues first, it could then use those to farm the Hippy outfit from the spy at the Frat House. Definitely suboptimal, but so is going for a Wossname in HC Boriscore. The point is, the script works now. Also, all this outfit code was also refactored (as of the last update the useful ASH function outfit_pieces() didn't exist).
  • Star items. Estimated turncount is now decreased per star item needed, and those non-Trusty weapons aren't considered in Boriscore.


There may yet be some things to iron out with Boris support, but I feel pretty good about it at the moment.

The rest of the fixes are functional fixes from Theraze, assorted code cleanups, bringing the script up to date with ZLib, and a little reorganization for consistency with my other scripts.

Anyway, thank all of you who have used, appreciated, and helped to improve this script. Enjoy the update. :)
 

Theraze

Active member
One bug as I was looking through, in lighthouse_sq, it lost the check to see if you already have 5 barrels of gunpowder before visiting the crazy bomb guy. By skipping that check, it will visit him, complete the quest, and then try to farm another 5 barrels of gunpowder to complete the quest... again.

Another potential bug-type thing is that it uses adventure(1,$location) instead of (!adventure(1,$location)) on... the ducks, I believe. If you want it to return false/abort if they had conditions set or get beaten up, that's the right choice. If ducks aren't considered dangerous, then you probably want the (!adventure()) instead.

A "bonus" bit would be that gearup_apropos() is missing from the HitS adventuring, as well. Might as well let people use their good outfit rather then the painful bee outfit, etc.

In the slay_one function, it will abort if you get beaten up, because you're using adventure(1,$location) as above with the ducks. Also, I'm a fan of trying to uneffect beaten up automatically in slay_one and only aborting if you're beaten up and can't uneffect it, but... that might just be me. :)

Everywhere in all my code where I used to have
Code:
CLI_EXECUTE("conditions clear");
I've replaced it with
Code:
if (count(get_goals() > 0)
{
   CLI_EXECUTE("conditions clear");
}
because there's no sense in clearing conditions if they don't have any to begin with. Just makes the gCLI look cleaner, not clearing it if there's nothing to clear. :)
 
Last edited:

zarqon

Well-known member
check to see if you already have 5 barrels of gunpowder before visiting the crazy bomb guy.

Aha, missed that one... will add that.

you probably want the (!adventure()) instead.

Actually, I don't think I do. Why would they have conditions set? Just to be safe though, I think I will clear conditions at the beginning of the script, but otherwise, I want OCW to abort if the player gets beaten up and doesn't have mafia configured to uneffect it (i.e. using UR).

Might as well let people use their good outfit rather then the painful bee outfit, etc.

I wondered why that was there when I was diffing. I guess I'll put it in, since in Beecore especially it would be helpful.

Thanks! Will update again when I finish this runthrough.
 

Theraze

Active member
Spiffy. And yeah, long as conditions get cleared in advance, it should work. It's just if the script fails to clear initial conditions that it might cause issues. Though then the question about getting beaten up comes in, and whether you want it to keep trying or abort every time they fail a combat. Eh, I'll just keep mine chugging away merrily, since I know that getting beaten up is a fluke, and let it abort if I can't cure the beating. :D
 

Theraze

Active member
Believe this:
Code:
            outfitsource = $location[frat house];
makes it try to get the war hippy outfit in the frat camp, wearing the frat warrior outfit. That's never going to work... The whole outfitsource thing should just always be the wartime hippy camp (frat disguise).
 

Theraze

Active member
Take the gearup_apropos section and, in the part where it looks for the lute or crumhorn, replace it with the sackbut. Or just change this:
Code:
   if (my_path() == "Avatar of Boris") {        // equip Clancy
      if (qname == "orchard" || vars["ocw_f_"+qname] == "items") {
         if (item_amount($item[clancy lute]) > 0) use(1,$item[clancy lute]);              // +items
      } else if (item_amount($item[clancy crumhorn]) > 0) use(1,$item[clancy crumhorn]);  // otherwise, prefer stats
   } else use_familiar(chosen_f());
to this:
Code:
   if (my_path() != "Avatar of Boris") use_familiar(chosen_f());
 
Top