View Issue Details

IDProjectCategoryView StatusLast Update
0012670Dwarf FortressDwarf Mode -- Interface, Announcementspublic2024-01-28 14:12
ReporterBumber Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformSteamOSWindowsOS Version8.1
Product Version50.11 
Summary0012670: Unit combat reports use repeat system when GENERAL announcement alert exists
DescriptionIf and only if you've got a GENERAL (indicated by an orange ! in graphics mode, or white !! in ASCII) announcement alert active (i.e., not dismissed by left-click,) then your combat/sparring/hunting reports will start being added using repeats. Unlike the old repeat system, it's not limited to the most recent report being a repeat, but the entire 3000. (This makes sense for the alert badges, but not combat reports or the "All Alerts" screen, which are supposed to be chronological.)

For example:
Urist stands up.
Urist falls over.
Urist stands up.

becomes:
Urist stands up. x2
Urist falls over.

in the combat log. (This probably happens between combat logs, too, preventing an entry from showing up if the same message occurred previously where the unit wasn't involved in the conflict.)

I assume this system isn't supposed to apply to combat reports, since it makes them confusing. Being tied to GENERAL is also a quirk of combat/sparring/hunting being context dependent and falling back on the default alert type otherwise. (As it stands, this context isn't checked until after the code responsible for checking repeats.)

As a related issue, in the All Alerts screen there aren't any "x[N]" indicators displayed on repeats. The announcements should also probably be bumped to the most recent in the list there, instead of remaining where they were before they were repeated.
Steps To Reproduce1. Have a GENERAL announcement occur that is set to display in Fort mode. The monarch arrival announcements are by default, but it's easier to test by changing the settings of a combat announcement. Setting COMBAT_BLOCK to Fort temporarily should work.
2. Have multiple identical combat messages. This is very likely for STAND_UP and others.
3. Check unit combat logs.
Additional InformationBased on my reverse-engineering, the alert type check seems to be performed inside a "for" loop where it could actually be used as a condition to skip the loop for efficiency's sake.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Add Note

Note

Issue History

Date Modified Username Field Change
2024-01-28 14:12 Bumber New Issue