Elin:Code Analysis/Mining

From Ylvapedia
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.