diff --git a/minigame_manager.lua b/minigame_manager.lua index 48928df..e95d8e4 100644 --- a/minigame_manager.lua +++ b/minigame_manager.lua @@ -63,6 +63,31 @@ arena_lib.on_time_tick('sumo', function(arena) end) +minetest.register_on_player_hpchange(function(player, hp_change) + local pl_name = player:get_player_name() + if arena_lib.is_player_in_arena(pl_name, 'sumo') then + local arena = arena_lib.get_arena_by_player(pl_name) + local hp = player:get_hp() + if arena.in_celebration then --protect winners from damage + return 0 + end + if hp + hp_change <= 0 then --dont ever kill players, but if a damage *would* kill them, then eliminate them, and set their health back to normal + arena_lib.HUD_hide('hotbar', p_name) + arena_lib.remove_player_from_arena(pl_name, 1) + player:set_hp(20) + return 0 + else + return hp_change --if it would not kill players then apply damage as normal + end + + + else + return hp_change + end + + +end, true) + --if the game times out arena_lib.on_timeout('sumo', function(arena)