v2.1.1: PlayerHasItem -> true — emote validator gate (StoreEmotesOwnedOnSteam path)
Some checks failed
Build DevourUnlocker / windows-cross (push) Failing after 8s
Build DevourUnlocker / linux (push) Failing after 8s
Build DevourUnlocker / standalone (push) Successful in 5s

This commit is contained in:
MiTHRAL 2026-08-24 13:38:56 -04:00
parent f478a731d9
commit fee1556da3

View file

@ -95,7 +95,9 @@ static bool __fastcall hUserHasItem(void* thiz, unsigned long long itemDef, void
}
// Multiplayer validator: every player counts as owning every item (lobby validation path)
static bool __fastcall hPlayerHasItem(void* thiz, int connectionId, unsigned long long itemDef, void* method) {
if (oPlayerHasItem) return oPlayerHasItem(thiz, connectionId, itemDef, method);
// Validator gate used by StoreEmotesOwnedOnSteam + WaitForPurchased*Validation coroutines.
// Does NOT block purchases (that was UserHasItem) — safe to force true.
char b[160]; snprintf(b,sizeof(b),"[trace] PlayerHasItem(conn=%d def=%llu) -> true", connectionId, itemDef); logPatch(b);
return true;
}
// Inventory-retrieved flag: pass through — forcing true with an empty userItems made some