March Builds – Faster Terrain, New Spells, Bug Fixes, QoL Improvements

This article is a bit overdue, it’s for the new Live Builds that dropped on March 03, which in turn is a slightly delayed February build. There’s even another round of March builds coming up with mostly bugfixes, so it’s long past time to write up the change log for early March.

Terrain Performance Enhancements (Hazelnut/Nystul)

This one started in January after Nystul backported some optimisations from his Distant Terrain mod into the default terrain generator. Then Hazelnut added multi-core support for terrain generation so that several computationally heavy tasks could be completed in parallel. That’s a short summary of what was an awesome collaboration with lots of ideas and work being bounced around. And for what turned into almost a complete overhaul of terrain generation, it didn’t cause any major issues, a testament to the skill and dedication of those involved.

Once everything was in place, time to generate each terrain tile dropped roughly in half. This means the world loads more quickly after travel, loading a game, or exiting a dungeon. It’s a huge improvement for overworld explorers and users of Tedious Travel mod (which also received some optimisations around the same time when Hazelnut spotted a timestep issue).

If you use a terrain mod (Distant Terrain, Mountains & Hills), you’ll need to update them for compatibility with March builds.

Sunset screenshot by King of Worms on forums

 

General Rumours (Allofich)

When speaking to NPCs around town, you might hear news of a ruler overthrown, a witch burning, or some other juicy rumour not related to any of your quests. This system goes a long way to making Daggerfall’s world feel more alive and as though things are happening even when player isn’t involved. Thanks to Allofich, this system is now up and running in Daggerfall Unity.

There’s a bit more to this system than just picking talk items at random. There’s a kind of rotating simulation under the hood that generates rumours about once per month. Allofich has also fixed a problem present in classic where these rumours would stop working after a while. Great work all around.

If you’re just updating to March builds now, it will take around one month of game time before the rumour mill starts generating news.

 

Spell Reflection/Resistance (Interkarma)

These two effects are vital in any spellcaster’s defensive toolkit. Spell Reflection allows you to bounce the effects of some other spell back to the caster. There’s nothing more satisfying than watching an Ancient Lich blow themselves up by reflecting their spells back at them. And Spell Resistance gives you a chance to shrug off whatever magical attacks come your way.

 

Create Item (Interkarma/Allofich)

This effect can be used to summon basic temporary items such as armour, weapons, and arrows. It’s most useful if one of your items break in the heat of combat and you need something to arm yourself with until your next visit to a smith for repairs. Additional credit goes to Allofich for implementing the back-end tracking of temporary items.

 

Charm (Interkarma/Allofich)

The effect works nothing like it says on the tin. It actually has nothing to do with reputation, and instead it’s just another Pacify effect for non-monstrous humanoids. These are the class-based enemies like Knights, Rogues, and Archers that you encounter around the world. The other side of implementing this effect is to fix Pacify Humanoid so it only works on monstrous humanoids as intended. A big thank you to Allofich for clarifying how classic works here and determining the enemy groupings to match classic.

Just like Pacify, a charmed enemy will remain that way until you decide to hit them again.

 

Classic Spellbook Import (Interkarma)

When importing a classic character, their spellbook is now imported as well.

 

Click SAVE# To Open Folder (Interkarma)

This one works for Windows users only at this time. If you click the SAVE# index displayed at top-right of screenshot in save/load UI, it will open the folder directly. This will help users find the save folder faster.

 

Highlight Recently Increased Skills (Pango)

After increasing a skill, it is now shown in blue on the character sheet when inspecting skills for first time after increase.

 

Messages Log (Pango)

Daggerfall’s text messages are shown for a moment then disappear, it’s very easy to miss some bit of information the game is telling you. With this QoL improvement, these messages are now written to the log so you can look back over them even after they scroll off the screen.

Speaking of scrolling text, Pango has also changed the text to smoothly scroll out the top of screen. The movement helps catch the eye and gives you an extra few moments to read the text before it disappears.

 

 

Enemy Strafing (Allofich)

This is an improvement to the Enhanced AI feature set. Enemies will now try to strafe and flank the player during combat. Allofich has made it fairly subtle and not too game-like.

 

General Fixes & Improvements

  • Fixed freeze with no usable magic item after activating “use magic item” keybind (Pango)
  • Fixed “no item to activate” mid-screen message text (Pango)
  • Fixed ambient effects muting rain sounds (Pango)
  • Fixed classic sky blind spot (Pango)
  • Fixed improper wagon access via identify spell inside dungeons (Pango)
  • Fixed player spellbook returning after discarding it (Pango)
  • Add tooltips to spell icons in spellbook (Pango)
  • Allow fast travel and rest when only pacified enemies are nearby (Pango)
  • Grey out unavailable spells in spellbook that are too expensive to cast (Pango)
  • Increase time for modded sound clips to load, fixing first playback being dropped (Pango)
  • Warn player before taking back item not fully repaired (Pango)
  • Warn player when paid by letter of credit (Pango)
  • HUD text smooth scrolling (Pango)
  • Fixed typos in tutorial quest (Pango)
  • Fixed paying repair price multiple times (Pango)
  • Only allow trade popup if there’s something to do (Pango)
  • Fixes to several Random.Range off-by-one errors (Pango)
  • Hide icons in empty spellbook (Pango)
  • Fix list box row count for small font (Numidium)
  • Allow read-only texture flag for mods helper (TheLacus)
  • Support for TRAV0I00.IMG “travel map” texture replacement (TheLacus)
  • Support for FMAP*.IMG “region map” texture replacement (TheLacus)
  • Improvements to speed of asset injection (TheLacus)
  • Updates to mod builder window (TheLacus)
  • Initial support for custom doors for buildings (TheLacus)
  • Mod serialization now uses invariant culture for better multiplatform support (TheLacus)
  • Fixed temples selling spells to non-members (Hazelnut)
  • Fixed guild expulsion to match classic (Hazelnut)
  • Improvements to AI pursuit (Allofich)
  • Cleanup and fixes to enemy motor (Allofich)
  • Cleanup and fixes to enemy senses (Allofich)
  • Unify timers for classic update simulation (Allofich)
  • Implement “addartifact” console command for future artifact testing (Allofich)
  • Special enemy height handling for large enemies to fit through doors (Allofich)
  • Arrows now use colliders for hit checks (Allofich)
  • Fixed arrows and spell missiles colliding more than once (Allofich)
  • Fixed “mute npc” not rearming when parent task ends/rearms, correcting certain quest NPCs not talking to player (Interkarma)
  • Added “unmutequestnpcs” console command for any saves affected by above issue (Interkarma)
  • Fixed transition events when teleporting outside, correcting issues with blank sky and map exceptions (Interkarma)
  • Fixed text stylisation dropping text in A0C01Y03 “the riddle” quest (Interkarma)
  • Fixed entire Scourg Barrow exterior being considered a door (Interkarma)
  • Ignore swimming encumbrance when waterwalking (Interkarma)
  • Don’t show encumbered message when water walking (Interkarma)
  • Added vampire graveyard background on paper doll (Interkarma)
  • Prevent main story dungeon Direnni Tower from being remixed by smaller dungeons option (Interkarma)
  • Added “addspellbook” console command for adding a spellbook at any time (Interkarma)
  • Fixed quest offer presenting when a suitable location could not be found (Interkarma)
  • Fixed enemy groups for Pacify Humanoid effect, this should only operate on monstrous humanoids (Interkarma)
  • Additional fixes to being crushed improperly by environment (Interkarma)
  • Fixed arrow hits forcing player into a permanent crouch (Interkarma)
  • Fixed rappel state not being cleared when grounded (Interkarma)
  • Fixed classic keys not mapping to all variant effects (Interkarma)
  • Fixed tavern rest ejecting player into void (Interkarma)
  • Fixed “give pc” quest action improperly rearming (Interkarma)
  • Fixed spell debuffs from enemy casters not deserializing correctly from saves (Interkarma)