Conflicts:
	mods/ctf/ctf_classes/classes.lua
This commit is contained in:
philipmi 2021-05-24 22:06:21 +02:00
commit 28ce8e6c63
2 changed files with 22 additions and 0 deletions

View file

@ -163,6 +163,7 @@ ctf_classes.register("rocketeer", {
-- Disallow rocketeers from capturing flags - they're intended to be support -- Disallow rocketeers from capturing flags - they're intended to be support
can_capture = false, can_capture = false,
max_hp = 15, max_hp = 15,
allow_rockets = true,
initial_stuff = { initial_stuff = {
"shooter_rocket:rocket_gun_loaded", "shooter_rocket:rocket_gun_loaded",
@ -171,6 +172,7 @@ ctf_classes.register("rocketeer", {
additional_item_blacklist = { additional_item_blacklist = {
"shooter_rocket:rocket_gun", "shooter_rocket:rocket_gun",
"shooter_rocket:rocket"
}, },
allowed_guns = { allowed_guns = {

View file

@ -66,10 +66,30 @@ local function check_grapple(itemname)
}) })
end end
local function check_rocket(itemname)
local def = minetest.registered_items[itemname]
local old_func = def.on_use
minetest.override_item(itemname, {
on_use = function(itemstack, user, ...)
if not ctf_classes.get(user).properties.allow_rockets then
minetest.chat_send_player(user:get_player_name(),
"You can't use that weapon! Change your class at base.")
return itemstack
end
return old_func(itemstack, user, ...)
end,
})
end
check_grapple("shooter_hook:grapple_gun_loaded") check_grapple("shooter_hook:grapple_gun_loaded")
check_grapple("shooter_hook:grapple_gun") check_grapple("shooter_hook:grapple_gun")
check_grapple("shooter_hook:grapple_hook") check_grapple("shooter_hook:grapple_hook")
check_rocket("shooter_rocket:rocket_gun_loaded")
check_rocket("shooter_rocket:rocket_gun")
-- Override grappling hook entity to check if player has flag before teleporting -- Override grappling hook entity to check if player has flag before teleporting
local old_grapple_step = minetest.registered_entities["shooter_hook:hook"].on_step local old_grapple_step = minetest.registered_entities["shooter_hook:hook"].on_step
minetest.registered_entities["shooter_hook:hook"].on_step = function(self, dtime, ...) minetest.registered_entities["shooter_hook:hook"].on_step = function(self, dtime, ...)