You are viewing a potentially older version of this package. View all versions.
itsschwer-DamageLog-1.1.6 icon

DamageLog

Adds a damage log to the HUD to show what you have taken damage from recently — [ client-side ] — please read the README!

Date uploaded 2 months ago
Version 1.1.6
Download link itsschwer-DamageLog-1.1.6.zip
Downloads 2976
Dependency string itsschwer-DamageLog-1.1.6

This mod requires the following mods to function

bbepis-BepInExPack-5.4.2113 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.2113

README

damage log

A client-side mod that adds a damage log to the HUD to show what you have taken damage from recently.

damage log sample screenshot

why?

sometimes it can be hard to tell what you are taking damage from.

controls

cycleUserKey (default: left alt) can be used to cycle between player damage logs in multiplayer.

versions

Check the changelog to see version differences!

  • If playing on the Seekers of the Storm patch, use the latest version available of this mod
  • If playing on a game version before the Seekers of the Storm patch, please use version 1.1.3 of this mod

configurable

The configuration file is automatically reloaded when the UI is created (at the start of each stage)

  • how long entries are logged for can be adjusted
  • how many entries are logged can be adjusted
  • the log only being visible in the scoreboard can be enabled
  • the log being presented in simple text mode can be enabled
  • [ bonus :: experimental ] generating damage logs for bosses can be enabled
Portraits mode Simple text mode
portraits mode damage log sample screenshot simple text mode damage log sample screenshot
  • the size of various damage log UI elements can be adjusted (under the m_Debug section)

notes

please report any issues to the GitHub repository!

  • damage inflicted by enemies that have been killed (debuffs, delayed explosions, projectiles, trails) may be attributed to The Planet as the reference to the original attacker no longer exists
  • damage from Pots (Abandoned Aqueduct) and Fusion Cells (Rallypoint Delta) are attributed to The Planet
    • sometimes attributed correctly on non-hosts?
    • why do Sulfur Pods (Sulfur Pools) not have the same issue?
  • [ experimental ] boss damage logs:
    • bosses don't always have a damage log generated when playing as client?
    • name doesn't capture elite prefix when playing as host?
    • occasionally has significant discrepencies between host and client(s?)?
    • sometimes doesn't capture the killing instance of damage?
    • damage log timers continue counting after a boss is killed with Trophy Hunter's Tricorn?

see also

  • DamageHistory src by Bubbet — alternative, inspired this implementation
    • tracks damage until fully healed(?)
    • text only
    • a bit hard to parse
  • ShowDeathCause src by NotTsunami — shows extra information about the attacker that killed you on the game end screen

CHANGELOG

1.2.5

  • Fix incorrect check for Prime Meridian lightning

1.2.4

  • Count Prime Meridian lightning strikes as a single damage source
    • Avoid filling up the damage log with entries attributed to The Planet
  • Add custom portrait for Prime Meridian lightning strikes

1.2.3

  • Fix compatibility with viewing Run History entries mid-run (Seekers of the Storm)
    • The damage log UI will no longer become invisible after viewing a Run History entry from the Logbook from the pause menu mid-run

1.2.2

  • Change hideDamageTimer to affect portraits mode too
  • Add suggestion to use 6thmoon-OptionsGenerator and Rune580-Risk_Of_Options

1.2.1

  • Build 1.2.0 changes for Seekers of the Storm

1.2.0

  • Add no break tags to numbers in simple text mode
    • Prevent numbers from being split on to a separate line without its negative sign
  • Add new configuration options for simple text mode
    • compactLines (default: false, new behaviour)
    • hideDamageTimer (default: false, same behaviour as before)
    • showRawDamageInsteadOfPercentage (default: false, same behaviour as before)
  • Convert hardcoded UI layout values into new configuration options (under the "m_Debug" section)
    • canvasWidth
    • canvasOffsetRight
      • Try a value of 1820 (for 1920*1080 displays) to position the damage log on the left of the HUD
    • canvasOffsetTop
    • Note: the "m_Debug" section is still primarily a development tool and is not very user-friendly
  • Reorganise configuration options
    • Add two new sections: Display: Portraits Mode and Display: Simple Text Mode
  • Refactor damage source identifier generation
  • Adjust how damage values are presented (negate instead of prepend -)
  • Adjust default UI layout values
    • textSize: 1214
    • portraitSpacing: 68
    • canvasOffsetRight: 48

1.1.7

  • Fix boss damage logs on host not having elite prefixes in the name (tentative)
  • Rework damage log pruning to only be time-based
    • i.e. damage sources will only be pruned/forgotten once they are older than entryMaxRetainTime
  • Rename configuration option entryMaxCount (Constraints) to maximumPortraitCount (Display)
  • Code refactoring

1.1.6

  • Start assembly versioning
  • Update icon to be less blurry (but more pixelated)
  • Refactor config reloading
  • Log error and disable self instead of breaking the game if installed on incompatible version

1.1.5

  • Restore custom attacker portrait for Artifact Reliquary
  • Code refactoring
  • Add 'versions' section to README

1.1.4

  • Hotfix for the Seekers of the Storm patch
    • Fixes damage logs not populating with entries when taking damage
      • [Error : Unity Log] Failed at InvokeHandler, probably malformed packet!
    • Please use the previous version of this mod if playing on an older game version!

1.1.3

  • Track bosses by network id instead of instance id
    • Improve ability to identify shared boss logs between clients, replacing unreliable encounter counting

1.1.2

  • Fix error preventing Run History entries from being viewed properly

1.1.1

  • Add 'controls' section to readme to better indicate the ability to cycle between user damage logs in multiplayer
  • Fix potential ArgumentNullException spam when the UI is initialised without a user

1.1.0

  • Add ability to generate damage logs for bosses
    • Must be enabled in configuration file
  • Change portrait for void cradles/potentials
    • Now uses the Survivors of the Void icon rather than the Voidtouched icon
  • Renamed configuration option textModeFontSize to textSize
  • Separate damage source pruning logic from display logic (make pruning behaviour more consistent)
  • Limit the lifetime of damage logs to that of a run
    • Prevent potential memory leak where NetworkUsers accumulate without being cleared
  • Fix logic errors (DamageLog.Cease(), DamageLog.Record())
  • Code refactoring

1.0.0

  • Rework how time of death is recorded (fix timers continuing until body is destroyed on non-hosts)
  • Change simple text mode damage color to be consistent with portraits mode

0.2.4

  • Fix portraits mode displaying white squares when DamageLogUI is initialised without a DamageLog
  • Fix issue where DamageLogs would fail to be created when playing as non-host
    • Sometimes NetworkUser and CharacterBody would not yet be linked together(?), despite both existing

0.2.3

  • Fix Voidtouched elite icon color
  • Fix portraits not updating on GameEnd screen (not showing the correct damage log in multiplayer)

0.2.2

  • Add configuration option showDamageIdentifier

0.2.1

  • Thunderstore release
  • Finish 'configurable' section of README
  • Fix simple text mode UI positioning
  • Replace icon

0.2.0

  • Improve portraits for Shrine of Blood and Artifact Reliquary
  • Added damage information to identifiers for unknown damage sources
  • Fix portrait color for void damage sources
  • Add description to manifest.json
  • Start writing proper README
  • Create CHANGELOG
  • [debug] Improve debugging features

0.1.0

  • Satisfactory build