diff nagslang/protagonist.py @ 333:3dd32686dbc3

Better wolf claw attack.
author Jeremy Thurgood <firxen@gmail.com>
date Fri, 06 Sep 2013 10:49:19 +0200
parents 768e1d06155f
children a3f1b2f0e3fb
line wrap: on
line diff
--- a/nagslang/protagonist.py	Fri Sep 06 03:10:04 2013 +0200
+++ b/nagslang/protagonist.py	Fri Sep 06 10:49:19 2013 +0200
@@ -6,7 +6,7 @@
 from nagslang.constants import (
     COLLISION_TYPE_PLAYER, ZORDER_MID, WEREWOLF_SOAK_FACTOR,
     PROTAGONIST_HEALTH_MIN_LEVEL, PROTAGONIST_HEALTH_MAX_LEVEL,
-    NON_GAME_OBJECT_COLLIDERS, COLLISION_TYPE_WEREWOLF_ATTACK)
+    NON_GAME_OBJECT_COLLIDERS, BULLET_DAMAGE, CLAW_DAMAGE)
 from nagslang.events import FireEvent, ClawEvent
 from nagslang.game_object import GameObject, Physicser, make_body
 from nagslang.mutators import FLIP_H
@@ -59,7 +59,6 @@
         self.health_level = 100
 
         self.go_human()
-        self._time = 0
 
     def _make_physics(self, space, position):
         body = make_body(10, pymunk.inf, position, 0.8)
@@ -262,15 +261,14 @@
         vec = Vec2d.unit()
         vec.angle = self.angle
         vec.length = 1000
-        FireEvent.post(self.physicser.position, vec, 10, COLLISION_TYPE_PLAYER)
+        FireEvent.post(
+            self.physicser.position, vec, BULLET_DAMAGE, COLLISION_TYPE_PLAYER)
 
     def claw(self):
         vec = Vec2d.unit()
         vec.angle = self.angle
-        vec.length = 100
-        ClawEvent.post(self.physicser.position, vec,
-                       COLLISION_TYPE_WEREWOLF_ATTACK)
-        print "Claw", self.physicser.position, vec
+        vec.length = 30
+        ClawEvent.post(self.physicser.position, vec, CLAW_DAMAGE)
 
     def in_wolf_form(self):
         return self.form == self.WOLF_FORM
@@ -310,9 +308,7 @@
             self.health_level = PROTAGONIST_HEALTH_MAX_LEVEL
 
     def update(self, dt):
-        last_secs = int(self._time)
-        self._time += dt
-        secs = int(self._time)
-        if self.form == self.WOLF_FORM and secs > last_secs:
-            self.gain_health(1)
+        if int(self.lifetime + dt) > int(self.lifetime):
+            if self.form == self.WOLF_FORM:
+                self.gain_health(1)
         super(Protagonist, self).update(dt)