Mercurial > nagslang
diff nagslang/protagonist.py @ 393:8d961e05b7b6
Use Result to handle firing
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sat, 07 Sep 2013 01:04:01 +0200 |
parents | 83c29d0a0b9c |
children | 76f053cf2322 |
line wrap: on
line diff
--- a/nagslang/protagonist.py Sat Sep 07 01:03:46 2013 +0200 +++ b/nagslang/protagonist.py Sat Sep 07 01:04:01 2013 +0200 @@ -9,8 +9,9 @@ PROTAGONIST_HEALTH_MIN_LEVEL, PROTAGONIST_HEALTH_MAX_LEVEL, NON_GAME_OBJECT_COLLIDERS, BULLET_DAMAGE, BULLET_SPEED, CLAW_DAMAGE, CMD_TOGGLE_FORM, CMD_ACTION) -from nagslang.events import FireEvent, ClawEvent -from nagslang.game_object import GameObject, Physicser, make_body +from nagslang.events import ClawEvent +from nagslang.game_object import ( + GameObject, Physicser, Result, Bullet, make_body) from nagslang.mutators import FLIP_H from nagslang.resources import resources from nagslang.events import ScreenChange @@ -192,7 +193,7 @@ return self.start_timer('attack_cooldown') self.world.attacks += 1 - self.attack() + return self.attack() def handle_keypress(self, key_command): if self.changing_sequence: @@ -294,17 +295,17 @@ """Attempt to hurt something. """ if self.in_wolf_form(): - self.claw() + return self.claw() else: - self.shoot() + return self.shoot() def shoot(self): if not self.has_item('gun'): return vec = vec_from_angle(self.angle, BULLET_SPEED) - FireEvent.post( - self.physicser.position, vec, BULLET_DAMAGE, 'bullet', - COLLISION_TYPE_PLAYER) + return Result(add=(Bullet(self.get_space(), self.physicser.position, + vec, BULLET_DAMAGE, 'bullet', + COLLISION_TYPE_PLAYER),)) def claw(self): claw_range = (math.sqrt(math.pow(self.physicser.get_velocity()[0], 2) +