4.1 KiB
RoM Mage/Warden Flame Follower 494051: raw source/runtime audit
Status: unresolved; no runtime mechanic was added.
Finding
The available local RuneWaker data does not provide a numeric Fireball critical-rate bonus or a trigger phase for the old Mage/Warden passive. Keep 494051 unresolved. Current CoA Flame Follower 490244 is a later active-summon revision, and the current reuse of 494051 for Purgatory Fire does not establish the old passive's behavior; see the identity/source review.
Raw RuneWaker record trace
The local Resource/data/magiccollectobject.db and magicobject.db hashes match the RuneWaker source hashes recorded in src/game/romPlayerCatalog.generated.json. The player-catalog exporter records component IDs and selected fields, but omits MagicCollect.LUAScript, MagicCollect.CheckUseScript, MagicBase.CheckUseLua, and MagicRunPlot.PlotName; the latter is the 64-byte MagicRunPlot field at raw MagicObject record offset 0x284..0x2c3.
- Raw MagicCollect
494051is at file offset4,180,772in the 140-byte-header, 1,032-byte-record database. It has source effect type2and target type0. Searching every aligned word across that record finds no other MagicCollect or MagicObject ID, and the record contains no printable script-name string. The source skill tooltip remains qualitative: it says Fireball cooldown is reduced by one second and Fireball critical rate is increased. - Raw Fireball MagicCollect
490204references MagicObject components620199,500379, and623146, and passive MagicCollect records490221(Eruption),491589(Outburst), and499588(Meditation Path). It does not reference494051. - Fireball damage components
620199and500379haveMagicFunc=0,Attack.CriticalRate=0, andMagicRunPlot.PlotName="none". The status component623146hasMagicFunc=1,Attack.CriticalRate=0, andPlotName="none"; its rawCheckUseLuafield namesun_623522_CD. Resource/luascript/02709.luadefinesun_623522_CDas an owner-marker gate: it returns false when the owner already has buff623522; otherwise it adds that buff and returns true. It does not read494051, modify critical rate, or alter Fireball cooldown. In the server,CheckUseLuaProcinvokes this kind of component check for per-targetHITresults only, before applying the component. That documents the phase of this separate Fireball child check, not the Flame Follower passive.- No RuneWaker Lua file contains
494051orFlame Follower. The engine'sMagic07_RunPlotpath is component-scoped: it calls a named plot for each target withHITorCRITICALoutcomes. The494051row has no linked MagicObject, and Fireball's three referenced MagicObjects do not useMagicFunc=7or name a plot, so this engine rule does not identify a Flame Follower trigger.
The relevant definitions are in F:\Projects\Runewaker\SourceCodeVS2019\Libraries\Union\RoleData\ObjectStruct.h (MagicRunPlot, CheckUseLua, and LUAScript), and the dispatch is in F:\Projects\Runewaker\SourceCodeVS2019\Server\NetGameServer\MainProc\MagicProc\MagicProcess.cpp (Magic07_RunPlot and CheckUseLuaProc). The generated extractor's selected-field behavior is visible in scripts/runewaker-pipeline/export-player-catalog.mjs.
Missing evidence
The raw old passive row has no identified critical-rate amount, child effect, script name, or link to a Fireball component. The linked Fireball graph has no critical-rate payload for this passive and no handler that checks whether 494051 is learned. The general engine callbacks establish what an attached check or plot would do, but the available source does not attach either callback to Flame Follower.
Closing the item requires a matching-version source that connects the learned 494051 passive to a Fireball event and specifies the critical-rate amount. Without that source, the amount, whether the passive responds to a cast, a landed hit, or a critical hit, and any associated conditions remain unknown. No helper or integration test should encode those values until the missing source is recovered.