Discrepancies between meter effects and related sitreps and accounting #1927
Labels
category:bug
The Issue/PR describes or solves a perceived malfunction within the game.
component:internal
The Issue/PR deals with any project component that has no explicit `component` label.
component:UI
The Issue/PR deals with the game user interface, graphical or other.
#1623 notes certain discrepancies between damage repair sitreps and the actual damage repair,
#1894 notes that the accounting info for industry/research doesn't take into account that turns growth so wrongly has 'unknown' entries.
There is also some forum discussion on visibility that I think could wind up related (or at least potential developments there could also implicate these issues).
I think that both of these have related causes, due to our extra round of meter effects. Post combat we have the single primary round of effect processing, which includes (preliminary) meter updates and related accounting info generation, and also includes all scripted sitrep generation.
Later, after supply propagation is updated, and planet population growth is calculated, there is another round of superseding only-meter-effect processing, but this one does not currently include accounting info generation nor would any sitreps be generated at that point, thus allowing discrepancies to appear in both respects.
The accounting info aspect seems the simplest to me, it seems that we should have the accounting info update occur with the second round of meter effect processing instead of during the first (which for meters is really just a preliminary round).
As far as the scripted sitreps go, it is seeming to me that the best solution would be to allow SetMeter effects to have a SitRep subclause that would be conditionally executed (i.e., only at the second, meter-only round of effects processing); we would use these subclauses for meter-related scripted sitreps instead of having the independent GenerateSitRep effects like we do currently.
The text was updated successfully, but these errors were encountered: