The game design document for Halvesper’s systems. It builds on 00-canon.md (binding), 01-world.md (lore, titans,
factions, class and branch names, the night cycle and the calendar), 02-atlas.md (regions, monsters,
bosses, dungeons, the raid) and 08-scale.md (the Sunline, Strides,
Dawnmarks, strata, the Deep, Omens, the density bar). 04-architecture.md owns
servers and netcode; 05-art-audio.md draws what
this document specifies; 10-operations.md owns the
first-time experience and retention targets; 07-decisions.md holds the
D-numbers cited here. Names come from 01 and 02 and are listed in 09-glossary.md; this document
owns mechanics and numbers.
Numbers here are launch targets. Every number that matters for pacing is checked by a bot (section 22.1); when a bot and this document disagree, tune the game and update the number here in the same PR.
Units. 1 sim unit (u) = 4 reference px. A
tile is a measuring unit of 8 u = 32 px
(Tiles.SIZE = 8); collision is footholds (04-architecture.md), not a
tile grid, and tiles appear here only as a length for ranges and radii.
The player body is 12 x 22 u (48 x 88 px); “body height” (BH) = 22 u.
The reference screen is 1920 x 1080 px = 480 x 270 u (60 x 34 tiles);
phones zoom 1.33x and see 360 x 203 u. Time is in seconds unless marked.
The sim ticks at 60 Hz. The world clock enters the sim as an input like
any other, never as a wall-clock read.
| Scale | Loop | What the player does | What it feeds |
|---|---|---|---|
| Minute | Fight and move | Clear a platform with 2–4 skills, keep Lampghosts inside your light, hop on, catch the motes that rise | XP, brass, materials, banked motes |
| Trip (20–50 min) | Out and back | Go out from a hold or dock into the fields; fight as long as you like, every caught mote banking as it would be meso; pick trip boons (7.9) that build this trip’s kit, lost on stepping back into a hold | Titan vigor, Titan Favor, lantern growth, quest progress |
| Run (20–40 min) | Down and back | Go down into a stratum or the Deep; fight until the lantern runs low or fills with motes; carry the motes back to a beacon or the way up before the lantern dies | Titan vigor and Favor at better rates, Deep depth, lantern growth |
| Session (45–90 min) | Hold → dark → hold | Take contracts in a hold, make one or two trips, turn in, upgrade, sell | Levels, gear, lantern rank |
| Turning (7 days) | Titans walk | Titans dock in new places; their vigor from last Turning decides how they walk this one; weekly lockouts reset | Weekly gear, Favor, the Sunline |
| Season (10–12 weeks) | An Act of the story | The world story advances one Act for the whole server, moves the titans and ends with a server-wide outcome | Regions, story, cosmetics, a changed world |
The session is the genre’s town-and-field rhythm, and in the fields it plays like MapleStory: no clock but the player’s own. Two things change it. What every kill frees is the fire the world is running out of, so the grind itself feeds the titans: every lantern lit costs a titan steps, every mote banked gives some back (section 7). And under the surface, in the strata and the Deep, the lantern becomes a clock that pulls the player home with a load worth losing (6.5, 7.2): the roguelite mode, chosen, never forced.
10-operations.md §4
owns the first-time experience: its order, its time targets and its HUD
rules. This section sets the systems inside it.
The prologue is an instance: a private copy of the
Pilgrim’s Stair, the Wick and Mossy Field, shared by up to 12 newcomers
who started within the same few minutes (solo if there are none). It
follows 01-world.md §8.1 and
never reads the live world clock: it is always a Kneeling, and
Mossback’s rise at the end is staged. Morrow, the Convergence and Act
state never change it.
| Step | Where | Systems on | Teaches |
|---|---|---|---|
| Create | Character creation | Base class (four cards, each with a looping clip), body, face, hair, lantern glass color, name | Class kit from level 1 |
| Prologue | Pilgrim’s Stair, then the Wick (instance) | Walk, jump, ropes, drop through. The Lighting at the Vent: the town lurches, “He stumbled for you!”, your light circle appears. HUD: health, lantern gauge, class resource bar | Movement; the lantern |
| First field | Mossy Field (instance) | Puddlings take half damage outside your circle and pop inside it. Motes rise into your lantern and run home along its thread; the gauge shows what you have banked. Skill 1 at level 2; an Oil-grade hat | Combat; motes go home |
| First bank | Foot of the Stair (instance) | Fen shows where the thread ends: the motes you banked stream up into Mossback’s shell and the Sunline gauge ticks. The first death happens near light and costs nothing but the walk back | Every kill matters to everyone |
| Into the live world | The Rim, Lantern Town | The instance ends at the Rim’s gate into a real channel. Reeve Tamsey asks you to count the Rim’s lanterns for her ledger. Shops, storage, the contract board, one each | This is an MMO |
| First party | Mossy Field and the Footprint Ponds | A quest that is easier with others; the party finder is offered, never forced. Old Ponder’s Small Steps at level 6 | Together is better |
| Lodge | The Lodges, the Rim | Induction at 10 (4.1); the Puddle Mayor in the Soak on the way | Your class’s place |
As built (2026-10-04): creation is the Lodge yard (#94). New
character opens the yard, where the player tries each class at level 8
on dummies, chooses, names the character, picks its lantern glass color
and begins; worldd creates it as that class and glass. The glass is one
of eight swatches on the naming page (D67,
game/sim/glass.gd; Amber, the painted glass, by default).
worldd keeps it in characters.glass beside
class, never from a save; the game server sends everyone’s
glass on the map only when it changes (protocol v14); the player view
tints the lantern’s glass and leaves its brass and the flame’s core, and
a hooded lantern still dims. Character select shows each character’s
swatch. Body, face and hair are not built yet (06-roadmap.md Phase 1, item
5).
Rules below level 10: no XP loss on death; the lantern burns no fuel in a field (6.5); no inventory-full message (48 starter slots); no menu needed to progress; every unlock arrives with one sentence and a demonstration. The free Pilgrim Tetherline (8.6) brings a newcomer back to the Mossway whenever Mossback is not kneeling there.
As built (first-field tuning, data only): a realistic newcomer (22.3)
died 0.5–0.7 times a minute at levels 1–4 and took about 2x 5.1 to level
5, so the first stretch is gentler. Mossy Field’s west half is Puddlings
only (its platform Mossnip point at x 450 is a Puddling point), its
mound Mossnip point moved east from x 1200 to x 1460, and the Puddling
touches for 4 instead of 7 (3.4) and notices a player at 4.5 tiles
instead of 6 (3.7). Spawn counts and respawn times are unchanged: fewer
or slower monsters cost the grind bot its 5.1 time (a first try that
moved the Ponds’ Shellmites onto a high pad slowed it past 41.7 min).
Solo, CAP_PER_PLAYER deals one monster to each of a field’s
eight points (17.2), so a point’s kind, not its count of three, is what
a newcomer meets.
As built (newcomer tuning, data only): after that the newcomer still
took 17–20 min to level 5 (1.7–1.9x 5.1), dying on Mossy Field’s
Mossnips and in the Footprint Ponds’ craters, and killing half as fast
as the grind bot because it moves on once nothing is on screen. So every
kind of level 5 and under touches for half of 3.4
(NEWCOMER_TOUCH: the Puddling 3, the Mossnip 4, the
Dandlehop and the Shellmite 5), and drops a Moss Tonic one kill in ten
(NEWCOMER_TONIC, 13.2); the Shellmite notices a player at
4.5 tiles instead of 6; and Mossy Field’s five Puddling points sit
within one screen (x 250–700, on four heights) and respawn in 3 s
instead of 6, so a newcomer finds the next one before it has walked on.
The Ponds’ first crater is a Dandlehop point, not a Shellmite one, so
the map’s first screen is Dandlehops only.
| Level | Where | New system |
|---|---|---|
| 10 | The Lodges, Lantern Town | Lodge induction (class tier 1), Guild contracts |
| 10–12 | The Lantern Road | Dim: the first map where the dark hides Lampghosts; keep them in your light (6.6) |
| 12–14 | The Sump, under the Mossway | Strata: the lantern burns fuel, motes ride in it as cargo, a fuller lantern burns faster and draws Lampghosts, and they bank at a beacon or the way up (6.5, 7.2) |
| 14–16 | Chime Dunes | Beacons: light one, bank at it, be relit at it |
| 16–18 | The Broken Lamphouse | Shutter and hood |
| 20 | The Kiln | First lantern-draining boss (the Cinder Eye); Lamplickers first
gutter lanterns at 15–16 on Chime Dunes and in the Broken Lamphouse (02-atlas.md §6.4) |
| 20–30 | Tallowmere | Docks and Heartwarm (Mossback at Wickshore), Tetherline |
| 30 | Branch trial | Branch, second mobility skill, binding to a titan |
Kept from the genre: committed jump arcs, ropes and ladders, down + jump to drop through a one-way foothold, up to use a portal. Maps are built around a known jump reach, so jump height is fixed. What we add is responsiveness at the edges: coyote time, jump buffering and small air control.
| Parameter | Value | Notes |
|---|---|---|
| Walk speed | 90 u/s (360 px/s) at 100% Speed | In the sim today (WALK_SPEED). About 4 BH/s. |
| Ground accel / air accel | 900 / 450 u/s² | Full speed in 0.1 s on ground |
| Jump speed | 280 u/s at 100% Jump | Apex 43.6 u (174 px, 2 BH), airtime 0.62 s |
| Gravity / max fall | 900 u/s² / 420 u/s | Max fall is 7 u per tick, under one tile |
| Coyote time | 0.10 s | |
| Jump buffer | 0.12 s | |
| Drop-through | 0.25 s | DROP_SECONDS |
| Climb speed | 70 u/s | Ropes and ladders |
| Rope grab | Up while overlapping a rope in the air | Genre convention |
| Jump off rope | Left/right + jump: 60% jump speed, 90 u/s sideways | |
| Landing | No fall damage, ever | |
| Mount | Free from a level-30 quest: +30% speed out of combat, 1 s summon, dismounts on attack or hit | Shop mounts change only the look |
| Speed stat | 100% base, hard cap 140% | |
| Jump stat | 100% base, cap 120% (apex 63 u) | Maps assume 100%; 120% opens shortcuts only |
Map grammar (level designers, all at 100% stats, from the numbers above):
| Step | Limit without a rope | Why |
|---|---|---|
| Straight up | ≤ 36 u (144 px, 1.6 BH) | Apex 43.6 u less a margin |
| Up 36 u and across | ≤ 32 u horizontal | Landing at that height comes 0.44 s into the jump: 40 u of travel |
| Level gap | ≤ 48 u (192 px) | Flat reach is 56 u |
| Down | Any | No fall damage |
Anything taller needs a rope, ladder or lift. A class mobility skill may shortcut a route but is never the only route.
Everyone has walk, jump, climb and drop. Each base class gets one mobility skill at level 5 and a second at the branch trial (30), whatever branch they pick.
| Class | Level 5 | Level 30 | Feel |
|---|---|---|---|
| Warden | Lantern Hook: grapple a foothold or rope edge within 7 tiles up or diagonally up; pulls in 0.3 s; 3 s cooldown | Bullrush: ground dash 8 tiles, knocks small monsters aside, 6 s cooldown | Heavy and vertical: climbs, never double-jumps |
| Kindler | Blink: teleport 6 tiles in any of 8 directions, 0.15 s i-frames, 1.5 s cooldown, cannot pass solid ground | Warm Glide: hold jump in the air to fall at 90 u/s | Precise and floaty |
| Ranger | Vault: a second jump at 70% speed, can reverse direction | Rope Arrow: a rope 10 tiles up or diagonally that anyone can climb for 15 s | Agile, makes routes for the party |
| Shade | Flicker: dash 5 tiles through monsters, 8 tiles if starting at intensity 0, 0.2 s i-frames, 2 s cooldown, one air use | Gloamstep: stand on gloamways (§6.9) while shuttered, not only hooded | Fast, low, rewarded for staying dark |
As built (game/sim/skills.gd): Lantern Hook walks a line
from the feet straight up, or diagonally up toward a held left or right,
and catches the first foothold (ground or platform, from below, since
there are no ceilings) or rope it meets within 7 tiles where the body
fits. The pull is 18 ticks with walking and jumping off; on a rope it
ends climbing. It runs inside Zone.step_movement, so the
client predicts and replays it and the server agrees
(tests/test_net.gd). It costs no Resolve, so prediction
never waits on a hit the server has not sent yet.
As built (game/sim/shade.gd): Flicker is 8 ticks at a
fixed speed along her facing, 5 tiles, or 8 when the light at her center
is 0 as it starts, with no gravity and 0.2 s of i-frames; once per
airtime (the floor or a climb gives it back). It runs in
Zone.step_movement like Lantern Hook, and its state rides
in me (protocol v13), so it is predicted and replayed
(tests/test_net.gd). TODO: Gloamstep (level 30).
As built (game/sim/ranger.gd): Vault is jump pressed in
the air once the walk’s coyote time is over, or Vault’s own key: −196
u/s up and the held direction x 90 u/s across, so it reverses; once per
airtime (player.vaulted, on the wire in the own-character
block), reset on landing or a rope. It runs in
Zone.step_movement and costs nothing, so it is predicted
like the hook (tests/test_net.gd).
No free aim. Attacks fire in the facing direction; ranged attacks
bend up to ±25° toward the nearest valid target in a forward cone of 20
tiles. Keyboard, gamepad and touch stay equal (the sim’s
aim field is filled by the client from facing plus
auto-target, and the server validates it against the cone).
Ground-targeted skills drop at the player’s feet or a fixed offset
ahead; a drag reticle is a desktop and gamepad nicety.
As built (game/sim/aim.gd): facing is the way the stick
or keys last pointed, so knockback never turns a player. A target counts
within 45° of facing and 20 tiles; the nearest wins, ties to the lower
monster id; the shot points at it, clamped to ±25°. The zone clamps any
aim it is sent to ±25° of facing and fires anything
pointing backward straight ahead, so prediction never depends on
aim. A 25°-capped arrow rises at most ~43 u, a jump ~44 u,
so the Cinder Eye’s hover was lowered from 90 u to 40 u above its target
and its hover tracking from 140 to 70 u/s (below walk speed) so it
cannot sit overhead out of reach (game/sim/creatures.gd;
any hovering monster follows the same rule).
Mobile is first-class: every action is reachable with two thumbs and
no tap target smaller than 44 pt. A branch’s core rotation is 6
skills, mobility included; further skills are situational and
live on a second page. This document owns control counts and sizes; 05-art-audio.md draws them,
with a class-resource bar (not MP) and a lantern gauge.
Keyboard and mouse (all rebindable)
| Action | Default |
|---|---|
| Move / climb / drop | Arrow keys or A, D, W, S |
| Jump | Space (or Alt) |
| Basic attack | Ctrl or J |
| Interact, pick up, talk, portal | Up, W or E |
| Skill bar 1 | 1–0 |
| Skill bar 2 | Shift + 1–0, or Q, R, F, G, Z, X, C, V |
| Potion / oil | Page Up, Page Down |
| Lantern: shutter / hood | H (tap shutters, hold hoods) |
| Trip boon cards (§7.9) | , . / (Backspace passes) |
| Ping / marker wheel | Middle mouse or B (§14.3) |
| Menus | I inventory, K skills, L quests, M map, P party, U guild, O social, Esc |
| Mouse | UI, NPC and player menus, drag items, place pings. Not needed in combat. |
Gamepad
| Input | Action |
|---|---|
| Left stick / d-pad | Move, climb, drop (down + A) |
| A | Jump |
| X | Basic attack |
| B | Mobility skill |
| Y | Interact / pick up |
| LB held + A/B/X/Y | Skills 1–4 |
| RB held + A/B/X/Y | Skills 5–8 |
| LB+RB held + A/B/X/Y | Skills 9–12 |
| LT / RT | Potion / oil |
| R3 | Lantern: tap shutters, hold hoods |
| L3 | Ping wheel |
| Start / Select | Menu / map |
Mobile touch (landscape, safe-area aware)
| Zone | Control |
|---|---|
| Left half | Floating joystick. Up climbs, down crouches; down + jump drops. Flick up at a portal enters it. |
| Bottom right | Basic attack (88 pt) with jump (72 pt) to its left |
| Arc around attack | 6 skill buttons (60 pt), mobility in the slot nearest the thumb; page toggle for situational skills |
| Right edge | 2 contextual buttons (60 pt): the first is potion, or oil when the lantern is under 25%, or hood while a Shade is unseen; the second is interact, bank, relight, light a beacon or pick up when one applies |
| Top | Minimap, party frames, quest tracker, chat icon (long-press: ping wheel) |
| Top right | Lantern gauge: fuel ring and carried-mote count where they apply (6.5, 7.2), else banked motes; tap shutters, long-press hoods |
Touch assists, on by default on mobile and available everywhere: auto-target, auto-loot, hold-to-repeat basic attack, auto-climb when the stick points at a rope. None change damage or reach.
As built: a frame carries the one skill held
(InputFrame.skill); holding a key repeats its skill
whenever it is ready. Ctrl or J is Sweep, and clicking with a melee
weapon selected still sweeps; keys 1–3 are Brace, Lantern Hook and
Lanternbash; Page Up drinks a Moss Tonic. The number keys no longer pick
the item hotbar: the mouse wheel and clicks do. Auto-target is on
everywhere: a strike faces the nearest monster in its own box ahead, or
turns to one in the same box behind when none is ahead.
hit_by_swing). Clients predict their own swing animation
only.KNOCKBACK 130, -140) unless they have Poise; bosses and
elites have a Poise bar (3.6).INVULNERABLE). Dashes with i-frames say so. A relight
grants 2 s.PLAYER_KNOCKBACK (80, -130), about
9 units up and 20–25 back, and HIT_STAGGER 0.25 s in which
the keys neither steer nor turn the player (the ground still brakes the
slide). It reads as a hit, not a launch. The hit flashes the character
white for 0.12 s, then a soft pale shimmer shows the i-frames (no alpha
blink).No stat points to allocate. Stats grow with level and come from gear.
| Stat | Effect |
|---|---|
| Might | Warden primary; Ranger secondary |
| Focus | Kindler primary; Shade secondary |
| Aim | Ranger primary; Warden secondary |
| Guile | Shade primary; Kindler secondary |
| Grit | +5 max HP per point, all classes |
| Attack (ATK) | From weapon (and some offhands and affixes) |
| Armor | Reduces incoming damage (3.4) |
| Crit Rate | Base 5%, cap 75% |
| Crit Damage | Base +50%, gear up to +200% |
| Damage % | Additive bonus to all damage |
| Boss Damage % | Additive with Damage % against bosses and elites |
| Pierce % | Ignores that share of a monster’s Defense |
| Speed / Jump | Movement, 2.1 |
| Radius, Fuel, Burn Efficiency, Mote Capacity | Lantern stats (6.2) |
Base growth per level L: primary = 20 + 5L, secondary = 5 + 1L, Grit = 10 + 2L. At-level Glass-grade gear adds about 1.5L primary and 0.5L secondary across all slots.
As built (game/sim/stats.gd): every character is a
Warden, Might primary and Aim secondary, growing as above; Grit is the
+10 life a level progression.gd already gives. Phase 0 has
a weapon and no armor, so the weapon carries the whole gear
budget: a sword of item level il adds floor(1.5 il) Might and
floor(0.5 il) Aim besides its ATK. An at-level Warden with an at-level
sword then hits exactly as 3.3’s rows. TODO: move the budget to armor
and accessories once slots exist (10.1), leaving the weapon its ATK.
StatValue = 4 * Primary + Secondary
Base = ATK * StatValue / 100
Hit = Base * Skill% * (1 + Damage% [+ BossDamage%])
* CritMult * ElementMult * LightMult * DefenseMult * LevelMult
* Variance
CritMult = 1 + CritDamage on a crit, else 1
LightMult = 0.5 if the target is Shrouded (6.6), else 1
DefenseMult = 1 - MonsterDefense * (1 - Pierce) MonsterDefense in [0, 0.6]
LevelMult = 1 if monster level <= player level + 2
else max(0.2, 1 - 0.08 * (monster level - player level - 2))
Variance = uniform 0.92–1.08 from the zone's seeded RNG
Damage is an integer, minimum 1. All rolls come from the zone RNG so fights replay.
Reference values for an at-level character with Glass-grade gear, basic attack:
| Level | Primary | Secondary | StatValue | Weapon ATK | Basic hit | Normal mob HP | Mid-class HP |
|---|---|---|---|---|---|---|---|
| 1 | 26 | 6 | 110 | 6 | 7 | 20 | 90 |
| 10 | 85 | 20 | 360 | 25 | 88 | 270 | 230 |
| 30 | 215 | 50 | 910 | 82 | 750 | 2,240 | 590 |
| 60 | 410 | 95 | 1,735 | 189 | 3,270 | 9,800 | 1,220 |
| 100 | 670 | 155 | 2,835 | 353 | 10,000 | 30,000 | 2,180 |
| 120 | 800 | 185 | 3,385 | 442 | 14,960 | 44,900 | 2,700 |
Formulas: weapon ATK(il) = 5 + 1.1 · il^1.25 for a Glass-grade weapon at item level il; normal mob HP(L) = 3 x at-level basic hit; mid-class HP(L) = 80 + 12L + 0.9L^1.5 (Warden x1.3, Ranger x1.0, Shade x0.95, Kindler x0.8). The level 1 row matches today’s sim (worn Pilgrim’s Shortsword 5, Puddling 14 HP, player 100 HP).
Built: Creatures.normal_health and
touch_damage (3.4) in game/sim/creatures.gd,
with primary and secondary floored to whole stats, and every Mossway
kind’s life and touch are those at its level, except the Puddling’s 14,
sized to the starting sword above, and the touch of every kind of level
5 and under, the newcomer allowance (newcomer_touch, 1.2,
3.4).
Built for player hits (game/sim/stats.gd, every Warden
strike): Base from the sword’s ATK and the Warden’s stats (3.2), Skill%
the strike’s power, a 5% crit for +50%, LevelMult as above and Variance,
rolled per target from the zone’s own hit stream
(Zone.hit_rng), so spawning’s stream never shifts;
LightMult is the Lampghosts’ own (6.6), applied after. Damage%, elements
and Defense wait for affixes and monster defense. Bows still deal their
flat damage (TODO: through the formula with Aim primary once Rangers
exist). A sword above the character’s level is never swung (10.2).
tests/test_stats.gd holds 5.6’s two invariants for levels
1–10: an at-level Warden with an at-level sword puts out an at-level
normal monster in 1.1–1.2 s of Sweeps (0.35 s each), and one 10 levels
above puts it out with one hit at the lowest variance.
| Level | Primary | Secondary | StatValue | ATK at iL L | Basic hit | Normal life | Sweeps’ time |
|---|---|---|---|---|---|---|---|
| 1 | 26 | 6 | 110 | 6.1 | 6.7 | 20 | 1.12 s |
| 2 | 33 | 8 | 140 | 7.6 | 10.7 | 32 | 1.16 s |
| 3 | 39 | 9 | 165 | 9.3 | 15.4 | 46 | 1.14 s |
| 4 | 46 | 11 | 195 | 11.2 | 21.9 | 66 | 1.20 s |
| 5 | 52 | 12 | 220 | 13.2 | 29.1 | 87 | 1.16 s |
| 6 | 59 | 14 | 250 | 15.3 | 38.3 | 115 | 1.18 s |
| 7 | 65 | 15 | 275 | 17.5 | 48.2 | 145 | 1.20 s |
| 8 | 72 | 17 | 305 | 19.8 | 60.4 | 181 | 1.18 s |
| 9 | 78 | 18 | 330 | 22.2 | 73.1 | 219 | 1.19 s |
| 10 | 85 | 20 | 360 | 24.6 | 88.4 | 265 | 1.19 s |
The Mossway has four swords (10.9), so between them a Warden is up to two levels behind its weapon: with the best sword it can wield, each Mossway kind at its own level takes 1.0–1.7 s (Shellmite at 5 on the Thornwood Sword is the slowest).
| Monster | Level | Life | Touch | Behaviour |
|---|---|---|---|---|
| Puddling | 1 | 14 | 3 | Hops |
| Mossnip | 3 | 46 | 4 | Walks and jumps; curls into a ball for 1.2 s when hit and rolls to a stop |
| Dandlehop | 4 | 66 | 5 | Long, quick hops |
| Shellmite | 5 | 87 | 5 | Walks fast and jumps; not a Lampghost |
| Thornpig | 6 | 115 | 12 | Rolls fast, never jumps, so drops off platform edges |
| Dimwing | 7 | 145 | 13 | Flies |
| Afternooner | 9 | 219 | 15 | Walks and jumps |
| Teacup Puddling | 4 | 66 | 5 | Hops as the Puddling; a rare stand-in at one Ponds point |
| Snagcat | 7 | 145 | 13 | Long, high pounces, a longer rest between |
| Rustpuff | 8 | 181 | 14 | Drifts at you, slow, with a wobble |
| Bog Puddling | 9 | 219 | 15 | Heavier, lower hops |
| Tollkeeper | 10 | 265 | 16 | Walks, never jumps, short leash: holds the deck |
Designed, not built (02-atlas.md §6.6, all proposed,
D41): the rest of the Mossway and the Glasslands, at
normal_health and touch_damage of their level
(newcomer_touch at 5 and under, 1.2). Aggro, leash and
pacing in tiles as 3.7’s table; behaviours and where each lives are
02’s.
| Id | Monster | Level | Life | Touch | Aggro | Leash | Paces | Notes |
|---|---|---|---|---|---|---|---|---|
| 10 | Teacup Puddling | 4 | 66 | 5 | 6 | 16 | ±4 | Rare spawn. Built |
| 11 | Snagcat | 7 | 145 | 13 | 8 | 16 | ±5 | Built |
| 12 | Rustpuff | 8 | 181 | 14 | 6 | 14 | ±4 | Built |
| 13 | Bog Puddling | 9 | 219 | 15 | 6 | 16 | ±4 | Built |
| 14 | Tollkeeper | 10 | 265 | 16 | 8 | 10 | ±3 | Replaces the Afternooner on the tollbridge. Built |
| 15 | Runlet | 10 | 133 | 0 | — | — | — | The Puddle Mayor’s piece: half life, no touch; heals the Mayor 2% on arrival (built) |
| 15 | Wickwren | 10 | 265 | 16 | 7 | 16 | ±5 | |
| 16 | Glassback | 11 | 312 | 17 | 5 | 14 | ±3 | Living; projectiles to its back do nothing |
| 17 | Cinderling | 12 | 368 | 18 | 12 | 24 | ±4 | Cinderkin (3.5) |
| 18 | Chimehound | 13 | 424 | 19 | 8 | 20 | ±5 | Its first hit calls its pack |
| 19 | Mirrorkin | 14 | 491 | 21 | 7 | 16 | ±5 | |
| 20 | Lamplicker | 15 | 556 | 22 | 7 | 18 | ±6 | Touch Guttered 5 s |
| 21 | Pilgrim Afternooner | 16 | 633 | 23 | 0 | 18 | the map | No touch until hit or blocked |
| 22 | Slagworm | 18 | 797 | 26 | 8 | 14 | ±3 | Living |
| 23 | Lostbearer | 19 | 883 | 27 | 8 | 18 | ±5 | |
| 24 | Sump Puddling | 12 | 368 | 18 | 6 | 16 | ±4 | The Sump |
| 25 | Sump Dimwing | 13 | 424 | 19 | 10 | 20 | ±5 | The Sump |
Elites (02 §6.6) are 10x life at their kind’s level. The bosses (16 and 3) are in 15.1.
Kill-time targets (one at-level player, Glass-grade gear, no buffs):
| Target | HP multiple of normal | Solo time | Group |
|---|---|---|---|
| Normal monster | 1x | 1.0–1.5 s single target; a 6-pack in 2–3 AoE casts | |
| Elite | 10x | 12–20 s | 5–8 s with 3 |
| Dungeon boss | 400x | 3–5 min with 6 | |
| Open-world boss | 2,500x, scales with attackers (15.1) | 4–8 min with 20–40 | |
| Raid phase boss | 3,000–4,500x | 6–10 min with 12–18 |
Incoming = MonsterAttack * AttackSkill% * ElementResistMult * (1 - Mitigation)
Mitigation = min(0.6, Armor / (Armor + 40 * MonsterLevel + 100))
A normal monster’s touch hits for 7% of mid-class HP before mitigation (7 at level 1); a monster of level 5 and under touches for half of that (the Puddling 3, the Shellmite 5), an allowance for the Mossway’s newcomers (1.2); a telegraphed attack 12–20%; an elite 15–30%; boss mechanics 25–60%, with “wipe” mechanics only where an avoid is telegraphed for at least 1.2 s. At-level armor: Warden ≈ 12L, Ranger and Shade ≈ 7L, Kindler ≈ 5L (Warden about 22% mitigation at 60, Kindler 11%).
Three elements plus physical, one per kind of light in the world (01-world.md §1.2).
| Element | Color | Source | Status |
|---|---|---|---|
| Physical | — | Most weapons | Cut (Shade), Staggered |
| Heartfire | Amber | A titan’s fire: Kindler spells, Warden lantern skills, flare arrows, lantern wicks | Kindled |
| Coldlight | Blue-white | The Lampghosts’ cold light, cracked into a Shade’s lantern; Stay gear | Hushed |
| Sunlight | Gold-white | The real sun: Highnoon’s mirrors, the Cloudshelf, the Sunfoot, Concord automata, a few Pathfinder skills | Seared, Dazzled |
| Monster kind | Examples (02) | Heartfire | Coldlight | Sunlight | Notes |
|---|---|---|---|---|---|
| Lampghosts (stolen ember) | Puddling, Dimwing, Afternooners, Wendling | x1.5 | x1.0 | x0.5 | Shrouded outside light (6.6); heartfire unmakes them, sunlight only drowns them |
| Cinderkin (fire without a titan) | The Cinder Eye, Cinderlings, Cinder Choir, Cindersworn, Veinmaw, Noonlings | x0.5 | x1.5 | x1.0 | Eat lantern fire: −3 fuel per hit on players where fuel burns (6.5) |
| Living things | Shellmites, Pickrats, Cragrooks, Glimsnails, people | x1.0 | x1.0 | x1.0 | No stolen ember, no motes |
| Concord machines | Orrery Sentinels, Tapwalkers | x1.0 | x1.25 | x0.5 | Physical x0.75; built to drink the sun |
Coldlight ignores the Shroud: a Shade’s borrowed absence is the Lampghosts’ own, so it deals full damage to a Shrouded Lampghost. Cinderkin mean the dark classes have their moment, starting with the Cinder Eye at 20. A party with amber and blue-white light is strongest.
Statuses are light states. Bosses take statuses marked “Poise” as Poise damage instead.
| Status | On | Applied by | Duration | Effect | Bosses |
|---|---|---|---|---|---|
| Kindled | Monsters | Heartfire hits | 4 s | 20% of hit per s, stacks 3 | Yes |
| Seared | Monsters | Standing at light intensity 2+, Sunlight hits | 6 s | +20% damage taken, +10% crit chance against | Yes |
| Unmade | Lampghosts | A heartfire hit on a normal Lampghost under 10% HP at intensity 2+ | — | Put out at once; its motes rise | No |
| Cut | Monsters | Shade physical | 6 s | 15% of hit per s, stacks 5 | Yes |
| Dazzled | Monsters | Flash traps, Sunlight crits | 3 s | Attacks miss 50% | 25% |
| Hushed | Both | Coldlight skills; Songeaters, Hush Owls | 1–3 s | No skills, basic attack only | Monsters: Poise |
| Staggered | Monsters | Shield bash, heavy hits | 1–2 s | Cannot act | Poise |
| Snared | Monsters | Traps, silk | 2–3 s | Cannot move | Poise |
| Tethered | Both | Silk and wick (Fenspinners, Silkcutters), Gilded harness, Stridewright and Linerunner skills | 4 s | Cannot move more than 8 tiles from the anchor | Monsters: Poise |
| Guttered | Players | Lamplickers, Dimwings, Sootbears | 5 s | Lantern radius −50%, your lantern cannot Sear | n/a |
| Doused | Players | Black fen-water (Snuffer Zealots, Blackwater Fen, Hob Sallow) | 3 s | Lantern out (intensity 0), −10 fuel where fuel burns | n/a |
| Dazzled | Players | A lantern in Glare (6.3), the Proclamation of Noon | Stacks to 5 | Auto-target cone narrows by 5° per stack; at 5 stacks your lantern counts as intensity 0 against Lampghosts | n/a |
| Coldburnt (proposed) | Players | Late Lampghosts: Aunlings, Titanshades, Gilt Magistrate verdicts | 6 s | Cold light takes your chest: healing received becomes damage. Cleansed by a Tender heal or 2 s at intensity 3 | n/a |
| Unlit | Players | Each 10 s with your lantern out at Black or Lightless | Stacks to 10 | −3% damage dealt, +3% damage taken per stack; clears in light | n/a |
Poise. Crowd control on bosses and elites fills a Poise bar. Filling it (about 6 player-staggers’ worth in a dungeon) breaks the boss for 4 s: stunned, +30% damage taken. Poise refills over 20 s. Players have diminishing returns: the same control within 10 s lasts 50%, then 25%, then immune for 10 s.
Field monsters target the nearest player who has hit them, or the nearest within aggro range (6–12 tiles by type). In dungeons, raids and on elites and bosses:
Threat += Damage * ClassThreatMod
Threat += Healing * 0.5, split across monsters in combat with the healed ally
Taunt = set taunter's threat to 110% of current top, force target for 3 s
Target = argmax Threat * (1 + 0.5 * LightIntensityAtPlayer + 0.5 * MoteLoad) (Lampghosts)
Target = argmax Threat (others)
MoteLoad = carried motes / mote capacity, 0–1 (0 in a field, which carries none)
ClassThreatMod: Lampguard 3.0 in Bastion Stance, Ghostsworn 2.5 in Shroudmantle, Ironbrow 2.0 in Hornset, everyone else 1.0. A target switch needs the new top to exceed the current target by 10% (melee) or 30% (ranged).
Lampghosts want fire. They go for the brightest lantern and the fullest one: a Lampguard pulls them by shining, and in the strata and the Deep a player carrying a full load of motes is hunted. Ghostsworn taunts ignore both light terms; he tanks as an absence they hunger to fill.
Built in game/sim/behaviours.gd (and
native/src/monster_ai.cpp, bit for bit): a field monster
paces a few tiles either side of where it spawned until a player comes
within its aggro range or hits it, then chases that player. A chase that
takes it past its leash from home (measured across)
drops the target and walks it home, ignoring players until it is back in
its pacing range; a hit retargets it at once. Bosses have no aggro range
yet and go for the nearest player anywhere. TODO: threat, lantern state
and load scaling aggro range (6.3, 7.2), Hooded players ignored unless
they attack.
| Monster | Aggro | Leash | Paces |
|---|---|---|---|
| Puddling | 4.5 tiles | 16 tiles | ±4 tiles |
| Dimwing | 10 tiles | 20 tiles | ±5 tiles |
| Afternooner | 8 tiles | 18 tiles | ±5 tiles |
| Mossnip | 5 tiles | 14 tiles | ±3 tiles |
| Dandlehop | 7 tiles | 16 tiles | ±5 tiles |
| Shellmite | 4.5 tiles | 14 tiles | ±4 tiles |
| Thornpig | 7 tiles | 18 tiles | ±6 tiles |
| Level | XP lost on death | Notes |
|---|---|---|
| 1–9 | 0 | Learning is free |
| 10–29 | 2% of the current level’s requirement | |
| 30–59 | 4% | |
| 60–120 | 5% | Never de-levels |
zone.gd remove).| Level | Step | Where | What it gives |
|---|---|---|---|
| 1 | Base class chosen at creation | Character creation | Four classes (Warden, Kindler, Ranger, Shade), each with a basic attack, a resource and skills at 2, 5 and 8 |
| 10 | Lodge induction | The class’s Lodge on Lantern Town’s Rim | Lodge tier skills (class-wide), the class’s faction introduction, Guild license (rank Spark) |
| 30 | Branch | The class’s home hold (01-world.md §7.1) |
One of three branches, its first-name skills, the second mobility skill, binding to a titan (8.7) |
| 60 | Second name | A trial in the dark (01-world.md §7.2) |
The branch’s 60 tier |
| 100 | Third name | A trial that ends in front of a titan’s Listener | The branch’s 100 tier |
A player always has a full kit for their level: base skills from minute 1, class-wide skills from 10, branch skills from 30.
Branches. Twelve in the lore, named in 01-world.md §7.2. Eight ship at
launch, chosen so the launch roster has two Sustain branches and one
full Protector plus an off-tank stance.
| Base | Branch (30 / 60 / 100) | Role | Ships |
|---|---|---|---|
| Warden | Lampguard / Beaconkeep / Lighthouse | Protector | Launch |
| Warden | Ironbrow / Hornbreaker / Mountainborn | Striker, off-tank stance | Launch |
| Warden | Emberheart / Pyrewarden / Lastlight | Striker | Later |
| Kindler | Cinderwright / Kilnmaster / Sunsmith | Striker | Launch |
| Kindler | Tender / Hearthsinger / Dawnkeeper | Sustain | Launch |
| Kindler | Stridewright / Waywright / Worldturner | Controller | Season 1 |
| Ranger | Pathfinder / Wayfarer / Lodestar | Striker | Launch |
| Ranger | Lurewright / Falselight / Marshlight | Controller | Launch |
| Ranger | Linerunner / Skyhook / Stormkite | Striker | Later |
| Shade | Gapwalker / Nightseam / Nobody | Striker | Launch |
| Shade | Pocketsmith / Fence / Moth’s Hand | Sustain | Launch |
| Shade | Ghostsworn / Facewright / Thousandface | Protector | Season 1 |
Roles (soft trinity). Protector, Sustain, Striker, Controller. Open-world content never needs a role. Normal dungeons can be cleared by any composition with more care and more potions. Hard dungeons and the raid expect one Protector and two Sustain; Ironbrow’s Hornset stance covers a second tank where a fight needs one.
Branch change. At any hold’s class trainer, within the same base class, for level x 500 brass and a 7-day cooldown (D11). Skill points are refunded. Gear is shared by the base class.
The base class is per character. It never changes;
trying another class means an alt, and the game expects alts (Wayfarer’s
Mark and Lodgemarks, 5.4). Because the pick is permanent, creation lets
a player try every class first (10-operations.md §4).
Complexity. Every base class and branch carries a label at creation, on the trainer and in the guide. MapleStory players pick on mobility and looks and then quit a class that plays harder than it looked; the label says up front how much the kit asks.
| Label | Means | Base classes |
|---|---|---|
| Simple | One resource that fills on its own, few buttons that matter | Warden |
| Standard | One resource to manage, positioning matters | Ranger |
| Involved | A resource with a failure state, or one tied to light intensity | Kindler (Overheat), Shade (Gloom in the dark) |
Every base class has at least one branch labelled Simple or Standard, so no class fantasy is locked behind a hard kit.
| Class | Resource | Rules |
|---|---|---|
| Warden | Resolve 0–100 | +4 per hit landed, +6 per hit taken; spent by strong skills; decays 5/s after 4 s out of combat |
| Kindler | Heat 0–100 | Spells add Heat. Above 70 is Blazing: +20% spell damage, and the lantern burns fuel 1.5x (Kindlers pour out more fire than anyone). At 100, Overheat: Hushed 2 s, Heat drops to 40. Heat falls 8/s when not casting. |
| Ranger | Focus 0–100 | Regenerates 15/s standing still, 6/s moving, 0 during Vault; skills cost 10–40 |
| Shade | Gloom 0–100 | +8/s at light intensity 0, +4 per hit landed; −4/s at intensity 2+; finishers spend 30–100 |
As built (game/sim/resources.gd): the resource is one
float on the player, player.resource, and each class’s
rules above are a row of data (DEFS, by class through
OF_CLASS). “Per hit” counts each target a strike or arrow
lands on and each hit that gets through i-frames. Resolve’s “out of
combat” and Heat’s “not casting” are calm seconds since the
last hit landed or taken (Resolve, 4 s) or the last spell (Heat, 1 s);
Focus counts as moving while the feet move sideways, are off the floor
or climb, and gains nothing from a Vault until landing
(vault in its row). Lanternbash costs 40 (§4.3). Blazing’s
x1.2 damage and x1.5 fuel and Overheat’s Hush are built
(blazing_damage, blazing_burn,
kindler.gd): Heat holds at 40 until the Hush ends.
No MP. HP potions and lantern oil are the two consumables (one fewer type is simpler on a phone). The HUD shows the class resource bar and the lantern gauge.
| Class | Weapon | Basic | Level 2 | Level 5 mobility | Level 8 |
|---|---|---|---|---|---|
| Warden | Lantern-halberd and shield | Sweep: 3-target arc, 100% | Brace: block frontal damage 70% for 1 s, +20 Resolve on a block | Lantern Hook | Lanternbash: 150% Heartfire, Kindled |
| Kindler | Kindling-rod and glyph book | Spark: homing bolt 8 tiles, 100% Heartfire | Kindle: a 5-tile light pool for 10 s | Blink | Flareburst: 140% Heartfire to 4 targets around her |
| Ranger | Bow | Quickshot: 100%, auto-angle | Flare Arrow: lands as a 5-tile light for 15 s | Vault | Split Shot: 3 arrows at 70% |
| Shade | Daggers | Quick Cut: 2 hits of 55% | Crack the Glass: toggle; basic attacks deal Coldlight, Gloom +2/s, lantern radius −2 | Flicker | Shadow Fang: 160% Coldlight, Cut |
As built for the Warden (game/sim/skills.gd, data run by
sim code per D7): every strike is 3.3’s formula at its Skill% with the
carried sword (the selected one, else the highest-ATK one its level can
wield; TODO equipment slots).
| Skill | Level | Resolve | Cooldown | As built |
|---|---|---|---|---|
| Sweep | 1 | 0 | weapon speed | 26 x 34 u box, nearest 3 first, 100% |
| Brace | 2 | 0 | 6 s | 1 s; a hit from the front is cut 70% and gives +20 Resolve on top of the +6 |
| Lantern Hook | 5 | 0 | 3 s | §2.2 |
| Lanternbash | 8 | 40 | 1.5 s | 28 x 34 u box, 1 target, 150%, 0.5 s swing, Kindled (4.9 “Statuses”). TODO: Heartfire once elements exist |
As built: each class’s kit is a table of
[level, skill id] rows (Skills.KITS in
game/sim/skills.gd) that drives the hotbar and what a level
unlocks; skill ids are a save format, append-only, with a block reserved
per class for its base and Lodge skills (rows marked not yet built stay
locked and off the bar). Class skill code sits in one module per class
(kindler.gd, ranger.gd, shade.gd;
the Warden’s in skills.gd) behind the dispatcher
kits.gd. All four Lodge-tier skills unlock at 10, once
inducted. The induction (game/sim/lodge.gd) is a talk-to
quest: from level 10 the guide sends the player to their class’s Lodge
on the Rim, and pressing interact inside it marks
quests.lodge done. TODO: the trainer NPC, the faction
introduction and the Guild license.
| Class (Lodge) | Skills |
|---|---|
| Warden (Sergeant Pim Ashdown) | Shield Bash 180%, Staggered 1 s, 3 targets. Call to Light: taunt 4 monsters within 8 tiles. Lampstake: plant one light post (radius 6, 20 s). Passive Light Behind Me: +10% armor while the lantern is open. |
| Kindler (Ottoline Vey, the Kindling Room) | Heartfire Lance: piercing line, 8 targets, 200%. Warm Hands: heal an ally for 8%, chains to one more. Vent: spend all Heat for 3% damage per point to 6 targets. Passive Rationed Fire: Overheat refunds 10 fuel. |
| Ranger (Captain Corra Thistlewaite) | Piercing Shot: 240%, pierces 4. Snapjaw: trap (max 2), Snared 2 s, 150%. Waymark: target takes +10% from the party for 10 s. Passive Dim Fletching: your shots do not raise Lampghost aggro range. |
| Shade (“Nobody in Particular”) | Twin Fang: 4 x 80%, Cut. Fan of Knives: 6 targets, 170%. Nightveil: 3 s stealth; the first attack from it deals x2. Passive Absent: +10% evade at intensity 0. |
Exact numbers for 4.2–4.4, all four classes to level 20, with the DPS budget: 4.9.
Two to three signature skills per tier; every tier also has 3–5 supporting skills (passives, buffs, a second attack). Percentages are Skill% at max rank.
Lantern-halberd and tower shield. The party’s light: brightest lantern, draws Lampghosts, walls of light. Bastion Stance raises his intensity by 2 and Lampghosts choose targets by light, so he tanks by shining.
| Tier | Skill | One line |
|---|---|---|
| 30 | Bastion Stance | Toggle: +30% armor, −15% speed, intensity +2, threat x3 |
| 30 | Lightwall | Plant the shield as a 6-tile wall of light for 8 s: blocks projectiles, Lits everything behind it |
| 30 | Rally Cry | Taunt up to 8 monsters within 10 tiles |
| 60 Beaconkeep | Hold the Line | 12 s: allies within 10 tiles take 20% less; 25% of it moves to him |
| 60 | Beaconbrand | Mark one target: Seared to the whole party for 10 s |
| 100 Lighthouse | Unguttered | An ally within 12 tiles who would die survives at 1 HP with 2 s i-frames (once per ally per 90 s) |
| 100 | Lighthouse | 10 s: immune to knockback and Unlit, radius +4, reflect 30% of melee damage |
Two-handed lantern-halberd, trained on Greyhorn. Momentum and charges.
| Tier | Skill | One line |
|---|---|---|
| 30 | Reaping Arc | 180° cleave, 220%, 6 targets |
| 30 | Horn Rush | Charge 10 tiles carrying up to 6 normal monsters, 250% where they land |
| 30 | Hornset | Toggle off-tank stance: +20% armor, threat x2, −20% damage |
| 60 Hornbreaker | Momentum | Passive: each hit within 2 s of the last +2% damage, to +20% |
| 60 | Stampede | Three Horn Rushes in a row, 300% each, launches normal monsters |
| 100 Mountainborn | Sunderhorn | Rising column 10 tiles tall, 1,200%, fills a boss’s Poise 25% |
| 100 | Unmoved | Passive: at full Momentum, immune to knockback; Seared targets take +25% from him |
Raw heartfire as burst and burning ground; rides Heat near Overheat. Her fires are light sources; burning ground Lits Lampghosts.
| Tier | Skill | One line |
|---|---|---|
| 30 | Cinderfall | Fire rains on 6 targets ahead, 190%, leaves burning ground (light) 3 s |
| 30 | Bright Mind | Passive: Blazing threshold drops to 60 |
| 30 | Stoke | Vent all Heat: 3% per Heat point, 10 targets |
| 60 Kilnmaster | Pyre | A field 12 tiles wide for 4 s, 10 targets, 120% per 0.5 s |
| 60 | Hungry Flame | Passive: +2% crit rate per 10 Heat |
| 100 Sunsmith | Small Sun | 12 s: a small sun above her; every Lampghost on screen is Lit and Seared; burns 2 fuel per s |
| 100 | Heart of the Furnace | Overheat no longer Hushes; it explodes for 800% instead |
Heals by warming. Allies inside her light regenerate; she lends fuel and relights the fallen. The party’s lantern economy runs through her.
| Tier | Skill | One line |
|---|---|---|
| 30 | Warm Hands (rank 2) | Heal an ally within 8 tiles for 12% max HP, chains to 2 more at half; cleanses Coldburnt |
| 30 | Hearthpool | 6-tile light pool, 8 s: allies inside regenerate 2% max HP per s |
| 30 | Lend Light | Give 30 of her fuel to an ally |
| 60 Hearthsinger | Rekindle | Relight a Downed ally from 8 tiles in 1 s at 50% HP; no fuel cost to her |
| 60 | Ward of Coals | Shield an ally for 20% of their max HP, 10 s |
| 100 Dawnkeeper | Hearthsong | 10 s: party within 12 tiles heals 4% per s and is immune to Unlit and Guttered |
| 100 | Everflame | 60 s: party lanterns burn no fuel (5 min cooldown) |
Takes the light right out of your hand. Lifts stolen light out of monsters (Lampghosts carry the cold light they put out; Cinderkin carry fire) and slips it to allies as healing. Her heals grow in the dark and shrink in bright light, so she wants the party just lit enough. No coin theft: stolen brass would be a faucet.
| Tier | Skill | One line |
|---|---|---|
| 30 | Lift | Tether a monster 4 s: 50% of the party’s damage to it heals the lowest ally |
| 30 | Slip | Heal over time, 15% max HP over 6 s |
| 30 | Palm | Steal one buff from a monster and give it to an ally; from a Lampghost it also gives the ally 10 fuel |
| 60 Fence | Fence | Swap HP percentages with an ally (60 s cooldown) |
| 60 | Night Bloom | A dark flower, 6 tiles: allies inside regenerate 2% per s, monsters inside take Coldlight |
| 60 | Borrowed Dark | Passive: healing +20% at intensity 0–1, −20% at 3 |
| 100 Moth’s Hand | Long Night | 12 s: the party heals for 15% of damage dealt |
| 100 | Moth’s Hand | Revive all Downed allies within 10 tiles at 30% HP (180 s cooldown) |
Longbow, range, marking targets. Sees farthest, shoots farthest.
| Tier | Skill | One line |
|---|---|---|
| 30 | Volley | Arc of arrows onto 8 targets, 200% |
| 30 | Steady Aim | Passive: after standing still 1 s, +15% crit rate |
| 30 | Waylight | 60 s: reveals hidden Lampghosts, gloamways and secret lightbridges to the party |
| 60 Wayfarer | Sunshaft Arrow | Charge 1.5 s: a line of Sunlight across the screen, 900% |
| 60 | Long Watch | Passive: +1% damage per tile beyond 6, to +20% |
| 100 Lodestar | Starfall | 40 arrows over 3 s on 12 targets |
| 100 | Last Light | Passive: crits on Seared targets deal +50% crit damage |
Lantern-baited traps and decoy lights. Makes the dark come to the trap.
| Tier | Skill | One line |
|---|---|---|
| 30 | Lantern Lure | Throw a decoy lantern: pulls up to 10 monsters for 3 s, Lampghosts for 5 s |
| 30 | Tripwire | Connect two traps; anything crossing is Staggered 1 s |
| 30 | Smoke Step | Hop back 5 tiles, leave smoke that Dazzles |
| 60 Falselight | Flashfield | 5 flash traps in a row; each Dazzles and Sears |
| 60 | Huntsmark | The party deals +15% to the target |
| 100 Marshlight | Dusk Net | A 20-tile net: holds every normal monster 4 s, fills a boss’s Poise 40% |
| 100 | Masterwork | Passive: trap cap 6, traps re-arm once |
Steps through gaps in the light; daggers from nowhere. Strongest in the dark.
| Tier | Skill | One line |
|---|---|---|
| 30 | Backstab | From behind, 280%, always crits |
| 30 | Gapstep | Teleport to the edge of any light radius within 10 tiles |
| 60 Nightseam | Eclipse Step | Teleport behind up to 5 monsters in turn, 300% each |
| 60 | Umbral Edge | Passive: +15% crit rate at intensity 0 |
| 100 Nobody | Snuff | 8 s: put out all light within 10 tiles, party lanterns too; her damage x1.6, Gloom does not drain |
| 100 | Thousand Cuts | Finisher, spends 100 Gloom: 12 hits of 150% |
Heartfire as motion: haste, slow, push, blink. She spends fire the way titans do: her strongest skills cost lantern fuel, not Heat.
| Tier | Skill | One line |
|---|---|---|
| 30 | Quicken | Party within 8 tiles +20% move and attack speed for 8 s |
| 30 | Drag | 6-tile field: monsters −40% move speed for 4 s |
| 30 | Shove | A 10-tile line push; Staggers normal monsters |
| 60 Waywright | Waystep | Swap places with an ally or monster within 10 tiles |
| 60 | Standstill | Monsters in 10 tiles are Tethered where they stand for 4 s; boss Poise +30%. Costs 15 fuel |
| 100 Worldturner | Turn Back | Normal monsters in 12 tiles are pushed back along their path for 3 s. Costs 20 fuel |
| 100 | Stride | Passive: skills that cost fuel gain +30% effect |
Evasion tank who wears the shapes of Lampghosts he has put out. He tanks as an absence; his taunts ignore the light and mote terms in Lampghost targeting.
| Tier | Skill | One line |
|---|---|---|
| 30 | Shroudmantle | Toggle: 20% evade, −15% damage taken, threat x2.5, Gloom −3 per s |
| 30 | Siphon | 160%, heals for 30% of damage dealt |
| 30 | Void Lure | Taunt 6 monsters; Lampghosts lured this way take +10% damage |
| 60 Facewright | Wear the Shape | 8 s: Lampghosts attack only him; Coldlight damage to him −40% |
| 60 | Devour Light | Strip one buff from an elite or boss; the party gains 20 fuel |
| 100 Thousandface | The Absence | 6 s: untargetable; pulls monsters within 8 tiles toward him |
| 100 | Unlit Heart | Passive: lethal damage instead leaves him at 1 HP for 3 s, healing from damage dealt (120 s cooldown) |
| Branch | Role | Kit in one line |
|---|---|---|
| Emberheart (Warden) | Striker | Skills spend his own fuel for damage; below 25% fuel he deals +30%; Lastlight burns the lantern out for a finisher and relights it at 20 |
| Linerunner (Ranger) | Striker | Grapples and tether-arrows that place ropes; attacks at full damage while climbing; Tethers monsters to ropes |
| Levels | SP per level | SP in tier | Skills in tier | Ranks | SP to max all |
|---|---|---|---|---|---|
| 1–9 (base) | 1 | 9 | 4 | 3, 1, 3, 3 (mobility 1) | 10 |
| 10–29 (Lodge) | 3 | 60 | 7 | 10 each | 70 |
| 30–59 (branch) | 3 | 90 | 8 | 10–15 | 105 |
| 60–99 (second name) | 3 | 120 | 8 | 15–20 | 140 |
| 100–120 (third name) | 3 | 63 | 6 | 10–15 | 75 |
Each tier can max about 85% of its tree, so there is a real choice, and nothing is a trap because respec is free in any hold out of combat. SP cannot be spent backward into an earlier tier after advancing. Rank 1 of every active skill comes with the advancement, so a player who never opens the tree still has all signature skills.
Desktop: two bars of 10. Gamepad: 12 skill slots (4 x 3 layers) plus 4 quick items. Mobile: 6 skill buttons (mobility among them), a situational page and 2 contextual buttons (2.4). Bars save per character per input method.
MapleStory’s late game lines every class up on a 2-minute burst: party buffs and big cooldowns are all stacked into one window, and a boss fight becomes a rotation of lining that window up. Classes start to play alike, and a missed window feels like a wasted fight. Here damage is steady:
The four base kits to level 20, at the grain of the Warden’s As-built
table (4.3): what skills.gd needs as data and what the sim
code must do. Every number not already in 4.2–4.4 or the As-built lines
is (proposed) (D35); the Warden’s base kit is as built
and is the baseline. Wave 2 of the class build (06-roadmap.md Phase 1)
implements these, then the balance pass tunes them in data only.
Conventions. Boxes are w x h in u, in front of the
body’s center as Skills.box lays them out. Times are ticks
at 60 Hz: Use is how long the skill holds the character
before the next action, and a multi-hit strike lists the tick each hit
lands on (each hit is its own swing id, so hit_by_swing
lets it land again). Skill% runs through 3.3 with the class’s own
primary and secondary (3.2). Cooldowns are in seconds and start on use.
“Hushed” blocks every skill but the basic, mobility included (3.6).
Prediction. Movement skills (Lantern Hook, Vault,
Blink, Flicker) run inside Zone.step_movement and cost no
resource, so the client predicts and replays them and the server agrees
(the Lantern Hook pattern, tests/test_net.gd). Everything
else is server-only: the client predicts its own swing or cast animation
and nothing more (3.1); damage, pools, traps, statuses and resource
changes come back in snapshots, the resource in the own-character block
when it changes. Two movement skills read server state: Blink is refused
while Hushed and Flicker’s length depends on light. The client checks
both against its latest snapshot (the Hushed timer, the light sources it
was sent); in the rare tick where they disagree, reconciliation snaps
the body back.
Auto-target (2.3). Strikes turn first as Sweep does
(Skills.turn: the nearest monster in the skill’s own box
ahead, else behind). Shots and bolts aim with aim.gd (45°
cone, 20 tiles, ±25°). Placed things (light pools, traps, marks) land on
the aim target, or at its feet, within the skill’s range, else at a
fixed spot ahead on the foothold below. Bursts centered on the character
need no target.
Ranks. The Warden has no skill points or ranks in the sim, so neither does this spec: skill points (4.6) wait for the skill tree. Base skills (2–8) ship at the numbers below, which are their top rank. Until the tree exists, Lodge skills auto-rank by level: Skill% and heals are the listed value x (0.7 + 0.03 x (level − 10)), so 70% at 10 and 100% at 20. Costs, cooldowns, durations and target counts do not scale (proposed, D37). All four Lodge actives come with the induction, as 4.6 says rank 1 does.
Every class’s basic attack swings or fires at its weapon’s use time; the weapon’s ATK and its gear budget (3.2: floor(1.5 iL) primary, floor(0.5 iL) secondary) are the same for every class, so an at-level Base (B, the hit at 100%) is the same number for all four. New items are appended (ids are append-only).
| Class | Primary / secondary | Starter (iL 1, ATK 5) | Mossway line, iL 3 / 6 / 9 | Use |
|---|---|---|---|---|
| Warden | Might / Aim | Pilgrim’s Shortsword | Thornwood, Brass, Hornsteel Sword | 21 (0.35 s), as built |
| Ranger | Aim / Might | Pilgrim’s Shortbow (proposed) | Thornwood, Brass, Hornsteel Bow: the existing ids, given iL 3 / 6 / 9 and moved from flat damage onto 3.3 | 23 (0.38 s) (proposed) |
| Kindler | Focus / Guile | Pilgrim’s Rod, as built | Thornwood, Brass, Hornsteel Rod, as built (ids 43–46, sold by the Hornsmith) | 24 (0.40 s), as built |
| Shade | Guile / Focus | Pilgrim’s Daggers (proposed) | Thornwood, Brass, Hornsteel Daggers (proposed) | 24 (0.40 s) (proposed) |
The Hornsmith sells every line at 11.2’s price (3.4 x iL² brass) and buys any back at a brass per item level. A weapon drop rolls the looter’s own class line (personal loot, 13.3). Arrows stop being consumed: a bow needs none, and the arrow ids stay as placeholders (proposed, D38).
Base kit as built (4.3). The Lodge tier is built at these numbers
(skills.gd), still proposed until the balance pass. Call to
Light and Lampstake hold the Warden in a swing that hits nothing for
their use time (TODO: cast animations). Taunted holds the monster’s
foe (3.7) on the Warden, so another player’s hit does not
take it, though the leash still does; Staggered zeroes its velocity each
tick, a monster in the air still falling. Neither lands on a boss (TODO
Poise). Lampstake is a light pool (as Kindled Edge’s, 7.9) tagged with
the Warden, so a new one replaces the old; Wide Glass lengthens it.
Light Behind Me is data and Skills.armor_bonus until armor
exists.
| Skill | Lv | Shape | Targets | Skill% | Use | Cooldown | Resolve | Status | Client |
|---|---|---|---|---|---|---|---|---|---|
| Sweep | 1 | 26 x 34 u | 3 | 100% | weapon | — | +4 per hit | — | as built |
| Brace | 2 | frontal block 1 s | — | — | 0 | 6 s | +20 per block | — | as built |
| Lantern Hook | 5 | 2.2 | — | — | 18-tick pull | 3 s | 0 | — | predicted, as built |
| Lanternbash | 8 | 28 x 34 u | 1 | 150% Heartfire | 30 | 1.5 s | −40 | Kindled | as built |
| Shield Bash | 10 | 30 x 34 u | 3 | 180% | 30 | 6 s | −20 | Staggered 1 s | server |
| Call to Light | 10 | the 4 nearest monsters within 8 tiles | 4 | — | 18 | 12 s | 0 | Taunted 3 s: they chase him (TODO threat, 3.7) | server |
| Lampstake | 10 | a light post at his feet: radius 6 tiles, intensity 1, 20 s; one at a time | — | — | 24 | 30 s | 0 | — | server |
| Light Behind Me | 10 | passive: +10% armor while the lantern is Open | — | — | — | — | — | — | TODO armor (3.4) |
Focus 0–100, full on spawn and respawn. +15/s with no move input while on a foothold, +6/s otherwise (walking, in the air, climbing), 0 from a Vault until landing. It never decays. Standing still is the Ranger’s damage; moving is its safety.
| Skill | Lv | Shape | Targets | Skill% | Use | Cooldown | Focus | Status | Client |
|---|---|---|---|---|---|---|---|---|---|
| Quickshot | 1 | an arrow as bows fire today: 380 u/s, gravity 300 u/s², 3 s life, auto-angled | 1 (stops on the first) | 100% | 23 | — | 0 | — | animation |
| Flare Arrow | 2 | the same arrow; where it first hits a monster or foothold it leaves a light pool, radius 5 tiles, intensity 1, 15 s; one per Ranger, a new one replaces it | 1 | 50% Heartfire | 24 | 10 s | −20 | — | server |
| Vault | 5 | jump pressed in the air once coyote time is over (or its key): vertical speed −196 u/s (70% of 280), horizontal set to the held direction x 90 u/s, so it can reverse; once per airtime, reset on landing or on a rope or ladder. Up to 21 u above the first jump’s apex | — | — | 0 | — | 0 | — | predicted |
| Split Shot | 8 | 3 arrows; each aims at a different target in the cone, nearest first; spare arrows go to the nearest; with no target they fan at 0° and ±8° | 3 arrows | 70% each | 27 | — | −30 | — | server |
| Piercing Shot | 10 | a flat arrow, 600 u/s, no gravity, 20 tiles, auto-angled; passes through monsters | 4 | 240% | 30 | 5 s | −30 | — | server |
| Snapjaw | 10 | thrown to the aim target’s feet within 6 tiles, else 2 tiles ahead; arms after 30 ticks; 16 x 8 u trigger; lasts 30 s; at most 2 (a third replaces the oldest) | 1 (first to touch it) | 150% | 24 | 8 s | −20 | Snared 2 s | server |
| Waymark | 10 | the aim target | 1 | — | 18 | 10 s | −15 | Waymarked 10 s | server |
| Dim Fletching | 10 | passive: a Lampghost hit by your shot from beyond its aggro range (3.7) is not turned toward you | — | — | — | — | — | — | server (behaviours.gd) |
Range is the Ranger’s edge and the Shroud is its cost: a Lampghost beyond the Ranger’s own 6-tile lantern stands at intensity 0 on a Dusk map and takes half damage (6.6). Flare Arrow is how a Ranger fights at range.
As built (game/sim/ranger.gd, rows 18–25 in
skills.gd): the numbers above, as data. The attack input
fires Quickshot (combat.gd); every shot is an arrow in the
zone’s projectiles with its skill, Skill% base and target
cap, flown by Ranger.fly, and holds the Ranger for its use
time on the swing timer with no reach. Damage runs through 3.3 off the
bow Ranger.weapon picks: the selected one her level draws,
else the best carried, else the Pilgrim’s Shortbow’s numbers (item 43).
The Hornsmith sells the three bows beside the swords, and a Ranger’s
arrows need no ammo. Snapjaws are zone.traps, and Snared
and Waymarked are fields on the monster stepped in
combat.gd (Snared stops its walking); Waymark’s +10%
applies in Combat.hurt_enemy before the Shroud. Dim
Fletching puts back the Lampghost’s previous foe after a hit from past
its aggro range. Protocol v10 carries the others’ classes (only when
they change), a Ranger’s Vault (in her own block only), monster statuses
(only for monsters that have one), the arrow’s skill and the traps, so a
class’s fields cost nothing in anyone else’s snapshot. The Lodge yard’s
creation hands each class its starter weapon; the Shortbow fallback
stays as a safety net. TODO: Flare Arrow’s Heartfire (3.5); weapon drops
by the looter’s class line; ammo for a Warden’s bow stays as it was.
Heat 0–100, 0 on spawn. Skills add Heat (below). Blazing while Heat is above 70: +20% to every Kindler skill’s damage, Spark included, and the lantern burns 1.5x where fuel burns (6.5). Overheat on reaching 100: Hushed 2 s (120 ticks), Heat set to 40 and held there until the Hush ends. Heat falls 8/s once 60 ticks pass without starting a skill. The skill is riding the 70–99 band without tipping over; Vent is the release valve.
| Skill | Lv | Shape | Targets | Skill% | Use | Cooldown | Heat | Status | Client |
|---|---|---|---|---|---|---|---|---|---|
| Spark | 1 | a bolt from her center, 240 u/s, 8 tiles of travel; locks the aim target if within 8 tiles and turns toward it at up to 720°/s; passes footholds; with no target flies straight | 1 | 100% Heartfire | 24 | — | +3 | — | animation |
| Kindle | 2 | a light pool on the aim target’s feet within 8 tiles, else at hers: radius 5 tiles, intensity 1, 10 s; one per Kindler | — | — | 18 | 12 s | +10 | — | server |
| Blink | 5 | 6 tiles (48 u) in the held one of 8 directions (none: facing); walks the line in 2 u steps and lands at the farthest point before it would cross a ground foothold where the body fits (platforms are passed); fails at no cost when nothing fits; vertical speed 0 after; i-frames 9 ticks | — | — | 0 | 1.5 s | 0 | — | predicted |
| Flareburst | 8 | a circle of radius 3 tiles (24 u) on her center | 4 | 140% Heartfire | 30 | 4 s | +15 | Kindled | server |
| Heartfire Lance | 10 | a 96 x 12 u line ahead (12 tiles), instant, turns like a strike | 6 (4.4 says 8; 3.1 caps the Lodge tier at 6) | 200% Heartfire | 36 | 3 s | +20 | — | server |
| Warm Hands | 10 | the party member within 8 tiles lowest in life (herself if no one is lower), then one more within 6 tiles of the first | 2 | heals 8% of max life, 4% to the second | 24 | 6 s | +10 | — | server |
| Vent | 10 | a circle of radius 4 tiles on her center; needs 10 Heat | 6 | 3% per Heat point, then Heat 0 | 30 | 8 s | all | — | server |
| Rationed Fire | 10 | passive: Overheat refunds 10 fuel where fuel burns | — | — | — | — | — | — | server |
As built (game/sim/kindler.gd, numbers in
Skills.DEFS): every row above at its listed numbers, Lodge
skills auto-ranked. A cast holds her as a swing that strikes nothing
(swing_targets 0), so clicks with a rod and the skill keys
share one use time and the view draws a cast. Spark is a projectile
(projectile.gd skill), hits through
Combat.hurt_enemy, and is her click with a rod. A new
Kindler’s Pilgrim’s Shortsword is a Pilgrim’s Rod
(Kits.assign). Hushed blocks all but the basic in
Skills.can_use, so Blink, predicted, is refused from the
Hush the client has from its own-character block. Statuses, the Hush and
Spark’s homing are server-only. Protocol v11 adds hushed
and swing_skill after a Kindler’s kit cooldowns, the class
and the skill swinging to a non-Warden’s player row, and the skill to a
Spark’s projectile row; a Warden’s snapshot is unchanged, to stay under
the bandwidth test’s limit. TODO: Kindle pools reach clients as plain
lights, so only a local sim draws their glyph ring.
Gloom 0–100, 0 on spawn. +8/s while the light at her center is intensity 0, +4 per hit landed (each target, each hit), −4/s at intensity 2 or more, and +2/s while Crack the Glass is on, added to the rest. It does not decay out of combat. In a field her own lantern lights her, so intensity 0 means hooding: a Hooded Shade can still use Shade skills (6.3), moves at 80% and hoods for up to 20 s. Coldlight ignores the Shroud (3.5), so in the dark she still hits Lampghosts for full damage.
| Skill | Lv | Shape | Targets | Skill% | Use | Cooldown | Gloom | Status | Client |
|---|---|---|---|---|---|---|---|---|---|
| Quick Cut | 1 | 22 x 30 u; hits on ticks 4 and 12 | 2 | 55% x 2 | 24 | — | +4 per hit | — | animation |
| Crack the Glass | 2 | toggle: Quick Cut deals Coldlight; her lantern radius −2 tiles | — | — | 6 | 1 s between toggles | +2/s while on | — | server |
| Flicker | 5 | dash 5 tiles (40 u) along her facing in 8 ticks, 8 tiles (64 u) if the light at her center is 0 when it starts; passes through monsters and takes no touch damage; no gravity during; i-frames 12 ticks; once per airtime | — | — | 8 | 2 s | 0 | — | predicted |
| Shadow Fang | 8 | 30 x 30 u | 1 | 160% Coldlight | 30 | — | −70 | Cut | server |
| Twin Fang | 10 | 28 x 30 u; hits on ticks 4, 10, 16 and 22 | 1 | 80% x 4 | 36 | 5 s | −60 | Cut, one stack from the first hit | server |
| Fan of Knives | 10 | 40 x 30 u ahead | 6 | 170% | 30 | 4 s | −30 | — | server |
| Nightveil | 10 | stealth 3 s; the first skill used from it deals x2 on its hits (not on its Cut) | self | — | 6 | 15 s | 0 | Stealth | server |
| Absent | 10 | passive: +10% evade at intensity 0 (a touch that misses deals nothing) | — | — | — | — | — | — | TODO evade |
As built (game/sim/shade.gd, rows in
Skills.DEFS): the table above, with these choices. A strike
with hit ticks opens a fresh swing id on each, so Combat’s swing hits
land each one. The Shade’s click is Quick Cut. Crack the Glass toggles
on the press, not while held. Crack the Glass and Nightveil hold her for
their use time as a swing that hits nothing. Lodge-tier Skill% is scaled
by rank (70% at 10, +3% a level). Cut is a list of
[owner, damage, ticks left, coldlight] stacks on the
monster. It ticks through Zone.bleed, which neither knocks
back nor counts as a hit landed (no Gloom). Nightveil takes her out of
the monsters’ target list (brains.gd, so native and
GDScript agree). Her first strike from it hits x2 (not its Cut) and ends
it. She shows at 60% to herself and 30% to others (TODO: her party at
60%). Gloom fills dark violet with an ember edge. Coldlight is a hit
flag that skips the Shroud (Light.lampghost_damage). TODOs:
* No hooding exists yet, so intensity 0 comes only from dark places. *
Absent unlocks but does nothing until evade (3.4) exists. * No Pilgrim’s
Daggers item exists yet: she strikes with the carried melee weapon, as
the Warden does, and is drawn with daggers.
Only a skill that names a status applies it: a heartfire hit is not Kindled, nor a physical hit Cut, unless its row says so (proposed, D36; 3.5 and 3.6 read as if every such hit applies, which would add up to 80–90% to every basic). Damage over time uses the applying hit’s rolled damage and element, rolls nothing new, and ticks once a second from when it was applied. Bosses take control statuses as Poise (3.6; TODO Poise).
| Status | On | Applied by (Phase 1) | Duration | Exact effect | Stacking | Source |
|---|---|---|---|---|---|---|
| Kindled | Monsters | Lanternbash, Flareburst | 4 s | 20% of the applying hit each second, Heartfire | 3 per monster per player; a 4th replaces the one with least time left | 3.6 |
| Cut | Monsters | Shadow Fang, Twin Fang | 6 s | 15% of the applying hit each second, in its element | 5 per monster per player, as Kindled | 3.6 |
| Snared | Monsters | Snapjaw | 2 s | Horizontal speed 0 and no jumping; it can still turn and touch | Refreshes | 3.6 |
| Staggered | Monsters | Shield Bash | 1 s | No moving, turning or attacking; its touch still hurts (proposed) | Refreshes | 3.6 |
| Taunted | Monsters | Call to Light | 3 s | Targets the taunter (the field chase in 3.7) | Newest wins | proposed |
| Waymarked | Monsters | Waymark | 10 s | +10% damage taken from the Ranger and her party | One per monster, newest wins | 4.4 |
| Hushed | The Kindler | Her own Overheat | 2 s | No skills but the basic, mobility included | Refreshes | 3.6, 4.2 |
| Stealth | The Shade | Nightveil | 3 s, ends on her first attack | Monsters drop her as a target and ignore her unless she attacks; other players see a 30% shimmer, her party 60% (proposed) | — | 4.4 |
As built (game/sim/statuses.gd): Kindled and Hushed;
Kindled stacks on enemy.statuses, ticks in
Combat.step through hurt_enemy with no
knockback and no resource gain, and stops if the player who applied it
leaves the zone. A status comes from the status field of a
skill’s DEFS row (Lanternbash, Flareburst). Lanternbash
applying Kindled breaks the earlier Warden parity on purpose: a Warden’s
Lanternbash now deals 20% of its hit a second for 4 s more (the “with
Kindled” column below). The native path is untouched, since statuses are
script-only and spike S1b’s world has no players. TODO: the other
statuses with their kits.
Elements other than these statuses’ own stay a TODO, as for Lanternbash: no element multipliers (3.5) until elements exist. Seared, Shrouded and Lit are the light’s (6.6) and already built.
The per-class kit table classes-core builds (level → skill) is the Lv column of each table above: 1, 2, 5 and 8 on reaching the level, the Lodge tier when the induction quest completes at 10 or later. The level-20 cap stays data. Default bars (keyboard; 2.4): the basic on Ctrl or J, then keys 1–6 in this order. The mobile core page is the same six, mobility nearest the thumb.
| Class | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| Warden | Brace | Lantern Hook | Lanternbash | Shield Bash | Call to Light | Lampstake |
| Ranger | Flare Arrow | Vault | Split Shot | Piercing Shot | Snapjaw | Waymark |
| Kindler | Kindle | Blink | Flareburst | Heartfire Lance | Warm Hands | Vent |
| Shade | Crack the Glass | Flicker | Shadow Fang | Twin Fang | Fan of Knives | Nightveil |
Sustained damage per second in B (the at-level hit at 100%, 3.3: about 29 at level 5, 88 at 10 and 327 at 20), from a 60 Hz run of 120 s against still dummies at intensity 1 (Lit), no crits (5% for +50% is the same 1.025 for everyone) and mean variance, damage over time included. Each class runs a fixed priority: Warden Shield Bash, then Lanternbash with 40 Resolve (single target only), then Sweep. Ranger keeps Waymark up, then Piercing Shot, Snapjaw and Split Shot whenever Focus allows, then Quickshot. Kindler casts Vent at 85+ Heat, then Lance, then Flareburst, then Spark. Shade opens with Nightveil, then Fan of Knives (3 targets), Twin Fang, Shadow Fang at 70 Gloom (from 10, only when Gloom is full), then Quick Cut with Crack the Glass on. Utility (Brace, Kindle, Flare Arrow, Warm Hands, Call to Light, Lampstake) is left out.
| Level | Warden (as built) | Warden (with Kindled) | Ranger | Kindler | Shade | Spread |
|---|---|---|---|---|---|---|
| 5, single | 2.86 | 2.86 | 2.62 (moving 2.62) | 2.71 | 2.75 (dark 2.75) | 9% |
| 10, single | 2.85 | 3.08 | 3.09 (moving 2.83) | 3.02 | 3.23 (dark 3.34) | 7%; 13% against as built |
| 20, single | 2.93 | 3.16 | 3.28 (moving 2.95) | 3.31 | 3.41 (dark 3.57) | 8%; 16% against as built |
| 5, three targets | 8.57 | 8.57 | 2.62 | 2.71 | 5.50 | |
| 10, three targets | 8.50 | 8.50 | 3.70 | 5.58 | 5.78 | |
| 20, three targets | 8.77 | 8.77 | 4.16 | 6.45 | 6.39 |
The yard (10-operations.md §4) runs
each class at level 8 with its level-5 mobility. The dummies never die
(life refills at 0), show damage numbers and count as level 8. One is a
Lampghost dummy that is Shrouded outside light, one swings at the front
every 2 s, and the yard has a lit end (a static light) and a dark corner
(no light). What each class shows in 30 s:
| Class | 30-second demo |
|---|---|
| Warden | Sweep a row of 3 dummies at once; Brace the swinging dummy and see Resolve jump 26; Lantern Hook to the upper platform; Lanternbash once Resolve passes 40 |
| Ranger | Quickshot a dummy 16 tiles off across a gap and see half numbers (Shrouded); Flare Arrow it and see them double; Vault across the gap and reverse mid-air; Split Shot 3 dummies; stand still and watch Focus refill faster |
| Kindler | Spark homes onto a dummy on a higher platform; Kindle under it, step in, and see Seared numbers; Blink up through a platform and across; Flareburst a ring of 4; keep casting into Blazing (the bar’s band glows), then Overheat (Hushed 2 s, Heat to 40) |
| Shade | Quick Cut the Lampghost dummy in the dark corner: half numbers; Crack the Glass and see them whole; hood and watch Gloom climb 8 a second; Flicker 8 tiles from the dark, 5 from the light; Shadow Fang at 70 Gloom and watch Cut tick |
As built (game/sim/yard.gd, map 20): the dummies are
creature kinds 8 (Training Dummy) and 9 (Archery Butt),
dummy and shrouded both: every one takes half
outside light, so the lit row by the west lamps and the dark corner
under the drill shed teach the same lesson for any class. They have no
touch damage, no drops and no xp. Switching class keeps the spot and
resets everything else to a fresh level-8 character. A class whose
skills are not built yet is still playable and choosable;
its panel shows those skills as coming soon. A new character starts with
its class’s starter weapon (Classes.STARTER; D38). Still to
build: the dummy that swings at the front (for Brace).
From target time per level, the grind rate and a 1.15 multiplier for a typical quest/dungeon mix:
xp_to_next(L) = round( 1.15 * t(L) * K(L) * mob_xp(L) )
t(L) = target minutes per level, piecewise-linear through
(1, 1.5) (10, 6) (20, 14) (30, 27) (45, 52) (60, 75) (80, 105) (100, 132) (119, 160)
K(L) = at-level kills per minute = 14 + 10 * min(L, 60) / 60
mob_xp(L) = round(6 + 1.6 * L^1.45) normal monster at level L
The table is generated into a data file and is a save-format constant
once shipped (appended to on cap raises only). Built:
XP_TO_NEXT in game/sim/progression.gd, levels
1–60, with exact .5 ties rounded up (level 1 is 196). Phase 1 opens
levels to 20 (OPEN_CAP); XP stops there. A level adds its
Grit’s life (3.2: +10 a level over the starting 100) and refills it.
Monster levels are in game/sim/creatures.gd, from the atlas
bands (Puddling 1, Mossnip 3, Dandlehop 4, Shellmite 5, Thornpig 6,
Dimwing 7, Afternooner 9, Cinder Eye 20; 3.3). Kill XP is shared by the
party on the map (5.5).
| Level | XP to next | Mob XP | Kills/min | Minutes for this level | Cumulative hours to reach next |
|---|---|---|---|---|---|
| 1 | 200 | 8 | 14 | 2 | 0.0 |
| 5 | 1,370 | 23 | 15 | 4 | 0.2 |
| 9 | 4,410 | 45 | 16 | 6 | 0.5 |
| 10 | 5,510 | 51 | 16 | 6 | 0.6 |
| 15 | 16,510 | 87 | 16 | 10 | 1.3 |
| 20 | 36,000 | 129 | 17 | 14 | 2.4 |
| 30 | 134,500 | 228 | 19 | 27 | 5.9 |
| 40 | 356,000 | 343 | 21 | 44 | 11.9 |
| 50 | 721,800 | 471 | 22 | 60 | 20.7 |
| 60 | 1,266,800 | 612 | 24 | 75 | 32.0 |
| 70 | 1,897,800 | 764 | 24 | 90 | 45.9 |
| 80 | 2,683,500 | 926 | 24 | 105 | 62.3 |
| 90 | 3,587,800 | 1,097 | 24 | 118 | 81.0 |
| 100 | 4,652,400 | 1,277 | 24 | 132 | 102.0 |
| 110 | 5,933,200 | 1,465 | 24 | 147 | 125.4 |
| 119 | 7,251,100 | 1,642 | 24 | 160 | 148.5 |
Milestones: Lodge induction at about 45–60 min (10-operations.md §4), branch
at 6 h, second name at 32 h, third name at 102 h, cap at about 150 h.
The launch cap of 60 is about 32 h; each Act update raises it (9.1).
Elites give 8x mob XP, dungeon bosses 60x; quests are tuned in “minutes
of grinding at this level” (12.1).
Level difference on monster XP: full within ±5 levels; −10% per level beyond 5 above the player; −10% per level beyond 5 below, floor 10%.
| Band | Quests | Grinding | Dungeons and bosses | Events |
|---|---|---|---|---|
| 1–30 | 55% | 30% | 5% | 10% |
| 30–100 | 35% | 40% | 15% | 10% |
| 100–120 | 25% | 40% | 25% | 10% |
Hub rule. Levels 1–60: no more than about 45 minutes of pure grind between quest hubs. Above 60 a level takes 75–160 minutes, so that rule would need dozens of hubs per region; instead every region from the Combs on has at least three repeatable sources besides its story (dock quests, Guild contracts, its strata and the Deep), and its story covers about half its band. The Mossway is about 40 minutes of play on purpose: it is the prologue’s region.
| Mechanism | Rule |
|---|---|
| Wayfarer’s Mark (alts) | Once any character on the account reaches level L, others get +50% mob and quest XP up to L − 10 |
| Lodgemarks (alts, D26) | Each base class taken to 30, and each branch to 60, grants an account-wide unlock with no combat stats: a title and a cosmetic, plus one class convenience for every character (Warden: a storage tab; Kindler: hold-to-hold travel at half brass; Ranger: rope and lightbridge spots found by any character show on every character’s map; Shade: the same for gloamways). MapleStory’s Legion and Link Skills make alts worth playing; Lodgemarks keep that pull without adding power (5.6) |
| Lantern Link (level sync) | In a party, a higher-level player syncs down to a lower member’s region band: stats scale to the band’s top level, rewards to their own level |
| Story skip | A character created after any character on the account reached 60 may skip a region’s story with a summary (no quest rewards for skipped quests) |
| Catch-up week | One week per season: +50% XP for characters below the season’s median level |
No paid level boosts, ever.
MapleStory-style: a party splits a kill’s XP evenly with a bonus for its size.
party_xp = mob_xp * (1 + 0.10 * (min(size, 6) - 1)) +10% per extra member, up to 6
share = party_xp / size * level_modifier(member, monster)
Every member gets the kill (the kill counter, and quest credit once quests count kills). Solo, the share is exactly the old kill XP. Every member also rolls the loot for themselves (13.3); motes stay with the killer (7.2).
As built: worldd holds parties (worldd/party.go,
Postgres): up to 6 members, a leader, invites by character name or from
a player’s menu (right-click or tap) that run out after 60 s, leave,
kick and promote (the leader), the lead passing to the longest-standing
member online when the leader leaves, and a party that empties disbands.
A member who disconnects keeps their place for 5
minutes, then drops. The party finder lists
parties by a preset purpose (14.1’s categories, no free text), the
leader’s map, a level range and open slots; anyone in no party asks to
join and the leader accepts or declines. The game server polls worldd
every second, reporting who is online, and gets the state back only when
it changed (TODO: LISTEN/NOTIFY to each host once there is more than
one, 04-architecture.md
event bus). The party for a kill (game/sim/progression.gd)
is the killer, every living member of the killer’s party
anywhere on the same map, and every living player who
tagged the monster (13.1: 10% of its life, last hit within 10 s); a
member on another map shares nothing. A solo kill is the old award.
P opens the party window (lantern glass): members with
level, class, map and life, invite by name, leave, kick, promote and
join requests; a Finder tab with the listings and one’s own listing.
Party frames top left show the other members (level, name, life), greyed
with the map’s name when they are elsewhere or “Offline”. Each client is
sent its view of the party only when it changes
(game/net/party.gd). Offline, in dev and in scenarios (no
worldd), the old stub stands in: everyone in the zone within 40
tiles of the killer shares, and the frames show them.
How power grows, so every band plays like the first one. MapleStory is the lesson both ways: its maps for each band of levels, and the feeling of returning to an old map and clearing it in one swing, are worth copying; its power spread, where gear and paid enhancement put two characters of the same level orders of magnitude apart, is not. It makes content impossible to tune and turns progress into spending.
Time to kill stays fixed at level. A normal monster takes 1.0–1.5 s of an at-level character’s single-target damage at every level (3.3: monster HP is 3x the at-level basic hit). Progress shows as moving to the next band’s maps, not as killing the same monsters faster at the same level.
Outlevelling is felt. A character 10 levels above a normal monster kills it with one basic hit in Glass-grade gear (level 20 hits for about 330; a level 10 monster has 270 HP). Content tests check this for every band.
One level-difference table. Δ = monster
level − player level.
| Δ | Damage dealt (3.3) | XP (5.1) | Drops (13.3) | Aggro (3.7) |
|---|---|---|---|---|
| +3 or more | −8% a level beyond +2, floor 20% | Full to +5, then −10% a level | Full to +5, then −10% a level | Normal |
| −5 to +2 | Full | Full | Full | Normal |
| −6 to −9 | Full | −10% a level beyond 5 | −10% a level beyond 5 | Normal |
| −10 or less | Full | −10% a level beyond 5, floor 10% | No equipment; brass and materials at 10% | Normal monsters do not aggro on sight; they still fight back |
Group scaling. Open-world normal monsters and elites never scale with the number of players; maps are dense instead (17.2). Scaled content: world bosses (15.1: +4% HP per attacker beyond 10), Normal dungeons (HP and add counts x (0.4 + 0.1 x party size), so 1.0 at 6 and 0.5 solo), the raid (15.4).
Power ceiling. At any level, the best possible character of that level deals no more than 2x the damage of an at-level character in Glass-grade gear, and takes no less than half its damage. The budget above Glass-grade:
| Source | Share above Glass-grade (damage) | Bound |
|---|---|---|
| Grade (Ember-set, Titan-cut affixes) | about +30% | Affix tiers by iL (10.3) |
| Hornbinding +10 | about +20% | +40% of item base stats (10.4) |
| Set bonuses | about +8% | Never mandatory (10.6) |
| Reglyphed affixes | about +7% | Rerolls, not new affixes (10.5) |
| Food and potions | about +5% | 30 min, one at a time |
| Lantern Rank | 0% direct damage | Light, fuel and mote utility (6.2); light keeps targets out of Shroud, which the at-level baseline already assumes |
| Trip boons | 0% permanent | One trip; at most +15% to one source (7.9) |
| Total | about 1.8x, ceiling 2x | Checked by the content tests |
Nothing sold for money appears in this table (19.3). Tuning targets assume Glass-grade (open world, Normal dungeons) or Ember-set at +5 (Hard, Deep-touched, the raid).
Cap raises. Each Act update raises the cap (D1). A new band’s Glass-grade item beats the previous cap’s best Ember-set at +5 within 10 levels, so old gear carries the first band of new content and no more; Hornbinding transfers (10.4). The 2x ceiling means no stat squish is ever needed.
Accounts and alts. Alts speed up leveling (Wayfarer’s Mark, 5.4) and add no power to the main. A MapleStory-style roster bonus (power from levelling alts) was rejected for Lodgemarks (5.4, D26), which give unlocks and no power.
Something to show for every session. MapleStory always has a small number to raise (symbols, Legion, a star). A 2x ceiling removes most of that, so the increments must come from breadth instead: at every level band, a player’s median time between visible increments is 30 minutes or less. Increments are a level, a skill rank, a Hornbinding step, a Lantern Rank, a new gear piece, a boss-ladder clear (15.6), an Archive entry or a Lodgemark. Telemetry tracks it (22.2).
Light is who you are: how you fight the Lampghosts (Shroud, Lit, Seared), how you find what is hidden (lightbridges, gloamways), the light pools a party stands in and the dusk the whole world is drawn in. Below the surface it is also the reason a run turns back (fuel) and what it carries home (motes, section 7). It must matter in every region and never be a chore on a phone.
The slim lantern (2026-10-04). In the fields the
lantern never burns and carries nothing: caught motes bank at once, as
MapleStory’s meso would. Fuel, carrying, load, leaks and spills live
only in the strata and the Deep (08-scale.md §3–4), the roguelite
mode. Everything else in this section holds everywhere.
The renderer’s lighting is decoration. Gameplay light is computed in
the sim as circles: each source has a center, radius and intensity;
intensity at a point is the sum of the three strongest sources covering
it, capped at 3. Light passes through platforms (cheap and readable).
The renderer draws the same circles, so what you see is what the sim
uses. Every source has an id and is part of snapshots. Light queries are
part of the tick budget (04-architecture.md, spike
S2).
Built in game/sim/light.gd: a lantern’s id is its
player’s id and a map’s static lights are -1, -2, … in file order.
Covering is inclusive (a point exactly on the radius is lit). A dead or
Hooded player casts no light, nor does an empty lantern (fuel 0).
Every player carries a lantern in its own gear slot from the Lighting. It is never replaced, only improved, through Lantern Rank 1–30. In a field a rank is light: radius and wick sockets, so Lampghosts stay out of Shroud and the utility wicks fit. In the strata and the Deep it is also range: fuel capacity, burn efficiency and mote capacity decide how far a run can go and how much it brings back.
| Stat | Rank 1 | Rank 30 | Formula |
|---|---|---|---|
| Radius | 6 tiles | 10 tiles | +1 at ranks 8, 15, 22, 30; cap 14 with buffs |
| Intensity | 1 | 1 | Raised only by skills and states |
| Fuel capacity C | 100 | 200 | 100 + round(100 · (r − 1) / 29) |
| Burn efficiency e | 1% | 30% | r% |
| Mote capacity M | 60 | 234 | 60 + 6 · (r − 1) |
| Wick sockets | 0 | 2 | One at rank 15, one at 30 |
A rank spends motes from your banked total at a hold’s hearth (7.2), a crafted lantern part and a draw on your bound titan (7.3). Rank r → r + 1 spends 20 + 20r motes: about 9,300 to reach 30, a quarter of what a player banks on the way to cap. Typical rank by level: about 1 + L/4 (rank 5 at 20, 13 at 50, 20 at 80, 29 at 115). The glass color is cosmetic and set at creation.
Burn applies only where fuel burns (6.5); the rest holds everywhere.
| State | Radius | Intensity | Burn | Lampghost aggro range | Move speed | Notes |
|---|---|---|---|---|---|---|
| Open | Full | 1 | x1 | Full | 100% | |
| Shuttered | x0.5 | 1 | x0.5 | x0.5 | 100% | Lowlight’s Shutter mechanic; the Stay’s respect |
| Hooded | 0 | 0 | 0 | ÷3, ignored unless attacked | 50% (Shades 80%) | Only Shade skills usable; drains stamina; carried motes (strata, the Deep) gutter 1 per 10 s; stands on gloamways |
| Glare | x1.5 | 2 | x2.5 | x1.5 | 100% | Above full: any lantern in direct sunlight on a Sunlit map. Seared applies at once in your radius; Dazzled stacks every 20 s (3.6). Ends 2 s after leaving direct sun |
Shuttering is the quiet way to travel, and below the surface the cheap one: half the burn, but Lampghosts outside half your radius are Shrouded. Hooding stops the burn but halves your speed and locks your skills (and below, costs motes), so it is a way to slip past, not to travel.
Hood stamina. Every character has 100 stamina, shown as a thin arc on the lantern gauge only while it is below full. The hood drains 10 per second (Shades 5); at 0 the hood drops, the lantern relights Open and cannot hood again for 5 s. Stamina refills 20 per second while unhooded. A hood lasts 10 s (a Shade’s 20 s): long enough to slip past a pack, never a way to cross a map.
Glare is the lantern overcharging, not more safety. On the Cloudshelf tops it sears everything near it and stacks Dazzled on its bearer (3.6); where fuel burns it also empties the lantern in under an hour. Shuttering in direct sun keeps the lantern at Open instead (x0.5 radius, no Glare).
Each map has an ambient tier; caves and rooms inside a map can be darker. Lampghost share of spawns is set per region (17.1), not per tier.
| Tier | Where (02) | Base burn B per min (strata and the Deep only, 6.5) | Seen outside light |
|---|---|---|---|
| Sunlit | Cloudshelf tops, Highnoon’s held mirror-light, the Sunfoot’s west faces | 1.2, and an open lantern in direct sun goes to Glare (x2.5) | Full but washed out; Lampghosts are only a shimmer and are Shrouded outside your radius (sunlight drowns them, it does not unmake them) |
| Hearth | Holds, lit beacon radius, a docked titan’s dock map | 0, refuel available | Full |
| Dusk | The Mossway | 0 | Full color, dimmed |
| Dim | The Glasslands, Tallowmere, the Furrows’ first maps | 1 | Silhouettes beyond 20 tiles |
| Dark | The Furrows, the Combs, Highnoon’s streets, Wend’s Fall, first strata | 2.5 | Silhouettes beyond 12 tiles |
| Black | Under the Cloudshelf, Lowlight, second strata | 6 | Silhouettes beyond 8 tiles; Lampghosts show only their stolen embers |
| Lightless | The Sunfoot’s long shadows, the Deep’s lower layers, the raid’s third phase | 15 | Only light radii are drawn; faint outlines |
08-scale.md §1).Fields burn nothing. On every surface map, at every
tier, the lantern does not burn and nothing spends its fuel:
light-eaters only dim it (6.7) and the fuel costs below apply only under
the surface. A lantern still empties below and comes up as it went down;
a hold’s hearth fills it. Going home is a choice in the fields and a
necessity below. (Until 2026-10-04 every tier at Dim or darker burned,
which made every grind a forced trip home; 07-decisions.md, Settled.)
TODO: field forms for the branch skills that spend fuel (Emberheart,
Stridewright) before their season.
Why the old numbers failed. Motes used to be fuel. In Dark, 20 kills a minute x 40% Lampghost x 25% mote chance x 2 fuel = 4 fuel in against 3 out: the lantern never ran dry. In the old darkest tier, 6 in against 6 out. Respawning refilled the lantern for free and hooding was free travel. Now motes are cargo, not fuel, wherever they are carried. Nothing in the strata or the Deep refills a lantern except oil and your party, so every tier there drains.
Fuel sources
| Source | Amount | Cost |
|---|---|---|
| A hold’s hearth (any hold) | Full in 5 s | No brass; draws 1 mote of vigor per 2 fuel from that hold’s titan |
| A lit beacon | Full in 5 s, in its radius | Draws 1 mote per 2 fuel from the beacon’s titan |
| Lantern oil (Chandler-made, or vendor) | +40 per flask, 10 s cooldown | 2 x level brass per flask; no vigor. Used only from the oil belt: 3 flasks (4 at Guild rank Flame), refilled at holds, camps and beacons; needed only below the surface |
| Tender’s Lend Light | +30 | 30 of her fuel |
| A docked titan’s Heartwarm | Burn x0.5 in the strata under its dock map and the maps beside it | — |
| Wend’s warm veins (Wend’s Fall, Cooling) | +20 per vein, the vein cools for 60 s | Free: Wend is dead, no living titan pays |
| Relit after going out | Fuel you died with, minimum 20; respawn never refills more | The fixed relight draw (7.3) |
Oil and the hearth are the first dilemma: oil costs you brass, the hearth costs a titan.
Per-tier drain, below the surface. Effective burn = B x (1 − e) x 1.25. The 1.25 is the average mote burden over a run (burn rises with load, 7.2; a lantern that fills evenly averages half full: 1 + 0.5 x 0.5). Capacity and efficiency at the typical rank for the band (6.2). Strata are darker than the surface above them (6.4), so a band’s stratum runs a tier or two down this table.
| Tier | Band, rank | C | e | B | Effective burn /min | Tank alone | Tank + 3 oil (+120) | Design intent |
|---|---|---|---|---|---|---|---|---|
| Dusk | 1–10, r1–3 | 100–107 | 1–3% | 0 | 0 | Endless | — | Never a limit |
| Dim | 20, r5 | 114 | 5% | 1 | 1 x 0.95 x 1.25 = 1.19 | 114 / 1.19 = 96 min | 234 / 1.19 = 197 min | Taught, never forces a return |
| Dark | 50, r13 | 141 | 13% | 2.5 | 2.5 x 0.87 x 1.25 = 2.72 | 141 / 2.72 = 52 min | 261 / 2.72 = 96 min | One tank is one trip; oil makes a long session |
| Sunlit, in Glare | 48, r12 | 138 | 12% | 1.2 x 2.5 = 3 | 3 x 0.88 x 1.25 = 3.30 | 138 / 3.30 = 42 min | 258 / 3.30 = 78 min | Drop under the cloud or go home |
| Black | 80, r20 | 166 | 20% | 6 | 6 x 0.80 x 1.25 = 6.00 | 166 / 6.00 = 28 min | 286 / 6.00 = 48 min | Beacons matter |
| Lightless | 115, r29 | 197 | 29% | 15 | 15 x 0.71 x 1.25 = 13.3 | 197 / 13.3 = 15 min | 317 / 13.3 = 24 min | A party plans its light |
A Blazing Kindler burns 1.5x on top. The first time fuel is a real
limit is the first Dark stratum (level 30–35). Runs target p50 20–40
minutes, with most returns at 10–40% fuel (22.2). The fuel
bot checks each row and that a field never burns (22.1).
Positioning around light is the core tactic in Lampghost fights; the Protector is the brightest player; spreading out costs damage.
Lamplickers, Dimwings and Sootbears Gutter lanterns they touch; Snuffer Zealots and black fen-water Douse them; Cinderkin drain 3 fuel per hit below the surface. In a field these dim the light and never touch the fuel. Bosses can put out all player light for a phase, turning the fight into a beacon-and-Coldlight fight.
Every map at Dim or darker has 1–3 beacons: braziers on fixed footholds, the Guild’s waystations into the dark. Lowlight has none: the Stay will not have heartfire burning in their country (its banks are moth-skiff drops and the Tetherline at Stairfoot).
Built for the Low Lamp (game/sim/beacon.gd, 11-prologue.md §8, D75, D76): a
map’s beacons key places the braziers, and the rules above
run as written, with the details these leave open set in D75 and
D76.
04-architecture.md), so a
light hack shows nothing.Socketable lantern mods (sockets at Lantern Rank 15 and 30), one of each kind. Crafted by Lampwrights and dropped in dungeons; tradeable.
| Wick | Effect | Ships |
|---|---|---|
| Steady wick | −20% burn (strata, the Deep) | Launch |
| Wide wick | +2 radius; intensity counts only in your inner radius | Launch |
| Kindling wick | Normal Lampghosts in your light are Kindled for 2% of max HP per s | Launch |
| Carrier wick | +25% mote capacity, +10% burn (strata, the Deep) | Launch |
| Hush wick | Shutter and hood are instant and grant 1 s stealth | Later |
| Moth wick | Cinderkin target you 50% less | Later |
| Signal wick | The party sees you on the minimap through walls | Later |
This is the twist made into a mechanic. 01-world.md §1: every lantern lit
from a titan is a step it does not take; a Lampghost put out releases
that fire as motes, and fire that goes home is a step given back. 08-scale.md §1 owns the Sunline,
the Strides and the Dawnmarks as rules; this section sets their inputs,
costs and thresholds.
The Sunline is one server-wide number: the titans’ net vigor. Every draw of fire lowers it, every mote banked raises it, and worldd nets it at each Turning boundary. Its level sets the world’s Stride for the next Turning (7.5). Before Morrow is born the sun does not move, whatever the Sunline does (7.6).
Units: a mote is the light of one small Lampghost; 100 motes = 1 step, the fire one lantern holds when lit. Every draw and return is also tagged with the titan it came from, for the player’s Ledger, Titan Favor and the Listeners’ signs.
In the fields it is no loop at all, by design: a caught mote goes
home and the fight goes on, as in MapleStory. The strata and the Deep
keep the whole loop, carry and risk included, as the roguelite mode (08-scale.md §3–4). A map’s
carry_motes flag says which a map is.
Built rough in game/sim/lantern.gd and
mote.gd (Phase 0): fuel, carried and banked motes on the
player; a released mote picks its lantern when it is released (the
killer’s if within 12 tiles of its body, else the nearest lit one within
3) and homes in, otherwise it falls as a spark; spills gutter even while
their map is empty. A map’s optional carry_motes flag
(false for every field and hold; the Deep and the strata turn it on) is
the slim rule: without it a caught mote banks at once to
banked and the Sunline, nothing burns, leaks or spills, and
carried motes bank on arrival; with it the lantern burns by tier and
load, carries up to capacity, leaks at fuel 0 and spills on going Out. A
map’s optional hearth rect banks every carried mote on
entering it (on a carrying map) and refuels the lantern in 5 s (no rank
spending yet), and the server keeps the Sunline in memory.
The dilemma on every run below. Push deeper (more motes, darker, faster burn, Lampghosts hunting your bright lantern) or turn back. Bank at the near beacon (safe, but a titan’s fire may have lit it) or carry to a docked titan (Homecoming: +25% Favor). Go dark with a full lantern and strangers carry your work home. In a field there is no dilemma by design: the fight and the build are the game, and every mote goes home.
The inputs 08-scale.md §1
lists, with their values. Every draw is computed by the server and
charged to the titan whose fire is used and, where a player caused it,
to their Ledger.
| Draw | Amount (motes) | From | When |
|---|---|---|---|
| A new character’s Lighting | 100 (1 step) | Mossback | Once |
| Relit after going dark | 20, fixed | The beacon’s or hold’s titan | Each time |
| Hearth or beacon refuel | 1 per 2 fuel | That hold’s or beacon’s titan | Each refuel |
| Drawn beacon | 100 at kindling, then 5 a minute while lit (75 per Bell) | Nearest living titan | Each kindle |
| Lantern rank-up | 25, plus the 20 + 20r motes the rank spends (6.2) | Bound titan | Each rank |
| Lantern upkeep | 1 a minute a character spends outside a hold with its lantern lit | The titan it was lit from (its bound titan) | Continuous, netted at the Turning |
| Banked motes poured into a beacon | As poured | No titan (the Sunline only) | Each pour |
| Rebinding to another titan (8.7) | 100 | The new titan | Each rebind |
| Hold standing lamps | 50 per character bound to that hold who played that Turning | That hold’s titan | At the Turning |
| The titans’ age drain | 2% of W (7.5) | All, evenly | At the Turning |
| Relighting a Downed ally, oil, Wend’s veins, carried motes poured into a beacon, Surge relights | 0 | — | — |
Upkeep is the fuel the fields no longer show: the lantern never burns in a field because its titan pays for the light instead, and the Ledger says so.
The Ledger is Reeve Tamsey’s habit, now everyone’s:
drawn and returned this Turning, per titan, in the lantern panel. It
never blocks play. Before level 60 the Guild labels it “Lanterns lit /
motes home”. At the first revelation (01-world.md §1.7, level 60) its
labels change to “Steps taken from Mossback / steps given back”. The
reveal changes the UI.
| Return | Sunline credit | Titan Favor (to you, for that titan) |
|---|---|---|
| Caught in a field (banks at once) | 1 per mote | 1 per mote |
| Carried out from below: at a beacon or on reaching the surface | 1 | 1 |
| Homecoming: carried from below to a docked titan or a hold’s hearth | 1 | 1.25 |
| Arrived on its own inside a docked titan’s Heartwarm, below | 1 | 0.5 |
| Party bank: caught or banked within 30 tiles of party members on distinct accounts and distinct devices | x1.25 | Unchanged |
| Carried home from someone else’s spill | 1 | 1 |
| Put out on a titan’s flank during a Crossing (auto) | 1 | 1 |
| Spent on Lantern Rank | Drawn back out (7.3) | Unchanged |
| Crossing won (all three posts held), per channel instance | 300 to that titan | 100 each (8.5) |
| Raid clear (the Second Noon), each character’s first clear per Turning | 500 | — |
| The Deep, each character’s best run per Turning | 20 per depth tier | — |
World bosses pay through their motes (50 per eligible attacker, banked as caught like any other field mote). Grants come once per character per Turning, so they cannot be farmed.
Caps (the defenses 08-scale.md §10 names):
| Cap | Value | Beyond it |
|---|---|---|
| Sunline, per character per day | 400 motes of credit | Motes still pay the player (Favor, the banked total) but add 0 to the Sunline |
| Sunline, per account per day | 1.5x one character’s cap | Same |
| Same map, per character per Bell | The first 40 motes caught on one map count fully | 25% Sunline credit |
| Trust weight | 1.0 for an established account; 0.25 for a new account’s first 7
days; set lower by bot score (04-architecture.md §9) |
Flagged accounts weigh 0, silently |
| Favor, per character per Turning | 2,500 motes in full, the next 2,500 at 50%, beyond 5,000 at 10% | — |
400 motes is about 2.5 hours of play: a normal evening counts fully, a bot’s 24-hour day does not. A character whose Turning Ledger is net positive gets a weekly Kept the Light chest (Favor and Guild tallies) at reset.
The Sunline S is a stock, in motes. W is the world’s average gross draws per Turning over the last four Turnings (floor 50,000), so thresholds scale with population. At each Turning boundary, and only then:
S ← clamp(S + weighted credits + grants − draws − age drain, −0.75W, +1.0W)
A new world starts at S = 0. The Stride for the coming Turning is set
from S, announced on the event bus a day ahead (04-architecture.md §4), and
published in the Almanac calendar at reset. A live forecast shows at
each Listener during the week; it binds nothing.
| S at the boundary | Stride | For the coming Turning |
|---|---|---|
| < −0.25W | Faltering | Each titan skips one dock (its hours go to the previous dock); crossings take 90 minutes; Greyhorn charges every loop; Heartwarm radius 0 (motes fly home only at the dock foot); camp-to-camp Tetherline routes close (hold routes stay); Drawn Lampghost x2 at docks |
| −0.25W to 0.25W | Steady | The routes in 8.3; Heartwarm radius 60 tiles |
| 0.25W to 0.6W | Striding | One extra dock per loop (hours borrowed from the titan’s longest dock); Heartwarm radius 90 tiles and its effects +50% |
| ≥ 0.6W | Surging | Striding, plus each titan’s rare dock and opening (below) |
| Titan | Listener’s sign | Faltering skips | Striding extra dock | Surging rare dock and opening |
|---|---|---|---|---|
| Mossback | Moss color: white, yellow, rust (Old Ponder) | The Glasslands north rim; kneels those hours at the Mossway | Kneels at the Soak, 4 h (an extra Kneeling) | The First Print, a hidden Mossway map at his oldest footprint |
| Greyhorn | Quartz on the hide; the charge bell (Hornspeaker Gell) | The Combs south mouth; each Charge is a Rampage that also swings Brazenbrow’s gimbals | Glassbreak Fields, 4 h | The Tapyards’ sealed cradle in the Taplines during his Highnoon dock |
| Ystra | Her song (Cantor Spry) | The songwater pass over Tallowmere | Her fluke stair at Highnoon, 6 h (a foot dock outside the Long Song) | Passes low over the Furrows (kite-skiff link, 6 h); the Sealed Stacks’ first reading room opens |
| The Moth Queen | Wing-warmth (Lisle) | Her Wend’s Fall leg flies to Lowlight instead; the Velvet Market closes 15 minutes early | One Combs-rim leg a day flies over Highnoon’s Gilt Row | Hangs low over Lowlight for one Glow a day (moth-skiffs to the Sunken Road, no foot dock); the Brood Deep’s sealed cell opens |
Strides never take away earned progress and never cut anyone off from their bound hold. Every region stays reachable on foot and by Tetherline in any Stride, and every loop still fits the Turning (8.3). Strides never change a map’s ambient tier (6.4).
Two Stride events: the Vigil (Surging two Turnings running: a one-hour world event and a story vignette in each hold) and the Stumble (Faltering two Turnings running: one titan stumbles mid-crossing and that Crossing becomes a rescue, with more Lampghosts and larger rewards).
08-scale.md §1; Acts in 9): the
Pale Tenant put out (Act III), Morrow’s birth (Act V), and after Morrow
one per season. It lands only if the Act’s event is won
and S is Steady or better at that Turning’s boundary;
otherwise the world retries the next Turning.08-scale.md §4): the brighter the
world, the deeper the dark.04-architecture.md §4);
worldd applies the caps and trust weights.Per player-hour of typical play at mid levels, to show where the Sunline goes and what tilts it. Thresholds are fractions of W, so population does not move them; the constants are re-based each season from live data.
| Flow | Motes | Arithmetic |
|---|---|---|
| Caught | 160 | ~4 motes/min x 40 min fighting, a quarter of it below the surface |
| Lost (sparks not caught; spills, leaks and overflow below) | −8 | 5%: 2% of field catches, 15% of the quarter caught below |
| Banked | 152 | |
| Credited | 163 | 30% of banks are party banks: 152 x (1 + 0.3 x 0.25) |
| Drawn: lantern upkeep | 48 | 48 minutes outside a hold x 1 |
| Drawn: hearth and beacon refuels | 10 | below only: 0.3 tanks of 140 fuel, half from oil: 0.3 x 140 x 0.5 / 2 |
| Drawn: Drawn beacons | 27 | 3 kindles per map-hour, two-thirds Drawn, ~15 players per active map: 3 x 200 x 2/3 / 15 |
| Drawn: relights | 20 | about one going-dark per hour x 20 |
| Drawn: lantern ranks | 39 | about a quarter of what is banked while ranking, 34, plus 0.2 rank-ups per hour x 25 |
| Drawn: standing lamps | 5 | 50 per character per Turning / ~10 h played |
| Drawn: new characters | 2 | one per 50 player-hours x 100 |
| Drawn: age drain | 3 | 2% of draws |
| Drawn | 154 | |
| Net | +9 | about +0.06W per Turning: Striding after about four healthy Turnings |
If players solo, never pour and buy no oil (credited 152; refuels 21; every beacon Drawn, 40), draws total 179 and the net is −27 an hour, −0.15W a Turning: Faltering within about two Turnings. If players party up (half of banks) and use oil below (credited 171, drawn 144), the net is +0.19W a Turning: Striding in about two Turnings and Surging soon after. The server’s habits decide how its titans walk.
Combat is MapleStory’s: platforms cleared with a few hotkey skills. Each trip is a roguelite run on top of it (decided 2026-10-04): the same skills, built differently every time, and lost if you do not get home.
Phase 0 builds the offer, a Warden pool of about 8, the field lantern pool of 6 and the carry-only 3; Deep duos and cursed boons come with the Deep in Phase B.
Built (Phase 0) in game/sim/boons.gd, with the effects
read where their numbers are used: Skills.stat for the kit,
lantern.gd and light.gd for the lantern,
combat.gd for Second Wind and kills. Offers roll from each
zone’s own seeded stream (boon_rng), so they never shift
spawning or mote rolls. Every mote caught counts (released, sparks and
spills alike). A zone offers from FIELD_POOL, or from
DEEP_POOL (the field pool plus the three fuel boons) when
its map sets carry_motes. Up to 6 offers wait in a queue,
shown one at a time; past that none are made. A pick may also
pass. The trip ends on entering a hearth’s rect (with
or without motes), on a portal into a map with a hearth, and on going
down without Second Wind; offers and the count toward the next go with
it. Beacons do not exist yet: Boons.beacon is the hook they
will call. Bots (the grind bot and the fighting scenarios) pass every
offer with Boons.decline.
| Boon | Pool | Effect |
|---|---|---|
| Wide Sweep | Warden | Sweep hits a 4th target |
| Honed Edge | Warden | Sweep deals 15% more damage (the cap) |
| Kindled Edge | Warden | Lanternbash leaves a 3-tile light pool, intensity 1, for 5 s |
| Light Hand | Warden | Lanternbash costs 30 Resolve, not 40 |
| Rebound | Warden | A Lanternbash that puts a monster out readies Lantern Hook |
| Long Hook | Warden | Lantern Hook reaches 10 tiles, not 7 |
| Steady Brace | Warden | Brace holds 1.5 s, not 1 |
| Iron Patience | Warden | A blocked hit gives 30 Resolve, not 20 |
| Mote Magnet | Lantern (both) | Catch radius +2 tiles: a kill’s motes from 14 tiles (12 bare), others’ released motes from 5 (3), sparks and spills from 2 tiles off |
| Second Wind | Lantern | The trip’s first time down rises at once at 30% life with 2 s of i-frames, motes kept |
| Broad Flame | Lantern | Lantern light radius +2 tiles |
| Wide Glass | Lantern | Light pools you leave (Kindled Edge, Ember Trail) last twice as long |
| Ember Trail | Lantern | Each kill leaves a 2-tile light pool, intensity 1, for 3 s where the monster fell |
| Bright Core | Lantern | A second light of 2 tiles, intensity 1, on you while the lantern gives light: with the lantern, intensity 2 (Seared, §6.6) within 2 tiles |
| Thrifty Wick | Lantern (carry only) | Each kill refuels 1% of fuel capacity |
| Slow Wick | Lantern (carry only) | Burn x0.85 |
| Steady Glass | Lantern (carry only) | The load term of burn is halved: 1 + 0.25 x load |
Keys (§2.4): , . / pick the three cards, Backspace passes. With six held, a card key chooses the card, then , and . walk the row, / gives up the boon marked (or click it), and Backspace backs out. Mouse and touch click the cards.
The world sits in dusk (01-world.md §3). A 3-hour
cycle runs from a fixed epoch: the Glow for 2
hours, then the Under for 1 hour. Twelve
Bells per cycle, one every 15 minutes: Bells 1–8 are
the Glow, 9–12 the Under; “dawn-bell” is Bell 1. Eight Unders a day, so
every time zone gets several.
During the Under: every map is one ambient tier darker (6.4); Lampghost spawns +25%; mote chance 45%; the Moth Queen flies; Lampblack’s Velvet Market opens (the Night Market); moth- skiffs run. The world clock is an input to the sim, identical in every channel and on every platform.
A Turning is 7 days and begins at the weekly reset (Tuesday 15:00 UTC); day 1 is its first 24 hours. Every titan’s loop divides 168 hours, so the calendar repeats exactly at every reset. No loop divides 24 hours, so each dock arrives at a different hour each loop and covers every hour of the day within a Turning.
Dock places are 01-world.md
§5.3’s; this table sets the hours.
| Titan | Loop | Loops per Turning | Route (hours) | Shift per loop |
|---|---|---|---|---|
| Mossback | 28 h | 6 | Kneels at the Mossway 14 → crossing 1 → Glasslands north rim 5 → crossing 1 → Tallowmere, Wickshore 6 → crossing 1 | +4 h: docks of 4 h or more cover every hour |
| Greyhorn | 42 h | 4 | The Furrows, Hornrest 12 → crossing 1 → Glasslands south 4 → crossing 1 → Highnoon, east gate 11 → crossing 1 → the Combs, south mouth 11 → crossing 1 | −6 h: docks of 6 h or more cover every hour |
| Ystra | 56 h | 3 | Moored at the Cloudshelf’s Mooring Spire 40 → songwater pass over Tallowmere (crossing) 1 → high over Highnoon 12 (kite-skiff link, no foot dock) → crossing 3 | +8 h |
| The Moth Queen | 3 h | 56 | Roosts in the Combs every Glow (2 h; the Scale Stair down from Silkfall Landing) → flies one leg each Under (1 h) | — |
| Wend | — | — | Dead at Wend’s Fall | — |
01-world.md §5.4). His loop is
phased so its Furrows → Glasslands south crossing falls at Turning hour
104 on loop 3 (day 5) and hour 146 on loop 4 (day 7). On day 5 that
crossing is the Charge; on day 7 it is
Glassbreak; on loops 1 and 2 it is an ordinary
Crossing. Both land at the same UTC hour every week, so each one’s
reward lasts the following Glow (8.5) and the Almanac calendar gives a
week’s notice.While a titan is docked (01-world.md §5.2):
| Effect | Rule |
|---|---|
| Way up | Hold ↔︎ dock map portal: the Pilgrim’s Stair, Greyhorn’s chain lifts, Ystra’s fluke stair, Lampblack’s silk descent |
| Heartwarm | On the dock map and the maps beside it: Lampghosts −10% HP and damage, +10% XP and drops; in the strata under them burn x0.5, and within the Heartwarm radius of the dock foot (60 tiles at Steady) carried motes fly home on their own (7.2). Radius and effects set by the Stride (7.5) |
| Drawn Lampghosts | Elite spawns come out of the dark toward its fire |
| Dockmarket | The hold’s vendors at the foot of the dock, with that hold’s goods and that region’s recipes |
| Titan quests | From its Listener; 3 dock bounties per dock (150 Favor total), once per dock per character |
| Shedding | Shed scutes, horn, cloudsilk or wing-scale nodes on the dock map (11.5) |
| Population | Players in a hold quest in its docked region, so channels shift with the titans |
While a titan moves between docks (1 hour, 90 minutes when Faltering), its hold has no foot link. In the first 15 minutes the Crossing runs on the titan’s flank map, in every channel: Lampghosts climb its legs toward the hold and players defend three lantern posts.
Travel off the docks exists and is slow, so a docked titan stays the fast way in.
| Route | Between | Time | Cost | With motes? |
|---|---|---|---|---|
| On foot, dock | Docked hold ↔︎ dock map | A portal | Free | Yes; banks on arrival |
| On foot, regions | Adjacent regions through edge maps | Walking | Free | Yes |
| Tetherline | Any region camp or dock map ↔︎ any hold; camp ↔︎ camp in adjacent regions | A ride map: 60 s + 30 s per region apart, at most 5 minutes | 5 x region number brass; the Pilgrim line (Lantern Town ↔︎ the Mossway) is free under level 15 | Yes |
| Kite-skiff | The Almanac ↔︎ any camp or dock map with a kitepost | 90 s | 10 x region number brass | Yes |
| Moth-skiff | Lampblack ↔︎ wherever the Moth Queen passes in the Under | 60 s, Under only | 100 brass | Yes |
| Return Lantern | Anywhere → your bound titan’s hold | 10 s channel, broken by damage; 20-minute cooldown | Free | No |
Carried motes exist only below the surface and bank on reaching it (7.2), so the last column matters only for a run’s way out.
The Tetherline ride is a playable map (emotes, scenery, a Lamplighter guard), and in Act III Snuffers raid it as a world event.
Every character is bound to Mossback at their Lighting. From the branch trial (30) a character may rebind at another hold’s hearth, once per Turning, drawing 100 motes from the new titan. The bound titan is the Return Lantern target, the relight point when no beacon is lit, and the titan charged for rank-ups. A guild is bound to one titan too (14.4).
| Event | When | What happens |
|---|---|---|
| Night Market | Every Under | The Velvet Market opens in Lampblack (fencing, 11.3); moth-skiffs drop wherever the Queen passes, and each drop is a mote bank for 15 minutes |
| The Charge, Glassbreak | Every Turning, day 5 and day 7 (8.3) | 8.5; the reward lasts a Glow |
| Twin Dock | Two titans docked in one region (Greyhorn at the Combs’ south mouth while the Moth Queen roosts) | Both holds’ Dockmarkets at the dock, a joint beacon chain, double dock Favor |
| The Vigil, the Stumble | From the Stride (7.5) | World event, story vignette or rescue crossing |
| The Kneeling | Spring, one week | Mossback kneels at the Mossway all week (his loop pauses). White moss, mass Lightings, a town festival, the year’s new-player rush, Shedding nodes across his whole shell |
| The Long Song | Summer, one week | Ystra comes below the cloud over Highnoon: a foot dock all week; the Sealed Stacks open; a rhythm event across the Cloudshelf; Lampghosts are Hushed while she sings |
| The Great Charge | Autumn, one weekend | Greyhorn stampedes across every Furrows map and the Glasslands; Horn Fair in Brazenbrow |
| The Deep Under | Winter, one day | A 24-hour Under. The Moth Queen flies all of it and holds the Lantern Fair (cosmetics for spent lanterns from Lostbearers and Leftlamps) |
| Wend’s Wake | Anniversary of the Fall (fixed date) | Holds dim for one Bell; players who douse in Wendhome see the Lampghosts stop and look up |
| The Convergence | Once, the last Turning of Act V | 9.4 |
Never more than one event per week needs a login at a specific time beyond the Charge and Glassbreak, whose rewards last a Glow; crossings and Unders recur through the day.
The story is a live season for everyone, not per-player phasing. 04-architecture.md keeps
one world state in worldd; there is no per-player world.
The world story (01-world.md
§8) runs as server-wide Acts. An Act opens for the
whole server on a scheduled date. The open Act sets the world state (NPC
states, faction activity, world events, the sky) and its server event.
Regions, dungeons, levels and personal story quests (9.3) are not gated
by Act.
| Act | Band | Regions and instances | World state that turns on |
|---|---|---|---|
| Prologue, I: The Lantern Road | 1–30 | The Mossway, the Glasslands, Tallowmere, the Gutterworks | Gilded Hour patrons; missing Lanternbearers; first Snuffer graffiti |
| II: Hornfall | 30–60 | The Furrows, the Cloudshelf, Hornheart | Greyhorn’s charges escalate; the Horncutters’ strike |
| III: The Turning | 60–92 | The Combs, Lowlight, Highnoon, the Orrery | The Guild denounces Hob; Snuffers raid Tetherlines and holds; the Gilded Hour turn |
| IV: Wend’s Wake | 92–106 | Wend’s Fall, the Heartchamber | Aumbry’s camp at Wend’s Fall; harvest rigs dim the warm veins over the Act |
| V: The Second Noon | 106–120 | The Sunfoot, Wend’s Absence, the Second Noon raid | The Sunlift rises on the Sunfoot skyline; the Convergence; Morrow |
Launch scope is D1 (07-decisions.md): the Prologue
and Acts I–II, regions 1–5, three holds, the Gutterworks and Hornheart,
cap 60. Act I opens at launch and Act II 4–6 weeks later. Acts III–V
ship as major updates about every 3–4 months, each with its regions,
instances and cap raise (92, 106, 120); Lampblack and the Velvet Market
come with Act III and the Second Noon raid with Act V. Each world event
happens once per world.
Each Act ends with a server event and one outcome the whole server decides by what it does, measured by worldd, never a vote alone. The story continues either way; the outcome changes the next Act’s texture. Acts III and V also carry a Dawnmark (7.6), which lands only when the event is won and the Stride is Steady or better.
| Act | Measured | Outcome |
|---|---|---|
| I | Lostbearers’ names returned to their families | The Lantern Road’s lamp-posts relit (or dark) through Act II |
| II | The Stride at the Act’s last Turning | Steady or better: Brazenbrow caps the forge-tap and his Charges stay Charges. Faltering: his Rampage persists through Act III |
| III | Tetherline defenses won or lost; the Pale Tenant put out in the Under | Lines cut in Act III stay cut until Act IV’s midpoint. Dawnmark: the Moth Queen’s true wing-light, for good (D10) |
| IV | Warm veins kept lit against the Black Tide | Wend’s Fall’s Cooling is warmer (more refuel veins) or colder in Act V |
| V | Wend’s Absence drawn to the Convergence; the first raid clear | Dawnmark: Morrow, and the sun’s first step |
The story’s key moments are instanced and personal: the Lighting; the Chandler’s ledger; Hornheart and Hob at the tap (the first revelation); Nan Corvina and Lisle (68); the song of the Tapping; Quarle’s model (the second revelation); Wickham’s letter; the Heartchamber; the Listeners’ questions. They run on the player’s quest flags, alone or with their party, whenever the region is open, whatever the world Act. Dialogue lines that state a world fact (the sky, the Second Noon, Morrow) have one variant per Act (12.2).
The Convergence is the last Turning of Act V. All four titans leave their loops and walk to the Sunfoot over the Turning; hold docks move to the Convergence map. The Second Noon rises in the east of every sky for that Turning. The raid opens.
| Slot | Notes |
|---|---|
| Weapon | Class weapon types (4.3) |
| Offhand | Shield, glyph book, quiver, dagger-sheath: secondary stats and a small ATK |
| Head, Top, Bottom (or Overall), Hands, Feet, Cape | Armor |
| Lantern | The signature slot (6.2) |
| Amulet, Ring x2, Belt | Accessories, more affixes; the belt holds the oil flasks |
| Charm | One per character: movement, gathering or fuel utility; mostly crafted |
14 stat slots. The cosmetic layer covers every visible slot separately (10.7).
Item level (iL) equals required level for drops. Gear comes in bands of 10 levels (iL 10, 20 … 120). Dungeon gear sits +5 above its band; raid gear is iL 125–130. A band’s Glass-grade item is the baseline the damage table (3.3) assumes. Stat budget per item: band value x slot weight (weapon 1.0 ATK; top 0.25, bottom 0.2, head 0.15 … of armor), plus affixes.
Rarity is the grade of flame a lantern-maker would say the piece
could hold. Each grade has a flame tell on the icon, the nameplate and
the drop itself. None is cyan: cyan means absence (05-art-audio.md sets the exact
colors).
| Grade | Flame tell | Affixes | Drop share | Trade |
|---|---|---|---|---|
| Tallow | Pale wax-white | 0 | 60% | Free |
| Oil | Green-gold | 1 | 28% | Free |
| Glass | Clear blue in a glass chimney | 2 | 10% | Free |
| Ember-set | Deep red-amber; set with a cooled ember of Wend | 3 | 1.8% | Bound on equip |
| Titan-cut | Gold, patterned with a titan’s horn, scute or wing | 3 + a unique effect | 0.2% (dungeon and boss tables only) | Bound on pickup; tradeable within the party for 2 h |
Affix pool (each rolls from a tier range by iL): +Primary, +Secondary, +Grit, +ATK, +Damage%, +Boss Damage%, +Crit Rate, +Crit Damage, +Pierce, +Speed (feet), +Jump (feet), +Radius (lantern, head), +Burn Efficiency, +Fuel, +Mote Capacity (lantern, belt), +Element damage, +Gathering speed (charm). No affix raises mote drops or vigor: those would turn gear into a way to buy the titans’ health. Titan-cut uniques change how a skill works (“Lampstake also fires a Spark every second”).
Brazenbrow’s craft: binding hornstone into gear. No destructive gambling, and nothing for it is ever sold for money.
The Almanac’s glyph-scribing: reroll one affix of a Glass-grade or better item; see 3 options and choose one or keep the old. Cost: brass and glyph ink (from dungeons), rising 25% per reglyph on the same item per week. No paid rerolls; affix ranges are shown in the tooltip.
Each party dungeon has a 5-piece set (2- and 4-piece bonuses): the Chandler’s (Gutterworks), the Burnward (Hornheart), the Reckoner’s (the Orrery), the Wendhome (the Heartchamber). The raid has a 4-piece accessory set, the Noonbreaker, whose bonuses play with light (“your Seared targets are also Kindled”). A full set is slightly better than mixed best-in-slot Ember-set, never mandatory.
Every visible slot (head, face and eye accessories, top, bottom, overall, hands, feet, cape, weapon, lantern skin, lantern glass color) has an independent cosmetic override. Cosmetics never carry stats. Sources: shop, events, achievements, crafting, dungeon and raid drops, the seasonal track. Hair, face and skin change at a hold stylist for brass or with shop coupons. Dyes are crafted (Mosswife) or earned. A wardrobe stores every cosmetic the account unlocks.
48 slots at creation, +8 per bag upgrade (4 earned in the story to
80; 2 more purchasable to 96). Tabs for equipment, consumables,
materials and quest items; materials stack to 999; quest items take no
slots. Storage in every hold (shared, 80 slots,
STASH_SLOTS), +40 per tab, 2 earnable tabs and 4
purchasable. Motes never go in storage.
The items in the game today, renamed from the Terraria slice (ids
unchanged, game/sim/items.gd). Materials name their maker’s
world: Thornwood from the Dewline hedges, brass struck in Brazenbrow,
hornsteel forged at Greyhorn’s tap.
| Id | Name | What it is |
|---|---|---|
| 41 | Pilgrim’s Shortsword | The starting weapon, given at the foot of the Stair: iL 1, worn, ATK 5 |
| 22, 23, 24 | Thornwood, Brass, Hornsteel Sword | The Mossway’s swords, Glass grade at iL 3, 6 and 9 (ATK 9.3, 15.3, 22.2), all 0.35 s a swing; sold by the Hornsmith (11.2) and dropped by the Mossway kinds of their band (13.2) |
| 25, 26, 27 | Thornwood, Brass, Hornsteel Bow | Ranged |
| 28, 29 | Thornwood, Hornsteel Arrow | Ammo |
| 37 | Glowdrop | Material; the Puddling’s drop: pond water it left behind, still cold |
| 38 | Concord Coin | Material; the Afternooner’s drop (the Tollkeeper’s coins, 02-atlas.md §2.1) |
| 39 | Moss Tonic | The HP tonic, made by the Mosswife (11.6) |
| 40 | Cinder Heart | The Cinder Eye’s drop; permanent max HP |
| Currency | Tradeable | Earned | Spent on |
|---|---|---|---|
| Brass (struck in Brazenbrow) | Yes | Monster drops, quests, vendor sales, the Exchange | Everything mundane: oil, potions, Hornbinding, travel, fees |
| Guild tallies | No (account-bound) | Lamplighters’ Guild contracts, kindling and defending beacons, Surges, the Kept the Light chest | Spare Flames, oil belt slot, Guild cosmetics, Guild rank (Spark, Wick, Flame, Beacon, Lamp) |
| Titan Favor (one per titan) | No | Returned motes (7.4), dock bounties, Crossings | Wicks, lantern part recipes, that titan’s cosmetics and reputation track |
| Dungeon Marks, Raid Marks | No | Dungeon and raid clears | Chosen set pieces (bad-luck protection) |
| Guild Seals | No | Guild activities | Guild cosmetics and conveniences |
| Starglass (premium) | No | Real money; small amounts from the seasonal track | Cosmetics and conveniences (19) |
Motes are not a currency: they are fire going home (7.2), and a banked total pays only for Lantern Rank. Guild tallies replace the account currency; an Ember is a piece of Wend’s heart, never money.
Brass income while grinding at level L, all sources: about 400 + 120L per hour (L10: 1,600; L60: 7,600; L120: 14,800). Quests pay one grind-hour of brass spread over a region’s quests.
| Sink | Share of income (target, mid-game) | Notes |
|---|---|---|
| HP tonics | 15% | Vendor price 1.5 x level |
| Lantern oil | 5% (0% under level 30, about 8% at 80+) | 2 x level per flask; the vigor-free fuel, bought only for the strata and the Deep (6.5) |
| Hornbinding and transfer | 20% | Rises in endgame |
| Reglyphing | 5% | Endgame |
| Tetherline and skiffs | 5% | 8.6 |
| Exchange fees and tax | 10% | 11.3 |
| Crafting and lantern rank fees | 15% | Rank parts take up what field oil used to |
| Branch change, stylist, guild upgrades, fencing | 5% | |
| Total | 80% | About 20% is saved, spread across players |
Target: brass supply per active player-hour grows no more than 3% per week after the first month, and a reference basket (an at-level Glass-grade weapon, 100 HP tonics, a stack of common hornstone) moves less than ±10% a month. Levers: vendor prices, Hornbinding costs, Exchange tax.
As built (game/sim/loot.gd,
game/sim/shop.gd): brass is a purse on the character, shown
in the pack window. A monster’s brass drop is sized from its level so
that a solo at-level grind at 5.1’s kill rate K(L) earns 400 + 120L an
hour from brass drops and the materials it sells together, with brass
drops never under 30% of it: at level 1 (Puddlings) about 180 from brass
and 340 from Glowdrops, at level 9 (Afternooners) about 740 and 740.
Amounts roll 0.5x to 1.5x of the mean, rounded at random so the mean
holds. Materials carry a vendor price per item (sell in
game/sim/items.gd: Glowdrop 1, Concord Coin 2). The
Mosswife’s stall stands on Lantern Town’s hearth plaza: E opens her
window; she sells Moss Tonics at 1.5 x the buyer’s level (at least 2)
and buys any material stack whole. Every buy and sell is checked on the
server’s tick against reach (3 tiles of her feet), stock, brass and pack
room. A new character starts with 3 Moss Tonics.
The Hornsmith’s stall stands by the Warden Lodge: he sells the Mossway’s swords at 3.4 x item level² brass (Thornwood 31, Brass 122, Hornsteel 275), about 90% of what 5.1’s at-level grind earns over the band step before each (34, 134 and 281 brass from levels 1–2, 3–5 and 6–8), so brass buys the next sword about once a step with tonics to spare. He and the Mosswife buy a sword back for a brass per item level (3, 6, 9): a drop’s sale counts toward its kind’s income like a material’s, and anything more would crowd out brass drops (the Afternooner’s would fall to the 30% floor and still overshoot the budget).
No terrain digging. Gathering nodes are fixed objects. The best materials come off the titans themselves, so materials follow the migration.
| Kind | Nodes | Where | Feeds |
|---|---|---|---|
| Shedding | Shed scutes, horn plates and hornstone, shed hide, cloudsilk, wing-scale dust | On the titans: hold maps and dock maps while docked; the Furrows after a Charge; Mossback’s whole shell during the Kneeling | Hornsmith, Hidewright, Glassblower, Lampwright |
| Foraging | Moss, glowcaps, wick-reeds, lantern-lilies; blue Stay crops (with Stay reputation) | Fields | Mosswife, Chandler |
| Salvage | Lantern glass, Concord brass and bronze, wax, mirror shards | Ruins: the Glasslands, Tallowmere, Highnoon | Glassblower, Chandler, Hornsmith, hornstone dust |
Each character takes 2 of 6 professions (switch for a fee; progress kept).
| Profession | Hall | Makes |
|---|---|---|
| Hornsmith | Brazenbrow | Weapons, shields, plate; hornstone dust |
| Hidewright | Lantern Town (Shellstep) | Hide, silk and scute armor, capes, bags |
| Mosswife | Lantern Town | HP tonics, food buffs (30 min), dyes |
| Chandler | Wick Station, Tallowmere | Lantern oil, tapers (portable light pools), beacon kindling kits (a kit lights a beacon with 100 poured motes instead of 200) |
| Glassblower | The Almanac | Rings, amulets, charms, lenses |
| Lampwright | The Wick, Lantern Town | Lantern parts (needed for rank-ups), wicks, lantern skins |
| Type | Source | Cadence | Reward |
|---|---|---|---|
| Story | A chapter per region, plus the Lodge and branch quests | Once | 20–40 min of grind XP per quest, story items |
| Region | NPCs in fields, camps and holds | Once | 8–15 min of grind XP, gear |
| Guild contract | The Lamplighters’ board in every hold: 3 a day, chosen from 6 (kindle a beacon, bank N motes, clear an Absence, escort a Lanternbearer) | Daily | 10 min of XP each, brass, Guild tallies, a chance at a Spare Flame |
| Dock bounty | A docked titan’s Listener | Per dock (8.4) | Titan Favor |
| Weekly | The Long Watch: put out an elite set, kindle 3 beacons, clear a dungeon | Weekly | 2 h of XP at level, Favor, an Ember-set chest |
| Act event | The open Act’s server event (9.2) | Per Act | Story, cosmetics, a share of the outcome |
| Hidden | Found by light or dark paths (6.9) | Once | Lore, a cosmetic, a title |
| Guild | The guild board | Weekly | Guild Seals |
Objectives: put out N, collect N, talk to, escort (escorts walk at player speed and wait), light (carry light to a place, kindle a beacon, burn an Absence), bank motes, deliver across titans (use the migration), gather, craft, find (with a light-only clue).
Kill credit is shared by the party on the same map. Quest drops are per player and drop for everyone tagged, at no less than 40%, so no quest needs more than about 2.5x the stated count. “This quest is easier with others” is a tag on the quest, never a requirement at this level (the open world never needs a group).
As built (game/sim/quests.gd, D78, D79): quests are data
rows (giver, hand-in giver, level, an optional quest before it, goals,
reward, lines), so a region’s quests are more rows. Goals so far are put
out N (on one map when the row says) and collect N, counted from the
pack and taken at the hand-in; a collect goal can name a kind that drops
its item as a quest item, at full chance for each eligible player who
still needs it. Kill credit goes to the kill’s whole party (5.5). The
interact key beside a giver hands in a finished quest that ends there,
else takes the next it offers (from one level under the quest’s). The
server is the authority: progress changes only in the sim’s tick on the
server. TODO: talk, light, escort, bank and the other goals; Accept /
Not now and abandon with the dialogue scripts.
Dialogue runs as sandboxed scripts. Every NPC conversation is a small graph:
Greeting (1 line; varies by quest state, titan position, Stride and Act)
├─ Quest offers / turn-ins (each 1–3 bubbles; Accept / Not now)
├─ Topics (lore, at most 3, each 1–3 bubbles)
├─ Services (shop, storage, stylist, trainer, Tetherline)
└─ Farewell
25 active quests. The guide line points at the tracked quest’s next step; tapping a quest on mobile paths the guide across maps (the player still moves; there is no auto-walk).
As built: L opens the log (game/ui/quest_log.gd): each
quest under way with its giver, goals and counts, and its line. The
tracker under the guide line (top right) shows the first three; the
guide follows the first quest ready to hand in, else the first under
way, after the prologue, portals and the Lodge. Givers show “!” for
work, “?” for a hand-in and speak in a bubble when the player is in
reach (game/render/giver_view.gd). TODO: picking the
tracked quest, mobile pathing and the finished list.
game/sim/loot.gd); motes still go to the killer.game/sim/drop.gd) is brass or a
stack of an item with an owner; the server sends each client only its
own, auto-loot pulls them in within 3 tiles while the pack has room
(brass needs none), and a map that empties drops them.| Drop | Chance |
|---|---|
| Brass | 70% |
| Material | 40% |
| Equipment | 4% (grades per 10.3) |
| Motes (Lampghosts only) | 7.2 |
| Quest item | Per quest, at least 40% |
Elites: equipment 100%, Glass-grade or better 30%. Bosses: their tables (15).
As built: equipment is a 4% row in a kind’s drops, the
Mossway sword of the highest item level at or under the kind’s level
(Mossnip, Dandlehop and Shellmite the Thornwood Sword; Thornpig and
Dimwing the Brass; the Afternooner the Hornsteel). The Puddling drops
none: its band’s sword is the starting one. Kinds of level 5 and under
also drop a Moss Tonic at 10%, the newcomer allowance (1.2). TODO:
grades (10.3).
Each eligible player (13.1) rolls the whole table for themselves, at every chance in 13.2 times:
loot_share = (1 + 0.10 * (min(n, 6) - 1)) / n * level_modifier(player, monster)
where n is the number of eligible players and
level_modifier is the drops column of 5.6. Solo it is 1. A
party of 6 gets 1.5x the drops of one player between them, the same
bonus as XP (5.5), so brass and gear per player-hour do not depend on
group size and the brass budget (11.2) holds. Quest items are the
exception: everyone tagged rolls at full chance (12.1).
Every random reward with a chase has a counter that turns luck into a ceiling, shown on the tooltip so it never feels like a slot machine:
| Source | Protection |
|---|---|
| Open-world Ember-set | Each elite or world-boss kill without one adds 1 to a per-character Ember counter; at 30 the next elite drops one, and the counter resets on any Ember-set drop |
| Dungeon sets | Dungeon Marks: a chosen piece at 10 clears (15.3) |
| Raid items | Raid Marks: a chosen piece at 6 (15.4); duplicates of bound items become Marks |
| Titan-cut | None: it is the rare chase (0.2%) and never needed; a Titan-cut duplicate salvages into enough hornstone for two Hornbinding steps |
| Trip boons | A held boon is never offered again (7.9) |
What MapleStory gets right is the moment a drop lands. Each grade has its own flame tell on the drop (10.3), a rising pickup chime per grade, and a short light column for Glass-grade and better that other players do not see (loot is personal). Ember-set and Titan-cut also announce in the player’s own chat line; Titan-cut announces in region chat with the player’s name, opt-out in settings. Auto-loot pulls the player’s drops within 3 tiles for free; there are no loot pets.
As built: every drop is Tallow (a pale wax-white glow) until
equipment drops; brass lies as a little stack of coins. A pickup plays a
placeholder chime (game/render/drop_view.gd, one hook with
a grade argument) and floats “+N brass” or “+N item” over the
player.
Proposed (D41, D43), for 02-atlas.md §6.6–6.7. Each kind
keeps 13.2’s rates: a material at 40% and equipment at 4%, the band’s
weapon of the highest item level at or under the kind’s (the Mossway
swords at iL 3, 6, 9; the Glasslands’ at iL 12, 15, 18, sold at the Last
Milepost). Item ids are assigned when built (next free 43).
| Kind | Material (40%) | Note |
|---|---|---|
| Teacup Puddling | Chipped Teacup (48, 100%) | A sell-to-vendor curio (4 brass); never equipment. Vanity once appearance items exist |
| Snagcat | Bramble Whisker (49) | Sells for 1, under the kill’s brass (13.4) |
| Rustpuff | Rust Spore (50) | Old Ponder’s quest item too. Sells for 1 |
| Bog Puddling, Sump Puddling | Glowdrop (37) | |
| Tollkeeper | Concord Coin (38) | |
| Runlet | none | Adds drop nothing |
| Wickwren | Snuffed Wick | |
| Glassback | Glass Shell | |
| Cinderling | Cinder Fleck | |
| Chimehound | Chime Shard | |
| Mirrorkin | Mirror Flake | |
| Lamplicker | Soot Scale | |
| Pilgrim Afternooner | Pilgrim’s Token | |
| Slagworm | Slag Bead | |
| Lostbearer | Dark Lantern Glass | Names (quest) at 40% while the quest is open |
| Sump Dimwing | Dimwing Membrane |
| Boss | Once a day per character (15.1) |
|---|---|
| The Puddle Mayor | Brass at 60x; one iL 10 Glass-grade equipment piece (100%); the Mayor’s Tricorn (hat, 15%) or Chain of Office (accessory, 15%); Glowdrops x5–10; +1 Ember counter (13.4) |
| The Cinder Eye | Brass at 60x; Cinder Heart (40, 100%, built); one iL 20 Glass-grade equipment piece (100%); the Eyelid Plate (shield, 15%); Kiln Glass x3–6; +1 Ember counter |
Chat follows docs/platform.md and D17: 13+,
pings, markers, raid callouts and preset phrases at
launch, no free text and no direct messages. Guild free chat
for verified 16+ comes later, once moderation operations exist (10-operations.md). Every
system below works without free text, and nothing needs voice.
| Channel | Scope | Notes |
|---|---|---|
| Map | Players on your map in your channel | Bubbles and log |
| Party, Guild, Raid | Members | |
| Region | All channels of your region, 1 message per 30 s | Beacon, boss and Crossing calls |
| Trade | Structured links to Exchange listings, not text | |
| System | Server messages, titan calendar, Stride, events |
The raid’s third phase (02-atlas.md §4) and every dark map
are built to be run with these.
Pings (ping key, middle mouse, L3, or long-press the chat icon, then a direction):
| Ping | Meaning | Shows |
|---|---|---|
| Here | Look here | A ring and a sound |
| Go | Move there | An arrow |
| Danger | Avoid | A red-amber burst |
| Lampghosts | Lampghosts here, even if unseen | A cold ring round a warm dot, the ember glyph (only where you can see one) |
| Light | Need light here | A lantern glyph |
| Shutter | Shutter or hood now | A closed-shutter glyph |
| Motes | Spill or carrier to protect | A spark glyph |
| Help | I am Downed or out of fuel | Your portrait |
Markers (party leader, raid leader and raid assists):
Pings and markers carry no free text, so they need no moderation beyond rate limits and block (20).
08-scale.md §5).An instanced room in your bound hold that walks with its titan. Furniture is crafted (Hidewright, Lampwright, Hornsmith), dropped or bought as cosmetics; friends and guildmates visit; a trophy wall shows boss kills and lore finds. It is the best power-free sink for brass and Starglass and a second market for crafters. Not at launch: a large UI and content cost that does nothing for the leveling path.
One per region, from 02-atlas.md: the Puddle Mayor (10,
the Soak), the Cinder Eye (20, the Kiln), Old Gutter (30), the
Bellwether (42), the Dusk Roc (55), the Pale Tenant (68, the Under
only), the Drowned Bell (80), the Afternoon Prince (92), Hob Sallow and
the Black Tide (104). Wend’s Absence (120) is a world singleton
(15.2).
| Rule | Value |
|---|---|
| Instance | An instance process, not a channel (04-architecture.md §4).
Up to 60 attackers per instance, drawn from every
channel through a ticketed transfer from the boss’s field |
| Window | Every 6 h per boss, staggered by region so each Bell has about one window somewhere; the Pale Tenant’s windows fall in the Under. The calendar shows them |
| Instances | A window lasts 30 minutes. The first instance opens at the start;
another opens whenever every open one is full, so about three channels’
worth of players fight it across the window (08-scale.md §7) |
| Announce | Region chat and the minimap 5 minutes before a window |
| HP | 2,500x a normal monster’s HP at its level, +4% per attacker beyond 10, to 60 |
| Fight length | 4–8 min with 20–40 attackers (3.3) |
| Eligibility | 1% of total damage, or healing or shielding equal to 1%, or 60 s in
combat in range (built: the damage share, for any
boss) |
| Loot | Personal; the full table once per boss per character per day, then a participation chest. 50 motes per eligible player (7.2) |
| Fail | Resets after 60 s with no living attacker |
Larger fights (150 in one instance) are a later aspiration that needs S1b and S2 headroom; the design must work at 60.
The first two, designed (02-atlas.md §6.7, proposed, D43).
Open-world life is the table above; a Trial (15.6) is a
dungeon boss, 400x a normal monster’s life, times 15.3’s (0.4 + 0.1 x
party size). Hits are shares of mid-class life at the boss’s level
(3.4).
| The Puddle Mayor (10) | The Cinder Eye (20) | |
|---|---|---|
| Open world, to 10 attackers | 662,500 (+4% per attacker beyond 10) | 2,455,000 (likewise) |
| Trial, party of 2 (the bot fight) | 63,600 | 235,680 |
| Trial, party of 6 | 106,000 | 392,800 |
| Touch | 40 (17%) | 70 (17.5%) |
| Telegraphed hits | Landing ring 91 (40%); wave 57 (25%); belly-flop 91 (40%) | Dash 100 (25%); ember ring 140 (35%); weeping arc 100 (25%) |
| Its mechanic | A Runlet that arrives heals 2% of its life | The Sweep: 60 (15%), Guttered 5 s and one Cinderling per player caught |
Phases (hook phase at) |
0.75, 0.5, 0.25 | 0.5, 0.2 |
| Motes | 50 per eligible player (7.2) | None: Cinderkin release none (7.2); the built
boss_motes 50 goes |
| Bot fight | mayor-fight: two level-10 bots, 3–5 min, at most 2
relights |
boss-fight: two level-20 bots in the Kiln, 3–5 min, at
most 2 relights |
At about 260 damage a second for an at-level level-10 Warden’s Sweeps (3.3) and 940 at 20, two bots need about 2 minutes of hitting for either Trial; dodging, Runlets and the Sweep take the rest of 3–5.
A world singleton exists once per world (04-architecture.md §4): the
titans, Wend’s Absence, the Pale Tenant’s resolution, Morrow, the
Sunline and Act state. worldd owns the state; channel and instance
processes render a read-only copy and report contributions in
batches.
Instanced, 1–6 players, 20–30 minutes; approach, two mini-bosses and
a final boss with phases (02-atlas.md §3 owns the
fights).
| Dungeon | Band | Entry | Final boss | Light mechanic |
|---|---|---|---|---|
| The Gutterworks | 28–34 | 28 | The Chandler (34) | Wax floors soften under light; Taper Rain melts what it lights |
| Hornheart | 55–60 | 55 | The Gnaw (60) | Jump the Heartbeat; two players hold the tap valves while four fight |
| The Orrery | 85–90 | 85 | The Reckoning Engine and the Gilded Hour (90) | Vulnerable only on ring alignment; jam four drive gears |
| The Heartchamber | 102–106 | 102 | The Cinder Choir (106) | The Last Lighting ends only when the players let the lanterns go out; Homing pulls lanterns |
08-scale.md §4).Level 120, iL 125–130, flexible 12–18 players (D18).
HP and mechanic counts scale with size; 18 is not easier per player than
12. Expected composition: 2 Protectors, 3–4 Sustain, the rest any.
Phases from 02-atlas.md §4:
| Phase | Systems |
|---|---|
| 1. The Sunlift | Three lifts move only while balanced: lift weight and lantern intensity within 1 of each other. Players cross between lifts; a lift that tilts more than 2 stalls for a 20 s crank |
| 2. Provost Aumbry | Proclamation of Noon: every shadow vanishes; stealth and Gloom skills fail; Dazzled stacks every 3 s. Four tethers throw shade that clears 1 stack per second. Sparing Sallis: no player has hit him when he kneels at 50% |
| 3. The Second Noon | Glare stacks on everyone and cannot be cleared. Four groups carry four cores to four tethers: Mossback (any hit drops the core), Greyhorn (sprint between Charges), Ystra (step on the beat), the Moth Queen (a Lightless route: shuttered players and Shades see it and lead with path pings and world markers, 14.3) |
| 4. The Return | One flame bar, no boss bar. The raid escorts the flame to the Absence’s heart while Titanshades try to snuff it |
Tuesday 15:00 UTC, the Turning boundary (shown in local time): raid lockouts, weekly quests, Deep-touched lockouts, boss-ladder lockouts (15.6), the Deep’s weekly seed, Omens, guild weekly caps, the Favor curve, the Sunline netting and the new Stride. Maintenance, if any, uses the same hour (D14).
MapleStory’s endgame is its weekly boss list: each boss has Normal, Hard and harder tiers, a party of 1–6 works down the list, and “which tiers do you clear” is how players measure themselves. World bosses here are open fights for 60, and the raid arrives only with Act V, so the launch cap needs a small-group ladder:
Not at launch. Open-world PvP never. Opt-in Sparring later; a normalized arena only if players ask for it after Season 2.
Later: Sparring (Season 2): consensual 1v1 or party-against-party duels in hold courtyards, stats normalized to a band template, no rewards beyond a tally.
Names, maps and monsters are 02-atlas.md’s. Lampghost share is
the share of spawns that are Lampghosts (and so release motes); the rest
are creatures, machines and people.
| # | Region | Band | Surface tier (6.4) | Strata | Lampghost share | Docks | World boss | Dungeon |
|---|---|---|---|---|---|---|---|---|
| 1 | The Mossway | 1–10 | Dusk | Dim, Dark | 85% | Mossback (kneels) | The Puddle Mayor (10) | — |
| 2 | The Glasslands | 10–20 | Dim | Dark, Black | 60% | Mossback (north rim), Greyhorn (south) | The Cinder Eye (20) | — |
| 3 | Tallowmere | 20–30 | Dim | Dark, Black | 85% | Mossback (Wickshore); Ystra passes | Old Gutter (30) | The Gutterworks |
| 4 | The Furrows | 30–42 | Dim, then Dark | Dark, Black | 50% | Greyhorn (Hornrest) | The Bellwether (42) | — |
| 5 | The Cloudshelf | 42–55 | Sunlit tops, Black under the cloud | Black, Black | 75% | Ystra (Mooring Spire) | The Dusk Roc (55) | Hornheart (via Brazenbrow) |
| 6 | The Combs | 55–68 | Dark | Black, Black | 60% | The Moth Queen (roosts), Greyhorn (south mouth) | The Pale Tenant (68) | — |
| 7 | Lowlight | 68–80 | Black | Black, Lightless | 75% | None | The Drowned Bell (80) | — |
| 8 | Highnoon | 80–92 | Dark, Sunlit in held mirror-light | Black, Black | 75% | Greyhorn (east gate), Ystra (high) | The Afternoon Prince (92) | The Orrery |
| 9 | Wend’s Fall | 92–106 | Dark | Black, Lightless | 40% | None (Wend is dead; the Moth Queen lands) | Hob Sallow and the Black Tide (104) | The Heartchamber |
| 10 | The Sunfoot | 106–120 | Sunlit faces, Lightless shadows | Black, Lightless | 60% | All four at the Convergence | Wend’s Absence (120, singleton) | The raid |
Each region meets the density bar (08-scale.md §9): at most 6 surface
maps and 2 strata, its own monster family, a camp (lit, with vendors, a
beacon, a kitepost and a Tetherline station), a world boss, a quest
line, at least one hidden map, an Omen set, and one frame-worthy vista.
The Deep sits under the strata (08-scale.md §4).
CAP_PER_PLAYER) up to the points’ counts and
the cap. A point refills one monster per respawn beat (Mossy Field: 6
s).mossy-grind bot made 18 kills a minute at 4 (24 at 8), past
§5.1’s K(1) = 14, because Puddlings hop at the nearest player from
anywhere on the map. A MapleStory-style field whose monsters wander
until hit would need the full sum: a ~1 s kill and a kill every 4.3 s
leave ~300 units of walking (90 units/s) per kill, so ~2,300 units of
floor needs about 8 alive per player. Supply is not the limit either: 8
points at a 6 s beat refill 80 a minute.04-architecture.md §4): at
2,000 CCU, 4–6 channels with 15–30 players on the busiest field map; at
5,000, 10–14 channels with the same field density and towns at
120–150.An engaged player’s week, about 8–12 hours:
| Activity | Cadence | Time | Gives |
|---|---|---|---|
| The raid | Weekly lockout | 90 min | Raid gear, Marks |
| Deep-touched dungeons | 3 a week | 25 min each | Set pieces, glyph ink |
| The Deep | Weekly seed, any number of runs | 20–40 min a run | Depth leaderboards per class and party; Sunline grants (7.4); Deep cosmetics |
| World bosses | Daily per boss | 5 min each | Ember-set gear, cosmetics, motes |
| Boss ladder Trials (15.6, D27) | Weekly per tier | 10 min each | Ember-set gear, dust, ink, Boss Marks, titles |
| Guild contracts | Daily | 20 min | Brass, Guild tallies, Spare Flames |
| Crossings | Several a day | 15 min | Favor, cosmetics, Sunline grants |
| Banking motes: every field kill, and runs below for the carry-home loop at its richest | Ongoing | — | The Sunline, Favor, the Kept the Light chest |
| Lantern ranks and wicks | Ongoing | — | Light radius and utility; fuel and capacity for the Deep |
| Gathering, crafting, the Exchange | Ongoing | — | Brass, a career |
| Alts | Ongoing | — | Wayfarer’s Mark (5.4) |
Power after the best gear comes from Hornbinding and Lantern Rank, both capped per Season, so there is no infinite grind. The cap is 60 at launch (D1) and rises with each Act update. At 60, the endgame is the Gutterworks and Hornheart on Deep-touched, the Deep, the world bosses of regions 1–5 and the Sunline; later Acts add their dungeons, and Act V the Second Noon raid.
A Season (10–12 weeks) is a run of events and additions; Acts keep their own schedule (9.1). After Morrow, each Season also brings a new Dawnmark (7.6). Each Season adds a free seasonal track (cosmetics, titles, 300 Starglass in total), a premium cosmetic track (19), an Omen set, Deep pieces, a balance pass, and usually a new branch, dungeon or region. Expansions (about yearly) add a titan route, a region band and a cap raise. Events are in 8.8.
Daily reset 15:00 UTC; weekly reset Tuesday at the same hour. A live event at least every 2 weeks.
Free to play: cosmetics, conveniences and a subscription. Canon: never sell power. The test for a new item: if a paying and a non-paying player of equal time and skill could end up with different stats, kill speed, XP rate, drop rate, success chance, fuel, motes, Favor or Sunline weight, it is not sold.
| Category | Examples | Price (USD) |
|---|---|---|
| Starglass | 500 = $4.99, 1,100 = $9.99, 2,400 = $19.99, 6,500 = $49.99 | Base $0.01 per Starglass; bonus only on larger packs, at most +30% |
| Outfits | Full costumes | 1,200–2,000 Starglass ($12–20) |
| Single cosmetics | Hat, cape, weapon skin | 300–800 ($3–8) |
| Lantern skins and glass colors | The signature cosmetic | 400–1,200 ($4–12) |
| Emotes | 200–400 ($2–4) | |
| Mount looks | Same speed as the free level-30 mount | 1,000–2,000 ($10–20) |
| Character slots | Base 4, up to 24 | 800 ($8) |
| Storage tabs (4), bag upgrades (2) | Beyond the earnable ones | 500 ($5) each |
| Name change, appearance coupons | 300–1,000 | |
| Seasonal premium track | Cosmetics only, all earnable in-season by playing | 950 ($9.50) |
| Hearthroom furniture (later) | 100–1,500 |
$9.99 a month, or as a Hearth Writ item tradeable on the Exchange for brass (D16; Writ listings capped per account per week). Gives 500 Starglass a month, a monthly cosmetic, +20 Exchange listings, +2 storage tabs while active, a free appearance change a month, and a saved Tetherline destination set. Nothing that touches XP, drops, brass earned, fuel, oil, motes, Favor, Hornbinding or loot.
13–17 accounts: a $50 monthly cap by default, adjustable by a
verified parent; no purchase prompts in the first session; no
limited-time timers under 72 h; no Starglass gifting to or from minors.
Purchases go through Apple and Google IAP, and web in the US
(docs/platform.md).
Policy is docs/platform.md’s and 10-operations.md’s (13+, US
first, preset chat, no direct messages, report and block everywhere).
Systems commitments:
The server runs the sim; clients send input frames only.
| Area | Rule |
|---|---|
| Movement | The server simulates bodies; clients predict and are corrected. Speed, jumps and teleports are checked against the sim |
| Damage, crits, drops, motes | Rolled on the server from the zone RNG. Clients never send damage, motes or draws |
| Targeting | The auto-target cone is validated on the server; no free aim, so no aimbot to build |
| Cooldowns, resources, fuel, stamina | Server-owned; inputs for an unavailable skill are dropped |
| Inventory, trades, the Exchange | Server transactions with ids; no client inventory state |
| Light | Server-computed analytic circles. Lampghosts outside light and unrevealed paths are not sent until revealed, so a light hack shows nothing |
| Lightbridges | Solid on the server from trusted sources only, with the party grace in 6.9; the client cannot make a bridge solid |
| The Sunline | Caps, trust weights, silent zero and weekly settlement (7.4, 7.7; 08-scale.md §10) |
| Botting | Input timing variance, path repetition, 20-hour sessions, brass flows, mote patterns; a person reviews before a ban. Design lowers the payoff: personal loot, per-player nodes, bound items, daily caps |
| Rate limits | Inputs at 60 Hz per player; menu, Exchange and ping actions rate-limited |
Bots and telemetry decide whether these numbers hold. Bots run in CI
(the scenario gate and nightly sweeps); telemetry runs on live servers.
First-session targets and retention benchmarks are 10-operations.md’s.
| Bot | Measures | Target | Alarm |
|---|---|---|---|
| first-session | The 10-operations.md
§4 steps in order |
Every step completes on 90% of seeds within 10’s time targets | Any step missed |
| grind- |
XP/min and kills/min on each band’s grind maps with at-level Glass-grade gear | Within ±10% of 5.1 | ±20% |
| kill-time- |
Seconds per normal, elite and dungeon boss | 3.3 | Outside by 25% |
| fuel | Fuel left after each tier’s run below; a field trip’s fuel | The drain table in 6.5; no burn in any field | A tank runs dry more than 15% early or late; any field burn |
| hood | Hood length and stamina | 10 s (Shade 20 s) | Any way to hood past stamina |
| grind-warden-field | A new Warden through Mossy Field, Footprint Ponds and the Old
Tollbridge, level 1 to 10, pure grind
(tools/bots/run_grind_bot.gd, nightly on 4 seeds per
class) |
1.15 x (t(1) + … + t(9)) = 36.2 min ±15% (06 Phase 0 exit) | Reported, not gated, in Phase 0 (2026-10-04): every class runs and a
seed outside 30.8–41.7 prints gate=report; Phase A’s exit
gates it again. First all-class run: Warden 36–41 min, Ranger ~52,
Kindler ~43, Shade 47–83. With each class’s kit played (class-bots,
2026-10-05): Warden 35.7–40.8 (1–2 deaths), Kindler 37.5–39.8 (0–1),
Ranger 42.9–44.4 (2–4), Shade 47.1–63.1 (7–12) |
| full-run | Level 1 to 30 with quests (sim-only, accelerated) | 5.1’s hours ±15% | |
| crossing | Event completion with 1, 10 and 40 bot players | Completes with 10; fails gracefully with 1 | |
| dungeon- |
Normal clear by 6 mixed-role bots | 20–30 min | Over 40 or under 12 |
| world-boss | 20, 40 and 60 attackers | 4–8 min | Any instance above 60 |
| schedule | Titan routes over 60 days in every Stride | Every loop divides 168 h; every dock of 4 h+ covers every hour of the day within a Turning; the Charge on day 5 and Glassbreak on day 7 | Any violation |
| sunline | 10,000 synthetic players over 12 Turnings with 7.8’s habits | Healthy habits reach Striding in 3–6 Turnings; solo, no-oil habits reach Faltering in 1–3; a 1,000-bot farm moves S by less than 2% of W | Outside |
| economy | 10,000 synthetic players over 12 weeks with 11.2’s faucets and sinks | Brass supply growth ≤ 3% a week |
The grind bot plays from what a player sees: it walks, climbs, drops, hooks, sweeps, braces and bashes, and moves map to map through the portals by level, at the low end of each atlas band: Mossy Field for levels 1–3, Footprint Ponds from 4, the Old Tollbridge from 8. In town it sells its loot and spare swords, buys the Hornsmith’s best sword it can wield and afford, then Moss Tonics back up to 5; it walks home as soon as a better sword is affordable, swings the best sword it carries, and declines boons. Its map of each zone includes props’ footholds (the tollbridge deck is a prop) and never joins a surface that lies over itself.
The other classes play their kits 1–9 (Lodge skills wait for the induction at 10). The Ranger and Kindler back off a monster whose body comes within 26 u, turning for each shot or Spark with one tick of walk; the Ranger stands far enough off to aim at a target above or below, vaults over a monster when cornered, spends Focus on Split Shot (its spare arrows find a lone target) and Flares a Shrouded Lampghost. The Kindler Blinks clear within 12 u, Flarebursts two or more (one once Blink is spent) without Overheating, Kindles under a fresh Lampghost and holds a Spark that would Overheat her while backing off. The Shade keeps the glass cracked, spends Gloom on Shadow Fang, and backs off and Flickers away below 35% life while her tonic cools. The three pick a lone monster over a pack (48 u of walk per neighbour within 40 u). Nightly 2026-10-05, 4 seeds: Kindler 37.5–39.8 min (pass, 17.8–19.0 kills a minute); the Ranger 42.9–44.4, just over the band, loses its time to single-target kills (ponds 19.5–20.7 kills a minute against the Warden’s 23–25, the tollbridge 13–14 against 13–18), not deaths; the Shade 47.1–63.1 with 7 to 12 deaths, from level 5 on the ponds, where a two-target 55% x 2 cut with no defensive skill trades worse than Sweep and Brace. Both are balance findings for the class pass (the lever 4.9’s DPS budget names: the basic’s target count or use time), not bot changes.
Measured 2026-10-04 (nightly, 4 seeds): every seed reached level 10 in 35.0 to 40.6 sim minutes (35.3, 40.6, 38.7, 35.0), inside 30.8–41.7, at 17.5 to 19.6 kills a minute (about 690 kills, 1 to 2 deaths, 3 to 5 trips home; 14 s of wall time per run). Per level against §5.1’s cumulative 1.15 x t:
| Reached | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|
| §5.1 (min) | 1.7 | 4.0 | 6.9 | 10.4 | 14.4 | 19.0 | 24.2 | 29.9 | 36.2 |
| Bot (min) | 1.5–1.6 | 3.5–3.8 | 6.9–7.8 | 9.8–10.3 | 12.6–13.5 | 17.1–18.6 | 21.7–25.2 | 28.9–33.0 | 35.0–40.6 |
By map (minutes include walking through): Mossy Field 18–19 kills a minute at 8.7 XP a kill; Footprint Ponds 21–24 at 21; the Old Tollbridge 14–18 at 36. The tollbridge is the slow one: its Dimwings hover over the riverbed out of a Sweep’s reach, and the bot waits under them. A death costs the walk back from town through every map; the slowest seed died twice. On Mossy Field alone it took 81 minutes (114 to 117 before the damage formula and swords): its monsters top out at level 4.
| Metric | Target |
|---|---|
| Time to level, p50 and p90, per level | Within 15% of 5.1 |
| Deaths per hour by band and class | 0.5–2 in fields; a spike flags a map |
| Kill time per monster | ±25% of design |
| Quest abandon rate | Under 15% per quest |
| Trip length; runs below and fuel at return | p50 trips 20–50 min; p50 runs below 20–40 min, most returns at 10–40% fuel |
| Motes caught, lost, banked, spent per player-hour | Within 20% of 7.8 |
| Sunline net per Turning; Stride history | Healthy worlds slightly positive; no world Faltering more than 2 Turnings in 10 |
| Brass per active hour; reference basket | 11.2 |
| Exchange listings held by the price guard | Under 0.5% |
| Players per active field map | 15–30 at the 04 density targets |
| Branch picks | No launch branch under 6% or over 18% of picks at the cap |
| Time between visible increments (5.6) | Median 30 min or less in every band |
| Class abandonment | Characters left before level 30, by class: no class more than 1.5x the average |
| Reports per 1,000 player-hours | Trend down |
D28 keeps the game private until launch, so nobody outside plays it before then. Playtesters stand in for those outside testers: scripted personas that play every night, and an AI critic that plays a first session on demand and writes down where it got lost. Neither replaces people. They catch the regressions and confusions that people would hit first, on every build, before anyone can.
Persona bots
(tools/bots/playtesters.sh, the nightly’s Playtesters job,
4 seeds each):
| Persona | Path | Plays like | Goal |
|---|---|---|---|
| Newcomer | Real client | Reacts 250 ms late (±60 ms, seeded), fumbles about 15% of jumps and attacks, does not know the map: it explores for portals and learns them as it takes them. It buys the first better sword it can afford, not the best, and never walks home just to shop | Level 5 |
| Explorer | Fast | Visits every map and every surface it can reach before grinding, walking, climbing and jumping up ledges within a jump’s rise (40 of 43.6 units) and reach. Reports surfaces it cannot reach that way (and whether the hook reaches them), dead ends it cannot walk back from, surfaces it did not reach within 30 s, and maps it could not get to within 300 s (it steers for the ledge in the air, not for where it is headed) | Level 10 |
| Newcomer (fast) | Fast | The newcomer’s brain, sight and hands, its keys read back into
frames as inputs.gd reads them, with no client or network.
A control, not gated: a gap between it and the real newcomer is the
online path’s |
Level 5 |
| Min-maxer | Fast | The grind bot (22.1) | Level 10 |
| Monkey | Real client | Seeded random mashing: chords, rapid toggles of I, Escape and E, clicks and wheel turns anywhere, keys held through portals, deaths and shops. It plays 10 sim minutes on 8 seeds | Survive |
“Real client” means game/main.tscn in a window,
connected over WebSocket to a local server/server.tscn. The
bot acts only through Input.parse_input_event: key presses
held for real durations (at least 83 ms), and mouse moves, clicks and
wheel turns at screen points. It reads only what the screen shows: the
world inside the camera’s view, including footholds, portals and vendors
it has seen so far, and the HUD’s numbers. “Fast” means InputFrames go
straight into the sim with the whole map known. It measures pacing and
map coverage, not the input path, and the report labels every row with
its path.
Each persona reports:
The real-client runs also report:
The nightly fails on:
NEWCOMER_GATED and
NEWCOMER_SLACK in run_personas.gd). Off again
(2026-10-04): after the newcomer tuning (1.2) it reaches level 4 in
10–11 min but level 5 in 16–20 min (1.5–2.0x), with 1–3 deaths, the rest
lost on the Ponds and on detours through Mossy Field’s Hedgerows portal,
so it is reported until it is inside 1.5x. As built (2026-10-05): the
newcomer leaves untried any portal to a map whose band starts above its
level (BAND_FLOOR in newcomer_bot.gd), so it
no longer detours into the Hedgerows; the full nightly had it reach
level 5 in 16.3, 19.0, 16.0 and 17.3 min (seeds 0–3, real client),
having asked the way 0, 0, 0 and 1153 times (870–1080 every seed
before), and learned only the town, field and ponds portalsEverything else is reported, not gated. The table goes in the job
summary, and the artifact holds report.json and every run’s
logs.
AI first-session critic (tools/critic/,
on demand). A model plays the real client the same way, one turn at a
time. Each turn:
hud_text.gd mirrors hud.gd’s strings; no
hidden state).The actions are move, jump, attack, E, skill bar N, potion, pack,
escape, boon card N or pass, click X Y, and wait. Each turn the model
also writes its goal, what it expects, and what confuses it. The persona
is a prompt in tools/critic/personas/: newcomer,
maplestory-veteran or kid.
The run stops after N turns or at level 5. Its report ranks confusions by how long they blocked progress (from the first turn that names a confusion to the next XP, kill, level, map or brass), with the frame each started on. It also includes the model’s goal over time and the full notes log.
The model is Claude Code headless (claude -p, default
the latest Sonnet), on whatever subscription is logged in. No key is in
the repo.
To run the critic:
tools/critic/run_critic.sh [persona] [turns] [model] writes
build/critic/<persona>/report.md.claude is not on that runner’s
PATH, and uploads the report and frames as an artifact.Every turn is one model call, so a 40-turn session costs about 40 calls.
Launch scope is D1: Acts I–II, cap 60. This table is what ships at launch and what follows; “Act III”, “Act IV” and “Act V” mean the update that ships that Act.
| System | At launch | Later |
|---|---|---|
| Classes | 4 base classes, Lodges at 10; 8 branches at 30 and 60 (Lampguard, Ironbrow, Cinderwright, Tender, Pathfinder, Lurewright, Gapwalker, Pocketsmith) | Deepening at 100 with Act IV; Stridewright and Ghostsworn in Season 1; Emberheart and Linerunner later |
| Levels | 1–60, regions 1–5 | 92 with Act III, 106 with Act IV, 120 with Act V; expansions after |
| Light | Lantern, ranks, fuel, oil belt, ambient tiers through Lightless, Glare and Sunlit maps, shutter, hood stamina, beacons, lightbridges, gloamways, glyph doors, Absences, 4 wicks | Hush, Moth and Signal wicks |
| Motes and Sunline | Extraction loop, Ledger, Favor, caps, Strides, the Vigil and the Stumble | Dawnmarks with Acts III and V; the sun’s steps after Morrow, one per Season |
| Titans | Mossback, Greyhorn and Ystra docked; Charge, Glassbreak, Crossings, Tetherline, kite-skiffs | The Moth Queen, Lampblack, moth-skiffs and the Night Market’s skiff drops with Act III; the Convergence and Morrow’s birth with Act V; Morrow’s Road (expansion) |
| Story | Prologue and Acts I–II; Act I at launch, Act II 4–6 weeks later (9.1); the Archive | Acts III–V as updates; season events; Morrow’s Road |
| Items | Five grades, affixes, Hornbinding, reglyphing, the Chandler’s, Burnward, Reckoner’s, Wendhome and Noonbreaker sets, cosmetics and wardrobe | New sets with expansions |
| Economy | Brass, Guild tallies, Favor, Marks, the Exchange, the Velvet Market, Hearth Writ, 3 gathering kinds, 6 professions | — |
| Group | 5 world bosses (regions 1–5); the Gutterworks and Hornheart (Normal, Hard, Deep-touched); the Deep | The Orrery with Act III, the Heartchamber with Act IV, the Second Noon raid and Wend’s Absence with Act V; raid story mode |
| Social | Parties, finder, guilds 1–20, friends, Signals, pings and markers, 40 emotes | Guild free chat for verified 16+ (D17); hearthrooms and Guild Holdings (Season 2) |
| PvP | None | Sparring (Season 2) |
| Monetization | Starglass shop, Hearthbond, Hearth Writ | Seasonal premium track (Season 1), furniture |
| Platforms | Desktop, web and mobile with the layouts in 2.4 | Controller on mobile; a touch layout editor |
Open and settled decisions live in 07-decisions.md. This document
follows its settled launch scope D1 (Acts I–II, cap
60), server-wide Acts D2, the Lampghosts name
D3, and its recommendations: the Moth Queen dusted
until 68 D10, branch change for a brass fee and 7-day
cooldown D11, maintenance at the Turning reset
D14, shared storage D15, the Hearth
Writ D16, pings, markers and presets at launch
D17, a flexible 12–18 raid D18, about
150 hours to 120 D21, Lodgemarks for alts
D26 (5.4) and the boss ladder D27
(15.6). New systems questions go to 07 with the next free number.