# HG changeset patch # User Neil Muller # Date 1302360654 -7200 # Node ID 1501d9b7f5dd1b899e76a180fb27e1c0e2a380e1 # Parent 488ab520408c9ecd80b7d56cf1177794c4f71ebd Don't allow patrolling monsters to walk off edges diff -r 488ab520408c -r 1501d9b7f5dd skaapsteker/sprites/base.py --- a/skaapsteker/sprites/base.py Sat Apr 09 16:41:38 2011 +0200 +++ b/skaapsteker/sprites/base.py Sat Apr 09 16:50:54 2011 +0200 @@ -238,6 +238,22 @@ self.facing = 'left' self._update_image(True) + def check_floors(self, floors): + """If we're only on 1 floor tile, and our centre is beyond half way, + turn back""" + if len(floors) > 1: + return + + floor = floors[0] + + if self.facing == 'left': + if self.collide_rect.centerx < floor.collide_rect.centerx: + self.facing = 'right' + self._update_image(True) + else: + if self.collide_rect.centerx > floor.collide_rect.centerx: + self.facing = 'left' + self._update_image(True) class NPC(AnimatedGameSprite):