Difference between revisions of "Scaling"

From Tales of Maj'Eyal
Jump to: navigation, search
(Stubbed combatScale)
(Improved cTS section and page intro)
Line 2: Line 2:
  
 
Example: This skill has a range of 5-10 <sup>[[Scaling#cTS|cTS]]</sup>
 
Example: This skill has a range of 5-10 <sup>[[Scaling#cTS|cTS]]</sup>
 +
 +
For consistency with the Lua code, this page will use '''''x''''' to denote the value of a talent parameter and '''''t''''' the talent level.
  
 
<span id="cS"></span>
 
<span id="cS"></span>
Line 13: Line 15:
 
==combatTalentScale==
 
==combatTalentScale==
  
Given a range of values x<sub>1</sub> to x<sub>2</sub>, attempt to fit a function of the form
+
;Example of talent description
 
+
:Talent parameter is '''''x<sub>1</sub>'''''-'''''x<sub>2</sub>'''''<sup>[[Scaling#cTS|cTS]]</sup>
x(t) = m * (t + shift)<sup>power</sup> + b + add
+
 
+
using the two points x(t<sub>1</sub>) = x<sub>1</sub> and x(t<sub>2</sub>) = x<sub>2</sub>.
+
 
+
Default values are:
+
 
+
power =0.5
+
 
+
shift = 0
+
 
+
add = 0
+
 
+
t<sub>1</sub>=1
+
 
+
t<sub>2</sub>=5
+
  
Example: Using default values with  x(t<sub>1</sub>) = 5 and x(t<sub>2</sub>) = 10 leads to
+
;What the game actually does
 +
:Using the function '''''x(t) = m * (t + shift) <sup>power</sup> + b + add''''',
 +
:find the best fit to the two points '''''x(&thinsp;t<sub>1 </sub>)''''' = '''''x<sub>1</sub>''''' and '''''x(&thinsp;t<sub>2 </sub>)''''' = '''''x<sub>2</sub>''''',
 +
:then return the value of the talent parameter '''''x(t)''''' with the fitted function using the actual talent level '''''t''''' of the character
  
x(t) = 4.04 * t<sup>0.5</sup> + 0.955
+
;Default values for the fit function are
 +
:'''''power = 0.5'''''
 +
:'''''shift = 0'''''
 +
:'''''add = 0'''''
 +
:'''''t<sub>1</sub> = 1'''''
 +
:'''''t<sub>2</sub> = 5'''''
  
where it is assumed that t represents talent level, and x(t) the scaled outcome of some talent parameter of interest.
+
;Example of calculation
 +
: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
 +
:'''''x(t) = 4.045 * t <sup>0.5</sup> + 0.955'''''
 +
:which would return the following values for the talent's range
 +
:{|class = "wikitable"
 +
!Talent Level ''t'' !!Range ''x(t)''
 +
|-
 +
|1||5
 +
|-
 +
|2||6.68
 +
|-
 +
|3||7.96
 +
|-
 +
|4||9.05
 +
|-
 +
|5||10
 +
|}
 +
:In cases such as this where non-integer values are not meaningful, they are generally rounded down to the nearest integer instead.
  
 
<span id="cTWD"></span>
 
<span id="cTWD"></span>
 
==combatTalentWeaponDamage==
 
==combatTalentWeaponDamage==

Revision as of 08:00, 24 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 denoted on each talent page with a superscripted link to this article for further details.

Example: This skill has a range of 5-10 cTS

For consistency with the Lua code, this page will use x to denote the value of a talent parameter and t the talent level.

combatScale

combatTalentLimit

combatTalentScale

Example of talent description
Talent parameter is x1-x2cTS
What the game actually does
Using the function x(t) = m * (t + shift) power + b + add,
find the best fit to the two points x( t1 ) = x1 and x( t2 ) = x2,
then return the value of the talent parameter x(t) with the fitted function using the actual talent level t of the character
Default values for the fit function are
power = 0.5
shift = 0
add = 0
t1 = 1
t2 = 5
Example of calculation
If the description of a talent is: This skill has a range of 5-10 cTS
Then the game will use default values to produce the fit function
x(t) = 4.045 * t 0.5 + 0.955
which would return the following values for the talent's range
Talent Level t Range x(t)
1 5
2 6.68
3 7.96
4 9.05
5 10
In cases such as this where non-integer values are not meaningful, they are generally rounded down to the nearest integer instead.

combatTalentWeaponDamage