@Override
  @Before
  public void setUp() throws Exception {
    super.setUp();

    new CowardSoldierNPC().configureZone(zone, null);
    new SergeantNPC().configureZone(zone, null);

    AbstractQuest quest = new KanmararnSoldiers();
    quest.addToWorld();

    questSlot = quest.getSlotName();
  }
Esempio n. 2
0
  @BeforeClass
  public static void setUpBeforeClass() throws Exception {
    final StendhalRPWorld world = MockStendlRPWorld.get();
    QuestHelper.setUpBeforeClass();

    final StendhalRPZone zone = new StendhalRPZone("int_semos_guard_house");
    new GroundskeeperNPC().configureZone(zone, null);

    world.addRPZone(zone);
    world.addRPZone(basement);
    quest.addToWorld();
  }
  @Before
  public void setUp() {
    StendhalRPZone zone = new StendhalRPZone("admin_test");
    new CustomerAdvisorNPC().configureZone(zone, null);

    npc = SingletonRepository.getNPCList().get("Dagobert");
    quest = new ArmorForDagobert();
    quest.addToWorld();
    en = npc.getEngine();

    player = PlayerTestHelper.createPlayer("player");
  }
 @Override
 public void addToWorld() {
   super.addToWorld();
   fillQuestInfo(
       "Jailed Barbarian",
       "Lorenz is a jailed Barbarian on Amazon Island. It's a mystery why he is jailed there, but perhaps he needs help.",
       true);
   step1();
   step2();
   step3();
   step4();
   step5();
   step6();
   step7();
   step8();
 }
Esempio n. 5
0
  @Test
  public void testOldQuest() {
    final int xp = player.getXP();
    final double karma = player.getKarma();
    LinkedList<String> questHistory = new LinkedList<String>();

    assertTrue(quest.getHistory(player).isEmpty());
    player.setQuest(questSlot, "start");
    questHistory.add("I do agree to help Morgrin.");
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "hi");
    assertEquals("Go down and kill the creatures, no time left.", getReply(npc));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    player.setSharedKill("spider");
    questHistory.add("I have killed a spider in the basement.");
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "hi");
    assertEquals("Go down and kill the creatures, no time left.", getReply(npc));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    player.setSharedKill("poisonous spider");
    questHistory.add("I have killed a poisonous spider in the basement.");
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "hi");
    assertEquals("Go down and kill the creatures, no time left.", getReply(npc));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    player.setSharedKill("giant spider");
    questHistory.add("I have killed a giant spider in the basement.");
    questHistory.add(
        "I have killed all 3 spiders in the basement. Now I go back to Morgrin to fetch my reward.");
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "hi");
    assertEquals(
        "Oh thank you my friend. Here you have something special, I got it from a Magican. Who he was I do not know. What the egg's good for, I do not know. I only know, it could be useful for you.",
        getReply(npc));
    assertTrue(player.isEquipped("mythical egg"));
    assertThat(player.getXP(), greaterThan(xp));
    assertThat(player.getKarma(), greaterThan(karma));
    assertTrue(player.getQuest(questSlot).startsWith("killed"));
    questHistory.clear();
    questHistory.add(
        "I have killed all spiders in the magic school basement and got a mythical egg.");
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));
  }
Esempio n. 6
0
 @Override
 public void addToWorld() {
   super.addToWorld();
   prepareQuestStep();
   prepareBringingStep();
 }
Esempio n. 7
0
  /** Tests for quest. */
  @Test
  public void testQuest() {
    double oldkarma = player.getKarma();
    LinkedList<String> questHistory = new LinkedList<String>();

    assertTrue(quest.getHistory(player).isEmpty());
    en.step(player, "hi");
    assertEquals("Hello my friend. Nice day for walking isn't it?", getReply(npc));
    en.step(player, "yes");
    assertEquals("Fine fine, I hope you enjoy your day.", getReply(npc));

    en.step(player, "task");
    assertEquals(
        "Have you ever been to the basement of the school? The room is full of spiders and some could be dangerous, since the students do experiments! Would you like to help me with this 'little' problem?",
        getReply(npc));
    en.step(player, "no");
    assertEquals("Ok, I have to find someone else to do this 'little' job!", getReply(npc));
    assertThat(player.getKarma(), lessThan(oldkarma));
    questHistory.add("I do not agree to help Morgrin.");
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    questHistory.clear();
    oldkarma = player.getKarma();
    en.step(player, "hi");
    assertEquals("Hello my friend. Nice day for walking isn't it?", getReply(npc));
    en.step(player, "task");
    assertEquals(
        "Have you ever been to the basement of the school? The room is full of spiders and some could be dangerous, since the students do experiments! Would you like to help me with this 'little' problem?",
        getReply(npc));
    en.step(player, "yes");
    assertEquals("Fine. Go down to the basement and kill all the creatures there!", getReply(npc));
    questHistory.add("I do agree to help Morgrin.");
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    en.step(player, "hi");
    assertEquals("Go down and kill the creatures, no time left.", getReply(npc));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    killSpider("spider");
    assertEquals("spider", player.getQuest(questSlot, 1));
    questHistory.add("I have killed a spider in the basement.");
    assertEquals(questHistory, quest.getHistory(player));
    killSpider("poisonous spider");
    assertEquals("poisonous spider", player.getQuest(questSlot, 2));
    questHistory.add("I have killed a poisonous spider in the basement.");
    assertEquals(questHistory, quest.getHistory(player));
    killSpider("giant spider");
    assertEquals("giant spider", player.getQuest(questSlot, 3));
    questHistory.add("I have killed a giant spider in the basement.");
    questHistory.add(
        "I have killed all 3 spiders in the basement. Now I go back to Morgrin to fetch my reward.");
    assertEquals(questHistory, quest.getHistory(player));
    final int xp = player.getXP();
    final double karma = player.getKarma();

    questHistory.clear();
    en.step(player, "hi");
    // [15:13] kymara earns 5000 experience points.
    assertEquals(
        "Oh thank you my friend. Here you have something special, I got it from a Magican. Who he was I do not know. What the egg's good for, I do not know. I only know, it could be useful for you.",
        getReply(npc));
    assertTrue(player.isEquipped("mythical egg"));
    assertThat(player.getXP(), greaterThan(xp));
    assertThat(player.getKarma(), greaterThan(karma));
    assertTrue(player.getQuest(questSlot).startsWith("killed"));
    questHistory.add(
        "I have killed all spiders in the magic school basement and got a mythical egg.");
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    en.step(player, "hi");
    assertEquals("Hello my friend. Nice day for walking isn't it?", getReply(npc));
    en.step(player, "task");
    assertEquals(
        "Sorry there is nothing to do for you yet. But maybe you could come back later. I have to clean the school once a week.",
        getReply(npc));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    final double newKarma = player.getKarma();

    // [15:14] Changed the state of quest 'kill_all_spiders' from 'killed;1219677211115' to
    // 'killed;0'
    player.setQuest(questSlot, "killed;0");
    en.step(player, "hi");
    assertEquals("Hello my friend. Nice day for walking isn't it?", getReply(npc));
    en.step(player, "task");
    assertEquals("Would you like to help me again?", getReply(npc));
    en.step(player, "no");
    assertThat(player.getKarma(), lessThan(newKarma));
    assertEquals("Ok, I have to find someone else to do this 'little' job!", getReply(npc));
    assertThat(player.getQuest(questSlot), is("rejected"));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    en.step(player, "hi");
    assertEquals("Hello my friend. Nice day for walking isn't it?", getReply(npc));
    en.step(player, "task");
    assertEquals(
        "Have you ever been to the basement of the school? The room is full of spiders and some could be dangerous, since the students do experiments! Would you like to help me with this 'little' problem?",
        getReply(npc));
    en.step(player, "yes");
    assertEquals("Fine. Go down to the basement and kill all the creatures there!", getReply(npc));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));
  }
  /** Tests for quest. */
  @Test
  public void testQuest() {
    en.step(player, "hi");
    assertEquals(
        "Welcome to the bank of Semos! I am here to #help you manage your personal chest.",
        getReply(npc));
    assertTrue(quest.getHistory(player).isEmpty());

    en.step(player, "no");

    assertTrue(quest.getHistory(player).isEmpty());
    en.step(player, "task");
    assertTrue(quest.getHistory(player).isEmpty());
    assertEquals(
        "I'm so afraid of being robbed. I don't have any protection. Do you think you can help me?",
        getReply(npc));
    en.step(player, "no");
    java.util.List<String> questHistory = new LinkedList<String>();
    questHistory.add("I have met Dagobert. He is the consultant at the bank in Semos.");
    questHistory.add("He asked me to find a leather cuirass but I rejected his request.");
    assertEquals(questHistory, quest.getHistory(player));

    assertEquals("Well, then I guess I'll just duck and cover.", getReply(npc));
    en.step(player, "bye");
    assertEquals(questHistory, quest.getHistory(player));
    assertEquals("It was a pleasure to serve you.", getReply(npc));

    // -----------------------------------------------

    en.step(player, "hi");
    assertEquals(
        "Welcome to the bank of Semos! I am here to #help you manage your personal chest.",
        getReply(npc));
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "task");
    assertEquals(questHistory, quest.getHistory(player));
    assertEquals(
        "I'm so afraid of being robbed. I don't have any protection. Do you think you can help me?",
        getReply(npc));
    en.step(player, "yes");
    questHistory = new LinkedList<String>();
    questHistory.add("I have met Dagobert. He is the consultant at the bank in Semos.");
    questHistory.add("I promised to find a leather cuirass for him because he has been robbed.");
    assertEquals(questHistory, quest.getHistory(player));
    assertEquals(
        "Once I had a nice #'leather cuirass', but it was destroyed during the last robbery. If you find a new one, I'll give you a reward.",
        getReply(npc));
    en.step(player, "leather");
    assertEquals(questHistory, quest.getHistory(player));
    assertEquals(
        "A leather cuirass is the traditional cyclops armor. Some cyclopes are living in the dungeon deep under the city.",
        getReply(npc));
    en.step(player, "bye");
    assertEquals(questHistory, quest.getHistory(player));
    assertEquals("It was a pleasure to serve you.", getReply(npc));

    // -----------------------------------------------
    final Item item = ItemTestHelper.createItem("leather cuirass");
    player.getSlot("bag").add(item);
    questHistory.add("I found a leather cuirass and will take it to Dagobert.");
    assertEquals(questHistory, quest.getHistory(player));

    en.step(player, "hi");
    assertEquals(
        "Excuse me, please! I have noticed the leather cuirass you're carrying. Is it for me?",
        getReply(npc));
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "no");
    assertEquals(
        "Well then, I hope you find another one which you can give to me before I get robbed again.",
        getReply(npc));
    assertEquals(questHistory, quest.getHistory(player));
    en.step(player, "bye");
    assertEquals("It was a pleasure to serve you.", getReply(npc));
    assertEquals(questHistory, quest.getHistory(player));

    // -----------------------------------------------

    en.step(player, "hi");
    assertEquals(
        "Excuse me, please! I have noticed the leather cuirass you're carrying. Is it for me?",
        getReply(npc));
    assertEquals(questHistory, quest.getHistory(player));
    // put it out of bag onto ground, then say yes.
    player.drop("leather cuirass");
    assertFalse(player.isEquipped("leather cuirass"));
    questHistory.remove("I found a leather cuirass and will take it to Dagobert.");
    assertEquals(questHistory, quest.getHistory(player));
    npc.remove("text");
    en.step(player, "yes");
    // he doesn't do anything.
    assertEquals(questHistory, quest.getHistory(player));
    assertFalse(npc.has("text"));
    en.step(player, "bye");
    assertEquals(questHistory, quest.getHistory(player));
    assertEquals("It was a pleasure to serve you.", getReply(npc));

    // -----------------------------------------------

    player.getSlot("bag").add(item);
    en.step(player, "hi");
    questHistory.add("I found a leather cuirass and will take it to Dagobert.");
    assertEquals(questHistory, quest.getHistory(player));
    assertEquals(
        "Excuse me, please! I have noticed the leather cuirass you're carrying. Is it for me?",
        getReply(npc));
    final int xpBeforeReward = player.getXP();
    en.step(player, "yes");
    questHistory.add(
        "I took the leather cuirass to Dagobert. As a little thank you, he will allow me to use a private vault.");
    assertEquals(questHistory, quest.getHistory(player));
    assertEquals(
        "Oh, I am so thankful! Here is some gold I found ... ehm ... somewhere. Now that you have proven yourself a trusted customer, you may have access to your own private banking #vault any time you like.",
        getReply(npc));
    assertEquals(xpBeforeReward + 50, player.getXP());
    en.step(player, "task");
    assertEquals(questHistory, quest.getHistory(player));
    assertEquals(
        "Thank you very much for the armor, but I don't have any other task for you.",
        getReply(npc));
  }