diff --git a/objects/oPlayer/Collision_oMonster.gml b/objects/oPlayer/Collision_oMonster.gml index fadd6b6..c38fe0d 100644 --- a/objects/oPlayer/Collision_oMonster.gml +++ b/objects/oPlayer/Collision_oMonster.gml @@ -8,12 +8,13 @@ if (pdv <= 0) { } // pushback -if (other.x > x) { - x -= 10; -} else if (other.x < x) { - x += 10; -} else if (other.y > y) { - y -= 10; -} else if (other.y < y) { - y += 10; +knockback = 10; +if (other.x > x && !place_meeting(x-knockback-1, y, oWall)) { + x -= knockback; +} else if (other.x < x && !place_meeting(x+knockback+1, y, oWall)) { + x += knockback; +} else if (other.y > y && !place_meeting(x, y-knockback-1, oWall)) { + y -= knockback; +} else if (other.y < y && !place_meeting(x, y+knockback+1, oWall)) { + y += knockback; } \ No newline at end of file