public BattleTalimQuest() : base()
		{
			SlayObjective quest = new SlayObjective( typeof( BlueMarkov ), "Markov Tirel", 1 );
			quest.Seconds = 1800; // 30 Minutes.
			quest.Timed = true;

			AddObjective( quest );
		}
		public FindingQuinaQuest() : base()
		{
			SlayObjective quest = new SlayObjective( typeof( BlueQuina ), "Quina", 1 );
			quest.Seconds = 1800; // 30 Minutes.
			quest.Timed = true;

			AddObjective( quest );
		}
		public BattleKaysaQuest() : base()
		{
			SlayObjective quest = new SlayObjective( typeof( BlueKaysa ), "Kaysa", 1 );
			quest.Seconds = 1800; // 30 Minutes.
			quest.Timed = true;

			AddObjective( quest );
		}
예제 #4
0
        public virtual void SecObjectives()
        {
            if (this.m_Quest == null)
            {
                return;
            }

            if (!m_Quest.RenderObjective(this, m_Offer))
            {
                if (this.m_Offer)
                {
                    this.AddHtmlLocalized(130, 45, 270, 16, 1049010, 0xFFFFFF, false, false); // Quest Offer
                }
                else
                {
                    this.AddHtmlLocalized(130, 45, 270, 16, 1046026, 0xFFFFFF, false, false); // Quest Log
                }
                this.AddHtmlObject(160, 70, 200, 40, this.m_Quest.Title, DarkGreen, false, false);
                this.AddHtmlLocalized(98, 140, 312, 16, 1049073, 0x2710, false, false); // Objective:

                if (this.m_Quest.AllObjectives)
                {
                    this.AddHtmlLocalized(98, 156, 312, 16, 1072208, 0x2710, false, false); // All of the following
                }
                else
                {
                    this.AddHtmlLocalized(98, 156, 312, 16, 1072209, 0x2710, false, false); // Only one of the following
                }
                int offset = 172;

                for (int i = 0; i < this.m_Quest.Objectives.Count; i++)
                {
                    BaseObjective objective = this.m_Quest.Objectives[i];

                    if (objective is SlayObjective)
                    {
                        SlayObjective slay = (SlayObjective)objective;

                        if (slay != null)
                        {
                            this.AddHtmlLocalized(98, offset, 30, 16, 1072204, 0x15F90, false, false); // Slay
                            this.AddLabel(133, offset, 0x481, slay.MaxProgress + " " + slay.Name);     // %count% + %name%

                            offset += 16;

                            if (this.m_Offer)
                            {
                                if (slay.Timed)
                                {
                                    this.AddHtmlLocalized(103, offset, 120, 16, 1062379, 0x15F90, false, false); // Est. time remaining:
                                    this.AddLabel(223, offset, 0x481, this.FormatSeconds(slay.Seconds));         // %est. time remaining%

                                    offset += 16;
                                }
                                continue;
                            }

                            if (slay.Region != null)
                            {
                                this.AddHtmlLocalized(103, offset, 312, 20, 1018327, 0x15F90, false, false);     // Location
                                this.AddHtmlObject(223, offset, 312, 20, slay.Region.Name, White, false, false); // %location%

                                offset += 16;
                            }

                            this.AddHtmlLocalized(103, offset, 120, 16, 3000087, 0x15F90, false, false); // Total
                            this.AddLabel(223, offset, 0x481, slay.CurProgress.ToString());              // %current progress%

                            offset += 16;

                            if (this.ReturnTo() != null)
                            {
                                this.AddHtmlLocalized(103, offset, 120, 16, 1074782, 0x15F90, false, false); // Return to
                                this.AddLabel(223, offset, 0x481, this.ReturnTo());                          // %return to%

                                offset += 16;
                            }

                            if (slay.Timed)
                            {
                                this.AddHtmlLocalized(103, offset, 120, 16, 1062379, 0x15F90, false, false); // Est. time remaining:
                                this.AddLabel(223, offset, 0x481, this.FormatSeconds(slay.Seconds));         // %est. time remaining%

                                offset += 16;
                            }
                        }
                    }
                    else if (objective is ObtainObjective)
                    {
                        ObtainObjective obtain = (ObtainObjective)objective;

                        if (obtain != null)
                        {
                            this.AddHtmlLocalized(98, offset, 40, 16, 1072205, 0x15F90, false, false); // Obtain
                            this.AddLabel(143, offset, 0x481, obtain.MaxProgress + " " + obtain.Name); // %count% + %name%

                            if (obtain.Image > 0)
                            {
                                this.AddItem(350, offset, obtain.Image); // Image
                            }
                            offset += 16;

                            if (this.m_Offer)
                            {
                                if (obtain.Timed)
                                {
                                    this.AddHtmlLocalized(103, offset, 120, 16, 1062379, 0x15F90, false, false); // Est. time remaining:
                                    this.AddLabel(223, offset, 0x481, this.FormatSeconds(obtain.Seconds));       // %est. time remaining%

                                    offset += 16;
                                }
                                else if (obtain.Image > 0)
                                {
                                    offset += 16;
                                }

                                continue;
                            }
                            this.AddHtmlLocalized(103, offset, 120, 16, 3000087, 0x15F90, false, false); // Total
                            this.AddLabel(223, offset, 0x481, obtain.CurProgress.ToString());            // %current progress%

                            offset += 16;

                            if (this.ReturnTo() != null)
                            {
                                this.AddHtmlLocalized(103, offset, 120, 16, 1074782, 0x15F90, false, false); // Return to
                                this.AddLabel(223, offset, 0x481, this.ReturnTo());                          // %return to%

                                offset += 16;
                            }

                            if (obtain.Timed)
                            {
                                this.AddHtmlLocalized(103, offset, 120, 16, 1062379, 0x15F90, false, false); // Est. time remaining:
                                this.AddLabel(223, offset, 0x481, this.FormatSeconds(obtain.Seconds));       // %est. time remaining%

                                offset += 16;
                            }
                        }
                    }
                    else if (objective is DeliverObjective)
                    {
                        DeliverObjective deliver = (DeliverObjective)objective;

                        if (deliver != null)
                        {
                            this.AddHtmlLocalized(98, offset, 40, 16, 1072207, 0x15F90, false, false);           // Deliver
                            this.AddLabel(143, offset, 0x481, deliver.MaxProgress + " " + deliver.DeliveryName); // %name%

                            offset += 16;

                            this.AddHtmlLocalized(103, offset, 120, 16, 1072379, 0x15F90, false, false); // Deliver to
                            this.AddLabel(223, offset, 0x481, deliver.DestName);                         // %deliver to%

                            offset += 16;

                            if (deliver.Timed)
                            {
                                this.AddHtmlLocalized(103, offset, 120, 16, 1062379, 0x15F90, false, false); // Est. time remaining:
                                this.AddLabel(223, offset, 0x481, this.FormatSeconds(deliver.Seconds));      // %est. time remaining%

                                offset += 16;
                            }
                        }
                    }
                    else if (objective is EscortObjective)
                    {
                        EscortObjective escort = (EscortObjective)objective;

                        if (escort != null)
                        {
                            this.AddHtmlLocalized(98, offset, 50, 16, 1072206, 0x15F90, false, false); // Escort to
                            this.AddHtmlObject(153, offset, 200, 16, escort.Region.Name, White, false, false);

                            offset += 16;

                            if (escort.Timed)
                            {
                                this.AddHtmlLocalized(103, offset, 120, 16, 1062379, 0x15F90, false, false); // Est. time remaining:
                                this.AddLabel(223, offset, 0x481, this.FormatSeconds(escort.Seconds));       // %est. time remaining%

                                offset += 16;
                            }
                        }
                    }
                    else if (objective is ApprenticeObjective)
                    {
                        ApprenticeObjective apprentice = (ApprenticeObjective)objective;

                        if (apprentice != null)
                        {
                            this.AddHtmlLocalized(98, offset, 200, 16, 1077485, "#" + (1044060 + (int)apprentice.Skill) + "\t" + apprentice.MaxProgress, 0x15F90, false, false); // Increase ~1_SKILL~ to ~2_VALUE~

                            offset += 16;
                        }
                    }
                }
            }

            if (this.m_Offer)
            {
                this.AddButton(95, 455, 0x2EE0, 0x2EE2, (int)Buttons.AcceptQuest, GumpButtonType.Reply, 0);
                this.AddButton(313, 455, 0x2EF2, 0x2EF4, (int)Buttons.RefuseQuest, GumpButtonType.Reply, 0);
            }
            else
            {
                this.AddButton(95, 455, 0x2EF5, 0x2EF7, (int)Buttons.ResignQuest, GumpButtonType.Reply, 0);
                this.AddButton(313, 455, 0x2EEC, 0x2EEE, (int)Buttons.CloseQuest, GumpButtonType.Reply, 0);
            }


            this.AddButton(130, 430, 0x2EEF, 0x2EF1, (int)Buttons.PreviousPage, GumpButtonType.Reply, 0);
            this.AddButton(275, 430, 0x2EE9, 0x2EEB, (int)Buttons.NextPage, GumpButtonType.Reply, 0);
        }