Daggerfall Unity

File information

Last updated

Original upload

Created by

Kung

Uploaded by

KungVR

Virus scan

Safe to use

Tags for this mod

About this mod

Display customizable health bars above mobs (enemies and NPCs). Show when an ability misses or is resisted. Flash and show damage numbers when hitting. Allow displaying health bars for mobs behind you as well. Customizable colors, distance, occlusion, scale, position etc... You can override textures to change the style. Default style is retro.

Permissions and credits
Changelogs
I developed this mod to create custom health bars above mobs (enemies, mobile NPCs walking around towns, and static NPCs standing in buildings). The aim is to increase the visceral feedback with subtle flashes and damage numbers, as well as visual feedback for when an attack misses or when magic is resisted, to improve how responsive combat feels in Daggerfall. For mobs with magicka, the bottom half of the health bar will become a magicka bar as well.

I created it in a retro style to fit in with the old school vanilla aesthetic, but also added as many options as possible to let everyone customize it however they'd like. You can optionally override the textures by placing replacements in the SreamingAssets\Textures\MobHealthBars folder (see the packaged default textures for an example).

The bar appearance itself uses a custom shader with instancing on a quad mesh to improve performance over alternative methods.

I'll go over some basic documentation of the available options and what they do. See the screenshots for the options pages as well:

Display Conditions
  • Show Enemy Bars - Toggle overall display on enemies
  • Show Mobile Npc Bars - Toggle overall display on NPCs walking around towns
  • Show Static Npc Bars - Toggle overall display on NPCs standing inside buildings
  • Enemy Occlusion - Enemy bars must be in direct line of sight of the player to display
  • Mobile Npc Occlusion - NPCs walking around towns require direct line of sight to display bars
  • Static Npc Occlusion - NPCs standing inside buildings require direct line of sight to display bars (this one is defaulted off so you can see these kinds of NPcs through walls by default. Feel free to switch it on if that feel like cheating)
  • Maximum Display Range - Bars must be within this distance to display
  • Maximum Display Angle - Bars will display up to this angle from your view direction (this defaults to 180 degrees, so you can see bars behind you as well. To see bars behind you, the next option needs to be enabled)
  • Clamp To Screen Edge - Offscreen bars will remain stuck at the top or bottom of view
  • Only Show Damaged - Enemies will only display if they have less than max health (or if they've been attacked and "miss"ed or "resist"ed)
  • After Damage Hide Time - Time in seconds until bars will hide after taking damage (setting this to zero will disable the timer)

Advanced Display
  • Near Distance Clamp - Bars apparent viewport size will not approach larger than this distance
  • Far Distance Clamp - Won't recede smaller than this distance, unless less than Near Distance Clamp
  • (Hint: If using the low-resolution large pixels retro rendering mode, try setting Far Distance Clamp to zero, and adjusting the Near Distance Clamp to set a single absolute screen size for bars that won't change with distance to mobs. Adjust the size so that the texture and text pixel size roughly matches 1x or 2x the rendering pixel size)

Text Settings
  • Show Text - Allow showing text for damage numbers, "Miss" and "Resist"
  • Text Display Duration - How long in seconds the text will show
  • Damage Numbers Color - Damage numbers will appear with this color
  • Miss Color - "Miss" text will appear with this color
  • Resist Color - "Resist" text will appear with this color

Dimensions
  • Bar Width - Set how wide bars are in worldspace
  • Bar Height - Set how tall bars are in worldspace
  • Width, Border Thickness - Snap to pixels: Enter pixel count of full texture width and border thickness
  • Height Offset - Offset where the bar is positioned above targets (worldspace)
  • (Hint: for good looking square retro pixels, use width and height that matches the aspect ratio of the textures. The default textures are 64x16 so the default dimensions are 0.8x0.2 to keep the width four times the height. For the specific Width, Border Thickness setting, the full width (number of pixels in texture) will determine pixel perfect stepping of the health bar "progress/fill" amount in the shader. The border thickness will determine how far as a fraction of the full width pixels from the left and right edge of the bar the empty and full level of the bar will cap out, to prevent the zero or max level from hiding behind the border texture)

Colors
  • The situational colors depending on mob type, including pacified, and the colors "flashed" to during either damage or healing of the mob, broken down into each texture layer (background, bar, border) can be fully customized (including alpha blending). See the settings menu screenshots for full details.
  • Display Magicka - is an option near the magicka color setting, which will toggle if the lower-half magicka bar will appear at all
Installation Instructions:
Place the "mob health bars.dfmod" file in your StreamingAssets\Mods\ folder
(Optional - only do if you're editing the textures): Place the packaged textures in
SreamingAssets\Textures\MobHealthBars\, and edit/overwrite the textures however you'd like (you can totally use higher resolution textures than the included tiny retro pixel ones).

Mod compatibility issues:
  • Currently there are no known issues with compatibility with other mods