Feature Creation method -- Add proxy record fields for items

Bale

Minion
The last one I can think of is the creation method for creatable items -- where mafia says something like SUSE SMITH TINKER ACOCK etc. There are several scripts around that load concoctions.txt just to get the creation method.

I'd like this one also! To complete the feature request please also add the rest of the information from concoctions.txt so I can remove a file_to_map from relay_OCD

item.method
item.ingredient1
item.ingredient2
item.ingredient3​

As far as I know, no method has more than 3 ingredients. Though I suppose you could make a single field containing a /t delineated list of ingredients to account for the possibility of Jick eventually adding the Horadic pizza oven he's been talking about since the beginning of time.
 

jasonharper

Developer
Current maximum number of ingredients is 7, for the Staff of the Well-Tempered Cauldron. It would be over 100 if we actually represented the Misshapen Animal Skeleton properly.

Having a separate field per ingredient is insane, anyway - and you can ALREADY get the ingredients as an array for any concoction you're actually capable of making.

Exposing the creation method is a somewhat more reasonable request, the problem is one of representation - it's not just an item from a list, there can be an arbitrary combination of required skills and other prerequisites.
 

Bale

Minion
Thanks. I'd forgotten about get_ingredients(), so we really only need item.method to have all information.
 

zarqon

Well-known member
Let the scripters parse it -- giving them something which needs breaking down i.e. "ASMITH FEMALE TORSO" still beats loading the map by a long shot.
 

Bale

Minion
Personally I like tab delineated lists. They're very easy to break down with split_string(item.method, "/t");
 

Bale

Minion
Well, in this instance that is true. And that would probably be easiest to implement since it is stored that way.
 

fronobulax

Developer
Staff member
A space separated list is just as easy to break down ^^

Depending upon your tool set and operating system. Anything that does not treat a space as white space or a delimiter is a PITA in Windows although the irrelevance of that to an ash script is noted.

However, if there is ever a time when KoL comes up with a creation method that has a string description that includes a space then we will wish we had adopted tabs sooner, write special cases to handle the one description or have another of those cases were users think KoLmafia has to use the exact same string for something that KoL does and there will consequently be a series of annoying Bug Reports.
 

Bale

Minion
However, if there is ever a time when KoL comes up with a creation method that has a string description that includes a space then we will wish we had adopted tabs sooner.

I briefly considered responding that way to slyz, but then I remembered that the creation methods are all 4 or 5 letter combinations (SUSE SMITH TINKER ACOCK) decided upon by the creators of KoLmafia. They can simply continue to never use a space since that would mess up the format of the data file.
 

zarqon

Well-known member
A space separated list is just as easy to break down ^^

Easier, for forumites. If we use tabs, we should be prepared for "how can I specify a tab in split_string()?" to be a FAQ. "How to do line breaks in kmails" has come up quite a few times.
 

Bale

Minion
I thought it was one half optimal algorithm and two-thirds politics. Politics is unreasonably important and rarely makes sense.
 

Veracity

Developer
Staff member
Well, I bumped these since they had slipped back to page 6 and they all seem like easy little things I can do when I need a break from real work.
Patience.
 

Bale

Minion
I know. I was just very happy that you bumped so many things I find exciting. This and the bounty-hunter request are two of my favorites.
 
Top