X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fgamelib%2Fitems.py;h=b61125016bb58b9707751ae655e9d031df5c6943;hb=b4d8e05a494cd8f270eb60efea35b69c16933029;hp=9ef2ff61fbb51369f7aeb040a3018021be61f95f;hpb=52d817ad91bfec1fa892b56ac165b75bfb136bbc;p=koperkapel.git diff --git a/koperkapel/gamelib/items.py b/koperkapel/gamelib/items.py index 9ef2ff6..b611250 100644 --- a/koperkapel/gamelib/items.py +++ b/koperkapel/gamelib/items.py @@ -14,7 +14,7 @@ def build_weapon(item): return actor -ITEM_TYPES = { +ITEM_BUILDERS = { "serum": build_serum, "weapon": build_weapon, } @@ -23,7 +23,19 @@ ITEM_TYPES = { def get_item(item): item_type = item.pop("type") game_pos = tuple(item.pop("pos")) - actor = ITEM_TYPES[item_type](item) + 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 + + +def clone_old_item(item, **new_data): + new_item = { + "type": item.item_type, + "pos": item.game_pos, + } + new_item.update(item.item_data) + new_item.update(new_data) + return get_item(new_item)