<commit_before>
// Use package zuulframework
package TWoT_A1;

import static TWoT_A1.EquippableItem.EItem.CHEST_SLOT;
import static TWoT_A1.EquippableItem.EItem.LEG_SLOT;
import static TWoT_A1.EquippableItem.EItem.WEAPON_SLOT;
import static TWoT_A1.UseableItem.Usables.FOOD;
import static TWoT_A1.UseableItem.Usables.MAGIC_ITEM;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TWoT implements Serializable{
    // Init variabels
    private Room currentRoom;
    private Player player;
    private Npc stranger = new Npc("Stranger", true, 22203);
    private long startTime;
    private boolean isOver;
    private static final long serialVersionUID = 1L;
    // Deffine rooms
    private Room roomCellar, roomVillage, roomHouse1, roomHouse2, roomHouse3, roomForest, roomWizardHouse, roomCave, roomCaveGruul, roomClearing, roomDungeon, roomLibrary, roomEvilWizardsLair;

    // Create the constructor for TWoT class
    public TWoT(){
        // Create the different rooms used
        createRooms();
        player = new Player("StartName", 1.0, 1.0, 100, new Inventory());
        startTime = (long)(System.currentTimeMillis() / 1000L);
        player.addItemToInventory(new UseableItem("Cheese sandwhich", 20, "Do you dare eat it?", "The table has several books and journals that are of no interest to you. In the drawer you find a cheese sandwich for eating.", 55501, FOOD, 50));
        player.setDamage(30);
        player.addItemToInventory(new EquippableItem("Handaxe2", 293811, "Sturdy, and propably packs a punch.", 1.0, 0.0, WEAPON_SLOT, "You search thore a punch.", 55504));
        player.addItemToInventory(new EquippableItem("Handaxe1", 293811, "Sturdy, and propably packs a punch.", 2.0, 0.0, WEAPON_SLOT, "You search thore a punch.", 55999));
        player.addItemToInventory(new QuestItem("Kids", 2, "Small and crying", 99902, "As you approach the bed, you hear muffled sniffling and crying, you quickly duck down and lift the duvey covers -  you find two children around the age of 10 and 7 huddled up tears on their cheecks.\n\"Please mister, don’t hurt us\" - you reassure the children that you are not going to hurt them, but taking them back to their father, the guard. "));
    }   
    
    /**
     * Creates all the rooms in the game.
     */
    private void createRooms(){
        roomCellar = new Room("Cellar", "***Cellar*** \nYou wake up in a dull cellar. Light is emitting from a torch on the wall "
                + "and you barely get on your feet.\nYou’ve been laying on a haystack for God knows how long and "
                + "your feet are extremely sore.", 1);
        roomVillage = new Room("Village of Treldan", "\n\n***Village of Treldan*** \nIt’s dark outside. You seem to be familiar with this part of the village. "
                + "\nYou still wonder why you were locked up in that cell, but your thoughts are quickly interrupted "
                + "by a sobbing by the gate.\nA guard seems to be crying, and something doesn’t seem right in the "
                + "village. All houses seem to be empty through the windows.\nYou gasp as you see several "
                + "people lying dead in the side of the road.", 2);
        roomHouse1 = new Room("House of the Reborn", "\n\n***House of the Reborn*** \nThe house you venture into is dark – very dark. It seems like "
                + "there is a man in a corner close to you and a woman in the other end of the room.", 3);
        roomHouse2 = new Room("House of Riches", "\n\n***House of Riches*** \n You use your bloody key to get in. This house is lit up by a "
                + "candle on the table.\nThere’s a blood-stained bed in the corner of the room. A bunch of sacks "
                + "are placed up against a poorly build wardrobe.\nThe other corner is not lit up by the candle and "
                + "you can’t see what is there.\nYou enter the house.", 4);
        roomHouse3 = new Room("House of the Guard", "\n\n***House of the Guard*** \nThe door is barred from the inside, you jump through an open "
                + "window in the house, cutting yourself on a sharp piece of glass. You lose 5 HP.\nThe house is neatly "
                + "decorated, and the infected clearly havent been in here, in the left corner of the room there is "
                + "a dusty set of armor and lying in an open chest at the end of a double-bed.\nAdditionally, there "
                + "is also a small kitchen area with knives, pots, pans, and the like.\nYou enter the house.", 5);
        roomForest = new Room("The Forest of Treldan", "\n\n***The Forest of Treldan*** \nAs you ride through the forest you are ambushed by a pack "
                + "of goblins who try to murder you and take your valuables.\nYou almost fall prey to the savages, "
                + "as you are saved by a wizard who zaps! the goblins with magic and scare them away.\nHe heals your "
                + "wounds and helps you back on your feet.\nYou thank the wizard and ask him if there is anything "
                + "you can do to repay him. Come meet me in my house when you're ready, its the Large Tree-house "
                + "over there.\nI have need of help in order to save Treldan! You enter the Forest of Treldan, you "
                + "scout around and look for anything, and spot a dead goblin and a couple of suspicious looking "
                + "mushrooms.", 6);
        roomWizardHouse = new Room ("The Nice Wizard's House","\n\n***The Wizard's House*** \nThe wizard's house is better described as a hollow tree with doors "
                + "and windows, you can see a number of magical artifacts, a staircase to a upstairs part of the "
                + "house, there is also what looks to be an alchemy lab.\nThe wizard sits quietly in a comfy chair "
                + "with his legs up, snoring.", 7);
        roomCave = new Room("Troll Cave", "\n\n***Troll Cave*** \nYou enter the troll cave, and immediately get sorrounded by 3 trolls,"
                + " one directly in fron of you, one to the left, and one to your right.\nIn the back "
                + "you can see a larger shadowy figure in the back of the cave, but you need to "
                + "get rid of the trolls to get to him first.", 8);
        roomCaveGruul = new Room("Gruul's Lair","\n\n***Gruul's Lair*** \n You approach the shadowy figure and as you come closer, the giant troll rises"
                + " up, easily towering 2 meters above you, opens its mouth and roars fiercely at you.", 9);
        roomClearing = new Room("Clearing of Unicorns", "***Clearing of Unicorns*** \nYou enter the clearing of unicorns and are immediately"
                + " blinded by a bright light.\nAs you regain your sight you lay eyes upon the most magnificent "
                + "create you have ever seen.\nThe unicorn looks at you curiously and goes back to eating grass. "
                + "\nYou scout the surrounding area for anything else, and spot an old tree.", 10);
        roomDungeon = new Room("Dungeon of Suffering", "\n\n***Dungeon of Suffering*** \nA loud whoosh and you find yourself in some kind of dungeon "
                + "– probably the one belonging to the evil wizard of Treldan.\nYou realise you must be in his Tower."
                + "\nYou get up on your feet and sees that the room your in is barely lit by torches, the walls are "
                + "slimy and there are no windows. To no surprise you find three heavely armored skeletons.\nYou "
                + "sigh.", 11);
        roomLibrary = new Room("The Neverending Library", "\n\n***The Neverending Library*** \nYou find yourself in the biggest room you’ve ever been "
                + "in. Books upon books is all you see, and bookcases fill up the gigantic room.\nIt would take ages "
                + "to go through every single book, you think to yourself. A librarian is sitting in the library.", 12);
        roomEvilWizardsLair = new Room("The Evil Wizard's Lair", "\n\n***The Evil Wizard's Lair*** \nAs you ascend the stairs your legs feel heavier and "
                + "heavier.\nYou can barely walk as you make it up to the final step – the pain is then suddenly "
                + "relieved.\nYou open a large door and you see the Evil Wizard of Treldan standing in the room.", 13);

        // roomCellar
        Interior roomCellarExit = new Exit(roomVillage);
        Interior roomCellarStick = new QuestItem("A needle", 1, "It was found in the haystack", 99901, "It must have been super uncomfortable laying on the haystack.\nYou search around the haystack and end up finding a strong needle. The needle has been added to your inventory.");
        Interior roomCellarCheeseSandwich = new UseableItem("Cheese sandwhich", 20, "Do you dare eat it?", "The table has several books and journals that are of no interest to you. In the drawer you find a cheese sandwich for eating.", 55501, FOOD, 50);
        roomCellar.addMapInterior("door", roomCellarExit);
        roomCellar.addMapInterior("haystack", roomCellarStick);
        roomCellar.addMapInterior("table", roomCellarCheeseSandwich);
        

        //roomVillage
        Interior roomVillageExit1 = new Exit(roomHouse1);
        Interior roomVillageExit2 = new Exit(roomHouse2);
        Interior roomVillageExit3 = new Exit(roomHouse3);
        Interior roomVillageAxe = new QuestItem("Lumberjack axe", 1, "Could be useful later.", 99904, "You pickup the axe from the road.");
        Npc mogens = new Npc("Mogens", true, 22201);
        Interior roomVillageNPC = mogens;
        roomVillage.addMapInterior("house1", roomVillageExit1);
        roomVillage.addMapInterior("house2", roomVillageExit2);
        roomVillage.addMapInterior("house3", roomVillageExit3);
        roomVillage.addMapInterior("guard", roomVillageNPC);
        roomVillage.addMapInterior("axe", roomVillageAxe);
        
        //roomHouse1
        Interior roomHouse1Exit = new Exit(roomVillage);
        Interior roomHouse1Man = new Monster("Zombie man", 0.7, 0.7, 50, 50, "A dead man is half-sitting in a chair. He gets on his feet and attacks you.");
        Interior roomHouse1LooseStone = new UseableItem("CheezBurga", 20, "Nom nom nom", "You move the loose stone and to your surprise you find a cheezBurga", 55508, FOOD, 50);
        roomHouse1.addMapInterior("man", roomHouse1Man);
        roomHouse1.addMapInterior("stone", roomHouse1LooseStone);
        roomHouse1.addMapInterior("door", roomHouse1Exit);
        
        //roomHouse2
        Interior roomHouse2Exit = new Exit(roomVillage);
        Interior roomHouse2Wardrobe = new EquippableItem("Mega Sword", 842,"It looks mega.",2.1,1.0, WEAPON_SLOT, "You find nothing of interest in the wardrobe. You tear open the sacks with your bare hands and cut your fingers on something. You lift up a dull but usable sword.", 33301); //Tag 10 skade
        Interior roomHouse2Bed = new QuestItem("Kids", 2, "Small and crying", 99902, "As you approach the bed, you hear muffled sniffling and crying, you quickly duck down and lift the duvey covers -  you find two children around the age of 10 and 7 huddled up tears on their cheecks.\n\"Please mister, don’t hurt us\" - you reassure the children that you are not going to hurt them, but taking them back to their father, the guard. ");
        Interior roomHouse2DarkCorner = new UseableItem("Cinnamon Roll",5,"Cinnamon roll with cinnamon", "As you approach the dark corner you fear the worst, but to your surprise you find a cinnamon roll on a shelf.", 55502, FOOD, 50);

        roomHouse2.addMapInterior("door", roomHouse2Exit);
        roomHouse2.addMapInterior("wardrobe", roomHouse2Wardrobe);
        roomHouse2.addMapInterior("bed", roomHouse2Bed);
        roomHouse2.addMapInterior("corner", roomHouse2DarkCorner);
        
        //roomHouse3
        Interior roomHouse3Exit = new Exit(roomVillage);
        Interior roomHouse3Kitchen = new UseableItem("Old rusty coin", 366, "It's old and rusty.", "The knives are all rusty and dull, you cant use them for anything, but you find a rusty coin stashed away in a secret compartment of the oven.", 55503, MAGIC_ITEM, 0);
        Monster woman = new Monster("Woman", 1.0, 1.0, 50, 50, "The woman is lying on the floor but quickly gets up as you near her. You realize that the woman must be the guard’s wife. She seems furious, her face all molested – almost like a zombie. She charges at you.");
        Interior roomHouse3Woman = woman;
        woman.addDropItem(new QuestItem("Bloody key", 8273, "This key looks bloody", 99907, ""));
        Interior roomHouse3Chest = new EquippableItem("Old leather armor", 32819, "Quite fabulous", 1.0, 1.3, CHEST_SLOT, "There is a set of leather armor  in the chest, it's old and rusty but durable, you  put it on and it suits you surprisingly well.", 33302);
        roomHouse3.addMapInterior("door", roomHouse3Exit);
        roomHouse3.addMapInterior("woman", roomHouse3Woman);
        roomHouse3.addMapInterior("kitchen", roomHouse3Kitchen);
        roomHouse3.addMapInterior("chest", roomHouse3Chest);
        
        //roomForrest
        Interior roomForrestExit1 = new Exit(roomWizardHouse);
        Interior roomForrestExit2 = new Exit(roomCave);
        Interior roomForrestExit3 = new Exit(roomClearing);
        Interior roomForrestExit4 = new Exit(roomVillage);
        Interior roomForrestMushroom = new UseableItem("Mushroom", 286, "It stinks, but it might come in handy scaring off weaker foes.", "You go pick up a mushroom, it stinks, but it might come in handy scaring off weaker foes.", 55504, MAGIC_ITEM, 0);
        Interior roomForrestDeadGoblin = new EquippableItem("Handaxe", 293811, "Sturdy, and propably packs a punch.", 1.0, 0.0, WEAPON_SLOT, "You search the dead goblin. Its skin is charred from the wizards light magic and its black blood is slowly seeping out its mouth. You find 25 gold and a well kept short handaxe, its sturdy and probably packs quite a punch.", 55504);
        roomForest.addMapInterior("mushroom", roomForrestMushroom);
        roomForest.addMapInterior("goblin", roomForrestDeadGoblin);
        roomForest.addMapInterior("house", roomForrestExit1);
        roomForest.addMapInterior("cave", roomForrestExit2);
        roomForest.addMapInterior("clearing", roomForrestExit3);
        roomForest.addMapInterior("village", roomForrestExit4);
        
        //roomWizardHouse
        Interior roomWizardHouseExit = new Exit(roomForest);
        Interior roomWizardHouseUpstairs = new UseableItem("Smooth ruby", 200, "A valueable stone.", "You check the wizards room for any valuables, find a piece of jewelry, and go downstairs again.", 55505, MAGIC_ITEM, 0);
        Interior roomWizardHouseBox = new UseableItem("Mysterious Ring",150,"Odd looking ring with a curiously intricate design, you decide to hold onto it.", "You rummage through the box of magical artifacts, and find a odd looking ring with a curiously intricate design, you decide to hold onto it.", 55506, MAGIC_ITEM, 0);
        Interior roomWizardHouseLab = new UseableItem("Health Potion",20,"Regenerates health points", "You search the alchemy lab and find a health potion.", 55507, FOOD, 50);
        Npc wizard = new Npc("Wizard", true, 22202);
        Interior roomWizardHouseNPC = wizard;
        roomWizardHouse.addMapInterior("upstairs", roomWizardHouseUpstairs);
        roomWizardHouse.addMapInterior("box", roomWizardHouseBox);
        roomWizardHouse.addMapInterior("lab", roomWizardHouseLab);
        roomWizardHouse.addMapInterior("wizard", roomWizardHouseNPC);
        roomWizardHouse.addMapInterior("forest", roomWizardHouseExit);
        
        //roomCave
        Interior roomCaveExit1 = new Exit(roomForest);
        Interior roomCaveExit2 = new Exit(roomCaveGruul);
        Monster troll1 = new Monster("Nasty troll", 1.0, 1.0, 50, 3000, "The troll gets on its feet and starts attacking you.");
        Monster troll2 = new Monster("Ugly troll", 1.0, 1.0, 50, 3000, "The troll gets on its feet and starts attacking you.");
        Monster troll3 = new Monster("Beautifull troll", 1.0, 1.0, 50, 3000, "The troll gets on its feet and starts attacking you.");
        Interior roomWizardHouseMonster1 = troll1;
        Interior roomWizardHouseMonster2 = troll2;
        Interior roomWizardHouseMonster3 = troll3;
        roomCave.addMapInterior("troll1",roomWizardHouseMonster1);
        roomCave.addMapInterior("troll2",roomWizardHouseMonster2);
        roomCave.addMapInterior("troll3",roomWizardHouseMonster3);
        roomCave.addMapInterior("forest",roomCaveExit1);
        roomCave.addMapInterior("lair",roomCaveExit2);
        
        //roomCaveGrull
        Interior roomCaveGruulExit1 = new Exit(roomCave);
        Interior gruul = new Monster("Gruul", 1.8, 2.0, 100, 5, "You approach the shadowy figure and as you come closer, the giant troll it rises up, easily towering 2 meters above you, opens its mouth and roars fiercely at you.");
        ((Monster)gruul).addDropItem(new QuestItem("Magic staff", 700, "Magic staff the wizard told you to get", 99906, ""));
        roomCaveGruul.addMapInterior("gruul", gruul);
        roomCaveGruul.addMapInterior("cave", roomCaveGruulExit1);
        
        //roomClearing
        Interior roomClearingExit1 = new Exit(roomForest);
        Monster giant_troll_boss = new Monster("Humongous troll", 2.1, 1.5, 200, 100, "A humongous troll attacks you.");
        Monster unicorn = new Monster("Unicorn", 1.6, 1.5, 400, 200, "The unicorn doesent like you so it charges at you.");
        unicorn.addDropItem(new QuestItem("Vial of Rainbow", 1, "Vial of good", 99905, ""));
        Interior roomClearingMonster1 = unicorn;
        Interior roomClearingTree = new Npc("Old Tree", false, 22204);
        Interior roomClearingBoss = giant_troll_boss;<commit_msg>changed name exit wizard house<commit_after>
// Use package zuulframework
package TWoT_A1;

import static TWoT_A1.EquippableItem.EItem.CHEST_SLOT;
import static TWoT_A1.EquippableItem.EItem.LEG_SLOT;
import static TWoT_A1.EquippableItem.EItem.WEAPON_SLOT;
import static TWoT_A1.UseableItem.Usables.FOOD;
import static TWoT_A1.UseableItem.Usables.MAGIC_ITEM;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TWoT implements Serializable{
    // Init variabels
    private Room currentRoom;
    private Player player;
    private Npc stranger = new Npc("Stranger", true, 22203);
    private long startTime;
    private boolean isOver;
    private static final long serialVersionUID = 1L;
    // Deffine rooms
    private Room roomCellar, roomVillage, roomHouse1, roomHouse2, roomHouse3, roomForest, roomWizardHouse, roomCave, roomCaveGruul, roomClearing, roomDungeon, roomLibrary, roomEvilWizardsLair;

    // Create the constructor for TWoT class
    public TWoT(){
        // Create the different rooms used
        createRooms();
        player = new Player("StartName", 1.0, 1.0, 100, new Inventory());
        startTime = (long)(System.currentTimeMillis() / 1000L);
        player.addItemToInventory(new UseableItem("Cheese sandwhich", 20, "Do you dare eat it?", "The table has several books and journals that are of no interest to you. In the drawer you find a cheese sandwich for eating.", 55501, FOOD, 50));
        player.setDamage(30);
        player.addItemToInventory(new EquippableItem("Handaxe2", 293811, "Sturdy, and propably packs a punch.", 1.0, 0.0, WEAPON_SLOT, "You search thore a punch.", 55504));
        player.addItemToInventory(new EquippableItem("Handaxe1", 293811, "Sturdy, and propably packs a punch.", 2.0, 0.0, WEAPON_SLOT, "You search thore a punch.", 55999));
        player.addItemToInventory(new QuestItem("Kids", 2, "Small and crying", 99902, "As you approach the bed, you hear muffled sniffling and crying, you quickly duck down and lift the duvey covers -  you find two children around the age of 10 and 7 huddled up tears on their cheecks.\n\"Please mister, don’t hurt us\" - you reassure the children that you are not going to hurt them, but taking them back to their father, the guard. "));
    }   
    
    /**
     * Creates all the rooms in the game.
     */
    private void createRooms(){
        roomCellar = new Room("Cellar", "***Cellar*** \nYou wake up in a dull cellar. Light is emitting from a torch on the wall "
                + "and you barely get on your feet.\nYou’ve been laying on a haystack for God knows how long and "
                + "your feet are extremely sore.", 1);
        roomVillage = new Room("Village of Treldan", "\n\n***Village of Treldan*** \nIt’s dark outside. You seem to be familiar with this part of the village. "
                + "\nYou still wonder why you were locked up in that cell, but your thoughts are quickly interrupted "
                + "by a sobbing by the gate.\nA guard seems to be crying, and something doesn’t seem right in the "
                + "village. All houses seem to be empty through the windows.\nYou gasp as you see several "
                + "people lying dead in the side of the road.", 2);
        roomHouse1 = new Room("House of the Reborn", "\n\n***House of the Reborn*** \nThe house you venture into is dark – very dark. It seems like "
                + "there is a man in a corner close to you and a woman in the other end of the room.", 3);
        roomHouse2 = new Room("House of Riches", "\n\n***House of Riches*** \n You use your bloody key to get in. This house is lit up by a "
                + "candle on the table.\nThere’s a blood-stained bed in the corner of the room. A bunch of sacks "
                + "are placed up against a poorly build wardrobe.\nThe other corner is not lit up by the candle and "
                + "you can’t see what is there.\nYou enter the house.", 4);
        roomHouse3 = new Room("House of the Guard", "\n\n***House of the Guard*** \nThe door is barred from the inside, you jump through an open "
                + "window in the house, cutting yourself on a sharp piece of glass. You lose 5 HP.\nThe house is neatly "
                + "decorated, and the infected clearly havent been in here, in the left corner of the room there is "
                + "a dusty set of armor and lying in an open chest at the end of a double-bed.\nAdditionally, there "
                + "is also a small kitchen area with knives, pots, pans, and the like.\nYou enter the house.", 5);
        roomForest = new Room("The Forest of Treldan", "\n\n***The Forest of Treldan*** \nAs you ride through the forest you are ambushed by a pack "
                + "of goblins who try to murder you and take your valuables.\nYou almost fall prey to the savages, "
                + "as you are saved by a wizard who zaps! the goblins with magic and scare them away.\nHe heals your "
                + "wounds and helps you back on your feet.\nYou thank the wizard and ask him if there is anything "
                + "you can do to repay him. Come meet me in my house when you're ready, its the Large Tree-house "
                + "over there.\nI have need of help in order to save Treldan! You enter the Forest of Treldan, you "
                + "scout around and look for anything, and spot a dead goblin and a couple of suspicious looking "
                + "mushrooms.", 6);
        roomWizardHouse = new Room ("The Nice Wizard's House","\n\n***The Wizard's House*** \nThe wizard's house is better described as a hollow tree with doors "
                + "and windows, you can see a number of magical artifacts, a staircase to a upstairs part of the "
                + "house, there is also what looks to be an alchemy lab.\nThe wizard sits quietly in a comfy chair "
                + "with his legs up, snoring.", 7);
        roomCave = new Room("Troll Cave", "\n\n***Troll Cave*** \nYou enter the troll cave, and immediately get sorrounded by 3 trolls,"
                + " one directly in fron of you, one to the left, and one to your right.\nIn the back "
                + "you can see a larger shadowy figure in the back of the cave, but you need to "
                + "get rid of the trolls to get to him first.", 8);
        roomCaveGruul = new Room("Gruul's Lair","\n\n***Gruul's Lair*** \n You approach the shadowy figure and as you come closer, the giant troll rises"
                + " up, easily towering 2 meters above you, opens its mouth and roars fiercely at you.", 9);
        roomClearing = new Room("Clearing of Unicorns", "***Clearing of Unicorns*** \nYou enter the clearing of unicorns and are immediately"
                + " blinded by a bright light.\nAs you regain your sight you lay eyes upon the most magnificent "
                + "create you have ever seen.\nThe unicorn looks at you curiously and goes back to eating grass. "
                + "\nYou scout the surrounding area for anything else, and spot an old tree.", 10);
        roomDungeon = new Room("Dungeon of Suffering", "\n\n***Dungeon of Suffering*** \nA loud whoosh and you find yourself in some kind of dungeon "
                + "– probably the one belonging to the evil wizard of Treldan.\nYou realise you must be in his Tower."
                + "\nYou get up on your feet and sees that the room your in is barely lit by torches, the walls are "
                + "slimy and there are no windows. To no surprise you find three heavely armored skeletons.\nYou "
                + "sigh.", 11);
        roomLibrary = new Room("The Neverending Library", "\n\n***The Neverending Library*** \nYou find yourself in the biggest room you’ve ever been "
                + "in. Books upon books is all you see, and bookcases fill up the gigantic room.\nIt would take ages "
                + "to go through every single book, you think to yourself. A librarian is sitting in the library.", 12);
        roomEvilWizardsLair = new Room("The Evil Wizard's Lair", "\n\n***The Evil Wizard's Lair*** \nAs you ascend the stairs your legs feel heavier and "
                + "heavier.\nYou can barely walk as you make it up to the final step – the pain is then suddenly "
                + "relieved.\nYou open a large door and you see the Evil Wizard of Treldan standing in the room.", 13);

        // roomCellar
        Interior roomCellarExit = new Exit(roomVillage);
        Interior roomCellarStick = new QuestItem("A needle", 1, "It was found in the haystack", 99901, "It must have been super uncomfortable laying on the haystack.\nYou search around the haystack and end up finding a strong needle. The needle has been added to your inventory.");
        Interior roomCellarCheeseSandwich = new UseableItem("Cheese sandwhich", 20, "Do you dare eat it?", "The table has several books and journals that are of no interest to you. In the drawer you find a cheese sandwich for eating.", 55501, FOOD, 50);
        roomCellar.addMapInterior("door", roomCellarExit);
        roomCellar.addMapInterior("haystack", roomCellarStick);
        roomCellar.addMapInterior("table", roomCellarCheeseSandwich);
        

        //roomVillage
        Interior roomVillageExit1 = new Exit(roomHouse1);
        Interior roomVillageExit2 = new Exit(roomHouse2);
        Interior roomVillageExit3 = new Exit(roomHouse3);
        Interior roomVillageAxe = new QuestItem("Lumberjack axe", 1, "Could be useful later.", 99904, "You pickup the axe from the road.");
        Npc mogens = new Npc("Mogens", true, 22201);
        Interior roomVillageNPC = mogens;
        roomVillage.addMapInterior("house1", roomVillageExit1);
        roomVillage.addMapInterior("house2", roomVillageExit2);
        roomVillage.addMapInterior("house3", roomVillageExit3);
        roomVillage.addMapInterior("guard", roomVillageNPC);
        roomVillage.addMapInterior("axe", roomVillageAxe);
        
        //roomHouse1
        Interior roomHouse1Exit = new Exit(roomVillage);
        Interior roomHouse1Man = new Monster("Zombie man", 0.7, 0.7, 50, 50, "A dead man is half-sitting in a chair. He gets on his feet and attacks you.");
        Interior roomHouse1LooseStone = new UseableItem("CheezBurga", 20, "Nom nom nom", "You move the loose stone and to your surprise you find a cheezBurga", 55508, FOOD, 50);
        roomHouse1.addMapInterior("man", roomHouse1Man);
        roomHouse1.addMapInterior("stone", roomHouse1LooseStone);
        roomHouse1.addMapInterior("door", roomHouse1Exit);
        
        //roomHouse2
        Interior roomHouse2Exit = new Exit(roomVillage);
        Interior roomHouse2Wardrobe = new EquippableItem("Mega Sword", 842,"It looks mega.",2.1,1.0, WEAPON_SLOT, "You find nothing of interest in the wardrobe. You tear open the sacks with your bare hands and cut your fingers on something. You lift up a dull but usable sword.", 33301); //Tag 10 skade
        Interior roomHouse2Bed = new QuestItem("Kids", 2, "Small and crying", 99902, "As you approach the bed, you hear muffled sniffling and crying, you quickly duck down and lift the duvey covers -  you find two children around the age of 10 and 7 huddled up tears on their cheecks.\n\"Please mister, don’t hurt us\" - you reassure the children that you are not going to hurt them, but taking them back to their father, the guard. ");
        Interior roomHouse2DarkCorner = new UseableItem("Cinnamon Roll",5,"Cinnamon roll with cinnamon", "As you approach the dark corner you fear the worst, but to your surprise you find a cinnamon roll on a shelf.", 55502, FOOD, 50);

        roomHouse2.addMapInterior("door", roomHouse2Exit);
        roomHouse2.addMapInterior("wardrobe", roomHouse2Wardrobe);
        roomHouse2.addMapInterior("bed", roomHouse2Bed);
        roomHouse2.addMapInterior("corner", roomHouse2DarkCorner);
        
        //roomHouse3
        Interior roomHouse3Exit = new Exit(roomVillage);
        Interior roomHouse3Kitchen = new UseableItem("Old rusty coin", 366, "It's old and rusty.", "The knives are all rusty and dull, you cant use them for anything, but you find a rusty coin stashed away in a secret compartment of the oven.", 55503, MAGIC_ITEM, 0);
        Monster woman = new Monster("Woman", 1.0, 1.0, 50, 50, "The woman is lying on the floor but quickly gets up as you near her. You realize that the woman must be the guard’s wife. She seems furious, her face all molested – almost like a zombie. She charges at you.");
        Interior roomHouse3Woman = woman;
        woman.addDropItem(new QuestItem("Bloody key", 8273, "This key looks bloody", 99907, ""));
        Interior roomHouse3Chest = new EquippableItem("Old leather armor", 32819, "Quite fabulous", 1.0, 1.3, CHEST_SLOT, "There is a set of leather armor  in the chest, it's old and rusty but durable, you  put it on and it suits you surprisingly well.", 33302);
        roomHouse3.addMapInterior("door", roomHouse3Exit);
        roomHouse3.addMapInterior("woman", roomHouse3Woman);
        roomHouse3.addMapInterior("kitchen", roomHouse3Kitchen);
        roomHouse3.addMapInterior("chest", roomHouse3Chest);
        
        //roomForrest
        Interior roomForrestExit1 = new Exit(roomWizardHouse);
        Interior roomForrestExit2 = new Exit(roomCave);
        Interior roomForrestExit3 = new Exit(roomClearing);
        Interior roomForrestExit4 = new Exit(roomVillage);
        Interior roomForrestMushroom = new UseableItem("Mushroom", 286, "It stinks, but it might come in handy scaring off weaker foes.", "You go pick up a mushroom, it stinks, but it might come in handy scaring off weaker foes.", 55504, MAGIC_ITEM, 0);
        Interior roomForrestDeadGoblin = new EquippableItem("Handaxe", 293811, "Sturdy, and propably packs a punch.", 1.0, 0.0, WEAPON_SLOT, "You search the dead goblin. Its skin is charred from the wizards light magic and its black blood is slowly seeping out its mouth. You find 25 gold and a well kept short handaxe, its sturdy and probably packs quite a punch.", 55504);
        roomForest.addMapInterior("mushroom", roomForrestMushroom);
        roomForest.addMapInterior("goblin", roomForrestDeadGoblin);
        roomForest.addMapInterior("house", roomForrestExit1);
        roomForest.addMapInterior("cave", roomForrestExit2);
        roomForest.addMapInterior("clearing", roomForrestExit3);
        roomForest.addMapInterior("village", roomForrestExit4);
        
        //roomWizardHouse
        Interior roomWizardHouseExit = new Exit(roomForest);
        Interior roomWizardHouseUpstairs = new UseableItem("Smooth ruby", 200, "A valueable stone.", "You check the wizards room for any valuables, find a piece of jewelry, and go downstairs again.", 55505, MAGIC_ITEM, 0);
        Interior roomWizardHouseBox = new UseableItem("Mysterious Ring",150,"Odd looking ring with a curiously intricate design, you decide to hold onto it.", "You rummage through the box of magical artifacts, and find a odd looking ring with a curiously intricate design, you decide to hold onto it.", 55506, MAGIC_ITEM, 0);
        Interior roomWizardHouseLab = new UseableItem("Health Potion",20,"Regenerates health points", "You search the alchemy lab and find a health potion.", 55507, FOOD, 50);
        Npc wizard = new Npc("Wizard", true, 22202);
        Interior roomWizardHouseNPC = wizard;
        roomWizardHouse.addMapInterior("upstairs", roomWizardHouseUpstairs);
        roomWizardHouse.addMapInterior("box", roomWizardHouseBox);
        roomWizardHouse.addMapInterior("lab", roomWizardHouseLab);
        roomWizardHouse.addMapInterior("wizard", roomWizardHouseNPC);
        roomWizardHouse.addMapInterior("door", roomWizardHouseExit);
        
        //roomCave
        Interior roomCaveExit1 = new Exit(roomForest);
        Interior roomCaveExit2 = new Exit(roomCaveGruul);
        Monster troll1 = new Monster("Nasty troll", 1.0, 1.0, 50, 3000, "The troll gets on its feet and starts attacking you.");
        Monster troll2 = new Monster("Ugly troll", 1.0, 1.0, 50, 3000, "The troll gets on its feet and starts attacking you.");
        Monster troll3 = new Monster("Beautifull troll", 1.0, 1.0, 50, 3000, "The troll gets on its feet and starts attacking you.");
        Interior roomWizardHouseMonster1 = troll1;
        Interior roomWizardHouseMonster2 = troll2;
        Interior roomWizardHouseMonster3 = troll3;
        roomCave.addMapInterior("troll1",roomWizardHouseMonster1);
        roomCave.addMapInterior("troll2",roomWizardHouseMonster2);
        roomCave.addMapInterior("troll3",roomWizardHouseMonster3);
        roomCave.addMapInterior("forest",roomCaveExit1);
        roomCave.addMapInterior("lair",roomCaveExit2);
        
        //roomCaveGrull
        Interior roomCaveGruulExit1 = new Exit(roomCave);
        Interior gruul = new Monster("Gruul", 1.8, 2.0, 100, 5, "You approach the shadowy figure and as you come closer, the giant troll it rises up, easily towering 2 meters above you, opens its mouth and roars fiercely at you.");
        ((Monster)gruul).addDropItem(new QuestItem("Magic staff", 700, "Magic staff the wizard told you to get", 99906, ""));
        roomCaveGruul.addMapInterior("gruul", gruul);
        roomCaveGruul.addMapInterior("cave", roomCaveGruulExit1);
        
        //roomClearing
        Interior roomClearingExit1 = new Exit(roomForest);
        Monster giant_troll_boss = new Monster("Hum<NAME>", 2.1, 1.5, 200, 100, "A humongous troll attacks you.");
        Monster unicorn = new Monster("Unicorn", 1.6, 1.5, 400, 200, "The unicorn doesent like you so it charges at you.");
        unicorn.addDropItem(new QuestItem("Vial of Rainbow", 1, "Vial of good", 99905, ""));
        Interior roomClearingMonster1 = unicorn;
        Interior roomClearingTree = new Npc("Old Tree", false, 22204);
        Interior roomClearingBoss = giant_troll_boss;
{'fraction_non_alphanumeric': 0.08819707484309768, 'fraction_numerical': 0.023777267826038874, 'mean_word_length': 3.1565157435072395, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7374744', 'n_tokens_mistral': 11451, 'n_tokens_neox': 10300, 'n_words': 4216}