"""
TEXT = None
- GLYPHS = None
+ GLYPHS = ()
+ MSB_GLYPH = None
def __init__(self, required_bits, **data):
self.required_bits = required_bits
class LoseHealthOrMSB(LocationAction):
TEXT = "Lose {HEALTH} or {MSB}."
- GLYPHS = (ACTION_GLYPHS.MSB, ACTION_GLYPHS.DAMAGE)
+ MSB_GLYPH = ACTION_GLYPHS.DAMAGE
def perform_action(self, board, location):
if not self.check_and_clear_MSB(board.player):
class LoseHealthOrMSBAndSetBits(LocationAction):
TEXT = "Lose {HEALTH} or {MSB}, then set %(location_bits)s."
- GLYPHS = (ACTION_GLYPHS.SET_BITS, ACTION_GLYPHS.MSB, ACTION_GLYPHS.DAMAGE)
+ GLYPHS = (ACTION_GLYPHS.SET_BITS,)
+ MSB_GLYPH = ACTION_GLYPHS.DAMAGE
def perform_action(self, board, location):
if not self.check_and_clear_MSB(board.player):
class GainHealthAndClearBitsOrMSB(LocationAction):
TEXT = "Gain {HEALTH}, then clear %(location_bits)s or {MSB}."
- GLYPHS = (ACTION_GLYPHS.HEAL, ACTION_GLYPHS.MSB, ACTION_GLYPHS.CLEAR_BITS)
+ GLYPHS = (ACTION_GLYPHS.HEAL,)
+ MSB_GLYPH = ACTION_GLYPHS.CLEAR_BITS
def perform_action(self, board, location):
board.gain_health()
# These will probably need to go away when we have images
import pygame
-from naja.constants import TILE_SIZE, BITS, LOCK_HEIGHT, EXAMINE, ACTION_GLYPHS
+from naja.constants import (
+ TILE_SIZE, BITS, LOCK_HEIGHT, EXAMINE, ACTION_GLYPHS, PALETTE)
from naja.resources import resources
-from naja.resources.mutators import EIGHT_BIT
+from naja.resources.mutators import EIGHT_BIT, blender
from naja.widgets.base import Widget
GLYPH_MAP[glyph], transforms=(EIGHT_BIT,))
self.surface.blit(img, (x_offset, y_offset + 4))
x_offset += img.get_width()
+ if action.MSB_GLYPH is not None:
+ img = resources.get_image(
+ GLYPH_MAP[action.MSB_GLYPH],
+ transforms=(EIGHT_BIT, blender(PALETTE.LIGHT_VIOLET)))
+ self.surface.blit(img, (x_offset, y_offset + 4))
+ x_offset += img.get_width()
return y_offset + LOCK_HEIGHT
def set_highlight(self, pos):