Add vertical pvp knockbacks from downward hits & reduce pvp kb on half block angled upward hits
parent
8fbd72c142
commit
32e91b45ae
|
@ -290,10 +290,16 @@ function minetest.calculate_knockback(player, hitter, time_from_last_punch, tool
|
||||||
local invul = player:get_meta():get_int("mcl_damage:invulnerable")
|
local invul = player:get_meta():get_int("mcl_damage:invulnerable")
|
||||||
if v and v.y <= 0.01 and v.y >= -0.01 and invul == 0 then
|
if v and v.y <= 0.01 and v.y >= -0.01 and invul == 0 then
|
||||||
if dir.y <= 0.3 then
|
if dir.y <= 0.3 then
|
||||||
|
local regular_v = 6.4
|
||||||
|
local enchant_v = 7
|
||||||
|
if dir.y <= 0.27 then
|
||||||
|
regular_v = regular_v * math.abs(dir.y - 1)
|
||||||
|
enchant_v = enchant_v * math.abs(dir.y - 1)
|
||||||
|
end
|
||||||
if enchant == 0 then
|
if enchant == 0 then
|
||||||
player:add_velocity({x = 0, y = 6.4, z = 0})
|
player:add_velocity({x = 0, y = regular_v, z = 0})
|
||||||
else
|
else
|
||||||
player:add_velocity({x = 0, y = 7, z = 0})
|
player:add_velocity({x = 0, y = enchant_v, z = 0})
|
||||||
end
|
end
|
||||||
elseif dir.y <= 0.44 and dir.y > 0.3 and enchant > 0 then
|
elseif dir.y <= 0.44 and dir.y > 0.3 and enchant > 0 then
|
||||||
knockback = knockback + 3
|
knockback = knockback + 3
|
||||||
|
|
Loading…
Reference in New Issue