Mercurial > nagslang
comparison nagslang/protagonist.py @ 374:150332d6c1fb
Move the inventory to world, to slightly reduce overall hackyness
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Fri, 06 Sep 2013 22:44:14 +0200 |
parents | 21c1c329f8e3 |
children | 83c29d0a0b9c |
comparison
equal
deleted
inserted
replaced
373:8c7c5db5f0d3 | 374:150332d6c1fb |
---|---|
70 def __init__(self, space, world, position): | 70 def __init__(self, space, world, position): |
71 self.form = self.HUMAN_FORM | 71 self.form = self.HUMAN_FORM |
72 super(Protagonist, self).__init__( | 72 super(Protagonist, self).__init__( |
73 self._make_physics(space, position), self._make_renderer()) | 73 self._make_physics(space, position), self._make_renderer()) |
74 self.world = world | 74 self.world = world |
75 self.inventory = set() | |
76 self.health_level = PROTAGONIST_HEALTH_MAX_LEVEL | 75 self.health_level = PROTAGONIST_HEALTH_MAX_LEVEL |
77 | 76 |
78 self.angle = 0 | 77 self.angle = 0 |
79 self.is_moving = False | 78 self.is_moving = False |
80 self.changing_sequence = [] | 79 self.changing_sequence = [] |
254 self.physicser.position = old_protagonist.physicser.position | 253 self.physicser.position = old_protagonist.physicser.position |
255 self.physicser.switch_form(self.form, old_protagonist.form) | 254 self.physicser.switch_form(self.form, old_protagonist.form) |
256 self.impulse_factor = old_protagonist.impulse_factor | 255 self.impulse_factor = old_protagonist.impulse_factor |
257 self.form = old_protagonist.form | 256 self.form = old_protagonist.form |
258 self.angle = old_protagonist.angle | 257 self.angle = old_protagonist.angle |
259 self.inventory = old_protagonist.inventory | |
260 | 258 |
261 def toggle_form(self): | 259 def toggle_form(self): |
262 if self.check_timer('change_delay'): | 260 if self.check_timer('change_delay'): |
263 return | 261 return |
264 self.changing_sequence.extend(self.CHANGING_SEQUENCE[self.form]) | 262 self.changing_sequence.extend(self.CHANGING_SEQUENCE[self.form]) |
320 | 318 |
321 def in_human_form(self): | 319 def in_human_form(self): |
322 return self.form == self.HUMAN_FORM | 320 return self.form == self.HUMAN_FORM |
323 | 321 |
324 def has_item(self, item): | 322 def has_item(self, item): |
325 return item in self.inventory | 323 return item in self.world.inventory |
324 | |
325 def add_item(self, item): | |
326 self.world.inventory.add(item) | |
326 | 327 |
327 def environmental_movement(self, dx, dy): | 328 def environmental_movement(self, dx, dy): |
328 if (dx, dy) == (0, 0): | 329 if (dx, dy) == (0, 0): |
329 return | 330 return |
330 self.physicser.apply_impulse((dx, dy)) | 331 self.physicser.apply_impulse((dx, dy)) |