diff --git a/.luacheckrc b/.luacheckrc index 1d2a74b..b69ec7d 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -3,9 +3,12 @@ allow_defined_top = true max_line_length = 999 globals = { - "ctf_report", "minetest", + "minetest", + + "ctf_report", "irc", "ctf_playertag", - "gauges", + "gauges", "ctf_hpbar", + "ctf_teams", "PlayerName", } read_globals = { @@ -18,5 +21,4 @@ read_globals = { "dump", } -files["spectator_mode/init.lua"].globals = { "ctf_map" } files["spectator_mode/init.lua"].ignore = { "player" } diff --git a/restart_gift/init.lua b/restart_gift/init.lua deleted file mode 100644 index 0dacdb0..0000000 --- a/restart_gift/init.lua +++ /dev/null @@ -1,35 +0,0 @@ -local can_gift = true -local GIFT_AMOUNT = 50 -local gifted = {} - -minetest.after(60, function() can_gift = false end) - -minetest.register_on_joinplayer(function(player) - if not can_gift then return end - - local pname = player:get_player_name() - minetest.after(2, function() - player = minetest.get_player_by_name(pname) - - if player and not gifted[pname] then - local main, match = ctf_stats.player(pname) - - if main and match then - main.score = main.score + GIFT_AMOUNT - match.score = match.score + GIFT_AMOUNT - - ctf_stats.request_save() - - hud_score.new(pname, { - name = "restart_gift:gift", - color = 0xc000cd, - value = GIFT_AMOUNT - }) - - gifted[pname] = true - end - - minetest.chat_send_player(pname, "Thanks for staying with us through that restart!") - end - end) -end) diff --git a/restart_gift/mod.conf b/restart_gift/mod.conf deleted file mode 100644 index 90e3f07..0000000 --- a/restart_gift/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = restart_gift -depends = hud_score diff --git a/score_award/init.lua b/score_award/init.lua deleted file mode 100644 index 2cde589..0000000 --- a/score_award/init.lua +++ /dev/null @@ -1,35 +0,0 @@ -minetest.register_chatcommand("give_score", { - description = "Give score to player", - params = " ", - privs = {ctf_admin = true}, - func = function(name, params) - params = string.split(params, " ") - - if not params or #params < 2 then - return false, "Please provide a player name and the amount of score to give" - end - - if minetest.get_player_by_name(params[1]) then - local main = ctf_stats.player(params[1]) - - if main then - main.score = main.score + tonumber(params[2]) - - hud_score.new(params[1], { - name = "score_award:score", - color = 0xc000cd, - value = tonumber(params[2]) - }) - - ctf_stats.request_save() - - minetest.chat_send_player(params[1], string.format("%s gave you %d score!", name, params[2])) - return true, string.format("Gave player %s %d score", params[1], tonumber(params[2])) - else - return false, "Something went wrong when awarding the score" - end - else - return false, string.format("Player %s not found!", params[1]) - end - end -}) diff --git a/score_award/mod.conf b/score_award/mod.conf deleted file mode 100644 index 21200b9..0000000 --- a/score_award/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = score_award -depends = ctf_stats diff --git a/spectator_mode/init.lua b/spectator_mode/init.lua index 8458dd6..9165998 100644 --- a/spectator_mode/init.lua +++ b/spectator_mode/init.lua @@ -101,23 +101,6 @@ minetest.register_on_leaveplayer(function(player) end end) -local old_set = ctf_playertag.set -function ctf_playertag.set(player, type, color) - local privs = minetest.get_player_privs(player:get_player_name()) - if not privs.spectate then - return old_set(player, type, color) - end -end - -local old_add_gauge = gauges.add_HP_gauge -function gauges.add_HP_gauge(name) - local privs = minetest.get_player_privs(name) - if not privs.spectate then - return old_add_gauge(name) - end -end - - local function hide_player(player) local prop = { pointable = false, @@ -129,29 +112,45 @@ local function hide_player(player) player:set_properties(prop) player:set_armor_groups({ immortal = 1 }) - player:set_nametag_attributes({color = {a = 0, r = 255, g = 255, b = 255}}) + player:set_nametag_attributes({color = {a = 0, r = 255, g = 255, b = 255}, text = ""}) end minetest.register_on_joinplayer(function(player) - minetest.after(3, function(name) - local player = minetest.get_player_by_name(name) - if not player then - return - end + if not minetest.check_player_privs(player:get_player_name(), { spectate = true }) then + return + end - if not minetest.check_player_privs(name, { spectate = true }) then - return - end + hide_player(player) +end) + +local old_can_show = ctf_hpbar.can_show +function ctf_hpbar.can_show(player, ...) + if minetest.check_player_privs(player:get_player_name(), { spectate = true }) then + return false + end + return old_can_show(player, ...) +end - player:set_armor_groups({immortal = 1}) - old_set(player, ctf_playertag.TYPE_BUILTIN, { a=0, r=255, g=255, b=255 }) +local old_join_func = minetest.send_join_message +local old_leave_func = minetest.send_leave_message - hide_player(player) - end, player:get_player_name()) -end) +function minetest.send_join_message(player_name, ...) + if not minetest.check_player_privs(player_name, { spectate = true }) then + old_join_func(player_name, ...) + end +end + +function minetest.send_leave_message(player_name, ...) + if not minetest.check_player_privs(player_name, { spectate = true }) then + old_leave_func(player_name, ...) + end +end -ctf_map.can_cross = function(player) - return minetest.check_player_privs(player, {spectate = true}) +local old_allocate_player = ctf_teams.allocate_player +function ctf_teams.allocate_player(player, on_join, ...) + if not minetest.check_player_privs(player:get_player_name(), {spectate=true}) then + old_allocate_player(player, on_join, ...) + end end -- /whereis chat-command diff --git a/spectator_mode/mod.conf b/spectator_mode/mod.conf index 5a411b2..1dd098b 100644 --- a/spectator_mode/mod.conf +++ b/spectator_mode/mod.conf @@ -1,2 +1,2 @@ name = spectator_mode -depends = ctf_map_core, ctf_playertag, gauges +depends = ctf_playertag, ctf_hpbar, ctf_modebase, ctf_teams