Closed drgabellia closed 5 years ago
This looks like it was caused by the difference between 'knitting needles' in outfitting_tools: vs 'knitting needle' in base knitting_tools:. When workorders tries to merge them and take the unique values they both showed up as unique. I bet this could have run successfully without flipping out on occasion.
It looks like there is an opportunity to clean up the repair logic though, so a missing item doesn't get you into a weird state.
Oh, or I misread that. @drgabellia does it get into a bad state or does it actually repair the needles (and just error looking for the other name)?
From talking to her it definitely got into a bad state, but I'm only kind of sure why. It failed to find the tool so it exited out rather than continue and proceeded to hunting-buddy with tickets still in the bag. I think this behavior is from common-crafting's get_crafting_item. So if that's the problem then I'm not really sure what the best way to fix it is...
Yes, That is what would happen. It failed to find the tool (as it was already being repaired) and exited. Then...the next time I would try to craft, since it still couldn't find the tool, no crafting was done. I added the line knitting_tools: and left it blank. That seems to have resolved the issue. I have now completed 3 rounds of workorders with no problems. As to WHY the problem started in the first place....I'm now making some items I wasn't making before - I'm now knitting instead of just sewing. That seems to be the trigger that started it all.
how would you all feel about not defining default knitting_tools in base at all and just defining them as the default in outfitting_tools instead?
aka deprecating knitting_tools entirely
just a wild idea, the awkwardness between knitting_tools: and outfitting_tools: I added later when I expanded sew.lic has always irked me. I think the simple solution is to get rid of knitting_tools and make it always use whatever is listed in outfitting_tools and make that default to knitting needles only.
at one point cloth crafters only repaired knitting needles which was why outfitting_tools was added, i realized like 6 months later that i was using completely trashed tools for cloth crafting because they weren't getting repaired
Yeah I assumed that was how it happened. We only have the benefit of knowing how these things are going to expand in hindsight. As far as I can tell, knitting_tools is basically already deprecated.
I have a knitting_tools setting and no outfitting_tools set, but if workorders just merges the two of them together anyway then I shouldn't need to change anything. (I will be swapping over anyway)
I think the only subset of people who would experience an error here would be people who... for whatever reason... have an outfitting_tools defined with no knitting needles in it and no knitting_tools defined. I'm kind of doubtful that subset exists, so I dunno, this should be fine?
knitting workorders stop at like 400 ranks which is why i added the cloth crafting stuff and needed to expand beyond knitting, I imagine most people that have outfitting_tools defined have it for that reason
Hah, I just tested it and since I don't have an outfitting_tools and I called mine 'knitting needles' I got doubled up like Gabellia. I should've fixed that after helping her.
The validate check would have let me know what was wrong, though.
Thanks for pointing out the issue Gabs :)
This has just started. Here is my tool setup and log below with double repair:
outfitting_belt: name: outfitter's belt items:
outfitting_tools:
- hide scraper
Here is log:
[workorders]>untie my knitting needles from my outfitter's belt
You remove some polished steel knitting needles from your outfitter's belt.
[workorders]>give clerk
A clerk looks over the needles and says, "That will cost 6 Kronars to repair. Just give it to me again if you want, and I'll have it ready in 1 roisaen."
[workorders]>give clerk
You hand the clerk 6 Kronars and he gives you back a repair ticket. clerk says, "I should be having that done for you in about 1 roisaen. Don't lose this ticket! You must have it to reclaim your needles."
[workorders]>stow ticket
You put your ticket in your leather pack.
[workorders]>untie my yardstick from my outfitter's belt
You remove a yardstick inlaid with driftwood and bits of shell from your outfitter's belt.
[workorders]>give clerk
A clerk says, "There isn't a scratch on that, so there's nothing to repair."
[workorders]>tie my yardstick to my outfitter's belt
You attach a yardstick inlaid with driftwood and bits of shell to your outfitter's belt.
[workorders]>untie my scissors from my outfitter's belt
You remove some scissors with glaes cutting edges and decorative finger rings from your outfitter's belt.
[workorders]>give clerk
A clerk says, "There isn't a scratch on that, so there's nothing to repair."
[workorders]>tie my scissors to my outfitter's belt
You attach some scissors with glaes cutting edges and decorative finger rings to your outfitter's belt.
[workorders]>untie my sewing needles from my outfitter's belt
You remove some ribbed steel sewing needles from your outfitter's belt. Binu attaches some polished steel knitting needles to his seamstress' belt.
[workorders]>give clerk
A clerk says, "There isn't a scratch on that, so there's nothing to repair."
[workorders]>tie my sewing needles to my outfitter's belt
You attach some ribbed steel sewing needles to your outfitter's belt.
[workorders]>get my slickstone
You get a polished alabaster slickstone from inside your haversack.
[workorders]>give clerk
A clerk says, "There isn't a scratch on that, so there's nothing to repair."
[workorders]>put my slickstone in my haversack
You put your slickstone in your haversack.
[workorders]>untie my pointed awl from my outfitter's belt
You remove a steel pointed awl from your outfitter's belt. Binu goes west.
[workorders]>give clerk
A clerk says, "There isn't a scratch on that, so there's nothing to repair."
[workorders]>tie my pointed awl to my outfitter's belt
You attach a steel pointed awl to your outfitter's belt.
[workorders]>get my stamp
You get a basic steel stamp from inside your haversack.
[workorders]>give clerk
A clerk looks over the stamp and says, "That will cost 16 Kronars to repair. Just give it to me again if you want, and I'll have it ready in 2 roisaen."
[workorders]>give clerk
You hand the clerk 16 Kronars and he gives you back a repair ticket. clerk says, "I should be having that done for you in about 2 roisaen. Don't lose this ticket! You must have it to reclaim your stamp."
[workorders]>stow ticket
You put your ticket in your leather pack.
[workorders]>untie my knitting needle from my outfitter's belt
Untie what?
[workorders]>get my knitting needle
What were you referring to?
[workorders: You seem to be missing: knitting needle]
[hunting-buddy: STATUS EXECUTE go2 2391]
This ends up with two clerk repair tickets in pack. So next time when workorders is called:
[sew]>untie my knitting needle from my outfitter's belt
Untie what?
[sew]>get my knitting needle
What were you referring to?
[sew: You seem to be missing: knitting needle]
--- Lich: sew has exited.