def init_quest(map_, quest_no): """Initializes a new quest.""" # Loads a specified quest. quest = game_utils.load_game_quest(map_, quest_no) # Assigns the current quest to a global variable. globals_.current_quest[0] = quest globals_.current_quest[1] = quest_no # Executes Python code from the quest. try: exec(globals_.current_quest[0]) except Exception as err: # Displays an error on the screen. windows.show_error(err, traceback.extract_stack()[-1])
def update_quest(zone, interior=0): """Updates the current quest. Used when a zone is changed or when player enters a building. """ # Clears all in-game objects. globals_.clear_in_game_globals() # Loads a quest for the current zone. if not zone == 0: quest = game_utils.load_game_quest(globals_.current_map.name.capitalize(), globals_.current_quest[1], zone=zone, interior=interior) # Assigns the current quest to a global variable. globals_.current_quest[0] = quest # Executes Python code from the quest. try: exec(globals_.current_quest[0]) except Exception as err: # Displays an error on the screen. windows.show_error(err, traceback.extract_stack()[-1])