Level system configurable fields

- bAutoInitialize: Whether to automatically initialize the leveling system. Enabled by default. This is done automatically on the server's @BeginPlay call. If you require manual initialization (i.e., when you need to inspect and control the initialization order), you should disable this variable and manually call @InitializeLevelData .
- bUsingLevelingSystem: Whether to use the character leveling system. Enabled by default; enable it for objects that require a leveling structure.
- CurrentLevel: The current character level. (Defaults to 1)
- ExtToNextLevelCalMethod: The method for calculating experience points when leveling up.
- MathFormula0: Math formula 0 for calculations (Black Soul class level values)
Math1 (Level 2-12): y = 0.0068 * x * x * x - 0.06 * x * x + 17.1 * x + 639
Math2 (Level 13-): y = 0.02 * x * x * x + 3.06 * x * x + 105.6 * x - 895
Example: {x: 1, y: 656} {x: 5, y: 723.85} {x: 10, y: 810.8} {x: 12, y: 847.31} {x: 13, y: 1038.88} {x: 20, y: 2601}
{x: 30, y: 5567} {x: 40, y: 9505} {x: 50, y: 14535} {x: 60, y: 20777} {x: 70, y: 28351}
{x: 100, y: 60265} {x: 150, y: 151295} {x: 200, y: 302625}
- MathFormula1: Calculation using mathematical formula 1
Math: y = 0.15 * x * x + 399.6 * x - 189.35
Example: {x: 1, y: 210.4} {x: 5, y: 1812.4} {x: 10, y: 3821.65} {x: 20, y: 7862.65} {x: 30, y: 11933.65} {x: 40, y: 16034.65}
{x: 50, y: 20165.65}{x: 60, y: 20165.65} {x: 70, y: 28517.65} {x: 80, y: 32738.65}
{x: 100, y: 41270.65} {x: 150, y: 63125.65} {x: 200, y: 85730.65}
- MathFormula2: Calculation using Math Formula 2
Math1 (Level 2 to 12): y = 0.0068 * x * x * x - 0.06 * x * x + 17.1 * x + 639
Math2(13~70 Level): y = 0.02 * x * x * x + 3.06 * x * x + 105.6 * x - 895
Math3( 70~ Level ): y = 0.15 * x * x + 399.6 * x - 189.35
Example: {x: 1, y: 656} {x: 5, y: 723.85} {x: 10, y: 810.8} {x: 12, y: 847.31} {x: 13, y: 1038.88} {x: 20, y: 2601}
{x: 30, y: 5567} {x: 40, y: 9505} {x: 50, y: 14535} {x: 60, y: 20777} {x: 70, y: 28351}
{x: 80, y: 32738.65} {x: 100, y: 41270.65} {x: 150, y: 63125.65} {x: 200, y: 85730.65}
- MathFormula3: Calculate using MathFormula3
Math: y = 0.15 * x * x * x + 2.3608 * x * x + 399.6 * x - 189.35
Example: {x: 1, y: 212.7} {x: 5, y: 1886.4} {x: 10, y: 4192.73} {x: 20, y: 9946.97} {x: 30, y: 17973.37} {x: 40, y: 44442.65}
{x: 50, y: 106341.04} {x: 80, y: 123687.77.65} {x: 100, y: 213378.65} {x: 150, y: 619118.65} {x: 200, y: 1374162.65}
- UsingCurve: Calculations using a floating-point curve. If the curve is invalid, the MathFormula1 scheme is used.
- ExpForNextLevelCurve: (When ExtToNextLevelCalMethod == UsingCurve) The amount of experience required to level up for each level. If ExpForNextLevelCurve is invalid, the MathFormula1 scheme is used.
- ExpToGiveOnDeath: The amount of experience points the killer gains when the character dies. (This is the amount of experience points the player gains when they kill an AI unit.)
- ExpToGiveOnDeathByCurrentLevel: The amount of experience the killer gains per level per kill. This is only used if this character uses a leveling system. If invalid, ExpToGiveOnDeath is used by default.
Delegates
OnCharacterLevelUp
Delegate when a character levels up
OnCurrentExpValueChanged
Delegate when a character's current experience value changes
Saving and Loading