Mabinogi World Wiki is brought to you by Coty C., 808idiotz, our other patrons, and contributors like you!!
Want to make the wiki better? Contribute towards getting larger projects done on our Patreon!
User:Starshine321/SkillCalculator
totalSkillUsesUsed:(playerSkillUse * activeTalentUseMultiplier * homesteadUseMultiplier * royalUseMultipler * completeUseMultiplier * skillUseMultiplier * prismUseMultiplier * miscUseMultipler * miscUseMultipler2 * foodTruckUseMultipler ) skillEXPPerUse:(baseEXP * tuanEXPMultiplier * (1 + (skillEXPReforges * 0.1)) * ( 1 + floor(currentLevel/10)/2 ))
Skill Count Multipliers | |||||
---|---|---|---|---|---|
Is skill in your active talent? |
Homestead Research Multipliers | ||||
name=activeTalentUseMultiplier;list=No:1,Yes:2;default= | name=homesteadUseMultiplier;list=None:1, x1.2:1.2, x1.5:1.5;default= | ||||
Royal EXP active |
Complete EXP Active |
Skill-specific EXP x2 Active | |||
name=royalUseMultipler;list=No:1,Yes:3;default= | name=completeUseMultiplier;list=No:1,Yes:2;default= | name=skillUseMultiplier;list=No:1,Yes:2;default= | |||
Blue Prism EXP x2 Active |
Some other x2 multiplier? (master plan, etc) |
Yet another x2 multiplier??? (additional x2 dan training, returned title, etc) | |||
name=prismUseMultiplier;list=No:1,Yes:2;default= | name=miscUseMultipler;list=No:1,Yes:2;default= | name=miscUseMultipler2;list=No:1,Yes:2;default= | |||
Flying Food Truck summoned? Select "No" if not training cooking skill | |||||
name=foodTruckUseMultipler;list=No:1,Yes:1;default=
| |||||
Skill EXP Modifiers | |||||
Current Level Set to 0 if not training skill within talent Set to 0 if not at least lv100 |
Skill Base EXP without reforges equipped |
Skill EXP Reforge Level | |||
name=currentLevel;default=0;min=0;max=200 | name=baseEXP;default=0;min=0; | name=skillEXPReforges;default=0;min=0; | |||
Tuan Summoned? Select "No" if not training music skill | |||||
name=tuanEXPMultiplier;list=No:1,Yes:2;default= | |||||
Results | |||||
Number of skill requirement uses (see notes below for an explanation of what this number means) |
# of Total task requirements checked off from N = PlayerUses number of skill uses |
Expected resulting EXP from 1 actual use This value ignores the previous two columns' values | |||
PlayerUses = name=playerSkillUse;default=1;min=1; | PlayerUses * Multipliers selected from above = formula=totalSkillUsesUsed; |
EXP gained in 1 skill use = formula=skillEXPPerUse; | |||
Total Count Multipliers * EXP gained from 1 count Assuming there's sufficient "room" in the remaining skill training requirements to benefit from all of the multipliers | |||||
formula=totalSkillUsesUsed; * formula=skillEXPPerUse; |
- Examples of skills that have multiple "uses" even with only one skill cast:
- It'll usually just be 1, but this is also the only open-ended selection for the skill count modifiers, and if you know exactly how many skill requirements you can get per skill use (ie if you're in a party with 4 players and use Party Healing, you know it'll be 4 "uses"), this could help see the final output.
- This doesn't serve as an actual codified multiplier , you won't see it in the system chat/game UI like the other multipliers
See Also
This calculator obviously doesn't include any tips for how to train the skill itself, but there are several user guides, as well as training tips on the individual skill pages, that would be good to keep on hand
- For another guide on multipliers and how they interact with one another, I'd recommend Erorserv's one User:Erorserv/Talent_Training_Guide
todo list
- verbiage :(
- look into any missing multipliers
- Chef's Hat?
- alban training stones?
- depending on how many temporary x2 multipliers there can be, maybe just have that as a freeform text spot instead of 2 checkboxes
- does royal exp (x3) potion actually stack on top of everything else?
- it does seem to stack with complete at least :thinky:
- if not, figure out conditionals surrounding it :(
- maybe the following table layout would be better... tbd...
[base count + count multipliers] [skill base exp + exp multipliers] [results]
- fix math on talent level exp multiplier
- some sort of conditional would be nice, to remove the need for the "set to 0" instructions
Explanation of Conditional Talent Multiplier math
- calculator currently works fine with values 100-200 inclusive, but would be misleading if 0 < currentLevel < 100, or if currentLevel > 0 and "No" is selected for the earlier "skill is in talent" box
- tentative substitute to accept any number 0-200 (instead of just 100-200) is the following, but this is also causing the page to fail to load :s
1 + floor((max((currentLevel*(activeTalentUseMultiplier/2))-99, 0) ? currentlevel : 0)/10)/2
activeTalentUseMultiplier/2
is a boolean, becoming 1 if "skill is in talent" is set to yes, or 0 if it's set to no(currentLevel*(activeTalentUseMultiplier/2))
becomes either just currentLevel if previous boolean is true (aka 1), or becomes 0 if previous boolean is false (aka 0)(max((currentLevel*activeTalentUseMultiplier/2)-99, 0) ? currentlevel : 0
because there are no equalities for the ternary operator, this was the only other thing I could think of. Basically checking "If skill is in talent, is currentLevel at least 100?", if it is, then return currentLevel, aka a non-zero number, aka "true" for the ternary. If currentLevel < 100, then we're treating the resulting expression as a 0, causing the ternary to be false.- If skill is in talent (activeTalentUseMultiplier = 2) and level is 110, resulting value of this expression is 110.
- If skill is in talent (activeTalentUseMultiplier = 2) and level is 90, resulting value of this expression is 0.
- If skill is not in talent (activeTalentUseMultiplier = 0) and level is 110, resulting value of this expression is 0.
1 + floor(([previous result])/10)/2
is the math for the talent multiplier- if previous result = 115 (aka current level is 115 and skill is in talent), then this expression evaluates to a multiplier of x1.55
- tentative substitute to accept any number 0-200 (instead of just 100-200) is the following, but this is also causing the page to fail to load :s
1 + floor((115)/10)/2 1 + floor(11.5)/2 1 + 11/2 1 + 5.5 1.55