Mercurial > parpg-core
diff src/parpg/objects/action.py @ 115:a85d58fcd253
Fixed PickUpAction. Items can be picked up again.
author | KarstenBock@gmx.net |
---|---|
date | Fri, 23 Sep 2011 15:09:02 +0200 |
parents | 5508000aceaf |
children | 9b5498e3bda0 |
line wrap: on
line diff
--- a/src/parpg/objects/action.py Fri Sep 23 15:08:27 2011 +0200 +++ b/src/parpg/objects/action.py Fri Sep 23 15:09:02 2011 +0200 @@ -21,6 +21,8 @@ from parpg.gui import drag_drop_data as data_drag from parpg.dialoguecontroller import DialogueController +from parpg.components import container + class NoSuchQuestException(Exception): """NoQuestException is used when there is no active quest with the id""" @@ -373,17 +375,16 @@ class PickUpAction(Action): """Action for picking up items from a map""" - def __init__(self, controller, map_item, commands = None): + def __init__(self, controller, item, commands = None): super(PickUpAction, self).__init__(controller, commands) - self.map_item = map_item + self.item = item self.view = controller.view def execute(self): - real_item = self.map_item.item - self.model.deleteObject(self.map_item.ID) - self.model.game_state.getObjectById("PlayerCharacter").fifeagent.\ - inventory.placeItem(real_item) - self.view.hud.inventory.updateInventoryButtons() + real_item = self.item.containable + player = self.model.game_state.getObjectById("PlayerCharacter") + self.model.moveObject(self.item.fifeagent.identifier, None) + container.put_item(player.container, real_item) super(PickUpAction, self).execute() class DropItemAction(Action):