X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fweapons.py;h=3ef987919c9820b4bef15792b759376fc6f20914;hb=e8bb29ef4dd7789bf9c20aebfb87f3911bb0d7b9;hp=890743dbe5ccb5fb1338006a762f7874aae2a3d6;hpb=ed7b7dbe49f3962132f0db806552a5873d6fc113;p=koperkapel.git diff --git a/koperkapel/weapons.py b/koperkapel/weapons.py index 890743d..3ef9879 100644 --- a/koperkapel/weapons.py +++ b/koperkapel/weapons.py @@ -7,26 +7,31 @@ from .util import safepath class Weapon: def __init__(self, name, damage, image_name=None, bullet_range=0, - can_tape=True, frames=("_1",)): + can_tape=True, frames=("_1",), sound=None): self.name = name self.image_name = image_name or name self.frames = frames self.damage = damage self.bullet_range = bullet_range self.can_tape = can_tape + self.sound = sound WEAPONS = [ Weapon("spit", damage=1, bullet_range=2, can_tape=False, - image_name="blank", frames=("",)), + image_name="blank", frames=("",), sound="fire_spit"), Weapon("butter_knife", damage=2), Weapon("crowbar", damage=4), - Weapon("gun", damage=4, bullet_range=4), + Weapon("gun", damage=4, bullet_range=4, sound='gun_fire'), ] 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) @@ -37,7 +42,7 @@ class WeaponFactory: 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")) @@ -45,7 +50,7 @@ class WeaponFactory: 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)