コード例 #1
0
ファイル: MondainQuestGump.cs プロジェクト: marcusdiaz/ServUO
        public virtual void SecComplete()
        {
            if (m_Quest == null)
            {
                return;
            }

            if (m_Quest.Complete == null)
            {
                if (QuestHelper.TryDeleteItems(m_Quest))
                {
                    if (QuestHelper.AnyRewards(m_Quest))
                    {
                        m_Section = Section.Rewards;
                        SecRewards();
                    }
                    else
                    {
                        m_Quest.GiveRewards();
                    }
                }

                return;
            }

            AddHtmlLocalized(130, 45, 270, 16, 3006156, 0xFFFFFF, false, false); // Quest Conversation
            AddImage(140, 110, 0x4B9);
            AddHtmlObject(160, 70, 200, 40, m_Quest.Title, DarkGreen, false, false);
            AddHtmlObject(98, 140, 312, 180, m_Quest.Complete, LightGreen, false, true);

            AddButton(313, 455, 0x2EE6, 0x2EE8, (int)Buttons.Close, GumpButtonType.Reply, 0);
            AddButton(95, 455, 0x2EE9, 0x2EEB, (int)Buttons.Complete, GumpButtonType.Reply, 0);
        }
コード例 #2
0
ファイル: MLQuestFinishGump.cs プロジェクト: nogu3ira/xrunuo
        public override void OnResponse(GameClient sender, RelayInfo info)
        {
            // 3 - Close
            // 4 - Continue

            if (info.ButtonID == 4)
            {
                m_From.DropHolding();

                if (!m_Quest.Completed)
                {
                    m_From.SendLocalizedMessage(1074861);                       // You do not have everything you need!
                }
                else
                {
                    QuestHelper.DeleteItems(m_Quest);

                    if (m_Quester != null)
                    {
                        m_Quest.Quester = m_Quester;
                    }

                    if (!QuestHelper.AnyRewards(m_Quest))
                    {
                        m_Quest.GiveRewards();
                    }
                    else
                    {
                        m_From.CloseGump(typeof(BaseQuestGump));
                        m_From.SendGump(new MLQuestRewardGump(m_Quest));
                    }
                }
            }
        }
コード例 #3
0
ファイル: MLQuestRewardGump.cs プロジェクト: nogu3ira/xrunuo
 public override void OnResponse(GameClient sender, RelayInfo info)
 {
     if (info.ButtonID == 1)
     {
         m_Quest.GiveRewards();
     }
 }
コード例 #4
0
        public static bool InProgress(PlayerMobile player, MondainQuester quester)
        { 
            for (int i = 0; i < player.Quests.Count; i ++)
            {
                BaseQuest quest = player.Quests[i];
				
                if (quest.Quester == null)
                    continue;
					
                if (quest.Quester.GetType() == quester.GetType())
                {
                    if (quest.Completed)		
                    {
                        if (quest.Complete == null && !AnyRewards(quest))
                            quest.GiveRewards();
                        else 
                            player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.Complete, false, true));
                    }
                    else
                    {
                        player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.InProgress, false));
                        quest.InProgress();
                    }
						
                    return true;
                }
            }
			
            return false;
        }
コード例 #5
0
        public void SecQuestionComplete()
        {
            if (m_Quest == null)
            {
                return;
            }

            if (m_Quest.Complete == null)
            {
                if (QuestHelper.TryDeleteItems(m_Quest))
                {
                    if (QuestHelper.AnyRewards(m_Quest))
                    {
                        m_Section = Section.Rewards;
                        SecRewards();
                    }
                    else
                    {
                        m_Quest.GiveRewards();
                    }
                }

                return;
            }

            AddHtmlObject(98, 156, 312, 180, m_Quest.Complete, 0x15F90, false, true);

            AddButton(95, 395, 0x2EE6, 0x2EE8, (int)Buttons.Complete, GumpButtonType.Reply, 0);
            AddHtmlLocalized(0, 0, 0, 0, 1060675, false, false); // CLOSE
        }
コード例 #6
0
ファイル: QuestHelper.cs プロジェクト: adverserath/TrueUO
        /// <summary>
        /// Called in MondainQuester.cs
        /// </summary>
        /// <param name="player"></param>
        /// <param name="quester"></param>
        /// <returns></returns>
        public static bool InProgress(PlayerMobile player, Mobile quester)
        {
            BaseQuest quest = player.Quests.FirstOrDefault(q => q.QuesterType == quester.GetType());

            if (quest != null)
            {
                if (quest.Completed)
                {
                    if (quest.Complete == null && !AnyRewards(quest))
                    {
                        if (TryDeleteItems(quest))
                        {
                            quest.GiveRewards();
                        }
                    }
                    else
                    {
                        player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.Complete, false, true));
                    }
                }
                else
                {
                    player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.InProgress, false));
                    quest.InProgress();
                }

                return(true);
            }

            return(false);
        }
コード例 #7
0
ファイル: MLQuestFinishGump.cs プロジェクト: nogu3ira/xrunuo
        public MLQuestFinishGump(PlayerMobile pm, BaseQuest quest, MondainQuester quester)
            : base(75, 25)
        {
            m_Quest   = quest;
            m_From    = pm;
            m_Quester = quester;

            if (m_Quest.Complete == null)
            {
                if (QuestHelper.TryDeleteItems(m_Quest))
                {
                    if (QuestHelper.AnyRewards(m_Quest))
                    {
                        m_From.CloseGump(this.GetType());
                        m_From.SendGump(new MLQuestRewardGump(m_Quest));
                    }
                    else
                    {
                        m_Quest.GiveRewards();
                    }
                }

                return;
            }

            Intern("");

            AddPage(1);

            Closable = false;
            AddImageTiled(50, 20, 400, 400, 0x1404);
            AddImageTiled(50, 29, 30, 390, 0x28DC);
            AddImageTiled(34, 140, 17, 279, 0x242F);
            AddImage(48, 135, 0x28AB);
            AddImage(-16, 285, 0x28A2);
            AddImage(0, 10, 0x28B5);
            AddImage(25, 0, 0x28B4);
            AddImageTiled(83, 15, 350, 15, 0x280A);
            AddImage(34, 419, 0x2842);
            AddImage(442, 419, 0x2840);
            AddImageTiled(51, 419, 392, 17, 0x2775);
            AddImageTiled(415, 29, 44, 390, 0xA2D);
            AddImageTiled(415, 29, 30, 390, 0x28DC);
            AddLabelIntern(100, 50, 0x481, 0);
            AddImage(370, 50, 0x589);
            AddImage(379, 60, 0x15A9);
            AddImage(425, 0, 0x28C9);
            AddImage(90, 33, 0x232D);
            AddHtmlLocalized(130, 45, 270, 16, 3006156, 0xFFFFFF, false, false);               // Quest Conversation
            AddImageTiled(130, 65, 175, 1, 0x238D);
            AddHtmlLocalized(130, 68, 220, 48, 1114513, String.Format("#{0}", quest.Title.ToString()), 0x2710, false, false);

            AddHtmlObject(98, 140, 312, 180, quest.Complete, 0x15F90, false, true);
            AddButton(95, 395, 0x2EE9, 0x2EEB, 4, GumpButtonType.Reply, 0);               // Continue
            AddKRHtmlLocalized(0, 0, 0, 0, 1011036, false, false);
            AddKRHtmlLocalized(0, 0, 0, 0, 1011012, false, false);
            AddButton(313, 395, 0x2EE6, 0x2EE8, 3, GumpButtonType.Reply, 0);               // Close
        }
コード例 #8
0
        /// <summary>
        /// Called in MondainQuester.cs
        /// </summary>
        /// <param name="player"></param>
        /// <param name="quester"></param>
        /// <returns></returns>
        public static bool InProgress(PlayerMobile player, Mobile quester)
        {
            BaseQuest quest = player.Quests.FirstOrDefault(q => q.QuesterType == quester.GetType());

            if (quest != null)
            {
                if (quest.Completed)
                {
                    if (quest.Complete == null && !AnyRewards(quest))
                    {
                        if (TryDeleteItems(quest))
                        {
                            quest.GiveRewards();
                        }
                    }
                    else
                    {
                        player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.Complete, false, true));
                    }
                }
                else
                {
                    player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.InProgress, false));
                    quest.InProgress();
                }

                return(true);
            }

            /*for (int i = 0; i < player.Quests.Count; i ++)
             * {
             *  BaseQuest quest = player.Quests[i];
             *
             *  if (quest.Quester == null && quest.QuesterType == null)
             *      continue;
             *
             *  if (quest.QuesterType == quester.GetType())
             *  {
             *      if (quest.Completed)
             *      {
             *          if (quest.Complete == null && !AnyRewards(quest))
             *              quest.GiveRewards();
             *          else
             *              player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.Complete, false, true));
             *      }
             *      else
             *      {
             *          player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.InProgress, false));
             *          quest.InProgress();
             *      }
             *
             *      return true;
             *  }
             * }*/

            return(false);
        }
コード例 #9
0
        public MLQuestFinishGump( PlayerMobile pm, BaseQuest quest, MondainQuester quester )
            : base(75, 25)
        {
            m_Quest = quest;
            m_From = pm;
            m_Quester = quester;

            if ( m_Quest.Complete == null )
            {
                if ( QuestHelper.TryDeleteItems( m_Quest ) )
                {
                    if ( QuestHelper.AnyRewards( m_Quest ) )
                    {
                        m_From.CloseGump( this.GetType() );
                        m_From.SendGump( new MLQuestRewardGump( m_Quest ) );
                    }
                    else
                        m_Quest.GiveRewards();
                }

                return;
            }

            Intern( "" );

            AddPage( 1 );

            Closable = false;
            AddImageTiled( 50, 20, 400, 400, 0x1404 );
            AddImageTiled( 50, 29, 30, 390, 0x28DC );
            AddImageTiled( 34, 140, 17, 279, 0x242F );
            AddImage( 48, 135, 0x28AB );
            AddImage( -16, 285, 0x28A2 );
            AddImage( 0, 10, 0x28B5 );
            AddImage( 25, 0, 0x28B4 );
            AddImageTiled( 83, 15, 350, 15, 0x280A );
            AddImage( 34, 419, 0x2842 );
            AddImage( 442, 419, 0x2840 );
            AddImageTiled( 51, 419, 392, 17, 0x2775 );
            AddImageTiled( 415, 29, 44, 390, 0xA2D );
            AddImageTiled( 415, 29, 30, 390, 0x28DC );
            AddLabelIntern( 100, 50, 0x481, 0 );
            AddImage( 370, 50, 0x589 );
            AddImage( 379, 60, 0x15A9 );
            AddImage( 425, 0, 0x28C9 );
            AddImage( 90, 33, 0x232D );
            AddHtmlLocalized( 130, 45, 270, 16, 3006156, 0xFFFFFF, false, false ); // Quest Conversation
            AddImageTiled( 130, 65, 175, 1, 0x238D );
            AddHtmlLocalized( 130, 68, 220, 48, 1114513, String.Format( "#{0}", quest.Title.ToString() ), 0x2710, false, false );

            AddHtmlObject( 98, 140, 312, 180, quest.Complete, 0x15F90, false, true );
            AddButton( 95, 395, 0x2EE9, 0x2EEB, 4, GumpButtonType.Reply, 0 ); // Continue
            AddKRHtmlLocalized( 0, 0, 0, 0, 1011036, false, false );
            AddKRHtmlLocalized( 0, 0, 0, 0, 1011012, false, false );
            AddButton( 313, 395, 0x2EE6, 0x2EE8, 3, GumpButtonType.Reply, 0 ); // Close
        }
コード例 #10
0
        /// <summary>
        /// Called in MondainQuester.cs
        /// </summary>
        /// <param name="player"></param>
        /// <param name="quester"></param>
        /// <returns></returns>
        public static bool InProgress(PlayerMobile player, Mobile quester)
        {
            BaseQuest quest = null;

            for (var index = 0; index < player.Quests.Count; index++)
            {
                var q = player.Quests[index];

                if (q.QuesterType == quester.GetType())
                {
                    quest = q;
                    break;
                }
            }

            if (quest != null)
            {
                if (quest.Completed)
                {
                    if (quest.Complete == null && !AnyRewards(quest))
                    {
                        if (TryDeleteItems(quest))
                        {
                            quest.GiveRewards();
                        }
                    }
                    else
                    {
                        player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.Complete, false, true));
                    }
                }
                else
                {
                    player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.InProgress, false));
                    quest.InProgress();
                }

                return(true);
            }

            return(false);
        }
コード例 #11
0
        public static bool InProgress(PlayerMobile player, MondainQuester quester)
        {
            for (int i = 0; i < player.Quests.Count; i++)
            {
                BaseQuest quest = player.Quests[i];

                if (quest.Quester == null)
                {
                    continue;
                }

                if (quest.Quester.GetType() == quester.GetType())
                {
                    player.CloseGump(typeof(BaseQuestGump));

                    if (quest.Completed)
                    {
                        if (quest.Complete == null && !AnyRewards(quest))
                        {
                            quest.GiveRewards();
                        }
                        else
                        {
                            player.SendGump(new MLQuestFinishGump(player, quest));
                        }
                    }
                    else
                    {
                        player.SendGump(new MLQuestConversationGump(quest, MLQuestConverType.InProgress));
                        quest.InProgress();
                    }

                    return(true);
                }
            }

            return(false);
        }