Exemplo n.º 1
0
        private void BtnRemove_Click(object sender, EventArgs e)
        {
            Button    b = (Button)sender;
            AutoSplit a = (AutoSplit)b.Tag;

            a.deleted = true;
        }
Exemplo n.º 2
0
        public AutoSplitSettingsRow(AutoSplit autosplit)
        {
            InitializeComponent();
            this.autosplit = autosplit;

            txtName.Text = autosplit.name;

            cmbType.Items.Add(new Item("Char Level", AutoSplit.TYPE_CHAR_LEVEL));
            cmbType.Items.Add(new Item("Area", AutoSplit.TYPE_AREA));
            cmbType.Items.Add(new Item("Item", AutoSplit.TYPE_ITEM));
            cmbType.Items.Add(new Item("Quest", AutoSplit.TYPE_QUEST));
            cmbType.Items.Add(new Item("Special", AutoSplit.TYPE_SPECIAL));
            cmbType.SelectedIndex = autosplit.type;

            cmbDifficulty.Items.Add(new Item("Normal", 0));
            cmbDifficulty.Items.Add(new Item("Nightmare", 1));
            cmbDifficulty.Items.Add(new Item("Hell", 2));
            cmbDifficulty.SelectedIndex = autosplit.difficulty;

            fillValueComboBox();

            var i = 0;

            foreach (Item item in cmbValue.Items)
            {
                if (item.Value == autosplit.value)
                {
                    cmbValue.SelectedIndex = i;
                    break;
                }
                i++;
            }
        }
Exemplo n.º 3
0
 public AutoSplit(AutoSplit other)
 {
     Name       = other.Name;
     Type       = other.Type;
     Value      = other.Value;
     Difficulty = other.Difficulty;
 }
Exemplo n.º 4
0
        /// <summary>
        /// Automatically fill in sequential quests such as Andariel to Duriel.
        /// Also handles difficulty levels.
        /// </summary>
        /// <param name="previous">The previous autosplit in the list. May be null.</param>
        /// <returns></returns>
        public AutoSplit CreateSequential(AutoSplit previous)
        {
            if (previous == null)
            {
                return(new AutoSplit("Game Start", AutoSplit.SplitType.Special, (short)AutoSplit.Special.GameStart, 0));
            }

            // Follow up with Andariel after game start.
            if (previous.Type == AutoSplit.SplitType.Special && previous.Value == (int)AutoSplit.Special.GameStart)
            {
                return(CreateForQuest(D2QuestHelper.Quest.A1Q6, 0));
            }

            // Sequence bosses.
            else if (previous.Type == AutoSplit.SplitType.Quest)
            {
                short difficulty          = previous.Difficulty;
                D2QuestHelper.Quest quest = D2QuestHelper.Quest.A1Q1;

                switch ((D2QuestHelper.Quest)previous.Value)
                {
                case D2QuestHelper.Quest.A1Q1:     // Den
                    quest = D2QuestHelper.Quest.A1Q6; break;

                case D2QuestHelper.Quest.A1Q6:     // Andariel
                    quest = D2QuestHelper.Quest.A2Q6; break;

                case D2QuestHelper.Quest.A2Q6:     // Duriel
                    quest = D2QuestHelper.Quest.A3Q6; break;

                case D2QuestHelper.Quest.A3Q6:     // Mephisto
                    quest = D2QuestHelper.Quest.A4Q2; break;

                case D2QuestHelper.Quest.A4Q2:     // Diablo
                    quest = D2QuestHelper.Quest.A5Q6; break;

                case D2QuestHelper.Quest.A5Q6:     // Baal
                    // If we reached the last quest in hell, return an auto split with
                    // the default values.
                    if (++difficulty > 2)
                    {
                        return(Create());
                    }
                    quest = D2QuestHelper.Quest.A1Q6;
                    break;

                // Unsequenced quest.
                default: return(Create());
                }

                return(CreateForQuest(quest, difficulty));
            }

            return(Create());
        }
Exemplo n.º 5
0
        private void addAutosplit(AutoSplit autosplit, int idx, bool addToMain = true)
        {
            AutoSplitSettingsRow row = new AutoSplitSettingsRow(autosplit);

            this.panel1.Controls.Add(row);
            int scroll = this.panel1.VerticalScroll.Value;

            idx          = idx + 1;
            row.Location = new Point(0, -scroll + idx * 24);
            if (addToMain)
            {
                main.settings.autosplits.Add(autosplit);
            }
        }
Exemplo n.º 6
0
        void CompleteAutoSplit(AutoSplit autosplit, Character character)
        {
            // Autosplit already reached.
            if (autosplit.IsReached)
            {
                return;
            }

            autosplit.IsReached = true;
            main.triggerAutosplit(character);

            int autoSplitIndex = main.Settings.Autosplits.IndexOf(autosplit);

            Logger.Instance.WriteLine("AutoSplit: #{0} ({1}, {2}) Reached.",
                                      autoSplitIndex, autosplit.Name, autosplit.Difficulty);
        }
Exemplo n.º 7
0
        public void load()
        {
            if (!File.Exists("settings.conf"))
            {
                return;
            }

            List <AutoSplit> autosplitsNew = new List <AutoSplit>();

            string[] conf = File.ReadAllLines("settings.conf");
            string[] parts;
            string[] parts2;
            foreach (string line in conf)
            {
                parts = line.Split(new string[] { ": " }, 2, StringSplitOptions.None);
                switch (parts[0])
                {
                case "Font":
                    fontName = parts[1];
                    break;

                case "FontSize":
                    try
                    {
                        fontSize = Int32.Parse(parts[1]);
                        if (fontSize == 0)
                        {
                            fontSize = 10;
                        }
                    }
                    catch { fontSize = 10; }
                    break;

                case "FontSizeTitle":
                    try
                    {
                        titleFontSize = Int32.Parse(parts[1]);
                        if (titleFontSize == 0)
                        {
                            titleFontSize = 10;
                        }
                    }
                    catch { titleFontSize = 10; }
                    break;

                case "ShowDebug":
                    showDebug = (parts[1] == "1");
                    break;

                case "CreateFiles":
                    createFiles = (parts[1] == "1");
                    break;

                case "D2Version":
                    d2Version = parts[1];
                    break;

                case "TriggerKeys":
                    triggerKeys = parts[1];
                    break;

                case "DoAutosplit":
                    doAutosplit = (parts[1] == "1");
                    break;

                case "AutoSplit":
                    parts2 = parts[1].Split(new string[] { "|" }, 4, StringSplitOptions.None);
                    if (parts2.Length == 3)
                    {
                        AutoSplit autosplit = new AutoSplit(
                            parts2[0],
                            Convert.ToInt16(parts2[1]),
                            Convert.ToInt16(parts2[2]),
                            (short)0
                            );
                        autosplitsNew.Add(autosplit);
                    }
                    else if (parts2.Length == 4)
                    {
                        AutoSplit autosplit = new AutoSplit(
                            parts2[0],
                            Convert.ToInt16(parts2[1]),
                            Convert.ToInt16(parts2[2]),
                            Convert.ToInt16(parts2[3])
                            );
                        autosplitsNew.Add(autosplit);
                    }
                    break;
                }
            }
            autosplits = autosplitsNew;
        }
Exemplo n.º 8
0
 public void addAutosplit(AutoSplit autosplit)
 {
     this.settings.autosplits.Add(autosplit);
 }