pre cw with probe and a bunch script to read game behavior
This commit is contained in:
1 parent
5120219ae2
commit
da8a32f60d
310 files changed
+219693
-872
No files matched your search
@@ -0,0 +1,25 @@
|
||||
-- Read existing augment wrappers; one row per heartbeat, no gameplay mutations.
|
||||
do
|
||||
_G.__gacCwAugmentsExport1=_G.__gacCwAugmentsExport1 or {index=0}
|
||||
local s=_G.__gacCwAugmentsExport1;if s.done then return end
|
||||
local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_AUGMENTS] '..tostring(v))end
|
||||
local ok,err=pcall(function()
|
||||
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
|
||||
if not s.rows then s.rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllAugmentItemData();if s.rows.Count>1024 then error('augment capture bound exceeded')end;log('BEGIN count='..s.rows.Count)end
|
||||
for batch=1,4 do
|
||||
if s.index>=s.rows.Count then s.done=true;log('END');return end
|
||||
local wrapper=s.rows[s.index];local t=wrapper:GetType();local row=nil
|
||||
for depth=1,4 do
|
||||
if not t then break end
|
||||
local fs=t:GetFields(flags)
|
||||
for j=0,math.min(fs.Length-1,47)do if fs[j].FieldType.FullName=='RPG.GameCore.GridFightAugmentConfigRow' then row=fs[j]:GetValue(wrapper);break end end
|
||||
if row then break end;t=t.BaseType
|
||||
end
|
||||
if not row then error('augment wrapper row unavailable')end
|
||||
local text=CS.Newtonsoft.Json.JsonConvert.SerializeObject(row);if #text>32768 then error('augment row exceeds capture bound')end
|
||||
log('ROW '..text);s.index=s.index+1
|
||||
end
|
||||
end)
|
||||
if not ok then log('ERROR '..tostring(err));s.done=true end
|
||||
end
|
||||
|
||||
Reference in new issue
Block a user