diff --git a/src/EventListener.cpp b/src/EventListener.cpp index a985125..a03759a 100644 --- a/src/EventListener.cpp +++ b/src/EventListener.cpp @@ -16,6 +16,7 @@ inline std::map g_settings{ { "bPickupFlora", true }, { "bPickupIngredients", true }, { "bPickupSoulGems", true }, + { "bAllowStealing", true }, }; auto EventListener::GetSingleton() -> EventListener* @@ -84,6 +85,7 @@ auto EventListener::ProcessEvent( } std::unordered_set refQueue; + bool bAllowStealing = std::any_cast(g_settings["bAllowStealing"]); TES->ForEachReferenceInRange(initRef, static_cast(std::any_cast(g_settings["iRadius"])), [&](RE::TESObjectREFR* a_ref) { if (!a_ref) { @@ -100,6 +102,10 @@ auto EventListener::ProcessEvent( return RE::BSContainer::ForEachResult::kContinue; } + if (!bAllowStealing && a_ref->IsCrimeToActivate()) { + return RE::BSContainer::ForEachResult::kContinue; + } + bool bAdd = false; if (initBase == refBase) {