+ notblock = self.interact_objects (level, objs)
+
+ # get npc at current location
+ current_npc = None
+ for npc in level.npcs:
+ if npc.row == row and npc.col == col:
+ current_npc = npc
+ break
+
+ # npcs always block the tile. So return false if there is an NPC
+ # at the location
+ if current_npc is not None:
+ self.interact_npc (current_npc)
+ return False
+
+ return notblock
+
+ # interaction with npcs
+ def interact_npc (self, npc):
+ # interact with NPC and get the response ID
+ resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.img_butaba_portrait, 0, 90)
+
+ # if none
+ if resp_id is None:
+ self.status_message = "You cannot initiate a conversation with %s" % npc.charname
+
+ # interaction with objects
+ def interact_objects (self, container, objs):