Skip to content

MOD Tips

LISPCoC edited this page Jul 20, 2018 · 8 revisions

MOD作成時のTips

情報は0.C-7568現在のものです。

アイテムのJson属性値についての解説

OPTIONALと書かれているのは必ずしも設定する必要のないもの。

基本編(全アイテム共通の属性))

type

"type" : "GENERIC",

アイテムの種別を示す。
これによって特定の属性が使えたり使えなくなったりする。
各々どのような属性が使えるかは応用編で解説する。
※ゲームの表示上の分類とは関係ない?要調査。

説明
GENERIC 特別な属性を持たないプレーンなアイテム。布とか端切れ(革)のような素材や、ツールとしての性能を持たない近接武器が主にこれにあたる。
AMMO 弾薬。調味料とかにも使われている。
MAGAZINE 弾倉。銃の弾倉のほかUPSなども含まれる。
ARMOR 防具。
BOOK 本。一般書物、学習書(レシピ本)、武術書など。
COMESTIBLE 消耗品。薬品・食物など。
CONTAINER 容器。
GUN 銃。ハンドガン、ショットガン、ライフル等。
GUNMOD 銃器用MOD。
TOOL ツール類。ドライバーや溶接機など。刀などツールとしても使える近接武器はこっち。

id

"id" : "socks",

name

name_plural

"name" : "socks",
"name_plural" : "pairs of socks", // OPTIONAL

ゲーム中で表示される名称。name_pluralは複数形だが、日本語ではあまり使う機会はないかも。

container

"container" : "null", // OPTIONAL

アイテムのスポーン時に格納する容器のアイテムID。
ペットボトルを指定すれば、ペットボトルに入った状態でスポーンする。

color

symbol

"color" : "blue",
"symbol" : "[",

コンソールモードで表示されるシンボルの文字と文字色。
タイル環境でも使うことがあるので設定しておこう。

description

"description" : "Socks. Put 'em on your feet.",

ゲーム中で表示されるアイテムの解説。

phase

"phase" : "solid", // OPTIONAL

アイテムの形状。省略するとsolid(固体)になる。液体にしたい場合はliquidを設定する。

weight

"weight" : 350,

質量。単位はグラム。

volume

"volume" : 1,

容積。単位は0.25リットル。以下のような1ml単位の指定もできる。

 "volume": "2ml",

integral_volume

"integral_volume" : 0, // OPTIONAL

ほかのアイテムに内蔵した際に容積をどれだけ増やすか。ツール用MODや銃器用MODなど用。
指定方法はvolumeと同じ。

rigid

"rigid": false, // OPTIONAL

容器に対し指定する。falseにすると容積および動作制限が内容量と比例するようになる。
省略した場合はtrueになる模様。

price

"price" : 100, // OPTIONAL

価値。NPCとの取引との際に参照される。省略すると0になる?

material

"material" : ["COTTON"], //OPTIONAL 

アイテムの素材。
切断時に得られるアイテムの種類や、燃えやすさ、防具にした際の防御力など様々な要素に影響する。
省略すると素材はなしになる?
複数指定する場合は以下のように書く。1つだけ指定する場合はカッコ[]は必須ではないが、記法を統一する意味で付けたほうが良いだろう。

"material" : [ "veggy", "cotton" ], //OPTIONAL 

cutting

bashing

"cutting" : 0, // (Optional, default = 0)
"bashing" : -5, // (Optional, default = 0)

攻撃力。それぞれ斬撃、打撃の値を表す。省略すると0になる。
すべてのアイテムは武器にした際の攻撃力を持つ。 刺突属性は斬撃属性と排他になっており、アイテムのフラグに

to_hit

"to_hit" : 0, // (Optional, default = 0)

命中修正。省略すると0になる。
効果はおおよそプラス・マイナス1につきスキル1上昇・下降程度。

flags

"flags" : ["VARSIZE"], //OPTIONAL

アイテムのフラグ。設定したフラグの内容によってアイテムが様々な特殊効果を持つ。複数指定可。
特殊効果の内容については書ききれないので別の項で扱う。

magazine_well

"magazine_well" : 0, // (Optional, default = 0)

設定すると弾倉を装着した際に容積の増加を軽減する。

magazines

"magazines" : [
    [ "9mm", [ "glockmag" ] ],
    [ "45", [ "m1911mag", "m1911bigmag" ] ],
], // OPTIONAL

装着可能な弾倉。第一項が弾薬の種別で、第二項が具体的に適用できる弾倉。複数指定可。

explode_in_fire

"explode_in_fire" : true, // OPTIONAL

燃えた際に爆発を引き起こすか。省略すると爆発しない?

explosion

"explosion": {
    "power" : 10,
    "distance_factor" : 0.9,
    "fire" : true,
    "shrapnel" : {
        "count" : 10,
        "mass" : 10,
        "recovery" : 10,
        "drop" : "nail"
    }
},

爆発した際にどのような爆発を起こすかのデータ。
※よくわからないので調べてから詳細書きます。

応用編

アイテムの種別ごとに設定可能な特殊なフィールドを解説する。

応用編:弾薬(AMMO)

銃やツールに装填して使う弾薬。弾薬と言いつつ電池とか調味料とかにもこの種別が使われている。

ammo_type

"ammo_type" : "shot",

弾薬の種類を指定する。銃や弾倉は、設定した種別がこれと合わないと装填できない。
弾薬の種類は、ammo_types.jsonで定義されている。自分で新しく定義することも可能。
複数指定もできる。

"ammo_type": [ "signal_flare", "shot" ],

damage

"damage" : 18,

発射時の攻撃力。
@TODO ダメージ計算式の調査

pierce

"pierce" : 0,

貫通能力。高ければ防御力の高いキャラクターに大してもダメージを与えられる。

range

"range" : 5,

発射時の射程距離。実際の射程距離は発射する銃や弓などの射程距離にも影響される。

dispersion

"dispersion" : 0,

分散率。高ければ狙いをつけてから命中率が安定するまで時間がかかる。

recoil

"recoil" : 18,        // Recoil caused when firing

反動。高ければ発射してしばらく命中へのマイナス補正がかかる。

count

"count" : 25,

スポーン数の単位。この例ならまとめて25個出現する。

stack_size

"stack_size" : 50, // (Optional)

スタック数。同一タイルまたはインベントリに入れた際、このスタック数の単位でまとめられる。
スタックされた分の弾薬は1ターンでまとめて拾ったり移動できる。(他の種別のアイテムは個数分ターンがかかる)

effects

"effects" : ["COOKOFF", "SHOT"]

発射時に発生する特殊効果。フラグに応じて決定される。複数指定可。

フラグ 効果
ACIDBOMB 酸を飛ばす。
BEANBAG 敵をスタンさせる。
BLINDS_EYES 頭部に命中した際に敵を盲目にする。
BOUNCE
COOKOFF 引火した際に爆発する。
CUSTOM_EXPLOSION
DRAW_AS_LINE
EXPLOSIVE
EXPLOSIVE_BIG
EXPLOSIVE_HUGE
FLAME
FLARE
FLASHBANG
FRAG
INCENDIARY
LARGE_BEANBAG
LASER
LIGHTNING
MININUKE_MOD
MUZZLE_SMOKE
NAPALM
NOGIB
NO_EMBED
NO_ITEM_DAMAGE
NEVER_MISFIRES
PLASMA
RECOVER_[X]
RECYCLED
SHOT
SMOKE
SMOKE_BIG
STREAM
STREAM_BIG
TRAIL
WIDE

応用編:弾倉(MAGAZINE)

弾薬の入れ物。銃やツールの中には弾薬を直接装填するものと、弾倉に入れてから装填するものがあり、後者の場合はこちらが必要になる。
銃の弾倉のほか、UPSや自動車用のバッテリなどもこれにあたる。

ammo_type

"ammo_type": "223",

装填可能な弾薬の種類。弾薬のほうと同じで複数指定できる。

capacity

"capacity" : 15,

容量。装填できる弾薬の個数。

count

default_ammo

"count" : 0,
"default_ammo": "556",

スポーン時に最初から装填されている弾薬の量と、その種別(アイテムID)。

reliability

"reliability" : 8,

信頼性。低いとジャムが起きたりしやすくなる?

reload_time

"reload_time" : 100,

装填にかかる時間。単位は移動コスト。プレイヤーの速度が標準(100)なら6秒。

linkage

"linkage" : "ammolink"

指定した弾倉ベルトに繋ぐことができる?

応用編:防具(ARMOR)

防具の防御力は直接指定することはできず、アイテムの素材(materials)のデータと素材の厚さ(Material_thickness)などで自動的に決定される。
計算機があるのでそちらを使用して確認するとよい。

covers

"covers" : ["FEET"],

着用部位。上下一体のスーツなど、以下のように複数指定することも可能。

"covers" : ["LEGS", "TORSO"],

使えるフラグは以下。

フラグ 部位
ARMS 両腕。["ARM_L", "ARM_R"]に同じ。
ARM_L 左腕。
ARM_R 右腕。
EYES 目。
FEET 両足。["FOOT_L", "FOOT_R"]に同じ。
FOOT_L 左足。
FOOT_R 右足。
HANDS 両手。["HAND_L", "HAND_R"]に同じ。
HAND_L 左手。
HAND_R 右手。
HEAD 頭部。
LEGS 両脚。["LEG_L", "LEG_R"]に同じ。
LEG_L 左足。
LEG_R 右足。
MOUTH 口。
TORSO 胴体。

storage

"storage" : 0,

収納。着用中はこの値だけ収納が増加する。書き方はvolumeと同じ。

warmth

"warmth" : 10,

暖かさ。

environmental_protection

"environmental_protection" : 0,

環境防護。煙などの影響を防ぐほか、この値は火、酸、電撃耐性などにも影響する。

encumbrance

"encumbrance" : 0,

動作制限。高いと着用部位に応じてペナルティが発生。

coverage

"coverage" : 80,

被覆率。着用部位に攻撃が命中した際、防具が攻撃を防ぐ確率。
高ければそれだけ攻撃を防ぐが、同時に破損しやすくもなる。

material_thickness

"material_thickness" : 1 

素材の厚さ。単位はmmらしい。
防御力を決定する最重要パラメータであり、基本的にこの値に防御力が比例すると考えて間違いない。

power_armor

"power_armor" : false,

パワーアーマーであるかどうか。パワーアーマーの効果は別の項に記載するのでそちらを参照。

応用編:書物(BOOK)

max_level

"max_level" : 5,

学習できるスキルの最大レベル。

intelligence

"intelligence" : 11,

必要とされる知性。この値に達していないと読解時間にペナルティを受ける。

time

"time" : 35,

1回あたりの読解時間。単位は分。
例の通りなら速度が普通(100)で知性が標準的な場合、1回の読書に35分かかる。

fun

"fun" : -2,

読書1回あたりに得られる意欲。負の値にすると読み進めるほどどんどん意欲が下がっていく。

skill

"skill" : "computer",

読むことで成長するスキル。

chapters

"chapters" : 4,

章の数。1回の読書で1消費され、0になると意欲の上昇が半分になる。

use_action

"use_action" : "MA_MANUAL",

使用した際の動作。どのような種類があるかは後程解説する。
書物に関してはMA_MANUAL以外は設定しないほうが無難かもしれない。

required_level

"required_level" : 2

要求スキルレベル。この値に達していないと本からスキルを学ぶことはできない。
レシピを学ぶぶんには足りてなくても問題ない。

応用編:消耗品(COMESTIBLE)

addiction_type

"addiction_type" : "crack",

依存性。設定されていると使用した際に依存性が現れることがある。

設定値 内容
alcohol アルコール。酒類など。
amphetamine アンフェタミン。メタンフェタミンなど。
caffeine カフェイン。コーヒー、カフェイン材など。
cocaine コカイン。
crack 高純度コカイン
nicotine ニコチン。煙草など。
opiate ケシ。
sleeping pill 睡眠薬。

spoils_in

"spoils_in" : 0

保存期間。設定期間が過ぎると腐敗する。0に設定すると腐敗しなくなる。

use_action

"use_action" : "CRACK",

使用した際の動作。どのような種類があるかは後程解説する。

stim

"stim" : 40,

興奮作用。一定時間ステータスが上昇する。数値が高いほど効果が大きい。

comestible_type

"comestible_type" : "MED",

種別。ゲーム中での分類に使われる。
飲料(DRINK),食品(FOOD),薬品(MED)の三種類。

quench

"quench" : 0,

湿潤。高ければ使用した際に渇きが満たされる。負の値にすると逆に喉が渇く。

healthy

"healthy" : -2,

健康度への補正。健康度の下がるものばかり食べているとHPの回復が遅くなったり病気になりやすくなったりする。
公式ドキュメントのバージョンによっては"heal"とか書かれてたりするがこれは間違い。

addiction_potential

"addiction_potential" : 80,

依存症になる確率。

nutrition

"nutrition" : 0,

栄養。高いほど空腹が満たされる。

tool

"tool" : "apparatus",

使用するのに必要なアイテムのID。

charges

"charges" : 4,

スポーン時の残り使用回数。

stack_size

"stack_size" : 8,

最大使用回数。省略するとchargesの値が使われる。

stack_size

"fun" : 50

意欲への影響。高いほど意欲が上昇し、負の値なら意欲が下がる。

応用編:容器(CONTAINER)

contains

"contains": 200,

容積。volumeと指定方法は同じ。

seals

"seals": false,

再密封可能か。falseの場合は手に持たないと液体を装填することができない。
省略するとfalseが設定される。

seals

"watertight": false,

水密性。falseの場合は液体を装填することができない。
省略するとfalseが設定される。

seals

"preserves": false,

保存性。trueの場合は中に入っているものの腐敗が進まなくなる。
省略するとfalseが設定される。

応用編:銃器(GUN)

応用編:銃器MOD(GUNMOD)

応用編:ツール(TOOL)

発展編:アイテムに複数の機能を持たせる

アイテムに対し、xxxx_dataといった属性を与えると、本来の種別と違う種別でしか使えない属性を使うことができる。
例として水(water)は消耗品だが、以下のように弾薬としての属性も持っている。

"ammo_data": { "ammo_type": "water" },

パワーアーマーの効果

着用するアイテムにpower_armorのフラグがついている場合、以下の効果がある。
(ソースコード見ただけで検証してないので間違ってる部分はあるかも)

  • パワーアーマーが有効化されている場合は動作制限が-40される。
  • 胴体(TORSO)に装備するパワーアーマーの胴装備と同時に装備できないらしい。
  • パワーアーマー同士は同じ部位に装備できない。
  • 放射能への抵抗を持つ。
  • 傷つきにくい。(STURDYフラグと同じ)
  • 酸性雨の影響を受けない。
  • 素材による補強ができない。

素材による補強の効果

ケブラーや革、布、毛皮で装備を補強すると、以下の効果が得られる。

ケブラー・革

アイテムの内部フラグにそれぞれkevlar_padded, leather_paddedが追加される。
このフラグが立っていると以下の効果がある。(素材の厚さは、Jsonで定義されているmaterial_thicknessの値。隠しパラメータ)

  • 動作制限が[2 * 素材の厚さ * 被覆率]だけ上昇する。(切り上げ)
  • 斬撃耐性がケブラーの場合は[素材の厚さ * 2]、革の場合は[素材の厚さ * 1]上昇する。
    (防具がダメージを受けている場合はそれに比例して上昇量が下がる)
  • 打撃耐性が[素材の厚さ * 1]上昇する。(防具がダメージを受けている場合はそれに比例して上昇量が下がる)

布・毛皮

  • 暖かさが、布の場合は[35 * 被覆率]、毛皮の場合は[20 * 被覆率]だけ上昇する。
  • 動作制限が、布の場合は[1 + 3 * 被覆率]、毛皮の場合は[1 + 4 * 被覆率]だけ上昇する。