Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign upFor item recipes, merge skill_used into skills_required #9939
Comments
narc0tiq
added
the
<Enhancement / Feature>
label
Nov 9, 2014
This comment has been minimized.
This comment has been minimized.
|
Issue that I "know", but could be wrong about: The primary is the only skill rolled against for success/failure, and exercised by making the recipe. The secondaries currently just gatekeep. Therefore, we'd have to overhaul the various formulas to point out which/all skills that get rolled against, etc. |
This comment has been minimized.
This comment has been minimized.
|
I figured it'd be something like that, thank you for the clarification. As I said, handle with care. |
This comment has been minimized.
This comment has been minimized.
|
I'm currently working a bit on the recipe system(I want to generalize it to be usable for other kinds of actions, such as vehicles, construction, possibly disassembly), and this specific issue is a change I want to make. As discussed with narc on IRC, I believe I will opt for a weighted average. E.g. the currently primary skill would be Additionally, I believe that since skillbooks already employ a somewhat similar system, and few places in code also have difficulty/cap value split, I will split skill requirements into the required minimum and the optimal value at which your success rate will be, well, close to what it is now. |
This comment has been minimized.
This comment has been minimized.
|
That's not the kind of weighted average I said. Weight by the skill level On Thu, Dec 18, 2014 at 4:54 PM, Asmageddon notifications@github.com
|
This comment has been minimized.
This comment has been minimized.
|
Oh, the 1.0 and 0.5 weights were for loading data that specifies primary/secondary skills. You convinced me on IRC to drop explicit weights, so they don't matter anymore. |
This comment has been minimized.
This comment has been minimized.
|
Actually, after extensive pondering, I believe that I will settle on a different system, rather than computing a weighted average for the success chance(or dice rolls, as that seems to be how it's implemented internally), I will test against each skill individually, after adjusting the probability chance to That said, it seems like the current system uses dice to achieve a normal distribution effect, e.g. rather than 30/50/70%, the actual probabilities are likely closer to 15/50/85%. That's easily emulable with simple math, though the exact formula won't be the same. Additionally, knowing the actual percentages will let me display some sort of difficulty rating, such as "Impossible", "Hard", "Easy", "Trivial" |
This comment has been minimized.
This comment has been minimized.
|
See also #11052. |
This comment has been minimized.
This comment has been minimized.
|
I have an unmaintained branch that changes some of this stuff, but I've dropped working on it because mental health issues. I've got JSON loading of a format similar to the one presented in #11052 mostly done. |
This comment has been minimized.
This comment has been minimized.
|
Closing this due to years of stalled discussion. |
narc0tiq commentedNov 9, 2014
It used to be that all recipes had a single primary skill requirement (still present as
skill_used+difficulty) and a single optional secondary skill requirement. The secondary skill checks have since moved into askills_requiredJSON array which explicitly supports listing multiple named skills and levels (e.g. as"skills_required": [[ "survival", 1 ], [ "throw", 2 ]]from the javelin recipe).As the support now exists for an arbitrary number of skills being listed as
skills_required, we should consider merging the "primary" skill into the list of skills required, which will make things easier for folks reading and writing recipes. This should not otherwise alter recipe behaviour or availability (handle with care).Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.