Home › Dev CE (experimental) › GameFalloutManager

Experimental: needs Dev CE (fork of the Community Extension, release zip and source). A GameCore that adds these Lua methods by calling engine functions directly. Not part of the upstream Community Extension, single-player testing only. Descriptions on these pages were written by an AI assistant from decompiled code and are marked inferred unless a test result confirms them.

GameFalloutManager

6 methods (Dev CE test build). this is found with the game's own IGameFalloutManager instance resolver (virtual).

Method Signature Purpose (AI-written, inferred) Tested Engine function Current
AddNuclearReactor GameFalloutManager:AddNuclearReactor(iPlotIndex: integer, eOwner: integer) Appends a reactor entry (plot index, owner, age 0) to the manager's reactor vector at offset 0xf0. plumbing: not run (no live object) — 0x1ed840
DoTurn GameFalloutManager:DoTurn() Per-turn update: calls UpdateFallout, then increments the age counter (offset +8) of every reactor entry. plumbing: not run (no live object) — 0x1ed900
GetFalloutDamage GameFalloutManager:GetFalloutDamage() → number Returns the fallout damage value, using the global default parameter (offset 0x560) when the stored value is -1. plumbing: not run (no live object) — 0x1edb80
GetReactorAge GameFalloutManager:GetReactorAge(iPlotIndex: integer) → number Looks up the city's building flagged as a reactor (bit 8 at 0x48 of the XP2 building definition), then returns the age of the tracked reactor entry at that building's plot, or 0. plumbing: not run (no live object) — 0x1edc80
ResetReactorAge GameFalloutManager:ResetReactorAge(iPlotIndex: integer) Finds the reactor entry for the plot, sets its age to 0, un-pillages the flagged reactor building in that plot's district city (if the plot is a district but not a city center), then sends a reporting event. plumbing: not run (no live object) — 0x1ee4d0
UpdateFallout GameFalloutManager:UpdateFallout() For each plot with fallout turns remaining (>0), decrements the counter, dispatches a plot signal on the game object and sends two reporting events (one using local-observer visibility). plumbing: not run (no live object) — 0x1ef420

Details

AddNuclearReactor

Arguments: iPlotIndex — map plot index of the reactor; eOwner — player owning the reactor

Writes - reactor vector at 0xf0 (new 16-byte entry: plot, owner, age 0)

Input checks: Ignored if iPlotIndex < 0 or eOwner is -1; does not check for duplicates or plot validity.

Multiplayer: may-desync, adds synchronised game state. Risk: medium (adds an entry without validating the plot). Confidence of the reading: high.

DoTurn

Writes - reactor ages in vector at 0xf0 incremented - fallout timers via UpdateFallout

Side effects - UpdateFallout fires a signal and reporting events

Input checks: No inputs.

Multiplayer: may-desync, advances synchronised state each turn. Risk: medium (turn processing; calling it manually double-advances state). Confidence of the reading: high.

GetFalloutDamage

Input checks: No inputs; -1 sentinel replaced by default.

Multiplayer: read-only, pure getter. Risk: low (pure getter). Confidence of the reading: high.

GetReactorAge

Input checks: Returns 0 if city is null, no flagged building exists or no tracked reactor at its location.

Multiplayer: read-only, pure getter. Risk: low (pure getter). Confidence of the reading: medium.

ResetReactorAge

Arguments: iPlotIndex — map plot index of the reactor

Writes - reactor age set to 0 - reactor building pillaged flag cleared in city buildings

Side effects - Reporting event 0x686fdce3 sent with the plot index

Input checks: Returns if iPlotIndex < 0 or no reactor entry exists for the plot.

Multiplayer: may-desync, edits city building state. Risk: medium (edits city buildings and age). Confidence of the reading: medium.

UpdateFallout

Writes - per-plot fallout timer array (0xa8) decremented

Side effects - Signal dispatched on game object (offset 0x1158) - Reporting events 0x8e5e1e95 and 0x8cbda9f3

Input checks: No inputs.

Multiplayer: may-desync, decrements synchronised fallout timers. Risk: medium (changes map fallout state). Confidence of the reading: high.