367
edits
Sakumashiki (talk | contribs) (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 | * Each point of base endurance increase the base number by 1. | ||
* | * For each skill a chracter have, increase this base number by the '''level of that skill'''. | ||
*The base | ** For example, two handed lvl 50, then num += 50, cooking lvl 50, then additional += 50, and so on. | ||
**This means, if the base | ** '''The main defining factor of Stamina maximum is the total level of skills you have, not END.''' | ||
**For each point of additional base | * The base number go through a CURVE function with (base, 30, 10, 60). | ||
**Base | ** This means, if the base number is less than 30, return that value. | ||
**Base | ** For each point of additional base num, the return is diminished. | ||
**Base | ** 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]] |
edits