From: David Sharpe Date: Sat, 17 May 2014 19:56:12 +0000 (+0200) Subject: Merge branch 'master' of git://ctpug.org.za/naja X-Git-Tag: 0.1~34 X-Git-Url: https://git.ctpug.org.za/?p=naja.git;a=commitdiff_plain;h=e6c9584589c3e3565be85f9b0f0eb5923a394a86;hp=-c Merge branch 'master' of git://ctpug.org.za/naja --- e6c9584589c3e3565be85f9b0f0eb5923a394a86 diff --combined naja/actions.py index 7ae189e,89c43f8..f5b03a0 --- a/naja/actions.py +++ b/naja/actions.py @@@ -77,10 -77,6 +77,10 @@@ class LocationAction(object) 'data': self.data, 'action_class': self.__class__.__name__} + def take_damage(self, board): + sound.play_sound('awwww.ogg') + board.lose_health() + class DoNothing(LocationAction): TEXT = "No effect." @@@ -96,7 -92,8 +96,7 @@@ class LoseHealthOrMSB(LocationAction) def perform_action(self, board, location): if not self.check_and_clear_MSB(board.player): - sound.play_sound('awwww.ogg') - board.lose_health() + self.take_damage(board) class SetBits(LocationAction): @@@ -115,15 -112,6 +115,15 @@@ class ClearBits(LocationAction) board.player.bits.clear_bits(location.bitwise_operand) +class ClearBitsAndHealth(LocationAction): + TEXT = "Clear %(location_bits)s and {HEALTH}." + GLYPHS = (ACTION_GLYPHS.CLEAR_BITS, ACTION_GLYPHS.DAMAGE) + + def perform_action(self, board, location): + board.player.bits.clear_bits(location.bitwise_operand) + self.take_damage(board) + + class ToggleBits(LocationAction): TEXT = "Toggle %(location_bits)s." GLYPHS = (ACTION_GLYPHS.TOGGLE_BITS,) @@@ -132,15 -120,6 +132,15 @@@ board.player.bits.toggle_bits(location.bitwise_operand) +class ToggleBitsAndHarm(LocationAction): + TEXT = "Toggle %(location_bits)s and lose {HEALTH}." + GLYPHS = (ACTION_GLYPHS.TOGGLE_BITS, ACTION_GLYPHS.DAMAGE) + + def perform_action(self, board, location): + board.player.bits.toggle_bits(location.bitwise_operand) + self.take_damage(board) + + class GenericBits(LocationAction): GLYPHS = (ACTION_GLYPHS.SET_BITS, ACTION_GLYPHS.CLEAR_BITS) @@@ -191,7 -170,7 +191,7 @@@ parts.append("Lose {HEALTH}.") for template, bits in [ ('Set %s.', self.set_bits), ('Clear %s.', self.clear_bits), - ('Toggle %s', self.toggle_bits)]: + ('Toggle %s.', self.toggle_bits)]: if bits: parts.append(template % (bit_glyphs(bits))) if self.once: