if sound:
self.sound = sounds.load(sound)
+ def play_sound(self):
+ if self.sound:
+ self.sound.play()
+
WEAPONS = [
Weapon("spit", damage=1, bullet_range=2, can_tape=False,
WEAPON_LOOKUP = {w.name: w for w in WEAPONS}
+def weapon_by_name(weapon_name):
+ return WEAPON_LOOKUP[weapon_name]
+
+
class WeaponActor(AnimatedSurfActor):
def __init__(self, weapon, **kw):
super().__init__(**kw)
def assemble_frame(self, suffix, weapon, tape):
surf = images.load(safepath("weapons/%s%s")
- % (weapon.image_name, suffix))
+ % (weapon.image_name, suffix))
frame = surf.copy()
if tape:
tape_surf = images.load(safepath("weapons/tape"))
return frame
def assemble(self, weapon_name, tape=False):
- weapon = WEAPON_LOOKUP[weapon_name]
+ weapon = weapon_by_name(weapon_name)
tape = tape and weapon.can_tape
frames = [
self.assemble_frame(suffix, weapon, tape)