講座:ゾンビでも出来る!MODの作り方

0.はじめに


開発版での解説です。
安定版でも基本は変わりませんが、いくつか変更点があります。

「好みの武器がない」「新しい服が欲しい」「この世のものは全て食べ尽くしてしまった!」
そんな悩みを抱えてるそこのアナタ!いっその事自分で新しく作ってみませんか!?

Cataclysm:DDAのMODはとても簡単に作成出来ます。
複雑な物(電源オンオフ、モード切り替え等)は少々手間がかかりますが、基本的にはコピペ&改変だけととてもお手軽。
例えば日本刀を元に「切れ味の鈍いナマクラ」、ジーンズを元に「被覆率の低いダメージジーンズ」、リボルバーを元に「散弾を撃てるリボルバー」etc…
なんでも好きな様に作れます。
もちろん銃弾も追加できますし、敵や施設なんかも作れちゃいます。

しかしいざ作ろうにもお手本が少なく、あっても何がどう動いているのかちんぷんかんぷん。
入門には少しハードルが高いです。

そんな訳で今回は簡単なMOD作成方法について書いていきます。
基本さえ分かれば後はなんとなく分かっていけるはずです。
まずは第一歩、MOD制作101ですよ!

1.必要なもの

MOD作成と言うと、なにか特別なツールが必要と思うかもしれません。
ところがこのゲームの設定ファイルであるjsonは単なるテキストファイルなので、メモ帳さえあれば十分です。
とりあえずdata→json→itemsと開いていって適当なjsonファイルをメモ帳で開いてみてください。

ずらぁーっと英語が出てきましたね?それが各アイテムの設定です。
toolsであれば工具、armorなら防具の設定が入っています。

ではこれをコピペしてしてください!
…と言われても、どこからどこまでやればいいのかさっぱり分からないでしょう。
メモ帳では正しく表示されないので非常に作業がしにくいです。
という訳で他のテキストエディタを用意してください。格段に見やすさが変わります。
ちなみに私はMeryを使ってます。

用意できたら改めてjsonを開きましょう。今度は綺麗に表示されているはずです。
これで作成準備は完了、いつでも始められます!

2.下準備

それではここからMODの作成を開始します。
今回作るのは「ポケットが多く、少しかさばるジーンズ」です。
分かりやすさ重視だから微妙なのは仕方ない!

まず最初にMODを格納するフォルダを作成。
data→modsに適当にフォルダを作ってください。
とりあえず仮に「addjeans」とでもしておきます。
作成できたらそのフォルダを開き、新規テキストファイルを作りましょう。
その時ファイル名は「modinfo.json」にしてください。このファイルを元にゲーム側がMODを読み込みます。

modinfo.jsonを開き、以下のテキストをコピペしてください。


   {
       "type": "MOD_INFO",
       "mod_type": "SUPPLEMENTAL",
       "ident": "addjeans",
       "name": "Atarashii Jeans",
       "description": "Jeans.",
       "path": ""
   }


これでゲームに「ジーンズを追加するMOD」として認識させることができます。
改変する時に書き換えるのは、
"ident"(ゲーム側で読み取るためのID)
"name""description"(ゲーム内で表示されるタイトル、説明)
この3つのみです。

3.アイテム作成

次はジーンズ本体の作成。
modinfo.jsonと同じように「armor.json」を作成してください。
ここにMODジーンズを追加します。

作成できたらdata→json→items→armor.jsonを開いて、「"jeans"」で検索します。
するとジーンズの設定項目が出るので、modinfo作成時と同じように {(始め波括弧) から }(終わり波括弧) の間をコピーしましょう。
こんな感じです。


   {
       "type" : "ARMOR",
       "id" : "jeans",
       "name" : "jeans",
      (中略)
       "coverage" : 95,
       "material_thickness" : 2
   }


コピーしたものをさっき作ったarmor.jsonにペースト。
ここから細々と改変を加えていきます。

と、その前に一つやることが。
コピペしたら一番上の行に [(始め角括弧) 、一番下の行に ](終わり角括弧) を書き加えます。
こんな感じ。


[
   {
       "type" : "ARMOR",
       "id" : "jeans",
      (中略)
       "coverage" : 95,
       "material_thickness" : 2
   }
]


これが無いとゲーム側が混乱して設定を読み取れず、エラーを吐いてしまいます。
また、終わり波括弧の右に,(コンマ)が付いていてもエラーになるので、付いていたら消してください。


       "coverage" : 95,
       "material_thickness" : 2
   }, ←エラーの元
]


このカンマは「まだ続く」事を示すためのものなので、一番下の項目にこれを付けると底なし落とし穴になってしまいます。
見落としがちなので要注意!

角括弧とカンマを確認したら次の作業に入ります。


とりあえず収納量を増やしてみましょう。
"storage"で変更できます。
ポケットをいくつか増やし、収納量を5にしてみます。

       "storage" : 2,
        ↓
       "storage" : 5,

これで終わり。ね?簡単でしょう?
もっと増やせば四次元ジーンズも作れます。悪用厳禁。

同じように大きさや重さも変更します。
重さは"weight"、大きさは"volume"をいじりましょう。



       "weight" : 600,
        ↓
       "weight" : 800,



       "volume" : 8,
        ↓
       "volume" : 10,



ポケットが多くてかさばるオーダーメイドジーンズの出来上がり!
とは行きません。このままだと既存のジーンズを上書きしてしまいます。
新規アイテムとして追加したいのでそれでは困りますね。

"id"を適当に変えれば別物扱いになります。


       "id" : "jeans",
        ↓
       "id" : "testjeans",


判別用に名前も変更。
こちらは"name"から。



       "name" : "jeans",
        ↓
       "name" : "testjeans",



今度こそ完成しました。
ちゃんとゲーム中に出てくるか確認してみましょう!

4.ゲーム内で確認

この段階で確認するにはデバッグモードを使用します。
キーコンフィグで「Debug Menu」を設定しておいてください。
タイトル画面のHELP→List of all commands→下の方にあります。

次は新規ワールドでさっき作ったMODを読み込み。
ワールド名はtestとかにしておくと分かりやすいです。
適当に新キャラを作ってスタートしましょう。

始まったらデバッグモードを呼び出し、「Wish for an item」を選択。
一番下に「testjeans」があれば正常に追加できています。おめでとう!

もしスタート時にエラーが出た場合、前述した角括弧、コンマを確認してください。
大抵これが原因ですが、違う場合はエラーログを確認して修正しましょう。
分からなければ最初からやり直すのもありです。

そんな訳で無事に追加できました、が!
このままではデバッグモードでしか入手できない没アイテムのまま。
ゲーム中普通に出るようにして初めて完成と言えます。
ゾンビドロップ、スポーンさせる、制作する、といくつかあるので一通りやってみましょう。

5.ゲーム内に出す

ドロップアイテム、スポーンの場合は「item_groups.json」を使います。
今までと同じように作成し、下のテキストをコピペしてください。


[
 {
   "type" : "item_group",
   "id" : "dresser",
   "items":[
     ["testjeans", 70]
   ]
 },{
   "type" : "item_group",
   "id" : "pants",
   "items":[
     ["testjeans", 70]
   ]
 },{
   "type" : "item_group",
   "id" : "allclothes",
   "items":[
     ["testjeans", 70]
   ]
 }
]


上から「ドレッサー」「ズボン」「衣類」で、それぞれのリストに新ジーンズを追加するように設定してあります。
70%の確率でドレッサーやドロップから見つかります。
"id"を変えることで森や路上でも見つけられるようにできます。
data→json→item_groups.jsonを見ていればなんとなく分かると思います。

次は制作レシピの追加。
recipe.jsonをパッパと制作して以下コピペ。



[
{
       "type" : "recipe",
 "result": "testjeans",
 "category": "CC_ARMOR",
 "subcategory": "CSC_ARMOR_LEGS",
 "skill_used": "tailor",
 "difficulty": 0,
 "time": 45000,
 "reversible": false,
 "autolearn": true,
 "tools": [
   [
     [ "needle_bone", 10 ],
     [ "needle_wood", 10 ],
     [ "sewing_kit", 10 ]
   ]
 ],
 "components": [
   [
     [ "rag", 6 ]
   ]
 ]
}
]



追加したら制作メニューのARMOR→LEGSにtestjeansがあるかを確認してください。
裁縫スキル0でも作成できるようにしてあるので、いきなり作れるようになってるはずです。

適当すぎるのでここから手直し。
「裁縫スキルが2になったら自動習得、ジーンズと布数枚を材料にする」
としてみます。


 "skill_used": "tailor",
 "difficulty": 0,
      ↓
 "difficulty": 2,


"skill_used"が使用スキル、"difficulty"が必要レベルです。
この場合は「裁縫スキルが2必要」の設定になります。

"autolearn"をtrueにするとスキルアップ時に自動習得します。
falseだと本を読まないと覚えられません。今回は割愛。


 "components": [
   [
     [ "rag", 6 ]
   ]
 ]


 "components": [
   [
     [ "rag", 2 ]
   ],
   [
     [ "jeans", 1 ]
   ]
 ]



必要材料を「布6枚」から「布2枚とジーンズ1着」に変更。
後付でポケットを付けるイメージで。
ずっと下に続けていけばどんどん必要材料を増やすことができます。



 "components": [
   [
     [ "rag", 2 ],
     [ "jeans", 1 ]
   ]
 ]



これだと「布2枚orジーンズ1着」になります。
もちろん両方を組み合わせることも可能。

変更したらもう一度制作メニューで確認、ですが裁縫スキルを上げる必要があります。
いちいち上げるのも面倒なのでまたデバッグを使います。
Increase all skills→tailoring→2 で裁縫スキルを2に上昇。
制作できるようになっていればめでたくMODの完成!
お疲れ様でした!

6.最後に

とりあえずこれでMODは製作できます。
妙に長くなってしまいましたが、結局やることは 「いくつかファイルを作ってコピペして改変」 のみです。
まだまだ必要な知識はあるのですが、全部書くとなると膨大な量になってしまうのでここまでで。
いろいろjsonを眺めてみればどれがどういう効果なのかわかってくると思います。
急いで書いたので間違っている所もあるかもしれません。その場合はぜひ修正等お願いします。