Jump to content

Welcome to Obsidian Forum Community
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Photo

Soulblade mod request

soulblade soul annihilation modding soul annihilation splinters

  • Please log in to reply
10 replies to this topic

#1
MaxQuest

MaxQuest

    Arch-Mage

  • Members
  • 2084 posts
  • Deadfire Backer
  • Fig Backer
I find current soulblade playstyle pretty dull. And I'd want a mod that does the following:

- Instead of having -5 focus discount, shred powers now place a stackable mark on enemies when these powers deal damage.

- This mark, let's call it "Soul Fracture" lasts for 15 seconds (unmodified by INT and PL) and can stack up to 5 instances.

- When cipher deals damage with Soul Annihilation, all adjacent soul fractured enemies in 2.0m range from the primary target (but excluding primary target itself) take half of SA raw damage (that was just dealt to primary target). This damage consumes existing "Soul Fracture" instances and is increased by +20% per each.

P.S. Tips and directions on how to do it myself are also greatly appreciated.

P.P.S. I don't really expect it to be possible... but it also would be really cool if killing someone with SA, was visually kicking their soul out of the body and showing how it dissipates.

Edited by MaxQuest, 08 December 2018 - 07:56 AM.

  • AndreaColombo likes this

#2
Fhav6X

Fhav6X

    (2) Evoker

  • Members
  • 53 posts

I hope you have good programming skills in c#, because I'm sure this can only be done by editing the game's code in Assembly-CSharp.dll and it sound like a lot of work.

 

The file is under "Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\Managed". You can use dnspy (google it) to edit Assembly-CSharp.dll.


  • MaxQuest likes this

#3
Armakoir

Armakoir

    (3) Conjurer

  • Members
  • 102 posts
  • Steam:Armakoir
I *think* this might be possible without dll work, but it is still a fair amount of work. Status effects can stack, so the first step is replacing all the shred powers for the Soulblade. You can also do AoE attacks that ignore the target. The only real tricky part is triggering/removing the stacked SEs.

This idea peaks my curiosity, but no guarantees. RL is kicking my ass right now.
  • MaxQuest likes this

#4
MaxQuest

MaxQuest

    Arch-Mage

  • Members
  • 2084 posts
  • Deadfire Backer
  • Fig Backer

I hope you have good programming skills in c#, because I'm sure this can only be done by editing the game's code in Assembly-CSharp.dll and it sound like a lot of work.
 
The file is under "Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\Managed". You can use dnspy (google it) to edit Assembly-CSharp.dll.

I had some.. experience with modding Assembly-CSharp.dll via IEFramework for PoE1. Made a mod with few bug fixes.
But still I'd rate my experience as very limited with both C# and Pillars. I mean I can edit some existing stuff. But don't know how to add new stuff.
 

I *think* this might be possible without dll work, but it is still a fair amount of work. Status effects can stack, so the first step is replacing all the shred powers for the Soulblade. You can also do AoE attacks that ignore the target. The only real tricky part is triggering/removing the stacked SEs.

So... if step by step it would be:
- s1. Create "Soul Fracture" status effect. Which is stackable and has a duration. Probably use Forbidden Curse as starting point, copy and edit it. Also take a look at Modwyr or Gravecaller for how they implemented stack cap.
- s2. Edit existing shred powers, to apply "Soul Fracture" onDamage. How?
- s3. Create "Soul Splinters" AoE... ability? For starters it can deal fixed 10 raw damage.
- s4. Somehow attach "Soul Splinters" to "Soul Annihilation"
- s5. Edit "Soul Splinters" damage:
> it should know how much damage was dealt by SA (or calculate it itself)
> take into account existing "Soul Fracture" instances. And increase damage by +20% for each. Or if there is no instances - don't deal damage at all.
> clear "Soul Fractures". (like Wave Walker clears fire effects?)
 

This idea peaks my curiosity, but no guarantees. RL is kicking my ass right now.

Fingers crossed :)

Edited by MaxQuest, 08 December 2018 - 07:56 AM.


#5
MaxQuest

MaxQuest

    Arch-Mage

  • Members
  • 2084 posts
  • Deadfire Backer
  • Fig Backer
So... I have managed to do steps 1, 2 and 3.
Also have figured out how to clear/remove "Soul Fracture". If you are interested how:
Spoiler


But I am stuck at step 4... I can't attach an AoE to Soul_Annihilation ability.
I'm setting AttackID but nothing happens.
Have tried with a newly created Game.GameData.AttackAOEGameData and with Silent_Scream_Target and with Silent_Scream_AoE... nothing.


Also does someone know how to aggregate stacked effects like that?:

9CMMJwg.png
  • AndreaColombo likes this

#6
MaxQuest

MaxQuest

    Arch-Mage

  • Members
  • 2084 posts
  • Deadfire Backer
  • Fig Backer
Kinda sorted the step4 out...
Instead of linking the AoE attack directly to SA ability (like for example Silent Scream does), it was needed to go down to status effects, and from an effect of AttackTargetOnEvent type, link the attack I wanted.

I.e. instead of:

comp1.png

I had to do:

comp2.png


 
So, it looks like I'll be able to mod this myself, if I'll also find how to:
> q1. make "Soul Splinters" deal bonus damage based on "Soul Fracture" count

and optionally:
> q2. aggregate "Soul Fracture" status effects
> q3. make "Soul Splinter" aware of how much damage did "Soul Annihilation". I mean, if SA critted for 100 raw damage, I'd like AoE to use half of that as the baseline (and not make a roll of it's own). So if AoE at least grazes - it deals 50 raw damage. If it misses - it missed.
> q4. how to make "Soul Annihilation" get bonus accuracy (e.g. +3 acc per Soul Fracture on target)

Edited by MaxQuest, 09 December 2018 - 02:18 AM.


#7
Armakoir

Armakoir

    (3) Conjurer

  • Members
  • 102 posts
  • Steam:Armakoir
Remove an SE by applying a 0 time immunity! That makes so much sense.

Great progress. Here's a thought regarding the aggregation of Fracture. If 10 stacks are the max, then each shred ability could apply 10 SEs. Each SE has a unique keyword and requires the previous keyword on a target to apply (the first stack wouldnt require a keyword). Annhilation would then filter it's damage according to the appropriate keyword on the target.

It's a bit clunky, but I think it could work. You could probably do the Accuracy bonus at the same time via the attack filter and the keywords on the target.

Your Excel visuals are awesome. Going to steal that idea for my guide if you don't mind ;)

#8
MaxQuest

MaxQuest

    Arch-Mage

  • Members
  • 2084 posts
  • Deadfire Backer
  • Fig Backer
I don't mind :grin:

As for 10 SE fractures,.. I somewhat see how it can work. But oh boy it's indeed a hulking approach. Hmm.
Maybe I'll try a different strategy, and get rid of stacking altogether.
Playstesting has shown that mind blades are often the best way to stack "Soul Fractures". So it would require either investigating how to make shred DoTs apply "Soul Fracture" on each tick, and not just when they are applied,.. or alter the concept.

As alternative, I'm now thinking about:

Gains "Soul Annihilation" ability: A soul enhanced melee strike that consumes the cipher's remaining focus and converts half of it into Raw damage on the target.

Shred powers now also place a "Mark of the Beyond" on affected enemies for 15s.

Soul Annihilation additionally deals 50% of it's raw damage in 2.5m AoE around the target, to enemies that are affected by "Mark of the Beyond", and consumes their marks.


3 upgrades:

> u1: Focused Annihilation: Soul Annihilation gets +20acc bonus vs marked enemies.

> u2: Mass Annihilation: adjacent, marked enemies now take 75% of Soul Annihilation raw damage.

> u3: Horrifying Fate: hits with Soul Annihilation shaken primary and marked enemies. Kills with Soul Annihilation frighten them.

Edited by MaxQuest, 09 December 2018 - 05:24 AM.


#9
GrimLefourbe

GrimLefourbe

    (1) Prestidigitator

  • Members
  • 15 posts
  • Deadfire Backer
  • Fig Backer

I'm late to the Battle but isn't the whole proc thing similar to Lord Darryn's Voulge effect? Maybe you could look how it's done with the items.

 

"Static Charge: On Hit, applies a stacking effect to an enemy. On Crit, all enemies in an AoE will lose all stacks and take +5 Shock damage for every stack."


  • MaxQuest and Armakoir like this

#10
MaxQuest

MaxQuest

    Arch-Mage

  • Members
  • 2084 posts
  • Deadfire Backer
  • Fig Backer
Good point! I've totally forgot about that weapon)
I'll look that up.

#11
Kaylon

Kaylon

    (9) Sorcerer

  • Members
  • 1216 posts

This is also similar to monk's Resonant Touch.


  • MaxQuest likes this





Also tagged with one or more of these keywords: soulblade, soul annihilation, modding, soul annihilation splinters

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users