Fix wallet destroy fund loss, Tumbler progress timing, settle idempotence, bounds guards (from external review)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ZHU MINCHAOandClaude Sonnet 5.5 committed 2026-11-04 10:02:02 +08:00
1 parent d0054443ec
commit 4501807cd2
5 files changed
+38 -10

No files matched your search

+3
View File
@@ -65,6 +65,7 @@ namespace Decentralized
var e = mgr.futurEvents[i];
if (knownOnly && !e.IsKnown) continue;
bool match = m.Kind == PredictKind.Event ? e.identifier == m.Key : e.isFactionOperation && e.sourceFaction == m.Key;
if (i >= mgr.futurEventsDay.Count) break;
int start = today + mgr.futurEventsDay[i];
if (match && start >= m.FromDay && start <= m.ToDay) return start;
}
@@ -154,6 +155,7 @@ namespace Decentralized
for (int i = 0; i < mgr.futurEvents.Count; i++)
{
var e = mgr.futurEvents[i];
if (i >= mgr.futurEventsDay.Count) break;
int start = day + mgr.futurEventsDay[i];
if (!e.IsKnown || start < day + 2 || e.eventType == StoreEvent.EventType.COSMETIC) continue;
bool op = e.isFactionOperation;
@@ -294,6 +296,7 @@ namespace Decentralized
if (mgr != null)
for (int i = 0; i < mgr.futurEvents.Count; i++)
{
if (i >= mgr.futurEventsDay.Count) break;
var e = mgr.futurEvents[i];
if (e.IsKnown && (e.identifier == "crackdown" || e.identifier == "stationWideBlackout" || e.identifier == "powerShortage"))
list.Add(L.T("predict.clue.queued2", today + mgr.futurEventsDay[i], e.GetDisplayName()));