henry.add(ConversationStates.IDLE,
ConversationPhrases.GREETING_MESSAGES,
new AndCondition(new GreetingMatchesNameCondition(henry.getName()),
new QuestInStateCondition(QUEST_SLOT, "start"),
new NotCondition(
new AndCondition(
new PlayerHasInfostringItemWithHimCondition("leather legs", "tom"),
new PlayerHasInfostringItemWithHimCondition("note", "charles"),
new PlayerHasInfostringItemWithHimCondition("scale armor", "peter")))),
ConversationStates.ATTENDING,
"You didn't prove that you have found them all!",
null);
henry.add(ConversationStates.ATTENDING, Arrays.asList("map", "group", "help"),
new OrCondition(
new QuestCompletedCondition(QUEST_SLOT),
new AndCondition(new HenryQuestCompletedCondition(),
new PlayerOwnsItemIncludingBankCondition("map"))),
ConversationStates.ATTENDING,
"I'm so sad that most of my friends are dead.", null);
henry.add(ConversationStates.ATTENDING, Arrays.asList("map"),
new AndCondition(
new QuestNotCompletedCondition(QUEST_SLOT),
new HenryQuestCompletedCondition(),
new NotCondition(new PlayerOwnsItemIncludingBankCondition("map"))),
ConversationStates.ATTENDING,
"Luckily I drew a copy of the map, but please don't lose this one.",
new GiveMapAction(true));
henry.add(ConversationStates.ATTENDING, Arrays.asList("map"),