1.13d Skills.Txt Synergies?
Moderator: Nizari
-
- Posts: 58
- Joined: Fri Mar 09, 2018 10:43 pm
1.13d Skills.Txt Synergies?
I was wondering if it is possible to add or change values of skill synergies. Exemple : Every skill points spent in Chain Lightning adds X% dmg to Lightning
-
- Posts: 67
- Joined: Tue Sep 04, 2012 4:13 am
Re: 1.13d Skills.Txt Synergies?
Hi,
I think this is the field u have to change:
for example you can change it to:
(skill('Charged Bolt'.blvl)+skill('Nova'.blvl))*par8+skill('Chain Lightning'.blvl)*9
so that Chain Lightning adds 9% dmg to Lightning each level, instead of using par8 which is set to 8 by default
or even better change it to
(skill('Charged Bolt'.blvl)+skill('Nova'.blvl))*par8+skill('Chain Lightning'.blvl)*par7
and put a 9 into the par7 field
I think this is the field u have to change:
for example you can change it to:
(skill('Charged Bolt'.blvl)+skill('Nova'.blvl))*par8+skill('Chain Lightning'.blvl)*9
so that Chain Lightning adds 9% dmg to Lightning each level, instead of using par8 which is set to 8 by default
or even better change it to
(skill('Charged Bolt'.blvl)+skill('Nova'.blvl))*par8+skill('Chain Lightning'.blvl)*par7
and put a 9 into the par7 field
-
- Posts: 58
- Joined: Fri Mar 09, 2018 10:43 pm
Re: 1.13d Skills.Txt Synergies?
Thanks a lot that makes a lot of sense and I'll take a good look at that, but is par always the exact dmg% increase ?
From what I remember though the vast majority of skills dont add 8% each and I wonder if it is because it has been designed/rebalanced in later patches or maybe they actually do but only the Skill description graphic** has never been updated. Who knows ? That will give me a lot to think about for the next few days because I planned so many changes
** Actually this might all be stored in a .tbl file which would make it a lot easier to change if it the case.
From what I remember though the vast majority of skills dont add 8% each and I wonder if it is because it has been designed/rebalanced in later patches or maybe they actually do but only the Skill description graphic** has never been updated. Who knows ? That will give me a lot to think about for the next few days because I planned so many changes
** Actually this might all be stored in a .tbl file which would make it a lot easier to change if it the case.
- HarvestWombs
- Arch-Angel
- Posts: 1019
- Joined: Wed May 25, 2011 11:50 pm
Re: 1.13d Skills.Txt Synergies?
Par8 doesn't mean 8%, it's a reference to the column "Par8" which is... parameter
-
- Posts: 58
- Joined: Fri Mar 09, 2018 10:43 pm
Re: 1.13d Skills.Txt Synergies?
Thx a lot Black_Eternity That now makes a lot more sense to me, I still havent open'd it to take a look but I will soon. That also explains how you can get more synergy bonuses besides dmg (Like defense% and what not).
Re: 1.13d Skills.Txt Synergies?
Don't forget to edit SkillsDesc.txt, so that the new synergies show up.
For archieving special synergies, other than elemental damage or elemental duration: You might try to edit cells inside of skills.txt where you are allowed to enter calculations: viewtopic.php?t=24813.
Columns like these:
auralencalc
aurarangecalc
aurastatcalc1
aurastatcalc2
aurastatcalc3
aurastatcalc4
aurastatcalc5
aurastatcalc6
passivecalc1
passivecalc2
passivecalc3
passivecalc4
passivecalc5
Look at examples like Shiver Armor.
Also, be careful with passive spells.
Edit: I forgot to set par8 for Nova or Telekinesis- be careful with that, too.
For archieving special synergies, other than elemental damage or elemental duration: You might try to edit cells inside of skills.txt where you are allowed to enter calculations: viewtopic.php?t=24813.
Columns like these:
auralencalc
aurarangecalc
aurastatcalc1
aurastatcalc2
aurastatcalc3
aurastatcalc4
aurastatcalc5
aurastatcalc6
passivecalc1
passivecalc2
passivecalc3
passivecalc4
passivecalc5
Look at examples like Shiver Armor.
Also, be careful with passive spells.
Edit: I forgot to set par8 for Nova or Telekinesis- be careful with that, too.
-
- Posts: 58
- Joined: Fri Mar 09, 2018 10:43 pm
Re: 1.13d Skills.Txt Synergies?
Thanks to everyone for contributing on this post ! I made this a quite some time ago because I knew I would use the information at some point but didnt get to it until now.
From what I understand the field EDmgSymPerCalc is used to add syngery damage to elemental/magic skills and DmgSymPerCalc is used to add synergy damage to physical skills.
I tried to add synergy damage to Strafe for every point in multiple shot by putting (skill('Multiple Shot'.blvl)) * par8 and set par8 to 500 ( for testing puposes ) but this shows no results in the game,
neither on the character sheet or when used on monsters.
Is any other field required for a skill that didnt previously have a synergy ? Maybe a function that checks for synergies
Edit : I noticed that for most Physical skills ( like paladin zeal or barbarian double swing ) the field DmgSymperCalc isnt used for synergies but rather they use an additionnal calc in the calc1-4 fields probably because the base skill also adds damage, which is not the case with strafe.
From what I understand the field EDmgSymPerCalc is used to add syngery damage to elemental/magic skills and DmgSymPerCalc is used to add synergy damage to physical skills.
I tried to add synergy damage to Strafe for every point in multiple shot by putting (skill('Multiple Shot'.blvl)) * par8 and set par8 to 500 ( for testing puposes ) but this shows no results in the game,
neither on the character sheet or when used on monsters.
Is any other field required for a skill that didnt previously have a synergy ? Maybe a function that checks for synergies
Edit : I noticed that for most Physical skills ( like paladin zeal or barbarian double swing ) the field DmgSymperCalc isnt used for synergies but rather they use an additionnal calc in the calc1-4 fields probably because the base skill also adds damage, which is not the case with strafe.
Re: 1.13d Skills.Txt Synergies?
I have no expirience with physical damage stuff. But from my research:
Skills.txt Guide: Go to SrcDamage.
The value 96 is the reason, why the skills uses 75% of weapon damage, 96/128 = 3/4 = 0.75 = 75%
Skills.txt Guide: Go to DmgSymPerCalc (a few lines below SrcDamage).
Skills.txt File: Go to the parameter columns. You will find:
Param1
Entry: 5
*Param1 Description
Entry: Damage increase
Param2
Entry: 5
*Param2 Description
Entry: Damage increase per level
Param 1 and Param 2 can increase the damage. Param 1 & 2 is used inside of column calc2:
column calc2 entry: ln12
note: ln12 = par1 + (par2 * (lvl - 1))
You can use calc2 to increase the damage. I think the server-start-function and server-go-function choose how the damage is calculated and where the values are taken from (in this case it's calc2).
Since I don't have any experience with physical damage, is the damage formula for strafe
Damage = BaseDamage * 75% * (100% + BonusDamage%)
or
Damage = BaseDamage * (75% + BonusDamage%)
???
I will asume the correct formula is the first one.
Damage = BaseDamage * 75% * (100% + BonusDamage%)
= BaseDamage * 0.75 * (100 + clc2)/100
BonusDamage = The Entry-Value inside of column calc2 = clc2 (original value is ln12 | I use clc2, because that's the official variable-name for the entry of calc2, like par1 is for Param1)
Let's find out what we need to enter into calc2, in order to get synergy-bonuses!
Lets call the original damage calculation "OriginalDamage":
OriginalDamage = BaseDamage * 75% * (100% + SkillLevelingBonuses%)
OriginalDamage = BaseDamage * 75% * (100% + originalCalc2%)
OriginalDamage = BaseDamage * 75% * (100%+ ln12%)
OriginalDamage = BaseDamage * 0.75 * (100 + ln12)/100
Our synergy-parameter will be par8.
For readability, I will simplify our synergy-calculation, by calling it SynergyBonus.
(par8 * skill('Multiple Shot'.blvl)) = SynergyBonus
Our wishful new damage is supposed to be
NewDamage = OriginalDamage * (1 + SynergyBonus%)
= OriginalDamage * (100 + SynergyBonus)/100
We can do some math to make it look similar to damage-formula.
NewDamage = OriginalDamage * (100 + SynergyBonus)/100
= BaseDamage * 0.75 * (100 + ln12)/100 * (100 + SynergyBonus)/100
= BaseDamage * 0.75 * (100 + ln12)* (100 + SynergyBonus)/10000
= BaseDamage * 0.75 * (100 * (100 + SynergyBonus) + ln12* (100 + SynergyBonus))/10000
= BaseDamage * 0.75 * (10000 + 100*SynergyBonus + 100*ln12+ ln12*SynergyBonus)/10000
= BaseDamage * 0.75 * (100 + SynergyBonus + ln12+ (ln12*SynergyBonus)/100 )/100
= BaseDamage * 0.75 * (100 + SynergyBonus + ln12+ (ln12*SynergyBonus)/100 )/100
= BaseDamage * 0.75 * (100 + (100 + ln12) * (100 + SynergyBonus) /100 - 100 )/100
The original damage calculation is:
OriginalDamage = BaseDamage * 0.75 * (100 + ln12)/100
Our new damage, that countains our synergy bonuses, is:
NewDamage = BaseDamage * 0.75 * (100 + (100 + ln12) * (100 + SynergyBonus) /100 - 100 )/100
The Damage-Formula is:
Damage = BaseDamage * 0.75 * (100 + clc2)/100
So, in order to give our spell its synergy, we need to replace the original calc2 entry
clc2 = ln12
with
clc2 = (100 + ln12) * (100 + SynergyBonus) /100 - 100
Replace SynergyBonus with whatever the formula for synergy is, like
(par8 * skill('Multiple Shot'.blvl))
Final calc2-formula:
(100 + ln12) * (100 + (par8 * skill('Multiple Shot'.blvl))) /100 - 100
where par8 is the synergy-bonus in percent.
I hope no errors were done.
This Synergy-Bonus won't be shown inside of the skill description. If you want the Synergy to show up inside of skill description, edit SkillDesc.txt. If there is any auto-calculated exact damage (like Fire Bolt "Damage: 2-3" or similar stuff) inside of skill description, then that damage will probably be updated automatically. Most stuff needs to be changed manually. The Damage Bonus "5%" (or whatever the Damage Bonus for the current skill level is) won't include synergies inside of its calculation. You need to go to SkillDesc.txt and change all "ln12" entries, if you want it to show the effect of the synergies. Or create an additional skill-description-line, that only shows the synergy-bonus. You should test the damage before doing complicated stuff inside of skilldesc.txt, I might have done an error somewhere or it might not work as expected.
Skills.txt Guide: Go to SrcDamage.
The value 96 is the reason, why the skills uses 75% of weapon damage, 96/128 = 3/4 = 0.75 = 75%
Skills.txt Guide: Go to DmgSymPerCalc (a few lines below SrcDamage).
The 75% won't be increased.DmgSymPerCalc: This field controls the synergy bonus (a percentage) added to the physical damage done by the skill (this does not influence physical damage passed over by SrcDamage).
Skills.txt File: Go to the parameter columns. You will find:
Param1
Entry: 5
*Param1 Description
Entry: Damage increase
Param2
Entry: 5
*Param2 Description
Entry: Damage increase per level
Param 1 and Param 2 can increase the damage. Param 1 & 2 is used inside of column calc2:
column calc2 entry: ln12
note: ln12 = par1 + (par2 * (lvl - 1))
You can use calc2 to increase the damage. I think the server-start-function and server-go-function choose how the damage is calculated and where the values are taken from (in this case it's calc2).
Since I don't have any experience with physical damage, is the damage formula for strafe
Damage = BaseDamage * 75% * (100% + BonusDamage%)
or
Damage = BaseDamage * (75% + BonusDamage%)
???
I will asume the correct formula is the first one.
Damage = BaseDamage * 75% * (100% + BonusDamage%)
= BaseDamage * 0.75 * (100 + clc2)/100
BonusDamage = The Entry-Value inside of column calc2 = clc2 (original value is ln12 | I use clc2, because that's the official variable-name for the entry of calc2, like par1 is for Param1)
Let's find out what we need to enter into calc2, in order to get synergy-bonuses!
Lets call the original damage calculation "OriginalDamage":
OriginalDamage = BaseDamage * 75% * (100% + SkillLevelingBonuses%)
OriginalDamage = BaseDamage * 75% * (100% + originalCalc2%)
OriginalDamage = BaseDamage * 75% * (100%+ ln12%)
OriginalDamage = BaseDamage * 0.75 * (100 + ln12)/100
Our synergy-parameter will be par8.
For readability, I will simplify our synergy-calculation, by calling it SynergyBonus.
(par8 * skill('Multiple Shot'.blvl)) = SynergyBonus
Our wishful new damage is supposed to be
NewDamage = OriginalDamage * (1 + SynergyBonus%)
= OriginalDamage * (100 + SynergyBonus)/100
We can do some math to make it look similar to damage-formula.
NewDamage = OriginalDamage * (100 + SynergyBonus)/100
= BaseDamage * 0.75 * (100 + ln12)/100 * (100 + SynergyBonus)/100
= BaseDamage * 0.75 * (100 + ln12)* (100 + SynergyBonus)/10000
= BaseDamage * 0.75 * (100 * (100 + SynergyBonus) + ln12* (100 + SynergyBonus))/10000
= BaseDamage * 0.75 * (10000 + 100*SynergyBonus + 100*ln12+ ln12*SynergyBonus)/10000
= BaseDamage * 0.75 * (100 + SynergyBonus + ln12+ (ln12*SynergyBonus)/100 )/100
= BaseDamage * 0.75 * (100 + SynergyBonus + ln12+ (ln12*SynergyBonus)/100 )/100
= BaseDamage * 0.75 * (100 + (100 + ln12) * (100 + SynergyBonus) /100 - 100 )/100
The original damage calculation is:
OriginalDamage = BaseDamage * 0.75 * (100 + ln12)/100
Our new damage, that countains our synergy bonuses, is:
NewDamage = BaseDamage * 0.75 * (100 + (100 + ln12) * (100 + SynergyBonus) /100 - 100 )/100
The Damage-Formula is:
Damage = BaseDamage * 0.75 * (100 + clc2)/100
So, in order to give our spell its synergy, we need to replace the original calc2 entry
clc2 = ln12
with
clc2 = (100 + ln12) * (100 + SynergyBonus) /100 - 100
Replace SynergyBonus with whatever the formula for synergy is, like
(par8 * skill('Multiple Shot'.blvl))
Final calc2-formula:
(100 + ln12) * (100 + (par8 * skill('Multiple Shot'.blvl))) /100 - 100
where par8 is the synergy-bonus in percent.
I hope no errors were done.
This Synergy-Bonus won't be shown inside of the skill description. If you want the Synergy to show up inside of skill description, edit SkillDesc.txt. If there is any auto-calculated exact damage (like Fire Bolt "Damage: 2-3" or similar stuff) inside of skill description, then that damage will probably be updated automatically. Most stuff needs to be changed manually. The Damage Bonus "5%" (or whatever the Damage Bonus for the current skill level is) won't include synergies inside of its calculation. You need to go to SkillDesc.txt and change all "ln12" entries, if you want it to show the effect of the synergies. Or create an additional skill-description-line, that only shows the synergy-bonus. You should test the damage before doing complicated stuff inside of skilldesc.txt, I might have done an error somewhere or it might not work as expected.
-
- Posts: 58
- Joined: Fri Mar 09, 2018 10:43 pm
Re: 1.13d Skills.Txt Synergies?
As I suspected, to add a physical damage calc to a skill that doesnt already have one you need to change the server start and server do functions. Thanks a lot for the reply, it contained lots of useful information !
Now ill probably have to do a good amount of trial and error to figure out to what extent we can use srvstfunc srvdofunc.
Edit : I also suspect some of it is hardcoded because when you look at magic arrow, it doesnt have any information in any field and even svrstfunc and svrdofunc are empty and it still converts phys damage to magic damage
Re: 1.13d Skills.Txt Synergies?
Magic arrow converts damage to magical via missile func and the conversion ammount is editable. You can even make it a calc. Damage tyle conversion is also editable. Check it in missiles.txt
You can add physical damage to any damage dealing skill and make a synergy for it. It has nothing to do with skill funcs if it's damage dealing type already.
You can add physical damage to any damage dealing skill and make a synergy for it. It has nothing to do with skill funcs if it's damage dealing type already.
-
- Posts: 58
- Joined: Fri Mar 09, 2018 10:43 pm
Re: 1.13d Skills.Txt Synergies?
You are right about this, the magical damage conversion is done in Missiles.txt. Same goes for Cold and Fire arrow and their respective conversion.Nizari wrote: ↑Mon Jun 11, 2018 7:39 amMagic arrow converts damage to magical via missile func and the conversion ammount is editable. You can even make it a calc. Damage tyle conversion is also editable. Check it in missiles.txt
You can add physical damage to any damage dealing skill and make a synergy for it. It has nothing to do with skill funcs if it's damage dealing type already.
I was gonna make a new topic regarding something similar, Im not sure if i should do it or it would be considered spamming anyways I can always move this if needs be.
I dont know if this is the case for all versions but in 1.13c at least the skill Exploding Arrow applies the weapon damage to the whole explosion radius instead on only the target hit by the missile itself, Ive tried remove the SrcDmg from Exploding arrow but that removes the weapon damage on the missiles but still applies it through the explosion radius which is the opposite of what I intend to do.
I believe this would also be done in Missiles.txt Ive tried to make exploding arrow behave like freezingarrow without success is this controled by a submissile withing missiles txt ?