Ejemplo n.º 1
0
        /// <summary>
        /// Sends Age Increase Packet
        /// </summary>
        /// <param name="client"></param>
        /// <param name="creature"></param>
        /// <param name="age"></param>
        public static void AgeIncrease(WorldClient client, MabiPC player, ushort age)
        {
            var p = new MabiPacket(Op.AgeIncrease, player.Id);
            p.PutShort(age);

            client.Send(p);
        }
Ejemplo n.º 2
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "With his rough skin, menacing face, and his constant hard-breathing,<br/>he has the sure look of a Goblin.<br/>Yet, there is something different about this one.<br/>Strangely, it appears to have a sense of noble demeanor that does not match its rugged looks.");

        Msg(c, "How can I help you?", Button("Start Conversation", "@talk"), Button("Shop", "@shop"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "Welcome, what a smart man you are.<br/>My name is Goro.<br/>Ah, do not be surprised. I have no intention of hurting you.");

            L_Keywords:
                Msg(c, Options.Name, "(Goro is looking at me)");
                ShowKeywords(c);

                var keyword = Select(c);

                Msg(c, "Can we change the subject?");
                goto L_Keywords;
            }

            case "@shop":
            {
                Msg(c, "What do you need?<br/>You must be fully prepared if you wish to enter the Battle Arena.");
                OpenShop(c);
                End();
            }
        }
    }
Ejemplo n.º 3
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "Under the wide brim of the Mongo hat, her lovely blonde hair dances in the gentle breeze.<br/>Her delicate neck stretches out of the lace collar of her intricately tailored rosy-pink dress.<br/>Her big, bright jade eyes twinkle<br/>and her round face, like porcelain, is so fair that it looks pale.");
        Msg(c, "Do you have something to say?", Button("Start Conversation", "@talk"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "You must be a visitor in this town, aren't you?");
                Msg(c, "<username/>..");
                Msg(c, "Me... I'm Ibbie.");

            L_Keywords:
                Msg(c, Options.Name, "(Ibbie is slowly looking me over.)");
                ShowKeywords(c);

                var keyword = Select(c);

                Msg(c, "Can we change the subject?");
                goto L_Keywords;
            }
        }
    }
Ejemplo n.º 4
0
 public void OnTouch(WorldClient c, MabiPC cr, MabiProp pr)
 {
     var r = RandomProvider.Get();
     var p = _revivalLocations[r.Next(_revivalLocations.Length)];
     // Just warp them for now
     c.Warp(29, p.X, p.Y);
 }
Ejemplo n.º 5
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "Many intricate tattoos cover his dark, tanned skin.<br/>Beneath his shimmering white hair beams a calm, friendly smile.");
        Msg(c, "Do you have business with me?", Button("Start Conversation", "@talk"), Button("Disembark", "@disembark"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "I'm Karis, the younger brother of Captain Carasek.<br/>It's good to meet you.<br/>Shall we set sail?");

            L_Keywords:
                Msg(c, Options.Name, "(Karis is waiting for me to say something.)");
                ShowKeywords(c);

                var keyword = Select(c);

                Msg(c, "Can we change the subject?");
                goto L_Keywords;
            }
            case "@disembark":
            {
                Msg(c, "(Unimplemented)");
                End();
            }
        }
    }
Ejemplo n.º 6
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "He has the provocative complexion of dark rum and has a detailed tattoo on him<br/>And with his white hair like the foam of the ocean waters<br/>he smiles a gentle smile that is much like the wet sand on the beach.");
        Msg(c, "Seems like you want to talk to me about something.", Button("Start Conversation", "@talk"), Button("Disembark", "@disembark"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "I'm Carasek, the captain of this ship. Welcome aboard. Let's set sail!");

            L_Keywords:
                Msg(c, Options.Name, "(Carasek is paying attention to me.)");
                ShowKeywords(c);

                var keyword = Select(c);

                Msg(c, "Can we change the subject?");
                goto L_Keywords;
            }
            case "@disembark":
            {
                Msg(c, "(Unimplemented)");
                End();
            }
        }
    }
Ejemplo n.º 7
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "(A crystal ball is placed on a small table.<br/>While staring at the marble, I hear someone speak.)");
        Msg(c, "This is the place where your world and your memories co-exist.<br/>It is where the knowledge and history of Erinn stays alive,<br/>while it is also a place where your past journeys are found.");

        // TODO: Filter based on G completion

        MsgSelect(c, "Use this powerful crystal ball to<br/>see your experiences in Erinn unfold right before your eyes.<br/>You will have to pay a little to view this.<br/>Which memory would you like to see?",
            Button("Chapter 1 (G1-3)", "@c1"), Button("Chapter 2 (G4-8)", "@c2"), Button("Chapter 3 (G9-12)", "@c3"), Button("Chapter 4 (G13-17)", "@g4"), Button("Quit", "@end"));

        var r = Wait();

        switch (r)
        {
            case "@c1":
                SubTalk(C1(c));
                break;
            case "@c2":
                SubTalk(C2(c));
                break;
            case "@c3":
                SubTalk(C3(c));
                break;
            case "@c4":
                SubTalk(C4(c));
                break;
        }

        End();
    }
Ejemplo n.º 8
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "This priestess, in her neat Lymilark priestess robe, has eyes and hair the color of red wine.<br/>Gazing into the distance, she wears a tilted cross, a symbol of Lymilark, around her neck.<br/>She wears dangling earrings made of the same material which emanate a gentle glow.");
        Msg(c, "Welcome to the Church of Lymilark.", Button("Start a Conversation", "@talk"), Button("Shop", "@shop"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "I am Priestess Kristell. Nice to meet you.");

            L_Keywords:
                Msg(c, Options.Name, "(Kristell is waiting for me to say something.)");
                ShowKeywords(c);
                var keyword = Select(c);

                Msg(c, "Can we change the subject?");
                goto L_Keywords;
            }
            case "@shop":
            {
                Msg(c, "What is it that you are looking for?");
                OpenShop(c);
                End();
            }
        }
    }
Ejemplo n.º 9
0
    public IEnumerable TalkDuncan(WorldClient c, NPCScript n)
    {
        if (QuestActive(c, this.Id))
        {
            FinishQuestObjective(c, this.Id, "talk_duncan");

            n.Msg(c, Options.Name, "(You hand Nao's Letter of Introduction to Duncan.)");
            n.Msg(c, "Ah, a letter from Nao.<br/>Hard to believe that little<br/>tomboy's all grown up...");
            n.Msg(c, Options.Name, "(Duncan folds the letter in half and puts it in his pocket.)");
            n.Msg(c, "So, you're <username/>.<br/>I'm Duncan, the chief of this town.<br/>Welcome to Tir Chonaill.");
            n.Msg(c, "Would you like to learn how to complete quests?");
            n.Msg(c, n.Image("npctalk_questwindow", true, 272, 235), n.Text("Press the "), n.Hotkey("QuestView"), n.Text(" key or<br/>press the Quest button at the bottom of your screen.<br>The quest window will appear and display your current quests."));

            while (true)
            {
                n.Msg(c, n.Text("Press the "), n.Hotkey("QuestView"), n.Text(" key or<br/>press the Quest button at the bottom of your screen."), n.Button("I pressed the Quest button", "@pressed"), n.Button("$hidden", "@quest_btn_clicked", "autoclick_QuestView"));
                var r = n.Select(c);
                if (r != "@pressed")
                    break;
                n.Msg(c, "Hmm... Are you sure you pressed the Quest button?<br/>It's possible that the Quest Window was already open, so<br/>try pressing it again.");
            }

            n.Msg(c, "Well done. See the list of quests?<br/>Clicking on a quest brings up the quest's details.<br/>Quests will show a yellow Complete button<br/>next to their names when you finish them.");
            n.Msg(c, "Try pressing the Complete button now.<br/>As important as it is to complete quests,<br/>it's just as important to press the \"Complete\" button<br/>afterwards to recieve your rewards.");
            n.Msg(c, "(Duncan looks at you with his benevolent hazel eyes.)");
            n.Msg(c, "You've just learned one very basic skill<br/>to survive in Erinn.");
            n.Msg(c, "Soon, you will recieve a quest from an owl.<br/>Then, you will be able to start your training for real.");

            Break();
        }

        End();
    }
Ejemplo n.º 10
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "His straight posture gives him a strong, resolute impression even though he's only slightly taller than average height. Clean shaven, well groomed hair, spotless appearance and dark green vest make him look like a dandy.<br/>His neat looks, dark and thick eyebrows and the strong jaw line harmonized with the deep baritone voice complete the impression of an affable gentleman.");

        Msg(c, "Welcome to my Inn.", Button("Start Conversation", "@talk"), Button("Shop", "@shop"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "Hello, nice to meet you.<br/>I am Piaras.");

            L_Keywords:
                Msg(c, Options.Name, "(Piaras is waiting for me to say something.)");
                ShowKeywords(c);

                var keyword = Select(c);

                Msg(c, "I'd love to listen to you, but about something else.");
                goto L_Keywords;
            }

            case "@shop":
            {
                Msg(c, "May I ask what you're looking for?");
                OpenShop(c);
                End();
            }
        }
    }
Ejemplo n.º 11
0
        /// <summary>
        /// Sends lock for creature.
        /// </summary>
        /// <param name="client"></param>
        /// <param name="creature"></param>
        /// <param name="lockType"></param>
        public static void CharacterLock(WorldClient client, MabiCreature creature, uint lockType = 0xEFFFFFFE)
        {
            var p = new MabiPacket(Op.CharacterLock, creature.Id);
            p.PutInt(lockType);
            p.PutInt(0);

            client.Send(p);
        }
Ejemplo n.º 12
0
    public override bool Check(WorldClient c, MabiPC cr, MabiProp prop)
    {
        // Wand
        if(cr.RightHand != null && cr.RightHand.Info.Class >= 40038 && cr.RightHand.Info.Class <= 40041)
            return true;

        return false;
    }
Ejemplo n.º 13
0
 public virtual void Close(WorldClient client, string message = "<end/>")
 {
     var p = new MabiPacket(Op.NPCTalkEndR, client.Character.Id);
     p.PutByte(1);
     p.PutLong(client.NPCSession.Target.Id);
     p.PutString(message);
     client.Send(p);
 }
Ejemplo n.º 14
0
        /// <summary>
        /// Completes the given quest.
        /// </summary>
        /// <param name="client"></param>
        /// <param name="id"></param>
        protected void CompleteQuest(WorldClient client, uint id)
        {
            var quest = (client.Character as MabiPC).GetQuestOrNull(id);
            if (quest == null)
                return;

            quest.State = MabiQuestState.Complete;
            WorldManager.Instance.CreatureCompletesQuest(client.Character, quest, true);
        }
Ejemplo n.º 15
0
        public static void GetMailsResponse(WorldClient client, IEnumerable<MabiMail> mails)
        {
            var p = new MabiPacket(Op.GetMailsR, client.Character.Id);
            foreach (var mail in mails)
                p.Add(mail);
            p.PutLong(0);

            client.Send(p);
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Starts the cutscene.
        /// Sends: EntityDisappears, EntitiesDisappear, Lock, CutsceneStart
        /// </summary>
        /// <param name="client"></param>
        public void Play(WorldClient client)
        {
            client.Character.Temp.CurrentCutscene = this;

            Send.EntityDisappears(client.Character);
            Send.EntitiesDisappear(client, WorldManager.Instance.GetCreaturesInRange(client.Character));
            Send.CharacterLock(client, client.Character);
            Send.CutsceneStart(client, this);
        }
Ejemplo n.º 17
0
        public static void ConfirmMailRecipentResponse(WorldClient client, bool success, ulong recipientId)
        {
            var packet = new MabiPacket(Op.ConfirmMailRecipentR, client.Character.Id);
            packet.PutByte(success);
            if (success)
                packet.PutLong(recipientId);

            client.Send(packet);
        }
Ejemplo n.º 18
0
        public static void NPCTalkStartResponse(WorldClient client, bool success, ulong npcId)
        {
            var packet = new MabiPacket(Op.NPCTalkStartR, client.Character.Id);
            packet.PutByte(success);
            if (success)
                packet.PutLong(npcId);

            client.Send(packet);
        }
Ejemplo n.º 19
0
        public static void NPCTalkKeywordResponse(WorldClient client, bool success, string keyword)
        {
            var packet = new MabiPacket(Op.NPCTalkKeywordR, client.Character.Id);
            packet.PutByte(success);
            if (success)
                packet.PutString(keyword);

            client.Send(packet);
        }
Ejemplo n.º 20
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c,
            "Your wine is aging, your wine is aging!<br/>Buy interesting goods and trade in Bandit Badges!",
            Button("Trade", "@shop"), Button("Trade In Bandit Badges", "@trade"),
            Button("Exchange Bandit Badges","@exchange"), Button("Repair Fomor Weapons",
            "@repair"), Button("Ferment wine", "@ferment"), Button("End Conversation", "@end")
        );

        var r = Select(c);
        switch (r)
        {
            case "@shop":
            {
                Msg(c, "What are you looking for?");
                OpenShop(c);
                End();
            }

            case "@trade":
            {
                Msg(c, "So, were you able to catch plenty of those bandits?<br/>I'll give you some Ducats for proof that you took care of them.");

                // selection window

                Msg(c, "I'll be seeing you, then.");
                End();
            }

            case "@exchange":
            {
                Msg(c, "So, were you able to catch plenty of those bandits?<br/>Hey, if you're sick of carrying all those badges, I'll trade you<br/>for a better one. I know how heavy they can get.");

                // selection window

                Msg(c, "I'll be seeing you, then.");
                End();
            }

            case "@repair":
            {
                Msg(c, "If it's a Fomor weapon, just leave it to me.");

                // selection window

                Msg(c, "If it breaks again, come to me for repairs. Just me. Not the others. Me.");
                End();
            }

            case "@ferment":
            {
                Msg(c, "(Unimplmented)");
                End();
            }
        }
    }
Ejemplo n.º 21
0
 public override IEnumerable OnTalk(WorldClient c)
 {
     switch(RandomProvider.Get().Next(0, 2))
     {
         case 0: Msg(c, "Whoa, the clothes you're wearing seem fancy!<br/>Would you like me to sell them to me?"); break;
         case 1: Msg(c, "Honesty and trust should be the basis for all business.<br/>Just so long as people don't end up like Madoc."); break;
         case 2: Msg(c, "I haven't been able to conduct<br/>business in peace because of those blasted pirates."); break;
     }
     End();
 }
Ejemplo n.º 22
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "His soft, shiny black hair exudes youth.<br/>His tightly shut lips and sharp eyes give the<br/>impression of experience beyond his years.<br/>He glares at you with large, impatient eyes.");
        Msg(c, "I'm busy, so just tell me what you are here for.", Button("Start a Conversation", "@talk"), Button("Open My Account", "@bank"), Button("Redeem Coupon", "@redeem"), Button("Shop", "@shop"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "Why are you here?");

            L_Keywords:
                Msg(c, Options.Name, "(Augustine is waiting for me to say something.)");
                ShowKeywords(c);

                var keyword = Select(c);

                Msg(c, "Can we change the subject?");
                goto L_Keywords;
            }

            case "@bank":
            {
                Msg(c, "(Unimplemented)");
                End();
            }

            case "@redeem":
            {
                Msg(c, "Tell me the coupon number.<br/>Make sure it's the right one.", Input("Exchange Coupon", "Enter your coupon number"));
                var input = Select(c);
                if (input == "@cancel")
                    End();

                if (!CheckCode(c, input))
                {
                    Msg(c, "This coupon number didn't work.<br/>I told you to make sure it's the right one.");
                    End();
                }

                // Unofficial response.
                Msg(c, "There you go, have a nice day.");
                End();
            }

            case "@shop":
            {
                Msg(c, "You'll need a Shop License if you want to sell<br/>goods in Port Cobh. Luckily, I have them in stock.<br/>Get one while you still can.");
                OpenShop(c);
                End();
            }
        }
    }
Ejemplo n.º 23
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "A young lady is admiring her nails as you enter.<br/>When she notices you, she looks up expectantly, as if waiting for you to liven things up.<br/>Her big, blue eyes sparkle with charm and fun, and her subtle smile creates irresistable dimples.");

        Msg(c, "May I help you?", Button("Start Conversation", "@talk"), Button("Open My Account", "@bank"), Button("Redeem Coupon", "@redeem"), Button("Shop", "@shop"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "Is this your first time here? Nice to meet you.");

            L_Keywords:
                Msg(c, Options.Name, "(Bebhinn is looking at me.)");
                ShowKeywords(c);
                var keyword = Select(c);

                Msg(c, "Can we change the subject?");
                goto L_Keywords;
            }

            case "@bank":
            {
                Msg(c, "(Unimplemented)");
                End();
            }

            case "@redeem":
            {
                Msg(c, "Are you here to redeem your coupon?<br/>Please enter the coupon number you wish to redeem.", Input("Exchange Coupon", "Enter your coupon number"));
                var input = Select(c);
                if(input == "@cancel")
                    End();

                if(!CheckCode(c, input))
                {
                    Msg(c, "I checked the number at our Head Office, and they say this coupon does not exist.<br/>Please double check the coupon number.");
                    End();
                }

                // Unofficial response.
                Msg(c, "There you go, have a nice day.");
                End();
            }

            case "@shop":
            {
                Msg(c, "So, does that mean you're looking for a Personal Shop License then?<br/>You must have something you want to sell around here!<br/>Hahaha...");
                OpenShop(c);
                End();
            }
        }
    }
Ejemplo n.º 24
0
        public static void ReceiveMailItemResponse(WorldClient client, bool success, ulong mailId)
        {
            var packet = new MabiPacket(Op.ReceiveMailItemR, client.Character.Id);
            packet.PutByte(success);
            if (success)
            {
                packet.PutByte(success);
                packet.PutLong(mailId);
            }

            client.Send(packet);
        }
Ejemplo n.º 25
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "He's dressed neatly in a high neck shirt and a brown vest.<br/>His cleft chin is cleanly shaved and his hair has been well groomed and flawlessly brushed back.<br/>He stares at you with shining hazelnut eyes that are deep-set in his pale face.");
        Msg(c, "What is it?", Button("Start Conversation", "@talk"), Button("Open My Account", "@bank"), Button("Redeem Coupon", "@redeem"), Button("Shop", "@shop"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "Welcome to the Bangor branch of the Erskin Bank.");

            L_Keywords:
                Msg(c, Options.Name, "(Bryce is looking at me.)");
                ShowKeywords(c);
                var keyword = Select(c);

                Msg(c, "Can we change the subject?");
                goto L_Keywords;
            }

            case "@bank":
            {
                Msg(c, "(Unimplemented)");
                End();
            }

            case "@redeem":
            {
                Msg(c, "Would you like to redeem your coupon?<br/>You're a blessed one.<br/>Please input the number of coupons you wish to redeem.", Input("Exchange Coupon", "Enter your coupon number"));
                var input = Select(c);
                if (input == "@cancel")
                    End();

                if (!CheckCode(c, input))
                {
                    Msg(c, "......<br/>I'm not sure what kind of coupon this is.<br/>Please make sure that you have inputted the correct coupon number.");
                    End();
                }

                // Unofficial response.
                Msg(c, "There you go, have a nice day.");
                End();
            }

            case "@shop":
            {
                Msg(c, "You need a license to open a Personal Shop here.<br/>...I recommend buying one in case you need it.");
                OpenShop(c);
                End();
            }
        }
    }
Ejemplo n.º 26
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "Wearing a sturdy overall over his pale yellow shirt, this boy has soot and dust all over his face, hands, and clothes.<br/>His short and stubby fingers are quite calloused, and he repeatedly rubs his hands on the bulging pocket of his pants.<br/>His dark green hair is so coarse that even his hair band can't keep it neat. But between his messy hair, his brown sparkly eyes shine bright with curiosity.");
        Msg(c, "What's up?", Button("Start Conversation", "@talk"), Button("Use a Furnace", "@furnace"), Button("Upgrade Item", "@upgrade"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "You're not from this town, are you? I don't think I've seen you before.");

            L_Keywords:
                Msg(c, Options.Name, "(Sion is paying attention to me.)");
                ShowKeywords(c);

                var keyword = Select(c);

                Msg(c, "Can we change the subject?");
                goto L_Keywords;
            }
            case "@furnace":
            {
                    Msg(c, "Do you want to use the furnace?<br/>You can use it for 1 minute with 100 Gold,<br/>and for 5 minutes with 450 Gold.");

                    Msg(c, "Hehe... It uses firewood, water, and other things...<br/>so I'm sorry but i have to charge you or I lose money. <br/>However, anyone can use it when it's running.",
                    Button("1 Minute", "@onemin"), Button("5 Minutes", "@fivemin"), Button("Forget It", "@forget")
                );
                var duration = Select(c);

                if (duration == "@forget")
                {
                    Msg(c, "You're not going to pay? Then you can't make ingots.<br/>You need fire to refine ore...");
                    End();
                }

                Msg(c, "(Unimplemented)");
                End();
            }
            case "@upgrade":
            {
                Msg(c,
                    "The Pickaxe?<br/>Well, I used to play with it quite a bit as a kid...<br/>Do you think it needs to be upgraded? Leave it up to me.",
                    Button("End Conversation", "@endupgrade")
                );

                r = Select(c);

                Msg(c, "Come see me anytime, especially if you need anything upgraded.");
                End();
            }
        }
    }
Ejemplo n.º 27
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Intro(c,
            "Quite a specimen of physical fitness appears before you wearing well-polished armor that fits closely the contours of his body.",
            "A medium-length sword hangs delicately from the scabbard at his waist. While definitely a sight to behold,",
            "it's difficult to see much of his face because of his lowered visor, but one cannot help but notice the flash in his eyes",
            "occasionally catching the light between the slits on his helmet. His tightly pursed lips seem to belie his desire to not shot any emotion."
        );

        Hook(c, "after_intro");

        Msg(c, "How can I help you?", Button("Start Conversation", "@talk"), Button("Shop", "@shop"), Button("Upgrade Item", "@upgrade"), Button("Get Alby Beginner Dungeon Pass", "@pass"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
            {
                Msg(c, "Hmm? Are you a new traveler?");

            L_Keywords:
                Msg(c, Options.Name, "(Trefor is waiting for me to say something.)");
                ShowKeywords(c);

                var keyword = Select(c);

                Msg(c, "Oh, is that so?");
                goto L_Keywords;
            }

            case "@shop":
            {
                Msg(c, "Do you need a Quest Scroll?");
                OpenShop(c);
                End();
            }

            case "@upgrade":
            {
                Msg(c, "Do you want to modify an item?<br/>You don't need to go too far; I'll do it for you. Select an item that you'd like me to modify.<br/>I'm sure you know that the number of times it can be modified, as well as the types of modifications available depend on the item, right?");
                End();
            }

            case "@pass":
            {
                GiveItem(c, 63140);
                Notice(c, "Recieved Alby Beginner Dungeon Pass from Trefor");
                Msg(c, "Do you need an Alby Beginner Dungeon Pass?<br/>No problem. Here you go.<br/>Drop by anytime when you need more.<br/>I'm a generous man, ha ha.");
                End();
            }
        }
    }
Ejemplo n.º 28
0
    public override IEnumerable OnTalk(WorldClient c)
    {
        Msg(c, Options.FaceAndName, "His gray hair and mustache may show his age, but his firm build and the smile on his face show a youthful presence.<br/>It's as if he wants to prove that he can smile even with his small eyes.");
        Msg(c, "Now, what can i help you with?", Button("Start a Conversation", "@talk"), Button("Open My Account", "@bank"), Button("Redeem Coupon", "@redeem"), Button("Trade", "@shop"));

        var r = Select(c);
        switch (r)
        {
            case "@talk":
                {
                    Msg(c, "Welcome to the Dunbarton branch of the Erskin Bank.");

                L_Keywords:
                    Msg(c, Options.Name, "(Austeyn is looking at me.)");
                    ShowKeywords(c);
                    var keyword = Select(c);

                    Msg(c, "Can we change the subject?");
                    goto L_Keywords;
                }

            case "@bank":
                {
                    Msg(c, "(Unimplemented)");
                    End();
                }
            case "@redeem":
                {
                    Msg(c, "Do you want to redeem your coupon?<br/>Then please give me the number of the coupon you want to redeem.<br/>Slowly, one digit at a time.", Input("Exchange Coupon", "Enter your coupon number"));
                    var input = Select(c);
                    if (input == "@cancel")
                        End();

                    if (!CheckCode(c, input))
                    {
                        Msg(c, "Strange coupon number.<br/>Are you sure that's the right number?<br/>Think about it one more time... carefully.");
                        End();
                    }

                    // Unofficial response.
                    Msg(c, "There you go, have a nice day.");
                    End();
                }

            case "@shop":
                {
                    Msg(c, "Ah, so you need a Personal Shop License?<br/>You must have one if you want to sell<br/>merchandise around here, so keep it with you.");
                    OpenShop(c);
                    End();
                }
        }
    }
Ejemplo n.º 29
0
 public override IEnumerable OnTalk(WorldClient c)
 {
     switch(RandomProvider.Get().Next(0, 5))
     {
         case 0: Msg(c, "I'm going to become a captain when i grow up!"); break;
         case 1: Msg(c, "There are going to be a lot more people<br/>in Port Cobh when the dock is done.<br/>Someone HAS to be willing to let me on their ship right?"); break;
         case 2: Msg(c, "I'm not afraid of pirates!"); break;
         case 3: Msg(c, "Hey, are you from the city?"); break;
         case 4: Msg(c, "How old will I have to be<br/>before I can board a ship?"); break;
         case 5: Msg(c, "I heard you can get to a huge city with a lot of people<br/>when you sail out!"); break;
     }
     End();
 }
Ejemplo n.º 30
0
 public override IEnumerable OnTalk(WorldClient c)
 {
     switch(RandomProvider.Get().Next(0, 5))
     {
         case 0: Msg(c, "I assisted Admiral Owen<br/>when he kicked the pirates out of Belvast.<br.>I'll never forget that sense of victory."); break;
         case 1: Msg(c, "I thought I'd always work under his direction...<br/>It's just not the same now."); break;
         case 2: Msg(c, "Admiral Owen is a respectable man."); break;
         case 3: Msg(c, "The Admiral's enemies are my enemies too.<br/>I can't understand is why he<br/>doesn't do anything about<br/>a pirate like Annick.<br/>A pirate is a pirate for like."); break;
         case 4: Msg(c, "I wonder if the Admiral would approve<br/>of me capturing Annick..."); break;
         case 5: Msg(c, "Do you want to hear about my heroic exploits?"); break;
     }
     End();
 }