Exemplo n.º 1
0
        public static Room.Room TempleOfTyr()
        {
            var room = new Room.Room
            {
                region      = "Tutorial",
                area        = "Tutorial",
                areaId      = 11,
                title       = "Temple of Tyr",
                description = "<p>A circular blue mosaic covers the centre of the temple with a gold fist and star underneath in the centre. Above is a dome roof with yellow tinted glass giving the area a golden glow. An Alter to Tyr is at the back with a large blue banner hanging from the wall with the same golden fist above the star. To the south the entrance to the Temple</p>",

                //Defaults
                exits    = new List <Exit>(),
                items    = new List <Item.Item>(),
                mobs     = new List <PlayerSetup.Player>(),
                terrain  = Room.Room.Terrain.Field,
                keywords = new List <RoomObject>(),
                corpses  = new List <PlayerSetup.Player>(),
                players  = new List <PlayerSetup.Player>(),
                fighting = new List <string>(),
                clean    = true,
            };

            var mortem = new PlayerSetup.Player
            {
                NPCId             = Guid.NewGuid(),
                Name              = "Mortem",
                NPCLongName       = "Mortem",
                KnownByName       = true,
                Type              = PlayerSetup.Player.PlayerTypes.Mob,
                Description       = "A blue cape of Tyr hangs down Mortems back who is covered in full plate mail except for his heads and hands. A golden mace hangs upside down from his belt.",
                Strength          = 14,
                Dexterity         = 16,
                Constitution      = 18,
                Intelligence      = 12,
                Wisdom            = 18,
                Charisma          = 14,
                MaxHitPoints      = 300,
                HitPoints         = 300,
                Level             = 20,
                Gold              = 450,
                Status            = PlayerSetup.Player.PlayerStatus.Standing,
                Skills            = new List <Skill>(),
                Inventory         = new List <Item.Item>(),
                DialogueTree      = new List <DialogTree>(),
                Greet             = false,
                Emotes            = new List <string>(),
                EventOnComunicate = new Dictionary <string, string>(),
                EventWake         = "awakening awake",
                EventWear         = "awakening awake"
            };

            var plainTop      = ClothingBody.PlainTop();
            var plainTrousers = ClothingLegs.PlainTrousers();

            var breastPlateTyr = FullPlateBody.BreastPlateOfTyr();

            breastPlateTyr.location = Item.Item.ItemLocation.Worn;

            mortem.Inventory.Add(plainTop);
            mortem.Inventory.Add(plainTrousers);
            mortem.Inventory.Add(breastPlateTyr);

            mortem.Equipment.Body = breastPlateTyr.name;

            var intro = new DialogTree()
            {
                GiveQuest = true,
                QuestId   = 0,
                Message   = ""
            };


            var south = new Exit
            {
                name     = "South",
                area     = "Anker",
                region   = "Anker",
                areaId   = 17,
                keywords = new List <string>(),
                hidden   = false,
                locked   = false
            };

            room.exits.Add(south);


            // create item for platemail / cape / mace / set to worn
            //top and trousers for player


            room.mobs.Add(mortem);

            return(room);
        }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
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);
        }