Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Reports

Hydra keeps a ledger of what each character does: every experience pulse as the mind-state bar states it, and every hunt the combat reader saw, with its attacks, flares, hits and statuses. The ledger is one file for every character, hydra.db in the data folder, and nothing is ever sent to the game to fill it. Each kind is recorded unless the character’s Logs settings page switches it off: experience, login rewards, silver and bounty points, loot, combat and enhancives each have a row under Ledger, beside the player log’s own switch, which takes effect the next time the character logs in.

The enhancive items are in it too: every charge lost and every charged-until time as inventory enhancive list states them. Hydra asks for that list quietly as a character is seated, as it quits, and every five minutes while the benefits are on, each ask held back while a fight is on, a hostile creature is in the room or roundtime runs. The interval and the two warning thresholds are on the General page under Enhancives; an item at or under the charges, or charged until within the days, is warned of in the story once a list is seen. .enhancives lists each item with its charges, how long a charge takes while the benefits are on, and the day it runs out; .enhancives <item> lists one item’s charges lost with the gap between each; .enhancives together the readings where several items lost a charge at once; .enhancives scan asks for the list now. The Enhancive timers widget, among the Character widgets, draws each time-charged item as a bar counting down to its time, full until the end is within the minutes its page sets, then draining in a warning colour; items further off than its hours are left out, so a year’s potion sits out of the way of a half-hour one.

The reports read that ledger. There are two ways to them.

The Reports window

Menu → Reports opens the window, from the hub or from a play window’s title bar. From a play window it opens at that character; the picker at the top left chooses any character the ledger holds.

Down the left is the list, by family: Experience, Combat, and Flares, which opens to every flare recorded for the character, by name. The box above it finds a report by its name or by what it shows: type barrier and Intercepts is left, pulses and Mind. Enter runs the first that fits. A click on a report runs it.

The strip along the top sets what a report runs over:

  • Latest hunt, Every hunt, Last n hunts or One hunt by id, for the combat reports that take a scope.
  • Between, with a from and a to: two hunt ids for the combat reports, or two times for the experience report over a span. A time is 13:05 for today, 07-20 13:05 for this year, or 2026-07-20 13:05:52.
  • Name, for the reports that take one: a creature’s noun.

Attacks and Creatures list every one over the scope, by damage, a page at a time. The row above them turns Recent on, newest first, with a number for only the last so many; sets the rows a page; and walks the pages.

The pane shows the report with its links live. A link runs that report in the pane: Intercepts links each barrier to its flare report, a hunt’s report links its creatures and attacks. Back and Forward walk what has been run, Refresh runs the report shown again, and Export writes it to a file under the data folder’s reports.

A hunt closing runs the report shown again on its own, so a hunt’s numbers are current without a click.

Experience

Every absorption pulse is a row: what the bar said was gained, in experience and in ascension, the field pool against its cap, the mind’s state and the bonuses on. The reports read those rows; the ones across time draw a bar a row, so a day or a week is seen at a glance. Each counts in whichever gain moved more over its span, which is ascension once a character is capped, and says which in its title. The time absorbing is the pulses’ own: a break longer than a pulse and a half counts as one pulse, so an hour away does not drag a rate down.

  • Hours is the last 24, a bar an hour, newest last, with the mind state the hour mostly sat in and how long of it went idle. exp hours 12 is the last twelve.
  • Week is seven days, a bar each, with each day’s rate and time absorbing, against the seven days before, and the best and worst day.
  • Clock is the average for each hour of the day over fourteen days: when the gains come. exp clock 30 averages over thirty.
  • Mind is where the time went: each state’s share of it and what a pulse absorbed there, how long the pool sat at its cap (a kill past the cap absorbs nothing) or empty, and how far apart the pulses came. exp mind week, or two times, widens it.
  • Hunts is one row a hunt, newest first: its length, its kills, what was absorbed while it ran and the rate, the creature seen most, and its id linked to its combat report. exp hunts 20, exp hunts week.
  • Bonus is each bonus on against off, a pulse’s worth either way, and where the span’s gains came from: absorbed, bounties, the brooch.
  • Everyone is every character today on one table, with each one’s mind state and last pulse.
  • Level is the level reached and when the next comes at today’s pace, this week’s, and the best day’s; at the cap, the pace in what still moves.

Session, Today, Daily, Last pulses, Instant and Between times add a span up, as before.

Flares

A flare’s report says how often it fired over every attack it rode, by attack, by the weapon in hand and, for a bow, by volley round; then what it did when it fired. The weapon table folds an item’s ids into one row, with by item opening every id; effects opens its rate with each effect up and without it, the ten widest gaps among effects up and down for a hundred swings each; fires alongside lists the flares that fire with it.

The Effects report lists what was up over the hunts, each effect under its name: the dialog writes a value or the time left into the text (“Empowered (+29)”, “Hypothermia (4) 9 mins”), and those are one row, with a link to the effect’s values, each as it was written, how many times it went up and for how long.

Gemstones

A hunt is recorded with the gemstones equipped as it opened, since a set cannot change in combat. A hunt’s report lists them with their ranks, and a gemstone flare’s report (mirror image, hunter’s afterimage, the shroud) says the property it belongs to and its rate at each rank it ran at. The set comes from gem list all, read when it passes and kept in the character’s file; equipping or unequipping a gemstone keeps it current.

Barriers

Wall of Thorns blocks an attack before any roll, so a block says nothing of whether it would have hit; Barkskin absorbs the next hit, so every absorb would have. The reports keep the two apart: Intercepts counts the attacks blocked before any roll, then of those past the barriers, the ones that would have hit, absorbed or landed. The hunt keeps when each barrier was up (see Effects), so the thorns’ report gives blocks over the attacks that came while the wall was up, beside the one in five the spell says, and the lash that poisons over the blocks, beside its one in four; the bark’s, absorbs over what would have hit while it was up.

Gear

Every swing of yours is recorded with what the hands held as it was made, by the item’s own id, so two bows of one noun are two bows to the reports. A volley’s arrows carry their round. A flare the gauntlets lent, told by “You feel drained.” before it, is the gauntlets’ and not the bow’s. The items worn are kept per hunt as spans: from the second an item was first seen worn to the second it was seen gone, so a swap during a hunt is a closed span and an open one. An item is one name across logins, where the game’s own id for it changes with each. A flare’s report then shows its rate by the weapon in hand, by round, and by source; a flare that fires on a first flight only leaves a volley’s later rounds out of its base. Gear lists each item held with the flares seen on it, the gauntlets’ flares, and the items worn over the hunts.

Effects

Every spell, buff, debuff and cooldown the game lists is kept over a hunt the same way, as a span from the second it was seen up to the second it was seen down; Barkskin, which shows no bar while up, is read off its lines. Nothing is copied per attack: an attack’s active set is whatever spans cover its time. Effects lists what was up over a scope, in how many hunts and for how long against the hunting time. A hunt’s report says what was up as it opened. A flare’s report ends with the effects that were up for some of its swings and not the rest, with the rate each side, which is where a buff or a gemstone property shows whether it changes anything. Names are kept once, in one table, so the file does not repeat them: a flare, a spell, a property, a piece of gear is a number in the rows and a name in the table.

Syncing

The first time a character is seated with nothing stored, Hydra sends the reports that teach its facts once: info full, skills full, the PSM lists, inventory enhancive totals, gem list all, society and the rest. They are asked quietly, one at a time: their long answers stay out of the story, which says only each stage (Sync 2/12: skills full) and when all are done. After that, play keeps them current and nothing is sent at login. .sync sends them all again, .sync <group> one of them, and .sync reset drops what is stored first.

Typed

The same reports answer on the command line, in a character’s play window: .exp for the experience reports and .cstats for combat. .exp help and .cstats help list every one. Three words change the ledger and are only ever typed: .exp addgain <n> for a gain the bar did not state, .exp clean to drop pulses with no gain, and .exp reset to drop every row of that character’s, which asks first.

Filling the ledger from recordings

A session Hydra recorded (its .bytes files, when recording is on) can be read back into the ledger with Hydra closed:

hydra import logs

Each session is replayed as it was played, and every hunt and pulse it holds is recorded. A file is never read twice, a session that overlaps hunts or pulses already on file is refused, and a pulse already on file is skipped.

Lich’s own logs read back the same way: point hydra import at a Lich logs folder, or any folder under a GSIV-<Name> one, and its .xml files are read (the plain .log files beside them hold nothing a report can use). The folder names the character and its game; the files Lich cut a login into are read as one session, so a hunt across a cut stays whole. A log older than the game’s experience numbers on the mind bar brings its hunts but no experience.

hydra import "E:\Gemstone\data\log archive\GSIV-Nisugi\2026\01\xml"