Elin:Code Analysis/Basics: Difference between revisions

From Ylvapedia
Jump to navigation Jump to search
(Created page with "==Maximum HP== <syntaxhighlight lang="c#" line="1"> public override int MaxHP => Mathf.Max(1, ((base.END * 2 + base.STR + base.WIL / 2) * Mathf.Min(base.LV, 25) / 25 + base.END + 10) * Evalue(60) / 100 * ((IsPCFaction ? 100 : (100 + (int)base.rarity * 300)) + (IsPC ? (EClass.player.lastEmptyAlly * Evalue(1646)) : 0)) / 100); </syntaxhighlight> The Maximum HP is determined by the following factors: * Level-based HP: Until level 25, the HP M...")
 
Line 10: Line 10:
** For example, a character grow from lvl 1 to 2, its HP will increase by base of *2.
** For example, a character grow from lvl 1 to 2, its HP will increase by base of *2.
** This level-base will apply to (2 * END + 1 * STR + 0.5 * WIL) * (4% * level)
** This level-base will apply to (2 * END + 1 * STR + 0.5 * WIL) * (4% * level)
* Another 1 * END base HP will be awarded independent of level.
* Another 1 * END base HP and 10 HP will be awarded independent of level.
** This means, at the start of the game (lvl 1), Endurance is the biggest factor (1.04) of HP Maximum far greater than STR (0.04) and WIL (0.02).
** This means, at the start of the game (lvl 1), Endurance is the biggest factor (1.04) of HP Maximum far greater than STR (0.04) and WIL (0.02).
** For character higher than level 25, Each point of END increase HP base by 3, STR by 1, and WIL by 0.5.
** For character higher than level 25, Each point of END increase HP base by 3, STR by 1, and WIL by 0.5.
Line 20: Line 20:
** The rarity of character is '''under investigation''', but probably apply to boss monsters in nefias.
** The rarity of character is '''under investigation''', but probably apply to boss monsters in nefias.
* This value is finally modified by the Lonelysoul feat if the character is PC.
* This value is finally modified by the Lonelysoul feat if the character is PC.
==Maximum MP==
<syntaxhighlight lang="c#" line="1">
public override int max => Mathf.Max(1, ((BaseStats.CC.MAG * 2 + BaseStats.CC.WIL + BaseStats.CC.LER / 2) * Mathf.Min(BaseStats.CC.LV, 25) / 25 + BaseStats.CC.MAG + 10)
                          * BaseStats.CC.Evalue(61) / 100 * ((BaseStats.CC.IsPCFaction ? 100 : (100 + (int)BaseStats.CC.rarity * 250))
                          + (BaseStats.CC.IsPC ? (EClass.player.lastEmptyAlly * BaseStats.CC.Evalue(1646)) : 0)) / 100);
</syntaxhighlight>
The Maximum MP is determined by the following factors:
* Level-based HP: Until level 25, the MP Maximum will be modified by the base number of level. After level 25, this value becomes constant. (4% per level)
** For example, a character grow from lvl 1 to 2, its HP will increase by base of *2.
** This level-base will apply to (2 * MAG + 1 * WIL + 0.5 * LER) * (4% * level)
* Another 1 * MAG base MP and 10 MP will be awarded independent of level.
** This means, at the start of the game (lvl 1), Magic is the biggest factor (1.04) of HP Maximum far greater than WIL (0.04) and LER (0.02).
** For character higher than level 25, Each point of MAG increase MP base by 3, WIL by 1, and LER by 0.5.
* The MP base is further modified by Character Mana (Evalue(61) / 100
** If character is not in PC faction, HP is further amplified by the rarity of character.
*** If normal, 100%; if superior, 350%; if legendary, 600%, if mythical, 850%, if artifact, 1100%.
** The rarity of character is '''under investigation''', but probably apply to boss monsters in nefias.
* This value is finally modified by the Lonelysoul feat if the character is PC.
==Carryweight Limit==
<syntaxhighlight lang="c#" line="1">
public override int WeightLimit => (base.STR * 500 + base.END * 250 + Evalue(207) * 2000) * ((!HasElement(1411)) ? 1 : 5) + 45000;
</syntaxhighlight>
The carryweight limit of characters is determined by the following factors:
* Base limit is 0.5 * STR + 0.25 * END + 2 * Weightlifting skill. (Each "s" in game is 1000 in code.)
* If the character is golden knight, then this is further modified by 500%.
* A 45s base carry weight is added to the final result.

Revision as of 09:37, 10 December 2024

Maximum HP

public override int MaxHP => Mathf.Max(1, ((base.END * 2 + base.STR + base.WIL / 2) * Mathf.Min(base.LV, 25) / 25 + base.END + 10) 
                             * Evalue(60) / 100 * ((IsPCFaction ? 100 : (100 + (int)base.rarity * 300)) + (IsPC ? (EClass.player.lastEmptyAlly * Evalue(1646)) : 0)) / 100);

The Maximum HP is determined by the following factors:

  • Level-based HP: Until level 25, the HP Maximum will be modified by the base number of level. After level 25, this value becomes constant. (4% per level)
    • For example, a character grow from lvl 1 to 2, its HP will increase by base of *2.
    • This level-base will apply to (2 * END + 1 * STR + 0.5 * WIL) * (4% * level)
  • Another 1 * END base HP and 10 HP will be awarded independent of level.
    • This means, at the start of the game (lvl 1), Endurance is the biggest factor (1.04) of HP Maximum far greater than STR (0.04) and WIL (0.02).
    • For character higher than level 25, Each point of END increase HP base by 3, STR by 1, and WIL by 0.5.
  • The HP base is further modified by Character Life (Evalue(60) / 100
  • Character Faction modifier:
    • If character is in PC faction, the HP is modified by 100%
    • If character is not in PC faction, HP is further amplified by the rarity of character.
      • If normal, 100%; if superior, 400%; if legendary, 700%, if mythical, 1000%, if artifact, 1300%.
    • The rarity of character is under investigation, but probably apply to boss monsters in nefias.
  • This value is finally modified by the Lonelysoul feat if the character is PC.

Maximum MP

public override int max => Mathf.Max(1, ((BaseStats.CC.MAG * 2 + BaseStats.CC.WIL + BaseStats.CC.LER / 2) * Mathf.Min(BaseStats.CC.LV, 25) / 25 + BaseStats.CC.MAG + 10) 
                           * BaseStats.CC.Evalue(61) / 100 * ((BaseStats.CC.IsPCFaction ? 100 : (100 + (int)BaseStats.CC.rarity * 250)) 
                           + (BaseStats.CC.IsPC ? (EClass.player.lastEmptyAlly * BaseStats.CC.Evalue(1646)) : 0)) / 100);

The Maximum MP is determined by the following factors:

  • Level-based HP: Until level 25, the MP Maximum will be modified by the base number of level. After level 25, this value becomes constant. (4% per level)
    • For example, a character grow from lvl 1 to 2, its HP will increase by base of *2.
    • This level-base will apply to (2 * MAG + 1 * WIL + 0.5 * LER) * (4% * level)
  • Another 1 * MAG base MP and 10 MP will be awarded independent of level.
    • This means, at the start of the game (lvl 1), Magic is the biggest factor (1.04) of HP Maximum far greater than WIL (0.04) and LER (0.02).
    • For character higher than level 25, Each point of MAG increase MP base by 3, WIL by 1, and LER by 0.5.
  • The MP base is further modified by Character Mana (Evalue(61) / 100
    • If character is not in PC faction, HP is further amplified by the rarity of character.
      • If normal, 100%; if superior, 350%; if legendary, 600%, if mythical, 850%, if artifact, 1100%.
    • The rarity of character is under investigation, but probably apply to boss monsters in nefias.
  • This value is finally modified by the Lonelysoul feat if the character is PC.

Carryweight Limit

public override int WeightLimit => (base.STR * 500 + base.END * 250 + Evalue(207) * 2000) * ((!HasElement(1411)) ? 1 : 5) + 45000;

The carryweight limit of characters is determined by the following factors:

  • Base limit is 0.5 * STR + 0.25 * END + 2 * Weightlifting skill. (Each "s" in game is 1000 in code.)
  • If the character is golden knight, then this is further modified by 500%.
  • A 45s base carry weight is added to the final result.