Really gain items.
[koperkapel.git] / koperkapel / gamelib / items.py
index 837ccc61a58886f3ffa062b1e0870c669bc18592..af66dd991e194f5abfa73540c7cf9a02c1b720b4 100644 (file)
@@ -1,6 +1,7 @@
 # Item utilities
 
 from ..serums import default_serums
+from ..weapons import default_weapons
 
 
 def build_serum(item):
@@ -8,15 +9,23 @@ def build_serum(item):
     return actor
 
 
-ITEM_TYPES = {
+def build_weapon(item):
+    actor = default_weapons.assemble(item["weapon"])
+    return actor
+
+
+ITEM_BUILDERS = {
     "serum": build_serum,
+    "weapon": build_weapon,
 }
 
 
 def get_item(item):
     item_type = item.pop("type")
-    game_pos = item.pop("pos")
-    actor = ITEM_TYPES[item_type](item)
+    game_pos = tuple(item.pop("pos"))
+    actor = ITEM_BUILDERS[item_type](item)
+    actor.item_type = item_type
+    actor.item_data = item
     actor.game_pos = game_pos
     actor.anchor = (0, 0)
     return actor