EQLSEQL SourceSurvey

EQL Source  /  Tools  /  Sky Ledger

Sky Ledger.

It reads your own combat log and works out which of the 95 Plane of Sky class-unlock tests you can hand in right now, and what the missing pieces drop from. Run it in a browser with nothing to install, or as an overlay on top of the game. Nothing is uploaded — there is no server to upload to.

95 tests222 turn-in slots16 classesv1.1.0

01

A piece can only be spent once

This is the whole reason it is promoted here, and it is a correctness property rather than a feature.

29 of the 128 turn-in items are wanted by more than one test, and all 15 wind runes are among them — one of them is asked for by 7 separate tests. Hold one and exactly one test can be completed with it. Sky Ledger pools what you hold, spends each unit on the test closest to completion, and marks the contested pieces with how short you are.

Every other tracker counts that item against every test that wants it, and tells you several quests are ready when one is. Ours did. That is what a checklist does when it has no idea what else is on the list, and it is not fixable by ticking more carefully.

29 of 128Turn-in items wanted twice or more One held piece finishes one test. Every other tracker, ours included, counted it against all of them.
<28% · 0/9How a dry streak prints Never 0%. Nine kills with no drop bounds the rate; it does not measure it, and 0% would tell you to stop farming.
Counted · discardedTwo figures, never merged Kills it cannot place print as their own number rather than folding quietly into the total.
02

It holds this site's standard on its own

Arrived at separately, by the same person, which is worth saying plainly rather than presenting as a coincidence.

  • It refuses to publish a drop rate it cannot measure. No site publishes community drop rates for Sky, so it does not print one. It prints what your log has seen: drops over kills of that mob, with the sample size attached.
  • A dry streak is a ceiling, not a zero. Nine kills with no drop reads <28% · 0/9. Zero successes in nine trials bounds the rate and does not measure it — the same reasoning as the damage_is_floor marker on the raid figures here.
  • It reports what it threw away. Kills it could not place, bag sales whose contents the client never named, trades it would not guess at. The tally it discarded prints beside the tally it kept. The strip hides itself when there is nothing to admit.
  • Its parsing is checked against the client's own string table. You have slain %1! is id 12113 in eqstr_us.txt, read out of the install — the same class of evidence as our floor plans being read out of the .s3d meshes rather than drawn by hand.
  • It understands Legends instancing. A zone arrives as The Plane of Sky 3 (Fused). That <n> (<Tier>) suffix is not in any client string file and classic EverQuest never had it, so an exact match against a zone name could never see it.
  • X died. names no killer, so it is never counted as yours. Those lines are reported rather than guessed at.
03

What it will not tell you

Its own limits, in our type. They are limits of the log, mostly, and none of them are fixable by trying harder.

  • The log only knows what happened while it was running. Anything looted before /log on is invisible. An /outputfile inventory dump at a banker covers that; the tool takes the larger of the two counts rather than adding them, so one item never reads as two.
  • Wind runes can never have a measured rate. They drop zone-wide from anything and they are alternate currency, so no log can count them. They are entered by hand and labelled as such.
  • A sold bag is a hole the log cannot fill. You receive … for the contents of your bag. never names what was inside, so those items may still read as held. The tool says so rather than pretending otherwise.
  • A closed trade is not proof of a turn-in. Walk the wrong class's pieces to the wrong giver and they come straight back, one refusal per item, and the trade still closes. Refusals only count when the line names your character.
  • Five classes carry a ?. Ranger, Rogue, Shadow Knight, Shaman and Wizard have no confirmed Legends-era reward stat blocks. Their turn-ins are current; the stat numbers may still be classic. The same gap is open here, because the data came from us.
  • Two items have sources that disagree. The Efreeti Great Staff and the Efreeti Statuette are attributed differently by us and by eqlegendstools. Both are marked in the panel rather than silently resolved.
04

The overlay

The same application in an Electron shell, so it can sit on top of the game instead of beside it.

Both hotkeys are global, so they work while the game has focus. Position, size, opacity and click-through are remembered between runs. Exclusive fullscreen draws over every other window, this one included — use Windowed or Borderless.

Watch it run, 18 seconds →  ·  The full tutorial, 1:15 →

The overlay listing seven ready quests, each showing only the items to hand over
Ready quests. Under each tester, the pieces to hand them — nothing else, because that is the question you have standing at the NPC.
The setup panel: whose kills count, the class picker, and what to track
Setup. The number on each class is how many tests it owes.
Ctrl+Shift+Oshow and hide the panel
Ctrl+Shift+Lclick-through — the panel stops eating clicks
slideropacity, continuous from 15% to 100% rather than fixed steps

Download the overlayWindows · 100.5 MB · unzip and run, no installerOr the single fileOne HTML page · 0.1 MB · opens in any browser

Both carry build dad68d2b, the same one served above. Exclusive fullscreen draws over every window including this one — use Windowed or Borderless.

05

Who made it, and what it replaced

Sky Ledger is a separate project, with its own test suite and its own documentation. It is served here rather than rebuilt here.
Our own Plane of Sky tracker is withdrawn. It is the tool Sky Ledger supersedes, and running both would only ask a reader to pick. Its quest data lives on: the Sky dataset is published with a source recorded per claim, and Sky Ledger’s own dataset was extracted from it. The zone itself is written up at Plane of Sky, island by island.
Credit where the parsing came from. The log-line cases that break naive counting — the autosell tail, combine consumption, upgrade-tier suffixes, and handbacks that name the player — were identified by sowoky in eqltools.com’s sky-core, and reimplemented rather than copied. Two of them appear in no client string file at all, so they could only ever have been found by reading a real log. Quest data was cross-checked against eqlegendstools.com and loadoutlegends.com, which agree independently at 95 tests, 222 turn-in slots and 128 unique turn-in items.