The Guide to Almost All Non-Missile Skill Functions

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

User avatar
mac13lx
Posts: 4
Joined: Sun Nov 12, 2023 2:28 pm
Poland

Re: The Guide to Almost All Non-Missile Skill Functions

Post by mac13lx » Sun Nov 12, 2023 2:32 pm

Hey guys, im green with modding the Diablo 2, i tried to add Diablo skills onto the ring but when i try to use them all it does is just bugging my character is there a way to fix it? if you guys could help me with this issue i would really really appreciate that :).

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

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Cypress » Sun Nov 12, 2023 5:17 pm

Hi mac13lx, that's probably because of an improper animation, which is defined by the anim column of the skill. A lot of monster skills have SQ as their default animation, which doesn't work for players unless it has a seqnum associated with it to determine what sequence it should play. You can change the skill's anim from SQ to SC to make it use the casting animation.

User avatar
mac13lx
Posts: 4
Joined: Sun Nov 12, 2023 2:28 pm
Poland

Re: The Guide to Almost All Non-Missile Skill Functions

Post by mac13lx » Sun Nov 12, 2023 5:38 pm

Thanks @Cypress for the quick reply :), can you tell me please in what file i can make those changes?

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

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Cypress » Sun Nov 12, 2023 9:02 pm

The changes would be made in skills.txt

User avatar
mac13lx
Posts: 4
Joined: Sun Nov 12, 2023 2:28 pm
Poland

Re: The Guide to Almost All Non-Missile Skill Functions

Post by mac13lx » Sun Nov 12, 2023 11:03 pm

Cypress wrote:
Sun Nov 12, 2023 9:02 pm
The changes would be made in skills.txt
I manage to do that thank you!!, but when i try diabwall skill i get error every single time i just dunno why

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

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Cypress » Mon Nov 13, 2023 2:39 am

Starting from fresh 1.13c txt files, this is what I had to change to make it be usable with the fewest changes, in skills.txt:
skilldesc=delerium change
anim=SC

Code: Select all

DiabWall	197		delerium change		102												diabwallmaker																																																												diablo_fire_cast															58					diabwallmaker												1	0		none												SC	SQ	S1																										1																								1	1									lvl	#missiles							0	?	0	?	0	?	0	?									1								8																																					0

User avatar
eleriaqueen
Posts: 57
Joined: Mon Dec 16, 2019 8:49 am
France

Re: The Guide to Almost All Non-Missile Skill Functions

Post by eleriaqueen » Wed Jan 10, 2024 8:32 am

Hi, idk if you're keeping track of D2R behavior but I did some (naive) testing in up to date version and it seems that Vengeance can't apply magic damage type through eMin/eMax. I simply switched to Bash/Concentrate func and magic damage went through.

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

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Cypress » Thu Jan 11, 2024 12:02 am

Thanks eleriaqueen! That's not a D2R specific difference, that was my mistake in testing. Turns out Vengeance can't use elemental damage nor Etype; it always applies cold length with ELen regardless of the etype set. I've updated the guide accordingly.

User avatar
Nagahaku
Junior Member
Paladin
Posts: 120
Joined: Sat Nov 30, 2019 1:11 am

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Nagahaku » Fri Feb 16, 2024 8:12 am

Hi, I found something strange with Blade Shield.
It would interrupt some finishing strikes from releasing charge-ups at its damaging frame, especially Dragon Tail.
Dragon Tail would totally fail at Blade Shield's damaging frame on srv side, no mana cost, no damage, no releasing charge-ups, yet clt side anims are fine.
Dragon Talon would normally do the multiple kicks, dealing its own damage but without releasing charge-ups.
Dragon Claw seems to be OK, but I modificated its srvstfunc to 28 which is same as Blade Shield to apply a state, don't know if it would be interrupted with vanilla 25.
Dragon Flight seems to be OK as well.

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

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Cypress » Fri Feb 16, 2024 11:15 am

Awesome find Nagahaku! From my testing:
•Blade Shield's srvdofunc is causing the interruption (the srvstfunc is like an aura, it will repeat the srvdofunc every perdelay frames, so every time the srvdofunc 54 is repeated, it may interrupt)
•Dragon Talon is also getting interrupted fully like Dragon Tail, it's just that the interruption occurs on a per-kick basis, so when you only have 1 kick you often times miss entirely, but with multiple kicks you'll end up missing only some kicks
•The interruption only occurs while srvdofunc 54 is hitting the target that you want to kick with Dragon Talon or Dragon Tail. I used a Hand Axe with rangeadder=25, and found that, when far away, these kicks will hit like normal. Even when close, the kicks will hit, but only if targeting an enemy that isn't getting hit by srvdofunc 54
•Hurricane (srvdofunc 145) and Armageddon (srvdofunc 146) do not interrupt these kicks when paired with srvstfunc 28, although Hurricane doesn't seem to want to do weapon damage, and Armageddon is slightly random in terms of where its missiles appear, so it won't perfectly mimic Blade Shield's aoe being centered on the player

So probably the best fix for this would be to use srvstfunc 28 with srvdofunc 146, set aurarangecalc=1 and make it shoot missiles that deal weapon splash damage, like ice javalin psrvhitfunc 44. You will lose out on Blade Shield's odd properties, like how it can trigger ctc-on-attack and it's spell physical damage being reduced by srcdam, but otherwise it seems to work okay.

User avatar
nothing5
Junior Member
Champion of the Light
Posts: 335
Joined: Sun May 13, 2007 8:10 pm

Re: The Guide to Almost All Non-Missile Skill Functions

Post by nothing5 » Fri Feb 16, 2024 5:25 pm

An issue concerning Bash:

It seems like after using Bash, its aurastats will persist as long as I keep hitting enemies--and it doesn't matter which skill I use. I am trying to use the Bash function to trigger a CTC effect that is only possible as long as the Bash-granted aurastat is in effect. However, this little feature enables players to use other skills alongside this CTC effect, which makes the class completely OP.

Cypress, or anyone, are you aware of any workarounds? Thanks.

User avatar
Nagahaku
Junior Member
Paladin
Posts: 120
Joined: Sat Nov 30, 2019 1:11 am

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Nagahaku » Sat Feb 17, 2024 2:06 pm

Cypress wrote:
Fri Feb 16, 2024 11:15 am
So probably the best fix for this would be to use srvstfunc 28 with srvdofunc 146, set aurarangecalc=1 and make it shoot missiles that deal weapon splash damage, like ice javalin psrvhitfunc 44. You will lose out on Blade Shield's odd properties, like how it can trigger ctc-on-attack and it's spell physical damage being reduced by srcdam, but otherwise it seems to work okay.
Good idea, i tried this and much everything became better. however it would also lose triggering functions, no longer triggering ctc or crush blow, open wounds, so i tried a psrvhitfunc=5 missile to release a small nova. i know NHD sould be used as less as possible, but still prefered triggering functions.

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

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Cypress » Sun Feb 18, 2024 4:05 pm

nothing5 wrote:
Fri Feb 16, 2024 5:25 pm
An issue concerning Bash:

It seems like after using Bash, its aurastats will persist as long as I keep hitting enemies--and it doesn't matter which skill I use. I am trying to use the Bash function to trigger a CTC effect that is only possible as long as the Bash-granted aurastat is in effect. However, this little feature enables players to use other skills alongside this CTC effect, which makes the class completely OP.

Cypress, or anyone, are you aware of any workarounds? Thanks.
Hi nothing5, great find! I didn't know it works that way, that is a rather annoying result. The only workaround I can think of is to use a skill that supports a length based aurastate, like Berserk or Frenzy, and make the duration really short maybe like 20 frames or so. You wouldn't lose much, since Bash's added damage is broken/weird anyways.


Nagahaku, you can use hitflags=32 to enable ctc on striking with radial damage, so you don't need to use nextdelay.

User avatar
Nagahaku
Junior Member
Paladin
Posts: 120
Joined: Sat Nov 30, 2019 1:11 am

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Nagahaku » Mon Feb 19, 2024 4:38 am

Cypress wrote:
Sun Feb 18, 2024 4:05 pm
you can use hitflags=32 to enable ctc on striking with radial damage, so you don't need to use nextdelay.
thanks, it worked.
and i found an interesting (bug?) for this armaggedon style blade shield: cast it in town, then touch a healer npc, go out to the field and it won't do any damage. no idea what the healer did to it, without touching a healer, it would work normally even casted in town.

GreenDude
Posts: 10
Joined: Sun Jan 31, 2016 2:20 am

Re: The Guide to Almost All Non-Missile Skill Functions

Post by GreenDude » Thu Feb 29, 2024 7:53 pm

Sorry to necropost this. @Cypress: In your guide you wrote that fend's par2 allows you to play with attack speed. I just wanted to say this should be edited out of your post because this is a purely client side change. Kingpin had a look at the code and there is no acknowledgement of the par2 value on the two srv side functions so even though you will appear to attack faster visually, you are not hitting faster on the server and thus are actually desyncing yourself.

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

Re: The Guide to Almost All Non-Missile Skill Functions

Post by Cypress » Sat Mar 02, 2024 1:43 pm

Hi GreenDude, that's not a necropost at all, I'm always glad to see contributions to our understanding of Diablo 2. However, I'm not so sure that's correct. From my brief testing, the difference between Fend with par2=60 and par2=1 is immediately clear. 60 takes it's time clearing out an area, and 1 seems to attack at 1 frame per attack.

Video evidence:

GreenDude
Posts: 10
Joined: Sun Jan 31, 2016 2:20 am

Re: The Guide to Almost All Non-Missile Skill Functions

Post by GreenDude » Sat Mar 02, 2024 11:04 pm

Thanks for the video. In this case it must mean that singleplayer trusts the client for this while online multiplayer doesnt. Otherwise you'd have the client deciding the attack speed on the server. I always thought that even d2's singleplayer still respects the srv side over the client and that mostly seems true which is why srvdo functions will always be the real thing happening and not cltdo but based on your video it does seem like the kill is happening faster on srvdo side. Very strange. Even the cloak of shadows CD is only possible client side although because this one actually restricts the casting on the client end, for singleplayer, this works adequately.

Return to “General Mod Making”