Phase 2: the remaining fifteen skills #78

Open
opened 2026-07-31 16:13:54 +00:00 by sickday · 0 comments
Owner

Mostly tables once the loop, the contract and the bank exist. Sixteen
non-combat skills at 2017-07
, and the sister project has fourteen of them
already written to behaviour we want.

Gathering — Mining, Fishing, Firemaking, Cooking. Firemaking is the only
one here that adds a mechanism rather than a table: a temporary loc spawned
on a tile
, which the zone layer supports and nothing has asked it for yet.

Artisan and the rest — Smithing, Crafting, Fletching, Herblore,
Runecrafting, Thieving, Farming, Agility. Two of these finally give a caller to
something already built, tested and idle, which closes two open issues as a
side effect rather than as work:

  • Agility calls World.Player.force_move/5#62. Wired to the client
    since Tier 2, driven end to end by a test, and never called in production.
  • Herblore calls Energy.gain/2 and Energy.stamina/1#63. The orange
    orb has never appeared in play because nothing in the world eats or drinks.

Shops belong in this phase, because a skill needs a tool source and a sink.
Trade does not — it belongs with bots, which is what makes it load-bearing.

Construction and Hunter have no porting source at all. Neither exists in
the sister project nor in the reference implementation it drew from, so both
are built rather than ported and should not be scheduled as though a table
exists. Construction is worth separating for a second reason: it is the first
content that needs instances
, which are built here and are not built there,
so it is the one item in this phase where the porting direction reverses
entirely.

Two porting rules apply to every table in this phase. Ids are 468 and must go
through the Phase 0 map.
And the stat-shaped tables from the sister project
are a later-era import rather than era-correct data — take those numbers from
the wiki, with the date check, not from the port.

Done when a fresh account can pick any of the sixteen and train it.

Mostly tables once the loop, the contract and the bank exist. **Sixteen non-combat skills at 2017-07**, and the sister project has fourteen of them already written to behaviour we want. **Gathering** — Mining, Fishing, Firemaking, Cooking. Firemaking is the only one here that adds a mechanism rather than a table: a **temporary loc spawned on a tile**, which the zone layer supports and nothing has asked it for yet. **Artisan and the rest** — Smithing, Crafting, Fletching, Herblore, Runecrafting, Thieving, Farming, Agility. Two of these finally give a caller to something already built, tested and idle, which closes two open issues as a side effect rather than as work: - **Agility calls `World.Player.force_move/5`** — #62. Wired to the client since Tier 2, driven end to end by a test, and never called in production. - **Herblore calls `Energy.gain/2` and `Energy.stamina/1`** — #63. The orange orb has never appeared in play because nothing in the world eats or drinks. **Shops belong in this phase**, because a skill needs a tool source and a sink. Trade does not — it belongs with bots, which is what makes it load-bearing. **Construction and Hunter have no porting source at all.** Neither exists in the sister project nor in the reference implementation it drew from, so both are built rather than ported and should not be scheduled as though a table exists. Construction is worth separating for a second reason: **it is the first content that needs instances**, which are built here and are not built there, so it is the one item in this phase where the porting direction reverses entirely. Two porting rules apply to every table in this phase. **Ids are 468 and must go through the Phase 0 map.** And the stat-shaped tables from the sister project are a later-era import rather than era-correct data — take those numbers from the wiki, with the date check, not from the port. **Done when** a fresh account can pick any of the sixteen and train it.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Revenant/Server#78
No description provided.