get in and out of vehicles
[koperkapel.git] / koperkapel / gamelib / items.py
index b61125016bb58b9707751ae655e9d031df5c6943..14bf61d05d37eb1a1012496a1c1595dd1e471a99 100644 (file)
@@ -2,6 +2,7 @@
 
 from ..serums import default_serums
 from ..weapons import default_weapons
+from ..vehicles.base import Vehicle
 
 
 def build_serum(item):
@@ -13,10 +14,15 @@ def build_weapon(item):
     actor = default_weapons.assemble(item["weapon"])
     return actor
 
+def build_vehicle(item):
+    actor = Vehicle.by_type(item["vehicle"]).get_avatar(dead=True)
+    return actor
+
 
 ITEM_BUILDERS = {
     "serum": build_serum,
     "weapon": build_weapon,
+    "vehicle": build_vehicle,
 }
 
 
@@ -39,3 +45,12 @@ def clone_old_item(item, **new_data):
     new_item.update(item.item_data)
     new_item.update(new_data)
     return get_item(new_item)
+
+
+def create_new_item(item_type, pos, **kwd):
+    new_item = {
+        "type": item_type,
+        "pos": pos,
+    }
+    new_item.update(kwd)
+    return get_item(new_item)