Feature - Implemented Add Daily Summons to Daily Deeds

foxmoriarty

New member
I know that I'm slightly disorganized but when I get jammed for time at rollover I go to the dailydeeds page to see what I haven't done for the day. It would be helpful if there was a display there that indicated if all the grim/tome summons and noodles/reagent/mixers had been used for the day. I know I can add it to breakfast but in-run it's often more complicated since I'm trying to manage MP and I summon based on current or future needs.

LOVE the work you guys are doing! It's very appreciated! I'm often jammed for time and mafia lets me adventure in a semi-optimized way so I don't lose full days of adventures!
 

roippi

Developer
I suggest stdoodle's custom daily deeds.

Adding a line of text or two to the bottom of native daily deeds wouldn't be too bad. I'm generally hesitant to add clutter to the already-busy interface, but that wouldn't get in the way.
 

roippi

Developer
This feature request is now unnecessary, as it is implementable by the user with custom Text deeds. Head to the support thread in Community Support if you need assistance.
 
This feature request is now unnecessary, as it is implementable by the user with custom Text deeds. Head to the support thread in Community Support if you need assistance.
Marked as Implemented due to Roippi's upstaging... er, awesome efforts at revamping daily deeds. :p
I didn't understand either one of these responses, so I poked around, wondering, "I'll find a support thread for Daily Deeds?" Not until I looked in the Community Support (I know: dopey me! roippi said it right there!) section:
http://kolmafia.us/showthread.php?7347-Daily-Deeds-support

So I read through that multiple times and monkeyed with it in my KoLmafia v14.7 r 9636. However, I just can't see how adding some unchanging text to the Daily Deeds panel will allow us to know how many of a daily summons have been used.
 

lostcalpolydude

Developer
Staff member
Text deeds can show the value for a variable. You could show noodleSummons and reagentSummons in there and have them replaced with numbers. The text box would have something like "Noodles: |noodleSummons| Reagents: |reagentSummons". This was confusing until I realized that | is basically concatenation between strings and variables.

However, I did run into a bug. I put "tomeSummons| |noodleSummons| |reagentSummons" into the Text field. The display just showed "tomeSummons noodleSummons reagentSummons" instead of showing a number (like it would do if I only entered tomeSummons). The actual deed works fine once I added it, but it added to my confusion that I couldn't see the actual results while putting it together.
 

lostcalpolydude

Developer
Staff member
My version gave me "3 5 5" displayed in Daily Deeds. The version you posted displays "53 5 5", for some unknown reason. The preview box is exactly the same as before. It looks like the leading space is removed when it's actually saved.
 

roippi

Developer
However, I did run into a bug. I put "tomeSummons| |noodleSummons| |reagentSummons" into the Text field. The display just showed "tomeSummons noodleSummons reagentSummons" instead of showing a number (like it would do if I only entered tomeSummons). The actual deed works fine once I added it, but it added to my confusion that I couldn't see the actual results while putting it together.

Huh. Yeah, that would be confusing.

Anyway, the intent is that any time you enclose something that is a preference in pipes (no spaces, other characters, etc), it puts the value of the preference there. I think this is operating properly in the API, your problem was just a bug in the preview pane.
 
OH! It's for VARIABLES! Is there, by any chance, a list of those? I'm guessing one can only go look in <charactername>_prefs.txt. Did I get that right?
 

roippi

Developer
Well, variables != preferences, but that's where you could look, yes. (although there is another file, GLOBAL_prefs.txt, with more prefs)

Other options include using the wiki or the following alias:
Code:
alias prefref => ashq record r{string d ; }; r[string,string]m; file_to_map("defaults.txt",m); foreach t,p,d in m if(to_lower_case(p).contains_text(to_lower_case($string[%%]))) print(p+" ("+t+", now '"+get_property(p)+"', default "+d.d+")")
 

roippi

Developer
Hahaha.. I just realized what you guys are doing.. you're putting pipe characters into the custom Text builder. You don't need to do that; it automatically takes the fragments that you type into the text field and delimits them with pipes. If you do that, it should properly preview in the area down below.

So, if you want to add a preference inline with some text, type out the text before it, add that, and then type the preference all by itself, and add that. etc.

I'll make preview behave properly when you give it pipe characters, because it should anyway. You don't need to do that, though :)
 
Well, variables != preferences, but that's where you could look, yes. (although there is another file, GLOBAL_prefs.txt, with more prefs)

Other options include using the wiki or the following alias:
Code:
alias prefref => ashq record r{string d ; }; r[string,string]m; file_to_map("defaults.txt",m); foreach t,p,d in m if(to_lower_case(p).contains_text(to_lower_case($string[%%]))) print(p+" ("+t+", now '"+get_property(p)+"', default "+d.d+")")
But... isn't a huge, important part of what preferences are, the fact that they can vary? Aren't the settings for the preferences represented by variables? O.O

I'm guessing that this code is to create "prefref" as an "alias," a thing I could type in the GCLI to represent all the stuff to the right of the => part. And this particular thing is supposed to create a file and write to it? Somewhere?
 

Bale

Minion
I'm guessing that this code is to create "prefref" as an "alias," a thing I could type in the GCLI to represent all the stuff to the right of the => part. And this particular thing is supposed to create a file and write to it? Somewhere?

Actually, you got that backwards. prefref will reads from your preferences file, searches for anything that matches the given parameter and then print the result in the CLI. Like this,

Code:
[COLOR="olive"]> pref slimeling[/COLOR]

slimelingFullness (user, now '15.0', default 0.0)
slimelingStacksDropped (user, now '0', default 0)
slimelingStacksDue (user, now '0', default 0)

It's useful for finding preferences where you can only guess/remember a part of the name.
 
Last edited:
Top