Mass healing skill and throwing mastery pierce question

Post here about all aspects of D2 mod making whether it's information, problems or whatever. Please specify whether your post is relating to Classic D2 or the Expansion.

Moderator: Nizari

Post Reply
kulasdq
Posts: 37
Joined: Tue May 04, 2021 6:04 pm
United States of America

Mass healing skill and throwing mastery pierce question

Post by kulasdq » Sun Sep 25, 2022 12:23 am

I tried to create a mass healing skill that heals both the caster and the allies. I used battle command as the base skill and changed aurastat1 to hitpoints. The problem is that once the healing effect ends, the hp immediately reverts back to the original amount. To give an example, my character's current hp is 50, the skill can heal 100 hp in 1 second. I use the skill and my character gets healed. His hp increases to 150 then immediately reduces to 50. I can't figure out the problem, I thought battle command works the same as aura. I was also thinking about making a holybolt nova. The issue is the caster can't heal himself since I can't get hit by my own holybolt...

Another question is adding pierce property to throwing mastery. Tried both skill_pierce and item_pierce, tested many times, it seems neither works. I tested with 100% pierce. Skill_pierce never passed through a target. With item_pierce, visually the weapon passed through the target, but the enemy behind the first target never got damage. At least from the testing I have done so far, I never killed 2 targets with one throw. Not sure if it's a bug.

Any help would be appreciated.

User avatar
Cypress
Moderator
Champion of the Light
Posts: 473
Joined: Fri Dec 01, 2017 2:08 am

Re: Mass healing skill and throwing mastery pierce question

Post by Cypress » Sun Oct 09, 2022 7:57 pm

For duration healing, you should use 'hpregen'. The problem with 'hitpoints' if I remember correctly is that only the aura srvdofuncs are capable of applying it permanently, other states will only apply it temporarily. Instead, you should consider using 'hpregen' and scaling it so that it gives the desired amount of life over the given duration. So for example, if you wanted 100 HP in 1 second, then use auralencalc=25, aurastat1=hpregen, aurastatcalc1=102. Or more clearly, aurastatcalc1=x*256/len, where x is the amount of life you want to gain over the duration.

As for the Throwing Mastery/pierce issue, it has to do with Throwing Mastery having passiveitype=thro. Passiveitype sets a param value for the respective passivestats. For whatever reason, skill_pierce/passive_pierce do not work when a param is set (presumably deprecated behavior where those stats were intended to be weapon-specific). Setting Send Param Bits for these stats does not seem to fix the issue either. As such, the only fix I can think of is something janky like using a charm-given aura that scales based on Throwing Mastery, or to have an extra passive skill for the Barb that can be upgraded for free every time Throwing Mastery is leveled.

vaxquis
Posts: 4
Joined: Sun Aug 27, 2023 2:19 pm
Indonesia

Re: Mass healing skill and throwing mastery pierce question

Post by vaxquis » Mon Sep 18, 2023 3:30 pm

Cypress wrote:
Sun Oct 09, 2022 7:57 pm
As for the Throwing Mastery/pierce issue, it has to do with Throwing Mastery having passiveitype=thro. Passiveitype sets a param value for the respective passivestats. For whatever reason, skill_pierce/passive_pierce do not work when a param is set (presumably deprecated behavior where those stats were intended to be weapon-specific). Setting Send Param Bits for these stats does not seem to fix the issue either. As such, the only fix I can think of is something janky like using a charm-given aura that scales based on Throwing Mastery, or to have an extra passive skill for the Barb that can be upgraded for free every time Throwing Mastery is leveled.
TBH, it's even more complicated. You get additional problems if you add pierce effect to anything that doesn't have `passivestate` == `pierce`. If you change `passivestate` to `pierce`, suddenly `passiveitype` == `thro` with `skill_pierce` works on client-side properly (i.e. the missiles are shown visually)... but there isn't anything special in `pierce` state, it looks exactly like every other empty-ish state there is :) tl;dr it looks like we have additional hardcoded support for `skill_pierce` stuff in `pierce` passivestate.

But yeah, `item_pierce` works as well client-side. If you're OK with pierce effect on all missiles (not only thrown projectiles), simply remove the `thro` and it works good then.

User avatar
Cypress
Moderator
Champion of the Light
Posts: 473
Joined: Fri Dec 01, 2017 2:08 am

Re: Mass healing skill and throwing mastery pierce question

Post by Cypress » Wed Sep 20, 2023 1:13 am

Hi vaxquis, you're right! That's a great find. I only recently realized that myself when I was trying to figure out why one of Nagahaku's missiles wasn't piercing properly. If you notice any other weird hardcoded states or rows like that, please let me know and I'll be sure to document it!

And do note that item_pierce does not have all of the functionality of skill_pierce. Namely, item_pierce has issues with displaying cltside graphics of hitfuncs, whereas skill_pierce does not.

Post Reply

Return to “General Mod Making”