Jump to content

Elin:解析/基本ステータス: Difference between revisions

Update page and start translation
(Elin:Code Analysis/Basicsの日本語ページを作成。(ページ確保のみで、中身は未翻訳))
 
(Update page and start translation)
Line 13: Line 13:
The Maximum HP is determined by the following factors:
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)
* 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.
** 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 and 10 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.
*The HP base is further modified by Character Life (Evalue(60) / 100
* The HP base is further modified by Character Life (Evalue(60) / 100
*Character Faction modifier:
* Character Faction modifier:
**If character is in PC faction, the HP is modified by 100%
** 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 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%.
*** 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.
** 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==
==Maximum MP==
Line 36: Line 36:
The Maximum MP is determined by the following factors:
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)
* 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.
** 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)
** 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.
* 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).
** 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.
** 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
* 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 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%.
*** 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.
** 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 Stamina==
==Maximum Stamina==
Line 73: Line 73:


The maximum stamina of chracters is determined by the following:
The maximum stamina of chracters is determined by the following:
*Each point of base endurance increase the base stamina number by 1.
* Each point of base endurance increase the base number by 1.
*('''Need confirmation''') For each skill a chracter have, increase this base stamina number by the level of that skill.
* For each skill a chracter have, increase this base number by the '''level of that skill'''.
*The base stamina number go through a CURVE function with (base, 30, 10, 60).
** For example, two handed lvl 50, then num += 50, cooking lvl 50, then additional += 50, and so on.
**This means, if the base stamina is less than 30, return that value.
** '''The main defining factor of Stamina maximum is the total level of skills you have, not END.'''
**For each point of additional base stamina, the return is diminished.
* The base number go through a CURVE function with (base, 30, 10, 60).
**Base stamina 60, output is 44.8
** This means, if the base number is less than 30, return that value.
**Base stamina 90, output is 53.36
** For each point of additional base num, the return is diminished.
**Base stamina 300, output is 77.9
** Base num 60, output is 44.8
*The output number is increased by 15, then modified by the vigor(Evalue(62))% of player.
** Base num 90, output is 53.36
** Base num 300, output is 77.9
** Base num 1500, output is 110.0
** Base num 15000, output is 195.6
** There is no maximum stamina, however it becomes '''much harder to raise''' after about 120.
* The output number is increased by 15, then modified by the vigor(Evalue(62))% of player.
** So a player with 1500 of total skill levels will have a base stamina about 125, modified by the vigor of said character.
** A new player with 20 END and 40 total skill level will only have 60 maximum stamina.
 
==Carryweight Limit==
==Carryweight Limit==
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
Line 88: Line 96:


The carryweight limit of characters is determined by the following factors:
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.)
* 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%.
* If the character is golden knight, then this is further modified by 500%.
*A 45s base carry weight is added to the final result.
* A 45s base carry weight is added to the final result.
 
==Sanity==
There are many factors influencing the sanity of players. We pick the main ones in the code for analysis:
 
<syntaxhighlight lang="c#" line="1">
public void Cure(CureType type, int p = 100, BlessedState state = BlessedState.Normal)
{
bool flag = state == BlessedState.Blessed;
switch (type)
{
case CureType.Heal:
case CureType.Prayer:
CureCondition<ConFear>();
CureCondition<ConBlind>(2 * p / 100 + 5);
CureCondition<ConPoison>(5 * p / 100 + 5);
CureCondition<ConConfuse>(10 * p / 100 + 10);
CureCondition<ConDim>(p / 100 + 5);
CureCondition<ConBleed>(2 * p / 100 + 10);
if (flag)
{
SAN.Mod(-5);
}
break;
</syntaxhighlight>
* This is utilized when a player pray to god, and if the state of item used is "blessed", the character will have -5 Sanity value.
** This is pretty strange, considering that the action of praying to god is never an item and can never be assigned the "blessed" state, thus the code is unused.
 
<syntaxhighlight lang="c#" line="1">
case EffectId.RemedyJure:
TC.HealHP(1000000, HealSource.Magic);
TC.CureHost(CureType.Jure, power, state);
TC.Say("heal_jure", TC);
break;
    if (type == CureType.Jure)
{
SAN.Mod(-999);
</syntaxhighlight>
 
* This effect happens when you use the Healing feather (or Jure's pillow?) (Lay hand would be EffectId.JureHeal), and modify you Sanity by -999.
 
<syntaxhighlight lang="c#" line="1">
case Type.Dojin:
c.PlaySound("wow");
c.Say("book_decode", c, owner);
if (!c.IsPC)
{
c.Talk("wow");
}
switch (BookType)
{
case Type.Ero:
if (c.IsPC)
{
EClass.pc.SAN.Mod(-(EClass.rnd(5) + 1));
}
</syntaxhighlight>
 
* This effect happens when a PC reads strange book that is in the "Ero" type. The Sanity is modded with a random value from -1 to -5.
<syntaxhighlight lang="c#" line="1">
case 914:
flag2 = false;
if (EClass.rnd(3) != 0)
{
if (Chance(30 + eleP / 5, 100))
{
Chara.AddCondition<ConConfuse>(eleP);
}
}
else if (Chance(30 + eleP / 5, 100))
{
Chara.AddCondition<ConSleep>(eleP);
}
if (Chance(50, 100))
{
Chara.SAN.Mod(EClass.rnd(2));
}
break;
            ...
case 920:
flag2 = false;
if (Chance(5 + eleP / 25, 40))
{
Chara.AddCondition<ConBlind>(eleP / 2);
}
if (Chance(5 + eleP / 25, 40))
{
Chara.AddCondition<ConParalyze>(eleP / 2);
}
if (Chance(5 + eleP / 25, 40))
{
Chara.AddCondition<ConConfuse>(eleP / 2);
}
if (Chance(5 + eleP / 25, 40))
{
Chara.AddCondition<ConPoison>(eleP / 2);
}
if (Chance(5 + eleP / 25, 40))
{
Chara.AddCondition<ConSleep>(eleP / 2);
}
if (Chance(5 + eleP / 25, 40))
{
Chara.AddCondition<ConDim>(eleP / 2);
}
if (Chance(30 + eleP / 10, 100))
{
Chara.SAN.Mod(EClass.rnd(2));
}
break;
            ...
        bool Chance(int a, int max)
{
if (dmg > 0 || (origin != null && origin.HasElement(1345)))
{
return Mathf.Min(a, max) > EClass.rnd(100);
}
return false;
}
</syntaxhighlight>
 
* There are two types of attacks that specifically increase the Sanity value, this is observed to be the main way people get Sanity value in daily life.
* Element ID 914 or Mind Attack will have a 50% chance of increase your Sanity value by 0 - 1 for every attack received.
* Element ID 920 or Chaos Attack will have a chance of increase your Sanity value by 0 - 1 for every attack received. The chance depend on the Element power of the attack, and will range from 30% to 100%.
* A few other effects exist as a fixed increase in Sanity value. Doing the f thing will give Sanity value +10. Eating Human flesh (canniblism) gives a fixed Sanity value +15.
 


[[Category:JA]]
[[Category:JA]]
[[Category:Elin Spoiler]]
[[Category:Elin Spoiler]]
367

edits