mod作ってみたくなった(アンライトっぽいキャラ作りたい。無理と思うけど)
いまさらながら、と思う人も多いかもしれませんが、ダーケストダンジョンはたまにやると面白く、そしていろいろいじってみたくなるゲームなのです。
とりあえず、キャラクターを作るためのフォルダ構成を確認してみる。

フォルダ数字・・・他のMODと被らない数字にするのが条件っぽい
├audio:効果音の設定はクソ難しそうなので、慣れるまでやめた方がよさそう
├campaign:町で起こるイベントの設定?
├colours:多分エフェクト等発生した時のポップアップの色。無くてもそんなに問題にならないっぽい。
├effects:エフェクトの格納場所(エフェクトは戦闘スキルに追加する要素のこと)
├fx:タウンイベントにて表示されるヒーローの絵の設定…と思う
├heroes:ヒーローの基本的な情報格納場所。戦闘スキルの設定はここ
├inventory:ダンジョンに潜る時に基本として持たせるアイテムの設定場所…と思う
├localization:翻訳
├overlays:エフェクト等のアイコンの格納場所?
├panels:トリンケットやインベントリにて設定したアイテムのアイコンの格納場所…と思う
├raid:キャンプスキルの格納場所
├scripts:ポップアップとして表示される文字の出現場所や消えるタイミング等…と思う
├shared:バフの格納場所(バフは戦闘スキルの要素であるエフェクトに追加する要素のこと)
├trinkets:トリンケットの設定場所
└upgrades:ヒーローのレベルを上げる時の金額の設定など・・・と思う

他にもlootとかあるみたいだけどよくわからないので今は考えないでおく…

*まずはいじってみる [#tecf7b15]
とりあえず、スキルや抵抗等のパラメータをいじってみる。ここでは、個人的に一番使わないキャラクターであり、テストとして使いやすいcrusaderを用いることとする。
まずは、heroesフォルダを作り、その中にcrusaderフォルダを作る。
crusaderフォルダをコピーし、crusader.info.darkest以外を消す。
Steam\steamapps\common\DarkestDungeon\dlcに999999_crusaderというフォルダを作り、その中にheroesごとコピーする。
適当にpreview_icon.pngを作り、わかりやすくしておく。
作ったフォルダ内のcrusader.info.darkestを開き、smiteの項目のdmg 0%を100%に変更する。
ゲームを起動し、DLCを有効にするの中から【<str_dlc_title_crusader>】を選択し、ゲームを開始すると、dmg+100%の強打を持つクルセイダーが実装される…はず

#ref(2023-07-20 23_47_35-Darkest Dungeon.png)

できた。とりあえず考え方は間違っていないっぽい。
とりあえずDLC扱いとして実装しているので、MODのようにON/OFFが出来ないのが問題。MODでの実装をさせたいところだけどなぁ…

*MODとして登録してみる [#e7c56b93]
日本wikiを見てもさっぱりわからんかったので、公式の掲示板等を見てみた。結果としては、とりあえずsteamにアップする形を取りつつMODのテストをする感じらしい。
具体的には
C:\Program Files (x86)\Steam\steamapps\common\DarkestDungeon\_windows
ここに入っているsteam_workshop_upload.exeを起動する
すると、同じフォルダにsample_project.xmlが作られる
これをコピーして、Steam以外のところにフォルダを作り、そこに入れる(例:C:\modtest\)
ここにheroフォルダ等を入れる。構成としてはこんなかんじ
c:\modtest\sample_project.xml
c:\modtest\heroes\crusaderPW\crusader.info.darkest
さらに、適当にアイコンを作って入れておく。
c:\modtest\preview_icon.png
次にxmlファイルを編集する
 <?xml version="1.0" encoding="utf-8"?>
 <project>
	<ItemDescriptionShort/>
	<ModDataPath>c:/modtest</ModDataPath> //modを作ったフォルダ
	<Title>CrusaderPower</Title> //modの名前
	<Language>japanese</Language> //基本的な言語。まぁjapaneseでもたぶん問題ない
	<UpdateDetails>特にねぇな</UpdateDetails> //modの詳細。アップデートしたりしたらここに書いて置け的なかんじ
	<Visibility>private</Visibility> //テスト用ならprivateにする
	<UploadMode>direct_upload</UploadMode> //アップロードのモードの選択。たぶんそのままで良い
	<VersionMajor>0</VersionMajor> //自分の作ったmodのバージョン明記箇所
	<VersionMinor>0</VersionMinor> //自分の作ったmodのバージョン明記箇所part2
	<TargetBuild>0</TargetBuild> //modのビルドバージョン明記箇所
	<Tags>
		<Tags>tag1</Tags> //なんかタグ付けたいならここで。例えばskinとかそういうの
		<Tags>tag2</Tags> //上記に同じ
	</Tags>
	<ItemDescription>テスト用ですすみません</ItemDescription> //modの説明文書入れるところ。8000文字まで。
 </project>

こんなかんじで適当に作ったら、C:\Program Files (x86)\Steam\steamapps\common\DarkestDungeon\_windowsにあるsteam_workshop_upload.exeにxmlファイルをドラッグドロップする
そうすると自分のワークショップにmodが作られるので、サブスクライブしてテストする…んだけど

何故か失敗する(;´д`)

*なんで失敗するかわからん [#fe6ee726]
まったく失敗する理由がわからんのだけど、なんとなく日本語がダメじゃねぇのか?と予想を付けて書き直してみた
タグもtestという名前を付けてみると…
 <?xml version="1.0" encoding="utf-8"?>
 <project>
	<PreviewIconFile>preview_icon.png</PreviewIconFile>
	<ItemDescriptionShort/>
	<ModDataPath>c:/modtest/</ModDataPath>
	<Title>CrusaderPower</Title>
	<Language>english</Language>
	<UpdateDetails/>
	<Visibility>private</Visibility>
	<UploadMode>direct_upload</UploadMode>
	<VersionMajor>0</VersionMajor>
	<VersionMinor>0</VersionMinor>
	<TargetBuild>0</TargetBuild>
	<Tags>
		<Tags>test</Tags>
		<Tags>test</Tags>
	</Tags>
	<ItemDescription>sorry test</ItemDescription>
 </project>

これをアップしたら成功!

#ref(workshop_test.jpg)

やっとでちょっと進めた

*キャラクター追加を考える [#kfbe50ec]
こうなってきたらやはりキャラクターを作ってみたくなってくる
そこで、キャラクターを作るための最低要素を考えてみる
目標が決まっているので、スキルから考えてみると
レンジ攻撃(自傷的なアレ)
自己バフ(不死的なアレ)
レンジ攻撃(犬的なアレ)
レンジ攻撃(ナイフ的なアレ)
自己バフ(ヒロイン的なアレ)
レンジ攻撃(タコ的なアレ)
近接攻撃(鎌的なアレ)
の合計7つ
最も近しいデフォルトキャラは…墓荒しじゃないの?これ
顔面突き(近接攻撃)
突きさし(近接攻撃)
高速短剣投げ(レンジ攻撃)
影かくし(自己バフ)
短剣投げ(レンジ攻撃)
毒矢(レンジ攻撃)
毒素中和(自己バフ)
近接が2つあるけど最も近いかんじがするので、墓荒しを改造するMODで考えてみることにする

*最低限必要な要素を考える [#m5d40772]
キャラクター追加に必要と思われる要素は以下のものと思われる

├audio:無くてもなんとかなる・・・?
├campaign:とりあえず無し?
├colours:いらない
├effects:必要だけど・・・とりあえず無しで
├fx:いらない
├heroes:必須
├inventory:いらない
├localization:必要な気がするけど・・・
├overlays:いらない・・・と思う
├panels:必要かな・・・?
├raid:必須
├scripts:いらない
├shared:必要だけど・・・とりあえず無しで
├trinkets:とりあえず無し
└upgrades:必須

以上からheroes、localization、panels、raid、upgradesでキャラクターを作ることにする。
ここで問題なのがheroesの中のグラフィック。当然絵心無い自分がいきなり作るには無理がある&既存の墓荒しと同じになるとマズイので
墓荒しのグラフィック変更MODから絵を使わせてもらうことにする…プライベートだし許してください(;´д`)

ということで、グラフィックはなんとかなったものとする。
ここからが本当の闘いだ…!

[[heroes]]
[[upgrade]]
[[raid]]-[[loot]]

これで、とりあえず最低限度のキャラクターが完成
次は細かいところをいじっていきます
[[heroes2]]
[[localization]]

[[effect]]とりあえずメモ程度

[[trinket]]
[[buff]]

[[colours]]色指定するのに必要だった

[[絵]]なんとかしたいけど現状無理くさい
がんばってトリンケットを書いてみている途中…10月くらいにはトリンケットだけでも終わらせたい



更新→DD立ち上げ→テスト→後進→DD立ち上げ…がつかれたので[[mod test]]まだよくわからん(;´д`)

#comment