I’ve seen some skills that cure / heal, and wanted to make a custom skill for my class that is unique. What doesn’t kill me, makes me stronger! The initial idea being to cure poison / bleeding, apply buffs (armor if bleeding, +dmg if poisoned), and a heal (increased if bleeding, increased if poisoned).
I’m fairly certain Darkest Dungeon does not have an initial condition option. Where you can apply a buff if they have a condition initially, and keep the buff if the condition is removed. So I changed up the initial idea to not cure the conditions, but apply buffs while afflicted with them. As far as I know, there is also no way to apply a heal through a “buff” (class.buffs.json) file.
So I came up with an idea to work around the healing/buff issue. Apply a .dotHpHeal 0! And then buff “hp_heal_amount” while “actorStatus” is “bleeding” and/or “poisoned”. Theoretically, that should do exactly what I want. Healing, scaled with the bleed / poison, as long as they have the condition applied.
(Bug?) Unfortunately, the .dotHpHeal does not work with 0. I had to use 1 at minimum for the buff to get applied.
(Bug?) Also, .dotHpHeal does not work with ” .duration 1 .buff_duration_type combat_end”. I had to used a number of rounds.
(Bug?) .dotHpHeal does not seem to be accepting the “hp_heal_amount” when bleeding / poisoned.
The in game tool tips are a little confusing. I am wondering if the effects are the opposite of what I thought they would be?
“+26% Prot vs. Bleeding” = +26% prot if attacked by a bleeding enemy? (Rather than +26% prot while bleeding)
“+19% DMG vs. Poisoned” = +19% dmg when attacking an poisoned enemy? (Rather than +19% dmg while poisoned)
“+3 Additional HP Healed vs. Bleeding” = +3 healing received by a bleeding / poioned ally/enemy? (Rather than +3 healing while bleeding / poisoned)
“+3 Additional HP Healed vs. Poisoned”
I include the below entries from the .json and .darkest files in case I missed something obvious in them that someone can spot.
Sample parts of class.buffs.json file:
{
"id" : "ck_bleeding_armor_1",
"stat_type" : "combat_stat_add",
"stat_sub_type" : "protection_rating",
"amount" : 0.22,
"duration_type" : "combat_end",
"duration" : 1,
"remove_if_not_active" : false,
"rule_type" : "actorStatus",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : "bleeding"
}
},
{
"id" : "ck_poisoned_ldmg_1",
"stat_type" : "combat_stat_multiply",
"stat_sub_type" : "damage_low",
"amount" : 0.17,
"duration_type" : "combat_end",
"duration" : 1,
"remove_if_not_active" : false,
"rule_type" : "actorStatus",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : "poisoned"
}
},
{
"id" : "ck_poisoned_hdmg_1",
"stat_type" : "combat_stat_multiply",
"stat_sub_type" : "damage_high",
"amount" : 0.17,
"duration_type" : "combat_end",
"duration" : 1,
"remove_if_not_active" : false,
"rule_type" : "actorStatus",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : "poisoned"
}
},
{
"id" : "ck_bleeding_hot_1",
"stat_type" : "hp_heal_amount",
"stat_sub_type" : "",
"amount" : 3.0,
"duration_type" : "combat_end",
"duration" : 1,
"remove_if_not_active" : false,
"rule_type" : "actorStatus",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : "bleeding"
}
},
{
"id" : "ck_poisoned_hot_1",
"stat_type" : "hp_heal_amount",
"stat_sub_type" : "",
"amount" : 3.0,
"duration_type" : "combat_end",
"duration" : 1,
"remove_if_not_active" : false,
"rule_type" : "actorStatus",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : "poisoned"
}
},
Sample from class.effects.darkest:
effect: .name "CK BC 1" .target "performer" .curio_result_type "positive" .chance 100% .buff_ids "ck_bleeding_armor_1" "ck_poisoned_ldmg_1" "ck_poisoned_hdmg_1" .on_hit true .on_miss true
effect: .name "CK BC HOT 1" .target "performer" .curio_result_type "positive" .chance 100% .buff_ids "ck_bleeding_hot_1" "ck_poisoned_hot_1" .on_hit true .on_miss true
effect: .name "CK BC HOT" .target "performer" .curio_result_type "positive" .chance 100% .duration 15 .dotHpHeal 1 .on_hit true .on_miss true
Sample from class.info.darkest:
combat_skill: .id "blood_of_chaos" .level 0 .type "melee" .atk 0% .dmg 0% .crit 0% .per_battle_limit 1 .launch 4321 .target .is_crit_valid True .effect "CK BC 1" "CK BC HOT 1" "CK BC HOT"