Skip to content

Commit c4a9605

Browse files
committed
better damage mechanism
1 parent 89ad15a commit c4a9605

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

mods/ctf/ctf_map/ctf_traps.lua

+10-4
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ for _, team in ipairs(ctf_teams.teamlist) do
9494
on_place = function(itemstack, placer, pointed_thing)
9595
local item, pos = minetest.item_place(itemstack, placer, pointed_thing, 34)
9696
if item then
97-
minetest.get_meta(pointed_thing.above):set_string("placer", placer:get_player_name())
97+
local pname = placer:get_player_name()
98+
minetest.get_meta(pointed_thing.above):set_string("placer_team", ctf_teams.get(pname))
99+
minetest.get_meta(pointed_thing.above):set_string("placer", pname)
98100
end
99101
return item, pos
100102
end
@@ -110,12 +112,16 @@ minetest.register_on_player_hpchange(function(player, hp_change, reason)
110112
end
111113
if reason.node_pos then
112114
local meta = minetest.get_meta(reason.node_pos)
115+
local pteam = meta:get_string("placer_team")
113116
local pname = meta:get_string("placer")
114-
if pname ~= "" then
117+
if pteam ~= team then
115118
local placer = minetest.get_player_by_name(pname)
116-
if placer then
119+
if ctf_teams.get(pname) == team then
120+
player:set_hp(player:get_hp() - 7)
121+
return -7, false
122+
elseif placer then
117123
player:punch(placer, 1, { fleshy = 7, spike = 1})
118-
return 0
124+
return -7, false
119125
end
120126
end
121127
end

0 commit comments

Comments
 (0)