can_move golf, redux #14

Merged
pyrex merged 1 commits from kistaro/chameleonic:unbroken-golf into main 2022-12-28 21:12:24 +00:00
Showing only changes of commit a7aa099358 - Show all commits

View File

@ -531,6 +531,8 @@ function level:get_latch(dx,dy,px,py)
end end
end end
ropecheck=split"-0.8,0.4,0.2"
function level:can_move( function level:can_move(
is_player, is_player,
mx0,my0,dmx,dmy,exclude_src,exclude_dst mx0,my0,dmx,dmy,exclude_src,exclude_dst
@ -542,17 +544,9 @@ function level:can_move(
if (self:mcoll(mx1,my1) or player.x==mx1 and player.y==my1) return false if (self:mcoll(mx1,my1) or player.x==mx1 and player.y==my1) return false
if player.rope then if player.rope then
local chk=false
local w,h=1.6,0.2 local w,h=1.6,0.2
if (dmx==0) w,h=0.2,1.6 if (dmx==0) w,h=0.2,1.6
if (player.rope:collide_mrect(mx0+ropecheck[dmx+2],my0+ropecheck[dmy+2],w,h,exclude_src,exclude_dst)) return false
local rectx,recty
if (dmy==-1) rectx,recty=0.4,-0.8
if (dmy==1) rectx,recty=0.4,0.2
if (dmx==-1) rectx,recty=-0.8,0.4
if (dmx==1) rectx,recty=0.2,0.4
if (player.rope:collide_mrect(mx0+rectx,my0+recty,w,h,exclude_src,exclude_dst)) return false
end end
return true return true