feat: farming-and-walk-fix #73

Merged
sickday merged 7 commits from feat/farming-and-walk-fix into main 2026-06-29 20:32:51 +00:00
Owner

Updates to #5

Updates to #5
sickday added this to the v1 milestone 2026-06-29 13:47:32 +00:00
sickday self-assigned this 2026-06-29 13:47:32 +00:00
Built the farming skill from the content stub. Crops grow on wall-clock
time so they keep going while you're offline — no timers, the stage is
just reconstructed from how long ago you planted. Patches render through
per-patch varbits I decoded out of the 468 cache (the morph ladders match
2009scape's value indices exactly, so the seed tables port straight over).

Allotments/herbs/flowers/hops/cactus/mushroom/belladonna do the full
plant -> grow -> harvest loop; trees/fruit/bush/calquat plant, grow and
check-health for the payout XP. Raking, watering, compost/supercompost,
plant cure and spade dig-up all wired in.

Three modules: Crop (pure growth/disease core), Visual (varbit->varp
morphism, recompute-the-whole-varp since 468 has no set-varbit packet),
and Farming (the effectful shell). State keyed by varbit, persisted in a
new profile :map column.

Deferred: weed regrowth over time, tree-log chopping / fruit picking
after check-health, gardener crop protection, the compost-bin minigame.

All green: compile -Werror, credo --strict, 1548 tests.
feat: Farming WIP + walk to loc anim fix
All checks were successful
ci / test (pull_request) Successful in 31s
ci / image (pull_request) Has been skipped
c585774d4f
sickday added this to the v1 project 2026-06-29 13:47:32 +00:00
feat: farming wip
Some checks failed
ci / test (pull_request) Has been cancelled
ci / image (pull_request) Has been cancelled
df327f9a89
Fill a bin with 15 compostable items, close it, let it rot offline, open it, then scoop buckets of compost — or supercompost when every item is supercompostable. Closed bin renders 0x40 and a ready bin 15/47; those values come straight from the reference's updateBit, since the morph ladder's Close/Open labels are inverted from the actual lid state.

XP now lands on making compost (4.5/8.5 per bucket) rather than applying it to a patch (which gives none, matching live). New farming_compost_bins column persists bins so they keep rotting while logged out.
New sub-menu groups every farming patch (allotments/herbs/flowers + compost bins, trees & fruit trees, bushes & hops, and the cactus/belladonna/mushroom/calquat specials) so you can jump straight to any patch. Tiles pulled from the 468 map. Sub-menu pages return to the Farming menu instead of the top-level picker.
Allotments/herbs/hops/cactus now roll the OSRS 'chance to save a harvest life' on each pick instead of yielding a flat 3-5, so a potato patch averages ~25, hops ~18, cactus ~9, herbs ~3-5 (and more with compost). Uses the wiki formula 1 + floor(low*(99-F)/98 + high*(F-1)/98 + 0.5) over 256, with authentic per-herb CTS values; allotment/hops/cactus use level-independent CTS tuned to the wiki's reported averages since their exact values aren't released.

Mushroom and belladonna now give their fixed yields (6 and 1). Magic secateurs add the 10% save boost when held.
feat(farming): chop down grown trees for logs (#5)
All checks were successful
ci / test (pull_request) Successful in 37s
ci / image (pull_request) Has been skipped
c966c9e963
After check-health, a tree patch now advances to the cache's chop-down morph (grown+1) and offers chopping: each chop hands over a log of the tree's type and grants Woodcutting XP (oak→willow→...→magic logs at 37.5–250 xp), needs an axe + the WC level. A per-chop roll eventually fells the tree to a stump (grown+2 morph) that you dig up with a spade to clear and replant.

Fixes 'I can't chop the tree, it just shows check-health' — check-health wasn't advancing the morph, and chopping wasn't wired. Adds a stump? patch flag (persisted).
sickday deleted branch feat/farming-and-walk-fix 2026-06-29 20:32:51 +00:00
sickday referenced this pull request from a commit 2026-06-29 20:32:53 +00:00
sickday referenced this pull request from a commit 2026-06-30 20:51:52 +00:00
Sign in to join this conversation.
No description provided.