"Maximize" function suggesting familars (case-specific)?

tragus

Member
I ask here, rather than as feature/bug, since I'm not sure about the KOL design decisions in the first place that inform my query.

There are a very few times that the maximize function should suggest a particular familiar, IMHO. Currently, as far as I can tell, it does not at all--only some type of familiar equipment. Cases that come to mind include:

  • Elemental Resistance (parrot)
  • ML (purse rat)
  • Item drop with +combat (hound)

The suggestion would, of course, be partially dependent on weight and buffs which makes the maximize mechanism very clunky. Clearly, maximizing for things like +meat or +item would also depend on current or potential familiar weight (hence familiar weight as a maximizing handle).

Mostly, I'd just like the parrot to be suggested for Elemental Resistance, since it does nothing else. Well, except for funny combat text.

Does this question fall into the category of "better done per player by script" (like CSS)? Or is it a legitimate possibility for amending the maximize function?
 

jasonharper

Developer
Having the maximizer choose a familiar would be problematic:
* Familiars are often chosen for reasons other than their immediate benefits - leveling them up for later, for example.
* Multiple familiars often have the exact same benefit - if someone was maximizing items, and didn't have a Hound or other super-fairy, which of the dozen or so fairy-equivalents should it recommend?
* This would do awful things to the time required for maximization.
* I don't particularly want to be brutally murdered by all the people whose Black Cat or other 100% familiar runs would be ruined by this feature.

That said, there are already some maximizer keywords for comparing multiple familiars. PTFHB (Push The Fine 'Help' Button), please!
 

tragus

Member
Very much agreed that "Having the maximizer choose a familiar would be problematic" - at least in the general case. I'm sorry if I didn't make my question clear originally. Reading the MafiaWiki, I see that "+/-switch <familiar>" appears to be what I was thinking about.

I will note that the maximizer page here has a plea on the top "Attention KoLmafia Experts! We need your help; some details of this function's operation are unknown or unclear." Since I'm a Mafia noob, I appeal to wizards here to clarify what is missing/wrong.
 

Bale

Minion
The page looks pretty good to me StDoodle. Why did you put up that plea for help? You must have some idea what is missing or else you'd not have put it up.
 

StDoodle

Minion
I remembering that I'd seen some other uses of maximizer, but couldn't find references to them, and the uses that I'd seen weren't on the page. So I knew there was more than was on there, but didn't know what it was. That said, there have been a couple of edits since, so it's possible that everything is there. But as I don't really know, I don't feel comfortable taking down the notice; that should be done by whoever feels that their addition to the page brings it to a fairly "complete" status.

Edit to add:

With what's there currently, I still don't quite follow the format and nuances of numeric weighting. This, at least, would be nice to have before removing the notice.
 

Theraze

Active member
I'd think we should fall on the side of not asking for help if we don't know what help we're asking for... As the only specific addition we're apparently needing is information on weighting of modifiers, once that's up, the plea should be removed until there's another specific request.
 

DerDrongo

Member
Currently maximize wont suggest you change your familiar without asking it to consider each familiar individually
for a while i used something like this (in a file called dress.ash)
Code:
void dress(string input) {
	familiar [int] familiars;
	file_to_map("familiars.txt", familiars);
	foreach i in familiars {
		if (have_familiar(familiars[i])) input = input + ", switch " + familiars[i].to_string();
	}
	cli_execute("maximize " + input);
}
void main(string input) { dress(input); }
its just a wrapper around maximize which adds all your familiars to be considered

for (better?) support of disembodied hand, mad hatrack ect you would probably need to use the familiar numeric_modifier() which takes familiar, modifier, weight then item
if there is interest i could try and tidy up and release the code i use to change my familiars
 

StDoodle

Minion
I'd think we should fall on the side of not asking for help if we don't know what help we're asking for...

Similarly, if one hadn't followed the history of that page, when the notice was put up, and when revisions were made, one should keep their mouth shut about what is an isn't an appropriate request on said page.
 

Theraze

Active member
What I was saying is, if the page as it stands NOW answers the questions, the tag should be removed. If historically there was a question... great. If there's still a question... great. If the tag is there because there have been questions in the past that have since been answered? *shrugs*

But if you want to tell me to keep my mouth shut for responding to the following, as it was when I posted my response:
I remembering that I'd seen some other uses of maximizer, but couldn't find references to them, and the uses that I'd seen weren't on the page. So I knew there was more than was on there, but didn't know what it was. That said, there have been a couple of edits since, so it's possible that everything is there. But as I don't really know, I don't feel comfortable taking down the notice; that should be done by whoever feels that their addition to the page brings it to a fairly "complete" status.
then go for it, I suppose... I read that you said you put up the request, think that it might be complete, and don't feel comfortable removing the tag because there MIGHT be a question that you can't remember that still needs answering...
 

StDoodle

Minion
I apologize for coming off so pissy about this, but it felt like a personal attack. It felt to me like you were saying that if I didn't know how everything worked for mafia, I shouldn't be messing with the wiki. Well, I put a LOT of work into the wiki... this was just before you got heavily involved with mafia, but take a look over the wiki's history if you don't believe me. Not to try and make myself out to be more than I am, but I had a GREAT deal to do with the fact that the wiki is currently such a useful resource.

Aside from that, I still feel that it should be the responsibility of the person who fleshes out the wiki page to remove the notice. I created it very bare-bones, knowing that it was important for it to have a page, but fully aware that I couldn't do that page justice. The "maximize" funciton is one I rarely use, so I never expected to be the one to be able to say when it is and isn't done. And my reference to "if one hadn't followed the history of that page" is a reference to the fact that the wiki discussion was moved to the WIKI. There was more follow-up, and the notice was removed days ago. I just felt the wiki itself was a better place for that follow-up to occur.
 

Theraze

Active member
Sorry... wasn't trying to make it personal. Was just trying to say that if information is requested, what information is being requested really helps in getting it. I've worked in help desks before, and when you're trying to both guess what information is actually being requested as well as how to do whatever they're requesting... it gets exponentially more difficult. :) The more clear the request, the easier it is to help accomplish it. Sometimes I come across as sounding opposed to something when really all I'm trying to do is get it to be COMPLETELY clear, so I know I'm doing it right. :)
 

Winterbay

Active member
Sorry... wasn't trying to make it personal. Was just trying to say that if information is requested, what information is being requested really helps in getting it. I've worked in help desks before, and when you're trying to both guess what information is actually being requested as well as how to do whatever they're requesting... it gets exponentially more difficult. :) The more clear the request, the easier it is to help accomplish it.

That goes for most things I'd say. In my work with product safety I get orders to assess materials and sometimes they are incredibly vague even to the point where you start wondering if the person at the other end want a result this millenium or not...
 
Top