Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-12-27 08:47:40 +1100
committerKae <80987908+Novaenia@users.noreply.github.com>2024-12-27 08:47:40 +1100
commit3205f3b2831eba410b96727d2bae33205689ea96 (patch)
tree39a72cfc45872f17d6078bb8dd486331216b42bf
parent1210a75fb72bc37dd1b894ca7cb0ca0d636b5ac5 (diff)
fix item inventoryFilters handling
-rw-r--r--assets/opensb/player.config.patch2
-rw-r--r--source/game/StarPlayerInventory.cpp6
2 files changed, 5 insertions, 3 deletions
diff --git a/assets/opensb/player.config.patch b/assets/opensb/player.config.patch
index 5960507..bd5cbc8 100644
--- a/assets/opensb/player.config.patch
+++ b/assets/opensb/player.config.patch
@@ -12,5 +12,7 @@
"maxWireTrans" : 0.4
},
+ "inventoryFilters" : { "default" : {} },
+
"swapDance" : null // Set this to a valid dance to trigger on character swap.
} \ No newline at end of file
diff --git a/source/game/StarPlayerInventory.cpp b/source/game/StarPlayerInventory.cpp
index 0fed167..4b9cff2 100644
--- a/source/game/StarPlayerInventory.cpp
+++ b/source/game/StarPlayerInventory.cpp
@@ -947,14 +947,14 @@ bool PlayerInventory::checkInventoryFilter(ItemPtr const& items, String const& f
auto itemFilters = items->instanceValue("inventoryFilters");
if (itemFilters.isType(Json::Type::Object)) {
- filterConfig = itemFilters.get(filterName);
+ filterConfig = itemFilters.opt(filterName).value();
if (!filterConfig.isType(Json::Type::Object))
- filterConfig = itemFilters.get("default");
+ filterConfig = itemFilters.opt("default").value();
}
if (!filterConfig.isType(Json::Type::Object)) {
auto config = Root::singleton().assets()->json("/player.config:inventoryFilters");
- filterConfig = config.get(filterName);
+ filterConfig = config.opt(filterName).value();
if (!filterConfig.isType(Json::Type::Object))
filterConfig = config.get("default");
}