Elin:Code Analysis/Mining

From Ylvapedia
Revision as of 02:53, 8 December 2024 by Inno (talk | contribs) (Created page with "==Calculating required mining level== Mining level requirement is calculated as follows:<ref>Elin-Decompiled, BaseTaskHarvest.cs, [https://github.com/Elin-Modding-Resources/Elin-Decompiled/blob/f6fce50f1bd816cda6b3d6c52d4ea48c2279809c/Elin/BaseTaskHarvest.cs#L115 Github].</ref> * Take the mined material's hardness from Elin:Materials and denote it ''matHardness''. * Take the mined object's ''reqHarvest'', ''hp'' and ''tagHard'' from the following table: {| class="wik...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Calculating required mining level

Mining level requirement is calculated as follows:[1]

  • Take the mined material's hardness from Elin:Materials and denote it matHardness.
  • Take the mined object's reqHarvest, hp and tagHard from the following table:
objs.csv
Mined object reqHarvest hp tagHard
crystal 20 100 1
ore 10 150 1
gem ore 20 150 1
big rock 10 100 1
salt rock 5 100 1
stalagmite 5 100 1
huge rock 50 100 3
sulfur rock 5 100 1
  • Calculate required effective hardness using the formula reqHardness = floor(matHardness * hp / 100 * tagHard + reqHarvest).
  • The player's effective hardness is given by floor(toolHardness + miningSkill * 3 / 2), where toolHardness is the hardness of the player's pickaxe and miningSkill is the player's mining skill. Hence, the skill requirement can be calculated by miningSkill ≥ 2 / 3 * (reqHardness - toolHardness).
    • To be precise, the mined object's category and mining pick's enchant state and bless state also affect this calculation, which is omitted here for simplicity.
  1. Elin-Decompiled, BaseTaskHarvest.cs, Github.