From 53fc1bbbc0326da0764e5b011e415b0159af2e2d Mon Sep 17 00:00:00 2001 From: Zughy <4279489-marco_a@users.noreply.gitlab.com> Date: Thu, 29 Oct 2020 01:19:31 +0100 Subject: [PATCH] continuata pulizia generale --- _arena_lib/arena_manager.lua | 10 +------- _arena_lib/arena_properties.lua | 1 - {_misc => _modes/TD}/ball.lua | 39 ++++------------------------ _modes/game_main.lua | 45 +++++++++++++++++++++++++++++++++ _weapons/sword.lua | 1 + init.lua | 5 ++-- 6 files changed, 55 insertions(+), 46 deletions(-) delete mode 100644 _arena_lib/arena_properties.lua rename {_misc => _modes/TD}/ball.lua (86%) create mode 100644 _modes/game_main.lua diff --git a/_arena_lib/arena_manager.lua b/_arena_lib/arena_manager.lua index 180afd8..73bce25 100644 --- a/_arena_lib/arena_manager.lua +++ b/_arena_lib/arena_manager.lua @@ -54,15 +54,7 @@ arena_lib.on_start("block_league", function(arena) player:set_armor_groups({immortal = nil}) end - -- se è TD, forza chunk entità e la aggiunge nel mondo - if arena.mod == 1 then - local pos1 = {x = arena.ball_spawn.x - 1, y = arena.ball_spawn.y - 1, z = arena.ball_spawn.z - 1} - local pos2 = {x = arena.ball_spawn.x + 1, y = arena.ball_spawn.y + 1, z = arena.ball_spawn.z + 1} - minetest.forceload_block(pos1, pos2) - - local ent = minetest.add_entity(arena.ball_spawn,"block_league:prototipo",arena.name) - end - + block_league.round_start(arena) block_league.energy_refill(arena) end) diff --git a/_arena_lib/arena_properties.lua b/_arena_lib/arena_properties.lua deleted file mode 100644 index efe7c31..0000000 --- a/_arena_lib/arena_properties.lua +++ /dev/null @@ -1 +0,0 @@ --- for any override of arena_lib's properties diff --git a/_misc/ball.lua b/_modes/TD/ball.lua similarity index 86% rename from _misc/ball.lua rename to _modes/TD/ball.lua index 78ea3cd..70f6265 100644 --- a/_misc/ball.lua +++ b/_modes/TD/ball.lua @@ -1,9 +1,9 @@ local S = minetest.get_translator("block_league") local function cast_entity_ray() end +local function announce_ball_possession_change() end local function check_for_touchdown() end local function add_point() end -local function announce_ball_possession_change() end -- entità @@ -249,7 +249,7 @@ function ball:reset() end self:_destroy() - minetest.add_entity(arena.ball_spawn,"block_league:prototipo",arena.name) + minetest.add_entity(arena.ball_spawn,"block_league:ball",arena.name) return end @@ -288,24 +288,12 @@ function check_for_touchdown(id, arena, ball, wielder, w_pos, goal) w_pos.y <= goal.y + 3 then add_point(wielder:get_player_name(), arena) - - wielder:set_physics_override({ - speed = block_league.SPEED, - jump = 1.5 - }) wielder:get_meta():set_int("blockleague_has_ball", 0) - local arena = arena arena.weapons_disabled = true + minetest.after(5, function() - teleport_players(arena) - local pos1 = {x = arena.ball_spawn.x - 1, y = arena.ball_spawn.y - 1, z = arena.ball_spawn.z - 1} - local pos2 = {x = arena.ball_spawn.x + 1, y = arena.ball_spawn.y + 1, z = arena.ball_spawn.z + 1} - --minetest.load_area(pos1, pos2) - minetest.forceload_block(pos1, pos2) - --minetest.emerge_area(pos1, pos2) - minetest.add_entity(arena.ball_spawn,"block_league:prototipo",arena.name) - arena.weapons_disabled = false + block_league.round_start(arena) end) ball:_destroy() @@ -313,23 +301,6 @@ function check_for_touchdown(id, arena, ball, wielder, w_pos, goal) end -function teleport_players(arena) - for id, team in pairs(arena.teams) do - local players = arena_lib.get_players_in_team(arena, id, true) - for index, player in pairs(players) do - player:set_hp(20) - local p_name = player:get_player_name() - arena.players[p_name].energy = 100 - player:get_meta():set_int("reloading", 0) - panel_lib.get_panel(p_name, "bullets_hud"):remove() - arena.players[p_name].weapons_reload = {} - block_league.weapons_hud_create(p_name) - panel_lib.get_panel(p_name, "bullets_hud"):show() - block_league.energy_update(arena, p_name) - player:set_pos(arena_lib.get_random_spawner(arena, id)) - end - end -end function add_point(w_name, arena) @@ -399,4 +370,4 @@ end -minetest.register_entity("block_league:prototipo", ball) +minetest.register_entity("block_league:ball", ball) diff --git a/_modes/game_main.lua b/_modes/game_main.lua new file mode 100644 index 0000000..9f47c81 --- /dev/null +++ b/_modes/game_main.lua @@ -0,0 +1,45 @@ +local function load_ball() end + + + +function block_league.round_start(arena) + for p_name, stats in pairs(arena.players) do + + local player = minetest.get_player_by_name(p_name) + + player:set_hp(20) + arena.players[p_name].energy = 100 + + player:get_meta():set_int("reloading", 0) + panel_lib.get_panel(p_name, "bullets_hud"):remove() + + arena.players[p_name].weapons_reload = {} + block_league.weapons_hud_create(p_name) + panel_lib.get_panel(p_name, "bullets_hud"):show() + + block_league.energy_update(arena, p_name) + player:set_pos(arena_lib.get_random_spawner(arena, stats.teamID)) + end + + if arena.mod == 1 then + load_ball(arena) + end + + arena.weapons_disabled = false +end + + + + + +---------------------------------------------- +---------------FUNZIONI LOCALI---------------- +---------------------------------------------- + +function load_ball(arena) + local pos1 = {x = arena.ball_spawn.x - 1, y = arena.ball_spawn.y - 1, z = arena.ball_spawn.z - 1} + local pos2 = {x = arena.ball_spawn.x + 1, y = arena.ball_spawn.y + 1, z = arena.ball_spawn.z + 1} + + minetest.forceload_block(pos1, pos2) + minetest.add_entity(arena.ball_spawn,"block_league:ball",arena.name) +end diff --git a/_weapons/sword.lua b/_weapons/sword.lua index d5fea08..654a719 100644 --- a/_weapons/sword.lua +++ b/_weapons/sword.lua @@ -11,6 +11,7 @@ block_league.register_weapon("block_league:sword", { type = 3, weap_damage = 7, knockback = 40, + on_right_click = function(arena, name, def, itemstack, user, pointed_thing) local dir = user:get_look_dir() diff --git a/init.lua b/init.lua index 9df70c6..4d45712 100644 --- a/init.lua +++ b/init.lua @@ -67,7 +67,6 @@ dofile(minetest.get_modpath("block_league") .. "/utils.lua") -- arena_lib dofile(minetest.get_modpath("block_league") .. "/_arena_lib/arena_manager.lua") -dofile(minetest.get_modpath("block_league") .. "/_arena_lib/arena_properties.lua") -- HUD dofile(minetest.get_modpath("block_league") .. "/_HUD/hud_achievements.lua") dofile(minetest.get_modpath("block_league") .. "/_HUD/hud_broadcast.lua") @@ -90,8 +89,10 @@ dofile(minetest.get_modpath("block_league") .. "/_weapons/rocket_launcher.lua") dofile(minetest.get_modpath("block_league") .. "/_weapons/sword.lua") dofile(minetest.get_modpath("block_league") .. "/_weapons/smg.lua") dofile(minetest.get_modpath("block_league") .. "/_weapons/smg_bullet.lua") +-- modes +dofile(minetest.get_modpath("block_league") .. "/_modes/game_main.lua") +dofile(minetest.get_modpath("block_league") .. "/_modes/TD/ball.lua") -- misc -dofile(minetest.get_modpath("block_league") .. "/_misc/ball.lua") dofile(minetest.get_modpath("block_league") .. "/_misc/energy.lua") dofile(minetest.get_modpath("block_league") .. "/_misc/immunity.lua")