projects
/
koperkapel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Melee weapons now do damage.
[koperkapel.git]
/
koperkapel
/
weapons.py
diff --git
a/koperkapel/weapons.py
b/koperkapel/weapons.py
index 890743dbe5ccb5fb1338006a762f7874aae2a3d6..3ef987919c9820b4bef15792b759376fc6f20914 100644
(file)
--- 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,
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.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,
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("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}
]
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)
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")
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"))
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):
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)
tape = tape and weapon.can_tape
frames = [
self.assemble_frame(suffix, weapon, tape)