changeset 394:76f053cf2322

Use Result instead of ClawEvent
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 07 Sep 2013 01:10:53 +0200
parents 8d961e05b7b6
children 450081926426
files nagslang/events.py nagslang/protagonist.py nagslang/screens/area.py
diffstat 3 files changed, 4 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/events.py	Sat Sep 07 01:04:01 2013 +0200
+++ b/nagslang/events.py	Sat Sep 07 01:10:53 2013 +0200
@@ -50,9 +50,3 @@
     @classmethod
     def post(cls):
         super(EnemyDeathEvent, cls).post()
-
-
-class ClawEvent(UserEvent):
-    @classmethod
-    def post(cls, source, vector, damage):
-        super(ClawEvent, cls).post(source=source, vector=vector, damage=damage)
--- a/nagslang/protagonist.py	Sat Sep 07 01:04:01 2013 +0200
+++ b/nagslang/protagonist.py	Sat Sep 07 01:10:53 2013 +0200
@@ -9,9 +9,8 @@
     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 ClawEvent
 from nagslang.game_object import (
-    GameObject, Physicser, Result, Bullet, make_body)
+    GameObject, Physicser, Result, Bullet, ClawAttack, make_body)
 from nagslang.mutators import FLIP_H
 from nagslang.resources import resources
 from nagslang.events import ScreenChange
@@ -312,7 +311,8 @@
                                 math.pow(self.physicser.get_velocity()[1], 2))
                       / 20) + 30
         vec = vec_from_angle(self.angle, claw_range)
-        ClawEvent.post(self.physicser.position, vec, CLAW_DAMAGE)
+        return Result(add=(ClawAttack(
+            self.get_space(), self.physicser.position, vec, CLAW_DAMAGE),))
 
     def in_wolf_form(self):
         return self.form == self.WOLF_FORM
--- a/nagslang/screens/area.py	Sat Sep 07 01:04:01 2013 +0200
+++ b/nagslang/screens/area.py	Sat Sep 07 01:10:53 2013 +0200
@@ -8,10 +8,9 @@
     COLLISION_TYPE_WALL, COLLISION_TYPE_PLAYER, CALLBACK_COLLIDERS,
     COLLISION_TYPE_FURNITURE, COLLISION_TYPE_WEREWOLF_ATTACK,
     CMD_TOGGLE_FORM, CMD_ACTION)
-from nagslang.events import ScreenChange, DoorEvent, EnemyDeathEvent, ClawEvent
+from nagslang.events import ScreenChange, DoorEvent, EnemyDeathEvent
 from nagslang.level import Level
 from nagslang.screens.base import Screen
-from nagslang.game_object import ClawAttack
 from nagslang.sound import sound
 
 
@@ -179,10 +178,6 @@
             # position change is enough
         elif EnemyDeathEvent.matches(ev):
             self.world.kills += 1
-        elif ClawEvent.matches(ev):
-            claw_attack = ClawAttack(self.space, ev.source, ev.vector,
-                                     ev.damage)
-            self._drawables.add(claw_attack)
         self.keys.handle_event(ev)
 
     def _calc_viewport(self, level_surface, display_surface):