Make.meat.fast

So I played around with the script last night and had a few questions about it.

1. Can_adv is not properly considering where my character can adventure. For the castle in the sky, it says that I can not go there when in fact I can (I go there almost every day). I suspect it is probably from my character being really old or something and can_adv doesn't know what to do with him. Either way, I could just change this up and get it to look at all locations? Well maybe not *all* locations because after setting it to that it wanted me to go to unattainable places like CRIMBO. Maybe just the ones that I could get too if I change something reasonable like putting on cold gear to go to icy peak or opening Hobopolis but not special places like trick treat or CRIMBO.

2. How do I get it to report more locations? I simulated it normally and it shows that Thugnderdome would be the best location for me. However, it thinks the clockwork keys drop 5% of the time while the wiki says 1.6% of the time. After spending ~150 adventures, I concluded the wiki was way closer to the truth ;). So, I would like to see the runner up locations, but I have no idea how to get it to show those results. I suppose I could add the Thugnderdome to the "do not go" list and then it wouldn't consider it thereby showing me the next best place but seeing top 5 or so all together would be nicer.
 

Theraze

Active member
Regarding number one, that might be due to not having ascended since the revamp. It could also be that you're using an old version of mafia or canadv. Make sure that you're using the svn version, not the version included with this script.

Regarding number two, remember that mafia displays based on your +item stats and so forth. The ~2% chance with a +150% item mod becomes a 5% chance. But since it just keeps the single best location, it really has no idea what anything besides that single best is.
 
1. Alright, yeah I figured it was from me not ascending in forever....I have latest stuff and use SVN so that shouldn't be the problem. Is there a setting in can_adv to only report locations that are absolutely not obtainable at the moment? I.e. tricktreat/crimbo/etc?

2. Well the script then adds my % chance to the 5% it reports giving me 20% chance per key.

Code:
 DROP: clockwork key worth 15480. Drop rate is 5% with a modifier of 306% so actual freq is 20%

So it is double counting my find chance?

3. I tried running it with else if (can_adv(l, true)) instead of false since I heard that would consider places that requires outfits and what not but it started buying potions and other gear to go to those places (I just wanted it to simulate it) so I put an end to that idea lol.
 

Theraze

Active member
Yeah, can_adv true means that you want to prepare to actually adventure there. Running canadv or canadv false means to just tell you if it's possible.

And mafia currently has stored that there's a 5% chance of getting 2 different clockwork keys, no pickpocket allowed. Let's see... 20121206 - started the day with 230% item mod, ended with 158.9% item mod. 20 clockwork keys. From 3691 to 3894, so 204 adventures. If the final item mod was the one that was actually used, that should have about a 12.9% chance of getting the item... if there were only one drop. With 2 drops, and a 2% base chance, the change per drop would be 5.1%, which is much closer to observed results.

The day after (20121207) I got 18 clockwork keys with 186 adventures (from 3946 to 4131), which also supports the 2% base drop rate. Then (20121208) 17 clockwork keys with 208 adventures (from 4176 to 4383)... a bad day for drops, though my item drop mod had lost 8 points down to 150.9% which might have contributed. Next data point (20121209) had only 11 keys with 252 adventures (4426 to 4677) which just makes me sad.

Maybe TPTB changed drop rates down during that week. Or maybe I just had bad luck start to take effect then. The bottom line is, anecdotal stats don't help mafia get stuff changed. Properly spaded stats, presented to a developer, generate change. :)

If you have better information that has been properly spaded, let Darzil or another dev know and they should be able to update mafia's datafiles, which will make farm and any other such script update to be more accurate. It seems that dropping this from n5 to n2 would probably be as close as mafia can get with ints rather than floats for its drop rates, but if we want people to get depressed it could also be n1.
 

Winterbay

Active member
Iäd like to start by saying that the can_adv-version included with the script is in fact the svn-version since can_adv is listed as a dependency...

That said, if you scroll up above the "best location"-listing you will find that the script lists the 20 or so best options, however only as a total meat per adventure listing and no detail on which place is better than another.
 
So mafia's item %s are hand entered? I figured they would be parsed from the wiki or something. It would be really cool if Mafia could be used as a massive spading tool. I.e. keep track of how many adventures one uses in an area and the drops received and upload that info to a data base. I guess that is too much work tho, but it would essentially eliminate the need of spading item drops lol.

Also, is there a reason the drops are kept as ints rather than floats?

Winterbay, I don't see 20 or so best options you are referring too. I just have a list of 120 locations, which I assume are places that passed can_adv, and it says "Best Location is: X" and gives me the info on it.
 

Winterbay

Active member
So mafia's item %s are hand entered? I figured they would be parsed from the wiki or something. It would be really cool if Mafia could be used as a massive spading tool. I.e. keep track of how many adventures one uses in an area and the drops received and upload that info to a data base. I guess that is too much work tho, but it would essentially eliminate the need of spading item drops lol.

Also, is there a reason the drops are kept as ints rather than floats?

Winterbay, I don't see 20 or so best options you are referring too. I just have a list of 120 locations, which I assume are places that passed can_adv, and it says "Best Location is: X" and gives me the info on it.

What verbosity are you running at? It may be that you need to have a higher verbosity to get that info. (zlib verbosity in the cli to check)
 

Lokathor

New member
I installed it from SNV, tried to run it, and immediately got

Bad location value: "The Barrel full of Barrels" (canadv.ash, line 419)
 

Lokathor

New member
Where would that be displayed? I'm using one of the very recent nightly builds, the Version Info page says "October 24th, 2013" and I downloaded it on November 10th.
 

Theraze

Active member
In the title bar when you first open mafia, it should say KoLmafia v16.1 r13256: Login. If the r number isn't 13256 or higher, download today's newest build and see if the problem still happens in that. It's a great habit to get into before reporting any bugs. :)

Note that you're only looking for r13256 because that's the current version. In a month, you won't be looking for 13256... you'll be looking for something higher. :)
 

Lokathor

New member
It just says "KoLmafia v16.1: Login" without giving a revision number at all :(

Just to be sure, I downloaded the nightly EXE, and it seems that the EXE versions never list the revision number at the login.

Then I got the 13257 jar (which does list a revision number), and it can run now. But that doesn't explain at all why the Barrel full of Barrels would give my version from October problems, because that's been around forever, and the canadv.ash was the SVN version. Whatever I guess.

Questions:
With this script, is there a way to specify that farming should happen for exactly a particular number of adventures? Say I have 20 but I want it to farm for just 10 of those?

Also, is there a way to specify that I don't want it to eat or drink anything at all? Because I do not care if it gets me a net gain of meat in the end, I want a way to specify that the script should not eat or drink anything, and it should just farm with however many adventures it happens to have when I activate it.

And most importantly, Harvest.ash (which I had been using some) used up all my nash crosby uses one time without warning and without even making anything useful (it just made 10 kumquat and did nothing with them). Harvest.ash also always builds an epic turtle totem and an epic accordian if I don't have one, despite the fact that i'm a single-class DB (or on my other character, a Sauceror with no TT or AT skills permed). Is this farm script gonna try to do any weird side crap like that? and, if so, is there a way to turn that off and just calculate the maximum meat attainable in however many adventures and do that? That's all I want.

EDIT:
I ran it just now, started with 33 adventures and 0 full/drunk, it purchased stuff and consumed it until I had 106, picked out a familiar it wanted (gravy fairy), and then set a mood to always have "Knob Goblin eyedrops", then failed because I don't have any. It seems like it should be buying those from the mall on its own, and I think that's a setting somewhere probably, but how do I either enable that it can buy those from the mall OR disable that it will set that mood and then fail to run because the mood ran out?
 
Last edited:

Winterbay

Active member
Do you not allow purchases form NPC-stores? Mafia should go buy Knob Goblin eyedrops from the dispensary automatically, but if you either haven't unlocked that or disallow NPC-store purchases it will lead to problems.

That said: The script will only use the still if eatdrink decides it should make super advanced cocktails and it is cheaper to do so than to buy them from the mall. I don't think this has ever happened to me so I think your still is safe (my multi is a non-ascended level 60 DB who continually has 10 still uses left at logout after running farm.ash).
It will also not create any advanced items, even though eatdrink may go buy an accordion should you not have one and you have Ode to Booze castable.

I'll work on getting the limiting ideas into the script (I'm thinking consuming will be controlled by a zlib-variable and the turn-count via an overloaded function).
 

Winterbay

Active member
Revision 14 adds the zlib variable farm_should_consume which defaults to true. If set to false the script will not eat or drink anything and getting turns is up to you. It also makes it possible to control the amount of turns run by using the following code:

Code:
ash import farm.ash; farm(<turns_to_use>);

THis can for example be set up as an alias:
Code:
alias farmturns => ash import farm.ash; farm(%%);
 

Lokathor

New member
Yes, the nash crosby problem was with Harvest.ash, not farm.ash, it was just something I wanted to make sure wasn't going to happen again.

And after fiddling with the menus I was able to discover that I didn't have the checkbox for "purchase items from the mall when needed" enabled.

KOL Mafia's menus and preferences setup is truly some of the worst among all the weird software I've ever used or made myself.
 
Last edited:

fronobulax

Developer
Staff member
KOL Mafia's menus and preferences setup is truly some of the worst among all the weird software I've ever used or made myself.

Troll much?

Next time you feel compelled to pass that kind of judgement why don't you convert it into constructive criticism and start a discussion in Community Support or make a specific Feature Request? Tone of voice aside, that is a serious request, assuming you really have experience and ideas behind the comment.
 

Veracity

Developer
Staff member
I read that and immediately added him to my ignore list.

If he eventually does have something constructive to say, I am sure there are other devs who will willing to listen to him.
 

Lokathor

New member
Next time you feel compelled to pass that kind of judgement why don't you convert it into constructive criticism and start a discussion in Community Support or make a specific Feature Request?
I obviously didn't put it as a Feature Request because I'm not requesting any program features. I don't want Mafia to change its interface at all.

One, because I'm a programmer and I understand how much work is being asked every time a feature request goes up. Two, because I used the program six years ago and was able to mostly pick it right back up again even six years later because the core of the program has changed very little since then, it's just gotten smarter is all. And you don't mess with that kind of longevity in the software world.

I mean if you really want, I'm sure I could come up with a big huge list, but that'd be pointless because it's pretty much fine to control like Dwarf Fortress or Nethack if you're going to offer as many features as Dwarf Fortress or Nethack, which Mafia does.

Veracity: Sorry I ruined your day pal. If it makes you feel any better, I'm actually literally autistic and thus clinically bad at communicating with people.
 
Top