private void use(Item item) {
        System.out.println(item.printUse());
        if (item.getType().equals("miscellaneous")) {
            System.out.println();
            return;
        }
        if (item.getType().equals("weapon")) {
            Character nearbyCharacter = checkWhoIsNear();
            if (nearbyCharacter == null || nearbyCharacter.getLocation() != player.getLocation()) {
                System.out.println("It's a shame there's nobody here to taste your fury!");
                return;
            }
            nearbyCharacter.setHostile(true);
            player.setDamage(player.getDamage() + item.getParameter());
            fight(nearbyCharacter, player);
            player.setDamage(player.getDamage() - item.getParameter());
            System.out.println();
            return;
        }
        if (item.getType().equals("advantage")) {
            if (item.getType().equals("quest")) {
                System.out.println("You figure you might want to hold on to this.\n");
            }
            return;
        }
        if (item.getType().equals("key")) {
            // Check if key is connected to any exit in current room.
            Exit exit = player.getLocation().lookForExit(item);
            if (exit == null) {
                System.out.println("After checking every door in this room, you realize, with disappointment, that " + item.getName() + " won't fit in any of them.\n");
                return;
            }
            if (exit.getUnlocked()) {
                System.out.println(item.getName() + " seems to work in the door leading " + exit.getDirection() + " from here, but it's already open.\n");
                return;
            }
            System.out.println(item.getName() + " seems to work in the door leading " + exit.getDirection() + " from here! You unlocked the door.\n");
            exit.unlock();
            // Check whether the action is relevant to any quest.
            if (player.getLocation().getName().equals("hallwayA3") && exit.getDirection().equals("north") && !quests.get("quest1").getPart(2)) {
                quests.get("quest1").completedPart(2);
                if (!quests.get("quest1").getPart(1)) {
                    System.out.println("Hrangst Jaltibrond: Thank you so much. I am absolutely starving, could you please pass me some of that bread?\n");
                    characters.get("Hrangst Jaltibrond").addDialogue("salutations", "Hello, friend. I am starving, is there any chance you could pass me some of that bread?");
                } else {
                    quests.get("quest1").completedPart(0);
                    System.out.println("Hrangst Jaltibrond: Thank you so much for all your help, kind soul. I won't bother you anymore. Here, take this key so you may continue your journey. I wish you the best of fortune. Now, I must go.\nThe old man didn't smile, but as he walked away, you could see the gratefulness in his eyes. You wonder how such a scrawny figure might fare in such a place, but before you had a time to reply he was gone.\n");
                    characters.get("Hrangst Jaltibrond").removeItem(items.get("sturdy key"));
                    player.addItem(items.get("sturdy key"));
                    characters.get("Hrangst Jaltibrond").removeDialogue("salutations");
                    characters.get("Hrangst Jaltibrond").addDialogue("salutations", "Hello, friend. I appreciate all your help.");
                    characters.get("Hrangst Jaltibrond").removeDialogue("greetingsNear");
                    characters.get("Hrangst Jaltibrond").addDialogue("greetingsNear", "You hear the old man moving around in the adjoining room.");
                    characters.get("Hrangst Jaltibrond").removeDialogue("greetingsSame");
                    characters.get("Hrangst Jaltibrond").addDialogue("greetingsSame", "The scrawny old figure you rescued earlier seems to wander around aimlessly. His ambitions seem a great mystery. Why is he not trying to escape this place?");
                    characters.get("Hrangst Jaltibrond").addLocationHistory(rooms.get("hallwayB1"));
                    characters.get("Hrangst Jaltibrond").setMoveable(true);
                }
            }
            return;
        }
    }