Making Vengence use 2 weapons?

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
darkmage1991
Posts: 10
Joined: Wed Nov 07, 2018 9:28 am
Anguilla

Making Vengence use 2 weapons?

Post by darkmage1991 » Tue Oct 26, 2021 5:05 pm

So i copied everything from vengence in both skills.txt and skilldesc.txt for use on the assassin. but i want it to use both weapons when attacking, so i added "3" into the "weapsel" column. Currently it only swings with the main hand. the skill works great except that hickup.

I think its to do with the 4 fields: srvdofunc, srvstfunc, cltdofunc, cltstfunc

Im sure its those fields not being right due to me changing them around i can get it to use both weapons on swing but then it only does the cold damage portion of the vengance skill(assuming it chooses cold because thats the only element listed under "EType" for vengance).

So if anyone has any idea how to get this skill to function using both weapons that would be great.

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

Re: Making Vengence use 2 weapons?

Post by Cypress » Mon Nov 01, 2021 2:55 pm

Personally, I wouldn't bother trying to use the Vengeance function at all in this case, I doubt it would be able to work on the second weapon since it isn't meant to work with dual wielding. However, you can emulate the behavior of Vengeance through the use of aurastats. This is how I got it working:

(1) Clone Dragon Claw
(2) Change srvstfunc=25 to 32 (this will allow the skill to apply an aurastate while you are in the attack animation)
(3) Give it some aurastate, you could use might to start so that you can visually confirm it is working
(4) Set aurastat1=firemindam, aurastat2=firemaxdam, aurastat3=coldmindam, aurastat4=coldmaxdam, aurastat5=lightmindam, aurastat6=lightmaxdam
(5) Set the aurastatcalc# for each mindam stat to: stat('mindamage'.accr)*(clc2+100)/100
(6) Set the aurastatcalc# for each maxdam stat to: stat('maxdamage'.accr)*(clc2+100)/100
(7) Set calc2 to however you want the Vengeance +% damage to scale. You could for example set calc2=clc1, such that the Vengeance elemental damage bonus is equal to the physical damage bonus. Note that the physical damage bonus will not increase mindamage or maxdamage and thus it will not increase +% elemental damage either, just like Vengeance this skill only cares about your total mindamage and maxdamage values, +% damage from Might, Strength, Dexterity etc is ignored.
(8) And if you want it to apply coldlength just like Vengeance, then set EType=cold and ELen & ELevLen# for the desired frames of cold duration (the Vengeance settings would be ELen=30, ELevLen#=15).

Note that this set up ONLY works for one-handed weapons, such as claws. If you want to include two-handed weapons, then you have two options:
(1) Imprint the handedness of weapons onto every single weapon in the game by use of stats that correspond with handedness. This is probably difficult, but not necessarily. The creator of Eastern Sun for example took the easy way out by pushing the problem onto the player, forcing the player to cube an oil with a two-handed weapon to imprint the handedness stat.
(2) Create a formula that uses the secondary_mindamage & secondary_maxdamage stats instead of mindamage & maxdamage if the former is greater than the latter (in vanilla, this is always true; for mods, not necessarily true, it is for example possible to create a mix-handed sword that has higher minimum and/or maximum one-handed damage than two-handed).

Return to “General Mod Making”