ctf_classes: Award points to medic for healing (#606)
This commit is contained in:
parent
eddd04168b
commit
1fda60bbbc
4 changed files with 37 additions and 3 deletions
|
@ -16,7 +16,7 @@ globals = {
|
||||||
"ctf_colors", "hudkit", "default", "treasurer", "ChatCmdBuilder", "ctf_map",
|
"ctf_colors", "hudkit", "default", "treasurer", "ChatCmdBuilder", "ctf_map",
|
||||||
"ctf_match", "ctf_stats", "ctf_treasure", "ctf_playertag", "chatplus", "irc",
|
"ctf_match", "ctf_stats", "ctf_treasure", "ctf_playertag", "chatplus", "irc",
|
||||||
"armor", "vote", "give_initial_stuff", "hud_score", "physics", "tsm_chests",
|
"armor", "vote", "give_initial_stuff", "hud_score", "physics", "tsm_chests",
|
||||||
"armor", "shooter", "grenades", "ctf_classes"
|
"armor", "shooter", "grenades", "ctf_classes", "ctf_bandages"
|
||||||
}
|
}
|
||||||
|
|
||||||
read_globals = {
|
read_globals = {
|
||||||
|
|
|
@ -5,7 +5,7 @@ ctf_classes = {
|
||||||
|
|
||||||
dofile(minetest.get_modpath("ctf_classes") .. "/api.lua")
|
dofile(minetest.get_modpath("ctf_classes") .. "/api.lua")
|
||||||
dofile(minetest.get_modpath("ctf_classes") .. "/gui.lua")
|
dofile(minetest.get_modpath("ctf_classes") .. "/gui.lua")
|
||||||
dofile(minetest.get_modpath("ctf_classes") .. "/regen.lua")
|
dofile(minetest.get_modpath("ctf_classes") .. "/medic.lua")
|
||||||
dofile(minetest.get_modpath("ctf_classes") .. "/ranged.lua")
|
dofile(minetest.get_modpath("ctf_classes") .. "/ranged.lua")
|
||||||
dofile(minetest.get_modpath("ctf_classes") .. "/items.lua")
|
dofile(minetest.get_modpath("ctf_classes") .. "/items.lua")
|
||||||
dofile(minetest.get_modpath("ctf_classes") .. "/flags.lua")
|
dofile(minetest.get_modpath("ctf_classes") .. "/flags.lua")
|
||||||
|
|
|
@ -63,3 +63,37 @@ minetest.register_globalstep(function(delta)
|
||||||
|
|
||||||
regen_update()
|
regen_update()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
local bandage_on_use = minetest.registered_items["ctf_bandages:bandage"].on_use
|
||||||
|
minetest.override_item("ctf_bandages:bandage", {
|
||||||
|
on_use = function(stack, user, pointed_thing)
|
||||||
|
if pointed_thing.type ~= "object" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local object = pointed_thing.ref
|
||||||
|
if not object:is_player() then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local pname = object:get_player_name()
|
||||||
|
local name = user:get_player_name()
|
||||||
|
if ctf.player(pname).team == ctf.player(name).team then
|
||||||
|
local hp = object:get_hp()
|
||||||
|
local limit = ctf_bandages.heal_percent * object:get_properties().hp_max
|
||||||
|
if hp > 0 and hp < limit then
|
||||||
|
local main, match = ctf_stats.player(name)
|
||||||
|
if main and match then
|
||||||
|
local reward = 5
|
||||||
|
main.score = main.score + reward
|
||||||
|
match.score = match.score + reward
|
||||||
|
|
||||||
|
hud_score.new(name, {
|
||||||
|
name = "ctf_stats:heal_score",
|
||||||
|
color = "0x00FF00",
|
||||||
|
value = reward
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return bandage_on_use(stack, user, pointed_thing)
|
||||||
|
end
|
||||||
|
})
|
|
@ -1,3 +1,3 @@
|
||||||
name = ctf_classes
|
name = ctf_classes
|
||||||
depends = ctf, ctf_flag, ctf_colors, ctf_map_core, ctf_bandages, physics, shooter, hpregen, give_initial_stuff, dropondie, crafting
|
depends = ctf, ctf_flag, ctf_colors, ctf_map_core, ctf_stats, ctf_bandages, physics, shooter, hpregen, give_initial_stuff, dropondie, crafting
|
||||||
description = Adds classes, including knight, shooter, and medic
|
description = Adds classes, including knight, shooter, and medic
|
||||||
|
|
Loading…
Reference in a new issue