예제 #1
0
        private static BountyData GetDynamicBounty(QuestData quest)
        {
            var questId = quest.QuestId;
                    
            if (DynamicBountyDirectory.ContainsKey(questId))
            {
                var type = DynamicBountyDirectory[questId];
                var bountyData = new BountyData();

                switch (type)
                {
                    case DynamicBountyType.BoundShaman:
                    case DynamicBountyType.BlackKingsLegacy:
                    case DynamicBountyType.PlagueOfBurrowers:
                        bountyData = CreateChestAndClearBounty(quest);
                        break;

                    case DynamicBountyType.CursedShrines:
                        bountyData = CreateMultiShrineBounty(quest);
                        break;

                    default:
                        Logger.Error("Dynamic Bounty is not supported {0} ({1})", quest.Name, quest.QuestId, type, bountyData);
                        break;
                }

                Logger.Debug("Created Dynamic Bounty for {0} ({1}) Type={2} {3}", quest.Name, quest.QuestId, type, bountyData);

                return bountyData;
            }
            return null;
        }
        public GenericBountyCoroutine(int questId)
            : base(questId)
        {
            Bounty = BountyDataFactory.GetBountyData(questId);
            ObjectiveSearchRadius = 1000;
            AutoSetNearbyNodesExplored = true;
            AutoSetNearbyNodesRadius = 30;

        }
예제 #3
0
        public void Reset()
        {
            State = States.NotStarted;
            _bountyData = null;

        }