Hmm.. does it work?
I will have to give it a try too…. HoT is one of the holy grails for an ability. Good find.
No, You got me all wrong, the screenshots are a montage/fake/mounting
That what I try to find but nothing worked for now…
Hmm.. does it work?
I will have to give it a try too…. HoT is one of the holy grails for an ability. Good find.
No, You got me all wrong, the screenshots are a montage/fake/mounting
That what I try to find but nothing worked for now…
Not sure you can have two target entries for a skill. Have you seen a skill that uses similar targets to your own, or to be more precise – two pairs of units?
I’ll try something with a healing-over-time item which will then be upgraded to a hero’s skill (as a proof of concept), will post here when i do something useful.
Not sure you can have two target entries for a skill. Have you seen a skill that uses similar targets to your own, or to be more precise – two pairs of units?
The basic :
.target 1234
.target ~123
.target ?1234
.target
.target @1234
.target @~1234
Yeah…Thinking the same, probably not possible.
I was thinking to try a Blight effect, but instead to deal damage, that will heal you.
Hmmm still can’t figure it out.
But it give me some idea that maybe use only 1 riposte action but enhance it effect through using the skill that activate it instead.
Like tjems5000’s various provision that can enhance skill effect.
Sorry for the Necro, can’t send private messages to him.
Akomoto, Are you willing to share your mod?,
dotBlight and dotBleed with negative values eh? Could work, could cause a nasty crash.
But yeah, the target part of your effect was definatelly not syntactically correct. As far as healing-over-time goes, applying buffs seems the way to go (or chaining multiple effects)
But we aready have this in the buff library:
{
"id" : "HPRECOVERY10",
"stat_type" : "hp_heal_amount",
"stat_sub_type" : "",
"amount" : 0.1,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
}
but the problem is – they’re all in percentage instead of actual amount… but the one i posted seems to be in amount divided by 100. Which would mean 0.01 for 1HP. But i gotta ask – have you tried something simple as this?
effect: .name “Whatever” .target “performer” .curio_result_type “positive” .chance 100% .heal 6 .duration 3 .on_hit true .on_miss false .queue false
the percentage one is hp_heal_percent
if you want to heal by health percent, might come in handy for those “Heals 50% health” potions/skills. Or a regeneration skill 😉
but for starters you could try applying the HPRECOVERY10 buff and see where that takes you. I’m actually growing on the idea of modding the antiquarian to have regenerative healing (aka heal-over-time) instead of the lame weak healing she has now.
Hey guys, Just saw the patch notes for the Radiant update. I’m super hyped as you can imagine, especially the line that says “Exposed significantly more settings for future modding.” Any ideas what was exposed?
Edit: so far the changes i’ve seen are:
the new file for the effects was renamed to base.effects.darkest \DarkestDungeon\effects
And for the buff it’s : Base.buffs \DarkestDungeon\shared\buffs
Hey Thank you for your answer, I gonna check and spend time to write/to do my tests here for the next few days.
The new update is out and I need to inspect every new changes.
Anyway, the new file for the effects was renamed to base.effects.darkest \DarkestDungeon\effects
And for the buff it’s : Base.buffs \DarkestDungeon\shared\buffs
I’ll keep you informed on this thread.
Here we go, so I try to create my healing per turn effect.
I try this effect: .name "Fortifying_Vapours_1" .target “target” .curio_result_type “positive” .chance 100% .heal 6 .duration 3 .on_hit true .on_miss false .queue false
Try this too
{
"id" : "HPRECOVERY10",
"stat_type" : "hp_heal_amount",
"stat_sub_type" : "",
"amount" : 0.1,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
}
Same result
effect: .name "Fortifying_Vapours_1" .target "target" .curio_result_type "positive" .chance 100% .dotPoison -1 .duration 3 .on_hit true .on_miss false .queue false
Same result
effect: .name "Fortifying_Vapours_1" .target "target" .curio_result_type "positive" .chance 100% .heal_per_turn_percent 0.025 .duration 3 .on_hit true .on_miss false .queue false
I try to use the same effect than the Drowned Anchor…Same result
{
"id" : "Fortifying_Vapours_1",
"stat_type" : "hp_heal_received_percent",
"stat_sub_type" : "resistance",
"amount" : 0.2,
"duration_type" : "combat_stat_add",
"duration" : 4,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
Nothing…
{
"id" : "Fortifying_Vapours_1",
"stat_type" : "hp_heal_percent",
"stat_sub_type" : "",
"amount" : 0.1,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
…Don’t know but maybe there is a correct way for using the heal per turn by the Drowned Anchor .heal_per_turn_percent 0.025
Using .dotBlight -1 do nothing…I wonder how I can modify directly “dotBlight”…
You **probably** wont be able to change what dotBlight and dotBleed do, since their behaviour is hardcoded (defined in the game’s code). The only way that’d be possible if they exposed a file where we can define JSON tags to be picked up from these json files and be able to define their behaviour using some kind of low-level hardcoded bridge, e.g.
dotBleed(int param1): {
.damage param1
}
heal(int param1): {
.raiseHP param1
}
healStress(int param1) : {
.reduceStress param1
}
damage(int param1): {
.reduceHP param1
}
then we’d be able to define new tags, such as
healPerTurn(int param1, int param2): {
.raiseHP param1
.duration param2
}
and we could use .healPerTurn 3 3
or .healPerTurn(2,4)
in our effects. But since there’s no such file and tag behaviours are hardcoded, we’ll have to work with what we have… I’ll try a few things now since i’ve got a lazy afternoon ahead of me and keep you posted if i figure something out 😉 or tell you what doesn’t work either.
It’s entirely expected however, that whether the effect i posted works or not is entirely questionable, and that perhaps it doesn’t work at all. But since it’s still “questionable”, the answer can be found out, and i usually find answers to such questions by trial and error. Sometimes it’s just a matter of correctly ‘aligning’ effect syntax like I had to do with my “Healing potion” that heals some hp , heals some stress and cures the target; until I rearranged the order of the tags to be proper, it only healed stress. So, we know that the ordering of tags also make a big difference in the final outcome.
I do see something you missed though, in the code you posted, you never applied the HPRECOVERY10 buff to the target.
Well, I got something… which isn’t technically heal-per-turn, since the buff i thought was going to apply healing but it merely increases it by a certain amount. Which is not so bad either, but it doesn’t seem to work for out-of-turn healings. E.g. i cast fortifying vapors on a leper, he gets healed for 4HP and receives +20% max HP and +20 additional healing for 2 turns… On the antiquarian’s next turn she heals him again for only 3. But leper’s own healing would heal him for 32.
I havent tested thoroughly yes, but I’d expect that heal_per_turn_percent
wouldn’t be applicable to skills and effects, but only monsters. Maybe heroes too, but it’d have to be in their file.
Also, i spotted something related to your first request/demand, of targeting only two targets.
.target 1234 .extra_targets_count 1 .extra_targets_chance 0.25
This actually targets one target, with a bonus-chance of hitting another target. Will apply it to my antiquarian vapor at some point.
But this is what I do have for now, (will post files when I consider it “done” or cleaned up)
Antiquarian heals for a small bit, and applies a buff that increases your max HP which is applied only once, and re-applies a stacking buff that increases the healing you receive by a fixed amount. I plan on throwing in the extra target thing in the mix as well. And when it works acceptably, i’ll balance it and leave it in like that.
The idea is that since she’s a support-kinda character, she improves other healers’ capabilities by improving the wounded’s received-healing
antiquarian.info.darkest:
combat_skill: .id "fortifying_vapours" .level 0 .heal 1 1 .launch 43 .target @1234 .extra_targets_count 1 .extra_targets_chance 0.1 .effect "Antiq Regeneration Fortify 1" "Antiq Regeneration 1"
combat_skill: .id "fortifying_vapours" .level 1 .heal 1 2 .launch 43 .target @1234 .extra_targets_count 1 .extra_targets_chance 0.25 .effect "Antiq Regeneration Fortify 1" "Antiq Regeneration 2"
combat_skill: .id "fortifying_vapours" .level 2 .heal 2 2 .launch 43 .target @1234 .extra_targets_count 2 .extra_targets_chance 0.25 .effect "Antiq Regeneration Fortify 1" "Antiq Regeneration 3"
combat_skill: .id "fortifying_vapours" .level 3 .heal 2 3 .launch 43 .target @1234 .extra_targets_count 2 .extra_targets_chance 0.35 .effect "Antiq Regeneration Fortify 2" "Antiq Regeneration 4"
combat_skill: .id "fortifying_vapours" .level 4 .heal 3 3 .launch 43 .target @1234 .extra_targets_count 3 .extra_targets_chance 0.5 .effect "Antiq Regeneration Fortify 2" "Antiq Regeneration 5"
effects.darkest:
//antiq regeneration
effect: .name "Antiq Regeneration 1" .target "target" .chance 100% .buff_ids antiq_regen .duration 1 .on_hit true .on_miss false .queue true
effect: .name "Antiq Regeneration 2" .target "target" .chance 110% .buff_ids antiq_regen .duration 2 .on_hit true .on_miss false .queue true
effect: .name "Antiq Regeneration 3" .target "target" .chance 120% .buff_ids antiq_regen .duration 3 .on_hit true .on_miss false .queue true
effect: .name "Antiq Regeneration 4" .target "target" .chance 130% .buff_ids antiq_regen2 .duration 2 .on_hit true .on_miss false .queue true
effect: .name "Antiq Regeneration 5" .target "target" .chance 140% .buff_ids antiq_regen2 .duration 3 .on_hit true .on_miss false .queue true
effect: .name "Antiq Regeneration Fortify 1" .target "target" .chance 100% .buff_ids antiq_fortify .duration 3 .on_hit true .on_miss false .queue true .apply_once true
effect: .name "Antiq Regeneration Fortify 2" .target "target" .chance 100% .buff_ids antiq_fortify .duration 5 .on_hit true .on_miss false .queue true .apply_once true
buff_library.json:
{
"id" : "antiq_regen",
"stat_type" : "hp_heal_amount",
"stat_sub_type" : "",
"amount" : 10.0,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
{
"id" : "antiq_regen2",
"stat_type" : "hp_heal_amount",
"stat_sub_type" : "",
"amount" : 20.0,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
{
"id" : "antiq_fortify",
"stat_type" : "combat_stat_multiply",
"stat_sub_type" : "max_hp",
"amount" : 0.15,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
{
"id" : "antiq_fortify2",
"stat_type" : "combat_stat_multiply",
"stat_sub_type" : "max_hp",
"amount" : 0.25,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
I’m starting to think that hp_heal_value
and hp_heal_percent
is how much the target HEALS, and for boosting healing received, we should use hp_heal_received_value
(if existing) and hp_heal_received_percent
Ok so, here’s the thing…
1) extra_targets don’t work for player attacks, only monster attacks.
2) hp_heal_value increases the heal-attack value, hp_heal_received_value increases the heal-received value.
3) heal-over-time seems somewhat unlikely due to the fact that:
3.a) an effect cannot re-apply itself
3.b) a buff cannot change your health value
So, this is what I got and it’s an improvement of sorts so i’ll leave it be like this. Feel free to modify at will.
antiquarian.info.darkest
combat_skill: .id "fortifying_vapours" .level 0 .heal 1 1 .launch 43 .target @1234 .extra_targets_count 1 .extra_targets_chance 0.1 .effect "Antiq Regeneration Fortify 1" "Antiq Regeneration 1"
combat_skill: .id "fortifying_vapours" .level 1 .heal 1 2 .launch 43 .target @1234 .extra_targets_count 1 .extra_targets_chance 0.25 .effect "Antiq Regeneration Fortify 1" "Antiq Regeneration 2"
combat_skill: .id "fortifying_vapours" .level 2 .heal 2 2 .launch 43 .target @1234 .extra_targets_count 2 .extra_targets_chance 0.25 .effect "Antiq Regeneration Fortify 2" "Antiq Regeneration 3"
combat_skill: .id "fortifying_vapours" .level 3 .heal 2 3 .launch 43 .target @1234 .extra_targets_count 2 .extra_targets_chance 0.35 .effect "Antiq Regeneration Fortify 2" "Antiq Regeneration 4"
combat_skill: .id "fortifying_vapours" .level 4 .heal 3 3 .launch 43 .target @1234 .extra_targets_count 3 .extra_targets_chance 0.5 .effect "Antiq Regeneration Fortify 3" "Antiq Regeneration 5"
effects.darkest:
//antiq regeneration
effect: .name "Antiq Regeneration 1" .target "target" .chance 100% .buff_ids antiq_regen antiq_regen_recv .duration 1 .on_hit true .on_miss false .queue true .apply_once true
effect: .name "Antiq Regeneration 2" .target "target" .chance 110% .buff_ids antiq_regen antiq_regen_recv2 .duration 2 .on_hit true .on_miss false .queue true .apply_once true
effect: .name "Antiq Regeneration 3" .target "target" .chance 120% .buff_ids antiq_regen antiq_regen_recv3 .duration 3 .on_hit true .on_miss false .queue true .apply_once true
effect: .name "Antiq Regeneration 4" .target "target" .chance 130% .buff_ids antiq_regen2 antiq_regen_recv2 .duration 2 .on_hit true .on_miss false .queue true .apply_once true
effect: .name "Antiq Regeneration 5" .target "target" .chance 140% .buff_ids antiq_regen2 antiq_regen_recv3 .duration 3 .on_hit true .on_miss false .queue true .apply_once true
effect: .name "Antiq Regeneration Fortify 1" .target "target" .chance 100% .buff_ids antiq_fortify .duration 3 .on_hit true .on_miss false .queue true .apply_once true
effect: .name "Antiq Regeneration Fortify 2" .target "target" .chance 100% .buff_ids antiq_fortify .duration 5 .on_hit true .on_miss false .queue true .apply_once true
effect: .name "Antiq Regeneration Fortify 3" .target "target" .chance 100% .buff_ids antiq_fortify2 .duration 8 .on_hit true .on_miss false .queue true .apply_once true
buff_library.json:
{
"id" : "antiq_regen",
"stat_type" : "hp_heal_amount",
"stat_sub_type" : "",
"amount" : 10.0,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
{
"id" : "antiq_regen2",
"stat_type" : "hp_heal_amount",
"stat_sub_type" : "",
"amount" : 20.0,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
{
"id" : "antiq_regen_recv",
"stat_type" : "hp_heal_received_percent",
"stat_sub_type" : "",
"amount" : 0.15,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
{
"id" : "antiq_regen_recv2",
"stat_type" : "hp_heal_received_percent",
"stat_sub_type" : "",
"amount" : 0.25,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
{
"id" : "antiq_regen_recv3",
"stat_type" : "hp_heal_received_percent",
"stat_sub_type" : "",
"amount" : 0.33,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
{
"id" : "antiq_fortify",
"stat_type" : "combat_stat_multiply",
"stat_sub_type" : "max_hp",
"amount" : 0.15,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
{
"id" : "antiq_fortify2",
"stat_type" : "combat_stat_multiply",
"stat_sub_type" : "max_hp",
"amount" : 0.25,
"remove_if_not_active" : false,
"rule_type" : "always",
"is_false_rule" : false,
"rule_data" : {
"float" : 0,
"string" : ""
}
},
Couple of warnings/bugs:
1) the effect stacks with itself. I don’t know how to prevent them from stacking yet, please share if you got an idea 🙂
2) the extra_targets don’t work.
Casting this on the whole team is OP even by my standards, so it’s best left as a single-target skill, targeting fighters makes them tank better and survive longer, targeting healers makes them heal better. Targeting the antiquarian herself makes her a useful healer <- here’s where making this into a “target whole team” skill breaks the whole idea and everything.
Hmmm still can’t figure it out.
But it give me some idea that maybe use only 1 riposte action but enhance it effect through using the skill that activate it instead.
Like tjems5000’s various provision that can enhance skill effect.
Exactly, use single riposte skill and different effects for different stats. If you want an example, go to nexusmods and find “Shield Maiden” mod by actionjack. Warning, she’s severly outdated, so if you plan to add her in, some coding is required.
That change makes it MUCH simpler to install custom classes. Just define your effects in “whatever.effects.darkest” and buffs as “whatever.buffs.json” and put them in respective folders.
A DPS/Glass Cannon/Stance class that uses multiple attacks per turn. Inspired by DMC games.
Some camping skills have placeholder effects, as what I wanted is not avaible yet.
Art is a Crusader placeholder. If someone wants to create custom art for it, feel free go ahead and reupload it.
Compatible with Radiant Update build 17462. Link here:
http://www.nexusmods.com/darkestdungeon/mods/180
Hey, I’m not particularly savvy at modding (I grew up a console peasant cut me some slack) and when I extract the musketeers assets, should I hit replace files or skip them? Thank you
Spotted this on the steam forum today….
Red Hook made it so game can read multiple .effects files now, so no need to override anything.
Simply go to “effects” folder, create a new file called “name_of_your_class_mod.effect.darkest”,
open it in any text editor and copy/paste all lines starting with “effect:” that come with the new class. Don’t forget to run “localization.bat” in “localization” folder after copy/pasting all the files, this updates the game strings, otherwise you will get blue gibberish text.
Has anyone tested this yet to see if it works? I’m still using the pre controller support patch (it drastically reduces filewall crashes) so I don’t know if it’s compatible with the new patch. It’s probably not.
If someone could test a class effects file and report back to us that would be great.
Yes, it is possible. In fact that is my reply you quoted there. You can add separatate “.effects.darkest” files in “effetcs” folder, as well as “.buffs.json” files in “shared/buffs” folder. I have installed 4 custom classes and Trinket Overhaul Project, modified to use the new system. New classes were being added one at a time over 12 weeks of the campaign. No crashes so far and everything is working. Note that this works from the Radiant Update onwards, I use the 17462 build. I would post some screenshots, but attachments keep bugging out on me.
Yes, it is possible. In fact that is my reply you quoted there. You can add separatate “.effects.darkest” files in “effetcs” folder, as well as “.buffs.json” files in “shared/buffs” folder. I have installed 4 custom classes and Trinket Overhaul Project, modified to use the new system. New classes were being added one at a time over 12 weeks of the campaign. No crashes so far and everything is working. Note that this works from the Radiant Update onwards, I use the 17462 build. I would post some screenshots, but attachments keep bugging out on me.
Hey are you the guy who originally posted about it on the steam forums? Different account name but you’re using the same portrait.