예제 #1
0
 public override void OnTalk(PlayerMobile player, bool contextMenu)
 {
     if (player.Quest is TimeForLegendsQuest && ((TimeForLegendsQuest)player.Quest).Objectives.Count == 0)
     {
         player.SendGump(new ChooseMasteryGump(player, (TimeForLegendsQuest)player.Quest));
     }
     else if (player.Quest == null && CanRecieveQuest(player))
     {
         Direction = GetDirectionTo(player);
         TimeForLegendsQuest quest = new TimeForLegendsQuest(player);
         quest.SendOffer();
     }
 }
예제 #2
0
파일: Objective.cs 프로젝트: pallop/Servuo
        public override void RenderProgress(BaseQuestGump gump)
        {
            if (System is TimeForLegendsQuest)
            {
                TimeForLegendsQuest q = System as TimeForLegendsQuest;

                if (q.ToSlay == null)
                {
                    gump.AddHtmlObject(70, 260, 270, 100, this.Completed ? 1049077 : 1049078, BaseQuestGump.Blue, false, false);
                }
                else
                {
                    int index = Array.IndexOf(TimeForLegendsQuest.Targets, q.ToSlay);

                    gump.AddHtmlObject(70, 260, 150, 100, index <= 13 ? 1156324 + index : 1156354 + (index - 14), BaseQuestGump.Blue, false, false);
                    gump.AddHtmlObject(230, 260, 10, 100, ":", BaseQuestGump.Blue, false, false);
                    gump.AddHtmlObject(235, 260, 150, 100, this.Completed ? 1046033 : 1046034, BaseQuestGump.Blue, false, false);
                }
            }
        }
예제 #3
0
        public ChooseMasteryGump(PlayerMobile user, TimeForLegendsQuest quest)
            : base(50, 50)
        {
            Quest = quest;
            User  = user;

            AddImage(0, 0, 8000);
            AddImage(20, 37, 8001);
            AddImage(20, 107, 8002);
            AddImage(20, 177, 8001);
            AddImage(20, 247, 8002);
            AddImage(20, 317, 8001);
            AddImage(20, 387, 8002);
            AddImage(20, 457, 8003);

            AddHtmlLocalized(125, 40, 345, 16, 1156340, false, false); // Choose Your Path

            int y = 60;

            foreach (SkillName skName in MasteryInfo.Skills)
            {
                Skill sk = User.Skills[skName];

                if (sk == null || skName == SkillName.Discordance || skName == SkillName.Provocation || skName == SkillName.Peacemaking)
                {
                    continue;
                }

                if (sk.IsMastery && sk.VolumeLearned == 0)
                {
                    AddButton(30, y, 4005, 4007, (int)skName + 1, GumpButtonType.Reply, 0);

                    AddHtmlLocalized(75, y, 200, 16, MasteryInfo.GetLocalization(skName), 0x000F, false, false);

                    y += 20;
                }
            }
        }