Пример #1
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            PlayerMobile pm     = m_Entry.Player;
            Campfire     fire   = m_Campfire;
            int          button = info.ButtonID;
            BaseBoat     boat   = BaseBoat.FindBoatAt(pm.Location, pm.Map);

            if (Campfire.GetEntry(pm) != m_Entry)
            {
                return;
            }

            if (button == 1)
            {
                CampersMap map = FindMap(pm);
                if (map == null || map.Deleted)
                {
                    pm.SendMessage("A camper's map must be in your backpack.");
                    return;
                }
                else if (pm.Skills[SkillName.Camping].Value < 60.0)
                {
                    pm.SendMessage("You do not have sufficient skill in camping to do that.");
                    return;
                }
                else if (boat != null && !(boat is BaseGalleon))
                {
                    pm.LocalOverheadMessage(MessageType.Regular, 0x3B2, 501800);     // You cannot mark an object at that location.
                }
                else
                {
                    map.Target    = fire.Location;
                    map.TargetMap = fire.Map;
                    map.Marked    = true;
                    pm.PlaySound(0x249);
                    pm.SendMessage("Your camper's map has been updated.");
                }

                pm.SendGump(new CampfireGump(m_Entry, fire));
            }

            if (button == 2)
            {
                fire.IsUpgraded = true;
                pm.PlaySound(0x208);
            }
        }
Пример #2
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            PlayerMobile pm     = m_From as PlayerMobile;
            OutpostCamp  camp   = m_Camp;
            int          button = info.ButtonID;

            if (camp.m_Tent != null)
            {
                HasTent = true;
            }
            else
            {
                HasTent = false;
            }


            if (button == 1 && m_Camp.Active)
            {
                CampersMap map = FindMap(pm);
                if (map == null || map.Deleted)
                {
                    pm.SendMessage("A camper's map must be in your backpack.");
                    return;
                }
                else if (pm.Skills[SkillName.Camping].Value < 50.0)
                {
                    pm.SendMessage("You do not have sufficient skill in camping to do that.");
                    return;
                }
                else
                {
                    map.Target    = pm.Location;
                    map.TargetMap = pm.Map;
                    map.Marked    = true;
                    pm.PlaySound(0x249);
                    pm.SendMessage("Your camper's map has been updated.");
                }

                pm.SendGump(new OutpostGump(pm, m_Camp));
            }

            if (button == 2 && m_Camp.Active)
            {
                if (m_Camp.m_Tent == null && (pm.Skills[SkillName.Camping].Value >= 70))
                {
                    m_Camp.AddTent();
                    pm.SendMessage("You upgrade the outpost with a tent.");
                    pm.PlaySound(0x23D);
                }
                else if (m_Camp.m_Tent != null)
                {
                    pm.SendMessage("The outpost already has that upgrade.");
                }
                else
                {
                    pm.SendMessage("Doing that would require greater skill in Camping.");
                }

                pm.SendGump(new OutpostGump(pm, m_Camp));
            }

            if (button == 3 && m_Camp.Active)
            {
                if (m_Camp.m_Ankh == null && (pm.Skills[SkillName.Camping].Value >= 90))
                {
                    m_Camp.AddAnkh();
                    pm.SendMessage("You upgrade the outpost with a shrine.");
                    pm.PlaySound(0x1E7);
                }
                else if (m_Camp.m_Ankh != null)
                {
                    pm.SendMessage("The outpost already has that upgrade.");
                }
                else
                {
                    pm.SendMessage("Doing that would require greater skill in Camping.");
                }

                pm.SendGump(new OutpostGump(pm, m_Camp));
            }

            if (button == 4 && m_Camp.Active)
            {
                if (m_Camp.m_Stash == null && (pm.Skills[SkillName.Camping].Value >= 100))
                {
                    m_Camp.AddBank();
                    pm.SendMessage("You upgrade the outpost with a stash.");
                    pm.PlaySound(0x2A);     //or 0x3BA
                }
                else if (m_Camp.m_Stash != null)
                {
                    pm.SendMessage("The outpost already has that upgrade.");
                }
                else
                {
                    pm.SendMessage("Doing that would require greater skill in Camping.");
                }

                pm.SendGump(new OutpostGump(pm, m_Camp));
            }
        }