Mercurial > nagslang
diff nagslang/protagonist.py @ 357:d2c7e17299a7
Moonlight tiles force wolf form.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Fri, 06 Sep 2013 19:14:04 +0200 |
parents | 582a96e5fdac |
children | 534eac55a178 |
line wrap: on
line diff
--- a/nagslang/protagonist.py Fri Sep 06 18:41:29 2013 +0200 +++ b/nagslang/protagonist.py Fri Sep 06 19:14:04 2013 +0200 @@ -76,6 +76,7 @@ self.angle = 0 self.is_moving = False self.changing_sequence = [] + self.change_delay = 0 self.go_human() @@ -252,6 +253,8 @@ self.inventory = old_protagonist.inventory def toggle_form(self): + if self.change_delay: + return self.changing_sequence.extend(self.CHANGING_SEQUENCE[self.form]) def _go_to_next_form(self): @@ -343,9 +346,16 @@ self.health_level = PROTAGONIST_HEALTH_MAX_LEVEL def update(self, dt): + if self.change_delay > 0: + self.change_delay -= 1 if self.changing_sequence: self._go_to_next_form() if int(self.lifetime + dt) > int(self.lifetime): if self.in_wolf_form(): self.gain_health(1) super(Protagonist, self).update(dt) + + def force_wolf_form(self): + if self.in_human_form() and not self.changing_sequence: + self.toggle_form() + self.change_delay = 2