diff options
author | TenPlus1 <kinsellaja@yahoo.com> | 2016-07-21 09:01:48 +0100 |
---|---|---|
committer | TenPlus1 <kinsellaja@yahoo.com> | 2016-07-21 09:01:48 +0100 |
commit | 04166fc7e4e45102261594fcb043c0ea8bf182ee (patch) | |
tree | e92d4b605c9ee13d92cf0317be9f32caccb94770 /init.lua | |
parent | f5dd6da5635e67e3c44ed3530d19a29a6ee16083 (diff) |
Flipped horizontal AND vertical thanks to auouymous
Diffstat (limited to 'init.lua')
-rw-r--r-- | init.lua | 36 |
1 files changed, 21 insertions, 15 deletions
@@ -247,26 +247,32 @@ function minetest.is_protected(pos, digger) player:set_hp(player:get_hp() - protector.hurt) end - -- flip player around when protection violated + -- flip player when protection violated if protector.flip and player then + -- yaw + 180° + local yaw = player:get_look_yaw() + math.pi + + if yaw > 2 * math.pi then + yaw = yaw - 2 * math.pi + end + + player:set_look_yaw(yaw) + + -- invert pitch + player:set_look_vertical(-player:get_look_vertical()) + + -- if digging below player, move up 1 block local pla_pos = player:getpos() - local vec = { - x = pos.x - pla_pos.x, - y = pos.y - pla_pos.y, - z = pos.z - pla_pos.z - } - if vec.x ~= 0 - and vec.z ~= 0 then - - local yaw = math.atan(vec.z / vec.x) + 3 * math.pi / 2 - - if pos.x > pla_pos.x then - yaw = yaw + math.pi - end - player:set_look_yaw(yaw) + if pos.y < pla_pos.y then + + player:setpos({ + x = pla_pos.x, + y = pla_pos.y + 1, + z = pla_pos.z + }) end end |