Mercurial > nagslang
changeset 265:8a695b8ecd6c
Correcting damage application
author | David Sharpe |
---|---|
date | Thu, 05 Sep 2013 00:37:48 +0200 |
parents | c1d862334e3d |
children | 9d05f0c4bca3 |
files | nagslang/constants.py nagslang/enemies.py nagslang/protagonist.py nagslang/screens/area.py |
diffstat | 4 files changed, 10 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/nagslang/constants.py Thu Sep 05 00:39:55 2013 +0200 +++ b/nagslang/constants.py Thu Sep 05 00:37:48 2013 +0200 @@ -16,6 +16,7 @@ COLLISION_TYPE_ENEMY = 5 COLLISION_TYPE_DOOR = 6 COLLISION_TYPE_PROJECTILE = 7 +COLLISION_TYPE_WEREWOLF_ATTACK = 8 SWITCH_PUSHERS = [COLLISION_TYPE_PLAYER, COLLISION_TYPE_BOX]
--- a/nagslang/enemies.py Thu Sep 05 00:39:55 2013 +0200 +++ b/nagslang/enemies.py Thu Sep 05 00:37:48 2013 +0200 @@ -127,7 +127,7 @@ super(PatrollingAlien, self).animate() def collide_with_protagonist(self, protagonist): - return 5 + protagonist.lose_health(15) @classmethod def requires(cls):
--- a/nagslang/protagonist.py Thu Sep 05 00:39:55 2013 +0200 +++ b/nagslang/protagonist.py Thu Sep 05 00:37:48 2013 +0200 @@ -219,11 +219,14 @@ def attack(self): """Attempt to hurt something. """ - vec = Vec2d.unit() - vec.angle = self.angle - vec.length = 100 - FireEvent.post(self.physicser.position, vec) - print "Biff", self.physicser.position, vec + if self.in_wolf_form(): + pass + else: + vec = Vec2d.unit() + vec.angle = self.angle + vec.length = 100 + FireEvent.post(self.physicser.position, vec) + print "Biff", self.physicser.position, vec def in_wolf_form(self): return self.form == self.WOLF_FORM
--- a/nagslang/screens/area.py Thu Sep 05 00:39:55 2013 +0200 +++ b/nagslang/screens/area.py Thu Sep 05 00:37:48 2013 +0200 @@ -86,8 +86,6 @@ def _collision_pre_solve_handler(self, space, arbiter): gobj = arbiter.shapes[1].physicser.game_object result = gobj.collide_with_protagonist(self.protagonist) - if arbiter.shapes[1].collision_type == COLLISION_TYPE_ENEMY: - self.protagonist.lose_health(15) # The collision handler must return `True` or `False`. We don't want to # accidentally reject collisions from handlers that return `None`, so # we explicitly check for `False` and treate everything else as `True`.