Ejemplo n.º 1
0
        private void getDataButton_Click(object sender, EventArgs e)
        {
            data = new PersonalData();

            if (webBrowser.Document == null)
            {
                labelNameValue.Text = "は?";
                return;
            }

            data.name = getElementValue("base.name");
            if (data.name == "" || data.name == null)
            {
                labelNameValue.Text = "まだページがロードされていないか、名前が空です";
                return;
            }

            labelNameValue.Text       = "◆出力中です";
            dataGettingProgress.Value = 0;

            data.肉体.value = int.Parse(getElementValue("baseAbility.body.subtotal"));
            data.感覚.value = int.Parse(getElementValue("baseAbility.sense.subtotal"));
            data.精神.value = int.Parse(getElementValue("baseAbility.mind.subtotal"));
            data.社会.value = int.Parse(getElementValue("baseAbility.society.subtotal"));

            data.肉体.children.Add(new TupleItem <string, int>("白兵", getElementValueAsInt("skills.hak.A.lv")));
            data.肉体.children.Add(new TupleItem <string, int>("回避", getElementValueAsInt("skills.kai.A.lv")));
            data.感覚.children.Add(new TupleItem <string, int>("射撃", getElementValueAsInt("skills.sha.A.lv")));
            data.感覚.children.Add(new TupleItem <string, int>("知覚", getElementValueAsInt("skills.tik.A.lv")));
            data.精神.children.Add(new TupleItem <string, int>("RC", getElementValueAsInt("skills.rc.A.lv")));
            data.精神.children.Add(new TupleItem <string, int>("意思", getElementValueAsInt("skills.isi.A.lv")));
            data.社会.children.Add(new TupleItem <string, int>("交渉", getElementValueAsInt("skills.kou.A.lv")));
            data.社会.children.Add(new TupleItem <string, int>("調達", getElementValueAsInt("skills.tyo.A.lv")));

            //ここからB技能(めんどくさい)
            int abilityNumber = 0;

            while (processNextBAbility(abilityNumber))
            {
                abilityNumber++;
            }

            dataGettingProgress.Value = 10;

            int comboNumber = 0;

            while (processNextCombo(comboNumber))
            {
                comboNumber++;
            }

            dataGettingProgress.Value = 20;

            var json = new DX3rdJsonData();

            string[] shifts = { "0%", "60%", "80%", "100%", "130%" };

            for (var i = 0; i < 5; i++)
            {
                var info = new DX3rdJsonData.SaveData.TabInfo();

                info.tabName = shifts[i];

                CreatePage(i, info);

                json.saveData.tabInfos.Add(info);
            }

            dataGettingProgress.Value = 50;

            var serializer = new DataContractJsonSerializer(typeof(DX3rdJsonData));
            var fs         = new FileStream($"{data.name}_CP.cpd", FileMode.Create);

            try
            {
                serializer.WriteObject(fs, json);
            }
            finally
            {
                fs.Close();
            }

            dataGettingProgress.Value = 100;
            labelNameValue.Text       = "◆出力が完了しました(exeと同じフォルダにあると思います)";
        }
Ejemplo n.º 2
0
        private void CreatePage(int addtional, DX3rdJsonData.SaveData.TabInfo item)
        {
            if (addtional == 0)
            {
                item.lines.Add($"1d10 登場侵蝕/リザレクション");
                item.lines.Add($"{(data.肉体.value+10)} タイタス昇華復活HP");
            }

            item.lines.Add($"-------- 肉体 --------");
            item.lines.Add($"({{{data.肉体.name}@0%}}+{addtional})dx {data.肉体.name}");
            foreach (var element in data.肉体.children)
            {
                item.lines.Add($"({{{data.肉体.name}@0%}}+{addtional})dx+{{{element.Item1}@0%}} {data.肉体.name}->{element.Item1}");
            }

            item.lines.Add($"-------- 感覚 --------");
            item.lines.Add($"({{{data.感覚.name}@0%}}+{addtional})dx {data.感覚.name}");
            foreach (var element in data.感覚.children)
            {
                item.lines.Add($"({{{data.感覚.name}@0%}}+{addtional})dx+{{{element.Item1}@0%}} {data.感覚.name}->{element.Item1}");
            }

            item.lines.Add($"-------- 精神 --------");
            item.lines.Add($"({{{data.精神.name}@0%}}+{addtional})dx {data.精神.name}");
            foreach (var element in data.精神.children)
            {
                item.lines.Add($"({{{data.精神.name}@0%}}+{addtional})dx+{{{element.Item1}@0%}} {data.精神.name}->{element.Item1}");
            }

            item.lines.Add($"-------- 社会 --------");
            item.lines.Add($"({{{data.社会.name}@0%}}+{addtional})dx {data.社会.name}");
            foreach (var element in data.社会.children)
            {
                item.lines.Add($"({{{data.社会.name}@0%}}+{addtional})dx+{{{element.Item1}@0%}} {data.社会.name}->{element.Item1}");
            }

            item.lines.Add($"-------- その他 --------");
            if (addtional == 0)
            {
                item.lines.Add($"衝動判定は 精神-意思");
            }

            item.lines.Add("");

            //コンボ
            if (addtional == 0)
            {
                foreach (var e in data.combos)
                {
                    item.lines.Add($"{e.ダイスu} 0%-99% [{e.名前}] 侵蝕値:{e.侵蝕u} 組み合わせ:{e.組み合わせu}");
                }
            }
            if (addtional == 3)
            {
                foreach (var e in data.combos)
                {
                    item.lines.Add($"{e.ダイスo} 100%-159% [{e.名前}] 侵蝕値:{e.侵蝕o} 組み合わせ:{e.組み合わせo}");
                }
            }

            //変数
            if (addtional == 0)
            {
                item.lines.Add($"-------- 変数 --------");
                item.lines.Add($"//{data.肉体.name}={data.肉体.value}");
                item.lines.Add($"//{data.感覚.name}={data.感覚.value}");
                item.lines.Add($"//{data.精神.name}={data.精神.value}");
                item.lines.Add($"//{data.社会.name}={data.社会.value}");

                item.lines.Add($"-------- 肉体 --------");
                foreach (var element in data.肉体.children)
                {
                    item.lines.Add($"//{element.Item1}={element.Item2}");
                }
                item.lines.Add($"-------- 感覚 --------");
                foreach (var element in data.感覚.children)
                {
                    item.lines.Add($"//{element.Item1}={element.Item2}");
                }
                item.lines.Add($"-------- 精神 --------");
                foreach (var element in data.精神.children)
                {
                    item.lines.Add($"//{element.Item1}={element.Item2}");
                }
                item.lines.Add($"-------- 社会 --------");
                foreach (var element in data.社会.children)
                {
                    item.lines.Add($"//{element.Item1}={element.Item2}");
                }
            }
        }