I've an rather ineffective and inefficient way requiring no custom scripts at all(it also works on skills having multiple elements although things would be much more complicated).
1. Make states with id s1, s2, s3, ..., sn dedicated to increase the damage of element with id e1, e2, e3, ..., en when skill users have those states.
2. Change the custom damage formulae of skills having Damage Element being element with id ei to something like this:
original_custom_damage_formula * (a.state?(si) ? ei_modifier : 1)or this:
original_custom_damage_plus * (a.state?(si) ? ei_modifier : 1) - original_custom_damage_minusWhere:
original_custom_damage_formula is the original custom damage formula of each of those skills
a.state?(si) checks if a has state with id si
ei_modifier is the damage modifier for element with id ei
original_custom_damage_plus is the positive part of the original custom damage formula
original_custom_damage_minus is the negative part of the original custom damage formula
For example:
Let's say a state with id 1 is dedicated to increase the damage of fire elemental skills(I call this Fire +) by 100%. Suppose there's a skill using fire as the damage element and its original custom damage formula is:
100 + a.mat * 2 - b.mdfThen Fire + can be used to this fire elemental damage skill to increase its damage, by changing its custom damage formula to something like any of the below:
100 * (a.state?(1) ? 2 : 1) + a.mat * 2 - b.mdf
Code:
100 + a.mat * (a.state?(1) ? 4 : 2) - b.mdf
Code:
(100 + a.mat * 2) * (a.state?(1) ? 2 : 1) - b.mdf
Code:
(100 + a.mat * 2 - b.mdf) * (a.state?(1) ? 2 : 1) # only this one increases the final damage output by 100%
Of course this non-scripting way will probably be tedious like hell(especially if you've lots of elements and skills) and any decent custom script will be much more effective and efficient, but sometimes custom scripts might end up being undesirable(like compatibility issues), so a non-scripting way might become what you want.