Пример #1
0
        public static Quest TutorialLeatherQuest()
        {
            var quest = new Quest()
            {
                Name        = "Get Equipped!",
                Description = "<div class='questColor'><p>Loot the goblin camp, there is 6 pieces of leather armour hidden here that you can use.</p>" +
                              "<ul><li>Leather Helmet</li>" +
                              "<li>Leather vest</li>" +
                              "<li>Leather sleeves</li>" +
                              "<li>Leather gloves</li>" +
                              "<li>Leather leggings</li>" +
                              "<li>Leather boots</li></ul>" +
                              "<p>You will need to look and examine to find all these items.</p></div>",
                RewardXp   = 500,
                RewardGold = 20,
                Type       = Quest.QuestType.FindItem,
                QuestItem  = new List <Item.Item>()
                {
                    LeatherHead.LeatherHelmet(),
                LeatherBody.LeatherVest(),
                LeatherLegs.LeatherLeggings(),
                LeatherArms.LeatherSleeves(),
                LeatherFeet.LeatherBoots(),
                LeatherHands.LeatherGloves()
                },
                RewardDialog = new DialogTree()
                {
                    Message = "A curved dagger appears in your inventory...test"
                },
                RewardItem = DaggerBasic.BronzeCurvedDagger()
            };

            return(quest);
        }
Пример #2
0
        public static Craft CopperDagger()
        {
            var CopperMace = new Craft()
            {
                Name            = "Copper Dagger",
                StartMessage    = "You put all your copper ore into the furnace",
                FailureMessages = new List <CraftFailMessage>()
                {
                    new CraftFailMessage()
                    {
                        Message       = "You accidently drop the copper ore inside the furnace.",
                        BreakMaterial = true
                    },
                    new CraftFailMessage()
                    {
                        Message = "You miss the cast and pour molten hot metal on the floor.",
                    }
                },
                SuccessMessage     = "You have forged a copper dagger.",
                Description        = "To forge a copper dagger you need to be at a furnace",
                CraftCommand       = CraftType.Forge,
                CraftAppearsInRoom = false,
                CraftingEmotes     = new List <string>()
                {
                    "The copper ore begins to melt down.",
                    "You take out the melted metal and pour it into a cast.",
                    "The casts begin to cool down.",
                    "The metal in the casts go hard.",
                    "You crack the cast open."
                },
                Materials = new List <CraftMaterials>()
                {
                    new CraftMaterials()
                    {
                        Name  = "Copper Ore",
                        Count = 2
                    }
                },
                CreatesItem = DaggerBasic.CopperDagger(),

                MoveCost = 20
            };

            return(CopperMace);
        }
Пример #3
0
        public static Quest TutorialLeatherQuest()
        {
            var quest = new Quest()
            {
                Name        = "This goblin camp may have some useful items that may help you.",
                Description = "<div class='questColor'>" +
                              "<p>To find them, here are some things that you need to know:</p>" +
                              "<ul><li>Kill &lt;target&gt; - example: kill goblin.</li></ul>" +
                              "<p>After the fight you will want to check the corpse for items:</p>" +
                              "<ul><li>look in &lt;item&gt; - example: look in corpse. To list items on the corpse.</li>" +
                              "<li>get &lt;item&gt; corpse - example: get sword corpse. To get the sword from the corpse.</li></ul>" +
                              "<p>Some items may be inside containers that need opening:</p>" +
                              "<ul><li>open &lt;container&gt; - example: open chest. Will now allow to view items inside the chest when you look in to it.</li></ul>" +
                              "<p>For hidden items you should read the room description carefully and examine objects you see in the description, doing so may reveal a hidden item.</p>" +
                              "<ul><li>examine &lt;keyword&gt; - example: examine desk. May give you a more detailed description of what's on the table that's not shown in the room description.</li></ul>" +
                              "<p>If you need help on commands use the help command to get a list of them. </p>" +
                              "<p>Also you may with to <a href='https://discord.gg/nuf7FVq' target='_blank'>join the discord community</a> and give your feedback. </p>" +
                              "<p>ArchaicQuest is in development and your input and feedback will really help make this game better for everyone.</p>" +
                              "<p>Good luck.</p></div>"
                ,


                RewardXp   = 500,
                RewardGold = 20,
                Type       = Quest.QuestType.FindItem,
                QuestItem  = new List <Item.Item>()
                {
                    LeatherHead.LeatherHelmet(),
                LeatherBody.LeatherVest(),
                LeatherLegs.LeatherLeggings(),
                LeatherArms.LeatherSleeves(),
                LeatherFeet.LeatherBoots(),
                LeatherHands.LeatherGloves()
                },
                RewardDialog = new DialogTree()
                {
                    Message = "Well done, a curved dagger appears in your inventory."
                },
                RewardItem = DaggerBasic.BronzeCurvedDagger()
            };

            return(quest);
        }
Пример #4
0
        public static PlayerSetup.Player MetalMedleyBlacksmith()
        {
            #region NPC setup
            var ferron = new PlayerSetup.Player
            {
                NPCId         = Guid.NewGuid(),
                Name          = "Ferron",
                NPCLongName   = "Ferron",
                KnownByName   = true,
                Type          = PlayerSetup.Player.PlayerTypes.Mob,
                Description   = "The black smith",
                Strength      = 80,
                Dexterity     = 60,
                Constitution  = 60,
                Intelligence  = 60,
                Wisdom        = 60,
                Charisma      = 60,
                MaxHitPoints  = 2250,
                HitPoints     = 2250,
                Level         = 51,
                Status        = PlayerSetup.Player.PlayerStatus.Standing,
                Skills        = new List <Skill>(),
                Inventory     = new ItemContainer(),
                Trainer       = false,
                Greet         = true,
                Shop          = true,
                itemsToSell   = new List <Item.Item>(),
                sellerMessage = "Why of course, here is what I can sell you.",
                GreetMessage  = "Hello there!",
                DialogueTree  = new List <DialogTree>()
                {
                    new DialogTree()
                    {
                        Id               = "Ferron1",
                        Message          = "Horik Broke his axe again! What has he done this time?",
                        ShowIfOnQuest    = "Repair Horik's Axe",
                        PossibleResponse = new List <Responses>()
                        {
                            new Responses()
                            {
                                QuestionId = "Ferron1a",
                                AnswerId   = "Ferron1a",
                                Response   = "Yes, this is the axe. Is it fixable?",
                                DoEmote    = "You show Ferron the broken axe."
                            }
                        },
                    },
                    new DialogTree()
                    {
                        Id               = "Ferron1a",
                        Message          = "Ah, this is an easy fix.",
                        MatchPhrase      = "Yes, this is the axe. Is it fixable?",
                        PossibleResponse = new List <Responses>(),
                        GiveItem         = Items.MiscEQ.Held.Held.RepairHammer(),
                        GiveItemEmote    = "Ferron hands you a hammer. This is a repair hammer, hit the axe here, here and here says ferron jabbing his finger at the axe. <p> Now i've helped you, you can help me. I'm having issues with some of my raw material shipments. I suspect bandits. You should check back again soon incase one goes missing as I will need someone to try and track down these Bandit theieves.</p>" +
                                           "<p>Hint: use repair axe to fix the broken axe. Then head back to Horick",
                        GiveSkill = Repair.RepairAb()
                    },
                },
                Dialogue = new List <Responses>(),
            };

            #endregion

            #region 4sale
            for (int i = 0; i < 20; i++)
            {
                ferron.itemsToSell.Add(ShortSwordBasic.Saber());
                ferron.itemsToSell.Add(LongSwordBasic.BastardSword());
                ferron.itemsToSell.Add(SpearBasic.BoarSpear());
                ferron.itemsToSell.Add(AxeBasic.DoubleAxe());
                ferron.itemsToSell.Add(HammerBasic.GreatHammer());
                ferron.itemsToSell.Add(LongSwordBasic.Katana());
                ferron.itemsToSell.Add(DaggerBasic.HuntingKnife());
                ferron.itemsToSell.Add(DaggerBasic.HiddenBlade());

                //armor scale mail

                ferron.itemsToSell.Add(ScalemailHead.ScalemailHelm());
                ferron.itemsToSell.Add(ScalemailBody.ScalemailBreastPlate());
                ferron.itemsToSell.Add(ScalemailArms.ScalemailSleeves());
                ferron.itemsToSell.Add(ScalemailLegs.ScalemailGreaves());
                ferron.itemsToSell.Add(ScalemailHands.ScalemailGauntlets());
                ferron.itemsToSell.Add(ScalemailFeet.ScalemailBoots());

                //armour bronze - bronze has crappy stats, make better?
                ferron.itemsToSell.Add(FullPlateHelm.BronzeHelm());
                ferron.itemsToSell.Add(FullPlateBody.BronzeBreastPlate());
                ferron.itemsToSell.Add(FullPlateSleeves.BronzeSleeves());
                ferron.itemsToSell.Add(FullPlateGreaves.BronzeGreaves());
                ferron.itemsToSell.Add(FullPlateGauntlet.BronzeGauntlets());
                ferron.itemsToSell.Add(FullPlateBoots.BronzeBoots());
                ferron.itemsToSell.Add(Materials.CopperOre());
            }

            #endregion


            #region Dialogue



            #endregion



            return(ferron);
        }
Пример #5
0
        public static PlayerSetup.Player OddsNSodsShopKeeper()
        {
            #region NPC setup
            var Anika = new PlayerSetup.Player
            {
                NPCId         = Guid.NewGuid(),
                Name          = "Anika",
                NPCLongName   = "Anika",
                KnownByName   = true,
                Type          = PlayerSetup.Player.PlayerTypes.Mob,
                Description   = "The shop keeper",
                Strength      = 15,
                Dexterity     = 16,
                Constitution  = 16,
                Intelligence  = 12,
                Wisdom        = 16,
                Charisma      = 18,
                MaxHitPoints  = 350,
                HitPoints     = 350,
                Level         = 20,
                Status        = PlayerSetup.Player.PlayerStatus.Standing,
                Skills        = new List <Skill>(),
                Inventory     = new List <Item.Item>(),
                Trainer       = false,
                Greet         = true,
                Shop          = true,
                itemsToSell   = new List <Item.Item>(),
                sellerMessage = "Why of course, here is what I can sell you.",
                GreetMessage  = "Hello there!",
                DialogueTree  = new List <DialogTree>(),
                Dialogue      = new List <Responses>(),
                Quest         = new List <Quest>()
            };


            var backpack = new Item.Item
            {
                name          = "Leather Backpack",
                container     = true,
                containerSize = 30,
                Weight        = 1,
                count         = 10,
                equipable     = false,
                location      = Item.Item.ItemLocation.Inventory,
                canOpen       = true,
                Gold          = 25
            };

            Anika.itemsToSell.Add(ShortSwordBasic.ShortIronSword());
            Anika.itemsToSell.Add(DaggerBasic.IronDagger());
            Anika.itemsToSell.Add(LongSwordBasic.LongIronSword());
            Anika.itemsToSell.Add(StaffBasic.WoodenQuarterstaff());
            Anika.itemsToSell.Add(AxeBasic.IronHatchet());
            Anika.itemsToSell.Add(MaceBasic.IronMace());
            Anika.itemsToSell.Add(PaddedBodyBasic.PaddedBreastPlate());
            Anika.itemsToSell.Add(PaddedSleeves.PaddedSleeve());
            Anika.itemsToSell.Add(PaddedHandsBasic.PaddedGloves());
            Anika.itemsToSell.Add(PaddedLegsBasic.PaddedGreaves());
            Anika.itemsToSell.Add(LeatherBootBasic.WornLeatherBoots());
            Anika.itemsToSell.Add(Light.WoodenTorch());
            Anika.itemsToSell.Add(drink.WaterSkin());
            Anika.itemsToSell.Add(Food.Cheese());
            Anika.itemsToSell.Add(backpack);
            #endregion



            return(Anika);
        }
Пример #6
0
        public static PlayerSetup.Player MetalMedleyBlacksmith()
        {
            #region NPC setup
            var ferron = new PlayerSetup.Player
            {
                NPCId         = Guid.NewGuid(),
                Name          = "Ferron",
                KnownByName   = true,
                Type          = PlayerSetup.Player.PlayerTypes.Mob,
                Description   = "The black smith",
                Strength      = 15,
                Dexterity     = 16,
                Constitution  = 16,
                Intelligence  = 12,
                Wisdom        = 16,
                Charisma      = 18,
                MaxHitPoints  = 350,
                HitPoints     = 350,
                Level         = 20,
                Status        = PlayerSetup.Player.PlayerStatus.Standing,
                Skills        = new List <Skill>(),
                Inventory     = new List <Item.Item>(),
                Trainer       = false,
                Greet         = true,
                Shop          = true,
                itemsToSell   = new List <Item.Item>(),
                sellerMessage = "Why of course, here is what I can sell you.",
                GreetMessage  = "Hello there!",
                DialogueTree  = new List <DialogTree>(),
                Dialogue      = new List <Responses>(),
                Quest         = new List <Quest>()
            };

            #endregion

            ferron.itemsToSell.Add(ShortSwordBasic.Saber());
            ferron.itemsToSell.Add(LongSwordBasic.BastardSword());
            ferron.itemsToSell.Add(SpearBasic.BoarSpear());
            ferron.itemsToSell.Add(AxeBasic.DoubleAxe());
            ferron.itemsToSell.Add(HammerBasic.GreatHammer());
            ferron.itemsToSell.Add(LongSwordBasic.Katana());
            ferron.itemsToSell.Add(DaggerBasic.HuntingKnife());
            ferron.itemsToSell.Add(DaggerBasic.HiddenBlade());

            //armor scale mail

            ferron.itemsToSell.Add(ScalemailHead.ScalemailHelm());
            ferron.itemsToSell.Add(ScalemailBody.ScalemailBreastPlate());
            ferron.itemsToSell.Add(ScalemailArms.ScalemailSleeves());
            ferron.itemsToSell.Add(ScalemailLegs.ScalemailGreaves());
            ferron.itemsToSell.Add(ScalemailHands.ScalemailGauntlets());
            ferron.itemsToSell.Add(ScalemailFeet.ScalemailBoots());

            //armour bronze - bronze has crappy stats, make better?
            ferron.itemsToSell.Add(FullPlateHelm.BronzeHelm());
            ferron.itemsToSell.Add(FullPlateBody.BronzeBreastPlate());
            ferron.itemsToSell.Add(FullPlateSleeves.BronzeSleeves());
            ferron.itemsToSell.Add(FullPlateGreaves.BronzeGreaves());
            ferron.itemsToSell.Add(FullPlateGauntlet.BronzeGauntlets());
            ferron.itemsToSell.Add(FullPlateBoots.BronzeBoots());

            return(ferron);
        }