Difference between revisions of "Scaling"
(→(cSS) combatStatScale) |
(Set combatScale as archetype for combatStatScale and combatTalentScale and adjusted notation) |
||
Line 1: | Line 1: | ||
This page will list some of the scaling functions that are frequently used in game to calculate talent parameters. The sections below are named after the actual function names used in the game's Lua files. The goal here is to provide a very basic understanding of how various talent parameters are scaled so that talent pages do not need to be filled with a plethora of X's. Instead, the actual range of values can be displayed on each talent page with a footnote linking to this article for further details. | This page will list some of the scaling functions that are frequently used in game to calculate talent parameters. The sections below are named after the actual function names used in the game's Lua files. The goal here is to provide a very basic understanding of how various talent parameters are scaled so that talent pages do not need to be filled with a plethora of X's. Instead, the actual range of values can be displayed on each talent page with a footnote linking to this article for further details. | ||
− | |||
− | |||
==(cS) combatScale== | ==(cS) combatScale== | ||
<span id="cS"></span> | <span id="cS"></span> | ||
− | This function is | + | ''This function is the archetype for both combatStatScale and combatTalentScale.'' |
+ | |||
+ | ;Example of talent description | ||
+ | :The value is '''''y<sub>low</sub>''''' to '''''y<sub>high</sub>''''' as the parameter varies from '''''x<sub>low</sub>''''' to '''''x<sub>high</sub>''''' <sup>[[Scaling#cS|cS]]</sup> | ||
+ | |||
+ | ;What the talent description means | ||
+ | :The value will be '''''y<sub>low</sub>''''' when the parameter is '''''x<sub>low</sub>''''', and '''''y<sub>high</sub>''''' when the parameter is '''''x<sub>high</sub>''''', with some diminishing returns. | ||
+ | |||
+ | ;What the game actually does | ||
+ | :Using the function '''''y(x) = m * (t + shift) <sup>power</sup> + b + add''''', | ||
+ | :find the values of '''''m''''' and '''''b''''' that produce the best fit to the two points '''''y( x<sub>low </sub>)''''' = '''''y<sub>low</sub>''''' and '''''y( x<sub>high </sub>)''''' = '''''y<sub>high</sub>''''', | ||
+ | :then return the value '''''y(x)''''' with the fitted function given the actual parameter '''''x''''' of the character | ||
+ | |||
+ | ;Default values for the fit parameters are | ||
+ | :'''''power = 0.5''''' | ||
+ | :'''''shift = 0''''' | ||
+ | :'''''add = 0''''' | ||
==(cSL) combatStatLimit== | ==(cSL) combatStatLimit== | ||
Line 14: | Line 28: | ||
<span id="cSS"></span> | <span id="cSS"></span> | ||
− | This function is almost identical to | + | ''This function is almost identical to combatScale except that it uses '''''x<sub>low</sub> = 10''''' and '''''x<sub>high</sub> = 100''''' as default values to represent the stat that the scaling is based on. Prodigies will typically use '''''x<sub>low</sub> = 50''''' instead.'' |
==(cTL) combatTalentLimit== | ==(cTL) combatTalentLimit== | ||
Line 23: | Line 37: | ||
;Example of talent description | ;Example of talent description | ||
− | :Talent deals ''''' | + | :Talent deals '''''d<sub>1</sub>'''''– '''''d<sub>2</sub>'''''<sup>[[Scaling#cTMD|cTMD]]</sup> damage. |
;What the talent description means | ;What the talent description means | ||
− | :The talent's damage will scale linearly with respect to both mind power and talent level, dealing ''''' | + | :The talent's damage will scale linearly with respect to both mind power and talent level, dealing '''''d<sub>2</sub>''''' damage at 100 mind power and talent level 5. |
:''(this is all you need to know in the majority of cases)'' | :''(this is all you need to know in the majority of cases)'' | ||
;What the game actually does | ;What the game actually does | ||
− | :The actual talent damage will be ''''' | + | :The actual talent damage will be '''''d<sub>2</sub>''''' * '''Mind Power Factor''' * '''Talent Factor''', where |
− | :'''Mind Power Factor''' = (''''' | + | :'''Mind Power Factor''' = ('''''d<sub>1</sub>''''' + '''Mind Power''') / ('''''d<sub>1</sub>''''' + 100), |
:'''Talent Factor''' = (0.2 + 0.8 * √ '''Talent Level''') / (0.2 + 0.8 * √ 5) | :'''Talent Factor''' = (0.2 + 0.8 * √ '''Talent Level''') / (0.2 + 0.8 * √ 5) | ||
==(cTS) combatTalentScale== | ==(cTS) combatTalentScale== | ||
<span id="cTS"></span> | <span id="cTS"></span> | ||
+ | |||
+ | ''This function is almost identical to combatScale except that is uses '''''x<sub>low</sub> = 1''''' and '''''x<sub>high</sub> = 5''''' as default values to represent the talent level that the scaling is based on. | ||
;Example of talent description | ;Example of talent description | ||
− | : | + | :Value is '''''y<sub>low</sub>'''''– '''''y<sub>high</sub>'''''<sup>[[Scaling#cTS|cTS]]</sup> |
;What the talent description means | ;What the talent description means | ||
− | :The talent parameter will have value ''''' | + | :The talent parameter will have value '''''y<sub>low</sub>''''' at talent level 1, and value '''''y<sub>high</sub>''''' at talent level 5, with some diminishing returns. |
:''(this is all you need to know in the majority of cases)'' | :''(this is all you need to know in the majority of cases)'' | ||
;What the game actually does | ;What the game actually does | ||
− | :Using the function ''''' | + | :Using the function '''''y(x) = m * (x + shift) <sup>power</sup> + b + add''''', |
− | :find the values of '''''m''''' and '''''b''''' that produce the best fit to the two points ''''' | + | :find the values of '''''m''''' and '''''b''''' that produce the best fit to the two points '''''y(1)''''' = '''''y<sub>low</sub>''''' and '''''y(5)''''' = '''''y<sub>high</sub>''''', |
− | :then return the value of | + | :then return the value of '''''y(x)''''' with the fitted function given the actual talent level '''''x''''' of the character |
;Default values for the fit parameters are | ;Default values for the fit parameters are | ||
Line 53: | Line 69: | ||
:'''''shift = 0''''' | :'''''shift = 0''''' | ||
:'''''add = 0''''' | :'''''add = 0''''' | ||
− | |||
− | |||
;Custom fit parameters should be noted on the talent page if possible | ;Custom fit parameters should be noted on the talent page if possible | ||
Line 63: | Line 77: | ||
:If the description of a talent is: This skill has a range of 5–10<sup>[[Scaling#cTS|cTS]]</sup> | :If the description of a talent is: This skill has a range of 5–10<sup>[[Scaling#cTS|cTS]]</sup> | ||
:then the game will use default values to produce the fit function | :then the game will use default values to produce the fit function | ||
− | :''''' | + | :'''''y(x) = 4.045 * x <sup>0.5</sup> + 0.955''''' |
:which would return the following values for the talent's range | :which would return the following values for the talent's range | ||
:{|class = "wikitable" | :{|class = "wikitable" | ||
− | !Talent Level '' | + | !Talent Level ''x'' !!Range ''y(x)'' |
|- | |- | ||
|1||5 | |1||5 |
Revision as of 08:28, 27 July 2014
This page will list some of the scaling functions that are frequently used in game to calculate talent parameters. The sections below are named after the actual function names used in the game's Lua files. The goal here is to provide a very basic understanding of how various talent parameters are scaled so that talent pages do not need to be filled with a plethora of X's. Instead, the actual range of values can be displayed on each talent page with a footnote linking to this article for further details.
Contents
[hide](cS) combatScale
This function is the archetype for both combatStatScale and combatTalentScale.
- Example of talent description
- The value is ylow to yhigh as the parameter varies from xlow to xhigh cS
- What the talent description means
- The value will be ylow when the parameter is xlow, and yhigh when the parameter is xhigh, with some diminishing returns.
- What the game actually does
- Using the function y(x) = m * (t + shift) power + b + add,
- find the values of m and b that produce the best fit to the two points y( xlow ) = ylow and y( xhigh ) = yhigh,
- then return the value y(x) with the fitted function given the actual parameter x of the character
- Default values for the fit parameters are
- power = 0.5
- shift = 0
- add = 0
(cSL) combatStatLimit
(cSS) combatStatScale
This function is almost identical to combatScale except that it uses xlow = 10 and xhigh = 100 as default values to represent the stat that the scaling is based on. Prodigies will typically use xlow = 50 instead.
(cTL) combatTalentLimit
(cTMD) combatTalentMindDamage
- Example of talent description
- Talent deals d1– d2cTMD damage.
- What the talent description means
- The talent's damage will scale linearly with respect to both mind power and talent level, dealing d2 damage at 100 mind power and talent level 5.
- (this is all you need to know in the majority of cases)
- What the game actually does
- The actual talent damage will be d2 * Mind Power Factor * Talent Factor, where
- Mind Power Factor = (d1 + Mind Power) / (d1 + 100),
- Talent Factor = (0.2 + 0.8 * √ Talent Level) / (0.2 + 0.8 * √ 5)
(cTS) combatTalentScale
This function is almost identical to combatScale except that is uses xlow = 1 and xhigh = 5 as default values to represent the talent level that the scaling is based on.
- Example of talent description
- Value is ylow– yhighcTS
- What the talent description means
- The talent parameter will have value ylow at talent level 1, and value yhigh at talent level 5, with some diminishing returns.
- (this is all you need to know in the majority of cases)
- What the game actually does
- Using the function y(x) = m * (x + shift) power + b + add,
- find the values of m and b that produce the best fit to the two points y(1) = ylow and y(5) = yhigh,
- then return the value of y(x) with the fitted function given the actual talent level x of the character
- Default values for the fit parameters are
- power = 0.5
- shift = 0
- add = 0
- Custom fit parameters should be noted on the talent page if possible
- If the talent description is: This skill has a range of 5–10cTS:0.75P
- then the fit parameter power = 0.75 will be used instead.
- Example of calculation
- If the description of a talent is: This skill has a range of 5–10cTS
- then the game will use default values to produce the fit function
- y(x) = 4.045 * x 0.5 + 0.955
- which would return the following values for the talent's range
Talent Level x Range y(x) 1 5 2 6.68 3 7.96 4 9.05 5 10 6 10.86 7 11.66
- In cases such as this where non-integer values are not meaningful, they are generally rounded down to the nearest integer instead.
(cTSD) combatTalentStatDamage
(cTWD) combatTalentWeaponDamage