# HG changeset patch # User Jeremy Thurgood # Date 1378558335 -7200 # Node ID 3054c62f9d64709c7138f590f1e96ddb407c4a6b # Parent 79ba44e04b576aacae0d3ae3d93e5c52e8f013ad Faster sheep running. diff -r 79ba44e04b57 -r 3054c62f9d64 nagslang/enemies.py --- a/nagslang/enemies.py Sat Sep 07 14:48:53 2013 +0200 +++ b/nagslang/enemies.py Sat Sep 07 14:52:15 2013 +0200 @@ -79,8 +79,8 @@ self.world.kills += 1 self.physicser.remove_from_space() - def set_direction(self, dx, dy): - vec = vec_with_length((dx, dy), self.impulse_factor) + def set_direction(self, dx, dy, force_factor=1): + vec = vec_with_length((dx, dy), self.impulse_factor * force_factor) self.angle = vec.angle self.physicser.apply_impulse(vec) @@ -321,15 +321,15 @@ def move(self, result): vec = self.range_to_visible_protagonist() prot = self.world.protagonist - step = None if vec is not None: if prot.in_human_form() and vec.length < self.human_vision_range: - step = vec.int_tuple + self.set_direction(vec.x, vec.y, 1.5) + return if prot.in_wolf_form() and vec.length < self.wolf_vision_range: - step = (-vec).int_tuple - if step is None: - step = self.random_move() - self.set_direction(*step) + vec = -vec + self.set_direction(vec.x, vec.y, 3) + return + self.set_direction(*self.random_move()) @classmethod def requires(cls):