From a7fba27b87cfb724684fab2c20698c5cff8a3429 Mon Sep 17 00:00:00 2001 From: Apollo Date: Mon, 31 Jan 2022 17:19:16 -0500 Subject: [PATCH] Added some of the settings Just to seperate all this into individual commits (including it as a seperate branch for code review etc) Currently ALL these settings are not being used, mainly because I'm not sure where other PRs are at on if they made a global or not, thus I can't add them then add this (or add this then them, due to collisions nightmare) --- settings.lua | 92 ++++++++++++++++++++++++++++++++++++++++++++++++ settingtypes.txt | 34 ++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 settingtypes.txt diff --git a/settings.lua b/settings.lua index 1170aa3..108d8a6 100644 --- a/settings.lua +++ b/settings.lua @@ -27,3 +27,95 @@ rweapons_door_breaking = "true" rweapons_other_weapon_crafting = "true" rweapons_ammo_crafting = "true" rweapons_item_crafting = "true" + +-- Add this table to the rangedweapons global (when we get to that) +--rangedweapons.settings = {} +--local settings = rangedweapons.settings +local settings = {} + +-- Encapsulate the data into cagegories (e.g. rangedweapons.settings.dmg_multiplier.mob_dmg) +settings.dmg_multiplier = {} +local dmg_multiplier = settings.dmg_multiplier +dmg_multiplier.player_dmg = minetest.settings:get("rangedweapons.player_dmg_multiplier") +if dmg_multiplier.player_dmg == nil then + dmg_multiplier.player_dmg = 1.0 + minetest.settings:set("rangedweapons.player_dmg_multiplier", dmg_multiplier.player_dmg) +else + dmg_multiplier.player_dmg = tonumber(dmg_multiplier.player_dmg) +end + +dmg_multiplier.mob_dmg = minetest.settings:get("rangedweapons.mob_dmg_multiplier") +if dmg_multiplier.mob_dmg == nil then + dmg_multiplier.mob_dmg = 1.0 + minetest.settings:set("rangedweapons.mob_dmg_multiplier", dmg_multiplier.mob_dmg) +else + dmg_multiplier.mob_dmg = tonumber(dmg_multiplier.mob_dmg) +end + +dmg_multiplier.headshot_dmg = minetest.settings:get("rangedweapons.headshot_dmg_multiplier") +if dmg_multiplier.headshot_dmg == nil then + dmg_multiplier.headshot_dmg = 1.75 + minetest.settings:set("rangedweapons.headshot_dmg_multiplier", dmg_multiplier.headshot_dmg) +else + dmg_multiplier.headshot_dmg = tonumber(dmg_multiplier.headshot_dmg) +end + +-- (e.g. rangedweapons.settings.crafting.ammo_crafting) +settings.crafting = {} +local crafting = settings.crafting +crafting.gun_crafting = minetest.settings:get_bool("rangedweapons.gun_crafting") +if crafting.gun_crafting == nil then + crafting.gun_crafting = true + minetest.settings:set_bool("rangedweapons.gun_crafting", crafting.gun_crafting) +end + +crafting.ammo_crafting = minetest.settings:get_bool("rangedweapons.ammo_crafting") +if crafting.ammo_crafting == nil then + crafting.ammo_crafting = true + minetest.settings:set_bool("rangedweapons.ammo_crafting", crafting.ammo_crafting) +end + +crafting.item_crafting = minetest.settings:get_bool("rangedweapons.item_crafting") +if crafting.item_crafting == nil then + crafting.item_crafting = true + minetest.settings:set_bool("rangedweapons.item_crafting", crafting.item_crafting) +end + +-- (e.g. rangedweapons.settings.skills.min_gun_efficiency) +settings.skills = {} +local skills = settings.skills +skills.max_gun_efficiency = minetest.settings:get("rangedweapons.max_gun_efficiency") +if skills.max_gun_efficiency == nil then + skills.max_gun_efficiency = 300 + minetest.settings:set("rangedweapons.max_gun_efficiency", skills.max_gun_efficiency) +else + skills.max_gun_efficiency = tonumber(skills.max_gun_efficiency) +end + +skills.min_gun_efficiency = minetest.settings:get("rangedweapons.min_gun_efficiency") +if skills.min_gun_efficiency == nil then + skills.min_gun_efficiency = 40 + minetest.settings:set("rangedweapons.min_gun_efficiency", skills.min_gun_efficiency) +else + skills.min_gun_efficiency = tonumber(skills.min_gun_efficiency) +end + +-- (e.g. rangedweapons.settings.gore.bloodyness) +settings.gore = {} +local gore = settings.gore +gore.bloodyness = minetest.settings:get("rangedweapons.bloodyness") +if gore.bloodyness == nil then + gore.bloodyness = 10 + minetest.settings:set("rangedweapons.bloodyness", gore.bloodyness) +else + gore.bloodyness = tonumber(gore.bloodyness) +end + +-- (e.g. rangedweapons.settings.durability.gun_durability) +settings.durability = {} +local durability = settings.durability +durability.gun_durability = minetest.settings:get_bool("rangedweapons.gun_durability") +if durability.gun_durability == nil then + durability.gun_durability = true + minetest.settings:set_bool("rangedweapons.gun_durability", durability.gun_durability) +end diff --git a/settingtypes.txt b/settingtypes.txt new file mode 100644 index 0000000..cb42454 --- /dev/null +++ b/settingtypes.txt @@ -0,0 +1,34 @@ + +[Damage Multipliers] + +rangedweapons.player_dmg_multiplier (Player Damage Multiplier) float 1.0 0.0 100.0 + +rangedweapons.mob_dmg_multiplier (Mob Damage Multiplier) float 1.0 0.0 100.0 + +rangedweapons.headshot_dmg_multiplier (Headshot Damage Multiplier) float 1.75 0.0 100.0 + +[Crafting] + +rangedweapons.gun_crafting (Gun Crafting) bool true + +rangedweapons.ammo_crafting (Ammo Crafting) bool true + +rangedweapons.item_crafting (Item Crafting) bool true + +# Rename this to a better name rather than keeping it dumb and unclear +rangedweapons.other_weapon_crafting (Other Weapon Crafting) bool true + +[Skills] + +rangedweapons.max_gun_efficiency (Max Gun Efficiency) int 300 0 1000 + +rangedweapons.min_gun_efficiency (Min Gun Efficiency) int 40 0 1000 + +[Blood & Gore] + +rangedweapons.bloodyness (Bloodyness) int 10 0 100 + +[Durability] + +# Do guns wear out with use +rangedweapons.gun_durability (Gun Durability) bool true