global speed variables + in_game_physics

master
Zughy 2020-10-28 16:24:06 +01:00
parent 2bed8da117
commit a79bb7728f
8 changed files with 31 additions and 69 deletions

2
GLOBALS.lua Normal file
View File

@ -0,0 +1,2 @@
block_league.SPEED = 2.5
block_league.SPEED_LOW = 1,5

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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")

View File

@ -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
})