changeset 525:8087e95ade2f

More cannon stuff
author Neil Muller <drnlmuller@gmail.com>
date Sat, 09 Apr 2011 23:40:50 +0200
parents 4242066f771d
children 5613f7b61b23
files data/game.json data/npcs/sasuke.json skaapsteker/sprites/items.py skaapsteker/sprites/npcs.py
diffstat 4 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/data/game.json	Sat Apr 09 23:46:07 2011 +0200
+++ b/data/game.json	Sat Apr 09 23:40:50 2011 +0200
@@ -44,7 +44,7 @@
         "signal_fire": { "type": "SignalFire", "level": "road", "pos": [16, 6], "litness": "set"},
         "kindling": { "type": "Kindling", "level": "road", "pos": [36, 3] },
         "oil": { "type": "Oil", "level": "road", "pos": [17, 8] },
-        "cannon": { "type": "Cannon", "level": "road", "pos": [57, 8], "broken": false },
+        "cannon": { "type": "Cannon", "level": "road", "pos": [57, 8], "broken": false, "block": true },
         "rice": { "type": "Rice", "level": "tea_house", "pos": [3, 8], "broken": false },
         "documents": { "type": "Documents", "level": "tea_house", "pos": [7, 9] },
         "vase": { "type": "Vase", "level": "geisha_room", "pos": [22, 4], "broken": false },
@@ -170,7 +170,7 @@
         "guard": { "type": "Guard", "level": "temple_grounds", "pos": [5, 11], "dsm": "npcs/guard.json", "state": "start", "block": true },
         "hattori": { "type": "Hattori", "level": "road", "pos": [37, 8], "dsm": "npcs/hattori.json", "state": "start", "block": true, "facing": "left" },
         "ichiro": { "type": "Ichiro", "level": "road", "pos": [36, 8], "dsm": "npcs/ichiro.json", "state": "start", "block": true, "facing": "right" },
-        "sasuke": { "type": "Sasuke", "level": "road", "pos": [54, 8], "dsm": "npcs/sasuke.json", "state": "start"},
+        "sasuke": { "type": "Sasuke", "level": "road", "pos": [54, 8], "dsm": "npcs/sasuke.json", "state": "start", "present": true},
         "kaneda2": { "type": "Kaneda", "level": "tea_house", "pos": [6, 10], "dsm": "npcs/kaneda2.json", "state": "start", "facing": "right" },
         "tetsuo": { "type": "Tetsuo", "level": "tea_house", "pos": [9, 10], "dsm": "npcs/tetsuo.json", "state": "start", "facing": "left" },
         "kaneda": { "type": "Kaneda", "level": "geisha_house", "pos": [10, 3], "dsm": "npcs/kaneda.json", "state": "start", "facing": "left" },
--- a/data/npcs/sasuke.json	Sat Apr 09 23:46:07 2011 +0200
+++ b/data/npcs/sasuke.json	Sat Apr 09 23:40:50 2011 +0200
@@ -14,6 +14,6 @@
         "auto_next": "state.gone"
     },
     "gone" : {
-        "on_entry": "drop_item('tail_invisibility')"
+        "on_entry": "drop_item('tail_invisibility'); npcs.sasuke.present=False"
     }
 }
--- a/skaapsteker/sprites/items.py	Sat Apr 09 23:46:07 2011 +0200
+++ b/skaapsteker/sprites/items.py	Sat Apr 09 23:40:50 2011 +0200
@@ -197,6 +197,15 @@
 
     liftable = False
 
+    def setup(self, block, **opts):
+        super(Cannon, self).setup(**opts)
+        self.block = block
+
+    def smash(self):
+        self._me.block = False
+        self.block = False
+        super(Cannon, self).smash()
+        self.world.missions.cannon_destroyed = True
 
 
 ##################################################
--- a/skaapsteker/sprites/npcs.py	Sat Apr 09 23:46:07 2011 +0200
+++ b/skaapsteker/sprites/npcs.py	Sat Apr 09 23:40:50 2011 +0200
@@ -101,10 +101,13 @@
 class Sasuke(NPC):
     image_dir = 'sprites/sasuke'
 
-    def setup(self, name, world, dsm, state, facing=None):
+    def setup(self, name, world, dsm, state, present, facing=None):
         self._animation = 'standing'
         super(Sasuke, self).setup(name, world, dsm, state, facing)
 
+    def update(self):
+        if not self._me.present:
+            self.remove()
 
 
 class Kitsune(NPC):