Improve error detection logic and reporting for actor inheritance resolution

Description

In Requiem 3.1 the Reqtificator analyzes the inheritance tree of an actor for the rule-based perk and spell distribution. The error detection seems to be working nice according to user-reports, but the error reporting needs to be improved so that non-developers can understand what happened.

Also Fozar’s DB patch crashed the Reqtificator due to missing template actors, but the code was supposed to ignore this. This unexpected behavior needs to be fixed and the Reqtificator should print a warning to the main logfile instead.

Acceptance Criteria

  • Reqtificator gives human-readable error messages when the patching fails due to inheritance trees not being resolvable.

  • Log output should be improved to contain all relevant information about the failing record.

  • Actors that have no template but inheritance flags set, should be written as warning to the main logfile instead of crashing the Reqtificator.

Testing instructions

  • verify that Fozar’s dragonborn patch with the questionable atronachs works fine, but leaves log messages

  • modify a record to have an invalid template (neither actor nor leveled character) and see the Reqtificator fail

  • verify that normal assignments to NPCs are not changed compared to 3.1.0

Assignee

ogerboss

Reporter

ogerboss

Affects versions

Fix versions

Priority

Major

Components

Configure