Merge !4
commit
dd72ab86bd
|
@ -17,6 +17,14 @@ block_league.register_weapon("block_league:sword", {
|
|||
|
||||
on_right_click = function(arena, weapon, user, pointed_thing)
|
||||
|
||||
local p_meta = user:get_meta()
|
||||
|
||||
if p_meta:get_int("bl_reloading") == 1 or
|
||||
p_meta:get_int("bl_is_shooting") == 1
|
||||
then return end
|
||||
|
||||
p_meta:set_int("bl_is_speed_locked", 1)
|
||||
|
||||
local dir = user:get_look_dir()
|
||||
local pos = user:get_pos()
|
||||
local pos_head = {x = pos.x, y = pos.y+1.475, z = pos.z}
|
||||
|
@ -37,11 +45,25 @@ block_league.register_weapon("block_league:sword", {
|
|||
|
||||
minetest.after(2.5, function()
|
||||
if not arena_lib.is_player_in_arena(user:get_player_name(), "block_league") then return end
|
||||
local vel = arena.players[user:get_player_name()].energy > 0 and block_league.SPEED or block_league.SPEED_LOW
|
||||
|
||||
local vel
|
||||
|
||||
if arena.players[user:get_player_name()].energy > 0 then
|
||||
if p_meta:get_int("bl_reloading") == 1 or p_meta:get_int("bl_is_shooting") == 1 then
|
||||
vel = block_league.SPEED_LOW
|
||||
else
|
||||
vel = block_league.SPEED
|
||||
end
|
||||
else
|
||||
vel = block_league.SPEED_LOW
|
||||
end
|
||||
|
||||
user:set_physics_override({
|
||||
speed = vel,
|
||||
jump = 1.5
|
||||
})
|
||||
|
||||
user:get_meta():set_int("bl_is_speed_locked", 0)
|
||||
end)
|
||||
|
||||
if not pointed_players then return end
|
||||
|
@ -49,3 +71,5 @@ block_league.register_weapon("block_league:sword", {
|
|||
|
||||
end,
|
||||
})
|
||||
|
||||
--bl_is_speed_locked
|
||||
|
|
|
@ -144,6 +144,7 @@ function block_league.shoot_end(player, weapon)
|
|||
or arena.players[p_name].energy == 0
|
||||
or p_meta:get_int("bl_reloading") == 1
|
||||
or p_meta:get_int("bl_is_shooting") == 1
|
||||
or p_meta:get_int("bl_is_speed_locked") == 1
|
||||
then return end
|
||||
|
||||
player:set_physics_override({ speed = block_league.SPEED })
|
||||
|
@ -331,7 +332,9 @@ function weapon_left_click(weapon, player, pointed_thing)
|
|||
|
||||
if not block_league.shoot(weapon, player, pointed_thing) then return end
|
||||
|
||||
player:set_physics_override({ speed = block_league.SPEED_LOW })
|
||||
if player:get_meta():get_int("bl_is_speed_locked") == 0 then
|
||||
player:set_physics_override({ speed = block_league.SPEED_LOW })
|
||||
end
|
||||
|
||||
if weapon.type ~= 3 then
|
||||
player:get_meta():set_int("bl_is_shooting", 1)
|
||||
|
@ -402,7 +405,10 @@ function weapon_reload(player, weapon)
|
|||
minetest.sound_play(weapon.sound_reload, {to_player = p_name})
|
||||
|
||||
p_meta:set_int("bl_reloading", 1)
|
||||
player:set_physics_override({ speed = block_league.SPEED_LOW })
|
||||
|
||||
if p_meta:get_int("bl_is_speed_locked") == 0 then
|
||||
player:set_physics_override({ speed = block_league.SPEED_LOW })
|
||||
end
|
||||
|
||||
block_league.weapons_hud_update(arena, p_name, w_name, true)
|
||||
|
||||
|
@ -413,7 +419,9 @@ function weapon_reload(player, weapon)
|
|||
|
||||
local vel = arena.players[p_name].energy > 0 and block_league.SPEED or block_league.SPEED_LOW
|
||||
|
||||
player:set_physics_override({ speed = vel })
|
||||
if p_meta:get_int("bl_is_speed_locked") == 0 then
|
||||
player:set_physics_override({ speed = vel })
|
||||
end
|
||||
|
||||
arena.players[p_name].weapons_magazine[w_name] = weapon.magazine
|
||||
block_league.weapons_hud_update(arena, p_name, w_name)
|
||||
|
|
Loading…
Reference in New Issue