The Guide to Almost All Non-Missile Skill Functions
Moderator: Nizari
Re: The Guide to Almost All Non-Missile Skill Functions
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 .
-
- Champion of the Light
- Posts: 448
- Joined: Fri Dec 01, 2017 2:08 am
Re: The Guide to Almost All Non-Missile Skill Functions
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.
Re: The Guide to Almost All Non-Missile Skill Functions
Thanks @Cypress for the quick reply , can you tell me please in what file i can make those changes?
-
- Champion of the Light
- Posts: 448
- Joined: Fri Dec 01, 2017 2:08 am
Re: The Guide to Almost All Non-Missile Skill Functions
The changes would be made in skills.txt
-
- Champion of the Light
- Posts: 448
- Joined: Fri Dec 01, 2017 2:08 am
Re: The Guide to Almost All Non-Missile Skill Functions
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
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
Re: The Guide to Almost All Non-Missile Skill Functions
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.
-
- Champion of the Light
- Posts: 448
- Joined: Fri Dec 01, 2017 2:08 am
Re: The Guide to Almost All Non-Missile Skill Functions
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.
-
- Paladin
- Posts: 120
- Joined: Sat Nov 30, 2019 1:11 am
Re: The Guide to Almost All Non-Missile Skill Functions
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.
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.
-
- Champion of the Light
- Posts: 448
- Joined: Fri Dec 01, 2017 2:08 am
Re: The Guide to Almost All Non-Missile Skill Functions
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.
•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.
-
- Champion of the Light
- Posts: 335
- Joined: Sun May 13, 2007 8:10 pm
Re: The Guide to Almost All Non-Missile Skill Functions
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.
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.
-
- Paladin
- Posts: 120
- Joined: Sat Nov 30, 2019 1:11 am
Re: The Guide to Almost All Non-Missile Skill Functions
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.Cypress wrote: ↑Fri Feb 16, 2024 11:15 amSo 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.
-
- Champion of the Light
- Posts: 448
- Joined: Fri Dec 01, 2017 2:08 am
Re: The Guide to Almost All Non-Missile Skill Functions
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.nothing5 wrote: ↑Fri Feb 16, 2024 5:25 pmAn 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.
Nagahaku, you can use hitflags=32 to enable ctc on striking with radial damage, so you don't need to use nextdelay.
-
- Paladin
- Posts: 120
- Joined: Sat Nov 30, 2019 1:11 am
Re: The Guide to Almost All Non-Missile Skill Functions
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.
-
- Posts: 10
- Joined: Sun Jan 31, 2016 2:20 am
Re: The Guide to Almost All Non-Missile Skill Functions
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.
-
- Champion of the Light
- Posts: 448
- Joined: Fri Dec 01, 2017 2:08 am
Re: The Guide to Almost All Non-Missile Skill Functions
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:
Video evidence:
-
- Posts: 10
- Joined: Sun Jan 31, 2016 2:20 am
Re: The Guide to Almost All Non-Missile Skill Functions
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.