Saved revision 3. Current page.
Yield, timing and experience
Herbs normally yield 1–3 units.
| Herb rarity | Timing needed | Clean-pick XP |
|---|---|---|
| Common | None | No |
| Uncommon | Hold for 2.5 s | Yes, if clean |
| Rare | Hold for 2.5 s | Yes, if clean |
Before attribute modifiers:
| Picking limit | Value |
|---|---|
| Maximum turning | 3° |
| Maximum movement | 0.25 m |
| Rain | 20% less turning tolerance |
| Botanist | 50% more turning tolerance |
| Bruised yield | 1 fewer unit, with a minimum of 1 |
Picking XP follows your current profession rank, regardless of the herb's rarity. This makes common herbs useful all the way to Master. Common or bruised picks earn Base XP. Only a clean uncommon/rare pick earns the Clean XP column; Apothecary's Friend guarantees that clean result for those picks.
| Rank | Tier used for XP | Base XP | Clean XP |
|---|---|---|---|
| 0 | 1 | 15 | 22 |
| 10 | 2 | 30 | 45 |
| 25 | 3 | 45 | 67 |
| 40 | 4 | 60 | 90 |
| 55 | 5 | 75 | 112 |
| 70 | 6 | 90 | 135 |
| 90 | 7 | 105 | 157 |
| Basket timing rule | Value |
|---|---|
| Finds per search | 3 |
| Gap between glints | 0.4 s |
| Glint duration | 1 s |
| Glint duration at Master | 1.4 s |
Glint durations are before attribute modifiers.
| Finds collected | Extra food | XP result |
|---|---|---|
| 2 | +25% | Normal search |
| 3 | +50% | Clean search |
Basket XP stays at tier 1:
| Herbalism rank | Normal XP | Clean XP |
|---|---|---|
| Below 40 | 15 | 22 |
| 40 or higher | 3 | 5 |
Seasonal bonuses change yield rather than the XP tier.
Sources (18)
- src/net/professionLaw.js
- src/net/nodeLaw.js
- src/net/tideLaw.js
- src/net/marksLaw.js
- src/net/recipeLaw.js
- src/net/alchemyLaw.js
- src/net/bagLaw.js
- src/systems/herbAct.js
- src/scenes/herbHost.js
- src/scenes/gatherHost.js
- src/systems/foraging/foragingCore.js
- src/ui/nodeMarks.js
- src/ui/professions/profPages.js
- bible/06-Systems/Professions-Arc.md
- bible/06-Systems/Foraging.md
- src/net/marketLaw.js
- src/net/writLaw.js
- server-account/src/alchemy.js