Darkest Dungeon®代码修改详解

这个游戏很多代码都是可以直接修改的,我把我知道的修改内容写在这里

有言在先

1.修改代码用txt打开.json之类的文件就能更改了,但改过后的格式绝对不能错!请务必小心!

2.本文以极暗难度为准,明耀和血月的数据在modes文件夹内的对应位置

3.游戏里的很多概率是用数字表示所占份额的,而非百分比,比如a,b,c分别对应1,2,3,则c的概率是3/(1+2+3)=50%

4.游戏在线更新时有时会覆盖一些文件,使修改失效,改过之后最好备份一下

5.文件位置:
内容 Steam/steamapps/common/DarkestDungeon
存档 Steam/userdata/···/262060
mod steam/teamapps/orkshop/ontent/62060

6.参考资料:
steam攻略

点击:http://darkestdungeon.gamepedia.com/Darkest_Dungeon_Wiki


list: https://steamcommunity.com/sharedfiles/filedetails/?id=1095670238/

7.来源
tieba点baidu点com杠p杠5257060255
这篇贴吧也是我写的……而且有很多的回答,可以的话先看这个

目录

1.物品价值、堆叠与背包大小
2.建筑效果与花费
3.祖产转换与建筑升级
4.补给供应与初始物资
5.杂项设定
6.buff相关
7.effect相关
8.饰品
9.折磨与美德
10.怪癖与疾病
11.英雄相关
12.敌人相关
13.副本相关
14.城镇事件
15.战利品
16.区域建筑
17.汉化相关

1.物品价值、堆叠与背包大小

文件夹 inventory

补给 base.supply.inventory.items .darkest
任务用品 base.quest_item.inventory.items .darkest
饰品 背包 base.inventory.system_configs .darkest
宝石 base.gem.inventory.items .darkest
钱 祖产 base.currency.inventory.items .darkest
古董商人额外钱 base.inventory.extra_stack_limits.darkest

标准格式:
inventory_item:
.type "物品类型"
.id "物品名"
.base_stack_limit 最大堆叠数
.purchase_gold_value 购买价格
.sell_gold_value 卖出价格
卖出价格为零的物品不会出现在战利品页

例子(圣水):
inventory_item: .type "supply" .id "holy_water" .base_stack_limit 6 .purchase_gold_value 150 .sell_gold_value 15

金钱最大堆叠
inventory_item: .type "gold" .id "" .base_stack_limit 金钱最大堆叠数 .purchase_gold_value 0 .sell_gold_value 0

背包大小
inventory_system_config: .type "raid" .max_slots 背包格数 .use_stack_limits true

2.建筑效果与花费

文件夹 campaign/town/buildings

教堂 abbey
铁匠铺 blacksmith
生存大师 camping_trainer
墓园 graveyard
公会 guild
游牧民货车 nomad_wagon
疗养院 sanitarium
驿站马车 stage_coach
先祖回忆录 statue
酒馆 tavern

每个文件的开头包含了该建筑出现的条件:
"requirements":
{
"number_of_quests_finished": 副本完成数,
"highest_dungeon_level": 副本最高等级数


2.1教堂和酒馆

文件夹里的文件用txt打开后分为3段,分别对应教堂和酒馆的上中下三个项目

每个项目的前一段写明了英雄享受相关项目时可能发生的额外事件和概率:

标准格式:
{
"type": "事件名",
"chance": 概率,
"data":[内容]
},

全部事件:
事件 type
不能用 activity_lock
玩失踪 go_missing
获得怪癖 add_quirk
获得buff apply_buff
输钱 remove_currency
获得饰品 add_trinket
失去饰品 remove_trinket

中间一段"type": "not_have_quirks",记录的是与该项目冲突的怪癖

下面一段记录的是建筑升级的内容,每一块从上到下分别是刚开始、第一次升级、第二次升级的效果
"cost_upgrades": (英雄享受所需金钱)
"slot_upgrades": (位置个数升级)
"stress_upgrades": (回复压力数值)

2.2 铁匠铺、生存大师和公会
这三个的升级里都只有折扣升级,折扣是累积的,四次0.1加起来就是六折


2.3 游牧民货车
"number_of_trinkets_upgrades" : (饰品数量升级)
"trinket_cost_discount_upgrades" : (折扣升级)
"rarity_generation_table" : (稀有物品概率)


2.4 疗养院
分为两部分,上面是怪癖相关,下面是治疗疾病

怪癖("treatment"):
"positive_quirk_cost_upgrades": [ (锁定正面怪癖花费)
"negative_quirk_cost_upgrades": [ (去除负面怪癖花费)
"permanent_negative_quirk_cost_upgrades": [ (去除锁定负面怪癖花费)
"slot_upgrades": [ (位置个数)

疾病("disease_treatment"):
"disease_quirk_cost_upgrades": [ (去除疾病花费)
"disease_quirk_cure_all_chance_upgrades": [ (全去除概率)
"slot_upgrades": [ (位置个数)


2.5 驿站马车
"first_hero_classes" : (第一次的两个英雄)
"number_of_recruits_upgrades": (每次的提供英雄数量)
"roster_size_upgrades" : (英雄名单数量)
"upgraded_recruits_upgrades" : (英雄等级概率与自带技能)

3.祖产转换与建筑升级

祖产转换文件:campaign/heirloom_exchange/heirloom_exchange.json
其中记录了四种祖产从一种转换到其他三种所需数量和转换后数量

标准格式:
{
"exchange_from_type": "转换前祖产",
"exchange_from_amount": 数量,
"exchange_to_type": "转换后祖产",
"exchange_to_amount": 数量
},

例子(5半身像转3契约):
{ "exchange_from_type": "bust", "exchange_from_amount": 5, "exchange_to_type": "deed", "exchange_to_amount": 3 },

建筑升级文件夹:upgrades/building
每个文件夹对应一个建筑,记录了每个升级需要的祖产

标准格式:
{
"code" : "升级代号",
"currency_cost" :
[
{ "type" : "gold", "amount" : 金钱数量},
{ "type" : "祖产名", "amount" : 数量}
],
"prerequisite_requirements" :
[
升级先决条件
]
},

升级代号的字母对应建筑效果里的升级

4.补给供应与初始物资

文件 campaign/provision/provision.json

文件最上面5块内容分别是各个长度副本开始时的自带物品,也就是免费给的木柴,可以在这里修改数据使得副本开始就能获得免费补给和更多的木柴

标准格式:
{ "type": "物品类型", "id": "物品名", "amount": 数量 },

中间段是各个英雄自带的免费物品,比如可以修改训犬带的狗粮(dog_treats)的数量

再下面的5块是各个副本小卖铺卖的东西的数量,把上面的
{ "type": "supply", "id": "firewood", "amount": 0 },
代码复制到这里就能使小卖铺卖木柴,定价会根据之前说到的物品购买价格的文件来

最下面是各个副本的最少食物

5.杂项设定

文件shared/rules.json
里面记录了游戏内各个基础效果的详细概率和设定,我只给出第一行的内容以便查找,详细的参考英文描述

第一行 设定
cutoffAlwaysMis 命中
excessCritMult 暴击
player_crit_multiplier_table 暴击伤害和增减压
combat_retreat_chance 战斗撤退
passed_turn_stress_dmg 跳过回合压力
deaths_door_self_stress_chance 死门压力
hallway_per_tile_stress_damage_fwd 走廊压力
killing_blow_relief_chance 消灭敌人减压
effectiveDifficultyDungeonStartingStress地牢开始时受到压力
affliction_base_onset_chance 折磨/美德概率
stress_affliction_resisted 折磨压力
curioTriggerChance_low 手贱概率
quirks_max_positive 怪癖上限
quirks_max_locked_positive 锁定怪癖上限
quirk_negative_locked_after_turn_count负面怪癖锁定
disease_after_quest_min_resolve_level副本后疾病
dotHallwayStepRatio 走廊减火炬
darkness 各个火炬值附加效果
provision_hp_heal 食物回复
hallway_hunger_starve_HPdmg 饥饿伤害
meals_table 扎营食物
camp_restore_torch 扎营相关
scouting_enter_dungeon_scout_chance侦查
death_party_stress_chance 阵亡压力
max_provisions_before_full 吃食物上限
surprise_corridor_party_base_chance 惊吓
ambush_camping_base_chance 夜袭概率
stall_party_size_threshold 拖延

6.buff相关


文件 shared/buffs/base.buffs.json
buff是effect、技能和饰品的基础,在游戏中起到改变数值的效果。游戏中的一些效果有上下限,可以在上面说到的rule文件里查找修改

标准格式
{
"id" : "名称",
"stat_type" : "效果类型",
"stat_sub_type" : "效果子类型",
"amount" : 改变数值,
"duration_type" : "持续类型",
"duration" : 持续时间, (这两行只有特殊持续buff才有)
"remove_if_not_active" : false,
"rule_type" : "触发条件",
"is_false_rule": false, (触发条件是否相反)
"rule_data" : {
"float" : 触发数值,
"string" : "触发补充"
},
"is_clear_debuff_valid": false (是否可以清除,可以省略)
},

把"is_false_rule"改为”true”就是相反的触发条件

示例 美德概率增加500%
{
"id" : "ha_ha_ha",
"stat_type" : "resolve_check_percent",
"stat_sub_type" : "",
"amount" : 5,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},

6.1效果类型一览

hp_heal_amount 治疗恢复
hp_heal_percent治疗技能
hp_heal_received_percent获得治疗
combat_stat_multiply(max_hp血量damage_low最低伤害damage_high最高伤害)
combat_stat_add(crit_chance暴击attack_rating命中defense_rating闪避protection_rating防御speed_rating速度)
resistance(stun眩晕抗move位移抗poison腐蚀抗bleed流血抗disease疾病抗debuff减益抗death_blow死门抗trap陷阱抗)
poison_chance腐蚀技能
bleed_chance流血技能
stress_dmg_percent施加压力
stress_dmg_received_percent受到压力
stress_heal_percent减压技能
stress_heal_received_percent受到减压
party_surprise_chance小队被吓
monsters_surprise_chance敌人被吓
ambush_chance伏击
scouting_chance侦察
starving_damage_percent饥饿伤害
upgrade_discount(armour护甲折扣weapon武器折扣combat_skill技能折扣camping_skill扎营折扣)
damage_received_percent受到伤害
debuff_chance减益技能
resolve_check_percent美德
stun_chance眩晕技能
move_chance位移技能
remove_negative_quirk_chance移除负面怪癖
food_consumption_percent食物消耗
resolve_xp_bonus_percent获得经验
activity_side_effect_chance城镇活动额外效果(add_currency 获得金钱 remove_currency 失去金钱 add_trinket 获得饰品 remove_trinket 失去饰品 activity_lock 行动锁定 )
vampire_evolution_duration 延长猩红诅咒渴血状态
quirk_evolution_death_immune 免疫因猩红诅咒而死亡
disable_combat_skill_attribute 技能无效( heal治疗 buff增益 debuff减益 bleed流血 poison腐蚀 stun眩晕 tag标记 stress压力 move位移 disease疾病 guard守护)
guard_blocked 无法被守护
tag_blocked 无法被标记
ignore_protection 穿甲
crit_received_chance 被暴击几率
stress_on_miss 攻击未击中压力
stress_from_idle_in_town 城镇闲置一周压力
shard_reward_percent 给予的碎片
shard_consume_percent 碎片战利品
damage_reflect_percent 伤害反弹
ignore_stealth 无视潜行
random_target_attack_chance 随机目标几率
transfer_debuff_from_attacker_chance 受到攻击时吸收减益效果的几率

6.2触发条件一览
always总是触发
skill 特定技能 触发补充:技能名
riposte 反击时
rangedonly 远程技能
meleeonly 近战技能
actorStatus 敌人状态 触发补充:负面状态poisoned/bleeding/stunned/tagged
monsterType 敌人种类 触发补充:种族类型unholy/man/beast/eldritch/vampire/corpse
monsterSize敌人体型 触发数值:所占格数
firstroundonly 第一回合
in_camp 扎营状态
in_dungeon 所在区域 触发补充:区域名cove/crypts/darkestdungeon/town/warrens/ weald
in_activity 减压活动触发补充:活动名prayer/flagellation/bar/gambling/brothel
in_room 在房间里
in_corridor 在走廊上
at_deaths_door 死门状态
in_rank自己站位 触发数值:位置数-1英雄站位从左到右是4321,敌人则是1234
hpbelow血量小于 触发数值:血量百分比
hpabove血量大于 触发数值:血量百分比
lightbelow火把小于 触发数值:火把数
lightabove火把大于 触发数值:火把数
stress_below压力小于 触发数值:压力数
stress_above压力大于 触发数值:压力数
virtued 美德状态
afflicted 折磨状态
is_vampire 感染猩红诅咒
target_is_vampire 对战血裔
has_quirk 拥有怪癖触发补充:怪癖名
walking_backwards 后退时
in_mode 在模式下触发补充:模式名
is_guarded 被守护时
target_is_guarded 目标被守护时
is_guarding 守护别人
is_stealthed 潜行状态下
target_is_stealthed 目标在潜行状态下
has_item_id 拥有物品触发补充:物品名
has_item_type拥有物品类型 触发补充:物品类型
is_actor_status 人物状态触发补充:状态tagged/poisoned/ bleeding/stunned
no_trinkets 不佩戴饰品
attacking_monster_type 受到攻击触发补充:unholy/man/beast/eldritch/vampire/corpse

6.3持续时间
round 回合结束
combat_end战斗结束
quest_end副本结束
quest_complete 副本完成
quest_not_complete 副本未完成
activity_end减压活动结束
till_removed直到被移除

7.effect相关

文件 effects/base.effects.darkest
effect除了表示英雄与敌人的技能里基础伤害与治疗以外的附加效果,也会出现在地图中的物品互动和一些游戏事件中

标准格式:
effect:
.name "效果名"
.target "指向"
.curio_result_type "positive(正面效果)/negative(负面效果)"
.chance 概率%
.效果内容1 .效果内容2 .效果内容3 ……
.on_hit true(命中生效)/ false(命中不生效)
.on_miss false(没命中不生效)/ true(没命中生效)
.can_apply_on_death true(可以对尸体生效)/(不生效此句可以省略)
.queue true (该效果是否最后结算)(不是刻意设定此句可以省略)


例子(让目标后退三格):
effect: .name "gun" .target "target" .push 3 .chance 100% .on_hit true .on_miss false .can_apply_on_death true

7.1效果描述

效果指向
技能使用者:performer
技能目标:target
技能使用者所在团体:performer_group
技能目标所在团体:target_group
除了技能使用者的使用者所在团体的其他人:performer_group_other
除了目标的目标所在团体的其他人:target_group_other
火把:global


7.2在effect中引用buff

所有的buff都可以在效果内容中用.buff_ids加上buff名称来引用,如果buff文件里没有设定,则默认只持续3回合,可以在内容后面加上.duration 5 来设定持续5回合,如果改成-1则是持续到扎营

示例(目标增加500%美德概率):effect: .name "ha" .target "target" .chance 100% .buff_ids ha_ha_ha .on_hit true .on_miss false

一些buff也可以经过变换直接添加到 effect里

变换格式:

"stat_type" : "combat_stat_add",
"stat_sub_type" : "*****",
变为 .combat_stat_buff 1 .*****_add 1%

"stat_type" : "combat_stat_multiply",
"stat_sub_type" : "*****",
变为.combat_stat_buff 1 .*****_multiply 10%

"stat_type" : "*****_percent",
"stat_sub_type" : "",
变为.buff_type *****_percent .buff_amount 20%

示例(提高暴击率与伤害):effect: .name "ni bei qiang hua le 1" .target "target" .curio_result_type "positive" .chance 100% .combat_stat_buff 1 .crit_chance_add 1% .combat_stat_buff 1 .damage_low_multiply 10% .damage_high_multiply 10% .on_hit true .on_miss true .apply_once false .queue false


7.3效果内容一览
.combat_stat_buff 1 在使用时触发
.dotBleed 流血
.dotPoison腐蚀
.dotStress持续压力
.stress n 受到n点压力
.healstress n 减少n点压力
.buff_idsbuff名 引用buff
.duration持续时间
.dotHpHeal持续回复
.heal n回复n点生命
.heal_percentn回复100n%生命值
.cure 1治愈腐蚀流血
.cure_bleed 1治愈流血
.cure_poison 1治愈腐蚀
.clearDotStress1 清除持续压力
.tag1标记
.untag1清除标记
.stun 1 眩晕
.unstun1清除眩晕
.keyStatus tagged/poisoned/bleeding/stunned 目标状态
.riposte1 反击
.riposte_effect effect名 反击额外效果
.clear_riposte1 去除反击
.guard1守护
.clearguarding1守护别人
.clearguarded1 被守护
.torch_decrease n火把减少n
.torch_increase n火把增加n
.dotShuffle1 扰乱
.push n推n格
.pull n拉n格
.shuffletarget 扰乱单体
.shuffleparty 扰乱群体
.instant_shuffle1 扰乱单体
.buff_amountbuff数量
.buff_duration_typebuff持续类型
.swap_source_and_targettrue 互换这个effect的使用者和目标
.kill1立即消灭
.control1 精神控制(敌人专用)
.uncontrol1 解除控制
.kill_enemy_typescorpse清除尸体
.monsterType unholy/man/beast/eldritch/vampire/husk 敌人种类
.disease疾病名 获得疾病
.remove_vampire1 去除猩红诅咒
.summon_monsters敌人名 召唤敌人
.summon_chances召唤概率
.summon_ranks召唤位置
.summon_limits最多召唤数量
.summon_count召唤数量
.summon_erase_data_on_roll true 召唤去除数据
.summon_can_spawn_loot1 召唤的敌人掉落战利品
.summon_rank_is_previous_monster_class1 召唤等级是原先的等级
.summon_does_roll_initiatives1 不清楚
.crit_doesnt_apply_to_rolltrue 不清楚
.set_modebeast/human 转换形态
.can_apply_on_deathtrue 可以对尸体使用
.apply_oncetrue 不清楚
.apply_with_resulttrue 不清楚
.source_heal_typehero_skill 治疗来源:英雄技能
.health_damage n 减n伤害
.has_descriptiontrue 拥有描述
.stealth1 潜行
.unstealth1 退出潜行
.clear_debuff1 清除debuff
.health_damage_blocksn n次护体阻挡
.buff_source_typebuff来源类型

8.饰品

文件trinkets/base.entries.trinkets.json
几乎所有的饰品都可以把名字间的空格换成“_”来搜到,搜不到的只能试试搜一下稀有度和限定职业,比如憎恶和古商的职业饰品分别是padlock_1~5和antiq_1~5

标准格式:
{
"id" : "饰品名",
"buffs" :
[
"饰品所带buff名称1",
"饰品所带buff名称2",
……
"饰品所带buff名称n"
],
"hero_class_requirements":
[
"限定英雄" (中立饰品没有这一行)
],
"rarity" : "稀有等级",
"price" : 价值数,
"limit" : 1, (限定数,设为0则可以无限拥有)
"origin_dungeon" : "来源地", (没有就不填)
"饰品效果":(只有特殊饰品有)
[
"effect"
]
},
buff可以直接引用,注意不要漏了引号和逗号,最后一个没有逗号,注意!
饰品效果一览:
attack_skill_additional_effects 命中额外效果
friendly_skill_additional_effects 友军技能额外效果
kill_performer_additional_effects 消灭目标额外效果
kill_all_monsters_additional_effects 消灭目标其他敌人效果
was_killed_all_heroes_additional_effects 被杀额外效果

例子(先祖大衣):
{
"id" : "ancestors_coat",
"buffs" :
[
"TRINKET_DEF_B4",
"TRINKET_ANCESTOR_STRESSDMG"
],
"hero_class_requirements":
[
],
"rarity" : "ancestral",
"price" : 50000,
"limit" : 1,
"origin_dungeon" : ""
},

9.折磨和美德

文件shared/trait/trait_library.json
记录了在折磨或美德状态下获得的额外效果

标准格式:

{
"id" : "折磨/美德名",
"overstress_type": "affliction(折磨)/ virtue(美德)",
"curio_tag" : "none", (互动物品)
"curio_tag_chance" : 0.5, (互动概率)
"keep_loot" : false, (互动后是否占为己有)
"buff_ids" : (buff效果)
[
"buff效果名1",
"buff效果名2",
……
"buff效果名n"
],
"combat_start_turn_act_outs": (回合开始时行动)
[
{ "id": "行动1", "data": { "number_value": 0.0, "string_value": "效果" }, "chance": 概率},
{ "id": "行动2", "data": { "number_value": 0.0, "string_value": "效果" }, "chance": 概率},
……
{ "id": "行动n", "data": { "number_value": 0.0, "string_value": " 效果" }, "chance": 概率}
],
"reaction_act_outs": (拒绝与压力相关)
[
{ "id": "block_拒绝做的事", "data":{ "effect": "" }, "chance": 概率},
……
{ "id": "comment_压力触发事件", "data":{ "effect": "BarkStress" }, "chance": 概率},
……
{ "id": "block_effect", "data":{ "effect": "BarkStressHeal" }, "chance": 0} (压力回复)
]
},


1.所有连排写的句子最后都要加逗号,最下面的句子不加
2.除了压力触发事件的概率是百分比,其他的都是用整数表示份额
3."number_value": 0.0 (效果数额,用于自残和自愈的血量百分比)
4.压力触发和回复是用 effect"BarkStress"、"BarkStressHeal"实现的

10.怪癖与疾病

文件shared/quirk/quirk_library.json
冲突怪癖一般会写在相应怪癖的下面

标准格式:
{
"id" : "怪癖名",
"show_explicit_buff_description" : true, (是否在介绍里显示buff效果)
"show_flavor_description" : false, (是否在介绍里显示预设定的句子)
"show_explicit_curio_tag_description" : false, (是否显示互动效果)
"random_chance" : 1, (随机获得概率,0就是无法在副本结束时获得)
"is_positive" : true, (是否正面效果)
"is_disease" : false, (是否是疾病)
"classification" : "physical", (怪癖类型)
"incompatible_quirks" : (冲突怪癖)
[
"冲突怪癖名"
],
"curio_tag" : "", (互动类型)
"curio_tag_chance" : 0.0, (互动概率)
"keep_loot" : false, (互动后占为己有)
"buffs" : (怪癖buff)
[
"buff名"
]
},

1.怪癖介绍的设置用于一些需要特殊解释的怪癖,比如手贱怪癖
2.怪癖类型分为physical 生理(血量低容易得)和mental 心理(压力高容易得)

例子(黑死病):
{
"id" : "the_black_plague",
"show_explicit_buff_description" : true,
"show_flavor_description" : false,
"show_explicit_curio_tag_description" : false,
"random_chance" : 1,
"is_positive" : false,
"is_disease" : true,
"classification" : "physical",
"incompatible_quirks" :
[
],
"curio_tag" : "",
"curio_tag_chance" : 0.0,
"keep_loot" : false,
"buffs" :
[
"BLIGHTRESIST-75",
"DISEASERESIST-75",
"MAXHP-10",
"SPD-5"
]
},

11.英雄相关

11.1英雄数据

hero目录下
咒缚者 abomination
古董商人 antiquarian
弩手 arbalest
赏金猎人 bounty_hunter
十字军 crusader
盗墓贼 grave_robber
蛮族战士 hellion
强盗 highwayman
训犬师 houndmaster
小丑 jester
麻风剑客 leper
老兵 man_at_arms
神秘学者 occultist
瘟疫医生 plague_doctor
修女 vestal

dlc目录里
苦修者 flagellant
破盾者 shieldbreaker
火枪手 musketeer

每个文件夹对应一个英雄,包含了外观、数据、技能、动画效果,数据和技能记录在英雄名.info.darkest文件里,上面和最下面是英雄的数据,中间是技能

标准格式
上面部分,包括抗性与武器、护甲升级内容
resistances: .stun 晕抗% .poison 毒抗% .bleed 血抗% .disease 病抗% .move 位移抗% .debuff 减益抗% .death_blow 死门抗% .trap 陷阱抗%
weapon: .name "英雄名_weapon_0" .atk 命中% .dmg 伤害下限 伤害上限 .crit 暴击% .spd 速度
……
armour: .name "英雄名_armour_0" .def 闪避% .prot 防御 .hp 血量 .spd 速度
……
下面部分
tag: .id "heavy(重型)/ light(轻型)"
tag: .id "religious(信教)/ non-religious(不信教)"
deaths_door: .buffs 死门时减益 .recovery_heart_attack_buffs 死门后减益
controlled: .target_rank 推荐站位
id_index: .index 英雄编号
skill_selection: .can_select_combat_skills true .number_of_selected_combat_skills_max 技能个数
overstressed_modifier:.override_trait_type_ids 压力过高时的折磨和美德 .override_trait_type_chances 触发概率
activity_modifier:城镇活动触发事件
hp_reaction:生命值技能
death_reaction:英雄亡语
quirk_modifier:怪癖
generation:初始技能、怪癖与扎营技能数量
incompatible_party_member:不能组队英雄

11.2英雄技能

技能结构:buff→ effect→技能
技能分为以下类型:

造成伤害/buff/其他效果:
combat_skill:
.id "技能名"
.level 技能等级
.type "melee" (技能类型melee近战/ ranged远程)
.atk 命中%
.dmg 伤害增加率% (0%代表100%的伤害,-40%代表60%的伤害)
.crit 暴击%
.move 后退格数 前进格数 (向前位移的话向后就为0,不位移可省略)
.launch 4321 (使用位置)
.target 1234 (目标位置,加@代表友方,加~代表aoe,没有数字代表对自己释放)
.is_crit_valid True (可以暴击)
.ignore_stealth true (是否忽略潜行)
.effect " effect1" " effect2" " effect3" …… (不能超过4个)
.generation_guaranteed true (初始必有该技能,不是可以省略)

例子:combat_skill: .id "ping kan" .level 0 .type "melee" .atk 100% .dmg 0% .crit 0% .move 0 3 .launch 4321 .target 1234 .effect "ha" .is_crit_valid True

对友方释放的技能默认没有伤害且必中

治疗:
combat_skill:
.id "技能名"
.level 技能等级
.heal 治疗下限 治疗上限
.launch 4321 (使用位置)
.target @1234 (目标位置)
.effect " effect1" " effect2" " effect3" ……

例子:combat_skill: .id "nai" .level 0 .heal 0 50 .launch 4321 .target @1234 .effect "ha"

移动位置:
combat_move_skill:
.id "move"
.level 0
.type "move"
.move 后退格数 前进格数
.launch 4321

例子:combat_move_skill: .id "move" .level 0 .type "move" .move 3 3 .launch 4321

反击相关:
riposte_skill: .id "riposte1" .level 0 .type "melee" .atk 100% .dmg 0% .crit 0% .launch 1234 .target 1234 .is_crit_valid True
想要技能获得反击效果必须在英雄技能里加上这段


11.2.1技能一览
.starting_cooldown 初始冷却
.per_battle_limit每场战斗限制个数
.per_turn_limit每回合限制个数
.is_continue_turntrue 使用后继续回合
.self_target_validtrue 可以以自己为目标
.extra_targets_chance额外目标概率
.extra_targets_count额外目标数量
.valid_modes转换形态
.形态名_effectseffect名 转换形态后获得效果
.refresh_after_each_wave true 每波敌人后刷新
.ignore_stealthtrue 无视潜行
.ignore_guardtrue 无视守护
.is_stall_invalidating false 不清楚
.ignore_protectiontrue 穿甲
.required_performer_hp_range n m需要使用者生命值范围n到m

11.3扎营技能

文件raid/camping/default.camping_skills.json
如果安装了破盾者dlc,扎营技能就会用dlc里的,上面的文件就会失效

前三个是共有技能鼓舞、处理伤口和打气谈话

标准格式
{
"id" : "扎营技能名",
"level" : 0,
"cost" : 花费时间,
"use_limit" : 限制次数,
"effects" : (效果)
[
{
"selection" : "作用范围",
"requirements" : [触发条件],
"chance" : { "code" : "效果字母", "amount": 百分比概率},
"type" : "类型",
"sub_type" : "子类型",
"amount" : 数值
}
],
"hero_classes" : ["英雄1", "英雄2"……],
"upgrade_requirements" :
[
{
"code" : "0",
"currency_cost" :
[
{ "type" : "gold", "amount" : 升级花费 }
],
"prerequisite_requirements" :
[

]
}
]
},

1.作用范围包括:individual除自己以外的一个人 self自己 party_other除自己以外的其他人 party全体
2.多个效果用字母a,b,c……来标注

类型
stress_heal_amount减少压力
health_heal_max_health_percent治疗百分比
remove_bleeding去除流血
buff引用buff 子类型:buff名称
remove_deaths_door_recovery_buffs去除死门
reduce_ambush_chance减少夜袭机率
remove_disease去除疾病
stress_damage_amount增加压力
loot获得战利品 子类型:战利品代号
reduce_torch减少火把
remove_poison去除腐蚀

12.敌人相关

12.1敌人数据、技能

文件monsters/敌人名/敌人名_/敌人名_难度字母.info.darkest
难度字母代表出现的副本等级A/B/C/D对应1/3/5/6级地牢

标准格式
display: .size 体型格数
enemy_type: .id "类型"
stats: .hp 生命 .def 闪避% .prot 防御 .spd 速度 .stun_resist 晕抗% .poison_resist 毒抗% .bleed_resist 血抗% .debuff_resist 减益抗% .move_resist 位移抗%
skill: .id "技能名" .type "类型" .atk 命中% .dmg 伤害下限 伤害上限 .crit 暴击% .effect “效果名” .launch 1234 .target @1234 .is_user_selected_targets true (玩家选择目标,不是可以省略) .is_crit_valid False (不能暴击,能暴击可以省略)
personality: .prefskill -1 (这句没用但不能改)
loot: .code "战利品代号" .count 战利品数量
initiative: .number_of_turns_per_round 每回合行动数
monster_brain: .id fuseman (ai类型)
death_class: .monster_class_id corpse_large_A .is_valid_on_crit False .type "corpse" (尸体相关)
battle_modifier: .disable_stall_penalty True .can_surprise False .can_be_surprised False .always_surprise False .always_be_surprised False (惊吓相关)

在惊吓相关后面可以添加被动buff技能:
.living_other_enemy_buffs buff名 对其他敌人生效
.living_hero_buff_instance_ids buff名 对英雄生效

12.2敌人ai

文件raid/ai/base.monster_brains.json

每个ai分为三部分,第一句是技能冷却,前部分为技能选择,后部分为目标选择

技能选择
随机:random_skill
特定技能:specific_skill
治疗技能:heal_skill
特定效果的技能:effect_key_status_skill
特定敌人依然存活:ally_alive_skill
特定敌人已死亡:ally_dead_skill
特定回合:performing_turn_skill

目标选择
随机目标:random_target
标记目标:marked_target
标记位置:rank_target (用于延迟技能)
同伴:ally_class_target
生命值低的同伴:health_target
压力值高的英雄:stress_target
抵抗力低的英雄:resistance_target

13.副本相关

13.1等级限制

文件campaign/quest/quest.restriction.json
里面的数字从上到下就是从易到难副本的英雄最大等级限制,全部改为5以上的数就去除了等级限制

13.2副本明细

文件campaign/quest/quest.plot_quests.json
记录了每个副本的地图、目标、奖励与设定

以第一暗黑地牢为例

前半段:
{
"id": "plot_darkest_dungeon_1", (地图名)
"has_achievement": true,
"dungeon_level": 0, (副本等级)
"quest": {
"is_plot_quest": true,
"type": "kill_boss", (类型)
"dungeon": "darkestdungeon", (副本区域)
"difficulty": 6, (难度)
"length": 2, (长度)
"map_name": "DD_map1", (地图名)
"goal_ids": [
"kill_shuffler_D" (目标)
],
"completion_reward": {
"resolve_xp": 16, (经验)
"items_definition": {
"system_config_type": "quest_rewards",
"items": {
"0": {
"id": "",
"type": "gold",
"amount": 15000 (钱)
},
"1": {
"id": "crest", (祖产)
"type": "heirloom",
"amount": 18
},
"2": {
"id": "dd_trinket", (指定饰品)
"type": "trinket_unlock",
"amount": 3
}
}
}
}
},
"additional_trinket_completion_rewards": [ (随机饰品)
{
"rarity": "very_rare",
"amount": 1
}

1.等级0~7对应探索进度
2.难度1、3、5、6对应学徒、老兵、冠军、暗黑地牢
3.长度1、2、3、4对应短、中、长、超长
4.其中的指定饰品就是第一地牢奖励的三个护符

后半段
],
"is_progression": true, (是否提升探索等级)
"is_repeatable": false, (能否重复完成)
"has_statue_contents": true, (是否在先祖雕像显示)
"completion_dungeon_xp": false, (是否有经验)
"is_town_progression_goals_enabled": true, (是否完成目标)
"can_retreat": true, (是否允许撤退)
"retreat_always_from_raid": false, (撤退能否失败)
"retreat_party_kill_count": 1, (撤退时死亡数)
"is_surprise_enabled": false, (是否能惊吓)
"is_scouting_enabled": false, (是否能侦查)
"is_roster_stress_cleared_on_completion": true, (完成后是否清除压力)
"roster_buff_on_failure_minimum_party_resolve_level": 5, (受buff影响的最低英雄等级)
"upgrade_tags_to_remove_on_ignore": [], (副本消失城镇建筑惩罚)
"upgrade_tags_to_remove_on_failure": [], (副本失败城镇建筑惩罚)
"roster_buffs_to_apply_on_failure": [ (副本失败buff)
"darkest_dungeon_failure_roster_resolve_xp"
],
"party_quirks_to_apply_on_completion": [], (成功怪癖)
"party_quirks_to_apply_on_failure": [], (失败怪癖)
"trinket_retention_minimum_rarity": "", (偷取饰品最低稀有度)
"trinket_retention_count": 0, (偷取饰品数)
"has_quest_select_warnings": true, (是否警告没有装备饰品)
"has_provision_warnings": true, (是否警告补给不够)
"suggested_trinkets": [], (建议饰品,出现在第二暗黑地牢)
"additional_provisions": { (副本初始物品)
"system_config_type": "quest_provision",
"items": {}
}
},

14.城镇事件

文件campaign/town_events/base.town_events.events.json

标准格式:
{
"id": "事件名",
"base_chance": 基础概率份额,
"per_not_rolled_additional_chance": 叠加概率份额,
"cooldown": 冷却周数,
"requirements": { (前提要求)
"minimum_week": 最小周数,
"dead_heroes": 死亡英雄数,
"hero_level_counts": [英雄等级],
"upgrades_purchased": [建筑升级],
"trinket_storage_count": 饰品总数
},
"town_ambience_paramater_ids": [],
"tone": "good好/ neutral中性/ bad坏",
"sprite": "触发建筑效果",
"sprite_attachment": "目标建筑",
"data": [事件内容]
},
城镇事件的概率份额是全体计算的,想要特定事件频繁出现的话建议改成7位数以上

15.战利品

文件loot/loot.json
里面记载了各个战利品代号对应的获得物,战利品代号会出现在物品互动、敌人掉落、副本奖励和扎营技能里

标准格式:
{
"id" : "战利品代号",
"difficulty" : 副本难度,
"dungeon" : "副本区域",
"entries" :
[
{ "type" : "nothing", "chances" : 无东西概率, "data" : { }},
{ "type" : "item", "chances" : 概率, "data" : { "type" : "物品种类", "id" : "物品名", "amount" : 数量 }}
]
},


16.区域建筑

文件:
dlc/580100_crimson_court/features/districts/campaign/town/districts/districts_districts.json
里面列出了所有区域建筑的效果

标准格式:
{
"name": "建筑名",
"render_data": {
"sprite_paths": [
配置文件
],
"not_built_animation": "idle",
"built_animation": "built",
"purchased_animation": "purchased",
"town_priority": 优先级?
},
"currency_cost": [
{建造花费 }
],
"buff_list": [
{
效果
}
]
},

17.汉化相关

中文和其他语言的文件都放在localization文件夹里
在设置好东西的汉化代码后要运行localization.bat才能在游戏里显示

游戏中出现蓝字代码就是缺少对应的中文所造成的,可以参考蓝字在汉化文件里直接添加相关代码

对应的文件如下,可以自行参考相关内容的代码进行中文化
apple_inapps.string_table.xml 扩展包相关
backertrinkets.string_table.xml 饰品名称
curios.string_table.xml 奇物互动与战利品
dialogue.string_table.xml 英雄说的话 折磨/美德名称
heroes.string_table.xml 英雄名称、技能与介绍,武器与护甲
iOS.string_table.xml 界面选项与提示
journal.string_table.xml 找到的日记残页
miscellaneous.string_table.xml 名词解释、状态、标签、技能描述、提示、旁白
names.string_table.xml 英雄姓名
party_names.string_table.xml 队伍称号
PSN.string_table.xml 手柄界面
switch.string_table.xml 手柄界面
workshop.string_table.xml 创意工坊
xb1.string_table.xml 手柄界面

内容来源于网络,本站整理。

转载注明出处:https://www.jiuwo123.com/zixun/zixun1/2024/0515/10737.html