changeset 415:9d2a8dfba670

Sheep behaviour.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 07 Sep 2013 12:50:21 +0200
parents 060420389033
children bea0ea5b98df 3f15e071614f
files nagslang/enemies.py
diffstat 1 files changed, 10 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/enemies.py	Sat Sep 07 12:49:27 2013 +0200
+++ b/nagslang/enemies.py	Sat Sep 07 12:50:21 2013 +0200
@@ -307,7 +307,8 @@
     health = 10
     impulse_factor = 50
 
-    vision_range = 100
+    human_vision_range = 100
+    wolf_vision_range = 200
 
     def make_physics(self, space, position):
         body = make_body(10, pymunk.inf, position, 0.8)
@@ -319,10 +320,14 @@
 
     def move(self, result):
         vec = self.range_to_visible_protagonist()
-        if vec is not None and vec.length < self.vision_range:
-            # TODO: Run away! Wander towards!
-            step = (0, 0)
-        else:
+        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
+            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)