HUD displaying rounds countdown (paired with the voiceover)

This commit is contained in:
Zughy 2020-11-14 11:44:06 +01:00
parent 8abe1f44ae
commit bfa8237bca
6 changed files with 60 additions and 37 deletions

View File

@ -14,17 +14,15 @@ arena_lib.on_load("block_league", function(arena)
equip_weapons(arena, pl_name)
create_and_show_HUD(arena, pl_name)
block_league.HUD_show_inputs(pl_name)
arena_lib.HUD_send_msg("broadcast", pl_name, S("The game will start soon"))
block_league.refill_weapons(arena, pl_name)
minetest.after(3, function()
minetest.sound_play("bl_voice_countdown", {to_player = pl_name})
end)
end
minetest.after(0.1, function()
block_league.info_panel_update(arena)
end)
block_league.countdown_and_start(arena, 3)
end)
@ -35,7 +33,6 @@ arena_lib.on_start("block_league", function(arena)
block_league.HUD_remove_inputs(pl_name)
end
block_league.round_start(arena)
block_league.energy_refill_loop(arena)
end)
@ -165,6 +162,7 @@ end
function remove_HUD(p_name)
arena_lib.HUD_hide("all", p_name)
panel_lib.get_panel(p_name, "bl_info_panel"):remove()
panel_lib.get_panel(p_name, "bl_scoreboard"):remove()
panel_lib.get_panel(p_name, "bl_bullets"):remove()

View File

@ -332,15 +332,7 @@ function after_point(w_name, teamID, arena)
-- sennò inizia un nuovo round
else
minetest.after(2, function()
for pl_name, _ in pairs(arena.players) do
minetest.sound_play("bl_voice_countdown", {to_player = pl_name})
end
end)
minetest.after(5, function()
block_league.round_start(arena)
end)
block_league.countdown_and_start(arena, 3)
end
end

View File

@ -1,8 +1,57 @@
local function display_and_start_countdown() end
local function round_start() end
local function load_ball() end
function block_league.round_start(arena)
function block_league.countdown_and_start(arena, time)
minetest.after(3, function()
for pl_name, _ in pairs(arena.players) do
minetest.sound_play("bl_voice_countdown_" .. time, {to_player = pl_name})
end
display_and_start_countdown(arena, time)
end)
end
function block_league.refill_weapons(arena, p_name)
--TODO avere una tabella per giocatore che tenga traccia delle armi equipaggiate
local default_weapons = {"block_league:smg", "block_league:sword", "block_league:pixelgun"}
for i, weapon_name in pairs(default_weapons) do
local magazine = minetest.registered_nodes[weapon_name].magazine
if magazine then
arena.players[p_name].weapons_magazine[weapon_name] = magazine
block_league.weapons_hud_update(arena, p_name, weapon_name, magazine)
end
end
end
----------------------------------------------
---------------FUNZIONI LOCALI----------------
----------------------------------------------
function display_and_start_countdown(arena, time_left)
if time_left > 0 then
arena_lib.HUD_send_msg_all("broadcast", arena, time_left)
time_left = time_left -1
minetest.after(1, function() display_and_start_countdown(arena, time_left) end)
else
arena_lib.HUD_hide("broadcast", arena)
round_start(arena)
end
end
function round_start(arena)
for p_name, stats in pairs(arena.players) do
local player = minetest.get_player_by_name(p_name)
@ -35,28 +84,6 @@ end
function block_league.refill_weapons(arena, p_name)
--TODO avere una tabella per giocatore che tenga traccia delle armi equipaggiate
local default_weapons = {"block_league:smg", "block_league:sword", "block_league:pixelgun"}
for i, weapon_name in pairs(default_weapons) do
local magazine = minetest.registered_nodes[weapon_name].magazine
if magazine then
arena.players[p_name].weapons_magazine[weapon_name] = magazine
block_league.weapons_hud_update(arena, p_name, weapon_name, magazine)
end
end
end
----------------------------------------------
---------------FUNZIONI LOCALI----------------
----------------------------------------------
function load_ball(arena)
minetest.forceload_block(arena.ball_spawn, true)
minetest.add_entity(arena.ball_spawn,"block_league:ball",arena.name)

View File

@ -25,6 +25,9 @@ Back in the game in @1=Di nuovo in partita tra @1
# privs.lua
It allows to use the /bladmin command=Permette di usare il comando /bladmin
# bl_arena_lib/arena_manager.lua
The game will start soon=La partita comincerà a breve
# bl_arena_lib/arena_timer.lua
No one=Nessuno

View File

@ -25,6 +25,9 @@ Back in the game in @1=
# privs.lua
It allows to use the /bladmin command=
# bl_arena_lib/arena_manager.lua
The game will start soon=
# bl_arena_lib/arena_timer.lua
No one=