diff --git a/GLOBALS.lua b/GLOBALS.lua new file mode 100644 index 0000000..18cc1be --- /dev/null +++ b/GLOBALS.lua @@ -0,0 +1,2 @@ +block_league.SPEED = 2.5 +block_league.SPEED_LOW = 1,5 diff --git a/_arena_lib/arena_manager.lua b/_arena_lib/arena_manager.lua index 3e7c762..16e135b 100644 --- a/_arena_lib/arena_manager.lua +++ b/_arena_lib/arena_manager.lua @@ -47,14 +47,6 @@ arena_lib.on_start("block_league", function(arena) block_league.weapons_hud_create(pl_name) panel_lib.get_panel(pl_name, "bullets_hud"):show() - player:set_physics_override({ - speed = arena.high_speed, - jump = 1.5, - gravity = 1.15, - sneak_glitch = true, - new_move = true - }) - minetest.sound_play("block_league_voice_fight", { to_player = pl_name, }) @@ -95,14 +87,6 @@ arena_lib.on_join("block_league", function(p_name, arena) block_league.weapons_hud_create(p_name) panel_lib.get_panel(p_name, "bullets_hud"):show() - player:set_physics_override({ - speed = arena.high_speed, - jump = 1.5, - gravity = 1.15, - sneak_glitch = true, - new_move = true - }) - minetest.sound_play("block_league_voice_fight", { to_player = p_name, }) @@ -146,11 +130,9 @@ arena_lib.on_end("block_league", function(arena, players) for pl_name, stats in pairs(players) do - --local stats = panel_lib.get_panel(pl_name, "blockleague_stats") local scoreboard = panel_lib.get_panel(pl_name, "blockleague_scoreboard") local team_score = panel_lib.get_panel(pl_name, "blockleague_teams_score") - --stats:remove() scoreboard:remove() team_score:remove() panel_lib.get_panel(pl_name, "bullets_hud"):remove() @@ -160,17 +142,8 @@ arena_lib.on_end("block_league", function(arena, players) block_league.update_storage(pl_name) local player = minetest.get_player_by_name(pl_name) - player:set_armor_groups({immortal = nil}) - -- se non c'è hub_manager, resetto la fisica - if not minetest.get_modpath("hub_manager") then - minetest.get_player_by_name(pl_name):set_physics_override({ - speed = 1, - jump = 1, - gravity = 1, - sneak_glitch = false - }) - end + player:set_armor_groups({immortal = nil}) end end) @@ -212,15 +185,6 @@ arena_lib.on_quit("block_league", function(arena, p_name) player:set_armor_groups({immortal = nil}) player:get_meta():set_int("blockleague_has_ball", 0) - -- se non c'è hub_manager, resetto la fisica - if not minetest.get_modpath("hub_manager") then - minetest.get_player_by_name(p_name):set_physics_override({ - speed = 1, - jump = 1, - gravity = 1, - sneak_glitch = false - }) - end end) @@ -242,5 +206,4 @@ function reset_meta(p_name) player:get_meta():set_int("blockleague_death_delay", 0) player:get_meta():set_int("reloading", 0) - end diff --git a/_misc/ball.lua b/_misc/ball.lua index 63b6bbe..31f4e3c 100644 --- a/_misc/ball.lua +++ b/_misc/ball.lua @@ -243,7 +243,7 @@ function ball:reset() if ball.wielder then ball.wielder:set_physics_override({ - speed = arena.high_speed, + speed = block_league.SPEED, jump = 1.5 }) end @@ -290,7 +290,7 @@ function check_for_touchdown(id, arena, ball, wielder, w_pos, goal) add_point(wielder:get_player_name(), arena) wielder:set_physics_override({ - speed = arena.high_speed, + speed = block_league.SPEED, jump = 1.5 }) wielder:get_meta():set_int("blockleague_has_ball", 0) diff --git a/_misc/energy.lua b/_misc/energy.lua index 4e73674..ef33994 100644 --- a/_misc/energy.lua +++ b/_misc/energy.lua @@ -41,7 +41,7 @@ function block_league.energy_drain(arena, w_name) arena.players[w_name].energy = arena.players[w_name].energy -1 block_league.energy_update(arena, w_name) else - wielder:set_physics_override({speed = arena.low_speed}) + wielder:set_physics_override({speed = block_league.SPEED_LOW}) return end diff --git a/_weapons/sword.lua b/_weapons/sword.lua index 53a1879..d5fea08 100644 --- a/_weapons/sword.lua +++ b/_weapons/sword.lua @@ -33,7 +33,7 @@ block_league.register_weapon("block_league:sword", { minetest.after(2.5, function() if user then - local vel = user:get_meta():get_int("blockleague_has_ball") == 0 and arena.high_speed or arena.low_speed + local vel = user:get_meta():get_int("blockleague_has_ball") == 0 and block_league.SPEED or block_league.SPEED_LOW user:set_physics_override({ speed = vel, jump = 1.5 diff --git a/_weapons/weapons.lua b/_weapons/weapons.lua index 7f13d40..a1757ff 100644 --- a/_weapons/weapons.lua +++ b/_weapons/weapons.lua @@ -80,7 +80,7 @@ function block_league.register_weapon(name, def) end if def.slow_down_when_firing then user:set_physics_override({ - speed = arena_lib.get_arena_by_player(p_name).low_speed, + speed = block_league.SPEED_LOW, jump = 1.5, gravity = 1.15, sneak_glitch = true, @@ -115,7 +115,7 @@ function block_league.register_weapon(name, def) elseif def.slow_down_when_firing and player:get_meta():get_int("blockleague_has_ball") == 0 and arena_lib.is_player_in_arena(p_name) then if player then player:set_physics_override({ - speed = arena_lib.get_arena_by_player(p_name).high_speed, + speed = block_league.SPEED, jump = 1.5, gravity = 1.15, sneak_glitch = true, @@ -137,7 +137,7 @@ function block_league.register_weapon(name, def) minetest.after(0.1, function() if player then player:set_physics_override({ - speed = arena_lib.get_arena_by_player(player:get_player_name()).high_speed, + speed = block_league.SPEED, jump = 1.5, gravity = 1.15, sneak_glitch = true, @@ -149,7 +149,7 @@ function block_league.register_weapon(name, def) elseif def.slow_down_when_firing and player:get_meta():get_int("blockleague_has_ball") == 0 and arena_lib.is_player_in_arena(player:get_player_name()) then if player then player:set_physics_override({ - speed = arena_lib.get_arena_by_player(player:get_player_name()).high_speed, + speed = block_league.SPEED, jump = 1.5, gravity = 1.15, sneak_glitch = true, diff --git a/init.lua b/init.lua index 30886df..16ddeb8 100644 --- a/init.lua +++ b/init.lua @@ -1,23 +1,29 @@ block_league = {} local S = minetest.get_translator("block_league") +dofile(minetest.get_modpath("block_league") .. "/GLOBALS.lua") + + + arena_lib.register_minigame("block_league", { - prefix = "[block_league] ", - teams = { - S("red"), - S("blue") - }, - teams_color_overlay = { - "red", - "blue" - }, + prefix = "[Block League] ", hub_spawn_point = { x = 8, y = 6, z = 4 }, + + teams = { S("red"), S("blue") }, + teams_color_overlay = { "red", "blue"}, + join_while_in_progress = true, celebration_time = 5, - disabled_damage_types = { - "fall" + in_game_physics = { + speed = block_league.SPEED, + jump = 1.5, + gravity = 1.15, + sneak_glitch = true, + new_move = true }, + disabled_damage_types = {"fall"}, + properties = { -- 1 = Touchdown -- 2 = Deathmatch @@ -29,8 +35,6 @@ arena_lib.register_minigame("block_league", { destinazione_blue = {"lol"}, prototipo_spawn = {"lol"}, min_y = 0, - high_speed = 2.5, - low_speed = 1.5, }, temp_properties = { weapons_disabled = false, @@ -46,6 +50,8 @@ arena_lib.register_minigame("block_league", { } }) + + -- load other scripts dofile(minetest.get_modpath("block_league") .. "/achievements.lua") diff --git a/player_manager.lua b/player_manager.lua index 3ae27db..680249a 100644 --- a/player_manager.lua +++ b/player_manager.lua @@ -20,15 +20,6 @@ minetest.register_on_joinplayer(function(player) -- genero l'HUD per gli achievement block_league.HUD_achievements_create(p_name) - -- resetto la velocità se non c'è hub_manager - if not minetest.get_modpath("hub_manager") then - player:set_physics_override({ - speed = 1, - jump = 1, - gravity = 1, - }) - end - -- non è possibile modificare l'inventario da offline. Se sono crashati o hanno chiuso il gioco in partita, -- questo è l'unico modo per togliere loro l'arma remove_weapons(player:get_inventory()) @@ -69,7 +60,7 @@ minetest.register_on_respawnplayer(function(player) death_delay(player, pos) local arena = arena_lib.get_arena_by_player(player:get_player_name()) player:set_physics_override({ - speed = arena.high_speed, + speed = block_league.SPEED, jump = 1.5 })