Mercurial > parpg-source
diff gui/dialoguegui.py @ 80:d0b600d7136c
Added pc_has and npc_has as functions to the dialogue engine. These replace calls to pc.has_item and ncp.has_item.
author | KarstenBock@gmx.net |
---|---|
date | Fri, 23 Sep 2011 14:11:49 +0200 |
parents | 535801aec63e |
children | dd7655eee67d |
line wrap: on
line diff
--- a/gui/dialoguegui.py Fri Sep 23 13:35:44 2011 +0200 +++ b/gui/dialoguegui.py Fri Sep 23 14:11:49 2011 +0200 @@ -27,7 +27,7 @@ """Window that handles the dialogues.""" _logger = logging.getLogger('dialoguegui.DialogueGUI') - def __init__(self, controller, npc, quest_engine, met_fnc, meet_fnc, player_character): + def __init__(self, controller, npc, quest_engine, met_fnc, meet_fnc, has_fnc, player_character): self.active = False self.controller = controller xml_file = vfs.VFS.open('gui/dialogue.xml') @@ -40,6 +40,10 @@ self.player_character = player_character self.met_fnc = met_fnc self.meet_fnc = meet_fnc + self.pc_has_fnc = lambda slot_or_type:\ + has_fnc(player_character.container, slot_or_type) + self.npc_has_fnc = lambda slot_or_type:\ + has_fnc(npc.container, slot_or_type) def initiateDialogue(self): """Callback for starting a quest""" @@ -55,7 +59,10 @@ self.setAvatarImage(self.npc.dialogue.dialogue.avatar_path) game_state = {'npc': self.npc, 'pc': self.player_character, - 'quest': self.quest_engine, 'met': self.met_fnc, 'meet': self.meet_fnc} + 'quest': self.quest_engine, + 'met': self.met_fnc, 'meet': self.meet_fnc, + 'pc_has': self.pc_has_fnc, 'npc_has': self.npc_has_fnc, + } try: self.dialogue_processor = DialogueProcessor(self.npc.dialogue.dialogue, game_state)