From bc9650d366a54a9e76835f37e8f5e9d5fc699feb Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 11:55:34 -0700 Subject: [PATCH 01/22] Add ctf_death_message --- .../ctf/ctf_combat/ctf_death_message/init.lua | 71 +++++++++++++++++++ .../ctf/ctf_combat/ctf_death_message/mod.conf | 2 + 2 files changed, 73 insertions(+) create mode 100644 mods/ctf/ctf_combat/ctf_death_message/init.lua create mode 100644 mods/ctf/ctf_combat/ctf_death_message/mod.conf diff --git a/mods/ctf/ctf_combat/ctf_death_message/init.lua b/mods/ctf/ctf_combat/ctf_death_message/init.lua new file mode 100644 index 0000000000..159fb30624 --- /dev/null +++ b/mods/ctf/ctf_combat/ctf_death_message/init.lua @@ -0,0 +1,71 @@ +weapon_data = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, {"knockback_grenade",{"sent flying", "doomed to fall"}}, {"black_hole_grenade",{"sucked into the void"}}, {"sword",{"killed", "slashed", "stabbed", "murdered"}}, {"axe",{"killed", "slashed", "murdered", "axed a question"}}, {"shovel",{"killed with a gardening mere tool"}}, {"pick",{"pickaxed to death"}}, {"ctf_ranged",{"shot", "sniped"}}, {"default_water", {"suffocated"}}} + +ctf_death_message = {} + +function ctf_death_message.death_message(player, killer, weapon_image) + local death_message_setting = ctf_settings.get(minetest.get_player_by_name(player), "ctf_death_message:send_death_message") + local image_index = nil + local death_message = "" + local assist_message = "" + local hitters = ctf_combat_mode.get_other_hitters(player, killer) + + local k_teamcolor = ctf_teams.get(killer) + if k_teamcolor then + local k_teamcolor = ctf_teams.team[k_teamcolor].color + end + for index, data in ipairs(weapon_data) do + if weapon_image:find(data[1]) then + image_index = index + end + end + + if #hitters > 0 then + assist_message = ", assisted by " + for index, pname in ipairs(hitters) do + local a_teamcolor = ctf_teams.get(pname) + if a_teamcolor then + a_teamcolor = ctf_teams.team[a_teamcolor].color + end + if index == 1 then + assist_message = assist_message .. minetest.colorize(a_teamcolor, pname) + elseif index == #hitters then + assist_message = assist_message .. ", and " .. minetest.colorize(a_teamcolor, pname) + + else + assist_message = assist_message .. ", " .. minetest.colorize(a_teamcolor, pname) + end + end + end + + if (death_message_setting == "true") then + if player ~= killer then + if image_index then + death_message = "You were " .. weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] .. " by " .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." + minetest.chat_send_player(player, death_message) + else + death_message = "You were killed by " .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." + minetest.chat_send_player(player, death_message) + end + end + if player == killer and #hitters == 0 then + local suicide_message = nil + if image_index then + suicide_message = weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] + end + if suicide_message == nil then + suicide_message = "suicided" + end + death_message = "You " .. suicide_message .. assist_message .. "." + minetest.chat_send_player(player, death_message) + end + end +end + +minetest.register_on_mods_loaded(function() + ctf_settings.register("ctf_death_message:send_death_message", { + type = "bool", + label = "Recieve death message.", + description = "When enabled, you will recieve a death message whenever you die stating who killed you.", + default = "false", + }) +end) diff --git a/mods/ctf/ctf_combat/ctf_death_message/mod.conf b/mods/ctf/ctf_combat/ctf_death_message/mod.conf new file mode 100644 index 0000000000..c1924824e5 --- /dev/null +++ b/mods/ctf/ctf_combat/ctf_death_message/mod.conf @@ -0,0 +1,2 @@ +name = ctf_death_message +depends = ctf_teams, ctf_combat_mode, ctf_settings From 4789f74c76adae527dec1500a2ed494826da2a4c Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 11:56:39 -0700 Subject: [PATCH 02/22] Update features.lua with death message --- mods/ctf/ctf_modebase/features.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index f5dd62093d..28ccaf9479 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -153,8 +153,10 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(player) then if reason == "punch" then ctf_kill_list.add(player, player, weapon_image) + ctf_death_message.death_message(player, killer, weapon_image) else ctf_kill_list.add("", player, get_suicide_image(reason)) + ctf_death_message.death_message(player, player, get_suicide_image(reason)) end end @@ -180,6 +182,7 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(killer) then ctf_kill_list.add(killer, player, weapon_image, comment) + ctf_death_message.death_message(player, killer, weapon_image) end -- share kill score with other hitters From 8359221d11597b70eec423ffa7b864137e8db128 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:23:12 -0700 Subject: [PATCH 03/22] Attempt to fix luacheck warnings --- .../ctf/ctf_combat/ctf_death_message/init.lua | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/mods/ctf/ctf_combat/ctf_death_message/init.lua b/mods/ctf/ctf_combat/ctf_death_message/init.lua index 159fb30624..c9e5dd1b84 100644 --- a/mods/ctf/ctf_combat/ctf_death_message/init.lua +++ b/mods/ctf/ctf_combat/ctf_death_message/init.lua @@ -1,17 +1,24 @@ -weapon_data = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, {"knockback_grenade",{"sent flying", "doomed to fall"}}, {"black_hole_grenade",{"sucked into the void"}}, {"sword",{"killed", "slashed", "stabbed", "murdered"}}, {"axe",{"killed", "slashed", "murdered", "axed a question"}}, {"shovel",{"killed with a gardening mere tool"}}, {"pick",{"pickaxed to death"}}, {"ctf_ranged",{"shot", "sniped"}}, {"default_water", {"suffocated"}}} +local weapon_data = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, + {"knockback_grenade",{"sent flying", "doomed to fall"}}, + {"black_hole_grenade",{"sucked into the void"}}, + {"sword",{"killed", "slashed", "stabbed", "murdered"}}, + {"axe",{"killed", "slashed", "murdered", "axed a question"}}, + {"shovel",{"killed with a gardening mere tool"}}, + {"pick",{"pickaxed to death"}}, + {"ctf_ranged",{"shot", "sniped"}}, + {"default_water", {"suffocated"}}} ctf_death_message = {} function ctf_death_message.death_message(player, killer, weapon_image) - local death_message_setting = ctf_settings.get(minetest.get_player_by_name(player), "ctf_death_message:send_death_message") + local death_setting = ctf_settings.get(minetest.get_player_by_name(player), "ctf_death_message:send_death_message") local image_index = nil - local death_message = "" local assist_message = "" local hitters = ctf_combat_mode.get_other_hitters(player, killer) local k_teamcolor = ctf_teams.get(killer) if k_teamcolor then - local k_teamcolor = ctf_teams.team[k_teamcolor].color + k_teamcolor = ctf_teams.team[k_teamcolor].color end for index, data in ipairs(weapon_data) do if weapon_image:find(data[1]) then @@ -30,32 +37,33 @@ function ctf_death_message.death_message(player, killer, weapon_image) assist_message = assist_message .. minetest.colorize(a_teamcolor, pname) elseif index == #hitters then assist_message = assist_message .. ", and " .. minetest.colorize(a_teamcolor, pname) - else assist_message = assist_message .. ", " .. minetest.colorize(a_teamcolor, pname) end end end - if (death_message_setting == "true") then + if (death_setting == "true") then if player ~= killer then if image_index then - death_message = "You were " .. weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] .. " by " .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." + local death_message = "You were " + .. weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] + .. " by " .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." minetest.chat_send_player(player, death_message) else - death_message = "You were killed by " .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." + local death_message = "You were killed by " + .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." minetest.chat_send_player(player, death_message) end end if player == killer and #hitters == 0 then local suicide_message = nil - if image_index then - suicide_message = weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] - end - if suicide_message == nil then + if image_index then + suicide_message = weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] + else suicide_message = "suicided" end - death_message = "You " .. suicide_message .. assist_message .. "." + local death_message = "You " .. suicide_message .. assist_message .. "." minetest.chat_send_player(player, death_message) end end From ccd1b4d20b7508f6b8fe1124ab034d36ced0dd55 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:29:35 -0700 Subject: [PATCH 04/22] Attempt to fix luacheck warnings... again --- mods/ctf/ctf_combat/ctf_death_message/init.lua | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/mods/ctf/ctf_combat/ctf_death_message/init.lua b/mods/ctf/ctf_combat/ctf_death_message/init.lua index c9e5dd1b84..1afb7e0c64 100644 --- a/mods/ctf/ctf_combat/ctf_death_message/init.lua +++ b/mods/ctf/ctf_combat/ctf_death_message/init.lua @@ -1,5 +1,5 @@ local weapon_data = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, - {"knockback_grenade",{"sent flying", "doomed to fall"}}, + {"knockback_grenade",{"sent flying", "doomed to fall"}}, {"black_hole_grenade",{"sucked into the void"}}, {"sword",{"killed", "slashed", "stabbed", "murdered"}}, {"axe",{"killed", "slashed", "murdered", "axed a question"}}, @@ -8,9 +8,7 @@ local weapon_data = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, {"ctf_ranged",{"shot", "sniped"}}, {"default_water", {"suffocated"}}} -ctf_death_message = {} - -function ctf_death_message.death_message(player, killer, weapon_image) +function ctf_death_message(player, killer, weapon_image) local death_setting = ctf_settings.get(minetest.get_player_by_name(player), "ctf_death_message:send_death_message") local image_index = nil local assist_message = "" @@ -46,7 +44,7 @@ function ctf_death_message.death_message(player, killer, weapon_image) if (death_setting == "true") then if player ~= killer then if image_index then - local death_message = "You were " + local death_message = "You were " .. weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] .. " by " .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." minetest.chat_send_player(player, death_message) @@ -57,7 +55,7 @@ function ctf_death_message.death_message(player, killer, weapon_image) end end if player == killer and #hitters == 0 then - local suicide_message = nil + local suicide_message if image_index then suicide_message = weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] else From 4fe17a37bf98c8400713a8b1e4ecadda74c880b1 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:30:44 -0700 Subject: [PATCH 05/22] Update features.lua --- mods/ctf/ctf_modebase/features.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index 28ccaf9479..817a49cd8d 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -153,10 +153,10 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(player) then if reason == "punch" then ctf_kill_list.add(player, player, weapon_image) - ctf_death_message.death_message(player, killer, weapon_image) + ctf_death_message(player, killer, weapon_image) else ctf_kill_list.add("", player, get_suicide_image(reason)) - ctf_death_message.death_message(player, player, get_suicide_image(reason)) + ctf_death_message(player, player, get_suicide_image(reason)) end end @@ -182,7 +182,7 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(killer) then ctf_kill_list.add(killer, player, weapon_image, comment) - ctf_death_message.death_message(player, killer, weapon_image) + ctf_death_message(player, killer, weapon_image) end -- share kill score with other hitters From f53416a7edabe73a9460898c7eef37a04f0296c7 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:47:07 -0700 Subject: [PATCH 06/22] Luacheck attempt #3 --- mods/ctf/ctf_combat/ctf_death_message/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ctf/ctf_combat/ctf_death_message/init.lua b/mods/ctf/ctf_combat/ctf_death_message/init.lua index 1afb7e0c64..6b457244cd 100644 --- a/mods/ctf/ctf_combat/ctf_death_message/init.lua +++ b/mods/ctf/ctf_combat/ctf_death_message/init.lua @@ -8,7 +8,7 @@ local weapon_data = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, {"ctf_ranged",{"shot", "sniped"}}, {"default_water", {"suffocated"}}} -function ctf_death_message(player, killer, weapon_image) +function ctf_kill_list.ctf_death_message(player, killer, weapon_image) local death_setting = ctf_settings.get(minetest.get_player_by_name(player), "ctf_death_message:send_death_message") local image_index = nil local assist_message = "" From 16638cd9fd61db29d69529ae49bf4126515dd5b7 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:47:30 -0700 Subject: [PATCH 07/22] Luacheck Attempt #3 --- mods/ctf/ctf_modebase/features.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index 817a49cd8d..76627c4680 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -153,10 +153,10 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(player) then if reason == "punch" then ctf_kill_list.add(player, player, weapon_image) - ctf_death_message(player, killer, weapon_image) + ctf_kill_list.ctf_death_message(player, killer, weapon_image) else ctf_kill_list.add("", player, get_suicide_image(reason)) - ctf_death_message(player, player, get_suicide_image(reason)) + ctf_kill_list.ctf_death_message(player, player, get_suicide_image(reason)) end end @@ -182,7 +182,7 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(killer) then ctf_kill_list.add(killer, player, weapon_image, comment) - ctf_death_message(player, killer, weapon_image) + ctf_kill_list.ctf_death_message(player, killer, weapon_image) end -- share kill score with other hitters From bddf58fb54e80c9867172353c39d063aa1f83bee Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 20:07:43 -0700 Subject: [PATCH 08/22] Put death message in features.lua --- mods/ctf/ctf_modebase/features.lua | 87 ++++++++++++++++++++++++++++-- 1 file changed, 84 insertions(+), 3 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index 76627c4680..662d7074d0 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -5,6 +5,18 @@ local FLAG_CAPTURE_TIMER = 60 * 3 local many_teams = false local team_list local teams_left +local death_messages = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, + {"knockback_grenade",{"sent flying", "doomed to fall"}}, + {"black_hole_grenade",{"sucked into the void"}}, + {"sword",{"killed", "slashed", "stabbed", "murdered"}}, + {"axe",{"killed", "slashed", "murdered", "axed a question"}}, + {"shovel",{"killed with a gardening mere tool"}}, + {"pick",{"pickaxed to death"}}, + {"ctf_ranged",{"shot", "sniped"}}, + {"default_water", {"suffocated"}}, + {"damage_cobble", {"mined something deadly placed"}}, + {"lava", {"tried to swim in lava"}}, + {"fire", {"burnt to a crisp"}}} local function calculate_killscore(player) local match_rank = recent_rankings.players()[player] or {} @@ -66,6 +78,75 @@ local function get_suicide_image(reason) return image end +local function death_message(player, killer, weapon_image) + local death_setting = ctf_settings.get(minetest.get_player_by_name(player), "send_death_message") + local image_index = nil + local assist_message = "" + local hitters = ctf_combat_mode.get_other_hitters(player, killer) + + local k_teamcolor = ctf_teams.get(killer) + if k_teamcolor then + k_teamcolor = ctf_teams.team[k_teamcolor].color + end + for index, data in ipairs(death_messages) do + if weapon_image:find(data[1]) then + image_index = index + end + end + + if #hitters > 0 then + assist_message = ", assisted by " + for index, pname in ipairs(hitters) do + local a_teamcolor = ctf_teams.get(pname) + if a_teamcolor then + a_teamcolor = ctf_teams.team[a_teamcolor].color + end + if index == 1 then + assist_message = assist_message .. minetest.colorize(a_teamcolor, pname) + elseif index == #hitters then + assist_message = assist_message .. ", and " .. minetest.colorize(a_teamcolor, pname) + else + assist_message = assist_message .. ", " .. minetest.colorize(a_teamcolor, pname) + end + end + end + + if (death_setting == "true") then + if player ~= killer then + if image_index then + local death_message = "You were " + .. death_messages[image_index][2][math.random(1,#death_messages[image_index][2])] + .. " by " .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." + minetest.chat_send_player(player, death_message) + else + local death_message = "You were killed by " + .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." + minetest.chat_send_player(player, death_message) + end + end + if player == killer and #hitters == 0 then + local suicide_message + if image_index then + suicide_message = death_messages[image_index][2][math.random(1,#death_messages[image_index][2])] + else + suicide_message = "suicided" + end + local death_message = "You " .. suicide_message .. assist_message .. "." + minetest.chat_send_player(player, death_message) + end + end +end + +if not death_setting_registered then + ctf_settings.register("send_death_message", { + type = "bool", + label = "Recieve death message.", + description = "When enabled, you will recieve a death message whenever you die stating who killed you.", + default = "false", + }) + death_setting_registered = true +end + local function tp_player_near_flag(player) local tname = ctf_teams.get(player) if not tname then return end @@ -153,10 +234,10 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(player) then if reason == "punch" then ctf_kill_list.add(player, player, weapon_image) - ctf_kill_list.ctf_death_message(player, killer, weapon_image) + death_message(player, killer, weapon_image) else ctf_kill_list.add("", player, get_suicide_image(reason)) - ctf_kill_list.ctf_death_message(player, player, get_suicide_image(reason)) + death_message(player, player, get_suicide_image(reason)) end end @@ -182,7 +263,7 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(killer) then ctf_kill_list.add(killer, player, weapon_image, comment) - ctf_kill_list.ctf_death_message(player, killer, weapon_image) + death_message(player, killer, weapon_image) end -- share kill score with other hitters From 12356ca08275fe4607a2236202d0bc3790c86a05 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 20:54:47 -0700 Subject: [PATCH 09/22] Delete init.lua --- .../ctf/ctf_combat/ctf_death_message/init.lua | 77 ------------------- 1 file changed, 77 deletions(-) delete mode 100644 mods/ctf/ctf_combat/ctf_death_message/init.lua diff --git a/mods/ctf/ctf_combat/ctf_death_message/init.lua b/mods/ctf/ctf_combat/ctf_death_message/init.lua deleted file mode 100644 index 6b457244cd..0000000000 --- a/mods/ctf/ctf_combat/ctf_death_message/init.lua +++ /dev/null @@ -1,77 +0,0 @@ -local weapon_data = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, - {"knockback_grenade",{"sent flying", "doomed to fall"}}, - {"black_hole_grenade",{"sucked into the void"}}, - {"sword",{"killed", "slashed", "stabbed", "murdered"}}, - {"axe",{"killed", "slashed", "murdered", "axed a question"}}, - {"shovel",{"killed with a gardening mere tool"}}, - {"pick",{"pickaxed to death"}}, - {"ctf_ranged",{"shot", "sniped"}}, - {"default_water", {"suffocated"}}} - -function ctf_kill_list.ctf_death_message(player, killer, weapon_image) - local death_setting = ctf_settings.get(minetest.get_player_by_name(player), "ctf_death_message:send_death_message") - local image_index = nil - local assist_message = "" - local hitters = ctf_combat_mode.get_other_hitters(player, killer) - - local k_teamcolor = ctf_teams.get(killer) - if k_teamcolor then - k_teamcolor = ctf_teams.team[k_teamcolor].color - end - for index, data in ipairs(weapon_data) do - if weapon_image:find(data[1]) then - image_index = index - end - end - - if #hitters > 0 then - assist_message = ", assisted by " - for index, pname in ipairs(hitters) do - local a_teamcolor = ctf_teams.get(pname) - if a_teamcolor then - a_teamcolor = ctf_teams.team[a_teamcolor].color - end - if index == 1 then - assist_message = assist_message .. minetest.colorize(a_teamcolor, pname) - elseif index == #hitters then - assist_message = assist_message .. ", and " .. minetest.colorize(a_teamcolor, pname) - else - assist_message = assist_message .. ", " .. minetest.colorize(a_teamcolor, pname) - end - end - end - - if (death_setting == "true") then - if player ~= killer then - if image_index then - local death_message = "You were " - .. weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] - .. " by " .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." - minetest.chat_send_player(player, death_message) - else - local death_message = "You were killed by " - .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." - minetest.chat_send_player(player, death_message) - end - end - if player == killer and #hitters == 0 then - local suicide_message - if image_index then - suicide_message = weapon_data[image_index][2][math.random(1,#weapon_data[image_index][2])] - else - suicide_message = "suicided" - end - local death_message = "You " .. suicide_message .. assist_message .. "." - minetest.chat_send_player(player, death_message) - end - end -end - -minetest.register_on_mods_loaded(function() - ctf_settings.register("ctf_death_message:send_death_message", { - type = "bool", - label = "Recieve death message.", - description = "When enabled, you will recieve a death message whenever you die stating who killed you.", - default = "false", - }) -end) From 9f5a8f706db8d0e891f94e1e6f12f9951af8d2ba Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 20:55:14 -0700 Subject: [PATCH 10/22] Delete mod.conf --- mods/ctf/ctf_combat/ctf_death_message/mod.conf | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 mods/ctf/ctf_combat/ctf_death_message/mod.conf diff --git a/mods/ctf/ctf_combat/ctf_death_message/mod.conf b/mods/ctf/ctf_combat/ctf_death_message/mod.conf deleted file mode 100644 index c1924824e5..0000000000 --- a/mods/ctf/ctf_combat/ctf_death_message/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = ctf_death_message -depends = ctf_teams, ctf_combat_mode, ctf_settings From 8c53aea20b2ed50865e66f1c423c4ea99f9966f9 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 21:05:48 -0700 Subject: [PATCH 11/22] Update features.lua --- mods/ctf/ctf_modebase/features.lua | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index 662d7074d0..ce8b4400bc 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -5,6 +5,7 @@ local FLAG_CAPTURE_TIMER = 60 * 3 local many_teams = false local team_list local teams_left +local death_setting_registered = false local death_messages = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, {"knockback_grenade",{"sent flying", "doomed to fall"}}, {"black_hole_grenade",{"sucked into the void"}}, @@ -78,7 +79,7 @@ local function get_suicide_image(reason) return image end -local function death_message(player, killer, weapon_image) +local function send_death_message(player, killer, weapon_image) local death_setting = ctf_settings.get(minetest.get_player_by_name(player), "send_death_message") local image_index = nil local assist_message = "" @@ -137,15 +138,12 @@ local function death_message(player, killer, weapon_image) end end -if not death_setting_registered then - ctf_settings.register("send_death_message", { - type = "bool", - label = "Recieve death message.", - description = "When enabled, you will recieve a death message whenever you die stating who killed you.", - default = "false", - }) - death_setting_registered = true -end +ctf_settings.register("send_death_message", { + type = "bool", + label = "Recieve death message.", + description = "When enabled, you will recieve a death message whenever you die stating who killed you.", + default = "false", +}) local function tp_player_near_flag(player) local tname = ctf_teams.get(player) @@ -234,10 +232,10 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(player) then if reason == "punch" then ctf_kill_list.add(player, player, weapon_image) - death_message(player, killer, weapon_image) + send_death_message(player, killer, weapon_image) else ctf_kill_list.add("", player, get_suicide_image(reason)) - death_message(player, player, get_suicide_image(reason)) + send_death_message(player, player, get_suicide_image(reason)) end end @@ -263,7 +261,7 @@ local function end_combat_mode(player, reason, killer, weapon_image) if ctf_teams.get(killer) then ctf_kill_list.add(killer, player, weapon_image, comment) - death_message(player, killer, weapon_image) + send_death_message(player, killer, weapon_image) end -- share kill score with other hitters From 7917da95532db4e6d638f466f5c8537b49823cd9 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 21:07:08 -0700 Subject: [PATCH 12/22] did I seriously forget to take that out --- mods/ctf/ctf_modebase/features.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index ce8b4400bc..d02e81ce44 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -5,7 +5,6 @@ local FLAG_CAPTURE_TIMER = 60 * 3 local many_teams = false local team_list local teams_left -local death_setting_registered = false local death_messages = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, {"knockback_grenade",{"sent flying", "doomed to fall"}}, {"black_hole_grenade",{"sucked into the void"}}, From 4ca7d92a6d431870eb3edfd1464dde054d77e512 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 22:54:41 -0700 Subject: [PATCH 13/22] Fix registering setting multiple times --- mods/ctf/ctf_modebase/features.lua | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index d02e81ce44..8d2d5e2e73 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -5,6 +5,7 @@ local FLAG_CAPTURE_TIMER = 60 * 3 local many_teams = false local team_list local teams_left +local death_setting_registered = false local death_messages = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, {"knockback_grenade",{"sent flying", "doomed to fall"}}, {"black_hole_grenade",{"sucked into the void"}}, @@ -137,12 +138,14 @@ local function send_death_message(player, killer, weapon_image) end end -ctf_settings.register("send_death_message", { - type = "bool", - label = "Recieve death message.", - description = "When enabled, you will recieve a death message whenever you die stating who killed you.", - default = "false", -}) +if not ctf_settings.settings["send_death_message"] then + ctf_settings.register("send_death_message", { + type = "bool", + label = "Recieve death message.", + description = "When enabled, you will recieve a death message whenever you die stating who killed you.", + default = "false", + }) +end local function tp_player_near_flag(player) local tname = ctf_teams.get(player) From 7825e95bb508c04d5cd601af39dc3573d44d44ee Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Tue, 11 Jul 2023 22:57:44 -0700 Subject: [PATCH 14/22] how did I forget that again --- mods/ctf/ctf_modebase/features.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index 8d2d5e2e73..e180303446 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -5,7 +5,6 @@ local FLAG_CAPTURE_TIMER = 60 * 3 local many_teams = false local team_list local teams_left -local death_setting_registered = false local death_messages = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, {"knockback_grenade",{"sent flying", "doomed to fall"}}, {"black_hole_grenade",{"sucked into the void"}}, From 5bf5da072c24b4ae32968b97262a5bf43b8bf2c6 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Wed, 12 Jul 2023 00:15:47 -0700 Subject: [PATCH 15/22] move settings register out of ctf_modebase.features --- mods/ctf/ctf_modebase/features.lua | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index e180303446..aa389904e3 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -137,15 +137,6 @@ local function send_death_message(player, killer, weapon_image) end end -if not ctf_settings.settings["send_death_message"] then - ctf_settings.register("send_death_message", { - type = "bool", - label = "Recieve death message.", - description = "When enabled, you will recieve a death message whenever you die stating who killed you.", - default = "false", - }) -end - local function tp_player_near_flag(player) local tname = ctf_teams.get(player) if not tname then return end @@ -677,3 +668,10 @@ return { } end + +ctf_settings.register("send_death_message", { + type = "bool", + label = "Recieve death message", + description = "When enabled, you will recieve a death message whenever you die stating who killed you.", + default = "false", +}) From 30df22ac9abe8066dfdac23b3e2b5372a1392941 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Fri, 14 Jul 2023 09:12:24 -0700 Subject: [PATCH 16/22] I should enable spellcheck Co-authored-by: Farooq Karimi Zadeh --- mods/ctf/ctf_modebase/features.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index aa389904e3..77d0c62f23 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -671,7 +671,7 @@ end ctf_settings.register("send_death_message", { type = "bool", - label = "Recieve death message", + label = "Receive death message", description = "When enabled, you will recieve a death message whenever you die stating who killed you.", default = "false", }) From 47f309fe837cd94fcbdd72458be316f9dc1c0b4c Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Fri, 14 Jul 2023 09:12:50 -0700 Subject: [PATCH 17/22] Change description a tiny bit Co-authored-by: Farooq Karimi Zadeh --- mods/ctf/ctf_modebase/features.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index 77d0c62f23..9bc2554b5a 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -672,6 +672,6 @@ end ctf_settings.register("send_death_message", { type = "bool", label = "Receive death message", - description = "When enabled, you will recieve a death message whenever you die stating who killed you.", + description = "When enabled, you will receive a death message whenever you die stating who killed you and how.", default = "false", }) From 2b2e52a6139ceb1264655aa82cfc3418153ef6d9 Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Fri, 14 Jul 2023 10:11:50 -0700 Subject: [PATCH 18/22] I should learn more about lua data structures --- mods/ctf/ctf_modebase/features.lua | 50 ++++++++++++++---------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index 9bc2554b5a..bf8a0c3cac 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -5,18 +5,21 @@ local FLAG_CAPTURE_TIMER = 60 * 3 local many_teams = false local team_list local teams_left -local death_messages = {{"grenades_frag",{"blown up", "bombed", "exploded"}}, - {"knockback_grenade",{"sent flying", "doomed to fall"}}, - {"black_hole_grenade",{"sucked into the void"}}, - {"sword",{"killed", "slashed", "stabbed", "murdered"}}, - {"axe",{"killed", "slashed", "murdered", "axed a question"}}, - {"shovel",{"killed with a gardening mere tool"}}, - {"pick",{"pickaxed to death"}}, - {"ctf_ranged",{"shot", "sniped"}}, - {"default_water", {"suffocated"}}, - {"damage_cobble", {"mined something deadly placed"}}, - {"lava", {"tried to swim in lava"}}, - {"fire", {"burnt to a crisp"}}} +local death_messages = { + ["grenades_frag"] = {"blown up", "bombed", "exploded"}, + ["knockback_grenade"] = {"sent flying", "doomed to fall"}, + ["black_hole_grenade"] = {"sucked into the void"}, + ["sword"] = {"killed", "slashed", "stabbed", "murdered"}, + ["axe"] = {"killed", "slashed", "murdered", "axed a question"}, + ["shovel"] = {"killed with a gardening mere tool"}, + ["pick"] = {"pickaxed to death"}, + ["ctf_ranged"] = {"shot", "sniped"}, + ["default_water"] = {"suffocated"}, + ["damage_cobble"] = {"mined something deadly placed"}, + ["lava"] = {"tried to swim in lava"}, + ["fire"] = {"burnt to a crisp"} +} + local function calculate_killscore(player) local match_rank = recent_rankings.players()[player] or {} @@ -82,15 +85,16 @@ local function send_death_message(player, killer, weapon_image) local death_setting = ctf_settings.get(minetest.get_player_by_name(player), "send_death_message") local image_index = nil local assist_message = "" + local weapon_message local hitters = ctf_combat_mode.get_other_hitters(player, killer) local k_teamcolor = ctf_teams.get(killer) if k_teamcolor then k_teamcolor = ctf_teams.team[k_teamcolor].color end - for index, data in ipairs(death_messages) do - if weapon_image:find(data[1]) then - image_index = index + for key, data in pairs(death_messages) do + if weapon_image:find(tostring(key)) then + weapon_message = data[math.random(1,#data)] end end @@ -113,9 +117,8 @@ local function send_death_message(player, killer, weapon_image) if (death_setting == "true") then if player ~= killer then - if image_index then - local death_message = "You were " - .. death_messages[image_index][2][math.random(1,#death_messages[image_index][2])] + if weapon_message then + local death_message = "You were " .. weapon_message .. " by " .. minetest.colorize(k_teamcolor, killer) .. assist_message .. "." minetest.chat_send_player(player, death_message) else @@ -125,12 +128,7 @@ local function send_death_message(player, killer, weapon_image) end end if player == killer and #hitters == 0 then - local suicide_message - if image_index then - suicide_message = death_messages[image_index][2][math.random(1,#death_messages[image_index][2])] - else - suicide_message = "suicided" - end + local suicide_message = weapon_message or "suicided" local death_message = "You " .. suicide_message .. assist_message .. "." minetest.chat_send_player(player, death_message) end @@ -671,7 +669,7 @@ end ctf_settings.register("send_death_message", { type = "bool", - label = "Receive death message", - description = "When enabled, you will receive a death message whenever you die stating who killed you and how.", + label = "Recieve death message.", + description = "When enabled, you will recieve a death message whenever you die stating who killed you.", default = "false", }) From 3171fc2029e44d943a71cef147615f77bf93580c Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Fri, 14 Jul 2023 10:14:20 -0700 Subject: [PATCH 19/22] Appeasing luacheck --- mods/ctf/ctf_modebase/features.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index bf8a0c3cac..9d01bbbaec 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -19,7 +19,6 @@ local death_messages = { ["lava"] = {"tried to swim in lava"}, ["fire"] = {"burnt to a crisp"} } - local function calculate_killscore(player) local match_rank = recent_rankings.players()[player] or {} @@ -83,8 +82,7 @@ end local function send_death_message(player, killer, weapon_image) local death_setting = ctf_settings.get(minetest.get_player_by_name(player), "send_death_message") - local image_index = nil - local assist_message = "" + local assist_message local weapon_message local hitters = ctf_combat_mode.get_other_hitters(player, killer) From a18c89a77e2d9a5a6c82ee968820855839730f6b Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Fri, 14 Jul 2023 10:18:50 -0700 Subject: [PATCH 20/22] Replacing something I shouldn't have removed --- mods/ctf/ctf_modebase/features.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index 9d01bbbaec..c0b990a4dc 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -82,7 +82,7 @@ end local function send_death_message(player, killer, weapon_image) local death_setting = ctf_settings.get(minetest.get_player_by_name(player), "send_death_message") - local assist_message + local assist_message = "" local weapon_message local hitters = ctf_combat_mode.get_other_hitters(player, killer) From b91e48d3b359fcce7a8c9c614685e876e246a77c Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Wed, 22 May 2024 17:32:51 -0700 Subject: [PATCH 21/22] Update mods/ctf/ctf_modebase/features.lua Co-authored-by: LoneWolfHT --- mods/ctf/ctf_modebase/features.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index c0b990a4dc..a61b23fdfb 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -665,9 +665,9 @@ return { end -ctf_settings.register("send_death_message", { +ctf_settings.register("send_death_messages", { type = "bool", - label = "Recieve death message.", - description = "When enabled, you will recieve a death message whenever you die stating who killed you.", - default = "false", + label = "Receive death messages.", + description = "When enabled, you will receive a death message whenever you die stating who killed you.", + default = "true", }) From bb3d61bc984933c346c86ef82888638f0f6dd0bb Mon Sep 17 00:00:00 2001 From: "Peace12345 (Aka Brain_Juice)" <102005519+165135@users.noreply.github.com> Date: Wed, 22 May 2024 17:33:14 -0700 Subject: [PATCH 22/22] Update mods/ctf/ctf_modebase/features.lua Co-authored-by: LoneWolfHT --- mods/ctf/ctf_modebase/features.lua | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/mods/ctf/ctf_modebase/features.lua b/mods/ctf/ctf_modebase/features.lua index a61b23fdfb..0e0aea467f 100644 --- a/mods/ctf/ctf_modebase/features.lua +++ b/mods/ctf/ctf_modebase/features.lua @@ -6,18 +6,19 @@ local many_teams = false local team_list local teams_left local death_messages = { - ["grenades_frag"] = {"blown up", "bombed", "exploded"}, + ["grenades_frag"] = {"blown up", "fragged"}, ["knockback_grenade"] = {"sent flying", "doomed to fall"}, ["black_hole_grenade"] = {"sucked into the void"}, - ["sword"] = {"killed", "slashed", "stabbed", "murdered"}, - ["axe"] = {"killed", "slashed", "murdered", "axed a question"}, - ["shovel"] = {"killed with a gardening mere tool"}, - ["pick"] = {"pickaxed to death"}, - ["ctf_ranged"] = {"shot", "sniped"}, - ["default_water"] = {"suffocated"}, - ["damage_cobble"] = {"mined something deadly placed"}, - ["lava"] = {"tried to swim in lava"}, - ["fire"] = {"burnt to a crisp"} + ["sword"] = {"killed", "sliced up"}, + ["axe"] = {"killed", "chopped up",}, + ["shovel"] = {"killed with the tool that dug your grave"}, + ["pick"] = {"killed", "mistaken for mese ore"}, + ["ctf_ranged"] = {"shot"}, + ["rifle"] = {"sniped"}, + ["default_water"] = {"drowned", "over-hydrated"}, + ["damage_cobble"] = {"mined a little too much damage cobble"}, + ["lava"] = {"tried to swim in lava", "took a hot bath"}, + ["fire"] = {"burnt to a crisp"}, } local function calculate_killscore(player)