/AutoWeaponCalc

Primary LanguageC#MIT LicenseMIT

karashina_backgroupd

🖥️ AutoWeaponCalc (AWC) 🖥️

📜 概要

動画用にキャラの武器比較をつくるとき、いちいちgcsimのsubstat optimizerモードを何度も使って計算するのが面倒だったので、 一連の手順を自動化するために作ったコンソールアプリケーションです

config.txtの編成、ローテーションを使って、指定したキャラの武器ごとの個人DPSを計算し、csvに出力します

開発に関するご意見はIssueにてお受けしております

🧑‍💻 つかいかた

📥 事前準備

  1. gcsimのReleasesより、gcsim.exeをダウンロードする1
  2. ダウンロードしたgcsim.exeresource/execBinaryディレクトリに配置する

📊 実行方法

  1. 計算を行いたいgcsimのアクションリストをconfig.txtとして保存する
    参考

  2. 計算を行いたい聖遺物のセット効果の組み合わせをartifacts.csvに記述し、保存する
    参考

  3. 上記の手順で行ったconfig.txtartifacts.csvresource/inputへ移動させる

  4. run.batで起動

  5. mode selection(auto / manual) [ a | m ]
    モード設定です
    autoに設定するとこのあとの7と8にそれぞれ0yを入れて飛ばします

  6. Type the name of the character to calculate:
    計算したいキャラクターの名前を入力してください
    キャラ名はconfigファイルに記載のある通りに入力してください

  7. Type the weapon type of the character to calculate [sword|claymore|bow|catalyst|polearm] :
    キャラクターの武器種を設定してください(ここ手動ですごめんなさい)
    武器csvファイルの名前を指定しているだけなので別にcsvを用意して同じディレクトリにぶち込めば>カスタム武器リストをつくれます

  8. Type the refinement rank of the weapon to calculate [0=auto][1-5] :
    武器の精錬ランクを設定してください
    0にすると⭐5はR1、⭐4はR5で計算されます
    武器csvのrarityで管理しています(1=⭐5, 0=⭐4)

  9. Do you want to use artifact mode? [y|n]:
    聖遺物モードを使用するかの選択肢です
    使用する場合artifacts.csvに書かれている聖遺物を上から使ってそれぞれの武器DPSを計算します

🗂️ 構成ファイル説明

📝 構成ディレクトリ・ファイル一覧

構成ディレクトリ・ファイル名 説明
AutoWeaponCalc.sln 本プロジェクトのソリューションファイル
Dockerfile コンテナ環境を構築する際の設定ファイル
docker-compose.yml コンテナ環境を実行する際の設定ファイル
README.md この説明書きファイル
bin 実行可能バイナリ出力先ディレクトリ
out 実行後に生成される計算結果CSV出力先ディレクトリ
out/WeaponDps_◯◯_◯◯.csv or WeaponDps.csv 実行後に生成される計算結果CSV
WeaponDps_◯◯_◯◯.csvの場合は聖遺物セットの名前が入る
WeaponDps.csvは武器のみの計算の場合に出力されるファイル名
resource 実行時に使用するリソース(ファイルなど)の配置先ディレクトリ
resource/execBinary gcsimの実行可能バイナリの配置先ディレクトリ
resource/execBinary/gcsim.exe gcsimの実行可能バイナリ
resource/input 実行時に使用する設定値ファイルの配置先ディレクトリ
resource/input/artifacts.csv 実行時に計算したい聖遺物セットをまとめたCSVファイル

詳細内容聖遺物モードを使用する場合、2行目から、「<4セットか>,<聖遺物名1>,<聖遺物名2>」の様式で記述してください
<4セットか>
0: 4セットではない
1: 4セットである
<聖遺物名1> ここに書いたとおりにconfig.txtへ書き込まれます
<聖遺物名2> 4セットの場合0と入力してください
上から聖遺物ごとにCSVを分けて出力します
出力はWeaponDPS_聖遺物名.csvに出ます
resource/input/config.txt 実行時に計算したいgcsimのアクションリストを計算可能にした設定値ファイル

詳細内容gcsimのコンフィグファイルです
計算したいキャラの武器名に<w>、精錬ランクに<r>、聖遺物名に<a>、ピース数に<p>を力しておくと自動で置き換えて連続計算します
置き換えてほしくない場合は普通に書き込んでください
resource/input/example 実行時に使用する設定値ファイルサンプルをまとめたディレクトリ
resource/weaponData 実行時に使用する武器ごとの情報をまとめたCSVの配置先ディレクトリ
src ソースコードの配置先ディレクトリ
src/AWC.cs 本コンソールアプリケーションの本体コードファイル
src/common 共通処理のコードの配置先ディレクトリ
src/config 定数や設定値などのコードの配置先ディレクトリ
src/enum 列挙型のコードの配置先ディレクトリ
src/interface インターフェースのコードの配置先ディレクトリ
src/module インターフェースを実装したコードやアプリケーション機能に関わるコードの配置先ディレクトリ
test テスト関連の配置先ディレクトリ
test/dummyText テストに使用するダミーデータの配置先ディレクトリ
test/methods メソッドごとに記述したテストコードの配置先ディレクトリ

📁 ディレクトリ・ファイル構造

.
├── AutoWeaponCalc.sln
├── Dockerfile 
├── docker-compose.yml 
├── README.md
├── bin 
│   ├── AutoWeaponCalc 
│   ├── AutoWeaponCalc.deps.json
│   ├── AutoWeaponCalc.dll 
│   ├── AutoWeaponCalc.pdb
│   └── AutoWeaponCalc.runtimeconfig.json
├── out 
│   └──WeaponDps_◯◯_◯◯.csv or WeaponDps.csv 
├── resource 
│   ├── execBinary 
│   │   └── gcsim.exe or gcsim binary 
│   ├── input
│   │   ├── artifacts.csv
│   │   ├── config.txt 
│   │   └── example
│   └── weaponData 
│       ├── bow.csv
│       ├── catalyst.csv
│       ├── claymore.csv
│       ├── polearm.csv
│       └── sword.csv
├── src 
│   ├── AWC.cs 
│   ├── AutoWeaponCalc.csproj
│   ├── common 
│   ├── config 
│   ├── enum 
│   ├── interface 
│   └── module 
└── test 
    ├── dummyText
    └── methods

📃 起動例

mode selection(auto / manual) [a|m] :
a
Type the name of the character to calculate:
xingqiu
Type the weapon type of the character to calculate [sword|claymore|bow|catalyst|polearm] :
sword
Substat optimization in progress...
Substat optimization completed
mistsplitterreforged:14559.18
Substat optimization in progress...
Substat optimization completed
            ︙
            ︙
Substat optimization in progress...
Substat optimization completed
dullblade:7163.31
Calculation completed for artifact sr
Substat optimization in progress...
Substat optimization completed
mistsplitterreforged:14522.15
Substat optimization in progress...
Substat optimization completed
aquilafavonia:12590.48
            ︙
            ︙
Substat optimization in progress...
Substat optimization completed
dullblade:7871.13
Calculation completed for artifact gd

Footnotes

  1. Windows以外の場合は別途案内(予定)