Clear for new thing

This commit is contained in:
2026-02-13 20:38:51 -05:00
parent c320e8d993
commit 5ff5764fa2
15 changed files with 0 additions and 115612 deletions

View File

@@ -1,137 +0,0 @@
local function safeRequire(moduleName)
local ok, result = pcall(require, moduleName)
if ok and type(result) == "table" then
return result
end
return {}
end
local function appendArray(target, source)
if type(source) ~= "table" then
return
end
for _, value in ipairs(source) do
target[#target + 1] = value
end
end
local function mergeSpec(baseSpec, extraSpec)
local merged = {
items = {},
prefixes = {},
}
if type(baseSpec) == "table" then
appendArray(merged.items, baseSpec.items)
appendArray(merged.prefixes, baseSpec.prefixes)
end
if type(extraSpec) == "table" then
appendArray(merged.items, extraSpec.items)
appendArray(merged.prefixes, extraSpec.prefixes)
end
return merged
end
local function mergeAliasTables(baseAliases, extraAliases)
local merged = {}
if type(baseAliases) == "table" then
for key, list in pairs(baseAliases) do
merged[key] = merged[key] or {}
appendArray(merged[key], list)
end
end
if type(extraAliases) == "table" then
for key, list in pairs(extraAliases) do
merged[key] = merged[key] or {}
appendArray(merged[key], list)
end
end
return merged
end
local function mergeRuleTables(baseRules, extraRules)
local merged = {}
appendArray(merged, baseRules)
appendArray(merged, extraRules)
return merged
end
local function mergeByList(baseByList, extraByList)
local merged = {}
if type(baseByList) == "table" then
for listName, spec in pairs(baseByList) do
merged[listName] = mergeSpec(nil, spec)
end
end
if type(extraByList) == "table" then
for listName, spec in pairs(extraByList) do
merged[listName] = mergeSpec(merged[listName], spec)
end
end
return merged
end
local function isMagazineType(itemType)
local s = tostring(itemType or ""):lower()
if s == "" then
return false
end
if s:sub(1, 10) == "base.clip_" then
return true
end
if s:find("magazine", 1, true) then
return true
end
if s:find("drum", 1, true) then
return true
end
if s:find("clip", 1, true) then
return true
end
return false
end
local function collectMagazines(values)
local out = {}
local seen = {}
if type(values) ~= "table" then
return out
end
for _, value in ipairs(values) do
if isMagazineType(value) then
local key = tostring(value):lower()
if not seen[key] then
seen[key] = true
out[#out + 1] = value
end
end
end
return out
end
local defaults = safeRequire("OFBlockRules_Default")
local user = safeRequire("OFBlockRules_User")
local sourceCatalog = safeRequire("OFSourceCatalog")
local aliasCatalog = {
firearms = sourceCatalog.firearms or {},
attachments = sourceCatalog.attachments or {},
magazines = sourceCatalog.magazines or collectMagazines(sourceCatalog.attachments),
ggs_all = sourceCatalog.ggs_all or {},
}
local merged = {
global = mergeSpec(defaults.global, user.global),
byList = mergeByList(defaults.byList, user.byList),
rules = mergeRuleTables(defaults.rules, user.rules),
aliases = mergeAliasTables(defaults.aliases, user.aliases),
}
merged.aliases = mergeAliasTables(aliasCatalog, merged.aliases)
return merged

View File

@@ -1,30 +0,0 @@
-- Default rule set for Opinionated Firearms distribution blocking.
-- Keep this empty for a clean-slate baseline.
return {
global = {
items = {},
prefixes = {},
},
byList = {
-- Example:
-- GunStorePistols = { items = { "Base.AA12" } },
},
rules = {
-- Example rule:
-- {
-- id = "weekend-attachment-ban",
-- enabled = false,
-- where = { lists = { "GunStorePistols", "PoliceStorageGuns" } },
-- when = { startsAt = 1762473600, endsAt = 1762732800 }, -- unix epoch UTC
-- block = {
-- items = { "@attachments" },
-- prefixes = { "Base.Clip_" },
-- },
-- },
},
aliases = {
-- Additional custom aliases can be added here.
-- Example:
-- police_vote_list = { "Base.AA12", "Base.AK47" },
},
}

View File

@@ -1,33 +0,0 @@
-- User-editable rules.
-- The web app can overwrite this file with vote results later.
return {
global = {
items = {
-- "Base.AA12",
-- "@attachments",
},
prefixes = {
-- "Base.Clip_",
},
},
byList = {
-- PoliceStorageGuns = {
-- items = { "Base.AK47" },
-- },
},
rules = {
-- {
-- id = "example-scheduled-block",
-- enabled = false,
-- where = { lists = { "GunStorePistols", "ArmyStorageGuns" } },
-- when = { startsAt = 1762473600, endsAt = 1762732800 }, -- unix epoch UTC
-- block = {
-- items = { "Base.AK74u", "@firearms" },
-- prefixes = { "Base.Clip_" },
-- },
-- },
},
aliases = {
-- event_list = { "Base.AK74", "Base.AK47" },
},
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,34 +0,0 @@
-- Auto-generated by tools/ggs-dist-cli.js apply
-- Generated at: 2026-02-12T19:59:03.395Z
return {
items = {
["Base.12GClip"] = {
enabled = false,
placements = {
["ArmyStorageAmmunition"] = 1,
["ArmyStorageGuns"] = 1,
},
},
["Base.1P78"] = {
enabled = false,
placements = {
["ArmyStorageAmmunition"] = 1,
["ArmyStorageGuns"] = 1,
},
},
["Base.9mmClip"] = {
enabled = false,
placements = {
["GunStoreMagsAmmo"] = 1,
["PoliceStorageGuns"] = 1,
},
},
["Base.A2000"] = {
enabled = true,
placements = {
["ArmyStorageAmmunition"] = 1,
["ArmyStorageGuns"] = 1,
},
},
},
}