From 5a040ce642c3fc839d630fce854f43a828071684 Mon Sep 17 00:00:00 2001 From: Simon Brodtmann Date: Thu, 16 Jan 2025 00:28:37 +0100 Subject: [PATCH] Make wood-military optional --- lignumis/control.lua | 22 ++++++++++--------- lignumis/info.json | 2 +- lignumis/prototypes/compatibility/data.lua | 3 ++- .../compatibility/wood-military.lua | 4 ++++ lignumis/prototypes/content/wood-military.lua | 5 +++++ lignumis/settings-updates.lua | 8 +------ lignumis/settings.lua | 19 ++++++++++------ lignumis/settings/updates.lua | 1 + lignumis/settings/wood-military.lua | 11 ++++++++++ 9 files changed, 49 insertions(+), 26 deletions(-) create mode 100644 lignumis/settings/updates.lua create mode 100644 lignumis/settings/wood-military.lua diff --git a/lignumis/control.lua b/lignumis/control.lua index 790b1cd..1dacafb 100644 --- a/lignumis/control.lua +++ b/lignumis/control.lua @@ -31,6 +31,18 @@ script.on_init(function() storage.disable_crashsite = remote.call("freeplay", "get_disable_crashsite") remote.call("freeplay", "set_disable_crashsite", true) remote.call("freeplay", "set_skip_intro", true) + + if not script.active_mods["wood-military"] then + local respawn_items = remote.call("freeplay", "get_respawn_items") + respawn_items["wood-darts-magazine"] = respawn_items["firearm-magazine"] + respawn_items["firearm-magazine"] = nil + remote.call("freeplay", "set_respawn_items", respawn_items) + + local created_items = remote.call("freeplay", "get_created_items") + created_items["wood-darts-magazine"] = created_items["firearm-magazine"] + created_items["firearm-magazine"] = nil + remote.call("freeplay", "set_created_items", created_items) + end end correct_space_locations() @@ -70,16 +82,6 @@ script.on_event(e.on_player_created, function(event) storage.crashed_ship_parts = remote.call("freeplay", "get_ship_parts") storage.starting_message = remote.call("freeplay", "get_custom_intro_message") - local respawn_items = remote.call("freeplay", "get_respawn_items") - respawn_items["wood-darts-magazine"] = respawn_items["firearm-magazine"] - respawn_items["firearm-magazine"] = nil - remote.call("freeplay", "set_respawn_items", respawn_items) - - local created_items = remote.call("freeplay", "get_created_items") - created_items["wood-darts-magazine"] = created_items["firearm-magazine"] - created_items["firearm-magazine"] = nil - remote.call("freeplay", "set_created_items", created_items) - local ship_items = { ["wood-darts-magazine"] = 2 } local debris_items = { ["lumber"] = 8 } diff --git a/lignumis/info.json b/lignumis/info.json index 995bdf9..68d0133 100644 --- a/lignumis/info.json +++ b/lignumis/info.json @@ -17,9 +17,9 @@ "mf-logistics >= 1.0.1", "Wood-Walls >= 1.2.0", "?hot-metals >= 1.1.0", + "?wood-military >= 2.3.3", "!apm_power_ldinc", "!alien-biomes", - "!wood-military", "!wood-logistics", "!wood-industry", "!early-agriculture", diff --git a/lignumis/prototypes/compatibility/data.lua b/lignumis/prototypes/compatibility/data.lua index 9b936d5..b647a90 100644 --- a/lignumis/prototypes/compatibility/data.lua +++ b/lignumis/prototypes/compatibility/data.lua @@ -1 +1,2 @@ -require("hot-metals") \ No newline at end of file +require("hot-metals") +require("wood-military") \ No newline at end of file diff --git a/lignumis/prototypes/compatibility/wood-military.lua b/lignumis/prototypes/compatibility/wood-military.lua index e43bac9..3eed845 100644 --- a/lignumis/prototypes/compatibility/wood-military.lua +++ b/lignumis/prototypes/compatibility/wood-military.lua @@ -1 +1,5 @@ +if not mods["wood-military"] then + return +end + data.raw.armor["wood-armor"].equipment_grid = "tiny-equipment-grid" diff --git a/lignumis/prototypes/content/wood-military.lua b/lignumis/prototypes/content/wood-military.lua index 4d250d6..091c6f6 100644 --- a/lignumis/prototypes/content/wood-military.lua +++ b/lignumis/prototypes/content/wood-military.lua @@ -1,3 +1,8 @@ +-- Wooden military mod replaces the content here +if mods["wood-military"] then + return +end + local item_sounds = require("__base__.prototypes.item_sounds") local simulations = require("__base__.prototypes.factoriopedia-simulations") diff --git a/lignumis/settings-updates.lua b/lignumis/settings-updates.lua index d914cfb..fa983e5 100644 --- a/lignumis/settings-updates.lua +++ b/lignumis/settings-updates.lua @@ -1,7 +1 @@ ---data.raw["bool-setting"]["wood-military-rockets"].default_value = false ---data.raw["bool-setting"]["wood-military-artillery"].default_value = false ---data.raw["bool-setting"]["wood-military-damage-buff"].default_value = false ---data.raw["bool-setting"]["wood-military-armor"].hidden = true ---data.raw["bool-setting"]["wood-military-armor"].forced_value = true ---data.raw["bool-setting"]["wood-military-nerf-start"].hidden = true ---data.raw["bool-setting"]["wood-military-nerf-start"].forced_value = true \ No newline at end of file +require("settings/updates") \ No newline at end of file diff --git a/lignumis/settings.lua b/lignumis/settings.lua index 8b20985..3ecebc1 100644 --- a/lignumis/settings.lua +++ b/lignumis/settings.lua @@ -13,11 +13,16 @@ data:extend({ default_value = true, order = "b" }, - { - type = "bool-setting", - name = "lignumis-ammo-progression", - setting_type = "startup", - default_value = true, - order = "c" - } }) + +if not mods["wood-military"] then + data:extend({ + { + type = "bool-setting", + name = "lignumis-ammo-progression", + setting_type = "startup", + default_value = true, + order = "c" + } + }) +end diff --git a/lignumis/settings/updates.lua b/lignumis/settings/updates.lua new file mode 100644 index 0000000..aedfdff --- /dev/null +++ b/lignumis/settings/updates.lua @@ -0,0 +1 @@ +require("wood-military") \ No newline at end of file diff --git a/lignumis/settings/wood-military.lua b/lignumis/settings/wood-military.lua new file mode 100644 index 0000000..75ee975 --- /dev/null +++ b/lignumis/settings/wood-military.lua @@ -0,0 +1,11 @@ +if not mods["wood-military"] then + return +end + +data.raw["bool-setting"]["wood-military-rockets"].default_value = false +data.raw["bool-setting"]["wood-military-artillery"].default_value = false +data.raw["bool-setting"]["wood-military-damage-buff"].default_value = false +data.raw["bool-setting"]["wood-military-armor"].hidden = true +data.raw["bool-setting"]["wood-military-armor"].forced_value = true +data.raw["bool-setting"]["wood-military-nerf-start"].hidden = true +data.raw["bool-setting"]["wood-military-nerf-start"].forced_value = true \ No newline at end of file