コード例 #1
0
ファイル: NPCObject.cs プロジェクト: zhaokai1982/mir3-zircon
        public override void UpdateQuests()
        {
            if (NPCInfo.CurrentIcon == QuestIcon.None)
            {
                RemoveQuestEffect();
                return;
            }

            if (CurrentIcon == NPCInfo.CurrentIcon)
            {
                return;
            }

            RemoveQuestEffect();

            CurrentIcon = NPCInfo.CurrentIcon;

            int startIndex = 0;

            if ((CurrentIcon & QuestIcon.QuestComplete) == QuestIcon.QuestComplete)
            {
                startIndex = 1130;
            }
            else if ((CurrentIcon & QuestIcon.NewQuest) == QuestIcon.NewQuest)
            {
                startIndex = 1080;
            }
            else if ((CurrentIcon & QuestIcon.QuestIncomplete) == QuestIcon.QuestIncomplete)
            {
                startIndex = 1090;
            }

            QuestEffect = new MirEffect(startIndex, 2, TimeSpan.FromMilliseconds(500), LibraryFile.GameInter, 0, 0, Color.Empty)
            {
                Loop             = true,
                MapTarget        = CurrentLocation,
                Blend            = false,
                DrawType         = DrawType.Final,
                AdditionalOffSet = new Point(0, -80)
            };
            QuestEffect.Process();
        }
コード例 #2
0
ファイル: NPCObject.cs プロジェクト: mrgreaper/mir3-zircon
        public override void UpdateQuests()
        {
            if (NPCInfo.CurrentQuest == null)
            {
                RemoveQuestEffect();
                return;
            }

            if (CurrentQuest == NPCInfo.CurrentQuest)
            {
                return;
            }

            RemoveQuestEffect();

            CurrentQuest = NPCInfo.CurrentQuest;

            int startIndex = 0;

            switch (CurrentQuest.Type)
            {
            case QuestType.General:
                startIndex = 10;
                break;

            case QuestType.Daily:
                startIndex = 70;
                break;

            case QuestType.Repeatable:
                startIndex = 10;
                break;

            case QuestType.Story:
                startIndex = 50;
                break;
                //case QuestType.Account:
                //    startIndex = 30;
                //    break;
            }

            switch (CurrentQuest.Icon)
            {
            case QuestIcon.New:
                startIndex += 0;
                break;

            case QuestIcon.Incomplete:
                startIndex = 0;
                break;

            case QuestIcon.Complete:
                startIndex += 2;
                break;
            }

            QuestEffect = new MirEffect(startIndex, 2, TimeSpan.FromMilliseconds(500), LibraryFile.QuestIcon, 0, 0, Color.Empty)
            {
                Loop             = true,
                MapTarget        = CurrentLocation,
                Blend            = false,
                DrawType         = DrawType.Final,
                AdditionalOffSet = new Point(0, -80)
            };
            QuestEffect.Process();
        }