forked from pyrex/chameleonic
Compare commits
No commits in common. "a1f96178425a24beae415cd627f94be257f2993e" and "ad9d53887e6cc40160a30341b3cabc110d904a89" have entirely different histories.
a1f9617842
...
ad9d53887e
@ -531,8 +531,6 @@ function level:get_latch(dx,dy,px,py)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
ropecheck=split"-0.6,0.4,0.4"
|
|
||||||
|
|
||||||
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
|
||||||
@ -544,9 +542,17 @@ 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 w,h=1.2,0.2
|
local chk=false
|
||||||
if (dmx==0) w,h=0.2,1.2
|
local w,h=1.6,0.2
|
||||||
if (player.rope:collide_mrect(mx0+ropecheck[dmx+2],my0+ropecheck[dmy+2],w,h,exclude_src,exclude_dst)) return false
|
if (dmx==0) w,h=0.2,1.6
|
||||||
|
|
||||||
|
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
|
||||||
|
Loading…
Reference in New Issue
Block a user