X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fserums.py;h=22391145f2b23843f75bccad381cae6f33fc4d7f;hb=1c447e762b427f53c02c2463afaed2e21ca91d66;hp=c2a52bba6ff0e10525597d2b1a1760108ef95036;hpb=945266ff37a498c18d20942a84e66b83e8323f19;p=koperkapel.git diff --git a/koperkapel/serums.py b/koperkapel/serums.py index c2a52bb..2239114 100644 --- a/koperkapel/serums.py +++ b/koperkapel/serums.py @@ -1,8 +1,11 @@ """ Tools for creating serum actors. """ +import random from pgzero.loaders import images from pygame.constants import BLEND_RGBA_MULT +from pygame.transform import rotate from .actors.surf import SurfActor +from .util import safepath SERUMS = ["smart", "fast", "strong"] @@ -27,14 +30,22 @@ def roach_serum_color(roach): return SERUM_OVERLAY_COLORS["none"] +def roach_is_serumless(roach): + for serum_name in SERUMS: + if getattr(roach, serum_name): + return False + return True + + class SerumFactory: def __init__(self, suffix): self.suffix = suffix def assemble(self, name): assert name in SERUMS - puddle = images.load("serum%s/serum" % (self.suffix,)) - serum_icon = images.load("serum%s/%s" % ( + puddle = images.load(safepath("serum%s/serum") % (self.suffix,)) + puddle = rotate(puddle, 90 * random.randint(0, 3)) + serum_icon = images.load(safepath("serum%s/%s") % ( self.suffix, SERUM_TILENAME_MAP[name],)) frame = puddle.copy() frame.fill(SERUM_OVERLAY_COLORS[name], None, BLEND_RGBA_MULT)