Week of August 24, 2026. This is an archive page; back to the current week.
2026-08-30 · 198 items
The New Britannia Herald
One tutorial guide, seven voices, and two brand new spells
Headlines
- The launcher now fixes a black-screen boot loop on its own: after a session that did not close cleanly, it clears the graphics driver shader cache without being asked.
- Judgment: a new Sun spell you plant your feet for. Burn one target for as long as you can hold it, let your friends' blows feed the charge, and it bursts when the beam ends. One hit on you and the whole thing is gone.
- Sieges moved into the towns. The scheduler that picks besieged towns is switched on, the old gate-scene siege is stood down everywhere, and three siege knobs that had never reached anything now work.
- The last blocking load at start-up is gone. A boot that reached the end of the loading bar and then froze on a blank window was waiting on one asset, loaded the old synchronous way; it now loads asynchronously like everything else, closing out 55 crash reports from 23 machines.
- The Leaderboards window went from six boards to twenty-one, including eight built from 487 per-account counters the game had never shown anyone.
- Death Touch and Death Ray got a resistance curse every Death mage can land. Only specialists could land it before, and it now strips 30 points of a target's warding across two stats where it used to strip 15 across one.
- Death Magic got a capstone: Revenant Stance burns your own life into focus, refuses you every heal while it is up, and pays a Death attunement bonus big enough to bite through the undead warding the school has never been able to crack. Die with it up and the corpses around you get back on their feet and finish the fight.
- The Oracle will unmake all of your training on request, hand back every point of experience you spent, and mark you with Mark of Chaos for it.
- The Dungeon Waygate can finally be bought: 500 crowns in the Crown Store, under Adventure Design. It was placeable for weeks with no way to get one.
- Specializing in a school and training its Specialization skill are two separate decisions now. Train all twenty-one if you want; your two specializations stay where you put them.
- Thrown alchemy bombs work more than once per scene. Their shared cooldown never cleared, so one throw locked all four until you zoned.
- Death magic specialists keep their eyes during the deathwalk: the screen still goes blue and ghostly, but the living around them stay themselves instead of turning into soul wisps.
- Bug pass. Closed 5 reported bugs from the tracker.
UI
- The stone castle wall inward corners now show their own picture in the recipe book, at the smelting station and in the bag. They used to borrow the outward corner icon, so the two pieces were impossible to tell apart until one was crafted and placed. The inward corner towers had the same collision and were given their own picture in the same pass.
- The Train All and Not Train All buttons on each school row in the Skills window List view did nothing when pressed. They now set that whole schools training, the same result the school headers right-click menu gives.
- Added Collapse All and Expand All to the Skills window List view, on the strip beside the search box. They fold and open every school section the list is currently showing, so a search or a category tab narrows what they touch.
- The mouse wheel can be assigned to an action in the Controls tab again. Clicking a binding slot and turning the wheel recorded nothing, which left hand-editing the settings file as the only way to put the wheel on an action. Joystick and flight-stick axes still have to be pushed past halfway before the binding screen takes them.
- The chat font size setting now sizes the box you type in as well as the chat log. Raising it used to scale only the messages above, leaving the entry line at its normal size.
- Your own name and health bar used to sink down over your avatar as you zoomed the camera out, and at full zoom out the health bar covered the whole head. The plate is now placed from the bottom of its health bar rather than from its middle, so it holds the same gap above your head at every zoom level. Other players and creatures are unaffected.
- Set the Lord British Celebratory Vintage 65 Wine Bottle inventory icon back to the size item icons ship at. A pass on 27 August had doubled it to match the folder around it, and item icons are drawn large as future-proofing rather than to be imported that way.
- Fixed the buff icons under your health and focus bars: once you carried more buffs than the two rows hold, the "+N" marker knocked the last icon off the top row and dropped it onto a third row below the strip. The strip now keeps its two full rows with the marker in the first slot.
- The mailbox now fills in while it is open. Mail loads one message at a time from the server, and the list only ever drew what had arrived by the moment you opened it, so a mailbox opened right after logging in looked empty until you closed it and opened it again (#5718).
- The Edit Deck slots keep their outlines. The grey box on an empty slot and the gold box on a locked slot were wiped the moment the pointer crossed the slot; they now stay put, and a slot that simply holds glyphs draws no box at all.
- Dragging a glyph off a deck slot onto the In This Deck list or the Glyphs browser now takes it off the bar instead of snapping it back into the slot. The glyph stays in the deck, the same as the Remove Glyph menu entry.
- The numbered bracket under each Edit Deck slot no longer sits under the glyph list arrow, which had been covering its left upright.
- A window you had pinned and then closed no longer opens by itself at login. The pin was being read as a second reason to reopen a window, so a player who had pinned the map, journal or backpack found them waiting open in the first zone they loaded. Windows left open at logout still come back open.
- The 3D dungeon map now zooms in the same distance on every dungeon. The closest view used to scale with the size of the place, so Tartarus stopped about 150 metres up and Lost Vale about 520 metres up, and a single room could never be brought up large enough to read. The closest zoom now frames about 13 metres everywhere, and small dungeons keep the tighter close-up they already had.
- A map pinned to stay open while you travel now finds you again in the next zone. It used to lose the you-are-here arrow at the zone line and never get it back, even after walking into the place the map is drawn for, until you closed the map and opened it again. The town spawn selection window was the same and is fixed with it.
- Two small buttons in the chat window drew as empty boxes on Linux: the channel arrow at the right of the chat entry line and the options arrow on a chat tab. Both were written as text symbols that none of the game UI fonts contain, and they now use the same small drop-down arrow image the rest of the interface uses.
- Overhead name text got a readability pass: the black edge on all plate text (names, health, overhead chat, cast bars) thickened from outline width 0.15 to 0.2, and friendly NPC names lightened from the standard 0.5 grey to a flat 0.7 light grey, still a step below player names at 0.75.
- The Oracle window's conversation area ran all the way to the edge of the window and painted over its own border, hiding the frame down the left and right sides and the decorative corners at the bottom. It is now held 10 pixels in from the edge and sits in the same bordered reading panel the tip jar ledger and the table game seat cards use. Window skins that draw a heavier frame (Citadel, Bastion, Crucible) pull it in further still, so the border stays visible on all of them.
- The Price of The Oracle collected ransom rewards one row at a time: select a ransom, press Get Items or Get Gold, repeat. A Claim All button at the bottom of the window now takes every reward already waiting in one press, behind a single confirmation, and reports the batch once instead of one popup per ransom. The button carries the number waiting and greys out when there is nothing to collect. Ransoms that still need a decision from you are skipped, so the button never spends gold and never gives up items.
- The Leaderboards window would not stop shrinking. Dragging a corner in far enough squeezed the table until the name column vanished and the right-hand columns slid off the edge, with nothing to scroll them back: the Fish board needed 742px of table against the 514px the window's minimum width offered. The columns share the space between them now, and the minimum width is measured from the headings of the board on screen instead of being one fixed number for every board.
- Two smaller fixes on the same window: it no longer opens taller than the screen when the UI Scale slider is raised, and the freshness line in the bottom right no longer sits under the resize corner, where pressing the text started a resize instead.
- The Leaderboards window went from six boards to twenty-one. Zones and Creatures are the cheapest two: the server has been counting both every hour since the boards were rebuilt in August, and neither had ever been shown to anyone.
- Every row on the Fish board now names whoever caught the most of that species, next to the name it already carried for whoever landed the biggest one. Those are usually two different people. Before this a row read "412 caught" with nobody attached to it.
- Anglers, Consumers and Deaths rank people out of the two event streams that until now only ranked items. Deaths splits into creatures, players and self-inflicted, the last of which the game has been logging for years without ever counting.
- All twenty-one boards are committed and waiting on the next chaos deploy and client build. The eight career boards show the same totals across the 1 Day, 7 Days and 30 Days views, because a lifetime total has no last-24-hours version.
- The backpack table can hide columns it does not need. Quantity, Weight, Durability, Value, the All Bags container column and the lock column each get a switch, and the space a hidden column gives up goes to the item name. Everything starts on, so the window opens the way it always has until you change something. Sorting by a column and then hiding it drops the sort rather than leaving it stuck with no heading to click.
- The backpack display options moved to a gear in the title bar, beside the pin, and the panel behind it now lays out in two groups side by side instead of one tall stack. That returns the old "Options" row and half the panel's height to the item list.
- Windows resize from any edge, not just the four corners. Drag the left, right, top or bottom edge and that edge follows while the opposite one stays put; the cursor says which direction each one moves. Windows are moved by the title bar, so the strip down the left edge that used to move a window is now the left resize edge.
- The compass wind arrow was pale blue, near enough to the blue used for quest and ankh markers that players read it as one more quest marker. It is amber now. The quest, destination, owned lot and ankh marker colors are unchanged.
- The character sheet's XP tab now lists the account-wide pool as its own row. Pooled XP has always been two things added together, the experience a character earned and a pool every character on the account shares, and until now only the smaller transferable half was named.
- Every pooled XP row on that tab explains itself on hover, and a new About Pooled XP block at the bottom says where the account pool comes from, that the daily login bonus feeds it and is spent before your own experience, and that sending experience to another character costs Gold Crowns and drops the sending character's level by the amount sent.
- The compass bar names the weather the sky is actually showing. The weather word used to change the moment the schedule turned, about ten seconds before the sky finished fading to it, so the compass reported rain while it was still clear overhead. The word now crosses over partway through the fade, alongside the weather it names.
- The compass also follows weather it could not see before. Weather volumes and siege skies repaint the sky through a separate channel the readout never read, so standing in one left the compass naming the ordinary weather for as long as you were there.
- The dye confirmation no longer freezes the item preview beside it. Dyeing something that is not shown on your character sheet, a hatch for instance, opens a preview window next to the confirmation, and that window was visible but took no drag and no mouse wheel because the dimmed background was swallowing the pointer. The dim now leaves the preview window's own area alone for as long as the confirmation is up, and it follows the window if you drag it.
- Typing a quantity at a vendor goes into the amount box again. Double-clicking a stack opens the quantity prompt from inside the same click that focuses its amount box, and the rule that clears a text field when you click elsewhere was clearing that box too, so the digits fell through to the hotbar and fired a card from your non-combat deck. The rule now only re-clears the field the click itself cleared.
- Fixed a corpse nameplate appearing in the living creature colour before turning grey. The name now reads grey from the first frame it is drawn, whether you walk up to a body or watch something die. (#6437)
- The overhead name and health bar on a summoned Air Elemental were drawn about a tenth of a metre inside the creature, across its head. They now sit above the top of the model, at the height the wild Air Elementals of the same size already used.
- Sorting and navigation arrows now draw as artwork instead of text characters. The Emotes, Leaderboards, Achievements, Social and Players in Scene lists mark their sorted column with an arrow, and the conversation window pages its keyword list with two more; none of the fonts the game ships carries those arrow characters, so on Linux they came out as empty boxes. A sorted column too narrow for both now shortens its heading and keeps the arrow.
- Search All My Stuff: typing one or two characters and pressing Enter answers "Enter at least 3 characters to search." again, and the Search button gives the same answer. Both had been showing the line meant for a box holding only filters such as
is:locked, which is a different case and still shows it.
Images
- Judgment in the skill tree, in both icon sets.
- The Mark of Chaos badge.
Client
- Fixed the Rabbit Bodice showing underwear after a Potion of Green Growth. The green skin tone had no bare-body texture of its own and fell back to the clothed one, which has a bandeau, briefs, a collar band and wrist cuffs painted on, so a pale band appeared across the collarbone and pale cuffs at the wrists. The tone now has its own bare-body maps and the exposed skin is an even green. Male characters still need the same art.
- Filling water at a well or fountain now walks your character all the way onto the spot the fill animation is posed for. Approaching the well in Desolis from the far side used to end the walk while the character was still on top of the wellhead, so the kneeling animation played inside the stonework.
- Creatures stopped bouncing in place at the foot of tall staircases. A check that catches a creature falling through the world was measuring against the middle of a whole flight of stairs, so a creature standing at the bottom of one got lifted back up and had to restart its route, which is why the Grusk Automatons never climbed.
- Fishing casts that the server never answered used to hold the player in place for good, with no way to move, cancel the cast or fish again short of logging out. A cast now gives up on a missing reply and ends normally, and a catch that has nowhere to go finishes the cast as a miss instead of leaving the player rooted (#5746).
- Attack sounds from a summoned daemon now follow the SFX slider. They moved onto the Character Voices slider as soon as the daemon roared at a target, so from then on neither SFX nor Ambient changed them for the rest of the fight.
- The large double doors at the Castle Brittany entrance play a sound when they open again. Only the closing sound worked before, because the system that fades environmental sounds with distance handled one sound per object and left the other switched off from the moment the area loaded.
- Moving a crafting station or planter box off a lot into a container that had already been taken away no longer leaves the item unusable for the rest of the session. The refused move used to flag the item as broken, and every pickup after that did nothing without saying why.
- The broadleaf tree was loading its bark at a quarter of the size it was painted at on each axis, and was allowed to shed more detail again while you played, so its trunk read as a blur close up while the oaks and birches standing beside it read sharp. The bark now loads at full size and stays loaded, which costs 2.6 MB of texture memory across every broadleaf in the game.
- The resolution picked in Options is now kept even when the game window does not visibly change size. On desktops where a windowed game window is trimmed slightly so its title bar and borders stay on screen, every resolution wider than the desktop came out at the same window size, and the game read that as nothing to save. The Video tab also showed the live window size rather than the saved pick, so an odd entry like 1896x1440 appeared in the Resolution dropdown and every new pick looked like it jumped back to it. Reported by Allium Oop.
- A cloak came back stiff after you died: the cape held the shape it settled into on your body, and the character stood back up still wearing it. Cloaks now restart their cloth simulation when you are resurrected, so the hem hangs and sways again straight away.
- When a pet starts a fight your weapon is drawn for you, but the character stayed in the relaxed idle pose with the weapon arm hanging down until you moved. The draw now plays, so the fighting stance comes up at the same moment the weapon appears, standing still or not.
- Working on that turned up a dead knob. The ambient registration both Light and Night Vision use carries a colour and an intensity, and the intensity never reaches the renderer: the sky dome builds its three ambient colours from the base multiplier and drops the addition, which covers 333 of the 447 scenes, and Unity applies the intensity setting only in one ambient mode that 9 scenes use. Two docs pages claimed the Night Vision tunable was the operative knob and setting it to 0 disabled the spell. Both now say what actually does the work, which is the colour. Night Vision itself was left alone.
- Starting the game could still freeze on a blank window right at the end of the loading bar. The last step before the login screen pulled the front-end screen in through one blocking load, and on a slow disk the window stopped responding there: the crash reports show machines sitting on that single load for eight minutes before the player gave up. That load now runs asynchronously like the rest of the boot, so the window keeps drawing and the bar keeps moving until the login screen appears. Overnight this accounted for 55 startup failure reports from 23 machines across builds 162 to 167, on Windows and Linux both.
- The game needs Windows 10 or newer, and on an older version of Windows it closed the moment it started with nothing written to a log. The launcher had been reporting that as the game closing right after starting and suggesting Repair, which cannot help, so one player retried five times in eighty minutes. The launcher now checks the Windows version when it opens, says plainly that the game needs Windows 10 or newer, and refuses to start it. Patching and repairing still work on that machine.
- Decoration tooltips stop reading through player house walls. The earlier pass on this only covered walls the game treats as dungeon pieces, so it held in dungeons and basements and missed most house models, where the wall and floor collision is marked as a surface decorations can sit against and that marking was being read as permission to see through it. On those same houses, pointing at your own house wall names the house again and right-clicking it opens the house menu again.
- The reflecting pool in Serpent's Spine Mines wrote a rendering error into the client log on every frame it was on screen, which buried the entries we read first when a player reports a crash. The reflection is now drawn earlier in the frame, where the engine expects that work, and the pool itself is unchanged.
- A decoration balanced on the edge of another one now stays on the part it was sitting on when that one is resized. A large planter bed with a single corner over a small stone cube used to slide metres across the lot for a few centimetres of cube; it was being held by the centre of its own base, which for a corner-perched item sits out over open ground. Items resting fully on top of their support are unchanged.
- Startup progress used to stop at 85% for the whole of the last and longest startup step, so a slow start looked the same as a dead one. Several players reported the game locking up there. The bar now moves through that step as the work finishes.
- The startup watchdog used to switch itself off after ten minutes. A first start after a graphics driver update can run far longer than that while the driver rebuilds its shader cache, so the slowest starts, the only ones anyone reports, were leaving no record at all. It now stays on well past that, logs more sparsely once a start is clearly in trouble, and records which graphics driver and card were in use.
- Zoning into a place whose characters or decorations never finish loading now returns you to the overworld after three minutes with a message. It used to sit on the loading screen until you closed the game.
- A downloaded voice clip that would not play could silence one line on one machine permanently. When a clip took too long to decode the file was kept on purpose, on the grounds that a busy machine had not proved the audio bad, but nothing counted the attempts, so a clip that could never decode was read back from the same stored copy every time afterwards. Clearing the voice cache by hand was the only way out. The second failure in a row now throws the file away and the next play downloads it again.
- The voice clip downloader records why a clip did not play. It had no logging at all, and threw away the response code, so a clip the server never sent, a machine with no connection, and a file that would not decode all looked the same: silence. Voice previews also now leave a line saying whether the sample was requested, missed or played.
- The client used to keep decoration art in memory for the whole session. Once it loaded the art for a decorated lot it held on to it after you left, so memory climbed as you travelled and never came back down. One recorded session went from about 6 GB to about 13 GB across an hour of zoning and then sat there for another 90 minutes and 14 more zone changes. The oldest unused decoration art is now released at each zone change, and reloads if it is needed again.
- Client memory telemetry only reported on a zone change, so a client growing while standing still in one town reported nothing at all until it travelled or died. The once-a-minute heartbeat now carries process memory too. Adding those two numbers pushed the worst case past the 900 byte limit on a relayed log line, which showed that the limit was being handled by putting the least important field last and letting it get cut. A cut field is worse than a missing one, since half a number still parses as a number, so the tail of that line is now dropped whole or not at all.
- Fixed spell visuals that stopped drawing: a ground-placed effect such as Ice Field borrowed the show-and-hide behaviour of the caster and never gave it back, so hiding that character later switched off effects that had already finished, and the next several casts of the same spell drew nothing until enough fresh copies had been made.
- The plain cloth rugs now hang flat on a wall. Held against one they used to stay lying level, sticking out of the wall, and the game refused to place them there; the Rectangle, Square, Oval, Round, Octagon and Long rugs all did it while the beach towels and sigil rugs were fine. Floor placement is unchanged.
The Herald
- The New Britannia Herald for 2026-08-29 is up: New characters wake on the Isle of Storms without a body and must find the Magic Mirror to earn one, which briefly turned every character in the game into a spirit. Client crash reports that used to arrive with four useless lines in them can now be resolved into real function names, and the first two run through it were one defect. Bard songs work in a fight again, the start-up freeze is fixed, and the Oracle answers in the language you play in. Listen or read the transcript (18 min). Subscribe in any podcast app: /blog/podcast.xml
Combat
- Fixed bow attacks so every shot animates for the people watching. Only the first shot of a volley played its draw and release for onlookers, so the arrows after it appeared while the archer stood still. Crossbows were never affected, and the archer always saw their own shots correctly.
- Summon Phoenix: the phoenix's one in four chance to blind on hit did fire, but its strength was the owner's Sun Magic Specialization times a constant, which the game holds at zero for anyone not training that specialization, so most owners' phoenixes landed a ten second debuff of minus zero, drawn on the target as a fireball called Fire Blast. The blind now takes 10 damage avoidance and 8 Dexterity from every target for ten seconds, specialization adds to that (about 22 and 18 at level 100, where the specialized used to get 25 and 19), it plays Blind's light on the target when it lands, and it shows on the target's effect strip under the Blind icon with the name Blind. A rune can now be authored to show its effects under another skill's icon, which is how that last part works. Sun proposal card S7, the half the card asked to verify first; a player had reported never seeing the proc. Commit acd7f41e65.
- Solar Flare: the effects pass the Sun proposal asked for, toward Cone of Cold. The impact half turned out to be missing rather than dim: the spell's damage row had a per-target effect slot authored with nothing in it, so nothing ever played on the enemies the cone struck, while Cone of Cold lands a burst on each. Every struck target now shows a golden burst with a short glow and a warm light (a new rig built from Searing Ray's per-target effect with the beam removed). The cast rig registers its particle systems so they stop on release, its big sheets stay visible to other players at the spell's full reach (they were culled two distance bands closer than Cone of Cold's), the centre flash no longer rolls a lifetime of a ten thousandth of a second, the cones are warmer and brighter, and a point light rides the burst. The cast sound was still the across-the-map one: 2D, unrouted, and listed for the effect system without the delay entry it reads, so the engine played it raw at full volume anywhere in the scene on the first cast and nothing played it on later casts. It is now 3D, mixer-routed, fades by 25 metres, and plays every cast. Requested by CrandalltheFoole. Commit 8836494ec0.
- Sun Worship now raises Intelligence instead of Strength while the sun is up, at 0.12 per skill level: 12 points at skill 100, 24 at the cap, still nothing after dark. The Sun trees only attribute passive had paid the melee stat in a school whose every spell scales with Intelligence. Characters who trained it for the Strength lose that bonus. Requested by Chiasma.
- The Sun spell Light now lifts the brightness of the area around the caster about twice as far. Its ambient contribution went from 0.0196 to 0.0396, so a dark interior authored at 0.047 reads 0.087 with the spell up instead of 0.067. The pool of light the spell casts is unchanged, as is the way its radius grows with training.
- Dexterity now buys the same critical hit chance on every physical weapon. The melee divider was 2000 and the ranged one 800, so a point of Dexterity was worth two and a half times more critical chance on a bow than on a polearm. Both are 1200 now. At 100 Dexterity the crit term moves from 5.00 to 8.33 rating points for melee and from 12.50 to 8.33 for bows and crossbows. Reported by necronut.
- The audit behind that change also settled two things about Sneak Attack that had not been written down. Its damage line reads no Dexterity at all, and Subterfuge Specialization contributes nothing to it beyond the mesmerize duration. The Sneak Attack Boost multiplier on the end of the formula is granted by two Stalking Cat potions and nothing else in the game.
- Subterfuge Specialization now pays off on damage. A critical hit landed from behind adds half the specialist mastery to the critical multiplier, so at specialization 80 a backstab critical reaches 2.5 times a normal hit instead of 2 times. Specialization 100 gives a little more.
- The backstab bonus is smaller against other players, where all critical damage is already scaled down, and a target who invested in Crit Reduct still takes it back off the total. A shard-wide tunable can dial the bonus or turn it off without a client patch.
- Death magic life drains no longer report as blocked or reduced healing. The health Death Ray, Death Touch, Death Field and Fiery Decay give back is a life transfer and has never been touched by healing debuffs, but the combat log worked it out from your current stats rather than from the drain itself. With Death Shield up, which carries a 25 percent healing penalty of its own, every drain printed a line saying the healing had been reduced by 25 percent while the full amount landed. Under Revenant Stance the same line read 100 percent. Drains now print no reduction sentence; a potion or spell a debuff really did shrink still reports it.
- Thrown alchemy bombs can be used more than once in a scene. The twenty second cooldown the four bombs share was never being cleared, so after one throw every bomb stayed greyed out and answered "You are not ready to use this yet" however long you waited. Changing scenes was the only thing that reset it. The cooldown now ends when it runs out.
- Answering Blow was playing a spell-casting animation, both arms thrown forward and repeated twice per use. It now plays the shield thrust it was always meant to, the same one Shield Bash uses, once per use.
- Judgment, Obfuscate, Frost Weapon and Shock Weapon now play a cast animation. All four were added without one, so the character stood still for the whole cast while the effect went off; each now plays the cast its own school already uses.
Content
- Smoothed a raised patch of ground in the Aerie graveyard that stood about 1.6 m above the slope around it and pushed up through the ruined stone wall. The ground beside the wall now follows the hillside.
- The Shogun Paper & Wood Room Divider and its ornate version can be placed again. Their collision box was authored about 16 cm above the base of the screen, so the game looked for a floor under a point that was already above the floor and refused every surface with a red highlight. The box now reaches the bottom of the art, and the divider drops on lots, house floors, basements and open ground. Nothing about how it looks changed.
- The frost giant in Jotungrund makes noise when it moves and fights. Its walk, run and four melee attacks had no sound cues on them at all, so it grunted but stepped and swung in silence. Footfalls, swing whooshes and the thud of the hammer and the stomp are now placed on the frame each one actually lands.
- Anais, the guide for the opening tutorial on the Isle of Storms, no longer vanishes moments after she appears at the first stop. Every copy of her carries a hidden pressure plate that claimed the same identity, so the game treated the later copies as duplicates and switched them off. An earlier attempt at this read the identity before it had been filled in; the copies now take it from their spawn, which is set first.
- Filled in a gap at the foot of the big switchback staircase in Brittany Estates. A character who fell off the side of the steps could land in a narrow slot between the landing wall and the bank of ground beside it and be unable to walk out in any direction. Landing there now leaves you standing on the ground, free to walk back out onto the flat.
- Abigail, the public vendor in Kingsport, spoke with the same male voice as Ronald, the public vendor in Owl's Head, because the two share one conversation and it only ever had one voice assigned. That conversation now carries a voice for each gender, so Abigail is on a female voice and Ronald keeps the one he has. Her lines change over with the next voice update.
- Two townsfolk near the north gate of Brittany Estates spoke in voices that did not match how they look, and four more residents elsewhere in the town had the same problem. All six now answer in a voice that matches their appearance.
- The stone pillar players face on arriving at the Well of Aldur drew its stonework at 512 while the paving and ruin walls beside it drew at 1024, so up close the pillar broke into visible blocks. Both of its textures now import at 1024, matching the stone around it and the earlier fix for the columns at the Sequana Colossus ruins elevator.
- Nine young white oaks in South Quel Woods had been painted into the forest but never appeared, because the terrain pointed at a decoration version of the tree the game could not draw. The terrain now uses the same young white oak already growing in that scene, and a matching unused entry in a developer test area was corrected the same way.
- Anais's pressure plate on the Isle of Storms has two working parts, and yesterday's fix covered only one of them. The second part had the same identity clash and had never been addressed, so all seven copies of her still shared one identity for it. That part is what brings her into view, so she would still have failed to appear at six of the seven tutorial stops. Both parts now take their identity from the copy of her they belong to.
- The fishing expedition encounter put two Exit markers on the compass and the map. The one at the stern of the large ship had nothing to leave by, so walking the back of the deck sent players hunting for a way off that was never built. That marker is gone. The marker on the return boat by the island is the real exit and is unchanged.
- The two hanged bodies in Blood River Outskirts dangled about 40 cm to one side of the ropes they hung from, so the rope ended in empty air beside the head and the body floated next to it. Both have been moved onto their ropes, at the same height as before, and an editor test now measures the neck against the rope so the pair cannot drift apart again.
- The secret sliding bookcases in Aerie, Brittany Wharfs, Broochash, Central Brittany, Kas Ruins and Valhold Palace now make a sliding sound as they open and close. Seven of them moved in silence and the one in Central Brittany played an ordinary hinged door sound; all of them now use the sliding sound heard on the sliding door in Bunker C.
- The last area of the Isle of Storms tutorial, the one holding the lunar rift that sends you on, had a gap in its boundary. In the corner north-east of the rift the ground ran out with nothing underneath, and a player who walked in fell out of the world. Because the tutorial areas share a map with the island, the fall put the player back at the point they first arrived, with no way to pick the tutorial up again. That corner is now solid, and a sweep of the whole tutorial complex found no other spot a walking player could fall through.
- The Dungeon Waygate is now sold in the in-game Crown Store for 500 Crowns of the Obsidians, under Adventure Design in the Traps & Mechanisms group. It has been placeable since it was built but nothing granted it, so until now the only copies in the world came from a Game Master by hand.
- One waygate per purchase. A single one is worth having on its own because it can be attuned to your dungeon entrance as a way back out, so a two-way link between two dungeons costs two.
- The four Ghostly Echoes in Highvale Outskirts are men, and their character record now says so. It had been marked as having no gender at all, which let the voice casting pick a female voice for them; they are recast onto the male spectral voice the other undead use. The new voice is heard once the spoken audio is regenerated and published.
- Fixed the collision on the grand stone staircases in Brittany Estates. Twenty eight of the thirty one had collision on the steps only, so their stone side walls and the rail along the top could be walked through. All thirty one now block at the sides and the rail, and climbing the steps is unchanged.
- The White Birthday Candle 8-Pack and the Assorted Birthday Candle 8-Pack in the Crown Shop referenced an old identity for the white candle that the build no longer carried, so a buyer of either pack would not have received the white one. Both packs now reference the white candle that exists, and the same stale reference was repaired in the Release 151 subscriber reward bundle.
- Seven town Explorer achievements asked for more landmarks than the town contained, so they could not be finished. Points of interest that are switched off, and so cannot be found by anyone, were still being counted in the total. Resolute asked for 19 when only 17 could be found; it now asks for 17. Central Brittany, Brittany Alleys, Brittany Estates, Harvest, Spite and Vertas were corrected the same way. Progress already recorded is kept, and Owl's Head and Braemar were not affected.
Community
- Nightly forum sweep filed 9 wishlist items (Shield of Air focus transfer, pet Vigor parity, mid-tier content pacing, knockdown reliability, solo Vigor recovery, an aggro combo idea, home rotation, deco rotate-on-any-axis) and 2 bugs (quest-item hiding, UI saturation default) from player forum posts.
Server
- Character flags and recall bindings now go through the same field-name check the pet record picked up earlier this week. A save that carries a name the character record cannot hold drops that one piece and stores the rest, where before the whole save was refused. The recall save also stopped answering a failure by putting internal server wording into chat as red text.
- Vendor Sales, Gold Found and Adventurer XP come from the server's own economy log, which the leaderboards had never read. Gold is the one thing the database cannot answer here: its transaction records expire after an hour and the balance it keeps is a total, not a flow.
- Achievements, Slayers, Master Anglers, Tamers, Farmers, Master Crafters, Experience and Dungeons are built from 487 per-account counters the game has been keeping for every creature family, boss, fish species and crafting discipline, plus the achievement ledger. None of it had ever fed anything a player could see.
- The economy log records an account name rather than a character, and carries no leaderboard opt-out flag. Those boards resolve each account to the character it has played the longest, and name nobody the log cannot show has opted in. No login name reaches a published file.
- A view-subscription warning was printing red Server: lines into chat at every stop of the Isle of Storms tutorial. The warning is advisory and the request it describes still succeeds, so it now goes to the server log instead of to the player.
- Seven more server messages that could reach chat the same way went with it, across region overrides, merchant transactions, NPC dialogue, room properties and scene closing; the last of those answered a failure with raw error text. A new test walks all 116 response handlers in the game server and fails if any of the 102 that answer a player can put developer wording on the wire.
- Fixed the logout countdowns Leave Now button holding players at character select. Leaving early with a few seconds left on the countdown could keep the character screen unusable for up to half a minute after the character had already left the world, so waiting the countdown out was faster than leaving early. The screen now clears as soon as the character is really out.
- Killing a trophy boss now delivers the trophy deed as well as unlocking the achievement. The reward lookup used a name spelled one way in the achievement data and another way in the loot data, so it matched nothing and the handover stopped at that step. Trophies earned since those bosses were added on 2026-08-27 are still owed and arrive a few per login.
Audio
- The boy in the Naughty Brats encounter read the capitalised word in I just wanted LOTs of gifts letter by letter, while the girl brat said it normally. Added that word to the voice pronunciation list, so it will be spoken as a word once that line is re-recorded.
Sun magic
- Elysian Illumination leaves sleeping enemies alone. Any damage breaks a mesmerize, and the aura pulsed on everything hostile within three metres every two seconds, so an enemy put to sleep with Dazzling Rays next to the caster was awake within a pulse. The aura now skips a mesmerized target unless that target is already fighting the caster's party, pets included; a creature that was hitting you before it went down still wakes on the next pulse. The pet AI has refused mesmerized targets for years and the aura follows the same rule. Off switch on the Live Tunables page (
cc.elysian.sparesMezzed). Requested by Ancev. Sun proposal card S14. - The aura's two scaling bugs are fixed, both reported by Xee. Its undead bonus was a flat +4 per pulse added after the base damage, so it never grew with anything; it is now +4 at skill 0, +8 at 100 and +12 at 200. Its attunement term was the buff-side one that never reads the target's resistance, so the three -10 Sun Resistance stacks Searing Ray and Solar Flare put on a target did nothing for it; the whole pulse now multiplies by the same attunement factor those two spells use. At grandmaster (skill 100, specialization 80, +36 attunement) a pulse against an undead target goes from 11.7 to 21.0, and to 26.1 with three Searing Ray stacks on it. The owner picked the undead shape from three; the sibling x1.25 form would have halved low-level undead damage.
- Two corrections to the S14 card came out of the build: there is no mesmerize channel to read (Dazzling Rays declares none), so the gate reads the target's mesmerized state directly, the same test the pet AI uses; and none of it is server code, the aura runs on the client that owns each victim. The proposal page badges S14 built, and S5 (built on 2026-08-28) is badged too. Tester verification #6366.
- Sun proposal card S15 (undead sun resistance audit) marked done on the proposals page. The audit found the premise inverted: every undead family pack already authors a negative sun resistance, and the only sun-resistant undead is the boss ghost pack above level 100. What blunts Sun spells is the positive magic resistance every undead carries, which the combat sum adds next to sun resistance at full weight (level 108 boss lich: 237 magic resistance against 108 points of sun weakness). No creature data was changed; the card records the finding and the shape it gives S21.
- Dazzling Rays lands on the targets that matter: a quarter of its mesmerize chance (25 points, plus 5 more at Sun Specialization 100) is now guaranteed, where high-level enemies and developed PvP opponents used to resist every cast to zero. Targets that could already be mesmerized are unchanged.
- A mesmerized owner's pets and summons hold their attacks until the owner wakes. Before, the pet kept swinging, its damage broke the mesmerize, and landing Dazzling Rays on a tamer bought nothing. The pet's /verbose pet line says why it is holding.
- Sun magic has a new spell. Judgment is a beam you lock yourself into: it burns one target for what a Searing Ray cast would deal, once a second, for three seconds at the bottom of the tree and up to twelve at the top with Sun Magic Specialization. While it runs you cannot move and cannot cast anything else. Physical damage that anyone else lands on your target is stored in the light while the beam holds, up to twice what the beam itself has dealt, and when the beam finishes that whole charge bursts on the target with half of it reaching whatever is standing beside them. One step, or one hit on you, ends the beam with nothing to show for it. It unlocks at Searing Ray 40 and Elysian Illumination 40.
- Judgment is the first spell in the game to use the client channel effect, which has been sitting in the code for years with nothing authored against it. Two faults were in there. Ending a channel cleared the channelling flag through the spell target rather than the caster, which works for the self-cast channels that shipped (mounting up, and Dig In) and throws for anything aimed at a creature. And a channel beam was never torn down when the channel ended. Both are fixed.
- Six new knobs on the Live Tunables page, under a Sun magic group, cover Judgment: how long the beam can run, how much it can store, a much lower store ceiling when the target is another player, and the size and reach of the burst. One of them turns the stored-charge half off shard-wide without a client patch.
- Judgment was drawn above Elysian Illumination in the Sun tree, which is one of the things you need before you can learn it, so its connecting line ran the wrong way. It listed Searing Ray as a second requirement, and that requirement never did anything, because Elysian Illumination already needs Reveal Hidden which already needs Searing Ray. Dropping it puts Judgment on the rung below Elysian Illumination and changes nothing about who can learn it. The bad placement was also logging an error during skill tree load that failed about 37 unrelated editor tests.
Portal
- The Live Tunables page had answered 503 since the 29 August portal deploy: the API code that reads the page went out without the catalog module it imports, so every read failed while the rest of the health service stayed up. Both halves were redeployed from the commit and the page is back, now listing all 103 knobs and the scene rules picker.
Character Creation
- The appearance editors Finish confirmation no longer says your look will be saved to a folder on your own computer. The character is saved to the server; that line described the small preset file the editors Load button reads, which is still written as before. The same paragraph was dropped from the eight shipped translations so no language shows a stray placeholder.
Localization
- Ten code strings that had never reached the localization source database (the Isle of Storms spirit messages, the Magic Mirror prompts, the character name rules, Collapse All and Expand All in skill training, and the bard combat message) are in it now, so the next translation fill can see them.
- Translated conversation lines are keyed by a hash of the English string, not by loc id, so editing English text silently re-keys the record and every translation of that line falls back to English. Correcting Anais introduction line moved its record from c68765014b969bcc to e0dfd8518ff86616, so the German, Spanish, French, Italian, Japanese, Portuguese, Russian, Chinese and pseudo-loc files were re-keyed in the same change.
- 28 skill names and descriptions were written in English but never reached the translation database, which means every language would have fallen back to English forever and coverage would never have reported them. They cover Answering Blow, Judgment, the four thrown bombs, two creature abilities and the three PvP arena powerups. The drift check missed them because it compares entry counts, and the counts were one apart while 28 strings were missing and 27 retired ones were padding the total.
- Nine skill rows the translation database had never seen or had gone stale on: six rewritten descriptions (Blind, Death Ray, Death Touch, Solar Flare, Summon Phoenix, Sun Worship) and three new rows for Revenant Stance and Swiftness. Revisions move with the text, so a translation pass can see there is something new waiting.
Isle of Storms
- Talking to the Oracle on the Isle of Storms framed the inside of a wall. Conversations with an authored camera spot plant the camera exactly on that spot at zoom 0, which makes the usual wall-collision pull-back a no-op, and the island placement left the spot 0.05m from the confirmatory exterior. Moved the camera spot on the island only, 0.85m clear of the wall behind it, with the authored angle untouched. The other 14 scenes that share the confirmatory keep the camera they had.
- Images: the Oracle conversation camera after the fix, rendered from the authored camera spot at the conversation field of view.
- Anais, the child who teaches the First Steps lessons on the Isle of Storms, spoke with a different voice at every stop. Voices are cast per conversation file rather than per character, and her tutorial is split across seven files, so the caster read her as seven separate NPCs and, because it avoids repeating a voice within a scene, deliberately gave each one a different one: Pixie, Riley, Bianca, Sarah, Luna, plus Priya with an Indian accent and Eleanor with a British accent. All seven are now pinned to Riley, the voice she already used where she stops you by the lunar rift.
- Her name was spelled two ways at once. The plate above her read "Anais" with a diaeresis while she introduced herself without one, and the journal used the plain spelling in all 87 places it names her. Everything reads the accented form now. The placeholder name she carries before she tells you who she is was misspelled two different ways across five prefabs, "Mischievious Child" and "Mischevious Child"; both are now "Mischievous Child".
Engine
- When two objects claim the same synchronised record, the game now logs both of them by name. The second half of the Anais problem left no trace in the logs at all, which is how it survived the first pass at the bug, and the matching clash on the other half had been reporting itself all along.
Launcher
- The launcher now clears your graphics driver's shader cache by itself when it sees that the previous game session did not close cleanly. A poisoned shader cache is one of the ways the game gets stuck on a black screen at startup and stays stuck, and until now the fix was a button hidden behind the Show debug checkbox. The launcher presses it for you and says so in one line. It fires once per crash, and the first start afterwards can take longer while the driver rebuilds the cache. Turn it off with autoClearGpuCacheOnCrash in launcher.json.
- Launcher build 34 is out on Windows, Linux and macOS. It carries the automatic shader cache clear above. Open the launcher and it updates itself; fresh downloads are at Windows, Linux and macOS. Sign in with any live Shroud of the Avatar account password. The Steam sign-in does not work on chaos.
Sieges
- Town sieges ship switched on. The scheduler that decides which towns are under siege had been disabled since it was built, so the only sieges that ever ran were ones a game master started by hand. It now runs on its own, holding one authored town and up to four player-owned towns under siege at a time.
- The old siege was stood down in the same change. Travelling to a town no longer opens a dialog offering to fight through a separate siege battlefield or go around it, and the enemy camps the astrology clock drew on the overworld are gone. The gate scenes are all still shipped, so the switch reverses in one flip.
- Three siege settings on the Tunables page had never reached anything. The player-town quota, the region cap and the town cooldown are read on the master server, and nothing there polled the tunables document, so the master always ran the shipped defaults of four towns, two per region and a week. The master polls now, alongside the game servers.
- Added a switch that stops a shard starting new sieges from the Tunables page rather than a config edit and a restart. It leaves a siege already running alone, since ending one of those is still the game master command it was.
- A Town Sieges board joined the dev portal. It lists the towns under siege with their meter drain, the Cabalist holding each one and where he is walking, and it puts both enable switches at the top so a quiet map can be told apart from a shard with sieges switched off.
- The board reads the siege switch from the shard machine rather than the source tree, because the two can disagree for as long as nobody notices. A config it cannot read reports Unknown instead of Off.
- The Town Sieges board now lists who is standing in each besieged town, with party grouping and the room they are in. A siege whose meter has not moved is usually not stuck, it is unattended, and those two look identical in a column of zeroes.
- Authored towns on that board are named after the town again. The scene name carries its region and kind in front of it, so the first live siege rendered as "Novia R 6 City Resolute" until the prefix was stripped.
Tools
- The developer portal countdown now runs to the October 1 move to the new infrastructure instead of the earlier September test-shard date.
- Tracked down why the developer portal's Patch Builds card leads nowhere: the page was written in August but its install step never ran on the server, so the link had nothing behind it. Wrote the missing operations doc and closed a file-permission gap in the installer that would have broken the page on its first install. The install itself is still to come.
Testing
- Two older defects turned up while adding the boards. The test that checks the published columns against the client asset had been failing since the control point boards landed, because it did not understand the override those boards use. And the three Courage Club ratio columns were typed as whole numbers against a two-decimal value, which would have shown a 1.5 ratio as 1.
Death magic
- Death Touch and Death Ray now roll for their resistance curse whether or not you specialized Death. The old roll was Death Specialization times 25, which comes out at a flat zero percent for anyone who never specialized, while both skill descriptions promised the debuff anyway. It is 35 percent for everyone now, rising to 66 at specialization 100 and 97 at 200.
- What the curse does changed too. It takes 3 Death Resistance and 3 Magic Resistance for 30 seconds and stacks five times, instead of 5 Death Resistance stacking three, so a full curse strips 30 points of warding rather than 15. The magic half helps every other caster working the same target. Death Touch and Death Ray keep separate stacks and both can sit on one target, so closing to melee range does not throw away what you built at range.
- While sizing that curse we checked whether undead are simply immune to Death magic, which is the usual explanation for why the school does nothing to them. They are not. The only hard immunity in the game is poison against undead and elementals, and the only Death-typed immunities anywhere sit on your own summoned skeletons and liches so your Death Field cannot kill them. What kills the damage is the resistance curve, which bottoms out and rounds every hit to zero once a target is warded more than 110 points past your attunement.
- Revenant Stance is new in Death Magic, sitting under Summon Lich and needing it at level 80. Held, it converts a share of your own health into focus every second and blocks every source of healing you have, including potions and your own regeneration, and pays for that with a large Death attunement bonus that is worth most against enemies which resist death magic heavily. With nothing able to heal you it runs about 28 seconds from a 300 health bar and 55 from 1200. It shares a channel with Shield of Air and sits on the stance channel, so casting it drops either.
- Tap Soul stopped getting cheaper when the caster was cursed. Its health cost is paid the same way a heal is paid, with the sign flipped, so any effect that reduced the healing you received was reducing the price as well: with Death Shield up, Tap Soul cost 22 health instead of 30. It now costs full price whatever else is on you.
- The other half of Revenant Stance is in: die while it is up and the creature corpses around you stand back up as skeletons and fight whatever was hostile to you. Up to 20 of them at skill 100, out to 15 metres, for 20 seconds, and they leave the bodies and their loot exactly where they were. A corpse has to be under a minute old, so an old battlefield is not a free army.
- The risen dead are switched on rather than held back. The earlier bullet said this half was off while we measured what a full raise costs; it now ships enabled, so the measurement happens against real raises instead of ahead of them. What bounds it: 20 skeletons at skill 100, 20 seconds each, and two shard-side dials to pull it back without a patch.
- Revenant Stance could not actually be bought. A skill has to be listed by a trainer or it cannot be learned at all, and the authoring checklist never mentioned that step, so the skill sat in the tree fully priced and refused every purchase. It is now sold wherever Summon Lich is. The sweep written to catch it found two more skills in the same state, Answering Blow and Judgment, which are left for their own owners to price.
- Revenant Stance now casts with an animation and wears its own glyph in both icon sets. A brand-new skill gets no cast animation at all by default, so it was being cast standing still; it borrows Death Shield animation, effects and sound, which is the right family for it. The Modern glyph took six renders to work out: the tool measures a new icon field colour against its own Classic version, and this one has a small emblem that leaves the dark disc visible, so it kept faithfully reproducing a blue its neighbours never had to.
- Death magic specialists now see the living during their own deathwalk. Dying replaces every player and creature around you with a drifting soul wisp; a character holding Death in a specialization slot keeps the blue tint, the screen particles and their own ghost body, but sees the real models, tinted along with the rest of the screen, with name plates and health bars back on them.
- The wisps turned out to live in four places, one for everyone already standing near you when you die and three more for anyone who walks or spawns in afterwards. All four ask the same rule now, gated on the stored specialization slot rather than on Death Mastery level, with an off switch at
death.spiritSight.enabled.
Voice pipeline
- Root cause of the seven voices: the voice exporter only parsed single-quoted YAML scalars, and Unity switches to a double-quoted one as soon as a name holds a non-ASCII character. Anais never matched inline, so the reader fell through to the dead prefab modification block, which still names the template each prefab was cloned from. She read back as "Guard", and the display name is what picks the archetype the voice pool comes from, so five of her seven stops were cast off the adult guard pool. Twelve of 3,031 conversation prefabs carry a non-ASCII name; the reader now handles both quote styles, and a new fence sweeps all twelve.
- The same clone-and-forget left the Lost Vale gatekeeper wearing Anais name and her squeaky child voice while delivering solemn gatekeeper lines. Filed rather than guessed at, since what that character should be called is a content decision.
- Regenerating a catchphrase voice preview had no effect on what players heard. The sample generator uploaded the new audio and stopped, so the delivery network kept serving the copy it had cached the first time. The 134 previews uploaded on 15 August were still being served from that cache two weeks later. Uploads now clear the cached copy afterwards, and a run that cannot clear it fails instead of reporting success.
- A catchphrase typed without ending punctuation is no longer trailed off. Theodore spoke the single word "Two" with a long drawn-out final vowel, and adding a period fixed it, so the text now gets a period before it reaches the voice model. Phrases already bought keep the audio they were made with; this applies to new ones. Reported by Joe.
- The voice list the picker shows and the list the phrase service accepts can no longer drift apart. Regenerating them used to update the service copy and leave the client copy behind, and nothing compared the two. Both are written together now, with tests pinning that they match and that no two voice names differ only by capitalization.
- A catchphrase voice preview that will not play now says so, in a line under the Preview button. The message used to appear on the far side of the window under the create-a-phrase form, where the next key typed replaced it, so in practice nothing was said at all. It is translated now rather than English-only, and pressing Preview with no voice picked says that too.
- The Rude Drunk in Blood Bay writes her hiccups and belches as dash-wrapped markers, and the voice engine read every one of them out loud where the writing meant a pause. Those markers are no longer sent for narration, so her lines take the break instead once her audio is refreshed. The dialogue box still shows them, and the same gap turned out to affect one line in Blood River Outskirts.
Skills
- The Oracle in town will now unmake all of your training. Ask her to unlearn your skills, say the word, and every trained skill comes off at once with all of the experience returned to your pool. It is free and you can do it as often as you like. School masteries, specializations and the two elixir skills are left alone, since no trainer can give those back.
- Three skills could be seen in the skill tree but not bought. Arcane Defense and Answering Blow in the Shield tree and Judgment in the Sun tree were never added to a trainer's list, so they showed up priced, with a tooltip, and refused to be learned. The two shield skills are now sold at the Ardoris shield trainer and Judgment at the Desolis sun trainer.
- The check that finds unlearnable skills only looked at skills with a card, so it found three of the four and walked past Arcane Defense, which is a passive. Passives are bought at a trainer the same way. It now sweeps those too, 190 of them, and checks that no trainer sells a skill without also selling what you need before it.
- Six skills had art in the Classic icon set only, so players on Modern saw the Classic picture sitting among redrawn neighbours. Arcane Defense, Performance Stance, Instrument Proficiency, Flourish, Dance and Group Dance now have their own Modern art, each keeping the frame colour and shape it already had. The Modern set is 559 of 562 glyphs.
- The table of which twenty-one skills are masteries moved out of the client and into the shared code both halves compile. The server could not previously tell a mastery from any other skill, which is a problem when it is about to start validating which schools a character has specialized in. The ceiling of two specializations also has a name for the first time; before this it was emergent from a pair of loop thresholds and one arithmetic test in a repair pass.
- Which two schools a character specializes in is now written on the character sheet instead of being guessed from whether a mastery skill was set to train. The old guess was re-derived independently in four places and nothing enforced it, so three simultaneous specializations were representable and all three paid out until a cleanup pass happened to run, which it only did when a skill was used and never at login. The server now checks the set on the way in. Existing characters keep exactly what they had: their set is read out of the old training states once, on the next login, and saved.
- The four places that decided whether a school counted as a specialization now ask one method instead of each working it out from whether the mastery skill was set to train: the mastery stat, the innate rewards, the quartered decay rate, and the extra deck copy at mastery 80. The cleanup pass that used to repair characters with three active specializations is gone, because that state can no longer be represented. It had only ever run when a skill was used, never at login, and it picked which two schools to keep by whatever order the skill list happened to be in.
- Training a school Specialization skill no longer claims a specialization slot. The two were the same control: you could not raise a Specialization skill without taking the school on, or stop training one without giving the school up. Set any of them to train now, all twenty-one if you want, and your specializations stay where they are. You can also unlearn the Specialization skill for a school you specialize in without losing the specialization, though that school stops paying out until you train it again.
- Choosing your specializations is now its own step, taken at a skill trainer or an Oracle Confirmatory, and that includes giving one up. When both slots are full you pick which school to give up instead of the game picking the lowest-level one for you. Swapping costs no experience: the school you set down keeps every point and every level, it just stops counting.
- Your specializations are readable in three places instead of none: a line under the Skills window tabs that stays put in both the tree and list views, a Specializations section on the character sheet Stats tab, and the right-click menu on a Specialization skill row, which used to open nothing at all. Before this the only way to find out was to walk every skill tree looking at advancement arrows.
Achievements
- New achievement: Mark of Chaos, for having the Oracle unmake your whole skill sheet in one sitting. It sits in the Social category of the journal.
Catchphrases
- Fixed a bug where owning a lot of catchphrases made the whole list disappear. The server sent your entire library in one message, and past about 32,000 characters of it that message could not be sent at all, so the window came up empty and stayed empty. New phrases still generated and still cost cotos, they just never showed. Nothing was ever lost. The library now goes out in pages, so it works at any size. Reported by Joescorpio, who had 277 phrases and crossed the limit by 56 characters.
- The Catchphrases window now tells you when your list fails to load instead of drawing an empty library. It used to fail in silence, which is why this one took a database query and a server log to find rather than a look at the screen.
- Typing in the catchphrase box no longer leaks your keystrokes to your keybinds. This window was the only one of its kind that did not claim keyboard focus, so a keystroke could fire a bind and take focus away mid-phrase, leaving you unable to type or backspace.
Water magic
- The water magic school reference gained Frost Weapon, which had gone undocumented since the spell shipped: the enchant duration, the water damage and slow every enchanted hit adds, and the rule that only one of Frost, Ignite and Shock Weapon runs at a time. The Oracle got the same addition.
- Ice Field's write-up said the spell only slows. It also deals small cold damage every three seconds, and under Water Specialization it strips 20 points of water resistance from everything standing in it. Both are written down now, along with the 40% slow the entry never stated.
- Three of the four reported water tooltip problems turned out not to be problems. Ice Fist has named its Pugilism bonus since the code was first imported, Ice Arrow prints no slow duration to be wrong about, and Water Magic Specialization has always stated the fire resistance it costs.
- Ice Field's slow and its resistance strip are typed as Moon damage as well as water, so both partly resolve against Moon resistance while the damage beside them resolves against water. No other spell in the game carries that value. Filed as #6452.
- Shield of Ice's listed duration caught up with the game: all five of its buffs run on the same doubled timer, which is roughly two minutes at low skill rather than the one the reference claimed.
- Every Water Magic spell formula is now covered by automated checks that re-read the written formula and compare it against the compiled version the game actually runs. That gap is where a misspelled variable in Shield of Ice sat unnoticed for years. The checks also refuse any water formula that reads another schools specialization, and evaluate the whole school untrained as well as at grandmaster.
- Cone of Cold checking the wrong element and the Shield of Ice typo are marked built on the Water Magic proposal page. Both were fixed as bug reports on the day the page went up. The sweep the first card asked for was run across every spell in the game: nine carry a sun damage type and all nine are Sun Magic spells, so no water or ice spell anywhere is mistyped.
- Ice Fields description now names all three things the spell does. It has always ticked water damage on everyone standing in the field, and with Water Magic Specialization it strips 20 points of water resistance off them, but that second one only fires for a specialized caster and the game hides an effect line that cannot fire for you, so nobody could learn it was there.
- Two long-standing Ice Field complaints turned out not to be bugs, and the proposal page now says so. The "37.8 seconds promised, 10 delivered" was two different clocks read as one: 37.8 is how long the field stands on the ground, 10 is how long the chill lasts on one enemy, refreshed while they stay inside. The "70% slow that measures 45%" is every percentage debuff in the game, which estimates in its tooltip at the best gear could ever give you rather than at what the cast will land.
- Soothing Rain emits 30 particles a second where it emitted 63, and its worst case across the whole effect went from 5,000 concurrent particles to about 1,000. The two layers that sit between you and the sky took the deepest cut, since those are what fill your camera in a doorway or a cellar. The splashes and ripples on the ground were left alone, because that is what tells you the rain is on you. Cleansing Rain uses the same effect and thinned with it.
- Douse can be used outside of combat. It goes on the Utility Hotbar now, and casting it there does not draw your weapon or start a fight, so catching fire while fishing or stepping into lava no longer means entering combat to put yourself out. Requested by Lained.
- Correction to the bullet that stood here: it said Douse had stopped being party-only and now landed on any friendly player. That was wrong. Douse is cast on yourself, your own pet and people in your party, which is what it has always done, and the rest of the healing line works the same way. The claim came from a misreading of the targeting code and never described the game. The Utility Hotbar change in the bullet above stands: in a fight nothing changes, the Utility Hotbar copy greys out and Douse is cast from your deck at the same cooldown and the same 3 focus.
Infrastructure
- Patch-note ledger rows for chaos builds 156 through 167 went into the repo. The public patch notes work out which commits a build carries from these rows, so the builds that were missing one had nothing to show.
Quests
- Resetting a character's quest state now clears where that character was standing, so they enter the world at the map entrance instead of the spot the reset found them. A reset done while parked somewhere a quest had opened could leave the character back in a place they had no way out of.
2026-08-29 · 98 items
The New Britannia Herald
The Saturday every character in the build became a ghost
Headlines
- Client crashes are no longer a dead end: the archived debug symbols now turn an empty-looking crash stack into named functions and source lines, and the first two crashes run through it turned out to be one defect on the zone-change path.
- Bard songs are usable in combat: the silent 60-second drain is now a visible 20-second cooldown sweep, and a song that is allowed to cast always pays out.
- The chaos shard start script now verifies the address it advertises to players, ending a failure where logins worked but nobody could enter the world.
- The Oracle can finally answer what bait should I use. Fishing had nine lines in the whole help corpus and bait had none.
- Half of the Oracle's What's New had never been readable: 50,769 characters against a 24,000 read cap, so every bug-fix and balance section was dropped before the Oracle saw it.
- The chaos shard's door to non-testers is now one button: open or close it live, with nobody disconnected.
- The Isle of Storms tutorial guide stops switching herself off: seven copies of her shared one network identity, and the game was deactivating the duplicates.
- The whole audio library re-imported: about 415 MB off the install from music and roughly 200 MB more from sound effects, with the long tracks and ambience loops now streaming from disk instead of sitting decompressed in memory.
- Start-up no longer freezes on a blank window: the client boots asynchronously, shows a loading bar from the first frame, and the cause behind four machines' failures this week is fixed (#5738).
- The Brightness slider is a real exposure control again: raising it opens up dark interiors instead of whiting out the sky.
- New characters are named on the character screen and go straight into the world. You arrive on the Isle of Storms as a spirit, and the Magic Mirror on the island is what gives you a body.
- Being hit no longer stops a bard song: the weapon stays sheathed and the instrument stays out.
Tools
- Client crash reports can be symbolicated now. A native crash in the shipped client printed four identical
il2cpp_string_newframes and read as a stack with nothing in it, so those crashes were being filed on the strength of the log tail alone. The frames were never missing: the shipped build exports almost nothing, so every address in a 113 MB library gets labelled with whichever export sits below it. The debug symbols were already being archived per build and nothing read them. symbolicate.py --report <id>resolves a crash stack to real function names and source lines. It reads the load address out of the crash log itself, finds the build whose archived symbols match, and pulls only the one 390 MB file it needs out of a 640 MB archive without unpacking anything on the build machine. Symbols cache per build, so a second report on the same build resolves immediately.- Picked SSL.com for the certificate over the cheaper Microsoft option. Microsoft has been moving customers onto new intermediate authorities since March, and because Windows builds its trust score partly from the issuing authority, signed releases there keep triggering the same warning the certificate is meant to remove.
- The tester roster capture running on the chaos box was a version behind the repo copy and dropped the leaderboard credit pointer from eleven roster entries every time it ran. Redeployed the current version and re-captured; the roster now checks clean with zero drift.
- The audio import sweep now works from a list of what is actually inside a shipped asset bundle. About 3.6 GB of the audio in the project ships nowhere, so sweeping it would cost a long re-import and save nothing. A second tool reads every prefab in the project to find which clips are played flat rather than positionally, so the mono pass can refuse them by name.
- Tunables catalog housekeeping: the two bard combat-lockout rows that were in the registry but never in the page catalog are added, so the parity test is green again, and the scene-rule test now parses a multi-rule server list. That test still reports one real gap: the server accepts a creature-fields scene rule the page does not offer yet.
UI
- The plate behind the two countdowns a dead player reads goes from a 25% translucent black to a 40% translucent black. The tester passed every checklist line on the earlier pass but noted the plate was still not opaque enough on snow and pale stone and suggested it be 15% more opaque; his figure is taken as written. Everything else about the plate is unchanged: still black, still with rounded corners, still hugging the digits and shrinking with them, still only on the ground countdown and the ankh countdown.
- The digit under each of the ten slots on the Edit Deck window is drawn again, so it is clear which slot on the row a glyph is going onto.
- The health bar above a character trailed the name beside it by one frame whenever the camera turned, so a fast swing left the bar looking tilted and offset until the view settled. The bar art now updates in the same frame as the name and holds square to the screen through the swing, for your own character and for everyone else on screen.
- The backpack now opens wide enough to read item names on a computer that has never run the game before. It had been opening at a width that left the Item Name column about 75 pixels, so a fresh install showed rows cut to "Cott.." and "Belt .." with empty space still in the window; the default is now 600 wide, which gives the name 175. Resizing the window by hand still works the way it did, and the column dividers still take the room back.
- Fixed the gender choice at the Magic Mirror on the Isle of Storms. Female and Male were faded and would not answer a click, so a new character was stuck with the default male figure. Both options work now, and the figure in the mirror changes as soon as you pick one.
- The decoration bar on the new interface used to hide itself a few seconds after you stopped moving things, even with the pointer sitting on it. Leaving the pointer on the bar now keeps it on screen until you move away, the way the rest of the hotbar already worked. Picking up a decoration is still the only thing that brings the bar up.
- Shift-dragging a stack opened the quantity prompt on the amount split the time before, while the slider and the split itself used the right starting amount for the stack being dragged, so the prompt showed one number and moved another. The number box is now filled in from the stack you are dragging every time the prompt opens.
- A container opened for the first time laid its columns out too narrow and cut item names to two or three characters, so the header dividers had to be dragged before the list could be read. Containers now open 100 pixels wider, the same width the backpack already used, and item names read in full on the first open. With Show Objects in Containers turned on, the Item Name and Container columns each get about twice the room they had.
- Fixed the scene map showing unexplored ground through the fog of war when Auto-Fade Maps was on: the fade thinned the fog along with the map under it, so a faded map could be read end to end. The fog now holds while the map fades, and in a fogged scene the fade is carried by the map art, its markers and the arrow instead of the whole window.
- Buffs and debuffs picked up from the world no longer claim you cast them on yourself. Standing on a blessing shrine, walking into quicksand or stepping into an attunement field put a "You" heading over the effect in its tooltip, the same heading a spell you cast gets. Nobody casts those, so the heading is gone for them; buffs you really did cast on yourself still say "You".
Scenes
- A second wholesale editor rewrite of the Isle of Storms scene turned up in the working copy, dropping about 2,500 objects from it including every audio source, line renderer and tree. It matched the rewrite caught and reverted in July, so it was discarded rather than committed. The five terrain files and the lightmap data rewritten alongside it went back to their prior contents.
Stability
- Two client crashes reported on the last two builds turned out to be one defect. Both resolve to the same point in the engine memory sweep that runs when a scene is torn down, reached from the asset cleanup on the zone-change path. Two different graphics vendors, two different builds, two different camera setups, one code path. Confirmed against the compiled binary rather than guessed from where the log stopped.
- The zone-change asset cleanup now leaves a breadcrumb. Two clients crashed inside it and the uploaded logs said nothing at all, because the timing lines that would have named it are written after the step finishes. The next one identifies itself without anyone having to decode a stack by hand.
- The marker a crash report carries about where you were turned out to be written to disk only once per session, so a crash hours later still reported wherever you first stood. On both of the crashes above it named the zone being left rather than the one being entered, which pointed the wrong way. It is now refreshed at the moment that matters.
Creatures
- The Elementals and Breach asset folders had their contents tracked but not their own folder metadata, so a fresh checkout minted a new random folder id for each of them on first import. Both arrived with the recent breach boss work. A scan of the combat-stats and rune trees found no other folder in the same state.
UI
- Take All now closes any loot window it empties. That used to be an Interface option, Close Loot Window When Emptied, which was off unless you went and turned it on, so an emptied corpse or chest sat on screen until you closed it by hand while an emptied tree or ore vein closed on its own. The option is gone and the two behave the same way. Requested by traveller13, who found the difference.
- What Take All does not do is unchanged. A take that could not fit everything leaves the window open over what is left, your own bags and lot storage and bank never close themselves, and looting with the interact key still answers to the Close Loot Windows keybind rather than to the button.
Content
- The Large Lake in Northwood now marks itself on the compass when you swim into it. It was sitting far above the water and was reachable only by climbing into a nearby player water tower.
- Stone benches in the Brittany Estates lots now read Stone Bench on hover instead of ?Simple Chair?. Reported by a tester through the in-game Oracle.
- A stone column lying on its side in the Isle of Storms tutorial area could be walked into. Its collision stopped 0.51 m short of the carved end it draws, so a player could end up standing inside the stonework and looking out through it. Collision now reaches the end of the column, and does so for every column of that type in the world.
- Arabella now actually marks the magic mirror on the Isle of Storms. Her farewell has always said the mirror was added as a point of interest, but nothing marked it, so the compass and the map stayed empty; the mirror now appears on both when she says so.
Onboarding
- The character appearance editor grew two new screens: a name-only screen with the customization panels hidden, and a mirror screen that offers the full editor with no name box. Groundwork for making a new character at the Magic Mirror instead of before the game starts.
- The Magic Mirror on the Isle of Storms is interactive again. It had been a prop with a light since character creation moved to the front end, with two tutorial hints still pointing at it and a quest step still waiting on it. Using it now opens the appearance editor and gives the character their body.
- The gender a player picks at the Magic Mirror now sticks. The character record carries its own gender and the client discards a saved appearance that disagrees with it, so the first appearance a character ever saves writes the answer to both records. A later appearance change at the New You shop still leaves gender alone.
- Two Isle of Storms fixes. The Oracle asks for a tutorial line numbered 103 in seven places and no such line existed, so the client logged an error and showed nothing where it should have said the lunar rift is now on your compass. And the local player was loaded into the wrong opening state: a character with no body started as a solid figure and everyone else started as a spirit, corrected a moment later by the spawn.
- New characters start on the Isle of Storms again, and this time they arrive the way the island was built for. The screen before the game asks for a name and nothing else. You wake on the island as a spirit, meet Arabella, and walk down to the Magic Mirror, which is where you choose your gender and build your face. The lunar rift will not take a spirit anywhere until you have.
- Caught before it shipped: the new name-only creation screen was hiding the panel that holds its own Finish and Cancel buttons, so a player could type a name and have no way forward. The hidden set is now everything that shapes a body and nothing that leaves the screen, with a test for it.
- Anais, the guide through the First Steps tutorial, was switching herself off almost as soon as she appeared. Each copy of her carries her own pressure plate, and every copy was claiming the same network identity, so the game treated all but the first as duplicates and deactivated them. Each copy is now named after the character it belongs to.
- Making a new character now asks for a name on the character screen itself. The panel opens on the screen you are already looking at, with no loading screen, no character model and no mirror.
- The name step used to run inside the character appearance editor, which draws a large mirror behind whatever it is showing. New players met a mirror before they ever reached the Magic Mirror on the Isle of Storms, which is the one that actually gives you a body.
- That mirror could not be switched off where it stood. It is a fixed piece of the backdrop and nothing in the screen controls it, so the only way to stop showing it was for the name step to leave that screen.
- The name box now explains a refusal while you type. Too short, a space in the middle, and already taken each read differently, and the Finish button stays greyed out until the server confirms the name is free.
- The old route survives behind a command-line switch, so a machine that cannot make a character on the new screen can fall back without waiting for a build. Its version of the screen no longer shows the empty mirror either.
- 19 tests cover the name rules, one of which reads the server's own length limits so the two cannot drift apart and leave a Finish button that fails for no visible reason.
Combat
- Bard party songs work in a fight again. Dealing damage or using a non-bard skill silences them for 20 seconds instead of 60, and the wait is now shown as a greyed-out cooldown sweep on the glyph with a countdown, rather than the song casting normally and quietly landing for nothing.
- The bard song lockout is one way: fighting costs you the songs, songs never delay your combat skills, so a bard can always break off and defend themselves. Two shard knobs cover the retune, and setting the window back to 60 seconds with the skill trigger off restores the old behaviour without a build.
- Auras that travel with the caster, including Elysian Illumination, Immolation and the bard debuff songs, stopped damaging creatures that stay neutral toward you. Walking past the Etceter Crag Bandits with one running no longer hurts them or drags you into a fight, and a bandit that attacks you counts as an enemy again from that moment.
- Moon Beams now plays the fizzle sound when a cast fails. It was the only feedback the spell was missing on a failed cast, so the attempt was silent apart from the chat line.
- The four thrown alchemy bombs asked for an Explosive Potion instead of themselves, so the glyphs named the wrong item and refused to throw with a full stack of bombs in the pack. Each bomb now spends itself, one per throw, and double-clicking one in the backpack works again.
Server
- Boss trophy achievements were unlocking but the trophy itself was never handed over on any of the sixty-five bosses added on August 27. The pipeline that regenerates the shard reports let the achievement rule ship pointing at a loot bundle the loot-bundle report did not carry, so the delivery step warned and stopped. The bake now regenerates the two files together, and the pending trophies drain into the Reward Bank a few at a time on next login.
- The players-online page's gold and XP columns now show what each player gained this session instead of lifetime account totals: net gold movement and adventurer XP earned since login, counted from a baseline banked at sign-in. Account totals moved to the cell hover.
- The players-online roster columns are now sortable: click a header to sort, click again to flip. Numeric columns start with the biggest movers on top.
- The players-online page's session gold meter now counts item gains too: net gold movement plus the gold value of everything looted and crafted since login, with the breakdown on hover. Item values come from the server's own loot pricing.
Client
- God Mode stops carrying across account switches on a dev client: quitting on a dev account and logging back in on a non-dev account clears the flag instead of leaving the second account invulnerable.
- RGB keyboard lighting support is out of the build. The game could drive Alienware and Razer device lighting, behind a switch that was off unless you went looking for it. Both ran vendor code inside the game process, and with a rare crash pointing at memory corruption from somewhere in that process, code we did not write and do not need is the first thing to go.
- The Peripheral Lighting switch has been removed from the video options along with it. A switch that can no longer reach anything reads as a bug rather than as a removal. Nothing was deleted: the feature is one build flag away from coming back if it turns out to be innocent. Razer-branded capes, cloaks and flags are ordinary items and are untouched.
- Four testers' machines filed start-up failures in 48 hours: the game sat on a blank white or black window for 50 to 290 seconds before the login screen, and most people quit before it got there. Reported on Discord by thedenial. The launcher's crash reports carried the boot watchdog's verdict and the cause turned out to be the boot code itself: it queued its largest asset graph (the rune set) asynchronously and then issued its synchronous loads while that request was still in flight, and each of them waited for it. On a cold disk a 4 KB asset took 124 seconds that way. Tracked as #5738 since the instrumentation landed on 23 August.
- The boot now loads everything asynchronously, in an order that cannot collide: the small always-needed tables first, the rune set last, one frame between steps so the window keeps responding. A thin loading bar with a percentage runs along the bottom edge from the first frame until the login screen shows, drawn without any game files so it is there while the disk is still cold. Any synchronous load that still happens during start-up is named in the logs, and the boot line now reports asynchronous load time beside synchronous time. A command-line switch, -sotaBootLoads=sync, reverts a single machine to the old path without a rebuild. Commit 57a9a79287, next chaos build; verify task #6262; write-up in docs/operations/client-boot-pipeline.md.
- A fix of mine from earlier today put every character, in every scene, permanently into spirit form. The check for whether you have a body yet was running before your appearance had finished loading, at which point every character looks like a new one, and the spirit state has no way out once entered. The check now happens after the appearance arrives.
- Removed the dead /gamma console command. Its body had been commented out since before the Git migration and it answered "Gamma" to anything typed after it; the alias and the console reference row went with it.
- Removed the green from Night Vision. The spell used to wash the whole frame toward pale green and hang a particle rig off the camera (green distortion over the frame plus a dark ring at the screen edges); both are gone, along with the shader stage, the driver and the prefab. What is left is the part that always did the work, a +0.20 ambient-light boost, and its colour went from (0.85, 1, 0.85) to white so the extra light carries no cast either. Tester task #6280.
- Stuns no longer distort the screen. Being stunned or knocked down pushed motion blur to its maximum (frame blending 1, shutter angle 360) for the whole stun and snapped the field of view to 50 degrees with a wobble, over whatever FOV the player had set, with no smoothing in or out. Both removed; the edge-darkening pulse stays, and the drunk effect keeps its blur. Tester task #6281.
- The Night Vision spell's light boost is a live tunable now (rendering.nightVisionAmbientBoost, 0 to 1) and ships at 0.1; it was a hard-coded 0.2 in the client. The component reads the value while the spell is up and pushes a change straight into the scene lighting, so a change made on the tunables page reaches a player mid-spell instead of waiting for the next cast. The ambient-light bookkeeping behind it moved into its own class with 11 EditMode tests, which also closed a zone-in hole: a player who zoned with the spell up could lose the boost for the whole scene because the re-registration landed while the old entry was still fading out and was skipped. Rides the next chaos build; the knob shows on the page after the next API deploy.
- A candle or torch you switch on and off gives off light every time again. Once one had been switched off, it came back with its flame and its glow but lit nothing around it, which is what the candle on the table in the Fisherman's Cabin in Highvale Outskirts was doing.
- Gathering a resource node now shows the swing meter on every first attempt. A failed skill check used to skip the meter and put up the old gathering bar, which runs up to about thirty seconds at low skill, so the bar itself told you the attempt had already failed and jumping out of it started a fresh one at no cost. A failed attempt still pays nothing and still wears the tool, it just takes the same short swing a successful one does.
- Leaving an NPC conversation now stops the line the NPC was speaking when conversation close-ups are turned off, and when the NPC is a merchant, trainer, banker or vendor, whose greetings never use the close-up view. Those voices used to keep playing out in the world after the window closed. A goodbye you asked for still plays to the end.
- Fixed the add-on call that stops a visual effect. Asking for the stop from the handler that fires the moment an effect starts reported success and the effect still played in full, because the effect was only half built at that point. The stop now takes hold on the following frame.
Server
- Fixed the chaos start script so a hand restart can no longer leave the shard un-enterable: three restarts in 24 hours came up with the game servers advertising a loopback address, so logins worked but every scene join failed at 57%. The script now derives the public address itself, refuses to start if the result is private, and after startup checks the address the services actually registered, shutting down instead of serving a shard nobody can enter.
- Wrote the post-mortem for this morning's chaos outage as a permanent runbook: why a green-looking restart could serve a shard where logins worked but nobody could enter the world, why it happened three times in 24 hours before it was caught, and the monitoring gaps still open (an alert on the failure signature and a periodic end-to-end login test that enters a scene the way a player does).
- Closed the biggest gap from the morning's post-mortem: the health panel now runs a real login through the full player path every five minutes, from outside the server, all the way into a scene the way a player enters one. A shard that accepts logins but cannot seat players now turns the panel red and raises an alert within about ten minutes instead of waiting for someone to hit it in person. Building it also uncovered and fixed a separate bug where automated logins from Linux machines were rejected as blacklisted.
- The midnight chaos build sat in the queue until five in the morning: the Windows build machine had been rebooted during the previous evening's server fixes and left at its login screen, and the build agent only starts once someone signs in. The shard stayed up and serving players on the previous build the whole time; the nightly update landed at 5:43 AM. Wrote the post-mortem as a runbook and gave the release job a loud warning for an offline build node.
- Opening or closing the chaos shard to non-testers is now one command and one button on the dev panel instead of a hand-edited config and a restart: the change applies immediately, disconnects nobody, survives restarts and deploys, and announces itself in game chat. The server half arrives with tonight's build.
Testing
- Fifteen new tests hold the spirit start together: the front end must not save an appearance, the mirror must answer a character with no body, the lunar rift must keep refusing one, and the client and server must agree on how a gender is read out of an appearance. That last one fails silently otherwise, and the only evidence would be a player logging in one day wearing a body they did not choose.
- Gave another tester access to the tester hub and the tracker. The account was already flagged and in the directory but had never been given a directory password, so no password worked on either site. Setting one through the directory bridge fixed it and left their game login untouched.
- Wrote up the onboarding path for a tester who already owns a live game account. Create refuses their name on purpose, ticking tester access grants the groups but never sets a password, and the accounts page password reset is the wrong fix because it also changes the password they play with.
Oracle
- The Oracle has a Fishing and Bait guide. It had nine lines about fishing in the whole help corpus and nothing at all about bait, so asking it what bait to use returned the magic guide and asking why bait keeps disappearing returned the mounts guide. The new guide covers the cast, the six fishing skills, cast range, rods and how fast they wear, why water depth decides the size of the fish, why a spot stops producing, which bait suits which water, the lava rules, Bait Recovery, where bait comes from and what to do with the catch.
- It documents seventeen baits rather than the twenty-six that exist. The other nine are sold and lootable but the game never recognises them as bait, so a cast with one does nothing. Documenting them would have sent players to spend gold on items that cannot fish. Filed for a fix.
- Half of the Oracle's What's New document had never been readable. The retrieval layer caps a document at 24,000 characters and What's New had reached 50,769, so twelve of its twenty-two sections were dropped before the Oracle ever saw them: every bug-fix section, the balance changes, and the skill-description corrections. Its balance section was also sitting exactly on the 4,000-character section cap, cut mid-sentence. What's New is now three documents, and the same cap was trimming half the 176-row emote table, which is split into alphabetical bands.
- A corpus test now guards the shape of the help documents: no section over the section cap, no document over the read cap, every document present in the source manifest, no hardcoded public URL, and a redaction lint for internal paths and field names, since the folder is served as public markdown. 276 cases. Six failed the first time they ran. A separate retrieval script checks that 23 real player questions each reach the intended guide, and how much of the search window that guide holds.
- The rest of the two-week catch-up: new guides for Town Sieges, Recent Fixes and Recent Balance Changes, and new sections for Vigor, matched armour sets, Animal Lore, player catchphrases and Quick Deposit. Matched armour sets give ten percent damage resistance and were switched on in August, and no help document mentioned them. Tuning the balance log marks as not yet on the test shard stayed out of the school guides, which carry no build hedge and would have read as false.
- The Oracle answers as herself now. Ask her a gameplay question or report a bug and nothing changes: the same tables, the same guide named at the end. Ask her anything else and she answers in character. She had one clause of personality before, unchanged since June, while the Oracle in the fiction has a chamber, guards, watchers and three shipped conversation trees.
- What made it workable is that she is already an artificial intelligence. The Ultima Futura Automaton was built by the Titans, says I was created to assist you, and calls conversations consultations. Her register is modern and precise rather than mystical, so writing her means less flourish, not more. Every distinctive phrase she uses is quoted from her shipped dialogue.
- She also has a guide of her own, which is what makes the voice legal rather than decorative. The Oracle answers only from written guides, so before that document existed every line about her own nature was either refused outright or flattened back into a help-desk answer. It stops at the start of the story: no endgame, no prophecy, nothing that would spoil the main quest.
- Four ways the voice could have broken quietly, all now rules with tests behind them. Her openers: I will search the archives matches the planning-preamble trimmer and is deleted before the player sees it, and telling her to avoid contractions turns the safe form into the unsafe one on every reply. Her rhetorical questions: a reply ending in a question mark is counted as an interrogation and spends the budget the next bug report gets. Her refusals: that is not for me to share matches none of the unanswered detector, so using it for a real gap would hide that gap for good.
- Two bugs found on the way. The unanswered detector only matched a singular subject, so the guides do not cover it read as an answer rather than a gap. And the player's character name rides in the request context, but the context is never sent to the model, so she could not address anyone by name at all. It is passed through now, character name only, and character names are charset-checked because that string lands in the most trusted part of the instructions.
- The Oracle answers in the language you are playing in. The client has sent your language on every request since the service was built, and it was being used for exactly one thing: filling a row in a bug report. A German player asking a German question got an English answer. Her guides stay in English and she translates from them, keeping skill and item names as they appear in game so you can still find them.
- One catch worth recording: her in-character example lines are written in English in her instructions, and the model read them as the words to say rather than as examples of manner. Gameplay answers translated correctly while who are you came back in English. Verified in German, Russian, Japanese and French after the fix.
Launcher
- Built the code-signing pipeline for the Windows game and launcher, so the download stops being flagged as coming from an unknown publisher. A review of what actually ships found the game client was signed by nothing at all, the launcher carried a certificate that chains to no authority, and the second copy of the launcher executable was never signed because it was duplicated before the signing step rather than after.
- Signing now happens inside the build, between compiling the game and packaging it, so the signature is covered by the same file hashes the patcher checks. The release job can refuse to publish a build whose game executable is not signed. The pipeline stays switched off until the certificate is bought, so it changes nothing about current builds.
- The launcher clears its crash report note each time it checks, so the note no longer sits on screen into the next session. It used to be put up when a report went out and then left there, which made a normal quit look as though it had crashed.
Audio
- Game music now encodes at about 126 kbps. It was set to roughly 400 kbps, which is well past the point the difference is audible on a background track, and 28 of the files were being re-encoded at near-lossless rates from MP3 sources that never carried that much detail in the first place. 139 tracks changed and the install drops by about 415 MB. Tracks already encoded below the new setting were left alone.
- The same 139 music tracks now stream from disk rather than being decompressed into memory when they load. This changes nothing about the download size; it is a memory saving. A decompressed track holds about 11 MB of audio in memory per minute of music, and the longest of these run over five minutes each.
- Sound effects got the same import pass the music did. 2,784 clips dropped to the lower encode setting, and 2,891 that only ever play as positional sound in the world were folded to mono, since a spatialised source sums the second channel away at playback and the stereo image was never audible. UI sounds, menu cues and anything a prefab plays flat were left alone. Around 200 MB off the install, pending a build to confirm the exact figure.
- Nineteen long ambience loops now stream from disk instead of being decompressed into memory when a scene loads. Wind through trees, sea waves, cave drips, the lava beds. Each runs over a minute, and held in memory they were about 378 MB between them. The download is unchanged.
Portal
- Added a Light Explorer page to the dev portal: one sortable table of every scene's ambient and directional light values. Each row carries the authored RenderSettings (ambient mode, sky/equator/ground colors with swatches, intensity, fog) and the scene's own directional lights next to the in-game noon values from the scene-analysis bake, with Rec.709 brightness columns for authored ambient, authored directionals, noon ambient and noon sun. Filters for catalog or all 447 scene files, with or without a sky dome, region, and free text. Commit c531eea7b9.
- The builder reads the scene YAML directly (447 files in about a minute, no Unity needed) and joins the existing scene-analysis lighting block. 278 scenes carry a Time of Day sky dome that rewrites the authored ambient and fog every frame, so the page shows both the authored and the noon values and tags the 169 dome-less rows "as authored". Found on the way: lights inside placed prefabs are not Light blocks in the scene file, which is why several dome-less sewers show a noon sun of 2.6 with no authored directional; the page footnotes it.
Images
Options
- The Brightness slider on the Video tab is an exposure control again. The Beautify port had put it on a plain multiply that runs after the tonemapper, so dragging it up scaled a finished 0..1 frame by 0.4x to 1.6x and clipped the sky and torches to white while the shadows stayed dark. It now scales the exposure fed into the tonemapper by 2^(1.5 x (slider - 0.5)), plus or minus 0.75 stops, which against the shipped profiles gives the same 1.41x / 2.38x / 4.0x range the old stack had. The centre notch is unchanged. With tonemapping switched off the slider falls back to the old multiply so it never goes dead. Rides the next chaos build.
GM Tools
- The GM Players Online window stopped updating after the first click that brought the GM windows in front of chat, and stayed frozen for the rest of the session while its "updated Ns ago" label kept counting. Raising a UI Toolkit document detaches and re-inserts every element in it, and the window dropped its only list-rebuild subscription on that detach and never took it back. It now polls the roster cache from its per-frame tick, so there is no subscription to lose. A failed auto-refresh (for example between scenes) now says so in the status line instead of only lighting the stale badge. Refresh interval 30 s to 10 s.
- The same window now shows what the /players/ portal page shows: character with a party badge, account, live zone, session length, guild, value gained this session (net gold plus the gold value of items looted and crafted, with the breakdown on hover), adventurer XP earned this session, and a flags column for locked-out, devoiced and account flags. Headers sort on click. The server keeps per-login baselines for the meters in memory (a zone change is a new connection on this server, so they could not live on the connection), builds the roster at most once every 5 seconds for every GM asking, and sends it in chunks instead of cutting it off at 150 entries. Client and server ship together on the next chaos build; the opcode changed.
Bard
- Being hit no longer draws the weapon or puts the instrument away while a bard song is playing, being cast, or has just finished casting. Until now the first blow drew the weapon, the instrument went away, and the song ran on with nothing in hand. Performance Stance also stands over such a hit. Drawing by hand, a non-bard skill, a jump or a knockdown still end the performance. A fighting pet still draws the weapon; that is an open call. Verify task #6283.
2026-08-28 · 133 items
Headlines
- Creatures that break and run now finish the run. A frightened creature used to take a few steps and stand frozen for the rest of its life. It runs a real distance now, calls its neighbours onto whoever hurt it, recovers its health, and walks back to what it was doing.
- Conversationalists can hold a written personality instead of an Ink script, and talking to one is a text box rather than a list of choices. Player-written NPC dialogue can finally be moderated too: the ban flag the server has enforced for years now has a command that sets it.
- The Sun school stops lying about itself: Blind names the three debuffs it lands, Solar Flare finally hits harder in daylight, tooltips stop offering a 206.4 percent chance, and the cone catches the enemy in melee range. First four cards off the Sun proposal page.
- Alchemy gets four thrown bombs: fire, choking gas that works through armor, binding tar, and caustic acid. Aimed at the ground like Fireball, made at Alchemy 80, and balanced for level 100.
- The shield answers back: Answering Blow landed in the Shield tree, a counter attack that is only live in the seconds after a block.
- The five bosses in The Breach now fight differently once they are hurt, the first content wired into the enrage system since it shipped.
- The Exit to Menu button was arming a 60 second kill timer on the client. Three testers lost a live session to it before the crash reports gave it up.
- Vigor now recovers while you are logged out, at a quarter of the town rate. An hour away clears a full bar.
- The Isle of Storms start went on and back off in the same day. The Oracle's virtue choice and all three starting paths are restored and staying in the build, but the intro is not finished, so new characters begin at Solace Bridge until it is.
- Six Taming pet skills, six Tactics skills and one Focus skill each drew a shared picture; all thirteen have their own art now, in both art sets, and the Taming commands got the right frame colour with it.
- Chaos logins opened to every Shroud of the Avatar account, ending the tester-only door that had stood since 22 August.
- The combat deck editor was unusable for two builds: every open, drag and drop threw, so no glyph could go on a bar. An NGUI cleanup pass had removed the component holding each slot's glyph list, mistaking state for artwork. Reported by necronut.
Client
- Logging out of the world no longer throws a nameplate error on the way out; the plate teardown now sits out the reset during shutdown when the camera it would touch has already been destroyed (requested via crash report, #6129).
- A dismissed pet, summon or companion stops answering clicks the moment its dissolve begins, instead of when the dissolve finishes. Right-clicking one during the fade no longer opens a menu or writes a chat error, and left-clicking it no longer selects it. (#6112)
- Cleared the three compiler warnings the Unity 6 editor was reporting against our own code. The teleport player picker was still holding a serialized sprite field for a prefab that no longer exists, so the field came out; the shutdown watchdog's quit flag now records in the source why the editor cannot see its only reader, which is compiled into player builds alone; and the dropdown width test moved onto the call Unity 6 replaced its deprecated one with.
- A rune with no skill row used to cost an exception per list cell per frame: the placeholder that renders a missing string throws and logs a stack trace every time it is built, and it was being built from a getter the glyph browser re-runs each frame. Four unregistered runes accounted for 561 logged errors in two hours. Both getters now log once per rune.
The Herald
- The New Britannia Herald for 2026-08-27 is up: The guard towers in the castle arena have been firing at nothing for years, and now they hit. Pets will finally attack another player when you order them to, fog of war covers sixty-seven overland maps, and sixty-five bosses have a trophy waiting behind their kill. Also a build that reported perfect success while shipping forty-four broken shaders. Listen or read the transcript (18 min). Subscribe in any podcast app: /blog/podcast.xml
Community
- Filed a player suggestion from the forum for a dragon's lair in an empty part of Mistrendur, since the game has wyvern zones but no dedicated dragon zone outside the PvP-only Grunvald Shardfall.
UI
- The mail icon in the top right of the screen now appears as soon as your mail loads at login. Mail waiting for you was read in before the row that holds the icon had been built, so the icon came up blank and stayed blank until opening a mailbox happened to nudge it, which is why the only way to learn you had mail was to go and check.
- The Price of the Oracle eye icon shows up again beside its notification count in the top-right corner (#6119). The number appeared alone before; now the icon draws with it.
- Clicking the Category heading in the Achievements window now sorts the category rail alphabetically. A second click reverses the direction; the "All Categories" entry stays at the top of the rail in both directions.
- Backpack Options: Show Lock Column now sits directly under Show Locked Items. In a bank, chest, placed container or loot corpse, both toggles read as greyed out since neither has any effect in those windows.
- Hold Cursor Toggle in Options -> Controls now shows a hint under the checkbox reading "Bind a key to Toggle Cursor below for this option to take effect." while Toggle Cursor has no key bound. The line disappears once a key is bound and comes back if both slots are cleared. Toggle Cursor still ships unbound.
- The countdown numbers you read while dead now sit on a small rounded translucent black patch, sized to the digits, on both the ground countdown and the ankh countdown over the shrine bar. Replaces the dark ring drawn round each digit that read as ugly at countdown size.
- The Reset Positions button in Options now brings the combat and utility bars back to the bottom centre. It already reset the compass, the quest tracker and the status nameplates, but the hotbar was missing from the sweep, so those two bars stayed wherever they had been dragged. Clicking it from the title screen works too: the bar comes up centred at the next login.
- Following on from the hand bar cleanup: the combat hand and deck builder slots are no longer arranged by the old interface layout system. Every deck change used to hand the slots to a layout component and ask it to re-arrange them, long after those slots had stopped drawing anything themselves. The slots are now created directly and positioned by the new interface, which was already doing the visible work.
- Hide Helmet and Hide Cloak are now remembered per deck rather than once per character. Toggle one while a deck is equipped and that answer belongs to that deck, so a helmet worn out hunting can stay off while fishing without being switched on every swap. Requested by Wishdragon, Patosh and Necronut.
- A deck that has never had either toggle set still follows the character-wide setting, so no character changes appearance on this build and no existing deck is rewritten. Copying a deck copies its setting with it, and the choice is saved on the server so it follows you to another computer.
- Fixed a tip jar bug (#6116) where clicking the visitors-see button greyed out the Collect button until you closed and reopened the jar. Cycling that setting no longer disturbs Collect on any jar shape.
- The Meticulous Collection counter and its yellow timer stay visible for the whole bonus timer again when the gathering mini-game is turned off. A stray fade queued by the previous pass was hiding the fresh bar about a second in.
- Editing a combat deck threw on every open, hover, drag, drop and close, so no glyph could be put on a bar or moved. The deck slot had kept its assigned-glyph list in a component on the slot prefab, and an NGUI cleanup pass removed that component along with the artwork it no longer had. The slot now owns that list outright, where no prefab edit can take it away. Reported by necronut. (#6191)
- Two new fences went in with the deck fix. One states the invariant directly. The other walks every hand-slot prefab that has come off NGUI and fails on any wiring the prefab has dropped that live code still reads, which is the shape of failure the existing fences could not see. It caught a second dropped reference on the combat bar on its first run.
Combat
- Floating heal numbers no longer pop up over stealthed characters (#6122). Cocoon of Nights heal ticks used to draw over the concealed body for nearby observers; now they only show to whoever owns the character.
- Every hit in a Fortitude chain against a boss now floats its counter and writes its combat log line, even when the chain is faster than one cast per second. The one second throttle used to silence the second hit, so the counter appeared to jump from 1 to 3.
- A dragon ability and one of the new thrown bombs were answering to the same internal id. The gust a dragon beats out as it takes off was given that id in August without ever reserving it, and the thrown bombs reserved the same block properly this week, so the two collided and one of them resolved to the other. The dragon gust has its own id now and the bombs keep the block they reserved. Swept all 1,703 runes that carry an id while in there; this was the only real collision.
- Twenty-two abilities were missing the group they belong to, which the editor complains about on every load: the five Obsidian Eye attacks, two T-rex attacks, five bard sub-effects, three arena powerups, and the four thrown bombs with their two clouds. Each is filed under the group its own folder already implied.
- The bombs have their own icons now instead of all four borrowing the Explosive Potion's, and everything you throw makes a noise when you throw it. The Explosive Potion, Caltrops and the Sacred Oracle Orb have been silent since they went in, so they got the sound too.
- The bombs now travel before they land, so the flask you throw is the thing that goes off, and the damage comes from where it lands rather than from you. The tar patch was drawing an effect that keeps spreading past thirty metres; it draws something that holds its size now, though the cloud art is still smaller than the area it covers.
- Training Light now makes the light bigger. Both of the spell's lights were fixed values copied from a hand torch, so the only thing training bought was duration: the wide light reached 30 metres whether you had one point in the skill or two hundred. It now starts at 15 metres and gains a metre for every 4 points of Light plus a metre for every 10 points of Sun Magic Specialization, and the close glow around the orb starts at 6 metres and gains a metre for every 20 points. Both reach their old 30 and 9 metres at Light 60, so an early torch stays worth carrying. Requested by Fetid SirDidy.
- Other players can now see the wide light from your Light spell. It was only ever drawn for the caster, so a party standing in a dark dungeon got nothing from each other's lights. The caster's training travels out with the cast, so the light is the right size on everyone's screen, and another player's light fades out past 75 metres. The light source also moved onto the glowing orb, from a metre below it and two metres in front, so the orb and the ground it lights stop drifting apart while you run. Orb report from Barugon.
- The near field added to Solar Flare's cone this morning is out again. It was built into the targeting test that every arc spell, every melee swing and every auto attack in the game shares, and in play attacks were picking up targets they should not have. Solar Flare behaves as it did yesterday, which includes missing the enemy standing on top of you, and the proposal card is open again with the constraint written down: the next attempt has to live inside the one spell.
- The four new thrown bombs had no rows in the skill table, so the glyph browser listed them by their internal names in question marks and drew them as blank squares, and a gas cloud or tar patch named itself with a raw identifier in the buff bar. All six rows and their display names are in. Icons are stand-ins borrowed from other consumables until the real art moves into the skill icon set. (#6193)
- A new check refuses a bomb whose skill row, rune folder, icon file or display name is missing, over the carriers and the two lingering effects. It fails on the tree as it stood this morning.
Creatures
- Ordering a summoned creature moments after casting it could fill the chat log with a red server error and lose the order. Two summons in quick succession hit it every time. The order is now held until the game has finished identifying the creature and then saved normally, so a disposition or follow setting sticks even when you set it the instant the creature appears. Reported by Garfunkel Humperdinck.
- Creatures that lose their nerve now finish the run. A frightened creature used to take a few steps, stop, and stand there for the rest of its life, unable to fight, wander, go back to its post or heal. It now runs a real distance away, calls nearby creatures onto whoever hurt it, stands and recovers its health, then walks back and returns to its routine.
- Two faults were behind it. The distance a creature was told to run was converted the wrong way and worked out as zero for every creature in the game, so the run was a random few metres. And once it had stopped, four separate rules held it there: the thing it was running from could never be forgotten, holding that target zeroed every other thing it might do, the branch that ran away reported success without moving, and a creature in that state regenerated at a twentieth of its normal rate so it could never recover enough to calm down.
- Wrote up how the boss fight in The Breach is assembled, which had never been documented. Four Elemental Lords hold the corners of the map on a ten-minute respawn, and all four have to be dead at the same time before the fight in the ruins will begin. That fight runs five waves and ends on Spawn of Pele at level 221.
- The ruins are ringed by four Death Power Shards. Each projects a field about fifty metres across that hands every creature standing in it a large bonus: half again as much weapon damage plus 200 strength, or 100 health a second, or 250 points of magic resistance, or 200 points of damage resistance. They can be destroyed, and destroying them is how the fight is meant to be won. All four look identical and nothing in the game says what they do.
- The review found ten problems. The wave that opens the fight has an empty objective list, so its objective never applies and the wave clears itself the moment it starts. None of the five bosses carries the data the enrage system reads, so none can enrage or change how it fights as its health falls. The one boss in the game that can heal has a ten-metre range for it, in an arena where its allies stand sixteen to nineteen metres away. And Spawn of Pele, at 500,000 experience the biggest kill in the zone, announces nothing when it dies while the four smaller Lords it guards each announce across the shard.
- Followed up on the Death Power Shards in The Breach: nothing keeps a boss standing in them. The four fields are 52.5 metres across and 7 metres tall, and all four only overlap in a rectangle about 27 by 28 metres at the centre of the ruins, so a boss drops its first buff around twelve metres out and its last at forty. Its leash does not pull it back until forty-eight. Walking one clear of the ring and killing it unbuffed works today, and the buff follows it out for up to thirty seconds on top of that.
- The wave controller looks like it should stop that and does not: anything actively fighting a player is never counted as having left the battle, at any distance. The fix is one number per spawn point, shortening the leash to inside the buffed floor, which also means a boss dragged out of the ring cannot be killed out there because a creature on its way home is invulnerable.
- The first wave of the wave fight in The Breach has to be cleared before the second starts again. Its objective list was empty, and because every member of an empty list passes any test, the wave counted itself finished the moment it began and the fight moved on with its daemons still alive. The four daemons and two Death Power Shards it spawns are a gate again, with the five-minute floor it was authored with.
- Killing Spawn of Pele now announces across the shard and starts an hour-long experience celebration. At 500,000 experience it is the largest single kill in the zone, and it was the only one of the five bosses there that announced nothing while the four Elemental Lords guarding it all did. The kill map that feeds the announcement carries the same four values, and a test caught that before the change could ship half-done.
- The bosses inside the ruins are tethered close to where they spawn now. Spawn of Pele goes 38 metres from its spot and the four Lords 20, down from 48, which keeps each of them standing in the shard fields they draw their strength from. The four Lords out in the corners of the map keep their old range. Choosing the numbers turned up a detail worth writing down: a player can attack something from 40 metres away, so a tether much shorter than that makes a boss walk out, give up, walk back and repeat instead of fighting.
- The healing pylon in The Breach has been called a "Death Power Shoard of Restoration" since it was authored. It is a Shard now, like the other three. The seven translations were always right, so only the English text moved and nothing downstream had to change.
- Swept the rest of the boss announcement list while we were in there. Of the six bosses worth more experience than the announcing tier tops out at, three are player-dungeon bosses that should stay quiet, one is not placed in any scene at all, and Spawn of Pele was the one real gap and is fixed. That leaves the Tempest Elemental in the Well of Aldur as the only open question, and it stays open on purpose: announcing a boss also starts an hour-long experience celebration for the whole shard, which is a decision rather than a spelling fix.
- The five bosses in The Breach change when they are hurt now. Spawn of Pele enrages below a quarter of its health and the four Elemental Lords below a third, and each one buffs itself when it crosses that line. Gael, Pyre and Spawn of Pele hit harder and faster and move quicker; Wrauk and Brign grow in strength, dexterity and intelligence instead, which for Brign carries its spells. None of them changed in any way as their health dropped before this.
- The enrage machinery has been in the game since the creature AI work on the 24th, and it reached trolls, dragons and one wrasse. It could not reach these five: the health band it reads lives on a shared combat-stats asset, none of the five had one, and with no asset the band reads as zero. They now have one each. Both abilities used are runes that already ship on 75 and 67 other creatures, so no new spell, no new damage type and no new crowd control went in with them.
- The four Death Power Shards in The Breach show a health bar now. They are 5,000-health objects you are meant to destroy to weaken the bosses, and they were the only killable things in the encounter that showed a name and no bar, so attacking one gave you no sign you were getting anywhere. Their health is unchanged.
- The other two things that would make those shards readable both need art rather than a data change, so they are written down instead of guessed at. All four use the same model with no distinguishing effect, so the one granting half again as much weapon damage looks exactly like the one granting health regeneration. And the buffs they hand the bosses could show as chips on the boss nameplate, which is the link the fight needs you to make, but the four runes behind them have no skill row and that row is the only thing that produces an icon.
- Brign, the Lord of Water, can finally use the heal it has always carried. It is the only boss in the game with one, and it stands about eighteen metres from the nearest boss it could help while only looking for someone to help within ten. It now looks out to twenty, which reaches Spawn of Pele and Wrauk and deliberately does not reach the two Lords more than thirty metres away. A healer covering half the arena is the better fight, and it is also what the distances allow.
- Three of the Breach bosses now have one attack that cannot be interrupted, so it has to be moved away from rather than stopped: Pyre's ring of fire, Gael's gust and Brign's ice field. Each still shows the ring on the ground and the cast bar while it winds up, and their other attacks can still be stopped. Doing this needed care: half of what these bosses cast are the player's own spells, shared, and the rest are shared with up to forty-one other creatures, so each of the three was copied into a Breach-only version and the shared originals were left alone.
Crafting
- A major repair from two or more Gold Crown stacks now enables the Craft button and completes the repair, as long as the stacks together reach the price. One stack still works the same way.
- The choking gas and binding tar bomb recipes were asking for Elixir of Dread and Tear of Sorrow. Both are Titan artifact fuel, capped at one per character and untradeable, so neither bomb could be made. They now take 15 Nightshade or 15 Spider Silk with 10 Corpse Wax and 2 Obsidian Chips.
Server
- A pet record carrying a field name the database cannot store was refused whole, so one bad entry blocked every later pet save, item destroy, sell and trade for that character. The bad entry is now dropped and the rest of the record stored. 17 chaos characters were stuck this way and heal themselves the next time their owner touches a pet.
- Server exceptions from the pet save path were being handed to the client as text, and the client prints any server message into chat as red lines a player cannot mute. That path now answers with the error code alone and keeps the reason in the server log.
- Scene rules gained a second entry: creature effect fields can now be switched off for one scene from the dev portal. Everything else in the Breach work is client data, so a number that turned out wrong could only be taken back by building another client, and the four pylons in the ruins are the biggest lever in that fight. They can now be silenced without a patch, and the pylons themselves still stand and can still be destroyed.
Content
- Weaponry Merchant Pip in Desolis is a woman, and was recorded in the character data as male, so she was answering every question in a man's voice. The record is corrected and her lines are recast onto a female voice. Requested by Tomaertim.
- The secret bookcase in the Weapons and Armor shop in Ardoris no longer opens and closes in silence: it now plays door open and close sounds like the Solania Catacombs secret door. Reported by rinaldi (#5972).
- The Storehouse Manager Shelba at the Mud docks is a woman, and her spoken voice will match once the next voice run bakes the new clips (#6150).
Gameplay & server fixes
- The realm-wide boss defeat announcement names a player who actually fought the boss. It had been naming whoever was reporting the kill, which is the first player to enter the zone, so a player standing at the entrance of The Breach was announced to the whole shard as having defeated Brign, Lord of Water while somebody else killed it. Experience and kill credit were always correct; only the name on the announcement was wrong.
- The half hour cooldown on repeat boss announcements was meant to be per killer and behaved as one per boss for the whole shard, so the second group to beat a boss inside the window was never announced. It reads the killer correctly now, so each one has their own cooldown.
Tools
- Two EditMode fences stopped going red on correct changes to the code they guard. The shield block clamp folded two inline copies in the physical and spell hit paths into one shared reduction, but the fence was pinned to the old "at least three helper reads" count and read the two the code now has as a regression. The Add-Ons window grew a sixth per-row button sized off the shared button-height metric, but the fence was pinned to five and read the sixth as one that had drifted from it. Both fences now assert the relation instead of the number.
- Ran the string harvest for the client scripts, which neither side of the tree had run: 36 string ids in code had no record in the translation source, so those lines could not be translated by any pass. Also caught two option strings that had been given the same id on two machines at once, which is why the harvest refused to run at all.
- Harvesting now reports how far players get into the swing meter. Every finished resource node writes one line carrying the combo depth it reached, the cap in force and what ended the chain, and a new SotA — Harvesting dashboard turns that into a reach funnel: the share of harvests that get to each combo level, and the share that reach the twelve-hit cap.
- The harvest line records why a chain stopped, not just how deep it got, so a run that ended on a missed swing reads differently from one the player let ride or walked away from. It fires once per node rather than once per swing, which keeps a twelve-sweep chain at one log line instead of twelve, and it fires for abandoned harvests too so the depth numbers are not just the harvests that finished.
- The chart building code that produced the two combat dashboards moved into a shared module so the harvesting board could use it. Both combat bundles regenerate byte for byte identical, which is how the move was checked.
- The Breach work now has an audit that re-reads everything it wrote and checks each value is still where it should be: the wave settings, the five arena spawn points, the five boss prefabs and their combat-stats assets, the three Breach-only spell copies and their untouched originals, and the four shards. It reads the files directly rather than going through the editor, so it can run any time. Zero failures against the current tree.
- Also settled one question about the Breach rewards that could be answered from the files rather than guessed at: the loot the wave fight drops is properly registered against the scene, so its recipe reaches real players and not only developers. That check has caught silent failures before, where a drop works for whoever tests it and never appears for anyone else.
- Checked how the nightly server-report bake actually works before planning more work around it. It has completed twelve nights running, at about twenty minutes each. It builds from the pushed branch, so a new creature has to be pushed before a bake can pick it up, and a creature missing from the bake pays no experience when killed.
- A new Editor window, Character Quest Inspector, reads any character’s quest state without logging in as them: knowledge flags, journal entries, task state, discovered scenes, and the loot bundles already taken. Before this, the only quest dump in the game was the in-client GM window, and it only ever saw the character you were logged in as.
- The inspector joins a character’s stored flags against the quest corpus the Editor already indexes, so each row names the dialogue that writes the flag rather than listing bare strings. Completion expressions are evaluated the way the game evaluates them, and anything resting on inventory or skills is reported as unknown instead of guessed as false.
- Quest state now reads through a new read-only route on the character service, behind the same admin login the character viewer uses. It ships in the next deploy to the test shard.
- The Character Quest Inspector takes its portal login in the window now, with a Test button that makes one real request and reports whether the portal accepted it. It used to require hand-writing a credentials file the window would only tell you about after it failed.
- The quest endpoint is live on the test shard, so the Character Quest Inspector reads real characters now. The deploy script kept a hand-written list of the files it copies and the new module was not on it, which would have taken the character viewer down on restart rather than just failing the deploy.
UI
- A skill tooltip now shows what the skill does at your current level beside what it will do at the next one, in two columns with a divider between them, so the two can be read line for line instead of stacked. The current level column gained a heading of its own, which it never had.
- That work turned up why a tall tooltip looked like it had a second panel floating next to it. A tooltip that wrapped into more than one column reported its width as a single column, so the frame behind it was drawn around the first column only and everything past it painted straight onto the world. The tooltip now measures the columns it actually laid out. The compact hotbar tooltip had been held to one column to work around this, so it behaves like every other skill tooltip again.
- A new UI theme, Crucible, is in Options under Themes: blackened steel panels with a thin bronze frame, and deep red on buttons and on the rows you hover or select. It is the eighth theme and the first built around a red accent rather than a metal. Error text stays a bright coral and links stay blue so neither of them disappears into the red.
- On the Citadel and Bastion themes, a bag row for something picked up since you last had the bag open was tinted in the default theme's blue rather than the theme's own colour. Both now match the theme they are on. Those two themes had been sitting outside seven of the checks that guard the other skins, which is how it went unread for a month; all eight are covered now.
- Icon art for the rebuilt interface windows now comes from an explicit list of art atlases. Before this it was picked up as a side effect of the old interface being torn down, which meant an atlas was only available because some other window happened to shut down first. That side effect was the last thing registering the atlas the deck builder lock icons are drawn from.
- The combat hand bar and the deck builder card slots were being built twice on every deck change: once in the old interface system and once in the new one that you actually see, with the old half destroyed moments after it was created. The discarded half is no longer built at all. The two slot files went from 2,228 and 1,163 lines to 146 and 79, and a check now fails the build if either grows an old-system half back.
- Skill tooltips stop offering more than certainty. Dazzling Rays advertised a 206.4 percent chance to mesmerize because its land chance scales with attunement and nothing capped the display; every chance a tooltip prints is now clamped to 100. Requested by ConjurerDragon.
- A spell whose duration depends on the sun now prints both figures. Dazzling Rays holds enemies half as long after dark and its tooltip never said so, because the day and night answers arrived blended into one range. Requested by Rinaldi.
Maps
- The Manor of Mystery map covers the whole island. It had been drawn to the ground tile under the venue, which is smaller than the floating island the venue sits on, so the entire outer rock rim was cropped off and a player walking out there left their own map. Reported on the tracker.
Content
- The item catalog caught up with four changes that had landed without it: the 65 boss trophy deeds and their reward bundles, the Lord British Celebratory Vintage 65 Wine Bottle, the Simple Wooden Wine Crate and Simple Wine Press recipes with the craftable flag on the two decorations they make, and the sheep field dressing yield, which lists leather scrap the way its loot table always has.
Tools
- New log query tool that answers what happened rather than what is broken. The existing one filters by level and collapses repeats, which is right for triage and wrong for following one player, one character, one session, one scene or one room through an evening. The new one returns the matching lines in time order with no filtering, so a session can be read as a story.
Infrastructure
- Filled 66 gaps in the build ledger, covering builds 116 to 155. The ledger records which commit each published build carries, and most of the missing rows were the macOS and Linux halves of builds whose Windows row was already recorded. A build with no row cannot have its patch notes generated afterwards.
Testing
- Corrected a combat test that reproduced a retired formula as a single expression and compared it exactly. The original computed it in three steps, and each step rounds, so the two disagreed in the last digit. The reproduction now matches step for step.
- The Sun magic proposal record now names the commits behind each built card and states plainly what has and has not been through the test runner, including the two new fixtures still waiting on a run.
- The Sun magic wave is verified: the two new fixtures, the three description pairings and the tooltip fences all pass, 128 tooltip tests among them. Solar Flare's new targeting value survived its first domain reload intact.
Quests
- Repaired the Blood River locked gate on the Path of Truth: its unlock check was authored as an action verb instead of a condition, so the gate never opened. Also fixed two Isle of Storms tutorial data errors where Anais completed an undefined task after the jump lesson and her inventory lesson pointed at a missing follow-up question.
- Restored the three-way virtue choice in the Oracle conversation on the Isle of Storms. The quiz data had been rewired upstream so every answer committed the Path of Love; the Courage and Truth commits now fire as answered, the change-my-mind re-routes work again, and the lunar rift records its use so Arabella's moongate quests can complete.
Scenes
- Registered the Isle of Storms intro scenario as a private solo starter instance: 16 players max, resume at spawn point on relog, and a loading screen and arrival message where it previously showed blank text.
- Turned off the tornado at the Eastreach Gap control point. It switched on when a defence reached wave 7, so once the waves started running past eight, every long fight ended with a tornado crossing the battlefield. The hazard is still in the scene, disabled in two places, so putting it back is a two-value change.
Tests
- Added five EditMode suites pinning the restored Isle of Storms start: the Oracle quiz routing, the moongate quest chain, the six virtue-path handoff conversations, a lint for action verbs leaking into scene flag expressions, and the lunar rift destination registry. Also gave the Lock Your Gear tutorial suite its first actual run; all 16 tests green.
- A bug of ours, worth writing down. A script that raised five values in the Breach scene collected all five positions first and then edited them one at a time, so every edit after the first landed where the earlier ones had already shifted the text. The replacement was one character longer than what it replaced, so the drift grew as it went and chewed the front off four component headers. An earlier pass using the same script survived only because its replacement happened to be the same width. The test that should have caught it was holding the 37 MB scene in memory from before the edit and reporting on that copy; it now re-reads whenever the file changes.
- A Vigor test was pinning two character stats to the end of the stat list rather than to their own values, so appending the new thrown bomb cooldown turned it red without changing anything it guards. It now checks the values that actually matter, and an append after them is allowed.
Onboarding
- New characters start on the Isle of Storms again. The classic intro is back in full: you arrive as a ghost, Arabella guides you to the Magic Mirror and the New Player Handbook, the Oracle's three questions commit you to the path of Love, Courage, or Truth, and the lunar rift delivers you to Solace Bridge, Highvale, or Blood River. The Highvale and Blood River intro battles are reachable by new players for the first time in years. Verification tasks are filed for all three paths.
- Turned the Isle of Storms start back off. New characters begin at the Battle of Solace Bridge with the tutorial again, the way they did before last week, while the rest of the Isle intro work is finished. The Isle scene, the Oracle's three-way virtue choice and the story-data repairs all stay in the build, so turning it back on is the same two lines again.
Images
- The Isle of Storms, back on the new player path:
- The Answering Blow icon in both skill icon sets:

Combat
- Blind now says what it does. Its description had claimed for years that it increased your accuracy; the spell lowers the target's damage avoidance and Dexterity for ten seconds, and with Sun Specialization its chance of a critical hit as well. The effect list underneath already printed all three numbers. Requested by Barugon, with parses from kaeshiva.
- Summon Phoenix used to describe itself in three words. Its description now says what skill level buys the bird and what Sun Specialization adds on top: more damage and toughness, and a chance for its attacks to blind.
- Solar Flare hits harder while the sun is up. Searing Ray has dealt extra daylight damage since it shipped and Solar Flare read the sun only in its focus cost; it reads it in the damage now too, half again during the day and unchanged at night.
- Solar Flare now hits the enemy standing on top of you. A narrow cone has almost no width where it starts, so the creature in melee range measured as far off axis and fell out of the spell. Anything within three metres in front of the caster counts. Reported by Chiasma.
- Alchemy can make four thrown bombs. A firebomb that bursts on impact, a choking gas bomb whose poison works straight through armor and leaves a cloud behind, a binding tar bomb that roots whatever walks into it, and a caustic acid bomb that leaves everything nearby taking more damage for fifteen seconds. You aim them at a spot on the ground the way you aim Fireball.
- The bombs are made at Alchemy 80 from a recipe you learn, three per craft, and recipe merchants stock them. They are balanced for an adventurer at level 100 and get proportionally weaker below it, with the tooltip saying which level the bomb was made for and how much of it you are getting. All four share one twenty second cooldown, so throwing any bomb puts the whole set on it.
- Built Answering Blow, a new Shield tree attack off Deflect 40. Used within about two seconds of a successful block it deals double melee damage, ignores armor, cannot be blocked, dodged or parried, and knocks the target off balance with a short damage avoidance debuff. At any other time it is a weak swing. Shield Specialization stretches the window toward four and a half seconds.
- The new counter is the first skill to read the block timestamp the combat code stamps on every block. No new combat plumbing was needed: the whole skill is rune data on that stamp, the same pattern Riposte set for parries. A new test fixture holds the counter window equal across the rune's three gates, and the reaction catalog's pinned set grew from four runes to five.
- The gas cloud and the tar patch are drawn for as long as they are dangerous, so you can see what you are about to walk into and what you are standing in.
NPCs
- Conversationalists can now hold a written personality instead of an Ink script. Drop a .txt or .md file in the same Custom NPC folder you already use and the deco NPC stores it as a persona for the generative dialogue system rather than compiling it as a script; a .ink file still behaves exactly as before, and the file extension is the only thing that decides which. Every uploaded persona is checked against the content policy before it is stored, and an upload is refused outright if that check cannot be completed. None of this is switched on yet: the generation service is not deployed, so a persona upload is turned down on the test shard today.
- Talking to a persona Conversationalist works. It opens the same window the Ink ones use, with a text box and a Say button in place of the choice buttons, so you type what you want to ask instead of picking from a list; the NPC answers in the same log, plays emotes the same way, and falls back to a short in-character line whenever no answer can be produced. Scripted Conversationalists are unchanged and still use their choice buttons.
GM Tools
- Player-written NPC dialogue can be moderated. The server has refused to serve a banned dialogue for years, but nothing could actually set that flag short of editing the database by hand, so an abusive Conversationalist script had no real answer. New /bannpcdialogue and /unbannpcdialogue commands set it properly, following the same path the book ban already takes: the dialogue stops being served, an audit record is written, and the author is sent a message explaining what happened and how to appeal.
Crafting
- The four bombs are made at Alchemy 80 from ordinary reagents: Sulfurous Ash, Nightshade, Spider Silk or Serpent Scales in bulk, with Corpse Wax or Black Pearl and an Obsidian Chip. Each batch makes three.
Localization
- Translated the new Isle of Storms arrival message into all eight supported languages, using each language's established name for the island. Also confirmed the Isle's scene-contents registry entries were already current, closing out the last data task from the starting-scene restore.
- The localization generator wrapper runs on macOS now. It had been building paths with backslashes and shelling out to a Windows-only command, so the first generator died and the run stopped there. Calling the generator directly to get around that skips the guard that restores deleted records, which quietly cost 28 of them before the wrapper was fixed.
Balance
- Vigor now recovers while you are logged out, at a quarter of the rate a town gives you. A full bar takes about an hour away, against about fifteen minutes standing in a town, so an hour offline undoes an hour of fighting.
- Only real time away counts toward that. Standing still out in the wilderness still gives nothing back, and changing zones after ten idle minutes in the field no longer reads as ten minutes offline.
Client
- Exiting to character select started a 60 second shutdown timer that closed the game even after you logged back in and carried on playing. Three testers lost a session to it on builds 156 and 157, one of them partway through a mine. Returning to the menu no longer starts that timer, and a quit to the desktop still ends as promptly as it did. Reported by joescorpio.
Skills
- Six skills in the Tactics tree and one in Focus all drew the same picture: the teal double arrow that belongs to Quick Swapping. Each of them has its own icon now, and the Tactics ones moved onto the red shield the rest of that tree uses instead of the green six-sided Focus tile. Quick Swapping keeps the arrow it always had.
- The new mounted and elixir glyphs were drawn for both art sets, so players on Modern get them too rather than falling back to Classic for those seven.
- Six skills in the Taming tree drew the same picture. Pet Speed Training, Pet Strength Training, Pet Taunting Training, Pet Attack Precision Training, Pet Hide Toughness Training and Pet Range all wore the summoning horn that belongs to Summoning directly above them, so the tree showed one glyph six times down a column. Each of the six now has its own art.
- Three of those six are pet commands you put on your bar, but they carried the grey frame the player guide reserves for passive skills that are always in effect. They now carry the blue buff frame. A seventh skill, Refresh, was pointed at the horn while the icon drawn for it was already in the game with nothing asking for it, so that one was a rebind rather than new art.
Chaos server
- Chaos logins are open again. Anyone with a Shroud of the Avatar account can sign in with their normal account name and password, instead of only accounts carrying tester, VIP, dev or admin status. The restriction had been in place since 22 August. The usual account rules still apply: banned accounts are still refused, and Steam accounts that never set a Shroud of the Avatar password still cannot sign in on chaos.
- The tester-only door is still in the build as an off-switch. A deploy can force it back on for a locked-down window, which re-admits only tester, VIP, dev and admin accounts and shows everyone else the restricted message on the login screen.
- A restart of the chaos shard this evening pointed the server at the wrong login service and knocked out every login for about twelve minutes. The server itself was healthy the whole time, so nothing looked wrong from the outside. The launcher script now defaults to the correct login service and refuses to start at all if it is pointed at the wrong one.
- Logins are confirmed working again on the open door: an account with no tester status was turned away at 21:51 and signed in normally at 21:53, and every login attempt since the fix has succeeded.
2026-08-27 · 100 items
The New Britannia Herald
Towers that missed, pets that refused, and a build that lied
Headlines
- Forty-four shader compile errors were shipping on the Linux and Mac clients while every build reported clean. The build machines cache shaders, so a warm build only reports what it recompiled.
- Fog of war spread from dungeons to every adventure zone at tier 5 and up: 67 zone maps now start covered and open as you walk them, with a 50 metre reveal outdoors and the old wall-aware reveal underground.
- Gathering skill past grandmaster finally reaches the harvest swing meter: the target kept growing to level 100 and then stopped dead against its own ceiling. It now keeps paying to the skill cap, and past 100 it slows how fast the target narrows between hits.
- A row-by-row audit of the Options window found four settings that did not do what their label said. Highlight Strength was moving the reticle, so object glow had been stuck at full for every player; it now has its own row and so does Reticle Brightness.
- Accounts with a space in the name can be granted tester and tracker access again: 9,117 of them failed every directory save with a bare 400 error, and now sync under a derived directory login.
- The blessings came down across the board: the ten attunement blessings that drop off a kill go from 50 to 30, Blessing of Agility, Greater from 45 Dexterity to 25, and the rest of both sets with them. The two Agility tiers also stopped stacking with each other, which had been worth a free 30 Dexterity.
- Powerups now spawn on the floor of both PvP arenas, and a new GM Arenas panel turns them on, retunes them or shuts an arena down live.
- Achievements grew a reward loop. The game now writes down when one was earned and the goal it was earned against, instead of recomputing the answer every time you look, and sixty-five bosses have a mounted trophy waiting behind their kill. Twenty-seven of those were built from finished art that had been sitting unused in the project since the original import.
- Pets will attack players again. An attack order aimed at a player had been thrown away since the command was written, in every scene, which is why pets stood still through duels and arena matches while fighting creatures normally.
- The store and the game shard have been reading two different copies of the account database since the August 20 restore. Anything bought after that snapshot writes to one copy while the shard reads the other, so it never reaches the player. Whichever way the web hosting question lands, the shard has to read the database the store writes to, and the whole cutover is now written down as four things that have to happen in order.
- The PvP Castle Arena (Teams) towers now shoot to 30m and need line of sight. They had been aiming at 40m while landing hits only within 2.9m of themselves.
- The build farm was down for ten hours after an automatic Java update broke Jenkins' ability to start any process. Fixed, and now guarded against by an automatic check.
- Achievements can now be written in an editor window instead of in code, and hand-written ones survive a catalog rebuild.
The Herald
- The New Britannia Herald for 2026-08-26 is up: A player reported that dragons had never once damaged them, and they were right about every creature in the game. Creatures now turn to face what they are swinging at, bosses absorb between two and six crowd control effects before they fall, and the threat system got written down for the first time. Also, ten thousand missing voice recordings, and mushrooms have stopped bleeding. Listen or read the transcript (18 min). Subscribe in any podcast app: /blog/podcast.xml
Community
- Filed three new player suggestions/bugs from the forums: a mage summon-pet specialization idea, a request for an official unlocked-deck guide, and a report of summoned pets underperforming in Spindelskog.
Combat
- Read Shield of Air back out of its rune data and corrected the internal reference for it. The shield absorbs damage from every school, not just lightning; its reagents are Mandrake Root, Serpent Scales and Spider Silk; and its duration is a plain timer rather than a pool that drains as it absorbs.
- Traced how Shield of Air actually pays for itself. Focus Transfer Ratio is focus spent per point of damage absorbed, so lower is better, and stacking extra copies of the glyph lowers it further. Skill level and Dexterity are the only two inputs; Air Specialization moves the duration and nothing else.
- Added test coverage for the focus-shield absorb, the exchange behind Shield of Air and the Potion of Shadow Shield. Eight cases now cover a fully absorbed hit, a bar with exactly the cost in it, a short bar, an empty bar, and both conditions that switch the shield off. The arithmetic had none before.
- The buff catalog now covers every channel a beneficial effect reaches a character through, not just runes. It had measured 802 rune-borne effects and listed gear, masterwork, enchantment, scene auras and the experience windows as out of scope. Those turned out to be most of what a character carries: gear alone holds 4,315 stat effects across 1,994 equipable items, five times the rune corpus.
- The full count: 806 rune buffs, 214 innate skill rewards across 155 skills, 4,315 gear innate effects, 1,354 masterwork, enchantment, engraving, socket and material effects on 784 assets, 11 systemic bonuses, and 778 aura placements across 248 prefabs and scenes. Every one is evaluated through the game’s own formula engine rather than read off the asset.
- Four skills grant an ability package instead of a stat number, and the audit used to record only that a package existed. Evaluating the payload turned up what they actually give: Sun and Moon Worship are +15 Strength and +15 Dexterity at skill 150 under a full sun and full moon, and Sun and Moon Eater add 4.5 and 63 hours of daylight and moonlight.
- Charging Shield of Air no longer makes it absorb more damage per point of focus. Combining copies of the glyph was lowering the focus cost per point absorbed on top of extending the buff, which at high skill and Dexterity was a 33% efficiency gain. Charging still lengthens the shield, still costs less focus to cast and still shortens the cooldown. The Potion of Shadow Shield is unchanged.
- Bard fortification is now resolved against the live channel list rather than left as a footnote. 25 of the 62 shipped effect channels can be fortified by a bard, and the catalog shows which family each lands in and its ceiling: blessings x1.25, food and drink x1.50, potions x1.40, songs x2.00.
- Two ways to hang a rune on a whole zone exist in the code and are authored on nothing: 0 of 868 scenes and 0 of 487 component instances. Recorded as a finding so nobody spends an afternoon looking for the data again.
- The roadmap entry that said the buff half was measured now says which halves. All six channels a beneficial effect can reach a character through are baked, with the counts, and the balance pass has a register that covers gear rather than one that stops at runes.
- Retuned how fast Shield of Air spends focus to absorb damage. Dexterity now counts for less than it did, and the starting point was lowered to compensate, so the two changes cancel out at around 350 Dexterity. Below that the shield is slightly better than before and above it the shield absorbs less from the same focus bar, with the gap widening the higher your Dexterity climbs.
- Focus potions now give less while a focus shield is running. Shield of Air spends your focus bar to absorb damage, so a focus potion was a reload that got more valuable the better your shield was. A potion now pays out at the same rate the shield spends at: a shield costing half a point of focus per point of damage gives you half the potion. Health potions, food and everything else are unchanged, and weak shields take no cut at all.
- There is now one page with every buff and every stat on it. The catalog table only ever showed one representative stat per buff, so a meal that moves six of them read as a one-stat buff. The Buff Stat Chart puts all 806 buffs down one axis and all 191 stats across the other, 1,688 values in the cells, at skill 80, 150, or 150 with specialization.
- The grid is 1% full, so the part that makes it readable is that the columns follow the rows. Filter to store blessings and it narrows to 22 buffs by 22 stats you can read across. Filter to food and search for pie and twelve meals line up with their focus, health and attunement side by side. Picking a stat answers the other direction: Mounted Speed comes from 27 buffs.
- Cells are coloured by each stat’s own good direction rather than by sign, so a fizzle reduction reads as the gain it is. Buffs whose payload is a summon or a stealth state keep their row and list what they do as tags instead of showing up as a blank line.
- The buff stat chart, filtered to pies.
- Pets and companions can be ordered to attack another player again. Any attack order aimed at a player was being thrown away, so a pet stood still through a duel or an arena match while fighting creatures normally. Pets still refuse an order against anyone you are friendly with, including party members, teammates in a team arena, and anyone standing in an arena waiting area.
- A refused pet command now says which rule refused it. It used to print the same "ignored your command" line whatever the reason, which is why an attack order on a player could be dropped for years without anyone reporting it. You will now see a second line such as "its stance is Passive, so it will not fight without an order".
- Team arena factions were missing six rows from the table the creature AI reads, so an unteamed player read as neither friend nor foe to a pet. A pet whose owner had not picked up a team could not pick a target in the arena at all, and a pet could damage a bystander its owner was forbidden to touch.
UI
- Long item names now wrap in the hover tooltip. Crafted and enchanted gear can carry names that ran most of the way across the screen, and the tooltip grew as wide as the name, so one hover covered the inventory behind it. The name now folds at 500px, the same width the stat lines already used, so the tooltip is never wider than the item details it shows. The compare-with-equipped tooltip gets the same fold in all three of its columns.
- Took a pass over the skill glyphs looking for art that was another skill's picture renamed. Six files turned out to be one picture: Knockdown and all five zone effects were byte-identical, so four zone buffs a player sees on the buff bar were wearing the red attack border instead of the blue buff one. Clumsy was a copy of an unused fireflies glyph. All seven redrawn, each keeping its donor frame pixel for pixel.
- Five more skills were pointed at art that did not exist or belonged to someone else. Control Demon and Pick Lock both asked for a file called _WIP_icon that has never been in the project, Magic Resistance Field wore Celestial Blessing's glyph, and one zone effect asked for MostSpeedBoost against a file spelled MoveSpeedBoost. Four of the five already had their own art sitting on disk unreferenced, so they cost a rebind rather than a redraw.
- The HUD status frames now unlock, move and reset from the right-click menu on your own character. Until now "Lock Status Movement" and "Reset Positions" were only in Options, on the Interface tab.
- Unlocking the status frames from outside the Options window now takes effect straight away. The frames kept the previous setting until the next zone change, because only an open Options window pushed the change through to them.
- Restored the "Hide Title and Guild Name" entry for your own HUD frame. It was written for the frame's own right-click menu, which nothing ever asks for, so no player could reach it.
Creatures
- A creature reaching for one of its special abilities could throw an error and lose the ability it was about to use. Two players hit it overnight on separate builds. The ability list is now checked before it is read, and an incomplete entry is skipped with the creature name recorded so it can be tracked down.
Crafting
- Sowing seeds into a planter box that an earlier failed item move had left in a bad state threw an error part way through the sow. It now refuses the sow and says so, the same way the box answers when you do not have permission to use it.
Client
- Transparent surfaces on the Linux client and projected decals on the Mac client were failing to compile their shaders and drawing as flat magenta. Forty-four compile errors in all, on a build that reported success with zero errors: the build machines keep a shader cache, so a warm build only re-reports the shaders it recompiled, and the cache-independent audit only sees what the editor it runs on compiled. Both families fixed, and the new check reads the shader source instead, so it needs no build and no particular machine.
- Two Battle Fatigue stats had no display name and threw an exception on the way to a tooltip rather than falling back. Same shape as the bug that logged 70 errors in a day earlier this month. Both named now.
- The Lord British wine bottle icon was authored at 256 pixels and imported capped at 64, so it shipped at a quarter of the detail the art already had. Raised to 128, which is what 288 of the 300 item icons use.
- The same audit swept all 229 client settings against every consumer in the project, and every write to local preferences against every read. Three things came back dead and nothing else did: one retired option that no longer fed anything, and two preference writes that were saved on every call and never read back. All three are gone.
- Reading the input layer for the same sweep turned up a line that had quietly broken Xbox trigger rebinding. The code that splits a trigger off the shared axis it reports on was being handed the wrong value and its answer thrown away, so it had never run: a trigger bound that way reads as neutral when both triggers are held. Fixed, though it still wants a check against a real controller.
- Three graphics settings that the client works out from your own hardware were being written into saved settings files and read back in on import, so loading a settings file from another machine pinned that machine texture and upload limits onto yours for good. They are held back from settings files now, the way the quality preset already was.
Testing
- The editor test suite has been sitting at exactly 35 failures for eight builds running, which is enough red to hide a real break. Four of them turned out to be genuine defects and are fixed; one was a check that had been asking every Wrasse to carry no localization id, a state that no shipped creature has, and it now checks the thing it was written to protect instead.
- The full triage of that red baseline is done: all 35 failures classified, 20 fixed, and the 15 still open written down with what is known about each. Almost none of them were the game breaking. The usual shape was a check that pinned what the code looked like rather than what it had to do, so folding two copies of a formula into one shared one, or adding a sixth button and sizing it correctly, turned the check red for doing the right thing.
Server
- Audited pet storage on the live shard against the 2026-08-17 database snapshot. Of 120,354 characters, 10,687 carry pet data and none are close to the size limit that used to hang scene loads: the largest record is 20,535 bytes against a 32,767-byte ceiling, and 5,469 of the 6,604 characters with pet entries sit under 1 KB.
Housing
- One real find from that pass: the deco placement indicator pushes its show/hide to every registered decoration in one loop, and a decoration whose parts had been destroyed under it would stop the loop dead, leaving every decoration registered after it stuck on whatever it was showing. The loop now steps over a broken one instead of ending there.
Tools
- Two Unity test traps written down after each cost an hour: editor-mode tests never run a component Awake, so a test that builds a component and expects it to have registered itself is testing nothing and half its assertions pass by accident. And the test runner answers "no tests found" the first time you ask after a recompile, then works if you just ask again.
- The buff audit picked up three new collectors for gear, crafted item effects and systemic bonuses, sharing one expression evaluator. Gear gets a single measured column because it has no skill or specialization axis; crafted effects get three points across crafter proficiency and effect tier, since a masterwork amount is a formula over both and neither exists when the data is baked.
- Aura placements live inside prefabs and scene files, so they are scanned as text instead of in the editor. Loading several hundred prefabs to read one field each costs minutes and gigabytes, and everything needed is already in the YAML.
- The whole catalog is also written out as flat markdown in the repo, one file per family, every entry carrying its authored formula alongside the evaluated number. 30 files, 2.4 MB, regenerated from the bake and never hand-edited.
- The Gear tab on the buff catalog, filtered to the Ankh artifacts.
- The audit behind it is dupes.py, and the trick is measuring the medallion interior rather than the whole icon. Every glyph in a category shares its frame pixel for pixel by design, so whole-icon difference is just as low for hundreds of honest siblings as it is for a copy. Split at the emblem radius and the copies separate out. It reports in three bands and cross-references every hit to the skills that wear it, because a duplicate only matters if something asks for it.
- Thirteen glyphs are still worn by more than one skill in a tree, and one of them covers eight skills at once. Those are recorded as gaps in a ledger the EditMode fence checks in both directions, so the count cannot grow without someone deciding it should.
- New GM Arenas window in the GM tool suite. It drives the arena a GM is standing in: powerups on or off, how often one appears, how long the buff lasts, which of the three are in the rotation, spawn one now, clear the floor, and open or close the arena. Closing the team arena turns its team portals away with their own message. There is also a shard-wide switch on the tunables page that stops powerups everywhere without a client patch.
Maps
- Fog of war now covers every map at adventure tier 5 and up, not just dungeons. 67 zone maps start covered and open as you explore them, from the Novia wilderness and shardfalls through Mistrendur and Lord British's Castle. What you uncover is stored per account, so every character you own shares one map of a zone and it survives logging out.
- Outdoors the reveal is a plain 50 metre circle now. The old rule cast sight rays horizontally at eye height, which works in a corridor and stops at the first hillside outside, and its 30 metre radius was under one grid cell on the largest zones. Underground maps keep the sight test: a room behind a secret door stays covered until you find it.
- The flip is computed from the scene tier table rather than typed scene by scene, with a dry run that names what it would change and two EditMode tests that fail if the registry and the tier table stop agreeing. Fog can also be switched off shard-wide without a client patch, and switching it off deletes nothing.
Images
- Skill glyph duplicates, before and after. The five identical hammers on the top row are five different zone effects.
Options
- Audited every row in the Options window against every setting the client actually reads, and found four rows that did not do what their label said. The Video tab slider marked Highlight Strength was moving the reticle instead, so the glow on targeted and interactive objects had been stuck at full for every player since the row was first labelled. Highlight Strength now controls the glow, and the reticle has its own Reticle Brightness row that keeps the value you already had.
- The Video tab checkbox Disable Weather On Low Performance was reading backwards: ticking it turned weather back on, and leaving it clear was what turned weather off. It now does what the label says, so check that setting again if you had ever touched it.
- Picking a language saved your choice but the dropdown snapped back to the old one the next time you opened Options, which made a saved setting look thrown away. The dropdown now shows what you picked, and the row says the change takes effect the next time you start the game.
- The Clear button under the voice cache on the Audio tab could stall the client for several seconds the first time it was pressed in a session, because pressing it started the voice system up just to tear its cache down. It no longer does that.
- The buff and debuff icons under a creature name are now a setting instead of always on. Show Creature Effects on the Interface tab has three positions: Off, which is the new default, Enemies only, and All creatures. Each icon costs a draw call and a big fight is where that adds up, so the strip is something you turn on rather than something you pay for unasked.
- Enemies only is the middle setting because it is the one worth the cost: it shows which member of a pack a support caster has hardened, and skips the same icons over every deer in the woods. It reads hostility from the same place the overhead name colour does, so a red name and a buff strip can never disagree about one creature. Changing the setting takes effect on creatures already on screen.
Gathering
- Gathering skill above grandmaster now does something to the harvest swing meter. The target wedge grew at 0.4 degrees per skill level against a 110-degree ceiling, and 70 + 0.4 x 100 is exactly 110, so every level from 100 to the skill cap widened the target by nothing. The ramp is now full rate to 100 and half rate past it against a 130-degree ceiling, the same shape the gathering success roll already used.
- Levels past 100 also delay how fast the swing target narrows between hits, so a master gatherer keeps a wedge they can still hit several swings into a chain. That is deliberately where the above-grandmaster reward lands rather than on an easier opening swing, and the mastery share is capped at half the range so Meticulous Collection still buys something. Below skill 100 the wedge is exactly the size it always was.
- Each hit in a harvest chain now speeds the marker up 15 percent instead of 10. At 10 percent the sweep did not reach its reaction-time floor until the 11th hit of a 12-hit chain, so the ramp was barely felt; it now floors at hit 7. Hit windows at skill 200 run 1.156s, 0.663s, 0.380s, 0.218s, 0.125s across the first five swings.
- All 26 harvest swing meter settings are now live shard tunables. Retuning the target size, the sweep speed, the chain cap or the perfect-hit rewards no longer needs a client patch, and harvest.enabled set to 0 puts the whole shard back on the old passive gather timer. Defaults are the shipped values, so nothing changes until someone moves a number.
Accounts
- Accounts whose name contains a space can be granted tester, tracker and portal access again. The accounts page passed the name straight to the login directory, which only accepts letters, digits and _ . -, so the save failed with a bare 400 error for 9,117 accounts. They now sync under a derived directory login (a name with a space becomes the same name with a dash), minted once and shown under the username on the page. The game login is unchanged.
- The portal and tester hub login prompt now accepts either spelling of a name with a space in it, and a failed directory sync reports the reason the directory gave instead of only the HTTP status.
Tooling
- The live tunables applier only wrote float settings, which would have left out the six most useful harvest knobs including the master switch. It now converts by field type: floats as-is, whole numbers rounded, and on/off settings false only at exactly zero. Ranges still clamp on the page, the server and the client, so the sweep floor cannot be typed down to zero.
PVP
- Players waiting in the Obsidian Trials cave could still be burned by a Ring of Fire cast in from the arena side, or by someone standing at the edge with a damage aura running. Waiting areas in both special PVP scenes now block all player damage in either direction, no matter which side of the boundary the attacker stands on. The castle team arena's downstairs waiting rooms had no protection at all and got the same treatment.
- The Obsidian Trial and the team Castle Arena now have powerups on the floor. One appears at a random spot while a round is being fought, and the first player to reach it takes it: Wrath for weapon and magic damage, Swiftness for movement, Vigor for health and focus regeneration. Everyone in the arena sees who got it and what they got.
- Powerups do not stack. All three sit on one exclusive effect channel, so picking a second one replaces the first rather than adding to it, and the buff comes off when the round ends. Two players who reach the same pickup on the same frame settle it on the server lock every chest and resource node already uses: one of them gets it, both see it go.
- The powerup spots are placed: five in each arena. The team Castle Arena gets a symmetric spread so neither side is closer to more of them. The Obsidian Trial floor is rocky rather than flat, so each spot was found by taking the lowest ground under it that sits within 25 degrees of level; two of the first five had landed on 71 and 81 degree cliff faces. None of the ten sits inside a waiting area.
- The two towers guarding the team ankhs in PvP Castle Arena (Teams) aimed out to 40m but only landed a hit within about 2.9m, so nothing stopped a player walking up to the enemy ankh. They now reach 30m, and they have to see the target to fire.
- A new test sweeps every creature that cannot move for the same authoring shape, since one that can walk hides it by closing the distance itself. Seventeen exist across the project. Besides the towers it turned up both PvP flesh flayer plants, which advertise an 8m pull and reach 2.5m.
Balance
- Blessing of Agility and Blessing of Agility, Greater no longer run at the same time. The two tiers shared only the reward blessing channel, which holds two runes, so anyone who took both carried 75 Dexterity and 20 less Strength instead of the greater tier's 45 and 10. They now share an exclusive channel of their own and the one taken most recently wins, and each still uses one of the two reward blessing slots. A sweep of all 474 runes that declare a channel turned up no other tier pair with the same gap.
- The three day blessings you pick up out in the world came down across the board. Blessing of Agility, Greater goes from 45 Dexterity to 25 and the plain one from 30 to 20. Blessing of Avoidance, Blessing of Elusiveness and the two Tolerance blessings drop from 20 to 15, Blessing of the Sun and Blessing of the Moon from 15 attunement to 10, Blessing of the Tamer from 10 taming levels to 7, and Blessing of Skill from 5 adventurer levels to 4. The penalty each blessing carries is unchanged, and Acquisition, Invigoration, Maintenance and the safe fall blessing were left where they were.
- The attunement blessings that drop off a kill came down with the rest. Blessing of Air, Death, Earth, Fire, Life, Moon, Sun and Water, plus the Gatherer and Shadow blessings, each gave 50 attunement in their school for four hours and now give 30. Two of them still run at once and the duration is unchanged. These sit on a different channel from the three day blessings found out in the world, which is why the first pass went past them.
Achievements
- Achievements now write down that they were earned. Until today the game recomputed unlock state on demand against the current catalog, so it could never show an earned date, and retuning a ladder moved what a player had already earned. Each record freezes the goal as it stood at the time.
- Kill counters moved to targeted per-key database writes. Two characters on one account playing at the same time each saved a total that had never seen the kills of the other, and the later save won; the counts now add up instead.
- Achievements can now hand over an item, and only ever once. A title is easy to grant safely because owning one is permanent; a trophy can be placed on a wall, banked or destroyed, so its absence is no proof it was never given. The delivery is tracked by a token written into the deposit itself, which means a server that dies mid-handover can tell a lost receipt from a lost trophy.
- The achievement catalog gained a rewards column, resolved at build time from a bundle named after the achievement it pays out. A reward file that matches no achievement now fails the build rather than being quietly skipped. Nothing is authored yet, so no achievement pays out anything today.
- A generator now builds the boss trophies: one no-trade, wall-mountable trophy per boss that has art, plus the reward bundle that hands it over. Thirty-eight of the eighty-four bosses have a shipped trophy to borrow from; the rest are listed by name in the build report as an art request rather than quietly skipped.
- Sixty-five bosses now have a mounted trophy waiting behind their kill achievement. Thirty-eight borrow a trophy the game already shipped. The other twenty-seven were built from finished plaque art that has been sitting unused in the project since the original import, covering the Cabalists, the elementals, the golems, the spiders, the scorpion and the skeleton without anyone modelling anything new.
- Those twenty-seven trophies needed icons, because every trophy icon in the game is a render of the decoration itself rather than a painted illustration. The generator now renders them to match. The first pass came out backwards: these plaques face away from Unity default forward, so a three-quarter camera photographed the back of every head. Nineteen bosses still have no usable art and are named in the build report as a request.
- Added Achievement Studio, an editor window for writing achievements as data. Until now every one of the 480 in the game was added by editing a table in code and rerunning a generator, so a designer could not add one alone.
- Hand-written achievements now survive a catalog rebuild. They live in their own file that the generator folds back in each time it runs, so work done in the window is still there after the next regeneration.
- A new rung drops into the right place in an existing chain rather than onto the end, so a 500-kill deed can sit between the 100 and the 1000 that were already there.
- The window can also edit and retire achievements the generator produces. Changing a goal or retiring a deed affects players who already earned it, so each one asks first and spells out what happens, and each keeps a written reason that prints in every later rebuild report.
- Counting a brand new thing still needs a programmer to add one line. The window says so up front and hands over the exact line, because until it ships the achievement can never be earned and nothing anywhere reports it.
- Mistakes that used to surface hours later are caught while typing: a name already in use, a goal that duplicates one on the same counter, a category with no badge art behind it. 49 new tests cover the merge and those checks.
- The old separate window for the 29 Steam achievements was folded into the new one, so all three sets of achievements are visible in one list instead of two tools that did not know about each other.
Commerce
- Wrote up how a purchase on the website becomes an item in your game bank. The game server polls the website every few minutes rather than the website pushing to the game, the items land in the Reward bank with no claim step, and the chain is held together by three string and integer joins that have no foreign keys behind them. The subscription system is documented now as well, which it had never been.
- Found that the store and the game shard have been reading two different copies of the account database since the August 20 restore. A purchase or a subscription charge made after that snapshot writes to one copy while the shard reads the other, so it never reaches the player and no error is raised at either end. The fix either way is that the shard has to read whichever database the store writes to; which one that is depends on where the web stack lives after the move, and that is being decided separately.
- One reward with a missing item bundle behind it blocks every later delivery to that account. The grant handler stops the whole batch before anything is written, so the marker that tracks what has been delivered never moves forward and the same batch fails again on the next poll, every five minutes. Specified an audit that checks every reward id in the database has a bundle in the build.
- Audited the monthly subscriber and login reward bundles in the project. R151 from late July is the last one with contents; R152 through R157, which run to January, are empty and still carry their placeholder description, and the login reward bundles for August through December are empty too. Both reward schedules are also switched off in the shipping server config. Checking whether authored versions exist elsewhere and have not reached this repository is the next step.
Infrastructure
- Wrote the movement plan for the October 1 server move. It separates the work into four things that have to move in order: the store and account database first, then the game shard and its players, then the build systems, and only then switching the old machines off. Four runbooks and the reference documentation landed with it, including the cutover runbook that had been an open task since July.
Gameplay & server fixes
- Team arenas now count as PvP scenes in the server-side hostility check, which had recognised only open PvP scenes, accepted duels and guild wars. Every hit in both castle arenas and the Obsidian Trials was being recorded against the wrong verdict.
Build farm
- Every job on the build machine had been failing since 6:23 this morning, dying at its first shell command with
Cannot run program "nohup". The automatic security updates replaced the Java runtime underneath Jenkins, which had been running since August 4th. A Java process that finds a newer helper binary on disk than the one it started with refuses to launch child processes, and launching child processes is how Jenkins runs every build step. Restarting the two Jenkins processes fixed it; the nightly chaos release, the push test run, and the compile-set gate had all failed for this reason and nothing built between 5:03 and 16:28. - Added a guard so that outage cannot repeat quietly. A timer checks every ten minutes whether either Jenkins process is older than the installed Java package, and restarts both if so. It waits for an empty build queue and idle executors first, so a running build is never killed, and gives up waiting after an hour because a build that was running across a Java swap is already broken anyway.
2026-08-26 · 104 items
The New Britannia Herald
Dragons learn to aim, and bosses stop being stunned to death
Headlines
- A change saved on the Live Tunables page now tells every player in the world what moved. The shard could be paying five times experience with nobody in game able to tell; now it says so in chat, on its own, within a minute.
- NPC voice Every line that shows your character name had no audio behind it for players who had introduced themselves. 10,147 recordings generated and published; the report named one NPC, the gap covered all of them.
- Bulk crafting goes to 100 per press, and a batch that stops early now tells you why instead of ending in silence.
- Dragons deal damage again: creatures now keep turning until they are actually aimed at what they are hitting, and a dragon taking off knocks everyone nearby flat.
- Aggro is written down for the first time, and the reason tanks lose it is structural: threat comes from damage, and the one stat that multiplies threat does not reach damage.
- Undead, elementals and mushrooms no longer bleed, and Spinning Attack stopped being the one bleed nothing guarded against.
- The team PVP arena works again: joining a team lists you on the scoreboard immediately, rounds announce their winner and score, and only enemy kills count.
- The Obsidian Trials pay correctly: the trader charges for its goods, victory and kill rewards are validated by the server, and small-match winners are told why there is no Medallion.
- Tracker pass. Closed 6 items from the tracker: an ambient occlusion toggle and a Show Lock Column option in Options, an adjustable gathering meter ring, difficulty colours back on the teleport-to-zone scroll, and the leashing icon off NPC nameplates.
- Chaotic Clone is a decoy again: it keeps the caster's health numbers on the nameplate, and dies to the first hit that lands.
- Floating names sort by distance now. The nearest one draws in front, your own always wins, and a creature's cast bar stops covering another player's health bar.
- Bosses resist crowd control. A boss absorbs two to six controls depending on its tier, and only controls landing within three seconds of each other count, so one player with a short-cooldown stun can no longer hold a dragon still until it dies.
The Herald
- The New Britannia Herald for 2026-08-25 is up: A very large Tuesday for the least-used skill tree in the game. Shields can now block spells, the character sheet stopped capping the block number it showed you, and a broken shield finally tells you what it has switched off. Elsewhere the cloth on every cape and cloak was untangled after an engine upgrade scrambled it, balance numbers can now be changed for the whole shard while people are playing, and a bug report that was confirmed four separate times was never a bug at all. Listen or read the transcript (18 min). Subscribe in any podcast app: /blog/podcast.xml
Community
- Filed two forum wishlist ideas: open floor plan basements with no interior dividing walls, and a Brittany Graveyard caretaker NPC to point toward a searched gravestone name.
Content
- The Lord British Celebratory Vintage 65 Wine Bottle decoration now loads. Characters have been carrying the item for a while, but this build had never included the decoration itself, so the game could not build it and logged a failure every time one was touched. The bottle, its label art and its icon are in now.
- NPC lines that show your character name played no audio for any player who had introduced themselves. The client has asked for a second recording of those lines since 17 August, one with the name left out of the audio so the voice does not say "outlander" over a screen showing your name, and that set had never been produced. A greeting whose text reads "Good morrow, <your name>." showed over silence. Generated and published 10,147 recordings across the game's 181 voices, 5,386 of them the name lines. Reported against Vinicius at Blood River Outskirts, and it affected every NPC in the game.
- Mourning at a Player Memorial gravestone in the Brittany Graveyard no longer leaves the flowers at the base of the stone after the reset. The rare crying animation lays an offering that used to stay in place for the rest of the session; it now clears when the grave becomes clickable again.
Bugs
- The overnight log pass turned up three client faults worth fixing: a stat the addon API offers but has no name for, the Reset Positions button throwing two seconds after it is clicked and then never saving the reset, and a multi-item inventory drop that can throw partway through moving items between containers.
- Found while checking that one: every reaction bark in the game plays silent. Those are the short lines an NPC says when they catch you taking something or call for the guards. They are written with a two-character code on the front of the text, the game strips it before speaking the line, and the recording tool does not, so each recording sits under a name the client never asks for. 280 of the 281 reaction lines are affected. Filed and not yet fixed.
- Nine threat bugs filed off the back of the write-up. The one worth naming: the three abilities that shed aggro, Escape, Torpor and Cocoon of Night, only work when you are alone. The flag that clears negative threat is set for the whole creature rather than for one attacker, so any other participant's hit wipes the shed, sometimes on the same tick it lands. Also filed: a full threat table drops the newest attacker before ranking it, the pet handoff credits the owner five times what the pet was holding, and four tamed pet families generate no threat at all from their basic attack.
UI
- The Options window can be dragged much narrower. Its minimum width was a single hardcoded number that had never been measured, set once during the UI Toolkit conversion and sized around fitting eight tab labels at the body font. It came down from 860 to 680 pixels, and the tab row moved to the smaller text size so every tab name still reads at the narrowest width. Because that minimum is measured before the UI Scale multiplier, players running a larger UI were being held even wider in real screen pixels.
- A change made on the Live Tunables page now announces itself in the chat log of everyone playing: "Experience gain is now 5x normal." for the settings a player can feel, "Control point settings were adjusted." for the rest, and the raw list of what moved for game-admin accounts. It arrives on its own within a minute, and zoning does not repeat it.
- Clicking Reset Positions on the Options window Interface tab now saves the reset when a party member leaves, a pet is dismissed, or the scene changes in the two seconds after the click. Before this the reset was visible on screen and gone at the next login.
- The shopkeeper window: setting a type on the Sell tab used to also filter the Buy tab while the Buy dropdown still read what it had been left at, so the control and the list disagreed. The two tabs now keep to their own filters.
- A rare bank-drop crash is caught. Dragging one or more items onto a stackable row that had been deposited in a different bank could throw part-way through the drop, stopping the drag halfway between containers; the held-item state machine recovered on its own but the items were mid-move at the throw. The drop refuses cleanly now when the destination has no cached parent container.
- Map coordinate box shows its tooltip again on the box and the Show button, and gives up the keyboard after marking so a follow-up Enter opens chat.
- Hovering a weapon recipe at a crafting station lists the material choices under the blade slot again. The list had gone missing on the dagger, both polearms, the two-handed sword and the two-handed mace, and stayed visible on the hilt.
- The Dungeon Builder Build tab piece type drop down opens wide enough for the longest entry on one line: Encounter, Transition and Teleport no longer split inside the word (#5826, follow-up to build 147; requested by rinaldi).
- Hovering the Max button or the crafting quantity field shows the tooltip explaining what a batch costs (less experience per item, no returned materials on a failure). The line was written and never appeared in game.
- Dyeing a placed player-owned-town object from inventory: the item preview no longer sits behind the confirmation window. The first attempt at the fix ran a frame before the preview window had finished opening and did nothing; it now waits until the window exists, moves it to the side of the confirmation, and puts it back where you had it when the dye choice is done.
- Blessing of Invigoration and the other buffs and debuffs that touch this stat now read "Healing Received" instead of the older "Healing Modifier" on their tooltip, so the buff, the debuff and the character sheet all agree. Reported on the in-game Oracle.
- Added a Gathering Meter Ring Thickness setting in Options -> Interface (Normal, Large, Extra Large) so a player who cannot see the thin swing meter against bright terrain can widen its strokes. The ring stays under the reticle; only the thickness changes, and the setting persists.
- Zone difficulty colours are back on the teleport-to-zone scroll: Summary and Tier shade from green through yellow and orange to red as a zone climbs above your level, the way they did before (wishlist #5703).
- Video options grew an Ambient Occlusion toggle in the same group as Camera Bloom and Volumetric Lighting. Turning it off drops the contact shading where surfaces meet and buys some frames on modest hardware. Default is on, so nothing changes for anyone who leaves it alone. Requested by Barugon.
- Your backpack Options panel now carries a Show Lock Column toggle. On by default; ticking it off hides the leading padlock column and gives its width back to the item name. Only ever affected the players own backpack in the first place, so banks, chests and loot corpses are unchanged. Requested by Gravidy (#5645).
- The leashing icon no longer floats over NPC nameplates. It was showing on any character whose AI entered a leash state - a shopkeeper crossing a zone on their day/night route, a mob walking home after breaking off, a pet tethered to its owner - and it carried no player-actionable information. The internal behaviour is unchanged.
- Running around with the chat window open could switch your chat tabs, or close them. W, A, S and D were bound as Unity's UI navigation axes as well as to movement, so holding one walked a highlight through the tab strip and the next press of Space acted on whatever it had reached.
- Cleared the movement keys off those navigation axes so they no longer drive the interface, and the chat window's tabs and buttons answer the mouse only now. The arrow keys still move the focus outline, and gamepad navigation is unchanged.
- Closing the last tab in a chat window closes the window, and the tab layout is saved between sessions, so a tab lost this way was still gone after a relog.
- A context menu dismissed without picking anything stayed the keyboard's target after it closed. It gives the selection back now.
- Floating names now draw in a fixed order: whichever one belongs to the character closest to your camera goes in front. Which name won an overlap used to be decided by the order things happened to load, so the same two characters could sort one way in one zone and the other way in the next. Reported by Rinaldi.
- The creature cast bar is what made that visible. It is a full width bar with the spell name under it, so a kobold winding up a spell could paint straight over another player's name and health bar. Your own name and health bar now draw in front of everything else, and two people standing together hold a steady order instead of trading places as they breathe.
- There was no test covering nameplate draw order at all. There are two now, one over the ordering arithmetic and one over what the two plate prefabs have to author, plus a written account of how the two halves of a floating name sort against each other.
Dev portal & infra
- The log filter that turns server and client log lines into searchable fields was splitting on comma-plus-space and skipping any pair that did not follow that convention. Four emitters do not follow it, so every field after the offending pair was folded into the one before it and then dropped as malformed. ActualDamage and MaxDamage returned zero documents over fourteen days while the game emitted them on every hit. The filter now handles bare commas and space separators, trims values, and strips the quotes log4net puts around creature and player names.
- All 42 retained daily log indices were reindexed through a backfill pipeline, 4.29 million documents, so the recovered fields cover the fourteen days already on disk rather than starting from today. Counts were compared before each original was dropped. The same pass re-typed the control point wave numbers, the loot and XP counts and the adventurer level on the death line, which had all been landing as text and could not be averaged or charted.
- New Combat Balance dashboard on the internal log viewer, built on telemetry the shard was already emitting and nothing was reading: skill usage and auto-attack share, sustained DPS by player and by build, damage per hit by skill against the authored maximum, hit outcome mix, mitigation by mechanism, deaths and kills by scene and creature, XP and loot per hour, and control point wave depth. It is the live counterpart to the static balance audit page, and its first panel is a list of what the data cannot yet answer.
- The balance targets need two consecutive weekly measurements before a school counts as settled, and the raw logs are deleted after fourteen days, which is exactly two windows with no margin. A nightly job now rolls each day into per-skill, per-school, per-scene and per-build summary rows in an index the retention policy does not touch, with a committed copy in the repo so the series survives a box rebuild. Seeded with 2,541 rows from the fortnight already on disk.
Gameplay & server fixes
- The client has always had a per-hit damage logger sitting beside the DPS one, and it had never emitted a single line. It tested for damage above 100 on a value that arrives already negated, so only a heal could ever satisfy it. With the sign fixed it turns out to be the only per-hit damage measurement that covers PvE rather than PvP alone, and it is scoped to the local player so it does not start reporting for every creature in the scene.
- Sustained DPS samples below 100 were being discarded. That threshold existed to stop an idle player reporting every five seconds, but DPS here is measured over a fixed fifteen seconds rather than over elapsed time, so a single 300 damage hit reports 20 and was thrown away. Nothing under-performing could be measured, which is the case the balance targets exist to catch. A hit counter stops the idle reports instead, and the window length is now on the line so the number can be recomputed.
- Cast, hit and DPS lines now carry the skill school, the damage type, the scene and the hit outcome. The balance targets are written per school and per scene, and a bare rune id can only be counted. Hit outcomes that combined two results, a dodge and a parry together for instance, had been landing as the bare number 96 in a bucket nobody could read, so block and parry have been undercounted for as long as the field has existed.
Client
- Switching your matchmaking preference to Open in Eastreach Gap and the other pass-style scenes no longer loops the leaving-instance countdown into a fresh Private instance every minute. The matchmaker was matching your own vacated Private room and putting you back in it; it now refuses an owned room when you have asked for an open one, so the reload settles.
- The dungeon entrance now reads a foyer-only dungeon as one room even before anyone has been inside. The tooltip and the Dungeon window used to show no room count at all for such a dungeon and only picked one up after someone had walked in.
- On a player vendor, changing the price of one of your own listings now leaves the row on the My Listings tab at the new price. Before, the row disappeared the moment you confirmed and only came back after switching to another tab and back. Requested by Chaos Testers (#5794).
- A quit that used to hang forever now ends itself within a minute. The watchdog that has been reporting a stuck shutdown could not close the process on its own; if the fast-exit path is unreachable, the watchdog now terminates the process directly. The debug flag that turns the fast exit off still opts out.
- Unity had been complaining about the trees painted onto outdoor ground on every scene load. The last Windows client build carried 226 of those lines, and because the message comes from the runtime rather than the editor, it reached player logs too. Thirty one tree, plant and pebble types were adjusted so the engine stops asking, with no change to how any of them are drawn at any distance.
- What the engine actually tests turned out to be whether the prop carries a level-of-detail group; the shader is only consulted when there is none. A July fix had used that on four props, but it had been applied to the wrong copy of the most common one, which is why that tree still accounted for 39 of the warning lines.
- Two Battle Fatigue regeneration values that never appear in a tooltip were still readable through the addon stat API, so an addon asking for either name made the client log a localization error on every call. Both are now refused to addons the way other internal values already are, and a new test walks every stat to check that anything addons can read has a name to give back.
Infrastructure
- Server logs are getting a second home. The shard keeps two weeks of logs and stays deliberately small, because that machine also runs the game server and the database; a companion archive on a separate machine will hold six months, reading through the same dashboards so nothing has to be rebuilt to look further back.
- Trimmed the log server the shard runs. Its memory reservation came down by half, and 64 audit indexes that no cleanup rule had ever covered were removed from the count: they were carrying more than half the cluster shards for about 15 MB of data, and had left it in a degraded state since the day it was set up.
- Also found why log searches have been taking twenty seconds, and it was not the amount kept. The older log server holds roughly seven times more data than its machine has memory to cache, and three quarters of that memory is handed to the search engine itself, which is taken from the cache that would have prevented the disk reads. Measured against the shard log server the same afternoon: 99.99 percent of its reads came from memory, and a search answered in 6 milliseconds.
- The six-month log archive is live. Server logs still live on the shard for two weeks, and a second machine now keeps a copy for six months, reading through the same dashboards. The shard opens nothing new for it: the archive machine dials out, pulls the finished days, and closes the connection again.
- Sized both log servers for the player numbers that come with launch rather than for today. The cache behind the shard log server doubled and the archive machine got three times its previous cache, which is the part that decides whether a search reads from memory or from disk. The search engine memory itself was left modest on purpose: past half the machine, it is taken from the cache it was meant to help.
- Cleaned out the log server the shard runs while it was open. It had been carrying 96 dead shards from audit indexes no cleanup rule covered, and one internal bookkeeping index had grown to 77 MB to hold 17 records. Shard count came down from 257, segments from 819 to 433, and a metrics chart that took 715 milliseconds now takes 61.
- The code and web server had gone six days without an off-site backup, and it was found by accident while checking something unrelated. A one-off snapshot, left months-dated in the folder the nightly check watches for dead backup jobs, looked exactly like a job that had stopped running, and that check aborts the whole run rather than carry stale data forward. Nothing was lost, and the backup now runs again: 113,178 stored files verified against the source count.
- Two follow-ups so that cannot repeat quietly. Parking something in that folder is now a deliberate one-line marker rather than an accident, and the failure message names both fixes instead of guessing at a dead job. The status tool also gained a way to clear failure records once their cause is fixed: it archives them rather than deleting, and refuses while anything is still broken, so a resolved problem can be quieted and a live one cannot.
Client
- Fixed the ground stretching and settling again under players who were standing still, reported in Owl's Head and present in other outdoor areas. Two parts of the client were both writing the terrain's pixel error on their own timers, one about every second and the other every two, so in Owl's Head the ground swung between the authored 10 and as much as 55 and rebuilt itself on every handover. Neither writes it now, so an area draws its ground the way it was built for as long as you stand in it.
- The reflection cubemap render saved two terrain settings into fixed ten-entry arrays but indexed them by the scene's terrain count, so a scene with more than ten terrains threw once a second. The arrays are sized from the scene now.
Tools
- The offline voice generator now strips the escalation code off reaction lines the same way the runtime does, so the freshly baked clip for a guard shouting I saw that! is filed under the name the client actually asks for. A republish of the voice bank will hand every NPC back the two hundred and eighty reaction barks that were being generated correctly, uploaded, and then never played (#6016).
- New chat command /verbose attack. A creature attack that reaches its target and applies nothing used to produce no feedback at all: the swing plays, the effect plays, and the damage test refuses without saying so. This names the test that refused, with the aim and the reach side by side and the height between the two, on whichever machine is running the creature. It is what turned the dragon report from a guess into a number.
- A new terrain audit walks all 519 terrain assets and classifies all 593 tree prototypes, so the count of unreadable ones is a number anyone can pull instead of a build-log hunt. It only repairs props it can prove are safe to touch, because the engine drops a tree it cannot read and a dropped tree does not render at all.
Combat
- Escape, Torpor and Cocoon of Night now shed threat in group fights. A groupmates swing, your pets damage, or the creature spotting anyone else was wiping the negative aggro these abilities place, so the shed only worked when soloing. Fixed to scope the reset to the casters own row on the creature.
- Fixed a pet threat handoff (leash break or pet-taunt buff expiring) that credited the owner five times the amount the pet was holding, spiking the fight the moment the pet dropped it (#6034).
- Creatures with no blood in them no longer bleed. Undead, elementals and mushrooms now ignore the damage-over-time part of Rend, Puncture, Hamstring, Sawblade Sweep and Spinning Attack, and show Immune instead. 375 of 1,389 creatures are now immune, up from 279.
- Bleed immunity used to be five rune assets that each spelled the rule out by hand, so it covered Rend but not Spinning Attack, and no creature-cast Rend at all. A bleed is now a flag on the effect, and one rule reads it.
- The slime's acid spray now plays a splat on whoever it lands on. The clockwork oil spray has no effect behind it yet: there is no oil, tar or clockwork art in the project to point it at.
- The two bleed-response runes were rebuilt. They had been generated by patching a copy of another rune, and the patcher left stale lines behind in four token blocks each, so the cooldown read 10 instead of 0. They also carried a 2.667 second lock from the attack they were copied from, which would have meant bleeding a clockwork or a slime stopped it acting instead of costing you something.
- Eastreach Gap deep waves: the extra creatures that join each wave past the eighth now walk to the flag. They spawned with no goal of their own and stood in the spawn corridors until a player wandered into awareness range, which is why deep runs kept finding skeletons and liches idling where they appeared. Reported by joescorpio.
- Two more Eastreach spawner fixes in the same pass: an extra creature can no longer be placed on a disconnected pocket of navmesh on the far side of a wall, and a wave that ends now drops any spawn trigger it could not use, so a blocked seat cannot hold the wave-clear gate shut for the rest of the run.
- The Eastreach navmesh itself checked out: all 50 control point spawn seats sit on connected mesh with a valid path to the flag. The one real geometry gap, wave houses standing on ground the baked navmesh believes is walkable, is filed with measurements for a later pass.
- Chaotic Clone dies to the first thing that damages it again. The clone keeps the caster's health numbers on its nameplate, so a rival still cannot tell the decoy from the real avatar by reading the plate, but any hit that lands takes it down instead of a full health bar's worth. A miss, dodge, block or fully resisted swing still leaves it standing.
- Bosses now stand up to crowd control. A dragon had exactly the same crowd-control defence as a rat, so one player with a stun on a short cooldown could hold any boss in the game still until it died. A boss now absorbs between two and six controls, and only controls that land together add up against it: four stuns spread over a minute do nothing to an ancient dragon, four stuns inside three seconds put it on the floor. A lone player cannot reach two however short their cooldown is.
- How many controls a boss absorbs comes from its tier, so all 83 boss prefabs are covered with nothing authored by hand: tier 10 to 11 absorbs two, 12 to 13 absorbs three, 14 to 15 absorbs four, 16 to 18 absorbs five, and 19 and up absorbs six. A creature with no boss tier resolves to zero and behaves exactly as it did before. Stun, knockdown and mesmerize meet the wall. Root and confusion deliberately do not: a rooted boss still casts and still swings, so it is not the complaint this exists for, and gating roots behind four players would take kiting away from every ranged build.
- Breaking through the wall applies the control that broke it and opens a five-second recovery, during which further controls are refused and do not bank towards the next break, so a group cannot chain their stuns through it. An absorbed control floats a "Fortitude 2/4" counter over the boss and writes a combat log line. Fifteen boss templates were authored with a crowd-control resistance value years ago that nothing has ever read, so the intent was already sitting in the data. Still owed: a counter on the nameplate so the whole party can see the progress rather than only the caster.
User Interface
- The countdown you read while dead now has a solid dark outline round the digits instead of a soft dark glow. A glow fades out to nothing and never puts a hard edge anywhere, which is why the white numbers were still hard to pick out against deep snow after the first pass. Both numbers get it: the seconds to your automatic resurrection on the ground, and the seconds over the shrine bar on an ankh. Same size, same white, same position, two pixels of black edge that scales with the interface scale.
Launcher
- The patcher stopped a patch whenever a game file was busy for a moment, showing a red line about a file "being used by another process". Antivirus reads a large file the instant we close it, and a game that has just quit holds its own files while it shuts down, so this fired most often on the patch right after a play session. The launcher now waits for the file to free up and carries on.
- When a patch does fail, the launcher says what is likely holding the file and which button to press instead of printing the raw Windows error with an internal file path in it. A failed patch also gets written to launcher.log now, and no longer leaves PLAY greyed out and Repair unresponsive until you close and reopen the launcher.
- Launcher v33 is out on Windows, Linux and macOS. It carries the busy-file fix above. Installed launchers pick it up on their next start, so there is nothing to download by hand.
Crafting
- Bulk crafting stopped being silent. A batch that ends before the count you asked for now says why on the crafting window and in chat, naming how many were made out of how many were asked for and whether the tool wore out, the materials ran out, or the restock was refused. Every one of those used to end the run with no message, so a batch that stopped on a worn tool was indistinguishable from bulk crafting not working. Reported by Jemma Star.
- One press of Craft now makes up to 100 items instead of 50, and the ceiling moved onto a shard-wide runtime knob so it can be changed without a client patch. What you have to hand still caps a batch below that. The quantity box also stopped losing your number: it no longer drops back to 1 when a run finishes, and typing into it no longer fights the window redrawing over you.
Creatures
- A player reported that dragons never damaged them, always, and that a patient solo player could kill one without taking a hit. They were right. Creature attacks are aimed in a cone in front of the creature and tested against that cone at the moment the damage lands, and four separate rules about when a creature had turned far enough, and how fast it turned, all let it stop turning while its target was still outside the cone it was about to swing into. A creature standing at its attack slot has no movement direction to turn towards, and the code treated that frame as already spent, so it never faced the thing it was hitting. That reached every creature in the game, not only dragons.
- Dragons also spent a large part of every fight walking away. Their fight plan took to the air on half of all attack cycles, and a dragon backs off about forty metres before it takes off, so half the fight was the approach and the retreat. That is now a quarter of cycles. A dragon leaving the ground beats its wings on the way up: everyone within fifteen metres is knocked back and held for a second and a half, in every direction rather than in front of it.
- The takeoff gust needed a second pass. Its hold was authored one level out from the effect it belongs to, so the knockback worked and the stun did nothing, and the file loaded without complaint either way. Fixed, and the builder now checks that the list it is writing into actually gained the item.
- Clockwork creatures and slimes still bleed, and now answer back. Cutting a clockwork sprays oil that takes half its level off your dexterity for 30 seconds and stacks three times. Cutting a slime sprays acid back for half its melee damage.
- Creatures used to stand still for the whole of their attack animation, even though the blow lands early in it. Measured across 485 creature attacks the damage resolves at a median of 0.57 seconds into a swing whose median length is 2.0 seconds, and a dragon bite connects at 1.07 seconds into 2.97. The rest was follow-through the creature was rooted through, which is a large part of why walking away between blows worked so well. A creature is now free to move the moment its attack has landed. It does not attack any faster: the timer that paces one attack to the next is untouched, so the only thing that changed is what a creature does with its recovery.
- The animation half of that turned out to be half-done already. Roughly half the creature attack states carry a transition that says "if I start moving, leave the swing" - authored a long time ago and never once reachable, because a creature could not move while its attack held it in place. Those now blend out of a swing into a run for free. The ones without it move at about a third speed until the animation ends, so they walk out of a blow instead of sliding with locked legs, and that clamp lifts itself the moment the animator finds its own way out.
- Built a boss roster: every boss in the game, the scene it spawns in, and the support group around it, at
docs/systems/boss-roster.md. It is generated from data already committed, so it regenerates in a second with no Unity step. - The game has no boss flag. Creatures carry only a family bit mask and the server holds no boss list, so boss-ness was being reconstructed from a
_B##filename convention that misses the Frost Giant and all eight Cabalists. The roster uses the curated registry instead: 84 bosses behind 91 prefabs, with control-point twins folded into one boss. - Support groups are measured with each boss's own authored help radius, the distance its AI actually reaches when looking for allies, rather than a made-up number. Members that can buff or resurrect the boss are called out, which is how the Lich Mage standing with the Cabalists at the siege spawns turned up carrying a resurrect.
- 29 of the 84 bosses have no spawn seat anywhere in the world. Their prefabs appear in no scene, no other prefab and no data asset outside the boss registry and the kill map, though loot and kill tracking are all authored. Six shard-announcing Ancient dragons are in that group. Recorded in the doc for the content owner to rule on.
Combat
- Wrote down how aggro actually works, which had never been documented. A creature keeps a sixteen-row threat table; damage is worth a quarter point each, every landed hit adds a flat 5 on top of that (10 from behind), healing someone else is worth about a sixteenth of a point per point healed, and half of every threat event you generate also lands on every other hostile that can see you. The creature re-pays its current target a flat 100 points a second, decaying to 25 after 37 seconds, so peeling something takes 400 extra damage fresh or 100 once it has settled.
- The reason tanks lose aggro turned out to be structural rather than a number that needs raising. Threat comes overwhelmingly from damage dealt, and Aggro Boost, the one stat in the game that multiplies threat, reaches each glyph's fixed threat bonus and healing but not damage. So a tank wearing every threat item in the game at once multiplies the smaller half of what they generate and leaves the rest untouched. Every other MMO with a working tank role multiplies exactly that term.
- Two more findings from the same pass. Because each hit pays a flat amount on top of its damage, a hundred damage in one blow is worth 30 points of threat and the same hundred in ten ticks is worth 75, which is the long-standing report that fast small hits pull enemies off the tanky types. And Body Slam carries 100 points of threat, the largest fixed amount on any player glyph, more than Taunt's own base below skill 50.
Unity 6 migration
- A follow-up to Monday's cape repair caught the cloaks that stayed stiff. The Ancestor cape and about thirty other flat store and reward capes share one cape model on slim and average male builds, and the first repair had rejected that model's cloth data as one entry too long. The mesh holds two points so close together that the tooling counted them as one particle where the engine counts two; matched at full precision, the authored data was right all along and every entry is back on its particle. The fur-trimmed cloak at one female body size, the Obsidian cloak at one male size, the female Epic Cloth pieces and the medium Gambeson were rebuilt from healthy versions of the same garments. The party dresses and the Virtue cloaks measured as suspect and were cleared: the dresses are deliberately pleated, and the Virtue cloaks carry a few painted-infinity values that skewed the measurement.
Images
PVP
- Fixed the team arena roster in PvP Castle Arena (Teams): stepping through the red or blue portal now puts you on the scoreboard immediately. The first player into the scene created the match without telling the UI, so the roster stayed empty until a round actually started.
- The team arena announces its round results now. A victory banner and a chat line with the final score appear on every client; before, the winner went to a debug log on one machine and nowhere else.
- Team arena kills only score when the victim is on the other team. Killing a teammate or an unassigned player in the lobby no longer added a point, and the killer credit follows the same rule.
- More team arena repairs: the match no longer wedges when the longest-present player leaves during a break, the scoreboard follows the live match instead of a stale copy through the intermission, the HUD timers strip shows the team scores and countdown again, joins during the break show up right away, and team respawns pick a stable spawn point per player.
- The team portal tells you the real reason when it bounces you: a match still being set up reads differently from a full team now. Kill records also stopped being dropped when a client had to rebuild its match state mid round.
- The Obsidian Trials Trader charges for every trade now. Seven of its trades handed over their goods without taking the coins, including the colonel rank, which now costs its listed 500 Obsidian Medallions.
- The Obsidian Trials victory reward is validated by the server now: claims are checked against the match schedule, one victory per match pays, and the participant count that picks the reward tier is capped at what the server saw. Kill coins pay only during a running match and once per opponent per match. A config switch can restore the old behavior without a restart.
- Four repairs in the trials kill-reward path: a kill attributed to a party dropped the coin, a killer disconnecting at the wrong moment could crash the death, the reward went to the wrong client when someone else reported the death, and a storage failure aborted the whole death mid-resolution.
- Winning a small trials match now tells you rewards need at least five combatants instead of answering with silence, a granted Medallion reward announces itself in chat, and dying mid match respawns you under battleground rules on both timing paths.
- Generic teleport scrolls can no longer drop a player into a live Obsidian Trials match, and the treasure-map sewer scroll stopped teleporting its user into the trials arena. It shipped as a copy of the trials teleport, destination included.
- Fixed the castle arena team portals bouncing players back to the lobby moments after they joined a team. A delayed second join check was counting the player against their own team; the check now ignores the joining player, and a portal teleports once per entry.
2026-08-25 · 103 items
The New Britannia Herald
Shields learn to stop magic and every cape starts moving again
Headlines
- Live Tunables: balance numbers changed for the whole shard while it runs, from a dev page, no build or restart. Vigor first.
- The character sheet stopped lying about blocking. Block and Parry read the chance the game really rolls, instead of freezing at 75% exactly where a shield build starts to pay off.
- Every cell door in The Clink was running on its own: two players in the same prison saw different doors open. Objects that register late now get time to arrive instead of being written off for the session.
- Shields block magic. Arcane Defense turns a share of your blocking power against spells, 70.7% of it at skill 100 and all of it at 200.
- The Shield school gets two of its kit repairs: Deflect finally pays for a locked deck slot at 15 seconds instead of 30, and the specialization stops being all or nothing, with both of its hidden riders now visible and working from the first point.
- Capes move again. A mesh importer change in the Unity 6.5 upgrade had scrambled every cloth garment onto the wrong particles; the constraints are re-sorted, capes drape and trail, and they collide with legs instead of sinking through them.
- Ranged Defense stops rocks now. The Shield skill that blunts ranged attacks only ever recognised arrows and bolts from a real bow, so a troll's thrown rock and a scorpion's spit went straight past it. It reads how the attack travels instead of what somebody labelled it, and spells stay out.
- A broken shield tells you what it cost you. Six Shield passives used to switch off in silence at zero durability while four buffs carried on paying out as if nothing had happened. The warning row in the top right corner now names every skill the break has suspended, and those four stop as well.
- Gear would not drag anywhere off a lot. Reported as a character sheet problem, it was every window: most gear counts as placeable, and the drag was asking the plot you were standing on a question it could not answer.
- Two specialization slots now answer Vigor: Focus Specialization keeps your focus regeneration and Tactics Specialization keeps your health regeneration, half a percent per level, all of it at 200.
- Control point waves wait to be killed now. The wave number used to be a clock, so a party of two rode it to wave 102 in an hour without the fight ever getting harder. It counts waves beaten instead, and the leaderboards are in the game window.
- Scenes can be switched into open PvP, or out of it, while the shard is running, from the Live Tunables page. Switching one off reaches everyone standing in it within a minute; switching one on waits until a player next walks in, so nobody turns attackable mid-fight.
UI
- The four arrow handle on the chat windows tab line now moves the window from any part of it. Most of the handle sat on the windows top left resize corner, so a press there stretched the window and only a few pixels down its right side moved it.
- A HUD window you left open now comes back the next time you log in, even if you crossed a zone line or logged out to character select first. Closing a window at a scene change is the game tidying the screen, and that no longer counts as you closing it; only the X button, the window hotkey and Escape do.
- The floating name over a summoned creature keeps its owner line clear of the health bar. The owner name used to be drawn as a second line of the creature name, and once the summon took damage the bar was drawn across it. The owner now has its own line, the same one a guild name uses. This affected every summon and tamed pet once damaged, not only the death magic ones; a creature at full health shows no bar, which is why the other schools looked fine. Reported by rinaldi.
- Pressing Enter in the Map window's coordinate box now marks that spot on the map, the same as the Show button. It used to do nothing to the map and hand the keyboard to the chat window instead.
- The label on that box reads "Show location" rather than "Go to", which sounded like it would move your character, and its tooltip now names the order the numbers go in. Requested by rinaldi.
- On the Dungeon Builder Build tab, long piece names no longer draw over the numbers on their card or past its border. The count moved to the top left of each card and the point cost to the top right, the cards are wider, and a card grows tall enough to hold the longest name in whatever the list is showing. Reported by rinaldi.
- The Save Settings to File and Load Settings from File windows answered clicks about one button height above the buttons once a save or load had run. The line of text the window writes to report what it did made the window taller, and the click areas stayed behind. Buttons and file rows now respond where they are drawn. Reported by rinaldi.
- Narrowing the Skills window no longer cuts the line above a skill tree. The school name, the attunement and the level and experience totals now wrap onto a second line when the width is short instead of being cut off, and the Bard Bar and Tips buttons, the school sigil and the equipped tool slot hold their size at any width.
- The Damage Resistance and Damage Avoidance tooltips on the character sheet now put a colon between each worn piece and what it contributes, so an item whose name ends in its enhancement level no longer runs into its own number. Reported by rinaldi, who read "Clockwork Wings +10 1" as one number with a stray digit on the end. Long item names still wrap flush to the left.
- The large scale readout that appears while you resize a decoration now clears the moment you place the item, instead of staying up for six seconds and looking like it belongs to whatever you pick up next. It still fades on its own while you are holding the decoration, and the Tighter Fit and cannot-be-resized notices keep their full time on screen.
- The Give Items window puts its "Show all items" checkbox next to the caption it belongs to. The box used to sit twenty pixels from the end of "Show all items" and seven from the "Offered" heading beside it, so it read as belonging to the wrong column. A thin vertical line now runs between the "Your Items" and "Offered" columns as well, so the two halves read as two columns. Reported by a tester with a mock-up of the layout they wanted.
- The zone map now holds the you-are-here arrow and the point of interest markers at the same size on screen however far you zoom out. They used to shrink with the map, so on a one-room zone like the Oracle Temple, where the whole plan only fits at the far end of the zoom, the arrow drew under two pixels across and could not be found without zooming back in.
- At a skill trainer, hovering a skill the trainer will not teach now names the reason on the tooltip: the skill is not taught here, its prerequisites are not met, or there is not enough gold. Those tooltips showed nothing before, and the reason only reached the chat log after a click.
- Repairing an artifact with an ancient essence now says how much durability came back, using the same wording as a repair at a crafting station: "Successfully repaired the item (X) with (Ancient Essence), restoring 20 points of durability." The number is measured off the item, so a repair on an almost-full artifact reports what actually landed.
- A repair paid for with crowns finishes with "Successfully completed a major repair on the item (X)." It used to print the ordinary repair line, so nothing in chat told a major repair apart from a kit repair.
- Typing an emote name wrapped in percent signs now plays the emote and prints nothing in chat. A line whose only content was the marker used to leave an empty line in the chat log, and combining it with /em printed your character name with nothing after it. The forms that already worked are unchanged: /breathefire still prints its own sentence, and /em with your own words before the marker still prints your words.
- The How It Behaves window on a dungeon trap piece asks its two settings one at a time. It used to put both in one list that could only hold one highlight, so choosing how long a piece waited cleared what it did afterwards, and each opening only ever set one of the two.
- The countdown numbers you see while dead now carry a dark halo, so they stay readable on snow and ice. Both are covered: the count to the automatic resurrection on the ground, and the count over the bar at an ankh. The digits are the same size they were, only the contrast changed.
With "Show Objects in Containers" turned on, the Container column in the backpack and bank windows listed every item that was not inside a bag as being in a container called "bag". Those rows now name the place they are actually in, Backpack or Bank, and the search box
in:filter matches the same words. Items inside a bag, and containers on a lot, are unchanged.- Ranged Defense has an icon of its own. Since the skill shipped it borrowed the Angles icon, so two tiles in the Shield tree drew the same picture and there was no way to tell them apart at a glance. The new art is a gold shield turning arrows, drawn for both the classic and the modern icon sets.
- Dig In says two things it never said: the stance holds you in place, and it ends the moment you move. Both are how the skill has always worked. Its specialization bonus is now described as the brief one it is, and three skill descriptions had spelling errors that are fixed.
- Skill tooltips now put the chance in front of a damage line that only lands on a roll. Sawblade Sweep sweeps six targets and rolls its bleed on each of them at 50 percent, and the tooltip used to show the bleed with no chance on it, so it read as though all six would bleed. Flaming Fist, Multishot, Double Thrust and Spinning Attack gained the same line. Skills whose damage always lands read exactly as they did before, and no chance was changed (requested by rinaldi).
- Skill tooltips admit what their numbers assume. A tooltip is worked out as though you had the equipment the skill needs, which is deliberate, so a skill read with the shield in the bank still shows what it does. There is now a line under the equipment requirements saying so, and a blunter one when you have the equipment and it is broken.
- Shopkeeper and vendor windows can be narrowed down instead of scrolled through. The Buy tab now has a type dropdown of its own, and the Buy and Sell tabs each carry a search box that matches item names within the type picked on that tab. Each tab keeps its own setting, and the box understands the same wording as the backpack search, so type:recipe works there too (requested by rinaldi).
- Dragging a group of selected glyphs into a deck a second time added them properly. Before, only the first drag put glyphs in the list while later drags raised the used count beside each glyph without adding anything, and the deck saved in that state.
- Hovering a piece of gear in the Edit Deck window's Linked Equipment strip now shows its name, on every slot; a piece you are no longer carrying shows its name and the line saying it is missing. The strip had been redrawing itself once a frame, which wiped the hover text out again before it could appear.
- The Schools filter above the glyph list in the Edit Deck window lists the twenty schools alphabetically instead of in the order they were authored.
- The Options window Interface tab now puts the Reset Positions button on the same line as the Lock Status Movement checkbox, just to its right. Both act on the status bars and the other movable HUD pieces, and the Show Instrument Keyboard row that had been added between them now sits below the pair. Requested by rinaldi.
- Right-clicking the pet health frame opens the pet menu again, and so do the player and target frames. Yesterday's fix for a frame drag grabbing the decoration behind it also told the client the pointer was over a window there, which is the one condition those menus refuse to open on.
- The mouse wheel zooms the camera again while the cursor rests on a status frame, and a right-drag that starts on one turns the camera. Both went with the same change.
- A status frame drag that never got its mouse button back, from an alt-tab or from Lock Status Movement being switched on mid-drag, used to leave the client believing the pointer was over a window for the rest of the session. The drag now ends when the button does.
- Reviewing that fix turned up a second problem in it: the gate had been opened one step wider than the revert needed, which would have let a right-click on an older-style window sitting across a status frame open the frame's menu instead. It now stops exactly where it was before the breakage.
- Gear can be dragged again anywhere you are not standing on a lot. Any item that can be placed as a decoration, which is most gear, lost its drag the moment the cursor crossed open ground between two windows, and the item snapped back. It worked on a lot, which is where it was being tested.
The Herald
- The New Britannia Herald for 2026-08-24 is up: Monday was a creature day. The whole wild bestiary now thinks four times faster, wounded animals break off and flee, dragons enrage, and creatures finally use the area attacks they have been carrying around unused. Battle Fatigue shipped in the morning and was retuned off tester reports by dinner, the Eastreach Gap control point stopped repeating wave eight forever, and thirty-six completely silent creatures got a voice. Listen or read the transcript (16 min). Subscribe in any podcast app: /blog/podcast.xml
Client
- Fixed the Ornate Tip Jar, which could not be placed as a decoration at all. It refused every surface with "Nothing beneath this item to rest on" and stayed red for the whole drag, because its model was attached about 0.7 metres below where the game measured the item and a little off to one side, so the check for a surface underneath was looking below the floor. The jar now stands on the surface and lands under the cursor. The Clay Tip Jar was never affected.
- Pumpkin Growing Trophies would not place on ground that was slightly out of level. Their collision box started 15 mm below the base of the trophy, using up almost all of the gap the game leaves between a held decoration and the surface under it, so a trophy read as buried anywhere the ground rolled. One player found a strip several feet wide at a lot corner in Owl's Head that stayed red. The box on all four trophies now starts at the base, and the trophies look and measure exactly the same.
Community
- Filed four items from the overnight forum sweep: a Battle Fatigue recovery bonus for resting at taverns/inns (requested by Sentinel2), per-loadout equipment-hide toggles as a follow-up to the shipped per-avatar Hide Helmet/Cloak setting (requested by Wishdragon, Patosh, and Necronut), a mob-leashing rework (requested by Furious Farmer), and a decoration-placement bug in a lot corner (reported by Wilfred).
- New SQUIRREL! card: a trophy for the Shield tree, the least used skill tree on the live server over the last sixty days (80,008 casts out of 14.8 million, 24 active players with the specialization), with Chaos disqualified for hurting its own casters. Sun and Water take second and third; more than half of Suns casts are the Light spell and more than a third of Waters are Douse. Read it.
Content
- The blessing in Lost Vale that grants the three day buff draws an open book turning above it, and that book had collision on it, so walking into it stopped you like a wall. The collision is gone and you can now walk through the book. Every other blessing was checked and none of them block movement.
- Field dressing a sheep no longer pays a Fabric Scrap on every pull after the carcass. Repeat pulls now give a Leather Scrap, the same material cows, pigs, horses and rabbits already give.
- The dart wall, the flame jet and the spike floor took health off a player with no effect shown and no sound played. All three now fire their effect and play their sound when they go off, and the spike floor pulls its spikes back when its trigger lets go.
- The public Shield proposal page now shows four more of its cards as built: Bolster Balance's double-counted crowd control resistance, Shield Bash's specialization debuff that debuffed nothing, the Master shield's tripled wear rate, and the empty off-hand that out-blocked every shield in the game. All four were fixed on 15 August and the page had never said so. Two shipped differently from what the card proposed, and the new lines say which and why.
- The large double doors at the entrance to Castle Brittany and the sliding bookcase inside the castle now play the same open and close sounds as the castle's other doors. Both had been opening and closing in silence.
- Shrine caretakers read the city of Etceter as the abbreviation "etcetera", adding a syllable on the end. The voice pipeline now respells the city name and its possessive across the 199 spoken lines that use it, and the corrected readings reach players with the next voice recording pass.
Combat
- Rainbow Blast now finishes its casting animation at the same moment the rainbow appears, the damage lands and the burst of colour goes off on the target. The casting motion used to stop early, and a first pass at the fix left the rainbow arriving about a second and a half before the hit. Damage timing is unchanged.
- The character sheet's Block and Parry rows print the chance the game actually rolls. Both used to stop at 75% no matter how high the stat went, so a character at a block modifier of 120 was told 75% while really blocking 82.8% of the time. Below 75% every number is unchanged; above it the reading keeps climbing, each point worth a little less than the one before, and never reaches 100%. Both hover texts say so now, and a modifier pushed below zero reads 0% instead of a negative. (#4566)
- The block formula is shown in game for the first time. The character sheet Block hover now states the block modifier and the chance it gives (one percent per point up to 75, diminishing past it, never reaching 100), the damage one block stops split into the shield share and the Strength share, the 75 percent ceiling and the hit size below which it binds, the Ranged Defense bonus when trained, and the rule that attacks from behind cannot be blocked. The Parry hover gains its computed chance. Every block buff, Deflect's two windows included, shows "Block chance X% while this lasts, Y% without it" in its icon hover. Requested by Warin, hroth, Jaanelle DeJure and Leinad Laurelwreath in a 2016 forum thread. Shield proposal S2; tester task #5935.
- Shields block magic now. A new Shield skill, Arcane Defense, sits behind Stand Your Ground and lets spells that hit you from the front be blocked. It does not answer magic as well as it answers steel: the share of your blocking power that counts against spells grows with the skill, reaching 70.7% at skill 100 and the full amount only at 200. Spells that were already blockable, Fireball and Cone of Cold among them, are unchanged and still block at the full rate.
- The character sheet explains the new rule rather than leaving it to be discovered. Hovering Block now names the share your shield counts for against magic and the chance to block a spell, and the old sentence saying most spells cannot be blocked is replaced once you have the skill, so the hover never contradicts itself.
- Arcane Defense got a glyph of its own rather than borrowing one.
- Deflect now gets the locked-slot cooldown discount the rest of the Shield school already had: 15 seconds with the glyph locked instead of 30, with the unlocked cooldown unchanged at 30. It was the only Shield glyph where locking the slot bought nothing. Its block power bonus also checks for a shield now, the same as the two block chance bonuses beside it, so the whole buff stops paying out together when the shield comes off.
- Two parts of the Shield specialization no longer pay nothing until you buy it. Bolster Balance grants a dexterity bonus and Shield Bash lowers the target damage avoidance for the length of its stun; both used to be worth exactly zero without Shield Specialization, and the tooltip hid the line rather than print the zero. Both now start at 2 and add 10 per point of Shield Mastery, so mastery 40 gives 7 where it gave 5 and mastery 80 gives 12 where it gave 10. Every value is the old one plus 2, so nobody who already bought the specialization lost anything.
- The Shield passives Angles and Redirection now say what they cannot stop. Both only work against weapon and physical attacks and are worth nothing against a spell at any level, and neither description had ever mentioned it.
- The character sheet says the same thing where the numbers live: the Damage Resistance and Damage Avoidance hovers now name the attacks they cover. A new test pins the combat code against both sentences, so a change to either one has to move the label with it.
- Ranged Defense counts everything thrown at you now. The Shield skill raises how much damage a block stops against ranged attacks, and it only ever counted arrows and bolts fired from a real bow, because creature attacks are labelled by hand and most of them are labelled wrong. A troll's thrown rock is filed as a hand-to-hand attack and a scorpion's spit as poison. The skill reads how the attack travels instead, so rocks, spit and sprays all count from any attacker. Spells still do not, which is what Arcane Defense is for, and the skill description was rewritten to say all of this.
- Breaking your shield is visible. A shield at zero durability used to switch off all six Shield passives without a word, while the shield-only halves of Deflect, Bolster Balance, Dig In and Testudo carried on paying out, because three parts of the game disagreed about what having a shield meant. They agree now, so a broken shield costs you those four as well, and the warning row in the top right corner gained an icon that names every passive the break has suspended.
- Shield Specialization now does something for Testudo. It had been doing nothing at all: the radius it was meant to widen was a number the game never reads, so a fully specialized character raised exactly the same wall as one who had never bought the specialization. It now widens the reach that decides who is inside the wall and the count that decides how many shields raise its resistance, taking a specialized wall from eight metres to sixteen at skill 100.
- Testudo says how many shields are in the wall. Hovering your own Testudo buff now shows what each shield adds and how many are standing in range, which is the number the skill is built around and had never been shown anywhere.
- The resistance a Testudo ally receives is now the same formula as the caster's. The two had differed by one term that referenced a stat nothing in the game writes, so it had always added zero.
- Charge hits for four fifths of a weapon swing instead of half, matching Body Slam, which is the same skill shape in Heavy Armor on a shorter cooldown. A player measured Charge at one point of damage back in 2017.
- Charge no longer eats the card when you are rooted. It has never worked while rooted and still does not, but under some rooting effects it used to spend the card, the focus and the cooldown while nothing happened at all. It now refuses up front and says why.
- A rooted character can no longer dodge. The old rule halved a rooted defender's dodge chance; a dodge is a step out of the attack's path, and a root is the loss of that step, so root now shuts dodge off completely the way stun and knockdown always have. The check also covers unbreakable roots, which had been leaving dodge at its full rate, so the harder hold was the weaker one. Breaking the root with Escape or Knight's Grace gives the dodge back. Blocking, parrying and damage avoidance are untouched. Root, Skewer, Bedrock and Dodge all say so in their descriptions now, and card S4 on the Light Armor proposals page is marked built.
- The Light Armor school got its first test suite: 24 cases pinning all five runes' amounts, durations, cooldown pairs and focus costs, the chest-only wear gate, the armor set-count table and the Specialization gradient. Every formula golden re-parses the stored token stream as well as the readable text, because the game runs the tokens and an edit to the text alone would display one formula and run another.
- Writing those tests settled a bug report against Evasion that had been reopened and re-confirmed four times. The combat formula evaluator has no operator precedence, so the missing parenthesis the report kept finding already divides the whole sum, and the numbers the report quoted were never what the game gave anyone: Evasion grants 10.5 damage avoidance at 150 Dexterity and skill 100, not 39, and a level of skill is worth five points of Dexterity there rather than the other way round. Two of the new tests assert the rule so it cannot be re-derived a fifth time.
- Dig In holds twice as long. The Shield stance that plants you in place and shares damage avoidance with your group ran about 70 seconds at skill 100 and now runs about 140, or about 280 with Shield Specialization grandmastered. The short block bonus Specialization adds on top went from 5 seconds to 10.
- The Dig In card now tells you how long the stance lasts. It never printed a duration before, so the only way to know was to count it. The buff icon still shows no countdown, which is correct for a stance you end by moving.
- Light Armor Specialization now makes Evasion stronger instead of longer. The buff already ran 70 seconds against a 10 second cooldown, so the extra duration the specialization bought was time nobody could spend, and it is one reason only 52 characters have ever grandmastered the worst-converting specialization in the game. At 150 Dexterity and skill 100 a specialist now reads 23.6 damage avoidance instead of 10.5, for the same 70 seconds. Nobody without the specialization is affected.
- Swept every combat formula in the game for the same misreading. All 31,649 authored expressions were pulled out, reduced to 1,146 distinct ones, and evaluated twice: once through the real engine and once the way algebra would read them. 41 disagree, across 35 skills. None of them is a bug, but they are where the next false bug report will come from, so they are now listed with the grouping the engine actually applies, and the detector is checked in so it can be run again after new formulas are written.
- The sweep turned up one understated report and one open question. Chaotic Step's teleport range inverts sooner than its card claimed, because attunement scales the whole range and not just its skill term. And Torpor's self damage avoidance reads as 50 plus half your skill but computes as half of fifty plus your skill, which is 75 at skill 100 rather than 100. Every other skill writes that shape explicitly, so it looks like a slip, but it was left alone: changing it moves a shipped number and that is a balance decision, not a typo fix.
- Focus Specialization and Tactics Specialization now hold back part of what low Vigor takes from regeneration. Focus protects focus regeneration and Tactics protects health regeneration, half a percent for each level of the skill, so at 100 you lose half as much on that row as an untrained character and at 200 you lose nothing. Critical hit chance is still on the full penalty, and the Vigor bar fills and empties at the same rate as before.
- The regeneration protection is authored as an innate reward row on each specialization skill rather than written into the combat code, so it sits behind the same rule as every other specialization reward: it only counts while the skill is set to Training or Maintaining, and parking the specialization brings the full penalty back. The character sheet regeneration figures and the Vigor tooltip both read the row they belong to, so the printed number is still the number the game uses.
- Control point waves now wait to be killed. Past the eighth wave the next one arrives when the battlefield is empty rather than on a timer, with a backstop so a stalled group still sees the fight move. Waves one to seven keep their old clock.
- The wave number used to be a clock. Waves advanced on a timer that never checked whether anything had died, so across the first thirteen recorded runs the wave reached and the time taken matched almost exactly, and a party of two held Eastreach Gap to wave 102 in 64 minutes. It counts waves beaten now.
- A scene can now be switched into open PvP, or back out of it, while the shard is running. Switching a scene out of PvP reaches everyone standing in it within about a minute. Switching one into PvP waits until a player next loads the scene, so nobody becomes attackable mid-fight without a loading screen and the usual PvP zone warning.
- The shard-wide experience multiplier was only reaching crafting and farming experience. Kill experience paid the normal rate the whole time, so turning the multiplier up looked like it did nothing. It now scales adventuring experience as well. At the normal setting of 1 nothing about experience changes.
Tools
- Balance numbers can now be changed for the whole shard while it runs. A dev-only Live Tunables page on the portal lists each number with its shipped default, the allowed range and the value in force; a save becomes a new version, every game server picks it up within a minute and hands it to every scene and every client, no build, patch or restart. The page shows which servers have applied which version and keeps a note with every save. The first knobs are the Vigor rates and penalties (drain time, town and bard refill, the fighting grace window, the free band, the two penalty shares, the Melody of Mending parity level); adding another is one line in the shared registry.
- The Live Tunables page grew from eight knobs to fifty, in eight groups: Vigor; control point escalation (first escalated wave, the knee, the slopes, bodies per wave, the ceilings); Bard Inspiration (watch conversion rate, venue multiplier, patron cooldown, the Inspired percent and the rest); town sieges (the Cabalist power multipliers, the player-town quota, sieges per region, the liberated-town cooldown); experience, including an always-on event multiplier that makes a double-XP weekend one save instead of a settings edit and a restart; world celebration defaults and cooldown; the consumable potency floor; and fourteen client combat-feel numbers (regen in and out of combat, drop-combat time, target distance, fizzle, the combo multipliers) that the client writes into its loaded tweak values. A save can now carry an expiry, after which the shard runs the defaults again on its own. Every default is the number the code already carried, so nothing changes until somebody saves.
- A day of chaos logs was about 1,100 warnings hiding roughly thirty real faults. Six of the loudest lines turned out to be instrumentation or guards refusing things correctly: asset load deferrals, behaviour tree caching, decoration processing that went over budget without hitching, a send queue crossing the same threshold over and over, and the experience cap holding while a tester grants themselves experience. Nothing was deleted, all of it moved off the warning channel.
- The morning routine records how far each of its three inbound streams has been read, and the server-log cursor was coming back five hours ahead of the window it actually covered. Unzoned timestamps were being treated as local and converted, which is the one mistake the two cursors are named separately to prevent. The resume cursor the collector actually reads was always correct, so no window was ever misread.
- The editor test suite compiles again. Three cloth fences had landed with a line break inside a string and a type name that resolved to their own namespace, which took the whole editor assembly down and blocked every test run in the project.
- The Live Tunables page grew a Scene rules table for those overrides: pick a scene, set PvP on or off, save. Only the scenes actually set are stored and sent out. One flag per scene would have added about 30 KB to the property update every client reads on every zone change, across all 868 scenes, so the overrides ride as a sparse list and the registry itself grew by a single key, the off-switch.
- Two control point knobs added last week, the clear backstop multiplier and the minimum seconds per cleared wave, had never been mirrored into the catalog behind the Live Tunables page, so neither was reachable there and the drift test guarding the pair was failing. Both rows are in place now.
Docs
- The Shield program's roadmap row caught up with what has actually shipped: six of its seven filed defects are fixed and only the front-arc question is still open. The plan document gained a Shipped section recording what the block chance fix changed and why the roll itself was left alone.
- The new Block and Parry hover text on the character sheet is now translatable. Nine strings had shipped English-only because the string harvester had been failing on two lines added for the skill-capped pet tooltip that started with a space, and one bad string stops the harvest for the whole project. The separator moved outside the translated text and the tooltip reads exactly as before.
- Shield Smash was on the list as promising a knockback it did not have. It does have one. The effect sits in a separate piece of the skill that does not show up when you read the skill data on its own, which is how three separate readings all concluded the tooltip was lying. The wording stayed, and a test now holds the two together.
Pets
- A pet that will not come out in a shardfall now says why. Summoning counts as an adventuring skill, so a scene that caps skills holds it down with everything else, and a tier 12 or tier 15 pet asks for 120 to 150 against a cap of 100. The refusal is deliberate and stays. What changed is that it used to happen in silence: the pet was simply absent on arrival, calling it by hand said you were not experienced enough when you were, and the necklace tooltip reddened the required level without ever showing yours. All three now name both numbers. Reported by inuphet, who narrowed it himself by comparing Grunvald Shardfall, Quel Shardfall and Opalis Ruins.
World
- Every scene that caps your level or your skills now says so, and says it from the numbers the game enforces rather than from text typed in per scene. Opalis Ruins holds you to level 80, the strictest cap in the game, and had never mentioned it. Quel Shardfall and Paladis Shardfall both advertised a skill cap they do not have; they cap level only. Five hand-written scene descriptions were replaced with the generated one, and a test now fails on any capped scene that would ship without a notice.
Bugs
- The frost giant in Jotungrund made no sound at all. Its sound set asks for a bone named for the troll rig it was borrowed from, and the giant's skeleton names that bone differently, so all four of its audio sources failed to attach rather than one clip going missing. Same fault the lich and the horse had last week, and the same fix.
- Every cell door in The Clink stopped synchronising, so two players in the same prison did not see the same doors open. A door registers for shared state as it starts up and only had two frames to do it; the scene brings its cellblocks up in stages, so twelve doors were still on their way when the wait ran out and were written off for the session. The wait now stretches while objects can still arrive, and stops at two seconds so something genuinely missing is still reported.
- A roving overworld encounter could throw partway through and take the rest of that frame's creature behaviour with it, which is why the reports arrived in bursts rather than singly. Four values on that path were read without checking they were there. All four are checked now, and each says which one was missing instead of leaving a bare error.
- The control point escalation work added a wave counter to the character stats without telling the display code about it, so anything walking the stat list threw an exception. It is internal bookkeeping, so it is now hidden the same way the siege power meter is. The test that guards this had been in place the whole time and would have caught it the day it landed.
- Gloves worn under the Cabalist Robe drew two pairs of hands, one inside the other, and bare skin showed through the gloves. The robe carries its own copy of the bare hands, which it needs because the Cabalists who wear it have no body beyond their costume, but it was never set to hide the glove slot, so both pairs drew. It hides that slot now, and the gloves come back when the robe comes off. The Ladies' Riding Chest Armor carried the same duplicate pair and no longer does.
Images
Unity 6 migration
- Capes and cloaks were rigid on the Unity 6.5 client while the same content behaved on live. The cause sat in the mesh importer: the upgrade turned on vertex reordering for every cloth garment, and the cloth constraint list is keyed by that order, so the painted values landed on the wrong particles and pinned parts of every garment to the skin, hem included. The fix turns vertex reordering off for the 82 affected garment meshes and re-sorts the constraint lists of 102 prefabs back onto their authored particles, using a throwaway 2018 project as the reference for where each value belonged. The painted collar-to-hem gradient now measures 0.93 to 0.99 correlation on the capes where the scrambled state measured near zero, and a test-scene cape falls 0.38 m in a settle drop where it managed 0.03 m before.
- Three more worn-cloth defects went with it: most male cape items listed no collision bones so an equipped cape sank through the legs (a fallback now supplies the leg and torso capsules), the cloth solver ran a single iteration per physics step under the 60 Hz tick (it now runs 120 per second), and a fitted piece whose root bone is not among its skinning bones now resolves it by name. Fences pin the constraint geography of 149 garments and keep vertex reordering off any mesh the cloth system references.
Balance
- Reshaped the Taming skill tree: Pet Range now hangs under Pet Speed Training and Pet Taunting Training under Pet Strength Training, each needing its parent at level 40. Summoning carries four skills under it instead of six.
- The effect, experience cost and cooldown of both skills are unchanged, and characters who already learned them keep them at the level they had. Pet Range sitting two steps deeper reverses an August 9 change that promoted it; the untrained tether distance stays 15m, so only raising the tether past that floor got more expensive.
User Interface
- Control point leaderboards are in the game window, not just on the web page. Two boards: the deepest wave each player has reached, and a run-by-run list with the party that held it.
Client Performance
- Put the texture memory budget back to a 4096MB ceiling on every graphics card. Cards with more than about 10 GB of video memory had been allowed up to 8192MB since 08-20, and an RTX 3080 goes from 5025MB back to 4096MB, an RTX 4070 from 6005MB, a 16 GB card from 8188MB and a 24 GB card from 8192MB. Nothing at or below the 8 GB minimum spec moved in either direction: a spec card still gets 3840MB, the same figure it had before the raise and after it.
- Three pieces of the August 20 change stayed, because none of them is what spent the memory: the half-card guard that stops the sizing rule outrunning the card, the separate ceiling for shared-memory parts, and the fix for a budget that ratcheted upward every time the quality level changed. The ratchet is still a real bug at the lower ceiling, since a preset whose own budget is 512MB would otherwise climb to 1024, then 2048, then 4096 across a few quality changes.
2026-08-24 · 117 items
The New Britannia Herald
The bestiary woke up, and then it learned to run away
Headlines
- Creatures react four times faster. The heartbeat they think on ran at half a second while almost every creature in the game was set up for an eighth of a second, and the sense-thinning tiers built on top of it had never once thinned anything.
- Creatures that shrugged off your attacks pick themselves up and try again. A creature that cannot work out a route to you stops taking your damage for a couple of seconds, the grace period that was meant to come first never ran, and the usual cause was the creature having lost its own footing rather than where you were standing.
- Offline difficulty. Single player offline play can now be set to Easy, Medium, Hard, Challenging or Impossible, scaling hostile creature levels from 50% to 150%. Hard is the default and plays exactly as before.
- Wounded animals and humanoid enemies break off and run instead of fighting to the death, and re-decide as the fight goes. Seven creatures in the whole game could run before today; about 720 can now.
- Creatures use their area attacks against a group. Trolls pound the ground, lich fighters whirlwind, shadow wolves blast, dragons sweep their tails. Before today the check that decided this reached no creature in the game.
- Creatures that cast a spell now show a cast bar under their name, with the spell written on it. Spells only, so it stays worth reading, and stunning a caster visibly breaks it.
- Creature spells can now be interrupted by hitting the caster hard enough. One hit taking off more than 6 percent of its health stops the spell, Crushing Blow and Body Slam count double, and a caster gets five seconds before it can be interrupted again.
- A Gear Enhancement Reference went up on the tester site. Pick a sword or a helm and see every masterwork bonus, gem socket, enchantment and pattern it can take, with the skill bands, the chance weights, and a CSV of the whole thing.
- Control points fight back. Eastreach Gap keeps sending waves past the eighth instead of repeating it forever, each one bigger and stronger, until the creatures reclaim the flag. Deep runs are recorded and ranked, and losing one at wave 11 or deeper is announced to the shard.
- Battle Fatigue is in: fighting with weapons drawn wears your character down, towns and bards restore them, and a new Vigor bar under health and focus shows where you stand
- Vigor retuned the same evening it shipped: an hour to empty, drains only while a fight is actually on, and bards see the party bar.
- Wine crate and wine press are now craftable Carpentry decorations
Client
- Satyrs stood around in their unposed skeleton instead of an idle animation, arms held out to the sides, twitching through a fidget and dropping straight back. Their standing idle and their other calm poses (talking, nodding, gazing, reading, selling, holding a weapon, sitting, lying down, casting) now play properly. Eris, the Master Chaos Magic Trainer in Etceter, was the clearest case.
- The fur trim on the wealthy merchant coat stayed bright indoors while the coat under it went dark, because the trim was being drawn without shadows. It now takes light and shadow the same way the rest of the coat does, on guild registrars, town merchants, player vendors, the New You beauticians and the two quest merchants that wear the same coat.
- The four stone columns at the ruins elevator in Sequana Colossus were drawn from a texture that imported at 512 pixels while the ruined walls beside them imported at 1024, so the columns read as soft where everything around them read as sharp. Measured at the spot the report came from, the columns resolved to 51 texels per metre against 87 for the wall a metre behind them; they now sit at about 103.
- Built the session-host client mode: a -simhost flag that matchmakes into the instance players actually use instead of a private room, runs without cheats, and can no longer evict itself for being AFK or capped at 10 fps. Also fixed the time-dilation trap (the engine allowed a slow frame to silently slow game time, because two limits happened to be the same number), one of the two headless boot crashes, and a name-collision hang in automatic character creation.
- The session-host client can now log in with a signing key instead of a password: a new key lane answers the login challenge with an RSA signature, and the account id derives from the host name itself, so a fleet slot keeps its account and character across restarts with no stored state. Password login stays as the fallback.
- The individual soil squares on the six Ornate Elven and Ornate Viking planting beds can be used again. Their body collision reached above the soil line and took the cursor before the planting spot underneath it, so hovering a square showed no green marker and a single seed could not be sown, watered or harvested, while batch planting into the same bed kept working. The Small Planting Bed had the same fault with a 3mm margin and is fixed alongside them. Reported by Traveller13.
- Fog can now be made to stop at the door of a house. Outdoor fog is there to hide the far horizon, and a room has no horizon, so walking indoors fills the room with the same haze hanging over the street outside. A lot owner can now turn on Thin Indoor Fog for their lot: walking inside pushes the fog out to 2.5 times its normal distance over two seconds, and it returns in 0.35 seconds when you step back out. The fog is pushed back rather than switched off, so an open door or a window still shows the weather.
- The option is off on every lot until the owner asks for it. It is a checkbox in the lot options window, beside Block Doors and Guild Chapter House, and a co-owner can set it too. The setting belongs to the lot, so everyone who walks in sees it. It cannot be changed while the lot is listed for sale, and a lot that changes hands starts off again. Houses and lot buildings only: caves, dungeons, tunnels and the undersides of bridges keep the fog they were built with.
- Scene fog is owned end to end by the Time of Day sky, which rewrites all five fog values every frame, so the push-back had to go inside that rewrite rather than sit on top of it. Outdoors the multiplier is exactly 1 and the write is skipped, which leaves the 350 scenes that carry fog rendering as they did before. Four tester dials cover the distance, the two fade times and an off switch.
- Blacksmith crafting stations no longer run their bellows sound around the clock. A placed station used to start the bellows loop at scene load and never stop it, which was hard to live with in a house or basement. The bellows now starts when you step up to work at the station and stops when you leave, matching the forge fire and spark effects that already worked that way. The fire crackle at the station is unchanged.
- The small storm cloud that hangs overhead in Quel Shardfall and fires focus-draining lightning now draws at full resolution instead of reading as large blurred blocks with a hard stepped bottom edge. The cloud art is built from particles, which give the texture detail system nothing to size itself from, so it had settled on a reduced size and stayed there at every distance. Two earlier passes at this report adjusted the sky cloud bank by mistake, which is why nothing changed on screen either time. Reported by Garfunkel Humperdinck.
Community
- Filed a forum bug report to the tracker: an NPC placed under a Small Wooden Awning in Owl's Head snaps outside the awning's footprint instead of staying underneath it (reported by Retlaw).
Combat
- A slow left on a creature by a summoned Ice Elemental used to weaken as soon as the elemental was dismissed or killed, while its icon carried on counting the full ten seconds down. The slow now holds the strength it landed with for its whole duration whether or not the elemental is still out.
- Control points no longer stop getting harder. Eastreach Gap used to run eight waves and then repeat the eighth forever with the same ten creatures, so a group that could hold wave 8 could hold it all night. The waves now keep counting, and each one past the eighth brings more creatures and stronger ones until the creatures take the flag back.
- The escalation runs off one curve. By wave 16 a control point fields two creatures at every spawn point, forty levels higher, a quarter faster and a quarter larger, with a hundred more strength, dexterity and intelligence. By wave 24 it is three per spawn point at eighty levels, half again the speed and size, and two hundred more of each attribute. Past wave 24 the climb doubles, and every number has a ceiling so a scene holding sixteen players stays playable.
- The capture meter now shows which wave you are on. The wave number existed only in a Photon room property and a log line before this, so nobody in the fight could see how far they had got.
- Losing a control point at wave 11 or deeper is announced to the whole shard. The line names the place, the wave and how long the group held it, and it names no players.
- Battle Fatigue, server half: a per-character meter that fills over thirty minutes of fighting with weapons drawn and empties in town (fifteen minutes from full), faster while watching a bard perform, and anywhere a party bard plays Melody of Mending, which now repairs it at a rate set by the bard's skill in the song: at level 100 it cancels the buildup outright. Persists across logout; no buildup in PvP scenes. Nothing shows in the client yet; the Vigor bar and the regeneration and critical-hit penalties are next.
- Battle Fatigue penalties on the client: at a full meter the local player's health and focus regeneration and their critical-hit chance are halved, in a straight line from an empty meter. Only positive regeneration is slowed (a drain stays a drain), and pets and creatures are untouched. The character sheet's critical-hit readouts ran their own copies of the roll's formulas, one of them with a literal skill level the roll never used; they now call the same functions the roll does, penalty included, so the printed rate is the rate the next swing uses.
- Healing debuffs now show their work. Potions already took the same healing cut as spells under Rend, Skewer, Death Shield and the rest, but the combat log printed only the final number and the character sheet had no row for it, so testers read a 5 to 15 percent reduction on a potion as no reduction. A reduced heal now ends its combat log line with "Healing was reduced by N% from a healing debuff", the character and pet sheets gain a Healing Received row under Health Regen, and the four inline copies of the multiplier collapsed into one helper with a fence test that also pins every healing potion to the reduced path. Tester task #5877.
- The Vigor bar: a third, gold bar under health and focus on your own status frame, full when rested and draining as Battle Fatigue builds. Its digits show under the existing Show Health and Focus Stats option, and hovering it names the figure, what it is costing you right now and how to get it back. Only your own frame draws it. The pet frame moved down 22 pixels to make room, and existing characters who never moved theirs are carried along. Not on chaos yet; tester task #5874 is filed.
- Battle Fatigue retuned off the first hour of chaos reports. The Vigor bar now takes an hour of fighting to empty, not thirty minutes, and it only drains while a fight is actually happening: weapons drawn with nothing landing (no hit taken, no hit dealt, no hostile skill fired in the last twenty seconds) no longer counts, so walking a dungeon between fights costs nothing. The bar hover now always says what low Vigor costs (health and focus regeneration and critical hit chance slow, down to half at empty) instead of only once the penalty was already being paid, and Melody of Mending description names the hour. Town and bard recovery rates are unchanged. Testers measured about fifteen seconds per point with weapons out and "standing there or fighting did not seem to matter"; those numbers matched the shipped constants exactly, so this is tuning, not a bug fix.
Housing
- A decoration NPC placed under a Small Wooden Awning now stays there. The awning used to block the ground under its own roof for anything that walks, so the NPC was pushed out to one side of it. Reported by Retlaw. One side effect: characters may now cross the awning's support posts in a straight line rather than walking around them.
- The lot option rides the same machinery as the other four per-lot flags: a field on the plot record, an owner-gated request the server checks before it writes, and publication to everyone in the scene. The obvious shortcut was the existing per-lot options bag, which already reaches the client. That one replaces the bag wholesale and sends the lot decorations to the bank on every write, which is right for the change-house pane it was built for and would have emptied a house into storage every time someone ticked a fog box.
- Dropping a decoration onto a lot before its item had finished loading did nothing and left the item on the cursor (five silent retries in sixteen seconds on build 145). It now goes back to your inventory with a chat line saying it is not ready yet. Fix 1f9d10c13d.
UI
- Repairing an item at a crafting station now says which repair kit was spent and how much durability came back, for example "Successfully repaired the item (Iron Sword) with (Blacksmithing Repair Kit), restoring 12 points of durability." The line used to name the item and nothing else. The amount is measured off the item after the repair, so a kit spent on an almost full item reports the smaller number that landed.
- The dungeon entrance now counts the foyer as a room. The room count on the entrance tooltip and in the Dungeon window used to leave it out while the Rooms tab of the dungeon builder counted it, so the two never agreed and Total pieces read one short; a dungeon holding only its foyer now reads as 1 room instead of showing no count at all.
- The two filter drop downs on the Dungeon Builder Build tab opened with a horizontal scroll bar and cut their entries off mid word, so a material set read as "Icy Ancient St". Both now open wide enough for their longest entry, and no drop down menu in the game can grow a horizontal scroll bar any more: an entry too long for its menu wraps onto a second line.
- Two switches turn the creature cast bar off independently: Show Creature Cast Bars in Options under Interface, and a tester dial. The row of effect icons under a creature name steps down while a bar is up and returns afterwards.
- The dark outline behind overhead names, titles, guild names, chat bubbles, vendor signs and overworld labels is wider and harder-edged. It shipped as a soft fade (dilate 0.25, softness 0.5) that thinned to nothing on 1440p and 4K screens; it is now dilate 0.5, softness 0.25, so each letter carries a solid dark rim while the coloured face stays untouched. Commit 756b0f4ef5, tester task #5873.
- A pinned character sheet now stays open when you change scenes. The pin rule already left it open, but the window itself was torn down by the scene load and the hotkey then refused to reopen it until a relog. Requested by Traveller13. Pet and inspect sheets get the same treatment; an unpinned sheet still closes on zoning.
- Dragging the health, pet or target frame around the screen no longer picks up the decoration sitting behind it. The frames now stop the click reaching the world across the whole frame, so moving one moves only that frame.
- The cast bar under a casting creature now shows the spell name. It had been printing a raw internal identifier in question marks for almost every creature spell in the game, which players met most often on the elf mages in the Obsidian Panopticon.
- Friendly NPC names above the head are grey again. They were tinted a warm cream a few weeks ago to make them easier to read, which did not help; the dark halo added behind overhead text since then is what made them readable, so the tint is out and the halo stays. The target frame at the top of the screen matches.
- Fixed your own overhead nameplate drifting further and further above your head as the camera zoomed in, until at full zoom-in it could leave the top of the window. The game was measuring how tall your character is from the wrong reference point, so the answer depended on which gear you had on and could be off by up to a metre. The same wrong measurement is why putting a tall hat or helmet on never moved the plate, since helmets measured lower than body armour did.
- Skills left on Maintain by older saves no longer show the specialization warning in their tooltip. Ordinary skills cannot be set to Maintain any more, so that line named a rule they could not act on; they now read that the skill gains no experience and that setting it to train starts it again. Specializations set to Maintain keep the original wording.
- The Vendor Listings in Zone window left the Vendor Name column empty on some rows. It was reading a list of the zone's vendors that only gets rebuilt once a day, so a vendor renamed today, and a vendor nobody had named, had nothing to show. The window now asks the vendor standing in the zone what it is called, the same name you read over its head, and a vendor with no name at all shows "Vendor" rather than an empty cell.
- Chaos Bomb's skill tooltip lists the radius of its blast. The line was only being printed when the skill's main effect had text of its own to show, and Chaos Bomb's main effect prints nothing; the radius is now read separately. Corpse Explosion gains a radius line for the same reason.
- Closing the Options window in the middle of dragging a slider no longer leaves that slider holding your mouse. Reopening Options, the slider used to follow every mouse movement with no button held, clicking would not let go of it, and logging out was the only way to get the pointer back. The release was being done after the window had already come down, when there was no longer anything to release; it now happens while the window is still up. Covers every slider in the window, including UI Scale and Hotbar Size, the audio volumes, the camera sensitivities, window opacity and the video sliders.
- The panel that slides out beside a tracked skill when it changes level was cutting the top off "Level Up!" and the bottom off the "Level N" line under it. Both lines now reserve the space the font actually asks for, so they draw in full inside the panel at any UI scale, at the same size and weight they gained earlier this month.
Creatures
- A creature's awareness radius was doing two jobs at once: how far away it can notice you, and how much of the scene it sweeps and remembers once a second for its senses to read. The spatial search rounds a radius up to the next fixed band, so a creature set to notice you at 32 metres was holding on to everything within 60, and the handful set to 128 metres were holding the whole scene. Those are now two separate numbers, and the second sweep, the one over scenery and obstacles, is capped at 30 metres rather than at noticing range. Nothing changed about what a creature notices or how far it will chase.
- Creatures that call for help, heal an ally or buff an ally were having that reach cut short by their own aggro range, so a caster hanging back from a fight could be skipped. Those senses now reach as far as they were set up to reach.
- Creatures now make up their minds four times more often. A creature re-reads what is around it on a fixed heartbeat, and for almost the whole bestiary that heartbeat ran twice a second even though the creature was set up to run eight times a second. It now runs at the rate it was set up for, so creatures notice you, turn onto a new target, and react to a death or a stun up to a third of a second sooner. Town NPCs, creatures set up to be slow on purpose, and pets that already ran fast keep exactly the timing they had.
- The three-tier system that runs cheap creature senses often and expensive ones rarely had never done anything on 1,995 of the shipping creatures: all three tiers were set faster than the heartbeat they had to wait for, so every sense ran on every beat. With the heartbeat at the rate the creatures ask for, the tiers separate for the first time, at 0.125, 0.25 and 0.375 seconds. Testers can put the whole roster back on the old half-second heartbeat with the Thinking interval dial under Creatures in
/tweak. - Every time a creature worked out who the biggest threat near it was, it built a fresh list of small objects and threw it away in the same frame, up to sixteen of them, eight times a second on the 1,226 creatures that think at that rate. That was around 160 objects a second per fighting creature for the garbage collector to clear up, which is part of what shows as a stutter in a crowded fight. The list is now built once per creature and refilled in place, and nothing about who a creature attacks changed.
- A creature chooses its target from whatever is tied at the top of its threat list, skipping anything it has already worked out it cannot reach, then picks at random between what is left. That random pick was being counted against the wrong list, so when an unreachable creature sat above the tie the choice could land on the thing that had just been ruled out. The two lists line up in every other arrangement, which is why this went unnoticed for so long. No player-visible behavior was affected: the value it feeds is read in two places, both of them the developer AI overlay, and a creature's real target is picked on a separate path. The overlay was naming the wrong creature, including in the stuck-creature case it exists to help diagnose. The choice now sits in a piece of its own with twelve tests around it.
- A creature chasing you worked out a whole new route through the world about ten times a second, because the check for whether its target had moved counted a millimetre as a move. A creature whose footing kept slipping on scenery asked for one on every single frame. Routes are now worked out when the destination has really drifted or the last one is half a second old, and being pushed back onto walkable ground asks at most twice a second. Where creatures go and how fast they get there is unchanged. Working out a route is the most expensive thing a creature does, and in almost every scene the whole scene shares one millisecond a frame to do it in.
- Asking whether a creature can reach you searches the scene ground mesh three times over, and creatures were asking on every think plus once more for every name on their threat list. That answer is now remembered for a quarter of a second, which is still fresher than it was worked out before creatures started thinking four times faster earlier today. Who a creature picks and how far it can notice you are unchanged.
- Creatures you could not hurt. When a creature cannot work out how to reach you it stops taking your damage for two and a half seconds and your attacks report "out of reach, dealing no damage". A grace period was supposed to come first, but the timer it was measured against was never started, so the very first failure was enough. The usual cause is not where you are standing; it is the creature having lost its footing on the ground mesh. It now re-seats itself and looks again before it gives up on you. The number of routes a scene works out per second is also counted for the first time, readable in game with /verbose path.
- Wounded animals and humanoid enemies now break off and run instead of standing and dying. Animals turn tail at about a fifth of their health and human, elf and kobold enemies at about a sixth, and on top of that a creature rolls its nerve as it passes half and quarter health, so it can break early. Before this, seven creatures in the whole game could run: five wolves, a fox and two wrasses.
- The undead, elementals, mechanical creatures, plants, slimes, mimics, demons, obsidian creatures, dragons and trolls keep fighting to the end, and so does anything corrupted into one of those: an obsidian bear and an undead soldier both stand their ground. A creature that does run covers about fifteen metres and turns back, and it stays inside the area it guards.
- The flee thresholds come from the creature type rather than from a number written onto every prefab, so the table can be widened, narrowed or switched off from the tweak panel without a build. Anything a designer set by hand still wins. The nightly creature report now shows the threshold each creature actually runs on rather than the one its prefab stores, and counts a creature as able to flee only if it also has room to run.
- Two things turned up while wiring this. The 123 tamed pets set up to flee at fifteen percent health never could: the sense that picks something to run from refuses to run for a pet at all, so those settings have never done anything. And the fight-or-flight decision could not be re-rolled where it was stored, because any hit reset every entry in the threat list back to attack, so a creature that broke would have turned and fought again on the next blow.
- Wounded creatures get angrier now. Dragons enrage below a third of their health, stopping for a one second cast and coming back with a hundred more Strength, Dexterity and Intelligence for the next minute; their fire breath at half health is unchanged, so a dragon fight has two escalations instead of one. Trolls could already enrage at half health but the game only noticed when something unrelated happened to the troll, so it arrived late or never; it follows their health as the fight goes now.
- A creature that found you out of reach at the wrong moment could permanently lose whichever ability it saves for low health. The list it picks that ability from was built once, filtered for whatever the creature was doing at the time, and never rebuilt.
- A creature holding several attacks scores each one on how well it suits the distance you are standing at. That score was measured from the wrong place: it compared against half the attack's range span rather than the middle of it, which is only the same number when the attack has no minimum range. On 1,210 of 2,656 creature and attack pairs it disagreed with the distance the creature had just been sent to walk to, so the attack it had repositioned for was the one marked down. The score also divided by how far the creature can see, which rated the same attack differently on a rat and a dragon. It now measures against the attack's own reach, from the same ideal distance the movement code uses, so the two cannot drift apart again.
- Most of the bestiary is unaffected by that change, because melee attacks share one weapon reach and therefore one ideal distance, so they scored the same before and after. The 337 creatures carrying attacks with genuinely different reaches now favour the right one, and by enough that the choice is no longer settled by the coin flip the scorer hands one random attack every pass. creatures.ability.rangeFit turns it off. The nightly creature bake also gained the near edge of every attack's range, which had never been measured and is why this went unnoticed.
- Creatures that carry an attack covering an area now use it when more than one of you is standing in the blast. They never had: the scorer only considered an attack marked as an area attack by hand, eight abilities in the whole project carry that mark, and none of them sits on a creature that could reach the check.
- Whether an attack covers an area is now read from what the ability does, which reaches 402 creatures across 72 abilities: troll ground pounds, lich whirlwinds and area spells, dragon tail bashes and wing gusts, kobold grenades, the big cat roars. Tamed pets follow the same rule.
- The count of how many people an area attack would catch was measured against the wrong thing as well, comparing how far away they were standing against the range the creature likes to fight at rather than against the size of the blast. A fireball with a five metre burst was counting everyone within thirty metres.
creatures.aoe.enabledturns the whole thing off, with the strength and the ceiling on their own dials. - A creature casting a spell now shows a cast bar under its floating name, with the spell written on it. Before this the only cast bar in the game was your own, so a two and a half second wind-up and an ordinary swing arrived with the same warning.
- The bar is for spells only, never melee swings, which is what keeps it rare enough to read. It reaches 363 of the 1,227 live creatures: elves, humans, liches, skeletons, trolls, elementals, satyrs, zombies and kobolds carry most of them.
- Breaking a cast now looks like something. Stun a caster part way through and the bar turns red and stops instead of filling, which is the first time that counterplay has been visible.
- It needed nothing new on the network. A creature announces which spell it is starting before it waits out the wind-up, so every machine in the scene already knew the spell, its length and when it lands. The plan had priced the spell name as a networking change and it was already there.
- A creature winding up an attack that covers an area now marks the ground it is about to hit, from the moment it starts until the blast lands. The ring is the size of the real blast and it follows the creature, so stepping out of it works. It covers 87 creature abilities. A Show Creature Area Attacks option in Interface settings turns it off.
- The warning counts the wind-up plus the attack's own delay before the damage lands. Only 18 area attacks in the game have a wind-up at all, and counting both is what takes the ring to 87. A troll ground pound has no wind-up and still gives 1.2 seconds of warning.
- Stunning or knocking down a creature while its ring is up drops the ring instead of letting it run to a blast that is never coming. That is the first time interrupting a creature has been visible.
- Hitting a creature hard enough while it is casting now stops the spell. Until today the only ways to interrupt one were killing it, stunning it, mesmerising it or knocking it down, so a player watching a two-and-a-half-second wind-up could only get out of the way. The bar is one hit taking off more than 6 percent of that creature's health, so it works the same on a rat and on a dragon with no per-creature setting.
- Which attacks are good at interrupting was already in the ability data and had never been read. Crushing Blow, Body Slam, Blinding Shot and the knockdown and stun attacks count double, so they clear the bar on half the damage a plain swing needs. Fire arrows, meteor showers and burning fields count for nothing and can never interrupt anything.
- A creature that has just lost a spell gets five seconds before it can lose another, which is what keeps a caster dangerous when a group is on it. Interrupts only apply to spells with a wind-up: 78 creature abilities, 73 of which already draw the cast bar that shipped this morning, so the spell being stopped is one you could see coming. Damage over time ticks do not count. Four tester dials cover the threshold, the gap, the tick rule and an off switch.
- Thirty-six creatures in the game made no sound at all. No cue when they noticed you, no attack sound, no death cry. Between them they stand at 813 spawn points, and all thirty-six now have a voice.
- The silent list was the whole Underdweller family, every mushroom, five spiders including the red spider queen, the doe, the tamed doe, the offering reindeer and one Ebon Dawn miniboss. Nothing new had to be recorded: each of them had a sound set already in the game that its own skeleton could carry.
- The doe was the largest of them at 301 spawn points, the deer a new player meets first. It shares a skeleton with the stag, so it picked up eleven authored sounds in a single edit.
- Five sound sets named after the Underdwellers already existed, were used by nothing, and were copies of the human one asking for a bone only the elf and human Underdweller skeletons have. Wiring those would have given a troll a human voice through a sound set that could not attach to it, so each Underdweller went to its own species instead.
- Mushrooms were the only family with nothing that fit. They now use the carnivorous plant sounds refitted to the mushroom skeleton and pitched up, which keeps a mushroom from being mistaken for a flesh flayer.
Tools
- The nightly creature audit now records how a creature behaves, not only what its stats are: the behavior flags it carries, the behavior tree and any per-family combat subtree bound onto it, whether it can flee or enrage and whether those numbers come from a shared stats asset or from the prefab itself, and which sounds it can actually play.
- Each creature ability is now recorded with whether it has a wind-up, whether it plays a charge effect, and which animation it drives. Those three are what a telegraph would be built out of, and they had never been counted.
- Added a coverage summary across the whole bestiary: how many creatures can flee, how many can enrage, how many make no sound at all, and how many carry no behavior beyond attacking. The creature page grew matching columns and filters, so those lists are one click rather than a prefab sweep.
- First numbers out of it, over the 1,227 wild creatures that ship in normal scenes: seven have a health threshold that lets them break off and run, twelve can enrage, 35 can play no sound at all, and 324 carry no behavior beyond attacking. 189 run on a shared stats asset and 1,038 on their own prefab fields, which is most of why the enrage threshold reaches so little of the roster.
- The same pass settled an old question about enrage. It was recorded as reaching six creatures; six is the number of shared stats assets that set a threshold, and those assets are carried by eleven trolls and the Wrasse Broodmother. Asset counts and creature counts had been used interchangeably.
- It also turned up that running away is not an untested branch at all. Of the 177 tamed pets, 123 carry a flee threshold, against seven wild creatures. Players have been watching their own pets break off for years; it is the wild bestiary that never had the numbers filled in.
- Fixed two things in the crafting catalog generator that building the reference page turned up. Unity folds a long localized name across lines, so the exporter had been missing them and falling back to asset file names: the gem catalog read ItemComponent_GemCut_Amethyst where the game says Lunaism Gem, and every obsidian weapon read as its plain base name. The crafting station field is also a bitmask, so the 966 patterns usable at both the smithy and the tailoring table had been printing as 3072.
- The catchphrase service deploy keeps the limits it says it keeps. Its heredoc truncated the settings file before reading the old values back, so every hand-tuned budget was silently restored to its default on each deploy, which is the opposite of what the code was written to do. The deploy now prints the limits it carries forward.
Server
- The master-client election can now prefer a dedicated simulating host over players and bots, behind a new SimMasterMode server setting staged Off, Prefer, Takeover. It ships Off, and with Off the election is unchanged; a new 7-test suite pins that equivalence against the legacy algorithm.
- Repaired the server test project build: a test archetype stub was missing the three deco-scale contract members added with the deco resize work, which had broken compilation of the whole suite.
- Ran the first headless Linux client session against the test shard and measured it: with no graphics device it reaches the world and holds a flat 5.1 GB and about a quarter of a core at its 10 fps cap, against 6.7 GB when rendering to a headless GPU. Clean shutdown took 21.5 seconds; an old report of the headless mode hanging at the menu turned out to be a server-side account bug, now filed.
- Fixed a login-session bug that could leave a player stuck on the loading screen after creating a character or switching to a different one. The server held the account's recorded character choice from login and never looked at it again, so once that copy went out of step every attempt to enter the world in that session failed and only restarting the client got through. The join now re-reads the stored choice when the one it holds no longer names a character.
- The hosted-session build will ship with every texture capped at 32 pixels: the process never renders, and the run that measured it showed 1.76 GB of texture data sitting in memory anyway. Checked before adopting it: the scene checksum that matches players into sessions hashes only spawner identity, and nothing in the simulation reads texture pixels, so the crushed build plays in the same rooms as everyone else.
- The public half of the session-host signing key now ships beside the other server credentials, riding the normal deploy to every shard, so key-based host logins verify wherever the backend runs. The private half stays off the repo entirely.
Docs
- Wrote the program plan for hosted scene masters: running the full game client headless on Linux to hold the master role for game sessions, with the risk register, hardware sizing, and the measurement ladder that has to replace every modeled number. New roadmap epic; scope notes reconcile it with the trap rework and the combat-verification plan.
Gameplay
- Single player offline play now has a difficulty setting: Easy, Medium, Hard, Challenging and Impossible, in a new Offline tab in the Options window. Each tier scales the adventure level of hostile creatures to 50%, 75%, 100%, 125% or 150%. Hard is the default and is exactly how offline has always played.
- A creature's level drives its health, its attributes and the damage of everything it casts, so the effect is bigger than the percentage and grows with the creature. A level 30 creature at Impossible becomes level 45: about 655 maximum health instead of 353, and about 1.46 times the ability damage.
- Rewards do not move with it. 163 creature prefabs work out their kill experience from level, so the difficulty levels are now held out of that one calculation. Loot and skinning never used level. Pets, summons, companions and non-hostile characters are left alone, and the setting takes hold on the next area load rather than re-levelling a fight in progress.
- The setting is gated twice over. The Offline tab is absent when you are logged in to a shard, and the multiplier is not read at all outside offline mode whatever the stored value says. Creature levels are worked out on the client, so the second gate is the one that matters.
Build health
- The build pipeline gained a -chaosMaxTex flag that caps every texture in an artifact at 64 pixels and up, for headless builds that never render. The cap is reasserted and reset around every command-line build so it cannot leak into a player build.
Crafting
- Added a Gear Enhancement Reference to the tester site at
/tester/gear/. Pick the kind of item you are holding, a two-handed blade or a plate helm, and it lists the masterwork bonuses that piece can roll, the enchantments each gem element unlocks for it, and the patterns that fit, with the skill band and the chance weight on every row. - The same page carries the parts that are not per-item: all 149 gem and jewel cuts with the element each one sets and the bonus it grants, the twelve recipes that apply an enhancement with their ingredients, the five-slot success ladder and the proficiency curve behind it, and the repair and salvage numbers. A search box finds any bonus by name, by the stat it changes or by element, and says which gear types it can land on.
- A Download the data panel on the same page exports everything as CSV, either the whole reference in one sheet with a section column or a single table at a time. The full file is 3,691 rows and includes the proficiency curve and the success ladder.
- Crafting from lot storage on a lot with hundreds of different item types kept failing and reloading every two seconds, and anything past the 512th item type was never counted. The count list is now sent in pages, so every item type in the marked containers is counted (chaos logs showed one lot at 34.7 KB in a single 32 KB message, 67 failures in one evening). Fix 1f9d10c13d, verify task #5879.
- Added Carpentry recipes for the Simple Wooden Wine Crate (Carpentry 20: 8 boards of any wood, 2 metal bindings, 3 wax) and the Simple Wine Press (Carpentry 40: 16 boards, 6 iron bindings, 2 iron sheets, 5 wax). Both decorations already existed as items but had no recipe. The scrolls sell through the same decoration recipe merchants that carry the Wooden Crate and Wine Cask recipes, and both are discoverable at a carpentry station. Also handed to the live team as a Perforce changelist for the current game.
Images
Catchphrases
- Creating a catchphrase now says why it was refused. Every refusal used to arrive as "That did not work (OperationInvalid)" because the server drops the reason before it reaches the client and the reply had no field to carry it. Running out of the hourly creation allowance, a service-wide budget and an account block each read as themselves now, and the check happens before any cotos are gathered rather than after. Reported by joescorpio.
- Submitting a phrase your character already owns no longer charges for it twice. The price was taken before the save, and the save resolved onto the existing entry without reporting that it had, so a repeat cost full price and added nothing to the list. The phrase is now looked up before the debit, and the window says you already have it.
- A repeated phrase no longer spends one of the hourly creation slots. The allowance was counted before the repeat was recognised, so three tries at the same words cost three of thirty. The chaos hourly allowance also went from 30 to 60; the character budgets that bound the actual bill are unchanged and were 8 percent used when the count limit hit.
- The catchphrase service now records every request it turns down. A refusal on the hourly allowance wrote no service-side line at all, so the only trace was in the shard log. A phrase taken down by a moderator also stopped reporting itself as an account block.
Pets
- A tamed pet or a summon that is fighting now keeps its owner in combat mode. Pets have always followed their owner into combat; the other direction was missing, so a pet on Aggressive could be fighting while its handler stood sheathed with no glyphs usable. While the pet holds a target the weapon stays out and the sheath key refuses; stop attack, Passive stance or a dismiss releases it. Deco pets never trigger it. Tester tweak Pet fight draws your weapon turns it off; /verbose pet reports it. Verify #5868.
Chaos Shard
- Finished control point runs are now written down. The shard records how deep a run got, how long it lasted and who was there, and refuses a report the wave clock says could not have happened. Two leaderboards read off it, ranked on wave with the faster run breaking a tie. Control points had no server side at all before this.
Bard
- Melody of Mending's description now says what it does to Vigor: the party's battle fatigue is worked off at a rate set by the bard's skill in the song, matching what fighting builds at skill 100. The other nine languages are owed a translation pass for it and for the four new Vigor strings.
- Bards can now see other players Vigor. The server sends every player meter to the room the same way current health travels, and a bard client draws it as a third bar on the party rows and the target frame, with a hover in the third person. Two ways in: Bard Specialization (trained to 80 and kept) shows it all the time; any bard, specialised or not, sees it while their Melody of Mending is playing, so the bard repairing the party can watch the repair land. Nobody else sees the bar.
Onboarding
- Scott Jones joins as an artist. He works on a personal branch through GitHub Desktop with three buttons (commit, push, pull) and never merges; Chris folds the branch into the team branch and merges it back so his pull is always a fast-forward. The team branch is now push-protected on the git server with a three-account whitelist, so a mis-click on a personal branch cannot reach it. New docs: getting-started-artist.md, a Gitea account runbook, and the sync ritual in onboarding.md; the one-click setup file takes a branch override.
- The one-click sota-setup.bat now installs Git, Git LFS and PowerShell 7 itself when they are missing (GitHub Desktop too for an artist copy), asks only where the project should go, retries a dropped download up to four times, and then checks every large file came down as real content rather than a pointer stub, using plain git so the check runs even without PowerShell 7.
Content
- At the Paladis Shardfall confluence, the crest foam on the west half of the south waterfall pair was moved two metres east so it sits centred over its own falling water and closes the gap that was still showing at the top of the fall.
- The New Player Handbook now ships the rewritten help chapter. The earlier rewrite only changed the source text, so players kept reading the old version pointing at a help site that no longer answers; the chapter a player opens now tells them to ask in chat or on the official Discord and describes the community wiki as player-run and sometimes unavailable.
Audio
- Added an automated check that holds Vinicius at Blood River Outskirts to a female voice. Her record was corrected in August, and the check now fails if an older copy of that record or of her scene is ever restored over it.