[advice] daily deeds polish

roippi

Developer
Need GUI feedback. I've hit a lull, not sure what I want to do anymore.

ddprefs4.JPG

The upper-left and lower boxes are JDnD panels - you can drag and drop built-in deeds into your current deeds, and drag your current ones around to rearrange them.

I'm not particularly sure of how to handle the custom deeds part though. This way is just the standard select-item-on-list-and-click-button-which-takes-you-to-a-dialog method.. but meh, there's a lot of wasted space. It seems like I could just stick a combobox and Go! button somewhere.

I dunno. Halp.
 

roippi

Developer
I'll post it up once I get all the dialogs for adding custom deeds complete. It's not too hard, just have to add a lot of sanity checking.
 

roippi

Developer
Well.. okay, here's a working copy. I've implemented most of the custom stuff as cascading dialogs. Hardly the most elegant thing, but I've basically come to grips with how bad of a GUI programmer I am. If someone wants to make the custom dialogs prettier by implementing a card layout with multiple input fields, filters, and whatnot, that would be ideal. Go for it.

This should be pretty stable, though the GUI will still let you do a lot of things it shouldn't. If you pass malformed custom deeds to the preference, DailyDeedsPanel itself should handle it gracefully and tell you what you did wrong.

Basically I just have to implement checkSanity in the GUI to more verbosely tell the user what they did wrong BEFORE it gets written to the preference dailyDeedsOptions. Then I think we're good to go.

Feedback always welcome, especially since I have considerable free time coming up this weekend.
 
Last edited:

roippi

Developer
An update:

I got halfway through coding the sanity checks for my horrible, horrible cascading menus thing and decided that I hated it. It just.. I would never use it, and so I shouldn't expect anyone else to.

So, nuked that, and this rose from the ashes:

ddcustomprefs.jpg

It's pretty close to where I think it needs to be. I still have to do some cosmetic things to it (primarily in the text deeds tab) but it's actually mostly finished. All of the labels dynamically update as you type to tell you what's going on, and they have tooltips with more info if you need it.

Also, patch is now 100kb, which is too large to attach here. I'll figure out what to do with that later.
 

slyz

Developer
It does look great. I loved being able to pick and choose my Daily Deeds from the preferences.

It was kind of hard to move them around though (I like having familiar drops, free runaways etc... at the top). Next time, I'll remember to erase everything and pick what I want from the list in the right order.
 

roippi

Developer
It was kind of hard to move them around though (I like having familiar drops, free runaways etc... at the top). Next time, I'll remember to erase everything and pick what I want from the list in the right order.

Yeah. I'd like it if the JDnDBox autoscrolled if you were holding an item at the top/bottom of the box, but I seriously doubt if I can manage that. Maybe I can get lucky and find a code snippet by googling.

Should I include a "clear deeds" button? I anticipate that causing more anxiety than it would solve. You can easily clear your dailyDeedsOptions preference at the CLI.
 

roippi

Developer
Patch of current progress attached. This version replaces the custom deeds builder with a better card selector interface. I'm still tweaking cosmetics, but feedback on that and anything else is welcome. I'd like to be done with this by the end of this coming weekend.

Also, forum limit on .patch and .diff files is <100 kb, so I changed the extension to .txt.
 
Last edited:

Bale

Minion
Patch of current progress attached. I'm still tweaking cosmetics, but feedback on that and anything else is welcome. I'd like to be done with this by the end of this coming weekend.

It's kind've a race to see if this feature makes it into KoLmafia's next point release.
 

roippi

Developer
True. It's pretty hefty, so I'm not sure how long it will take for a dev to vet once I submit it as a feature.
 

Winterbay

Active member
Well, if you have slyz poking around at it at the same time as you develop it then at least one developer is slightly familiar with the code and what it does :)
 

Veracity

Developer
Staff member
It's kind've a race to see if this feature makes it into KoLmafia's next point release.
I'm spinning a release this afternoon.

I'm happy to see this feature coming, but I'd sure like some "soak time" on it in the daily builds before spinning a point release containing it. User feedback, bug fixes, what have you.
 

Bale

Minion
Probably a wise idea for such a lot of code to get some bugtesting before a point release. Though I am a teeny bit disappointed. ;)

Have you added code that changes the Operation Patriot Shield's powers based on character class? I missed that and I was expecting it before you spin a new point release.

I'm happy to hear that as of this afternoon, the "update clear" bugs should never happen ever again since a new point release wipes out all override files and the "update data" command is gone.
 

Veracity

Developer
Staff member
That went in with my very first submit for the item: Revision 9541, which simply says "Operation Patriot Shield". Unfortunately, there is no way to see the effect of that without some work:

> ash string_modifier( $item[ patriot shield], "Modifiers" )

Returned: Experience: +3, Maximum HP: +20, Maximum MP: +20, Softcore Only

> ash numeric_modifier( $item[ patriot shield], "Familiar Weight" )

Returned: 5.0
The "Modifiers" string shows exactly what is in modifiers.txt - which for the shield, is simply everything which is always true about the shield. As you can see, I, as a Turtle Tamer, have additional attributes on the shield...

There is no way that I know to get an attribute string which is "every modifier that a given item currently provides, with all overrides and formulas evaluated". I think there is a feature request for that - one of zarqon's item.proxy field requests, I think. Here's another example showing you that "Modifiers" by itself doesn't do that:

> ash string_modifier( $item[ grimacite gown], "Modifiers" )

Returned: Monster Level: [10*G]

Those examples should probably be added to the feature request for that proxy field, since I think that report currently suggests the "Modifiers" does what is requested.
 

roippi

Developer
I'm happy to see this feature coming, but I'd sure like some "soak time" on it in the daily builds before spinning a point release containing it. User feedback, bug fixes, what have you.

Totally agree.

Also: hey, point release!
 

roippi

Developer
Alrighty. Consider this a beta version. Bugfixes and small feature tweaks from here on out.

Would be cool if a mac user could try out the custom deeds builder.

As before, file extension is now .txt instead of .patch due to forum limitations.
 

Attachments

  • ddcustomprefs2.txt
    107.5 KB · Views: 42
Top