Example #1
0
            public override void OnClick()
            {
                if (!(m_Mobile is PlayerMobile))
                {
                    return;
                }

                if (CharacterDatabase.GetBardsTaleQuest(m_Mobile, "BardsTaleCatacombKey"))
                {
                    m_Giver.SayTo(m_Mobile, "Have you been meditating in the Catacombs?");
                }
                else if (!(CharacterDatabase.GetBardsTaleQuest(m_Mobile, "BardsTaleMadGodName")))
                {
                    m_Giver.SayTo(m_Mobile, "Only a true disciple knows the name of the Mad God.");
                }
                else if (!(CharacterDatabase.GetBardsTaleQuest(m_Mobile, "BardsTaleCatacombKey")))
                {
                    if (!m_Mobile.HasGump(typeof(SpeechGump)))
                    {
                        CharacterDatabase.SetBardsTaleQuest(m_Mobile, "BardsTaleCatacombKey", true);
                        m_Mobile.SendSound(0x3D);
                        m_Mobile.SendGump(new SpeechGump("The Catacombs Below", SpeechFunctions.SpeechText(m_Giver.Name, m_Mobile.Name, "MadGodPriest")));
                    }
                }
            }
Example #2
0
        public override void OnDoubleClick(Mobile from)
        {
            if (from.InRange(this.GetWorldLocation(), 2))
            {
                PlayerMobile pm = (PlayerMobile)from;

                if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleKylearanKey"))
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "This statue still has the eye you placed in it.", from.NetState);
                }
                else if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleSpectreEye") && !(CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleKylearanKey")))
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You place the mysterious eye into the statue.", from.NetState);
                    SpawnTarjan(from);
                    this.Delete();
                }
                else
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "This statue seems to be missing an eye.", from.NetState);
                }
            }
            else
            {
                from.SendLocalizedMessage(502138);                   // That is too far away for you to use
            }
        }
Example #3
0
        public override void OnDoubleClick(Mobile from)
        {
            if (from.InRange(this.GetWorldLocation(), 2))
            {
                PlayerMobile pm = (PlayerMobile)from;

                if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleMangarKey"))
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "This golden skull has an eerie glow.", from.NetState);
                }
                else if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleSilverSquare") &&
                         CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleSilverTriangle") &&
                         CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleSilverCircle"))
                {
                    CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleMangarKey");
                    from.SendSound(0x3D);
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "Placing the 3 silver shapes on the skull, the mouth opens to reveal a silver key.", from.NetState);
                }
                else
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "This golden skull has an eerie glow, and there seems to be 3 different shapes carved on it.", from.NetState);
                }
            }
            else
            {
                from.SendLocalizedMessage(502138);                   // That is too far away for you to use
            }
        }
Example #4
0
        public override void OnDoubleClick(Mobile from)
        {
            if (from.InRange(this.GetWorldLocation(), 2))
            {
                PlayerMobile pm = (PlayerMobile)from;

                if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleSilverSquare"))
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You find nothing of interest.", from.NetState);
                }
                else
                {
                    CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleSilverSquare", true);
                    CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleCrystalSword", true);
                    from.SendSound(0x3D);
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You found a silver square and a crystal sword.", from.NetState);
                    from.CloseGump(typeof(Server.Gumps.ClueGump));
                    from.SendGump(new Server.Gumps.ClueGump("You found a silver square and a crystal sword. You will need all three silver shapes to obtain the silver key to Mangar's chamber door. When you have all three, seek the golden skull and use it to place the shapes upon it. The sword looks strong enough to shatter crystal sculptures.", "The Silver Square"));
                }
            }
            else
            {
                from.SendLocalizedMessage(502138);                   // That is too far away for you to use
            }
        }
Example #5
0
        public override void OnDoubleClick(Mobile from)
        {
            if (from.InRange(this.GetWorldLocation(), 2))
            {
                if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleKylearanKey") && CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleSpectreEye"))
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You find nothing of interest.", from.NetState);
                }
                else
                {
                    CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleKylearanKey", true);
                    CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleSpectreEye", true);
                    from.SendSound(0x3D);
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You found a key with a symbol of a unicorn on it.", from.NetState);
                    from.CloseGump(typeof(Server.Gumps.ClueGump));
                    from.SendGump(new Server.Gumps.ClueGump("You found a key with a symbol of a unicorn on it, along with a magical book of items.", "Tarjan's Death"));

                    if (!Server.Items.CharacterDatabase.GetSpecialsKilled(from, "Tarjan"))
                    {
                        Server.Items.CharacterDatabase.SetSpecialsKilled(from, "Tarjan", true);
                        ManualOfItems book = new ManualOfItems();
                        book.Hue        = 0x5B7;
                        book.Name       = "Tome of Tarjan Relics";
                        book.m_Charges  = 1;
                        book.m_Skill_1  = 99;
                        book.m_Skill_2  = 32;
                        book.m_Skill_3  = 0;
                        book.m_Skill_4  = 0;
                        book.m_Skill_5  = 0;
                        book.m_Value_1  = 10.0;
                        book.m_Value_2  = 10.0;
                        book.m_Value_3  = 0.0;
                        book.m_Value_4  = 0.0;
                        book.m_Value_5  = 0.0;
                        book.m_Slayer_1 = 11;
                        book.m_Slayer_2 = 0;
                        book.m_Owner    = from;
                        book.m_Extra    = "of the Mad God";
                        book.m_FromWho  = "Taken from Tarjan";
                        book.m_HowGiven = "Acquired by";
                        book.m_Points   = 100;
                        book.m_Hue      = 0x5B7;
                        from.AddToBackpack(book);
                        from.SendMessage("A book has been added to your pack!");
                    }
                }
            }
            else
            {
                from.SendLocalizedMessage(502138);                   // That is too far away for you to use
            }
        }
Example #6
0
        public override void OnDoubleClick(Mobile from)
        {
            if (from.InRange(this.GetWorldLocation(), 2))
            {
                if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleBedroomKey"))
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "This crystal statue looks beautiful.", from.NetState);
                }
                else if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleCrystalSword") && !(CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleBedroomKey")))
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You hit the statue with the crystal sword, shattering both the statue and the sword.", from.NetState);
                    from.PlaySound(0x040);

                    CrystalStatueBoxKyl MyChest = new CrystalStatueBoxKyl();

                    Map map = this.Map;

                    bool    validLocation = false;
                    Point3D loc           = this.Location;

                    for (int j = 0; !validLocation && j < 10; ++j)
                    {
                        int x = X + Utility.Random(3) - 1;
                        int y = Y + Utility.Random(3) - 1;
                        int z = map.GetAverageZ(x, y);

                        if (validLocation = map.CanFit(x, y, this.Z, 16, false, false))
                        {
                            loc = new Point3D(x, y, Z);
                        }
                        else if (validLocation = map.CanFit(x, y, z, 16, false, false))
                        {
                            loc = new Point3D(x, y, z);
                        }
                    }

                    MyChest.MoveToWorld(loc, map);

                    this.Delete();
                }
                else
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You can make out a small jade box within the crystal statue.", from.NetState);
                }
            }
            else
            {
                from.SendLocalizedMessage(502138);                   // That is too far away for you to use
            }
        }
Example #7
0
        public override void OnDoubleClick(Mobile from)
        {
            PlayerMobile pm = (PlayerMobile)from;

            if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleDragonKey") && CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleHarkynKey"))
            {
                from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You find nothing of interest.", from.NetState);
            }
            else
            {
                CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleDragonKey");
                CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleHarkynKey");
                from.SendSound(0x3D);
                from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You found the rusty key that was around the gray dragon's neck.", from.NetState);
            }
        }
Example #8
0
        public override void OnDoubleClick(Mobile from)
        {
            PlayerMobile pm = (PlayerMobile)from;

            if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleDragonKey") && CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleHarkynKey"))
            {
                from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You find nothing of interest.", from.NetState);
            }
            else
            {
                CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleDragonKey", true);
                CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleHarkynKey", true);
                from.SendSound(0x3D);
                from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You found the rusty key that was around the gray dragon's neck.", from.NetState);
                from.CloseGump(typeof(Server.Gumps.ClueGump));
                from.SendGump(new Server.Gumps.ClueGump("You found the rusty key that was around the gray dragon's neck. Perhaps it can be used on that nearby door.", "Rusty Key"));
            }
        }
Example #9
0
            public override void OnClick()
            {
                if (!(m_Mobile is PlayerMobile))
                {
                    return;
                }

                if (CharacterDatabase.GetBardsTaleQuest(m_Mobile, "BardsTaleEbonyKey"))
                {
                    m_Giver.Say("You already have the onyx key. Use it to enter Mangar's tower.");
                }
                else if (!m_Mobile.HasGump(typeof(SpeechGump)))
                {
                    CharacterDatabase.SetBardsTaleQuest(m_Mobile, "BardsTaleEbonyKey");
                    m_Mobile.SendSound(0x3D);
                    m_Mobile.SendGump(new SpeechGump("Thank You Brave Adventurer", SpeechFunctions.SpeechText(m_Giver.Name, m_Mobile.Name, "Kylearan")));


                    ManualOfItems book = new ManualOfItems();
                    book.Hue        = 0xA20;
                    book.Name       = "Tome of Kylearan Relics";
                    book.m_Charges  = 1;
                    book.m_Skill_1  = 17;
                    book.m_Skill_2  = 31;
                    book.m_Skill_3  = 32;
                    book.m_Skill_4  = 33;
                    book.m_Skill_5  = 0;
                    book.m_Value_1  = 5.0;
                    book.m_Value_2  = 5.0;
                    book.m_Value_3  = 5.0;
                    book.m_Value_4  = 5.0;
                    book.m_Value_5  = 0.0;
                    book.m_Slayer_1 = 27;
                    book.m_Slayer_2 = 0;
                    book.m_Owner    = m_Mobile;
                    book.m_Extra    = "of the Archmage";
                    book.m_FromWho  = "Gifted from Kylearan";
                    book.m_HowGiven = "Gifted to";
                    book.m_Points   = 150;
                    book.m_Hue      = 0xA20;
                    m_Mobile.AddToBackpack(book);
                    m_Mobile.SendMessage("A book has been added to your pack!");
                }
            }
Example #10
0
 public override void OnDoubleClick(Mobile from)
 {
     if (from.InRange(this.GetWorldLocation(), 2))
     {
         if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleSilverTriangle"))
         {
             from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You find nothing of interest.", from.NetState);
         }
         else
         {
             CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleSilverTriangle");
             from.SendSound(0x3D);
             from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You found a silver triangle.", from.NetState);
         }
     }
     else
     {
         from.SendLocalizedMessage(502138);                   // That is too far away for you to use
     }
 }
Example #11
0
 public override void OnDoubleClick(Mobile from)
 {
     if (from.InRange(this.GetWorldLocation(), 2))
     {
         if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleSpectreEye") && CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleHarkynKey"))
         {
             from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You find nothing of interest.", from.NetState);
         }
         else
         {
             CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleSpectreEye");
             CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleHarkynKey");
             from.SendSound(0x3D);
             from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You found a mysterious eye and a key with a dragon symbol on it.", from.NetState);
         }
     }
     else
     {
         from.SendLocalizedMessage(502138);                   // That is too far away for you to use
     }
 }
Example #12
0
 public override void OnDoubleClick(Mobile from)
 {
     if (from.InRange(this.GetWorldLocation(), 2))
     {
         if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleBedroomKey"))
         {
             from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You find nothing of interest.", from.NetState);
         }
         else
         {
             CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleBedroomKey", true);
             from.SendSound(0x3D);
             from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You found a key with a symbol of a tree on it.", from.NetState);
             from.CloseGump(typeof(Server.Gumps.ClueGump));
             from.SendGump(new Server.Gumps.ClueGump("You found a key with a symbol of a tree on it.", "The Forest Key"));
         }
     }
     else
     {
         from.SendLocalizedMessage(502138);                   // That is too far away for you to use
     }
 }
Example #13
0
 public void DoQuestTeleporter(Mobile m)
 {
     if (m.InRange(this.GetWorldLocation(), 2))
     {
         if (CharacterDatabase.GetBardsTaleQuest(m, "BardsTaleWin") && this.Name == "a mysterious crystal ball" && this.X == 2830 && this.Y == 1875)
         {
             m.PrivateOverheadMessage(MessageType.Regular, 1150, false, TeleporterLockMsg, m.NetState);
         }
         else if (TeleporterOpen == 1 || TeleporterQuest == "blank")
         {
             if (TeleporterQuest != "blank")
             {
                 CharacterDatabase.SetBardsTaleQuest(m, TeleporterQuest, true);
             }
             BaseCreature.TeleportPets(m, TeleporterPointDest, TeleporterMapDest, false);
             m.MoveToWorld(TeleporterPointDest, TeleporterMapDest);
             m.PlaySound(TeleporterSound);
             m.PrivateOverheadMessage(MessageType.Regular, 1150, false, TeleporterMessage, m.NetState);
         }
         else if (CharacterDatabase.GetKeys(m, TeleporterQuest) || CharacterDatabase.GetBardsTaleQuest(m, TeleporterQuest))
         {
             TeleporterOpen = 1;
             BaseCreature.TeleportPets(m, TeleporterPointDest, TeleporterMapDest, false);
             m.MoveToWorld(TeleporterPointDest, TeleporterMapDest);
             m.PlaySound(TeleporterSound);
             Timer.DelayCall(TimeSpan.FromMinutes(2.0), new TimerCallback(CloseQuestTeleporter));
             m.PrivateOverheadMessage(MessageType.Regular, 1150, false, TeleporterMessage, m.NetState);
         }
         else
         {
             m.PrivateOverheadMessage(MessageType.Regular, 1150, false, TeleporterFail, m.NetState);
         }
     }
     else
     {
         m.SendLocalizedMessage(502138);                   // That is too far away for you to use
     }
 }
Example #14
0
 public override void OnDoubleClick(Mobile from)
 {
     if (from.InRange(this.GetWorldLocation(), 2))
     {
         if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleSpectreEye") && CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleHarkynKey"))
         {
             from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You find nothing of interest.", from.NetState);
         }
         else
         {
             CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleSpectreEye", true);
             CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleHarkynKey", true);
             from.SendSound(0x3D);
             from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You found a mysterious eye and a key with a dragon symbol on it.", from.NetState);
             from.CloseGump(typeof(Server.Gumps.ClueGump));
             from.SendGump(new Server.Gumps.ClueGump("You have obtained an eye from the slain spectre, and the box has a key with a dragon symbol on it. A scribbled parchment claims it to be the Eye of Tarjan.", "The Spectre's Eye"));
         }
     }
     else
     {
         from.SendLocalizedMessage(502138);                   // That is too far away for you to use
     }
 }
Example #15
0
        public override void OnDoubleClick(Mobile from)
        {
            if (from.InRange(this.GetWorldLocation(), 2))
            {
                if (CharacterDatabase.GetBardsTaleQuest(from, "BardsTaleWin"))
                {
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You find nothing of interest.", from.NetState);
                    from.SendMessage("A gate is open nearby. You better hurry or you will remain trapped here.");
                }
                else
                {
                    CharacterDatabase.SetBardsTaleQuest(from, "BardsTaleWin");
                    from.SendSound(0x3D);
                    from.PrivateOverheadMessage(MessageType.Regular, 1150, false, "You have pulled Mangar's Vault toward you.", from.NetState);
                    from.SendMessage("A gate is open nearby. You better hurry or you will remain trapped here.");

                    LootChest MyChest = new LootChest(6);
                    MyChest.Name = "Mangar's Vault";
                    MyChest.Hue  = 0x497;

                    Item arty = ArtifactBuilder.CreateArtifact("random");
                    MyChest.DropItem(arty);

                    int IamNecro = 0;
                    int IamMage  = 0;
                    int IamBard  = 0;

                    if (from.Skills[SkillName.Necromancy].Base > 0)
                    {
                        IamNecro = (int)from.Skills[SkillName.Necromancy].Base;
                    }
                    if (from.Skills[SkillName.Magery].Base > 0)
                    {
                        IamMage = (int)from.Skills[SkillName.Magery].Base;
                    }
                    if (from.Skills[SkillName.Musicianship].Base > 0)
                    {
                        IamBard = (int)from.Skills[SkillName.Musicianship].Base;
                    }

                    if (!Server.Items.CharacterDatabase.GetSpecialsKilled(from, "Mangar"))
                    {
                        Server.Items.CharacterDatabase.SetSpecialsKilled(from, "Mangar");
                        ManualOfItems lexicon = new ManualOfItems();
                        lexicon.Hue        = 0x497;
                        lexicon.Name       = "Tome of Mangar Relics";
                        lexicon.m_Charges  = 1;
                        lexicon.m_Skill_1  = 17;
                        lexicon.m_Skill_2  = 31;
                        lexicon.m_Skill_3  = 32;
                        lexicon.m_Skill_4  = 33;
                        lexicon.m_Skill_5  = 36;
                        lexicon.m_Value_1  = 5.0;
                        lexicon.m_Value_2  = 5.0;
                        lexicon.m_Value_3  = 5.0;
                        lexicon.m_Value_4  = 5.0;
                        lexicon.m_Value_5  = 5.0;
                        lexicon.m_Slayer_1 = 0;
                        lexicon.m_Slayer_2 = 0;
                        lexicon.m_Owner    = from;
                        lexicon.m_Extra    = "of Mangar the Dark";
                        lexicon.m_FromWho  = "Taken from Mangar";
                        lexicon.m_HowGiven = "Acquired by";
                        lexicon.m_Points   = 250;
                        lexicon.m_Hue      = 0x497;
                        MyChest.DropItem(lexicon);
                    }

                    if (IamBard > IamMage && IamBard > IamNecro && IamBard > 0)
                    {
                        MyChest.DropItem(new BardicFeatheredHat());
                        MySongbook newBook = new MySongbook();
                        newBook.Name    = "Songs of Skara Brae";
                        newBook.Content = 0xFFFF;
                        MyChest.DropItem(newBook);
                    }
                    else if (IamMage > IamBard && IamMage > IamNecro && IamMage > 0)
                    {
                        MyChest.DropItem(new MangarsRobe());
                        MySpellbook newBook = new MySpellbook();
                        newBook.Hue = 0x497;
                        string   book     = newBook.Name;
                        string[] eachWord = book.Split('\'');
                        int      nLine    = 1; foreach (string eachWords in eachWord)
                        {
                            if (nLine != 1)
                            {
                                newBook.Name = "Mangar'" + eachWords;
                            }
                            else
                            {
                                nLine = 2;
                            }
                        }
                        MyChest.DropItem(newBook);
                    }
                    else if (IamNecro > IamBard && IamNecro > IamMage && IamNecro > 0)
                    {
                        MyChest.DropItem(new MangarsNecroRobe());
                        MyNecromancerSpellbook newBook = new MyNecromancerSpellbook();
                        newBook.Hue = 0x497;
                        string   book     = newBook.Name;
                        string[] eachWord = book.Split('\'');
                        int      nLine    = 1; foreach (string eachWords in eachWord)
                        {
                            if (nLine != 1)
                            {
                                newBook.Name = "Mangar'" + eachWords;
                            }
                            else
                            {
                                nLine = 2;
                            }
                        }
                        MyChest.DropItem(newBook);
                    }
                    else if (IamMage > 0)
                    {
                        MyChest.DropItem(new MangarsRobe());
                        MySpellbook newBook = new MySpellbook();
                        newBook.Hue = 0x497;
                        string   book     = newBook.Name;
                        string[] eachWord = book.Split('\'');
                        int      nLine    = 1; foreach (string eachWords in eachWord)
                        {
                            if (nLine != 1)
                            {
                                newBook.Name = "Mangar'" + eachWords;
                            }
                            else
                            {
                                nLine = 2;
                            }
                        }
                        MyChest.DropItem(newBook);
                    }
                    else if (IamNecro > 0)
                    {
                        MyChest.DropItem(new MangarsNecroRobe());
                        MyNecromancerSpellbook newBook = new MyNecromancerSpellbook();
                        newBook.Hue = 0x497;
                        string   book     = newBook.Name;
                        string[] eachWord = book.Split('\'');
                        int      nLine    = 1; foreach (string eachWords in eachWord)
                        {
                            if (nLine != 1)
                            {
                                newBook.Name = "Mangar'" + eachWords;
                            }
                            else
                            {
                                nLine = 2;
                            }
                        }
                        MyChest.DropItem(newBook);
                    }
                    else if (IamBard > 0)
                    {
                        MyChest.DropItem(new BardicFeatheredHat());
                        MySongbook newBook = new MySongbook();
                        newBook.Name    = "Songs of Skara Brae";
                        newBook.Content = 0xFFFF;
                        MyChest.DropItem(newBook);
                    }

                    MyChest.MoveToWorld(from.Location, from.Map);

                    LoggingFunctions.LogGenericQuest(from, "defeated Mangar and escaped Skara Brae");
                }
            }
            else
            {
                from.SendLocalizedMessage(502138);                   // That is too far away for you to use
            }
        }