Make ctf_flag.collect_claimed() return a value, fix a bug
This commit is contained in:
parent
2328870dae
commit
cb7f00cd11
@ -117,9 +117,6 @@ minetest.register_chatcommand("ctf_clean", {
|
||||
func = function(name, param)
|
||||
ctf.log("chat", "Cleaning CTF...")
|
||||
ctf.clean_player_lists()
|
||||
if ctf_flag and ctf_flag.collect_claimed then
|
||||
ctf_flag.collect_claimed()
|
||||
end
|
||||
if ctf_flag and ctf_flag.assert_flags then
|
||||
ctf_flag.assert_flags()
|
||||
end
|
||||
|
@ -66,7 +66,6 @@ local function do_capture(attname, flag, returned)
|
||||
end
|
||||
end
|
||||
|
||||
ctf_flag.collect_claimed()
|
||||
ctf.needs_save = true
|
||||
end
|
||||
|
||||
@ -155,10 +154,11 @@ ctf_flag = {
|
||||
end
|
||||
end,
|
||||
_flagret = function(name)
|
||||
for i = 1, #ctf_flag.claimed do
|
||||
if ctf_flag.claimed[i].claimed.player == name then
|
||||
do_capture(name, ctf_flag.claimed[i], true)
|
||||
ctf_flag.collect_claimed()
|
||||
local claimed = ctf_flag.collect_claimed()
|
||||
for i = 1, #claimed do
|
||||
local flag = claimed[i]
|
||||
if flag.claimed.player == name then
|
||||
do_capture(name, flag, true)
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
@ -71,27 +71,28 @@ function ctf_flag.register_on_pick_up(func)
|
||||
end
|
||||
|
||||
function ctf_flag.collect_claimed()
|
||||
ctf.log("utils", "Collecting claimed locations")
|
||||
ctf_flag.claimed = {}
|
||||
ctf.log("flag", "Collecting claimed locations")
|
||||
local claimed = {}
|
||||
for _, team in pairs(ctf.teams) do
|
||||
for i = 1, #team.flags do
|
||||
if team.flags[i].claimed then
|
||||
table.insert(ctf_flag.claimed, team.flags[i])
|
||||
table.insert(claimed, team.flags[i])
|
||||
end
|
||||
end
|
||||
end
|
||||
return claimed
|
||||
end
|
||||
ctf_flag.collect_claimed()
|
||||
|
||||
function ctf_flag.player_drop_flag(name)
|
||||
if not name then
|
||||
return
|
||||
end
|
||||
for i = 1, #ctf_flag.claimed do
|
||||
local flag = ctf_flag.claimed[i]
|
||||
|
||||
local claimed = ctf_flag.collect_claimed()
|
||||
for i = 1, #claimed do
|
||||
local flag = claimed[i]
|
||||
if flag.claimed.player == name then
|
||||
flag.claimed = nil
|
||||
ctf_flag.collect_claimed()
|
||||
|
||||
local flag_name = ""
|
||||
if flag.name then
|
||||
|
@ -10,11 +10,10 @@ local function safe_place(pos, node)
|
||||
end
|
||||
end
|
||||
|
||||
ctf_flag.collect_claimed()
|
||||
for i, flag in pairs(ctf_flag.claimed) do
|
||||
local claimed = ctf_flag.collect_claimed()
|
||||
for i, flag in pairs(claimed) do
|
||||
flag.claimed = nil
|
||||
end
|
||||
ctf_flag.collect_claimed()
|
||||
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
if ctf.team(ctf.player(player:get_player_name()).team) then
|
||||
|
Loading…
x
Reference in New Issue
Block a user