Esempio n. 1
0
    public IQuest ReadQuest()
    {
        // if (dbConnection.State == ConnectionState.Closed)
        dbConnection.Open();

        IDbCommand dbcmd    = dbConnection.CreateCommand();
        string     sqlQuery = "SELECT * FROM  Mission";

        dbcmd.CommandText = sqlQuery;
        IDataReader reader = dbcmd.ExecuteReader();

        IQuest currentQuest = null;

        if (reader.Read())
        {
            currentQuest = QuestFactory.Instance().ParseQuest(reader);
        }

        reader.Close();
        reader = null;
        dbcmd.Dispose();
        dbcmd = null;

//        if (dbConnection.State == ConnectionState.Open)
        dbConnection.Close();

        if (currentQuest == null)
        {
            currentQuest = QuestFactory.Instance().GetQuest();
        }
        return(currentQuest);
    }
        private void ReadQuests(string directory)
        {
            Regex regex = new Regex(QuestReaderConstants.QuestReaderPattern);

            string[] allQuests = this.GetQuestNames(directory);
            string   questArgs = string.Empty;

            for (int i = 0; i < allQuests.Length; i++)
            {
                questArgs = this.fileReader.ReadToEnd(allQuests[i]);

                Match match = regex.Match(questArgs);

                string name             = match.Groups[2].ToString().Trim();
                string description      = match.Groups[3].ToString().Trim();
                string destination      = match.Groups[4].ToString().Trim();
                string enviroment       = match.Groups[5].ToString().Trim();
                string progress         = match.Groups[6].ToString();
                string itemRewards      = match.Groups[7].ToString();
                int    experienceReward = int.Parse(match.Groups[8].ToString().Trim());

                IQuest currentQuest = QuestFactory.CreateQuest(i + 1, name, description, destination, enviroment, experienceReward, this.GetEnemies(progress), this.GetItems(itemRewards));

                this.quests.Add(currentQuest);
            }
        }
Esempio n. 3
0
        private static void PopulatePlayerQuests(JObject data, Player player)
        {
            string fileVersion = FileVersion(data);

            switch (fileVersion)
            {
            case "0.1.000":
                foreach (JToken questToken in (JArray)data[nameof(GameSession.CurrentPlayer)]
                         [nameof(Player.Quests)])
                {
                    int questId =
                        (int)questToken[nameof(QuestStatus.PlayerQuest)][nameof(QuestStatus.PlayerQuest.ID)];

                    Quest       quest       = QuestFactory.GetQuestByID(questId);
                    QuestStatus questStatus = new QuestStatus(quest);
                    questStatus.IsCompleted = (bool)questToken[nameof(QuestStatus.IsCompleted)];

                    player.Quests.Add(questStatus);
                }

                break;

            default:
                throw new InvalidDataException($"File version '{fileVersion}' not recognized");
            }
        }
Esempio n. 4
0
        static QuestDebugRow[,] CreateQuestRow(TabPage tabPage)
        {
            var questRows = new QuestDebugRow[5, 6];

            for (int actIndex = 0; actIndex < 5; actIndex++)
            {
                int y = actIndex * 100 - (actIndex > 3 ? 3 * 16 : 0);

                tabPage.Controls.Add(new Label
                {
                    Text     = "Act " + (actIndex + 1),
                    Width    = 40,
                    Location = new Point(20, y)
                });

                for (int questIndex = 0; questIndex < (actIndex == 3 ? 3 : 6); questIndex++)
                {
                    var quest = QuestFactory.CreateByActAndOrder(actIndex + 1, questIndex + 1);
                    var row   = new QuestDebugRow(quest);
                    row.Location = new Point(60, y + (questIndex * 16));
                    tabPage.Controls.Add(row);

                    questRows[actIndex, questIndex] = row;
                }
            }

            return(questRows);
        }
Esempio n. 5
0
        private static void PopulatePlayerQuests(JsonDocument document, Player player)
        {
            var fileVersion = FileVersion(document);

            switch (fileVersion)
            {
            case "0.1.000":
                foreach (var jQuest in document.RootElement
                         .GetProperty(nameof(GameSession.CurrentPlayer))
                         .GetProperty(nameof(Player.Quests))
                         .EnumerateArray())
                {
                    var questId = jQuest.GetProperty(nameof(QuestStatus.PlayerQuest))
                                  .GetProperty(nameof(QuestStatus.PlayerQuest.ID)).GetInt32();

                    var quest       = QuestFactory.GetQuestByID(questId);
                    var questStatus = new QuestStatus(quest);
                    questStatus.IsCompleted = jQuest.GetProperty(nameof(QuestStatus.IsCompleted)).GetBoolean();

                    player.Quests.Add(questStatus);
                }

                break;

            default:
                throw new InvalidDataException($"File version '{fileVersion}' not recognized.");
            }
        }
Esempio n. 6
0
        public static World CreateWorld()
        // add locations
        {
            World newWorld = new World();

            // Forestmonster, mainTown, Mudhut, mudhutgarden, mainTown, TownGate, Trader,

            newWorld.Addlocation(-2, -1, "Ivan's Field", "This is ivan's field he likes sunflowers!", "pack://application:,,,/Engine;component/Images/Locations/Field.png");
            newWorld.LocationAt(-2, -1).AddMonster(2, 100);
            newWorld.Addlocation(-1, -1, "Ivan's Home", "This is your friend's house.", "pack://application:,,,/Engine;component/Images/Locations/Framhouse.png");
            newWorld.Addlocation(0, -1, "home", "This is your home", "pack://application:,,,/Engine;component/Images/Locations/home.png");
            newWorld.Addlocation(-1, 0, "Trader", "This is a freindly trader, say hi!", "pack://application:,,,/Engine;component/Images/Locations/Trader.png");
            newWorld.Addlocation(0, 0, "Main town", "Welcome to LONDON!", "pack://application:,,,/Engine;component/Images/Locations/mainTown.png");
            newWorld.Addlocation(1, 0, "Town Gate", "used to proect from unwated guests, im nervous", "pack://application:,,,/Engine;component/Images/Locations/TownGate.png");
            newWorld.Addlocation(2, 0, "Forest", "This place seems odd...", "pack://application:,,,/Engine;component/Images/Locations/Forestmonster.png");

            newWorld.LocationAt(2, 0).AddMonster(3, 100);

            newWorld.Addlocation(0, 1, "Hut", "you can rest here... however something is waiting for you in the back...", "pack://application:,,,/Engine;component/Images/Locations/Mudhut.png");
            newWorld.LocationAt(0, 1).QuestsAvailableHere.Add(QuestFactory.GetQuestByID(1));

            newWorld.Addlocation(0, 2, "Hut garden", "this place looks AMAZING, however something approaches you", "pack://application:,,,/Engine;component/Images/Locations/mudhutgarden.png");

            newWorld.LocationAt(0, 2).AddMonster(1, 100);

            return(newWorld);
        }
Esempio n. 7
0
 public RaceActionTest()
 {
     _quest = QuestFactory.CreateStartedWithMaleHero(
         out _, 
         out _gameId, 
         out _playerId, 
         out _sequence);
 }
Esempio n. 8
0
            public Location ToLocation()
            {
                var location = new Location(X, Y, Name, Description, FilePaths.NormalizePath(Image));

                if (Monsters?.Any() ?? false)
                {
                    foreach (var encounter in Monsters)
                    {
                        var availableMonster = MonsterFactory.Get(encounter.Id);
                        if (availableMonster != null)
                        {
                            location.AddEncounter(encounter.Id, encounter.Chance);
                        }
                        else
                        {
                            Trace.TraceWarning($"Location({Name}) has monster {encounter.Id} that could not be found");
                        }
                    }
                    ;
                }
                ;

                if (Quests?.Any() ?? false)
                {
                    foreach (var quest in Quests)
                    {
                        var availableQuest = QuestFactory.FindQuest(quest.Id);
                        if (availableQuest != null)
                        {
                            location.AddQuest(availableQuest);
                        }
                        else
                        {
                            Trace.TraceWarning($"Location({Name}) has quest {quest.Id} that could not be found");
                        }
                    }
                    ;
                }
                ;

                if (Trader > 0)
                {
                    var availableTader = TraderFactory.GetTrader(Trader);
                    if (availableTader != null)
                    {
                        location.TraderHere = availableTader;
                    }
                    else
                    {
                        Trace.TraceWarning($"Location({Name}) has tracer '{Trader}' that could not be found");
                    }
                }
                ;

                return(location);
            }
Esempio n. 9
0
        public IActionResult GetNPC(int npcId)
        {
            NPC npcInfo = NPCFactory.GetNPC(npcId);

            npcInfo.RelatedQuestsInfo = npcInfo.RelatedQuests?.Select(c => QuestFactory.GetQuest(c)).Where(c => c != null).Select(c => new QuestName()
            {
                id = c.Id, name = c.Name
            }).ToArray();
            return(Json(npcInfo));
        }
Esempio n. 10
0
 private void FinishQuest()
 {
     if (currentQuest.IsFinish())
     {
         // Claim Reward
         // Geneerate new Quest
         currentQuest = null;
         currentQuest = QuestFactory.Instance().GetQuest();
     }
 }
Esempio n. 11
0
        public void GenerateAnInitCode_ResultsInAnStringWith6Chars_Test()
        {
            // Arrange
            var quest = QuestFactory.Create();

            // Act
            var initCode = quest.GenerateInitCode();

            // Assert
            initCode.Should().HaveLength(6);
        }
Esempio n. 12
0
 public TakeOnQuestMenu(string name, IReader reader, IWriter writer, ITownsManager townsManager,
                        IPlayerManager playerManager, IRandomNumberGenerator randomNumberGenerator, ICustomEventHandler handler)
     : base(name, reader, writer)
 {
     this.townsManager          = townsManager;
     this.playerManager         = playerManager;
     this.randomNumberGenerator = randomNumberGenerator;
     this.handler      = handler;
     this.questFactory = new QuestFactory(this.townsManager.GetCurrentTown(), this.randomNumberGenerator,
                                          handler);
 }
Esempio n. 13
0
 private void Awake()
 {
     if (_instance == null)
     {
         _instance = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(this);
     }
 }
Esempio n. 14
0
        public void GenerateAnInitCode_ResultsInAnUrlEncodedString_Test()
        {
            // Arrange
            var quest = QuestFactory.Create();

            // Act
            var initCode           = quest.GenerateInitCode();
            var urlEncodedInitCode = HttpUtility.UrlEncode(initCode);

            // Assert
            initCode.Should().BeEquivalentTo(urlEncodedInitCode);
        }
Esempio n. 15
0
        public void StartJourney_ResultsInGeneratedGame_AndReturnsGameId_Test()
        {
            // Arrange
            var gameStore = new VolatileGameStore();
            var quest     = QuestFactory.Create(gameStore);

            // Act
            var gameId = quest.StartJourney();

            // Assert
            Assert.NotEqual(Guid.Empty, gameId);
            Assert.NotNull(gameStore.Get(gameId));
        }
Esempio n. 16
0
        private static void PopulatePlayerQuests(JObject data, Player player)
        {
            foreach (JToken questToken in (JArray)data[nameof(GameSession.CurrentPlayer)]
                     [nameof(Player.Quests)])
            {
                int questId =
                    (int)questToken[nameof(QuestStatus.PlayerQuest)][nameof(QuestStatus.PlayerQuest.ID)];

                Quest       quest       = QuestFactory.GetQuestByID(questId);
                QuestStatus questStatus = new QuestStatus(quest);
                questStatus.IsCompleted = (bool)questToken[nameof(QuestStatus.IsCompleted)];

                player.Quests.Add(questStatus);
            }
        }
Esempio n. 17
0
    public override void _Ready()
    {
        world          = (Spatial)GetNode("/root/MainScene/World");
        player         = (Player)GetNode("/root/MainScene/World/Player");
        terrainFactory = (TerrainFactory)GetNode("/root/MainScene/Main/TerrainFactory");
        questFactory   = (QuestFactory)GetNode("/root/MainScene/Main/QuestFactory");
        noiseTexture   = (TextureRect)GetNode("/root/MainScene/Main/NoiseTexture");

        noise = ((NoiseTexture)noiseTexture.Texture).Noise;
        ((LineEdit)GetNode("/root/MainScene/UI/SettingsPanel/SeedLine")).Text = noise.Seed.ToString();

        steepness                = 50;
        chunkBorderAreaHeight    = 30;
        chunkCollisionAreaHeight = 500;
        forestChance             = 50;
    }
Esempio n. 18
0
        public void BufferLookup()
        {
            Quest q = QuestFactory.CreateFromBufferIndex(1, 0);

            Assert.AreEqual(q.Name, "Den of Evil");
            Assert.AreEqual(q.IsBossQuest, false);

            q = QuestFactory.CreateFromBufferIndex(9, 0);
            Assert.AreEqual(q.Name, "Radament's Lair");

            q = QuestFactory.CreateFromBufferIndex(29, 0);
            Assert.AreEqual(q, null);

            q = QuestFactory.CreateFromBufferIndex(35, 0);
            Assert.AreEqual(q.Name, "Siege on Harrogath");
        }
Esempio n. 19
0
        private void Save_Click(object sender, EventArgs e)
        {
            //checks the anwer of the question
            if (QuestFactory.CheckAnswer(answerAsString, quest.Answer))
            {
                FinalAnswer = 1;
                MessageBox.Show("CORRECT!"); //logic if correct
            }
            else
            {
                FinalAnswer = 2;
                MessageBox.Show("NOT CORRECT"); //logic if not correct
            }

            Close();
        }
Esempio n. 20
0
    public override void StateStart()
    {
        lifeTimer = GameObject.FindGameObjectWithTag("LifeTimer").GetComponent<LifeTimer>();
        Siasaki = GameObject.FindGameObjectWithTag("Player").GetComponent<SiasakiChanController>();
        questFactory = GameObject.FindGameObjectWithTag("QuestFactory").GetComponent<QuestFactory>();
        yakubin = this.Siasaki.yakubin.GetComponent<Yakubin>();

        questFactory.InstantQuest();
        lifeTimer.isStop = false;

        //コールバック登録
        Siasaki.NomikomuCallback += NomikomiEvent;
        Siasaki.Nomikomu_to_Idle_Callback += Nomikomu_to_Idle_Event;
        Siasaki.CreateYakuCallback += CreateYakuEvent;
        Siasaki.Damage_to_Idle_Callback += Damage_to_Idle_Event;
        questFactory.DestroyQuestCallBack += QuestTimeUpEvent;
    }
Esempio n. 21
0
        /// <summary>
        /// Create a named autosplit for the specified quest and difficulty.
        /// </summary>
        /// <param name="questId">The quest.</param>
        /// <param name="difficulty">Difficulty for quest.</param>
        /// <returns>An autosplit for a specific quest.</returns>
        AutoSplit CreateForQuest(QuestId questId, GameDifficulty difficulty)
        {
            var quest = QuestFactory.Create(questId, 0);
            var name  = quest != null ? quest.CommonName : "Quest";

            // Add difficulty to name if above normal.
            if (difficulty == GameDifficulty.Nightmare)
            {
                name += " (NM)";
            }
            if (difficulty == GameDifficulty.Hell)
            {
                name += " (H)";
            }

            return(new AutoSplit(name, AutoSplit.SplitType.Quest, (short)questId, (short)difficulty));
        }
Esempio n. 22
0
    public void OnQuestInput(QuestInputData data)
    {
        var newDis   = data.GetValue(DistanceQuestInput.INPUT_DISTANCE);
        var newShare = data.GetValue(FacebookQuestInput.INPUT_SHARE);

        dbReader.totalDistance = Math.Max(newDis, dbReader.totalDistance);
        dbReader.totalShare    = Math.Max((int)newShare, dbReader.totalShare);

        manager.UpdateQuest(data);
        if (manager.QuestIsFinish())
        {
            dbReader.money += manager.GetQuest().rewardMoney;
            dbReader.exp   += manager.GetQuest().rewardExp;
            manager.SetQuest(QuestFactory.Instance().GetQuest());
            dbReader.SaveSimpleData();
        }
    }
Esempio n. 23
0
        public void BufferLookup()
        {
            ushort[] questBuffer = new ushort[256];
            var      quests      = QuestFactory.CreateListFromBuffer(questBuffer);

            Assert.AreEqual(28, quests.Count);

            Assert.AreEqual("Den of Evil", quests[5].Name);
            Assert.AreEqual(false, quests[5].IsBossQuest);

            Assert.AreEqual("Radament's Lair", quests[10].Name);

            Assert.AreEqual("Siege on Harrogath", quests[22].Name);

            Assert.AreEqual("Cow King", quests[27].Name);

            Assert.AreEqual(28, QuestFactory.CreateListFromBuffer(new ushort[1]).Count);
        }
Esempio n. 24
0
        public IActionResult GetQuest(int questId)
        {
            var quest = QuestFactory.GetQuest(questId);

            if (quest.RequirementToStart.NPCId.HasValue)
            {
                quest.RequirementToStart.NPCInfo = NPCFactory.GetNPC(quest.RequirementToStart.NPCId.Value);
            }
            if (quest.RequirementToComplete.NPCId.HasValue)
            {
                quest.RequirementToComplete.NPCInfo = NPCFactory.GetNPC(quest.RequirementToComplete.NPCId.Value);
            }

            if (quest == null)
            {
                return(NotFound());
            }
            return(Json(quest));
        }
Esempio n. 25
0
        public void ShouldReachAutosplits()
        {
            var splitOnGameStart = new AutoSplit(
                "game start",
                AutoSplit.SplitType.Special,
                1,
                (short)GameDifficulty.Normal
                );
            var splitOnGameClear = new AutoSplit(
                "100% done",
                AutoSplit.SplitType.Special,
                2,
                (short)GameDifficulty.Normal
                );
            var splitOnGameClearAllDifficulties = new AutoSplit(
                "100% done all difficulties",
                AutoSplit.SplitType.Special,
                3,
                (short)GameDifficulty.Normal
                );
            var splitOnCharLevel10 = new AutoSplit(
                "char level 10",
                AutoSplit.SplitType.CharLevel,
                10,
                (short)GameDifficulty.Normal
                );
            var splitOnArea1 = new AutoSplit(
                "area 1",
                AutoSplit.SplitType.Area,
                (int)Area.ROGUE_ENCAMPMENT,
                (short)GameDifficulty.Normal
                );
            var splitOnItem1 = new AutoSplit(
                "item 1",
                AutoSplit.SplitType.Item,
                1,
                (short)GameDifficulty.Normal
                );
            var splitOnGem1 = new AutoSplit(
                "gem 1",
                AutoSplit.SplitType.Gems,
                1,
                (short)GameDifficulty.Normal
                );
            var splitOnQuest81 = new AutoSplit(
                "quest 81 (den of evil)",
                AutoSplit.SplitType.Quest,
                81,
                (short)GameDifficulty.Normal
                );

            var cfg = new Config();

            cfg.Enabled = true;
            cfg.Splits  = new List <AutoSplit>();
            cfg.Splits.Add(splitOnGameStart);
            cfg.Splits.Add(splitOnGameClear);
            cfg.Splits.Add(splitOnGameClearAllDifficulties);
            cfg.Splits.Add(splitOnCharLevel10);
            cfg.Splits.Add(splitOnArea1);
            cfg.Splits.Add(splitOnItem1);
            cfg.Splits.Add(splitOnGem1);
            cfg.Splits.Add(splitOnQuest81);

            var config = new Mock <ApplicationConfig>();

            config.Setup(x => x.PluginConf(It.IsAny <string>())).Returns(cfg);
            var configService = new Mock <IConfigService>();

            configService.SetupGet(x => x.CurrentConfig).Returns(config.Object);

            var gameService = new Mock <IGameService>();

            var diabloInterface = new Mock <IDiabloInterface>();

            diabloInterface.Setup(x => x.configService).Returns(configService.Object);
            diabloInterface.Setup(x => x.game).Returns(gameService.Object);

            var autoSplitService = new Plugin();

            autoSplitService.Initialize(diabloInterface.Object);

            var normalQuests = new List <Quest>()
            {
                QuestFactory.Create(QuestId.DenOfEvil, 0),
                QuestFactory.Create(QuestId.Andariel, 0),
            };

            var nightmareQuests = new List <Quest>()
            {
                QuestFactory.Create(QuestId.DenOfEvil, 0),
                QuestFactory.Create(QuestId.Andariel, 0),
            };

            var hellQuests = new List <Quest>()
            {
                QuestFactory.Create(QuestId.DenOfEvil, 0),
                QuestFactory.Create(QuestId.Andariel, 0),
            };

            var quests = new Quests(new List <List <Quest> >
            {
                normalQuests,
                nightmareQuests,
                hellQuests,
            });

            var itemStrings = new Dictionary <BodyLocation, string>();
            var itemsIds    = new List <int>();

            var characterMock = new Mock <Character>();

            characterMock.SetupGet(x => x.Level).Returns(9);
            characterMock.SetupGet(x => x.IsNewChar).Returns(true);
            characterMock.SetupGet(x => x.InventoryItemIds).Returns(itemsIds);

            var processInfo = new ProcessInfo();

            var game = new Game();

            game.Area       = 0;
            game.Difficulty = GameDifficulty.Normal;
            game.PlayersX   = 1;
            game.GameCount  = 0;
            game.CharCount  = 0;
            game.Character  = characterMock.Object;
            game.Quests     = quests;

            List <Monster> killedMonsters = null;
            var            args           = new DataReadEventArgs(processInfo, game, killedMonsters);

            // test autosplit by game start
            Assert.AreEqual(false, splitOnGameStart.IsReached);
            gameService.Raise(g => g.DataRead += null, args);
            Assert.AreEqual(true, splitOnGameStart.IsReached);

            // test autosplit by level
            Assert.AreEqual(false, splitOnCharLevel10.IsReached);
            gameService.Raise(g => g.DataRead += null, args);
            Assert.AreEqual(false, splitOnCharLevel10.IsReached);

            characterMock.SetupGet(x => x.Level).Returns(10);
            gameService.Raise(g => g.DataRead += null, args);
            Assert.AreEqual(true, splitOnCharLevel10.IsReached);

            // test autosplit by area
            Assert.AreEqual(false, splitOnArea1.IsReached);
            game.Area = (int)Area.ROGUE_ENCAMPMENT;
            gameService.Raise(g => g.DataRead += null, args);
            game.Area = (int)Area.ROGUE_ENCAMPMENT + 1;
            Assert.AreEqual(true, splitOnArea1.IsReached);

            // test autosplit by item
            Assert.AreEqual(false, splitOnItem1.IsReached);
            Assert.AreEqual(false, splitOnGem1.IsReached);
            itemsIds.Add(1);
            gameService.Raise(g => g.DataRead += null, args);
            Assert.AreEqual(true, splitOnItem1.IsReached);
            Assert.AreEqual(true, splitOnGem1.IsReached);

            // test autosplit by quest
            Assert.AreEqual(false, splitOnQuest81.IsReached);
            normalQuests.Clear();
            normalQuests.Add(QuestFactory.Create(QuestId.DenOfEvil, 1 << 0));
            normalQuests.Add(QuestFactory.Create(QuestId.Andariel, 0));
            gameService.Raise(g => g.DataRead += null, args);
            Assert.AreEqual(true, splitOnQuest81.IsReached);

            // test autosplit on game clear
            Assert.AreEqual(false, splitOnGameClear.IsReached);
            normalQuests.Clear();
            normalQuests.Add(QuestFactory.Create(QuestId.DenOfEvil, 1 << 0));
            normalQuests.Add(QuestFactory.Create(QuestId.Andariel, 1 << 0));
            gameService.Raise(g => g.DataRead += null, args);
            Assert.AreEqual(true, splitOnGameClear.IsReached);

            // test autosplit on game clear all difficulties
            Assert.AreEqual(false, splitOnGameClearAllDifficulties.IsReached);
            nightmareQuests.Clear();
            nightmareQuests.Add(QuestFactory.Create(QuestId.DenOfEvil, 1 << 0));
            nightmareQuests.Add(QuestFactory.Create(QuestId.Andariel, 1 << 0));
            gameService.Raise(g => g.DataRead += null, args);
            Assert.AreEqual(false, splitOnGameClearAllDifficulties.IsReached);
            hellQuests.Clear();
            hellQuests.Add(QuestFactory.Create(QuestId.DenOfEvil, 1 << 0));
            hellQuests.Add(QuestFactory.Create(QuestId.Andariel, 1 << 0));
            gameService.Raise(g => g.DataRead += null, args);
            Assert.AreEqual(true, splitOnGameClearAllDifficulties.IsReached);
        }
Esempio n. 26
0
 public IActionResult List(
     [FromQuery] string searchFor  = null,
     [FromQuery] int startPosition = 0,
     [FromQuery] int?count         = null
     ) => Json(QuestFactory.GetQuests(searchFor, startPosition, count));
Esempio n. 27
0
 public QuestManagerFactory(GameObjectManager gom)
 {
     questFactory = new QuestFactory(gom);
 }
Esempio n. 28
0
    private StoryManager()
    {
        QuestFactory questFactory = new QuestFactory();

        ActiveQuest = questFactory.GetQuests();
    }
        private void FillComboBoxes(AutoSplit autosplit)
        {
            if (autosplit.IsDifficultyIgnored())
            {
                cmbDifficulty.Hide();
            }
            else
            {
                cmbDifficulty.Show();
                cmbDifficulty.SelectedIndex = autosplit.Difficulty;
            }

            cmbValue.Items.Clear();
            switch (autosplit.Type)
            {
            case AutoSplit.SplitType.CharLevel:
                for (int i = 1; i < 100; i++)
                {
                    cmbValue.Items.Add(new Item("" + i, i));
                }
                break;

            case AutoSplit.SplitType.Area:
                foreach (Area area in Area.getAreaList())
                {
                    if (area.Id > 0)
                    {
                        cmbValue.Items.Add(new Item(area.ToString(), area.Id));
                    }
                }
                break;

            case AutoSplit.SplitType.Item:
                cmbValue.Items.Add(new Item(LABEL_HORADRIC_CUBE, (int)D2Data.ItemId.HORADRIC_CUBE));
                cmbValue.Items.Add(new Item(LABEL_HORADRIC_SHAFT, (int)D2Data.ItemId.HORADRIC_SHAFT));
                cmbValue.Items.Add(new Item(LABEL_HORADRIC_AMULET, (int)D2Data.ItemId.HORADRIC_AMULET));
                cmbValue.Items.Add(new Item(LABEL_KHALIMS_EYE, (int)D2Data.ItemId.KHALIM_EYE));
                cmbValue.Items.Add(new Item(LABEL_KHALIMS_HEART, (int)D2Data.ItemId.KHALIM_HEART));
                cmbValue.Items.Add(new Item(LABEL_KHALIMS_BRAIN, (int)D2Data.ItemId.KHALIM_BRAIN));
                break;

            case AutoSplit.SplitType.Quest:
                foreach (QuestId questId in Enum.GetValues(typeof(QuestId)))
                {
                    var quest = QuestFactory.Create(questId, 0);
                    var name  = (quest.IsBossQuest ? "" : $"Act {quest.Act} - ") + quest.CommonName;

                    cmbValue.Items.Add(new Item(name, (int)questId));
                }
                break;

            case AutoSplit.SplitType.Special:
                cmbValue.Items.Add(new Item(LABEL_GAME_START, (int)AutoSplit.Special.GameStart));
                cmbValue.Items.Add(new Item(LABEL_CLEAR_100_PERCENT, (int)AutoSplit.Special.Clear100Percent));
                cmbValue.Items.Add(new Item(LABEL_CLEAR_100_PERCENT_ALL, (int)AutoSplit.Special.Clear100PercentAllDifficulties));
                break;

            case AutoSplit.SplitType.Gems:
                foreach (Gem gem in Enum.GetValues(typeof(Gem)))
                {
                    var name = Regex.Replace(gem.ToString(), @"(\B[A-Z])", " $1");
                    cmbValue.Items.Add(new Item(name, (int)gem));
                }

                break;
            }
        }
Esempio n. 30
0
        private string QuestName(QuestId questId)
        {
            var quest = QuestFactory.Create(questId, 0);

            return((quest.IsBossQuest ? "" : $"Act {quest.Act} - ") + quest.CommonName);
        }
Esempio n. 31
0
 private void Question_Load(object sender, EventArgs e)
 {
     quest = QuestFactory.GenerateQuestOnCategory();
     this.questionLabel.Text = quest.ToString();
 }