Welcome to the DFO World Wiki. With many major updates since the release of DFO, many items are missing. Visit Item Database Project to learn more.
Please remember to click "show preview" before saving the page.
Thanks for the updated logo snafuPop!
Using Mathematical Expressions for Skill Pages
Kinda. The formulas can be found manually in game with a little bit of mathematics.
For most percentage values it goes as follows:
For all values of n >= 1 (with n being the current skill's level):
Base Level 1 Percentage Value + Per Level Multiplier*(n-1)%
For Fixed Damage attacks it works pretty much the same way, just requires a lot more code...
So fixed damage skills are like:
(fixed damage * independent attack) + (independent level multiplier * independent attack)*(n-1);
Not exactly. It would be: (Skill's Level 1 Fixed Damage/Your Independent Attack) + (Independent Attack Level Multiplier) * (n-1)
To solve for the Independent Attack Level Multiplier: Let's treat the 'Independent Attack Level Multiplier' as 'X' and 'n' as the skill's current level.
X = ((Skill's highest possible Fixed Damage/Your Independent Attack) - (The Skill's Level 1 Fixed Damage/Your Independent Attack))/(n-1)
OR
X = (Skill's highest possible fixed damage - Skill's Level 1 Fixed Damage)/(Your Independent Attack * (n-1))
Also, we do have template to calculate the Ratio for Independent Attack called AbsoluteDamage.
{{AbsoluteDamage|472|472}} + {{AbsoluteDamage|472|472}}*(n-1)
Yeah something like that. Thanks for pointing that out to me.
It might even be easier if we just omit the 'Your Independent Attack' from the equation I stated earlier.
So it turns out like this:
X = (Skill's highest possible fixed damage - Skill's Level 1 Fixed Damage)/(n-1)
As mentioned in your example, it would be basically this:
{{AbsoluteDamage|Skill's level 1 Fixed damage|Your Independent Attack}}+{{AbsoluteDamage|X|Your Independent Attack}}*(n-1)
Hey, I've noticed that certain skills like Aura Javelin and Lollipop Crush have quite extensive tables that might hover off the page once we put in the expressions. Do you think it would be better if we keep this information in a table or list them out similarly to the 'Skill Options' in-game?
Because we are now using a single formula instead of listing each level in a table, we don't necessarily need to use tables at all. It's just that the current skill page template automatically takes a table. I actually tried putting two separate tables on the Lolipop Crush page, but the skill page refused to display a second table correctly. I ended up squishing both tables into the single skill growth table.
I guess the question is if we're going to create a new skill page template.
Creating a new skill page template is unnecessary as the table function is completely independent from the template for it to display correctly. You can literally type anything in the area and it should be able to display normally, with the exception of tables or tabs for some reason which require an outer call of
<span style="display:none">{{</span> <span style="display:none">}}</span>
.
To list out the skill options under skill growth, we can always use the SkillAttribute template and put in the individual expressions there.
Is there any limit to the SkillAttribute template? Some skills have lots of various effects and I don't know if it matters what we try to list that way.
The SkillAttribute Template can only hold two arguments, the name of the option and the value (or in this case the skill growth expression).
So in the case of Lollipop Smash, it would be something like this:
*{{SkillAttribute|Level|n}} *{{SkillAttribute|Lv Req|80+2(n-1)}} *{{SkillAttribute|MP|800+133.334(n-1)}} *{{SkillAttribute|Smash Atk|{{AbsoluteDamage|364914|1265}} +{{AbsoluteDamage|37018|1265}}(n-1)}} *{{SkillAttribute|Sugar Doll Explosion Attack|{{AbsoluteDamage|99340|1265}} +{{AbsoluteDamage|10082|1265}}(n-1)}} *{{SkillAttribute|Boss/Named Doll Explosion Attack|{{AbsoluteDamage|233303|1265}} +{{AbsoluteDamage|23668.334|1265}}(n-1)}} *'''{{IconLink|Blind (Status)}} Effect:''' **{{SkillAttribute|Lv|82+2(n-1)}} **{{SkillAttribute|Chance|50%+5(n-1)%}} **{{SkillAttribute|Duration|2+0.5(n-1) sec}} *'''{{IconLink|Shock (Status)}} Effect:''' **{{SkillAttribute|Lv|82+2(n-1)}} **{{SkillAttribute|Chance|50%+10(n-1)%}} **{{SkillAttribute|Atk.|{{AbsoluteDamage|8626|1265}} +{{AbsoluteDamage|875.667|1265}}(n-1)}}
- Level: n
- Lv Req: 80+2(n-1)
- MP: 800+133.334(n-1)
- Smash Atk: 288.47max-width:200px 100+29.26max-width:200px 100(n-1)
- Sugar Doll Explosion Attack: 78.53max-width:200px 100+7.97max-width:200px 100(n-1)
- Boss/Named Doll Explosion Attack: 184.43max-width:200px 100+18.71max-width:200px 100(n-1)
- Blind (Status) Effect:
- Lv: 82+2(n-1)
- Chance: 50%+5(n-1)%
- Duration: 2+0.5(n-1) sec
- Shock (Status) Effect:
- Lv: 82+2(n-1)
- Chance: 50%+10(n-1)%
- Atk.: 6.82max-width:200px 100+0.69max-width:200px 100(n-1)
That doesn't look too bad. Looks nicer than my two tables squished together. I guess we could do things that way. Might make things easier to read for people using smartphones.
Looks good to me too. I suppose we can make this the new makeshift standard. I'll go inform User:Dfoplayer of the change. Let's just be sure to update the older (up-to-date) pages to this format later.
I would probably recommend something that allowed a "live" fiddling with the level, or at least showing the "Level 1 and Max" versions of a skill.
In addition several skills have breakpoints, where it might be better to list what's going on Lesser Spirit: Stalker.
In a perfect world, there would be a widget that had a slider where you could see breakpoints, but that's never going to happen I think.
I don't think pure mathematical expressions are useful for the average player.
Haven't seen you here in a while. Welcome back.
Originally, this was a plan to minimize the amount of editing when it came to updating these skills. After switching to this new format, the amount of editing required to update a recently patched (updated) skill takes up to 5 minutes on average compared to the hours it took before updating each individual value. But I understand what you are suggesting.
I was planning on making a widget that included all levels of the skill, but I encountered a few problems.
Ideally, it would display something similar to the per level Statistic growth as shown on the League of Legends typical champion page. When given a mathematical expression, it would solve the for the values provided, either by a for loop or by being given two values as a arguments stored as variables. However, a few problems arose.
- I couldn't figure out how MediaWiki stores integers as values for parameters to be plugged into an upper limit for the widget or the
#expr
expression. - Certain skills such like Aerial Fire and Lesser Spirit: Stalker had set levels to which which bonuses were unlocked. I wasn't sure if the numbers were based off of the typical rounding numbers rule or by ceil or floor calculations. Additionally, other skills like G-0 Battleroid doesn't seem to have a consistent growth pattern for these attributes (the Lock-On Missile Targets).
- Other skills like Core Shield, Energy Shield, and Light of Divinity do not have a consistent growth pattern when it comes to Shield Health. Most skills tend to follow some kind of arithmetic sequence, and are rarely geometric. These ones are a bit different. I viewed the growth pattern through other sequences, Fibonacci, Triangular Numbers, and Partial Sums, but they do not yield the expressions I required.
Eventually, due to these problems (mostly the latter), I just figured we just write down the expressions.
Perhaps we can meet somewhere in the middle. We could display three parts: n, Min Lv. (Base Lv 1), Max Lv. (According to Lv. Cap) and default to either n or Min Lv. We could separate the values by tabs, and manually input the Min/Max Lv. values. However, I'm worried that the SkillGrowth section may become a bit too cluttered.