# HG changeset patch # User Neil Muller # Date 1302385250 -7200 # Node ID 8087e95ade2f63ef19debfbe4a6b84f1fd98ab27 # Parent 4242066f771dfdd9e398b7d53528b96d3990dfae More cannon stuff diff -r 4242066f771d -r 8087e95ade2f data/game.json --- 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" }, diff -r 4242066f771d -r 8087e95ade2f data/npcs/sasuke.json --- 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" } } diff -r 4242066f771d -r 8087e95ade2f skaapsteker/sprites/items.py --- 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 ################################################## diff -r 4242066f771d -r 8087e95ade2f skaapsteker/sprites/npcs.py --- 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):