fix infinite range hook bug

This commit is contained in:
lustlion 2022-03-09 06:27:13 +01:00
parent a230d3ed06
commit 9ada88f4f5
2 changed files with 5 additions and 5 deletions

View File

@ -34,10 +34,7 @@ function Player:new(x,y)
-- hook values
o.hook_swing_speed = math.rad(0.05)
o.hook_anchor = {
x = nil,
y = nil
}
o.hook_anchor = nil
-- walljump values
o.walljump_nodrift_amount = 12
@ -166,7 +163,7 @@ function Player:doLogic()
if self.is_hooked then
self:unhook()
else
local anchor = self:checkNearest("HookAnchor",self.hook_distance)
local anchor = self:checkNearest("HookAnchor","hook_specific")
if anchor then
self.is_hooked = true
self.hook_distance = anchor.hook_distance
@ -359,6 +356,7 @@ end
function Player:unhook()
self.is_hooked = false
self.hook_anchor = nil
self.hook_distance = nil
end
function Player:debug()

View File

@ -44,6 +44,8 @@ function Entity:checkNearest(type,maxdistance)
local distance_y = entity.pos.y - self.pos.y
local distance = math.sqrt(distance_x ^ 2 + distance_y ^ 2)
if maxdistance == "hook_specific" then maxdistance = entity.hook_distance end
if not maxdistance or distance < maxdistance then
if shortest == -1 or distance < shortest then
shortest = distance