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!

Difference between revisions of "User:Altair"

From DFO World Wiki
Jump to: navigation, search
m
m (Testing Grounds)
 
(157 intermediate revisions by the same user not shown)
Line 1: Line 1:
<center>{{HiddenTextStart|
+
{| cellpadding="2" cellspacing="2" style="float: right; width: 250px; padding: 6px; margin: 0 0 1em 1em; font-size: 0.83em; background-color: #f7f8ff; border:1px solid #8888aa"
|Title= Current Status: Busy
+
|- style="background: #ccccff"
 +
!colspan="2" style="text-align: center"|<big>'''Altair'''</big>
 +
|-
 +
|colspan="2" style="text-align: center"|[[File:Pumpkin Ball.png]]
 +
|-
 +
| style="background: #ccccff;" width="80"|<b>Server</b> || <code>DFOG - Cain</code>
 +
|-
 +
| style="background: #ccccff;" width="80"|<b>Explorer Club</b> || <code>Lorekeeper</code>
 +
|-
 +
| style="background: #ccccff;" width="80"|<b>Discord</b> || <code>彦星#2353</code>
 +
|}
 +
 
 +
{{HiddenTextStart|
 +
|Title= Current Status: Updating In-Game Lore and Skill Pages
 +
|Width=500
 +
|Show=none
 +
}}
 +
*Translating Story files.
 +
*Making Mods
 +
*Looking through pre-recorded quest gameplay videos to empty space on my computer while updating Origin Quests
 +
*Looking through DFOG and KDNF image files.
 +
*Adding weapons to the Item Database.
 +
{{HiddenTextEnd}}
 +
{{HiddenTextStart|
 +
|Title= Update Queue
 +
|Width=500
 +
|Show=
 +
}}
 +
*'''PRIORITY:'''
 +
**DFO [[User:Altair/Lore Archive|Lore Project]]
 +
<!--***Translating the CDnF Comic: [https://docs.google.com/document/d/14XGZjRWhvOcb7l0mxTcZPD9lR1qn9XdsL94e0ZzIRuQ/edit?usp=sharing ''The Will of Fighters''] -->
 +
***Translating [[Lore Episode]]s
 +
**Updating Skill Pages
 +
**Origin Quests
 +
*'''ON HOLD'''
 +
**Updating NPC merchants and adding their items.
 +
**Adding Cards/Beads/Emblems to Item list template.
 +
**Exclusive Quests for [[Dark Knight]], [[Creator]] subclasses
 +
{{HiddenTextEnd}}
 +
{{HiddenTextStart|
 +
|Title= Pages that need reformatting
 
|Width=500
 
|Width=500
 
|Show=none
 
|Show=none
 
}}
 
}}
I'll be back on later to binge edit this weekend. I will finish updating Spitfire skill pages by next Monday.
+
'''Finished Pages:'''
{{HiddenTextEnd}}</center>
+
*[[Male Gunner]]
 +
*[[Female Gunner]]
 +
*[[Female Slayer]]
 +
*[[Demonic Lancer]]
 +
{{HiddenTextEnd}}
  
Greetings~
+
Greetings~ ಠ_ರೃ
  
If you see an influx my edits in the Recent Changes during a specific time, there is a high probability that I will be checking in on IRC. If you have any questions, direct them to the IRC name: Altair.
+
I am one of the editors on the wiki. If you have any questions, suggestions, or complaints about the format or information, send them to me. I'll try to get back to you whenever I'm available. Note, I can only update when I have free time and as fast as I can level my characters; so please be patient when it comes to updating outdated pages.
  
Active Characters on DFOG-Delezie (soon to be Cain):
+
If you have any questions/require help in game/want to talk about something, send me a message. I'm usually on Discord. I'll be happy to comply.
*Lv. 85 Marshal
 
*Lv. 85 Hell Freezer
 
*Lv. 85 Metalheart
 
 
 
If you guys have any questions or require help in game, send me a message. I will not respond to item donation requests.
 
  
 +
<hr>
 
'''Notification(s):'''
 
'''Notification(s):'''
*Currently taking college classes. I may not be online or may be taking long periodical breaks between edits after 8/24.
+
*I will be updating the PvP values after I'm done with my PvE class skill update quota. Until I can find the PvP skill growth scalar values for Independent Atk., this will be delayed.  
*I will be updating the PvP values after I'm done with my PvE class skill update quota listed [[Talk:The_Great_Skill_Metastasis_Project#Class Info Volunteer List|here]].
 
*I don't plan on editing the Epic Quests page for Forgotten Land Quests and Feat Quests for Ancient/Otherverse Dungeons any time soon.
 
  
 
==Outdated/Incorrect Information==
 
==Outdated/Incorrect Information==
Line 28: Line 66:
 
   
 
   
 
==What I do...==
 
==What I do...==
*'''Update Pages:''' Cleaning up and updating Quest and Skill pages, specifically pertaining to the Male Mage and M/F Gunner.
+
*'''Update Pages:''' Cleaning up and updating Quest and Skill pages.
  
 
*'''Create Pages:''' I hate dead or non-existent links, particularly if the page is rather crucial to the wiki. I usually create skeletons for new pages that will hopefully be updated in the future.
 
*'''Create Pages:''' I hate dead or non-existent links, particularly if the page is rather crucial to the wiki. I usually create skeletons for new pages that will hopefully be updated in the future.
 
*'''Create Videos:''' '''<Postponed>''' I find that some of the current videos for the Male Mage to be outdated. They do a poor job in portraying the skill's maximum potential and utility.  Once the DFO NA Beta is released, I plan to make updated videos of class skills for the Male Mage class and Glacial Master showing the significant differences in skill level or in PvE vs. PvP  for particular skills which involves stats such Size, Distance traveled, Multi-hit duration etc...  For example, for the new [[Broken Arrow]] skill video, I plan to feature the combos and skills that can be done in-between the interval of the Final Attack.  If you want me to include any extra information for the videos just send me a message.
 
**'''Note:''' I plan the following classes in the future (in order of priority): Mechanic (F), Mechanic (M), Spitfire(M), Kunoichi, Spitfire (F), Elemental Bomber, Monk, Crusader, and Soul Bender.  If there is any need for video updates for these classes in the future, I will "probably" create videos for them as well.
 
 
*If you need help with something, send me a message.  With my main priorities done, I can transition to other class or skill pages upon request.
 
  
 
*'''Note:''' If there is an influx of edits pertaining to a particular page, I am apologize in advance.  I have a problem with obsessing over consistent formatting. Either that, or I am tired and miss things while editing.
 
*'''Note:''' If there is an influx of edits pertaining to a particular page, I am apologize in advance.  I have a problem with obsessing over consistent formatting. Either that, or I am tired and miss things while editing.
Line 57: Line 90:
 
**You can use the function: style="background-color: #[INSERT X11 COLOR CODE HERE];" while declaring a row/column.  This changes the color of the particular cell.  Of course, take off the brackets when inserting the X11 code.
 
**You can use the function: style="background-color: #[INSERT X11 COLOR CODE HERE];" while declaring a row/column.  This changes the color of the particular cell.  Of course, take off the brackets when inserting the X11 code.
  
===Other Sources of Information===
+
==Sources of Information==
 
*If you want a skill planner you can use the following link(s):  
 
*If you want a skill planner you can use the following link(s):  
 
**[http://dnf.exrpg.com/skill/ EXRPG.DNF] It's a bit outdated, but it enables you to have a pretty good understanding of your basic skill priorities. It does show how the TP skills affect the growth of your skills. It also provides a link to items that boost the level of your skills.  '''Note:''' This builder does not include the classes for Knight or Second Awakenings.  Also, the QP system is outdated.
 
**[http://dnf.exrpg.com/skill/ EXRPG.DNF] It's a bit outdated, but it enables you to have a pretty good understanding of your basic skill priorities. It does show how the TP skills affect the growth of your skills. It also provides a link to items that boost the level of your skills.  '''Note:''' This builder does not include the classes for Knight or Second Awakenings.  Also, the QP system is outdated.
 
**[http://dnf.duowan.com/s/jnmn/nfs.html dnf.duowan] It's a more recent builder.  This builder contains everything, but I can't seem to find a way to display the stats for PvP... '''Note:''' Some of the data on this builder has a tendency to be misrepresented or be wrong.
 
**[http://dnf.duowan.com/s/jnmn/nfs.html dnf.duowan] It's a more recent builder.  This builder contains everything, but I can't seem to find a way to display the stats for PvP... '''Note:''' Some of the data on this builder has a tendency to be misrepresented or be wrong.
 +
*Niceboatsoss's Naver Blog: [https://blog.naver.com/prologue/PrologueList.nhn?blogId=niceboatsoss link]
 
*Arad Senki Wiki: [http://dnf.wikiwiki.jp/?FrontPage link]
 
*Arad Senki Wiki: [http://dnf.wikiwiki.jp/?FrontPage link]
 +
*Namu Wiki: [https://namu.wiki/w/%EC%95%84%EB%9D%BC%EB%93%9C%20%EB%AA%A8%ED%97%98%EB%8B%A8 link] ('''Warning:''' Pages may contain subjective/incorrect information.)
 +
*CDnF Wiki: [https://dnfcn.huijiwiki.com/wiki/%E9%A6%96%E9%A1%B5 link]
 +
*CDnF Wikia: [https://dnf.fandom.com/zh/wiki/%E5%9C%B0%E4%B8%8B%E5%9F%8E%E4%B8%8E%E5%8B%87%E5%A3%AB_Wiki link]
 +
*KDnF Nexon Site: [http://df.nexon.com/df/guide/dictionary link]
 +
*KDnF Neople Developers APIDocs: [https://developers.neople.co.kr/contents/apiDocs link]
  
 
===Quest Table Format===
 
===Quest Table Format===
Line 83: Line 122:
 
==Need Help Acquiring Skill Data?==
 
==Need Help Acquiring Skill Data?==
 
If you ever require skill data up to 85, here's a helpful guide on how to get it through normal means without leveling your character to 85:
 
If you ever require skill data up to 85, here's a helpful guide on how to get it through normal means without leveling your character to 85:
*1) Get a character to Lv. 35
+
*1) Get a character to Lv. 50
 
*2) Go to Arena
 
*2) Go to Arena
 
*3) Go through the skill levels with options F4 and F7 enabled to Dungeon. Hover your cursor over the skill icon in your HUD to receive these values. You must save changes to update the values.
 
*3) Go through the skill levels with options F4 and F7 enabled to Dungeon. Hover your cursor over the skill icon in your HUD to receive these values. You must save changes to update the values.
Line 91: Line 130:
 
**Note: Certain skills may be disabled in Arena. If so, edit as much as you are able for the values in Town.
 
**Note: Certain skills may be disabled in Arena. If so, edit as much as you are able for the values in Town.
 
**Note: This process is intended for basic class skills, NOT Awakening skills. If you have Awakening skill values, send them to me, I'll see if I can find any builders online that have the values. Worst case scenario is that the data may need to be manually inputted, but this is quite rare.
 
**Note: This process is intended for basic class skills, NOT Awakening skills. If you have Awakening skill values, send them to me, I'll see if I can find any builders online that have the values. Worst case scenario is that the data may need to be manually inputted, but this is quite rare.
 +
===Awakening Values===
 +
Awakening Skills cannot be decreased in level. However, with the Mathematical expression format, it is easier to use a growth formula to track these values rather than leveling a character manually every 5 levels. Instead, if you already have the class character at Lv. 85~90 to get the Lv 9 bonuses, you can create a level 15 character and record the base Awakening values there. Making multiple Lv 15 characters is unnecessary as you can "Try" out multiple different sub-classes and record the values there.
 +
===Sources of Info===
 +
For certain cases, you may want to reference the [https://developers.neople.co.kr/contents/apiDocs Neople Developers API Documents]. It contains all the skill information located in the Script.pvf file that is currently LIVE on the KDnF server. In order to access the Neople API, you'll need an APIKey, which can be obtained by registering an account via Facebook, Google, or Naver account. Afterward, use the last two document options located on the page to find what you are looking for. That being said, you'll need to be able to translate some Hangul to be able to read/match some of the information properly.
 +
 +
=Testing Grounds=
 +
===Test Timeline: Arad Adventure Era===
 +
{{Horizontal timeline
 +
|title=Arad Adventure Era <small>(A.Y. 0 - 800)</small>
 +
|title-colour=
 +
|caption=
 +
|margin=
 +
|collapsible=no
 +
|Row1={{note row
 +
|from=1
 +
|to=800
 +
|1-at=1
 +
|1-text=<br>
 +
|1-shift=
 +
|1-lift=10
 +
|1-arrow=no
 +
}}
 +
|Row2={{note row
 +
|from=1
 +
|to=800
 +
|1-at=1
 +
|1-text=A.Y. 1 - Start of the new Arad Calendar. [[Sky Tower]] is sealed by [[Bakal]].
 +
|1-shift=
 +
|1-lift=8
 +
|1-arrow=
 +
|2-at=68
 +
|2-text=A.Y. 68 - The [[Pelos Empire]] unifies the Arad Continent.
 +
|2-shift=
 +
|2-lift=6
 +
|2-arrow=
 +
|3-at=100
 +
|3-text=A.Y. 100 - The [[Berserk Dragon Hismar]] appears in Arad.
 +
|3-shift=
 +
|3-lift=4
 +
|3-arrow=
 +
|4-at=152
 +
|4-text=A.Y. 152 - [[Kazan]] and [[Ozma]] slay Hismar.
 +
|4-shift=
 +
|4-lift=2
 +
|4-arrow=
 +
|5-at=157
 +
|5-text=A.Y. 157 - The Fall of Kazan and Ozma.
 +
|5-shift=
 +
|5-lift=
 +
|5-arrow=
 +
|6-at=652
 +
|6-text=A.Y. 652 - [[Battle of Cantion]]
 +
|6-shift=
 +
|6-lift=
 +
|6-arrow=
 +
}}
 +
|Row3={{timeline row
 +
|colour =
 +
|border =
 +
|border-top =
 +
|border-bottom =
 +
|from=1
 +
|to=800
 +
|1-text =
 +
|1-to = 68
 +
|1-colour=
 +
|2-text = [[Pelos Empire]] <small>(A.Y. 68-357)</small>
 +
|2-to = 357
 +
|2-colour=lightblue
 +
|3-text =
 +
|3-to = 655
 +
|3-colour=
 +
|4-text = [[De Los Empire]] <small>(A.Y. 655-Present)</small>
 +
|4-to = 800
 +
|4-colour=lightblue
 +
}}
 +
|Row5={{timeline row
 +
|colour =
 +
|border =
 +
|border-top =
 +
|border-bottom =
 +
|from=1
 +
|to=800
 +
|1-text =
 +
|1-to = 253
 +
|1-colour=
 +
|2-text = The [[Black Crusade]] <small>(A.Y. 253-347)</small>
 +
|2-to = 347
 +
|2-colour=lightgray
 +
}}
 +
|Row6={{timeline row
 +
|colour =
 +
|border =
 +
|border-top =
 +
|border-bottom =
 +
|from=1
 +
|to=800
 +
|1-text =
 +
|1-to = 0
 +
|1-colour=
 +
|2-text = [[Age of Darkness of Empyrean]] <small>(A.Y. 1-526)</small>
 +
|2-to = 526
 +
|2-colour= lightgreen
 +
|3-text =
 +
|3-to = 530
 +
|3-colour=
 +
|4-text = [[Seventh Empire of Empyrean]] <small>(A.Y. 530-Present)</small>
 +
|4-to = 800
 +
|4-colour= lightgreen
 +
}}
 +
|Row7={{timeline row
 +
|colour =
 +
|border =
 +
|border-top =
 +
|border-bottom =
 +
|from=1
 +
|to=800
 +
|1-text =
 +
|1-to = 74
 +
|1-colour=
 +
|2-text = [[Kingdom of Fennes]] <small>(A.Y. 74-Present)</small>
 +
|2-to = 800
 +
|2-colour=beige
 +
}}
 +
|Row8={{timeline row
 +
|colour =
 +
|border =
 +
|border-top =
 +
|border-bottom =
 +
|from=1
 +
|to=800
 +
|1-text =
 +
|1-to = 483
 +
|1-colour=
 +
|2-text = [[Principality of Bel Myre]] <small>(A.Y. 483-Present)</small>
 +
|2-to = 800
 +
|2-colour=orange
 +
}}
 +
|Row14={{Scale row
 +
|from=1
 +
|to=800
 +
|increment=50
 +
}}
 +
}}
 +
 +
===Navigation Templates===
 +
 +
==== Sort Testing ====
 +
'''Maps:'''<br>
 +
<pre>{{#ask: [[Category:Metro Center Dungeons]]
 +
|format=list
 +
|sep=&nbsp;{{!}}&nbsp;
 +
|sort=Has dungeon entrance level requirement
 +
}}</pre>
 +
{{#ask: [[Category:Metro Center Dungeons]]
 +
|format=list
 +
|sep=&nbsp;{{!}}&nbsp;
 +
|sort=Has dungeon entrance level requirement
 +
}}
 +
 +
<pre>{{#ask: [[Category:Metro Center Dungeons]][[Category:!Special Dungeons]]
 +
|format=list
 +
|sep=&nbsp;{{!}}&nbsp;
 +
|sort=Has dungeon entrance level requirement
 +
}}</pre>
 +
{{#ask: [[Category:Metro Center Dungeons]]
 +
|format=list
 +
|sep=&nbsp;{{!}}&nbsp;
 +
|sort=Has dungeon entrance level requirement
 +
}}
 +
 +
'''NPCs:'''<br>
 +
<pre>{{#ask: [[Category:NPCs]][[Has location::Elvenguard]]
 +
|format=list
 +
|sep=&nbsp;{{!}}&nbsp;
 +
}}</pre>
 +
{{#ask: [[Category:NPCs]][[Has location::Elvenguard]]
 +
|format=list
 +
|sep=&nbsp;{{!}}&nbsp;
 +
}}
 +
 +
==== Dfoplayer's Updated DungeonNav Template ====
 +
<center>
 +
{| style="text-align: center; font-size: 12px;" width="80%" class="collapsible"
 +
! colspan="2"  style="background-color: #a0c6e3;" |[[Dungeon|Dungeons]]
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Grand Flores]]''' <small>(LV 1~16)</small>|| <div align="left">{{#ask: [[Category:Grand Flores dungeons]] | format=list|sep=&nbsp;{{!}}&nbsp;|sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Sky Tower]]''' <small>(LV 17~23)</small>|| <div align="left">{{#ask: [[Category:Sky Tower dungeons]] | format=list|sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Behemoth Sanctuary|Behemoth]]''' <small>(LV 24~29)</small>|| <div align="left">{{#ask: [[Category:Behemoth dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp;|sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Aphelia]]''' <small>(LV 30~35)</small>|| <div align="left">{{#ask: [[Category:Aphelia dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp;|sort=Has dungeon entrance level requirement  }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Noire Ferra]]''' <small>(LV 36~39)</small>|| <div align="left">{{#ask: [[Category:Noire Ferra Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp;|sort=Has dungeon entrance level requirement  }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Mount Thunderime]]''' <small>(LV 40~45)</small>|| <div align="left">{{#ask: [[Category:Storm Pass dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[North Myre]]''' <small>(LV 46~49)</small>|| <div align="left">{{#ask: [[Category:North Myre dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp;|sort=Has dungeon entrance level requirement  }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Abnova]]''' <small>(LV 50~53)</small>|| <div align="left">{{#ask: [[Category:Abnova Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Meltdown]]''' <small>(LV 54~57)</small>|| <div align="left">{{#ask: [[Category:Meltdown Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Inverted Waterfall]]''' <small>(LV 57~62)</small>|| <div align="left">{{#ask: [[Category:Inverted Waterfall Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Antwer Canyon]]''' <small>(LV 63~70)</small>|| <div align="left">{{#ask: [[Category:Antwer Canyon Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Oceanic Express]]''' <small>(LV 71~74)</small>|| <div align="left">{{#ask: [[Category:Oceanic Express Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Time Gate]]''' <small>(LV 75~80)</small>|| <div align="left">{{#ask: [[Category:Time Gate Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Power Station]]''' <small>(LV 81~83)</small>|| <div align="left">{{#ask: [[Category:Power Station Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Anton]]''' <small>(LV 84~85)</small>|| <div align="left">{{#ask: [[Has location::Anton]] | format=list||sep=&nbsp;{{!}}&nbsp; }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Castle of the Dead]]''' <small>(LV 85~86)</small>|| <div align="left">{{#ask: [[Has location::Castle of the Dead]] | format=list||sep=&nbsp;{{!}}&nbsp; }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Luke's Laboratory]]''' <small>(LV 87~90)</small>|| <div align="left">{{#ask: [[Has location::Luke's Laboratory]] | format=list||sep=&nbsp;{{!}}&nbsp; }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Metro Center]]''' <small>(LV 87~90)</small>|| <div align="left">{{#ask: [[Category:Metro Center Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement  }}</div>
 +
<!--
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Harlem]]''' <small>(LV 90~95)</small>|| <div align="left">{{#ask: [[Has location::Harlem]] | format=list||sep=&nbsp;{{!}}&nbsp; }}</div>
 +
-->
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Guild Dungeon]]''' <small>(LV 1~90)</small>|| <div align="left">{{#ask: [[Category:Guild Hideout Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Golden Road]]''' <small>(LV 25~90)</small>|| <div align="left">{{#ask: [[Category:Golden Road Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Valley of Fallen Souls]]''' <small>(LV 50~90)</small>|| <div align="left">{{#ask: [[Category:Valley of Fallen Souls dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp;|sort=Has dungeon entrance level requirement  }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Interdimensional Rift]]''' <small>(LV 70~90)</small>|| <div align="left">{{#ask: [[Has location::Interdimensional Rift]] | format=list||sep=&nbsp;{{!}}&nbsp; }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Suju Arena]]''' <small>(LV 75)</small>|| <div align="left">{{#ask: [[Category:Suju Tournament Field Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; |sort=Has dungeon entrance level requirement }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Mt. Kulun]]''' <small>(LV 87~90)</small>|| <div align="left">{{#ask: [[Has location::Mt. Kulun]] | format=list||sep=&nbsp;{{!}}&nbsp; }}</div>
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Pandemonium Junction]]''' <small>(LV 90)</small>|| <div align="left">{{#ask: [[Category:Pandemonium Junction Dungeons]] | format=list||sep=&nbsp;{{!}}&nbsp; }}</div>
 +
|}
 +
</center>
 +
 +
==== Template: Story Characters ====
 +
<center>
 +
{| style="font-size: 12px;" width="80%" class="collapsible"
 +
! colspan="2"  style="text-align: center; background-color: #a0c6e3;" |[[Story Characters]]
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Apostles]]'''&emsp;||<small>[[Cain]] • [[Hilder]] • [[Isis-Frey]] • [[Kasijas]] • [[Sirocco]] • [[Delezie]] • [[Flame Eater Anton|Anton]] • [[Lotus]] • [[Bakal]] • [[Luke]] • [[Ozma]] • [[Michael]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[De Los Empire]]'''&emsp;||<small>[[Emperor Leon]] • [[Lenny]] • [[Kane]] • [[Aslan]] • [[Emily]] • [[Renee]] • [[Glam]] • [[Dorothy]] • [[Kardin]] • [[Arin]] • [[Pokin]] • [[Leslie Bagrans]] • [[Helen Baden]] • [[Moen]] </small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Principality of Bel Myre]]'''&emsp;||<small>[[Delilah]] • [[Gale]] • [[Breeze]] • [[Myre]] • [[Siv]] • [[Himan Stella]] • [[Louie]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Fennes Kingdom]]'''&emsp;||<small>[[Roxy]] • [[Vallacre the Slaughterer (Character)|Vallacre]] • [[Goontram]] • [[Lungel]] • [[S'halla]] • [[Bador]] • [[Deviana]] • [[Jurcrass]] • [[Runbert]] • [[Galion]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Seventh Empire]]'''&emsp;||<small>[[Neil]] • [[Rebecca]] • [[Biyan]] • [[Kon]] • [[Maywin]] • [[Hulk]] • [[Mue]] • [[Bilmotz]] • [[Audrey]] • [[Ka'atu]] • [[Curio]] • [[O'Connell]] • [[Laini]] • [[Rake]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Bantu]]'''&emsp;||<small>[[Golgolion]] • [[Charlie]] • [[Avalanche Ravinhur]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Priest Order]]'''&emsp;||<small>[[Nilvas Gracia]] • [[Magar Rosenbach]] • [[Oberith Rosenbach]] • [[Teida Beonarr]] • [[Sin-Jang]] • [[Shapiro Gracia]] • [[Milan Rosenbach]] • [[Wolfgang Beonarr]] • [[Sin-Ya]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Grim Seeker]]'''&emsp;||<small>[[Soldoros]] • [[Yang-Ull]] • [[Sura Von Crossbury]] • [[Kuran]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Kartel]]'''&emsp;||<small>[[Rangelus]] • [[Enzo Sipo]] • [[Gizel Logan]] • [[Jericho Crawford]] • [[Gargan Peyo]] • [[Irigare]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Elf|Elves]]'''&emsp;||<small>[[Ilia]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Magical Factions]]'''&emsp;||<small>[[Sarpoza]] • [[Ricardo]] • [[Monica]] • [[Iki]] • [[Philip Lum]] • [[Von Ron]] • [[Laura]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Spider Kingdom]]'''&emsp;||<small>[[Nicholas]] • [[Angelina]] • [[Baboon]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Ghosts]]'''&emsp;||<small>[[Kazan (Character)|Kazan]] • [[Zieg]] • [[Princess of Frozen Sorrow|Saya]] • [[Prince of Blazing Anger|John]] • [[Bremen]] • [[Keiga]] • [[Rhasa]] • [[Kalla]] • [[Blache]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Great Dragons]]'''&emsp;||<small>[[Hismar]] • [[Spirazzi]] • [[Skasa]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Gods]]'''&emsp;||<small>[[Carloso]] • [[Teana]] • [[Mehmet]]</small>
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="text-align: right; background: #e7ffe7;" |'''[[Other]]'''&emsp;||<small>[[Fearful Astaros]] • [[Despairing Tiamat]] • [[Destructive Berias]] • [[Binoche]] • [[Keraha]] • [[Sayoung]] • [[Dreyfus]] • [[Nue]] • [[Tanictar]] • [[Vartarucis]] • [[Sieghart]]</small>
 +
|}
 +
</center>
 +
 +
====Template: DungeonList - Old ====
 +
<center>
 +
{| style="text-align: center; font-size: 12px;" width="80%" class="collapsible"
 +
! colspan="2"  style="background-color: #a0c6e3;" |[[Dungeon|Dungeons]]
 +
|- style="background-color: #e7f3e8;"
 +
| width="175" style="background: #e7ffe7;" |'''[[Lorien]]'''<br><small>(LV 1~61)</small>|| <div align="left">[[Lorien Forest]] <small>(LV 1~2)</small> • [[Lorien Hollow]] <small>(LV 2~3)</small> • [[Vilmark - Area 50]]<small>(LV 55~58)</small> • [[Screaming Cavern]] <small>(LV 58~61)</small></div>
 +
|- style="background-color: #e7f3e8;"
 +
| style="background: #e7ffe7;" |'''[[Grand Flores]]'''<br><small>(LV 3~16)</small>|| <div align="left">[[Mirkwood]] <small>(LV 3~5)</small> • [[Mirkwood Hollow]] <small>(LV 3~6)</small> • [[Thunderland]] <small>(LV 5~8)</small> • [[Poison Thunderland]] <small>(LV 7~10)</small> • [[Mirkwood Frost]] <small>(LV 8~11)</small> • [[Grakqarak]] <small>(LV 10~13)</small> • [[Blazing Grakqarak]] <small>(LV 12~15)</small> • [[Shadow Thunderland]] <small>(LV 14~17)</small> • [[Full Moon Thunderland]] <small>(LV 18)(Special)</small></div>
 +
|- style="background-color: #e7f3e8;"
 +
| style="background: #e7ffe7;" |'''[[Sky Tower]]'''<br><small>(LV 16~28)</small>|| <div align="left">[[Dragonoid Nest]] <small>(LV 16~19)</small> • [[Puppet Museum]] <small>(LV 18~21)</small> • [[Golem Tower]] <small>(LV 20~23)</small> • [[Vestibule of Darkness]] <small>(LV 22~25)</small> • [[Floating Castle]] <small>(LV 24~27)</small> • [[Castellan's Chamber]] <small>(LV 25~28)</small> • [[Middle Ocean]] <small>(LV 18)(Special)</small></div>
 +
|- style="background-color: #e7f3e8;"
 +
| style="background: #e7ffe7;" |'''[[Moonlight Tavern]]'''<br><small>(LV 50~53)</small>|| <div align="left">[[Moonlight Tavern]] <small>(LV 50~53)</small> • [[Moonlight Trial]] <small>(LV 18)(Special)</small> • [[Moonlight Trial]] <small>(LV 48)(Special)</small></div>
 +
|}
 +
</center>
 +
 +
==== Template: DungeonList - Great Metastasis ====
 +
 +
==== Template: DungeonList - Origins ====
 +
{| style="text-align: center; font-size: 12px;" width="80%" class="collapsible"
 +
! colspan="2"  style="background-color: #a0c6e3;" |[[Dungeon|Dungeons]]
 +
|- style="background-color: #e7f3e8;"
 +
| width="200" style="background: #e7ffe7;" |'''[[Grand Flores]]''' <small>(LV 1~16)</small>|| <div align="left">[[Mirkwood]] | [[Thunderland]] | [[Poison Thunderland]] | [[Mirkwood Frost]] | [[Grakqarak]] | [[Blazing Grakqarak]] | [[Shadow Thunderland]] | [[Full Moon Thunderland]] <small>(Special)</small> | [[Vilmark - Area 50]] <small>(Scenario Only)</small></div>
 +
|}
 +
 +
==Generic Skill Growth Formatting==
 +
This process uses a "simulated" loop to automatically generate individual values for a skill when given a specified growth expression.
 +
 +
===Why are we doing this?===
 +
As of recent years, the wiki has gotten more and more out-of-date due to various in-game updates. With these updates came balance patches which updated a multitude of class skills. In order to minimize time consumption for each page and to preserve wiki editor sanity, we have opted to using a method that auto-generates information rather than manually inputting individual values.
 +
 +
Due to this format, pages can be updated much more quickly. When a new balance patch arrives, editors only have to update the values of the skill growth expression.
 +
 +
To learn more about the formatting, please reference the information below.
 +
<hr>
 +
===Some Unnecessarily Long Prefix Awesomely Named Skill===
 +
<pre>
 +
{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10}} <!--Create an array named "maxrow" and fill it with 10 values. Extend array and add values if necessary-->
 +
{|{{SkillTableHeader}}
 +
!Level
 +
!Lv Req
 +
!MP
 +
!Skill 1 Atk.
 +
!Skill 2 Atk.
 +
!Skill 3 Atk.
 +
!Skill Charge Time
 +
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@ ~~~ DO NOT CHANGE ~~~ -->
 +
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use ~~~ DO NOT CHANGE ~~~ -->
 +
{{!}}- {{#ifexpr: {{#var:i}} = 10 | {{MaxSkillRow}} }} <!-- DEFAULT: Detect max level at certain skill level -->
 +
<!-- {{!}}- {{#ifexpr: 50+5*({{#var:i}}-1) = 90 | {{MaxSkillRow}} }}--> <!-- Detect for level cap-->
 +
{{!}} <!--Level--> {{#var:i}}
 +
{{!}} <!--Lv Req--> {{#expr: 50+5*({{#var:i}}-1)}}
 +
{{!}} <!--MP--> {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1) round 0}}
 +
{{!}} <!--Skill 1 Atk.--> {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1) round 0}}%
 +
{{!}} <!--Skill 2 Atk.--> {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1) round 0}}% + {{AbsoluteDamage|{{#expr: (100/1000)+(((1000-100)/1000)/(10-1))*({{#var:i}}-1)}}|1}}
 +
{{!}} <!--Skill 3 Atk.--> {{AbsoluteDamage|{{#expr: (1000000/1000)+(((10000000-1000000)/1000)/(10-1))*({{#var:i}}-1)}}|1}}
 +
{{!}} <!--Skill Charge Time--> {{#expr: 10+((1-10)/(10-1))*({{#var:i}}-1) round 0}} sec.
 +
{{!}}-
 +
}}
 +
|}
 +
</pre>
  
==To Do List==
+
*'''Note:''' Most skill growth expressions follow an Arithmetic Sequence.
'''Updating Class Pages: 28 of the total 53 class pages'''
+
**In most cases, skills follow this growth format: <pre>{{#expr: BASELvVALUE+((MAXLvVALUE-BASELvVALUE)/(MAXLv-BASELv))*({{#var:i}}-1)}}</pre>
 +
***Ex: Let's say a skill's mana follows this growth pattern: <code>100, 200, 300, 400, 500, 600, 700, 800, 900, 1000</code> up to level 10. As you can see, the skill has a constant growth of 100 per level.
 +
****In this case, the mana follows this mathematical expression: <pre>{{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1)}}</pre>
 +
***If you wish to round the values to the nearest whole number/decimal place, add a <code>round 0</code> before the end of the <code>}}</code> for the <code>#expr:</code> template. Increase or decrease the rounding number to adjust the rounding of specified decimal place.
 +
***Scenario: What if the skill has no base value?
 +
****Do the following: <pre>{{#expr: ((MAXLvVALUE)/(MAXLv-BASELv))*({{#var:i}}-1)}}</pre>
 +
**For skills that scale with Independent Attack use the following format: <pre>{{AbsoluteDamage|{{#expr: (BASELvVALUE/INDEPENDENTATK)+(((MAXLvVALUE-BASELvVALUE)/INDEPENDENTATK)/(MAXLv-BASELv))*({{#var:i}}-1) }}|1}}</pre>
 +
*Note: There are rare occasions when a skill will follow a Geometric Sequence.
 +
**In these cases, they tend to follow this format: <pre>{{#expr: BASELvVALUE*(NEXTLvVALUE/BASELvVALUE)^({{#var:i}}-1)}}</pre>
 +
***Ex: For the skill, {{IconLink|Spectral Search Eye}}, part of its Enemy Evasion Rate-reduction Range follows the growth expression: 400(0.7)<sup>(i-1)</sup>.
 +
****The skill's BASELvValue (Lv 1 value) is 400. It's NEXTLvVALUE (Lv 2 value) is 280. (FYI: 280/400 = 0.7).
 +
****For consistency reasons, the format is shown as follows: <pre>{{#expr: 400*(280/400)^({{#var:i}}-1)}}</pre>
  
===Current Progress:===
+
 
 +
From the code shown above, it will display the following table.
 +
{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10}} <!--Create an array named "maxrow" and fill it with 10 values. Extend array and add values if necessary-->
 
{|{{SkillTableHeader}}
 
{|{{SkillTableHeader}}
!Class
+
!Level
!Dungeon
+
!Lv Req
!Arena
+
!MP
|-{{SkillRow}}
+
!Skill 1 Atk.
| [[Male Slayer]] || WIP || WIP
+
!Skill 2 Atk.
|-{{SkillRow}}
+
!Skill 3 Atk.
| [[Soul Bender]] || WIP || WIP
+
!Skill Charge Time
|-{{SkillRow}}
+
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@ ~~~ DO NOT CHANGE ~~~ -->
| [[Female Slayer]] || WIP || WIP
+
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use ~~~ DO NOT CHANGE ~~~ -->
|-{{SkillRow}}
+
{{!}}- {{#ifexpr: {{#var:i}} = 10 | {{MaxSkillRow}} }} <!-- DEFAULT: Detect max level at certain skill level -->
| [[Sword Master]] || WIP || WIP
+
<!-- {{!}}- {{#ifexpr: 50+5*({{#var:i}}-1) = 90 | {{MaxSkillRow}} }}--> <!-- Detect for level cap-->
|-{{SkillRow}}
+
{{!}} <!--Level--> {{#var:i}}
| [[Demon Slayer]] || WIP || WIP
+
{{!}} <!--Lv Req--> {{#expr: 50+5*({{#var:i}}-1)}}
|-{{SkillRow}}
+
{{!}} <!--MP--> {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1) round 0}}
| [[Male Gunner]] || DONE || WIP
+
{{!}} <!--Skill 1 Atk.--> {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1) round 0}}%
|-{{SkillRow}}
+
{{!}} <!--Skill 2 Atk.--> {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1) round 0}}% + {{AbsoluteDamage|{{#expr: (100/1000)+(((1000-100)/1000)/(10-1))*({{#var:i}}-1)}}|1}}
| [[Male Ranger]] || DONE || DONE
+
{{!}} <!--Skill 3 Atk.--> {{AbsoluteDamage|{{#expr: (1000000/1000)+(((10000000-1000000)/1000)/(10-1))*({{#var:i}}-1)}}|1}}
|-{{SkillRow}}
+
{{!}} <!--Skill Charge Time--> {{#expr: 10+((1-10)/(10-1))*({{#var:i}}-1) round 0}} sec.
| [[Male Launcher]] || DONE || WIP
+
{{!}}-
|-{{SkillRow}}
+
}}
| [[Male Mechanic]] || DONE || DONE
+
|}
|-{{SkillRow}}
+
 
| [[Male Spitfire]] || DONE || WIP
+
 
|-{{SkillRow}}
+
<hr>
| [[Female Gunner]] || DONE || WIP
+
If you wish to alter the span of certain rows or columns, please refer to the given examples below.
|-{{SkillRow}}
+
 
| [[Female Ranger]] || DONE || DONE*
+
===[[Blade Dance]] Test===
|-{{SkillRow}}
+
<pre>
| [[Female Launcher]] || WIP || WIP
+
{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10}}<!--Create an array named "maxrow" and fill it with 10 values-->{{#vardefine:cancelcount|2}}<!--Create variable "cancelcount" that holds the values of number of cancels-->
|-{{SkillRow}}
+
{|{{SkillTableHeader}}
| [[Female Mechanic]] || DONE || DONE*
+
!Level
|-{{SkillRow}}
+
!Lv Req
| [[Female Spitfire]] || DONE || WIP
+
!Cancellable Count
|-{{SkillRow}}
+
!Cancellation Count<br>Recovery Interval
| [[Male Fighter]] || WIP || WIP
+
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
|-{{SkillRow}}
+
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
| [[Male Nen Master]] || WIP || WIP
+
{{!}}- {{#ifexpr: {{#var:i}} = 10 | {{MaxSkillRow}} }}
|-{{SkillRow}}
+
{{!}} <!--Level--> {{#var:i}}
| [[Female Mage]] || WIP || WIP
+
{{!}} <!--Lv Req--> {{#expr: 15+3*({{#var:i}}-1)}}
|-{{SkillRow}}
+
<!--Cancellable Count--> {{#ifexpr: {{#var:i}} mod 3 = 1 | {{!}} rowspan="3"{{!}}{{#var:cancelcount}}{{#vardefine:cancelcount|{{#expr: {{#var:cancelcount}} + 1 }} }} }}
| [[Battle Mage]] || WIP || WIP
+
{{!}} <!--Cancellation Count Recovery Interval--> {{#expr: 11.1-((11.1-6.1)/(10-1))*({{#var:i}}-1) round 1}} sec.
|-{{SkillRow}}
+
{{!}}-
| [[Male Mage]] || DONE || DONE
+
}}
|-{{SkillRow}}
+
|}
| [[Glacial Master]] || DONE || DONE
+
</pre>
|-{{SkillRow}}
+
{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10}}<!--Create an array named "maxrow" and fill it with 10 values-->{{#vardefine:cancelcount|2}}<!--Create variable "cancelcount" that holds the values of number of cancels-->
| [[Elemental Bomber]] || WIP || WIP
+
{|{{SkillTableHeader}}
|-{{SkillRow}}
+
!Level
| [[Priest]] || WIP || WIP
+
!Lv Req
|-{{SkillRow}}
+
!Cancellable Count
| [[Crusader]] || WIP || WIP
+
!Cancellation Count<br>Recovery Interval
|-{{SkillRow}}
+
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
| [[Monk]] || WIP || WIP
+
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
|-{{SkillRow}}
+
{{!}}- {{#ifexpr: {{#var:i}} = 10 | {{MaxSkillRow}} }}
| [[Exorcist]] || WIP || WIP
+
{{!}} <!--Level--> {{#var:i}}
|-{{SkillRow}}
+
{{!}} <!--Lv Req--> {{#expr: 15+3*({{#var:i}}-1)}}
| [[Thief]] || WIP || WIP
+
<!--Cancellable Count--> {{#ifexpr: {{#var:i}} mod 3 = 1 | {{!}} rowspan="3"{{!}}{{#var:cancelcount}}{{#vardefine:cancelcount|{{#expr: {{#var:cancelcount}} + 1 }} }} }}
|-{{SkillRow}}
+
{{!}} <!--Cancellation Count Recovery Interval--> {{#expr: 11.1-((11.1-6.1)/(10-1))*({{#var:i}}-1) round 1}} sec.
| [[Kunoichi]] || WIP || WIP
+
{{!}}-
 +
}}
 +
|}
 +
 
 +
This example, creates a span of rows that updates the Cancellation Count every 3 levels, starting at level 1. To do this, it requires some general knowledge about If then/Else statements. To read more about this, refer to this [https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions##if link].
 +
*Generally, If then/Else Statements follow this format:
 +
**'''If''' a specified condition is met, '''then''' something happens. Otherwise, something '''Else''' happens.
 +
**For this particular scenario, we are testing an expression, so we will be using the Mediawiki <code>#ifexpr:</code> function.
 +
***<pre>{{#ifexpr: CONDITION | THEN: value if CONDITION is true | ELSE: value if CONDITION is false }}</pre>
 +
*The condition we want is for the table to show and update the Cancellation Count once every 3 levels.
 +
**To do this, we must first instantiate a variable that holds our default number for the Cancellation Count. This can be done with the following code: <pre>{{#vardefine:cancelcount|2}}</pre> '''Note:''' Make sure that this variable is instantiated outside and before the <code>#arrayprint</code> function.
 +
**As for the condition, we must find the first row of every three rows. It can be coded as follows: <pre>{{#var:i}} mod 3 = 1</pre>
 +
***The mathematical operation we are using is called "modulo", it finds the remainder of the dividend and the divisor.
 +
****It can be particularly useful when finding odd or even values. For example: for some integer value "x", if x mod 2 = 1, then x is odd. If x mod 2 = 0, then x is even.
 +
***The "3" represents the every three levels, and the "1" represents the first row of each 3 levels.
 +
****If we wanted to find the second row, we'd use the condition: <pre>{{#var:i}} mod 3 = 2</pre>
 +
****If we wanted to find the third row, we'd use the condition: <pre>{{#var:i}} mod 3 = 0</pre>
 +
**Now that we have our condition, we can find our '''THEN''', what we want to happen when the condition is met. We want the table to output a column that takes up three rows and displays the Cancellation Count. To do this, we can use the following code: <pre>{{!}} rowspan="3"{{!}}{{#var:cancelcount}}{{#vardefine:cancelcount|{{#expr: {{#var:cancelcount}} + 1}} }}</pre>
 +
***<pre>{{!}}</pre> Generates a new column.
 +
***<pre>rowspan="3"{{!}}{{#var:cancelcount}}</pre> Generates a column that takes up 3 rows, and outputs the Cancellation Count once.
 +
***<pre>{{#vardefine:cancelcount|{{#expr: {{#var:cancelcount}} + 1}}</pre> Increments Cancellation Count, it's basically the same as typing the following in other computing languages: <pre>cancelcount = cancelcount + 1</pre>
 +
**Since we don't want the table to output anything for the '''ELSE''', we leave it blank. Thus we get the final line of code: <pre>{{#ifexpr: {{#var:i}} mod 3 = 1 | {{!}} rowspan="3"{{!}}{{#var:cancelcount}}{{#vardefine:cancelcount|{{#expr: {{#var:cancelcount}} + 1 }} }} }}</pre>
 +
 
 +
<hr>
 +
===[[Scud Genocide]] Test===
 +
This example uses formatting to adjust the span of columns and rows, as well as uses If then/Else statements to output various attribute information. Unlike the Blade Dance Test, this example has an '''ELSE''' value.
 +
<pre>
 +
{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}}<!--Create an array named "maxrow" and fill it with 30 values-->
 +
{|{{SkillTableHeader}}
 +
!rowspan="2"|Level
 +
!rowspan="2"|Lv Req
 +
!rowspan="2"|MP
 +
!rowspan="2"|Movement Speed
 +
!colspan="2"|Bullet Barrage
 +
!rowspan="2"|Aerial Movement Speed
 +
!colspan="2"|Aerial Fire
 +
!rowspan="2"|Shockwave Physical Atk.
 
|-
 
|-
|'''TOTAL DONE'''||11||6
+
!Physical Atk.||Attack Count
 +
!Physical Atk.||Attack Count
 +
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
 +
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
 +
{{!}}- {{#ifexpr: 50+5*({{#var:i}}-1) = 90 | {{MaxSkillRow}} }}
 +
{{!}} <!--Level--> {{#var:i}}
 +
{{!}} <!--Lv Req--> {{#expr: 50+5*({{#var:i}}-1)}}
 +
{{!}} <!--MP--> {{#expr: 1000+((2897-1000)/(11-1))*({{#var:i}}-1) round 0}}
 +
{{!}} <!--Movement Speed--> {{#ifexpr: {{#var:i}} < 3 | +{{#expr: 3.9*({{#var:i}}-1)}}% | +{{#expr: 15.5+3.9*({{#var:i}}-3)}}% }}
 +
<!-- -->
 +
<!--Bullet Barrage-->
 +
{{!}} <!--Physical Atk.--> {{#expr: 391+((1300-391)/(11-1))*({{#var:i}}-1) round 0}}%
 +
<!--Attack Count--> {{#ifexpr: {{#var:i}} = 1 | {{!}}rowspan="2"{{!}} 20~30 x2 }} {{#ifexpr: {{#var:i}} = 3 |{{!}}rowspan="28"{{!}} 20~35 x2 }}
 +
<!-- -->
 +
{{!}} <!--Aerial Movement Speed--> {{#ifexpr: {{#var:i}} < 6 | {{#expr: 40-2.6*({{#var:i}}-1)}}% | {{#expr: 19.3-2.6*({{#var:i}}-6)}}% }}
 +
<!-- -->
 +
<!--Aerial Fire-->
 +
{{!}} <!--Physical Atk.--> {{#expr: 762+((2529-762)/(11-1))*({{#var:i}}-1) round 0}}%
 +
<!--Attack Count--> {{#ifexpr: {{#var:i}} = 1 | {{!}}rowspan="5"{{!}} 14~21 }} {{#ifexpr: {{#var:i}} = 6 |{{!}}rowspan="25"{{!}} 14~25 }}
 +
<!-- -->
 +
{{!}} <!--Shockwave Physical Atk.--> {{#expr: 464+((1542-464)/(11-1))*({{#var:i}}-1) round 0}}%
 +
{{!}}-
 +
}}
 +
|}
 +
</pre>
 +
{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}}<!--Create an array named "maxrow" and fill it with 30 values-->
 +
{|{{SkillTableHeader}}
 +
!rowspan="2"|Level
 +
!rowspan="2"|Lv Req
 +
!rowspan="2"|MP
 +
!rowspan="2"|Movement Speed
 +
!colspan="2"|Bullet Barrage
 +
!rowspan="2"|Aerial Movement Speed
 +
!colspan="2"|Aerial Fire
 +
!rowspan="2"|Shockwave Physical Atk.
 +
|-
 +
!Physical Atk.||Attack Count
 +
!Physical Atk.||Attack Count
 +
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
 +
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
 +
{{!}}- {{#ifexpr: 50+5*({{#var:i}}-1) = 90 | {{MaxSkillRow}} }}
 +
{{!}} <!--Level--> {{#var:i}}
 +
{{!}} <!--Lv Req--> {{#expr: 50+5*({{#var:i}}-1)}}
 +
{{!}} <!--MP--> {{#expr: 1000+((2897-1000)/(11-1))*({{#var:i}}-1) round 0}}
 +
{{!}} <!--Movement Speed--> {{#ifexpr: {{#var:i}} < 3 | +{{#expr: 3.9*({{#var:i}}-1)}}% | +{{#expr: 15.5+3.9*({{#var:i}}-3)}}% }}
 +
<!-- -->
 +
<!--Bullet Barrage-->
 +
{{!}} <!--Physical Atk.--> {{#expr: 391+((1300-391)/(11-1))*({{#var:i}}-1) round 0}}%
 +
<!--Attack Count--> {{#ifexpr: {{#var:i}} = 1 | {{!}}rowspan="2"{{!}} 20~30 x2 }} {{#ifexpr: {{#var:i}} = 3 |{{!}}rowspan="28"{{!}} 20~35 x2 }}
 +
<!-- -->
 +
{{!}} <!--Aerial Movement Speed--> {{#ifexpr: {{#var:i}} < 6 | {{#expr: 40-2.6*({{#var:i}}-1)}}% | {{#expr: 19.3-2.6*({{#var:i}}-6)}}% }}
 +
<!-- -->
 +
<!--Aerial Fire-->
 +
{{!}} <!--Physical Atk.--> {{#expr: 762+((2529-762)/(11-1))*({{#var:i}}-1) round 0}}%
 +
<!--Attack Count--> {{#ifexpr: {{#var:i}} = 1 | {{!}}rowspan="5"{{!}} 14~21 }} {{#ifexpr: {{#var:i}} = 6 |{{!}}rowspan="25"{{!}} 14~25 }}
 +
<!-- -->
 +
{{!}} <!--Shockwave Physical Atk.--> {{#expr: 464+((1542-464)/(11-1))*({{#var:i}}-1) round 0}}%
 +
{{!}}-
 +
}}
 +
|}
 +
 
 +
<hr>
 +
===[[Core Shield]] Test===
 +
Since the <code>#arrayprint:</code> function simulates a loop, we are not able to manually input values in a desired column. However, there is a work around. We can save the values we want to input in a column into a second array. In this case, we can call this second array <code>shieldhp</code>. We can reference this array for every index "i" that is called in the <code>#arrayprint:</code> function using the code: <pre>{{!}} <!--Shield HP--> {{#arrayindex:shieldhp| {{#expr: {{#var:i}}-1 }} }}</pre>
 +
*Note: It is important to have the "-1" in the code because information that is stored in slots (indexes) in an Array always start at index 0, and not 1.
 +
*For those who are unfamiliar with Arrays or are interested about learning more about Arrays, look [https://www.mediawiki.org/wiki/Extension:Arrays#arraydefine here] for Mediawiki's usage.
 +
**Think of an Array as a line of numbered parking stalls. Within each stall or "index" can be parked a car with "information". You can fill these parking stalls with cars that have information when instantiating the Array like so: <pre>{{#arraydefine:shieldhp|800,928,1239,1426,1637,1875,2141,2438,2770,3138}}</pre>This array has a size of 10 indeces (stalls), numbered from 0 to 9.
 +
**We can also reference a specific stall number (index) to obtain that stall number's car information. To do this, we can use the Mediawiki function <code>#arrayindex:</code>. If we wanted to output the whole array or the entire list of car information, we use the function <code>#arrayprint:</code>.
 +
<pre>
 +
{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10}}<!--Create an array named "maxrow" and fill it with 10 values--> {{#arraydefine:shieldhp|800,928,1239,1426,1637,1875,2141,2438,2770,3138}}<!--Create an array named "shieldhp" and fill it with 10 values-->
 +
{|{{SkillTableHeader}}
 +
!Level
 +
!Lv Req
 +
!MP
 +
!Shield HP
 +
!Shield Explosion Atk.
 +
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
 +
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
 +
{{!}}- {{#ifexpr: {{#var:i}} = 10 | {{MaxSkillRow}} }}
 +
{{!}} <!--Level--> {{#var:i}}
 +
{{!}} <!--Lv Req--> {{#expr: 15+2*({{#var:i}}-1)}}
 +
{{!}} <!--MP--> {{#expr: 23+3.676*({{#var:i}}-1) round 0}}
 +
{{!}} <!--Shield HP--> {{#arrayindex:shieldhp| {{#expr: {{#var:i}}-1 }} }}
 +
{{!}} <!--Shield Explosion Atk.--> {{#ifexpr: {{#var:i}} < 3 | {{#expr: 2703+281.622*({{#var:i}}-1) round 0}}% | {{#expr: 3525+274.236*({{#var:i}}-3) round 0}}% }}
 +
{{!}}-
 +
}}
 +
|}</pre>
 +
{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10}}<!--Create an array named "maxrow" and fill it with 10 values-->{{#arraydefine:shieldhp|800,928,1239,1426,1637,1875,2141,2438,2770,3138}}<!--Create an array named "shieldhp" and fill it with 10 values-->
 +
{|{{SkillTableHeader}}
 +
!Level
 +
!Lv Req
 +
!MP
 +
!Shield HP
 +
!Shield Explosion Atk.
 +
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
 +
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
 +
{{!}}- {{#ifexpr: {{#var:i}} = 10 | {{MaxSkillRow}} }}
 +
{{!}} <!--Level--> {{#var:i}}
 +
{{!}} <!--Lv Req--> {{#expr: 15+2*({{#var:i}}-1)}}
 +
{{!}} <!--MP--> {{#expr: 23+3.676*({{#var:i}}-1) round 0}}
 +
{{!}} <!--Shield HP--> {{#arrayindex:shieldhp| {{#expr: {{#var:i}}-1 }} }}
 +
{{!}} <!--Shield Explosion Atk.--> {{#ifexpr: {{#var:i}} < 3 | {{#expr: 2703+274.236*({{#var:i}}-1) round 0}}% | {{#expr: 3525+274.236*({{#var:i}}-3) round 0}}% }}
 +
{{!}}-
 +
}}
 
|}
 
|}
 +
Note: For some odd reason, the skill has a one-time random double increment change at level 3, changing the Shield Explosion Atk. scalar growth from 274 to 548.
 +
*If this occurs, you can use an If then/Else function to remedy this situation.
  
*'''Miscellaneous Pages:'''
+
==Tabs Tester==
**Updating quest pages:
+
<pre>
***[[Epic Quests]]: '''WIP'''
+
{{tabs
***[[General Quest]]s: '''DONE'''
+
|name=Shop
***[[Feat Quest]]s: '''WIP'''
+
|tab1=Weapon
****Titles: '''WIP'''
+
|contents1=<span style="display: none;">{{</span>
****Special Equipment: '''WIP'''
+
 
****Hell Mode: '''WIP'''
+
<!-- Weapon List -->
***[[Limited Quests]]: '''WIP'''
+
{{tabs
***[[Repeatable Quest]]s: '''WIP'''
+
|name=WeaponType
**Inserting skill/item icons
+
|tab1=Slayer
**Organizing skills in proper order/Adding/Deleting skills
+
|contents1=<span style="display: none;">{{</span>
**Filling in "red" pages
+
 
 +
Insert Slayer/Knight/Dark Knight Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab2=Fighter
 +
|contents2=<span style="display: none;">{{</span>
 +
 
 +
Insert Fighter Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab3=Gunner
 +
|contents3=<span style="display: none;">{{</span>
 +
 
 +
Insert Gunner Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
 
 +
|tab4=Mage
 +
|contents4=<span style="display: none;">{{</span>
 +
 
 +
Insert Mage Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab5=Priest
 +
|contents5=<span style="display: none;">{{</span>
 +
 
 +
Insert Priest Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab6=Thief
 +
|contents6=<span style="display: none;">{{</span>
 +
 
 +
Insert Thief Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab7=D. Lancer
 +
|contents7=<span style="display: none;">{{</span>
 +
 
 +
Insert D. Lancer Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab8=Agent
 +
|contents8=<span style="display: none;">{{</span>
 +
 
 +
Insert Agent Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
}}
 +
 
 +
<!-- Armor List -->
 +
<span style="display: none;">}}</span>
 +
|tab2=Armor
 +
|contents2=<span style="display: none;">{{</span>
 +
 
 +
{{tabs
 +
|name=ArmorType
 +
|tab1=Cloth
 +
|contents1=<span style="display: none;">{{</span>
 +
 
 +
Insert Cloth Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab2=Leather
 +
|contents2=<span style="display: none;">{{</span>
 +
 
 +
Insert Leather Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab3=Light
 +
|contents3=<span style="display: none;">{{</span>
 +
 
 +
Insert Light Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab4=Heavy
 +
|contents4=<span style="display: none;">{{</span>
 +
 
 +
Insert Heavy Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab5=Plate
 +
|contents5=<span style="display: none;">{{</span>
 +
 
 +
Insert Plate Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
}}
 +
 
 +
<!-- Accessory List -->
 +
<span style="display: none;">}}</span>
 +
|tab3=Accessory
 +
|contents3=<span style="display: none;">{{</span>
 +
 
 +
Insert Accessory List Here
 +
 
 +
<!-- Special Equipment List -->
 +
<span style="display: none;">}}</span>
 +
|tab4=Special Equipment
 +
|contents4=<span style="display: none;">{{</span>
 +
 
 +
Insert Special Equipment List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
}}
 +
</pre>
 +
 
 +
{{tabs
 +
|name=Shop
 +
|tab1=Weapon
 +
|contents1=<span style="display: none;">{{</span>
 +
 
 +
<!-- Weapon List -->
 +
{{tabs
 +
|name=WeaponType
 +
|tab1=Slayer
 +
|contents1=<span style="display: none;">{{</span>
 +
 
 +
Insert Slayer/Knight/Dark Knight Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab2=Fighter
 +
|contents2=<span style="display: none;">{{</span>
 +
 
 +
Insert Fighter Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab3=Gunner
 +
|contents3=<span style="display: none;">{{</span>
 +
 
 +
Insert Gunner Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
 
 +
|tab4=Mage
 +
|contents4=<span style="display: none;">{{</span>
 +
 
 +
Insert Mage Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab5=Priest
 +
|contents5=<span style="display: none;">{{</span>
 +
 
 +
Insert Priest Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab6=Thief
 +
|contents6=<span style="display: none;">{{</span>
 +
 
 +
Insert Thief Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab7=D. Lancer
 +
|contents7=<span style="display: none;">{{</span>
 +
 
 +
Insert D. Lancer Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab8=Agent
 +
|contents8=<span style="display: none;">{{</span>
 +
 
 +
Insert Agent Weapon List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
}}
 +
 
 +
<!-- Armor List -->
 +
<span style="display: none;">}}</span>
 +
|tab2=Armor
 +
|contents2=<span style="display: none;">{{</span>
 +
 
 +
{{tabs
 +
|name=ArmorType
 +
|tab1=Cloth
 +
|contents1=<span style="display: none;">{{</span>
 +
 
 +
Insert Cloth Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab2=Leather
 +
|contents2=<span style="display: none;">{{</span>
 +
 
 +
Insert Leather Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab3=Light
 +
|contents3=<span style="display: none;">{{</span>
 +
 
 +
Insert Light Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab4=Heavy
 +
|contents4=<span style="display: none;">{{</span>
 +
 
 +
Insert Heavy Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
|tab5=Plate
 +
|contents5=<span style="display: none;">{{</span>
 +
 
 +
Insert Plate Armor List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
}}
 +
 
 +
<!-- Accessory List -->
 +
<span style="display: none;">}}</span>
 +
|tab3=Accessory
 +
|contents3=<span style="display: none;">{{</span>
 +
 
 +
Insert Accessory List Here
 +
 
 +
<!-- Special Equipment List -->
 +
<span style="display: none;">}}</span>
 +
|tab4=Special Equipment
 +
|contents4=<span style="display: none;">{{</span>
 +
 
 +
Insert Special Equipment List Here
 +
 
 +
<span style="display: none;">}}</span>
 +
}}

Latest revision as of 21:23, 25 April 2022

Altair
Pumpkin Ball.png
Server DFOG - Cain
Explorer Club Lorekeeper
Discord 彦星#2353


Greetings~ ಠ_ರೃ

I am one of the editors on the wiki. If you have any questions, suggestions, or complaints about the format or information, send them to me. I'll try to get back to you whenever I'm available. Note, I can only update when I have free time and as fast as I can level my characters; so please be patient when it comes to updating outdated pages.

If you have any questions/require help in game/want to talk about something, send me a message. I'm usually on Discord. I'll be happy to comply.


Notification(s):

  • I will be updating the PvP values after I'm done with my PvE class skill update quota. Until I can find the PvP skill growth scalar values for Independent Atk., this will be delayed.

Outdated/Incorrect Information

  • If for any reason you find my information on the Wiki outdated or incorrect, just send me a message. I will make sure to update the information ASAP.
  • As for the information, I will be updating the data as soon as I can. I won't be able to update everything on my priorities list since I only update as fast I can level my characters. Feel free to change page data when necessary to update outdated information.

What I do...

  • Update Pages: Cleaning up and updating Quest and Skill pages.
  • Create Pages: I hate dead or non-existent links, particularly if the page is rather crucial to the wiki. I usually create skeletons for new pages that will hopefully be updated in the future.
  • Note: If there is an influx of edits pertaining to a particular page, I am apologize in advance. I have a problem with obsessing over consistent formatting. Either that, or I am tired and miss things while editing.

Other Neat Things

  • If you want to learn how to make tables you can look here: Nue talk page. Not all the formats work for all table sizes, so you have to experiment. Another alternative is ASCII, but I don't recommend it due to it being kind of messy. If you have any questions feel free to message me.
    • Here's some helpful tips:
      • You can declare a table with:
        • class="wikitable" style="background-color: #aaaaaa; text-align:center;"
          • Note: Be sure to surround your table with brackets: {| at the beginning, |} at the end.
      • You can declare a row/column with:
        • !Row/ColumnName
      • You can manipulate maximum row width with:
        • width="NUMBER" |RowName
      • You can manipulate row span and column span with:
        • rowspan="NUMBER" |RowName
          • This is useful when dealing with differences between PvE and PvP.
        • colspan="NUMBER" |ColumnName
          • This is useful when you have various attributes to cover. Ex: Elemental Shift
  • If you want to learn how to change the colors of your table cells, it follows X11 color names (i.e. hexadecimal code) located here: List of X11 codes. For example: #e6e6fa is lavender.
    • You can use the function: style="background-color: #[INSERT X11 COLOR CODE HERE];" while declaring a row/column. This changes the color of the particular cell. Of course, take off the brackets when inserting the X11 code.

Sources of Information

  • If you want a skill planner you can use the following link(s):
    • EXRPG.DNF It's a bit outdated, but it enables you to have a pretty good understanding of your basic skill priorities. It does show how the TP skills affect the growth of your skills. It also provides a link to items that boost the level of your skills. Note: This builder does not include the classes for Knight or Second Awakenings. Also, the QP system is outdated.
    • dnf.duowan It's a more recent builder. This builder contains everything, but I can't seem to find a way to display the stats for PvP... Note: Some of the data on this builder has a tendency to be misrepresented or be wrong.
  • Niceboatsoss's Naver Blog: link
  • Arad Senki Wiki: link
  • Namu Wiki: link (Warning: Pages may contain subjective/incorrect information.)
  • CDnF Wiki: link
  • CDnF Wikia: link
  • KDnF Nexon Site: link
  • KDnF Neople Developers APIDocs: link

Quest Table Format

The table below is based off of Tea's EpicQuest2 Table template Template:EpicQuest2.

Level Quest level
Quest Giver Quest giver
Prerequisite How to obtain the quest (optional)
Dungeon Which dungeon do the quest take place (optional)
Briefing Text of quest briefing, as presented in quest details in-game (not your personal briefing).
Objectives Steps required to complete the quest, as presented in quest details in-game.
Dungeon Dialogue Text of quest during the dungeon (optional)
Upon Completion Text of quest after completing the quest (optional)
Rewards
  • Expicon.png Experience points rewarded (just the number) Exp
  • Goldicon.png Gold rewarded (just the number) Gold
  • Bulleted list (*) of any other rewards.
Notes Additional information

Need Help Acquiring Skill Data?

If you ever require skill data up to 85, here's a helpful guide on how to get it through normal means without leveling your character to 85:

  • 1) Get a character to Lv. 50
  • 2) Go to Arena
  • 3) Go through the skill levels with options F4 and F7 enabled to Dungeon. Hover your cursor over the skill icon in your HUD to receive these values. You must save changes to update the values.
  • 4) Record data
    • For fixed damage skills, use the AbsoluteDamage Template with your BAS as the value given in PvP Arena, not the value in Town.
    • This process doesn't work to get the lv. 1 skill values affected by passives that increase skill level such as Unshackle. This value can only be found in town, by saving the skill level to something greater than 1 and decreasing it to 0.
    • Note: Certain skills may be disabled in Arena. If so, edit as much as you are able for the values in Town.
    • Note: This process is intended for basic class skills, NOT Awakening skills. If you have Awakening skill values, send them to me, I'll see if I can find any builders online that have the values. Worst case scenario is that the data may need to be manually inputted, but this is quite rare.

Awakening Values

Awakening Skills cannot be decreased in level. However, with the Mathematical expression format, it is easier to use a growth formula to track these values rather than leveling a character manually every 5 levels. Instead, if you already have the class character at Lv. 85~90 to get the Lv 9 bonuses, you can create a level 15 character and record the base Awakening values there. Making multiple Lv 15 characters is unnecessary as you can "Try" out multiple different sub-classes and record the values there.

Sources of Info

For certain cases, you may want to reference the Neople Developers API Documents. It contains all the skill information located in the Script.pvf file that is currently LIVE on the KDnF server. In order to access the Neople API, you'll need an APIKey, which can be obtained by registering an account via Facebook, Google, or Naver account. Afterward, use the last two document options located on the page to find what you are looking for. That being said, you'll need to be able to translate some Hangul to be able to read/match some of the information properly.

Testing Grounds

Test Timeline: Arad Adventure Era

Navigation Templates

Sort Testing

Maps:

{{#ask: [[Category:Metro Center Dungeons]]
|format=list
|sep= {{!}} 
|sort=Has dungeon entrance level requirement
}}

Bloody Lane | Time Square | Valley of the Half-breeds | Chamber of Terror | Wind Canyon | Red Witch's Forest | Pandemonium Rift

{{#ask: [[Category:Metro Center Dungeons]][[Category:!Special Dungeons]]
|format=list
|sep= {{!}} 
|sort=Has dungeon entrance level requirement
}}

Bloody Lane | Time Square | Valley of the Half-breeds | Chamber of Terror | Wind Canyon | Red Witch's Forest | Pandemonium Rift

NPCs:

{{#ask: [[Category:NPCs]][[Has location::Elvenguard]]
|format=list
|sep= {{!}} 
}}

Blacksmith Linus | Errand Runner Toby | Herbalist Shireen | Miraz, the Healer in the Forest

Dfoplayer's Updated DungeonNav Template

Dungeons
Grand Flores (LV 1~16)
Sky Tower (LV 17~23)
Behemoth (LV 24~29)
Aphelia (LV 30~35)
Noire Ferra (LV 36~39)
Mount Thunderime (LV 40~45)
North Myre (LV 46~49)
Abnova (LV 50~53)
Meltdown (LV 54~57)
Inverted Waterfall (LV 57~62)
Antwer Canyon (LV 63~70)
Oceanic Express (LV 71~74)
Time Gate (LV 75~80)
Power Station (LV 81~83)
Anton (LV 84~85)
Castle of the Dead (LV 85~86)
Luke's Laboratory (LV 87~90)
Metro Center (LV 87~90)
Guild Dungeon (LV 1~90)
Golden Road (LV 25~90)
Valley of Fallen Souls (LV 50~90)
Interdimensional Rift (LV 70~90)
Suju Arena (LV 75)
Mt. Kulun (LV 87~90)
Pandemonium Junction (LV 90)

Template: Story Characters

Story Characters
Apostles CainHilderIsis-FreyKasijasSiroccoDelezieAntonLotusBakalLukeOzmaMichael
De Los Empire Emperor LeonLennyKaneAslanEmilyReneeGlamDorothyKardinArinPokinLeslie BagransHelen BadenMoen
Principality of Bel Myre DelilahGaleBreezeMyreSivHiman StellaLouie
Fennes Kingdom RoxyVallacreGoontramLungelS'hallaBadorDevianaJurcrassRunbertGalion
Seventh Empire NeilRebeccaBiyanKonMaywinHulkMueBilmotzAudreyKa'atuCurioO'ConnellLainiRake
Bantu GolgolionCharlieAvalanche Ravinhur
Priest Order Nilvas GraciaMagar RosenbachOberith RosenbachTeida BeonarrSin-JangShapiro GraciaMilan RosenbachWolfgang BeonarrSin-Ya
Grim Seeker SoldorosYang-UllSura Von CrossburyKuran
Kartel RangelusEnzo SipoGizel LoganJericho CrawfordGargan PeyoIrigare
Elves Ilia
Magical Factions SarpozaRicardoMonicaIkiPhilip LumVon RonLaura
Spider Kingdom NicholasAngelinaBaboon
Ghosts KazanZiegSayaJohnBremenKeigaRhasaKallaBlache
Great Dragons HismarSpirazziSkasa
Gods CarlosoTeanaMehmet
Other Fearful AstarosDespairing TiamatDestructive BeriasBinocheKerahaSayoungDreyfusNueTanictarVartarucisSieghart

Template: DungeonList - Old

Dungeons
Lorien
(LV 1~61)
Lorien Forest (LV 1~2)Lorien Hollow (LV 2~3)Vilmark - Area 50(LV 55~58)Screaming Cavern (LV 58~61)
Grand Flores
(LV 3~16)
Mirkwood (LV 3~5)Mirkwood Hollow (LV 3~6)Thunderland (LV 5~8)Poison Thunderland (LV 7~10)Mirkwood Frost (LV 8~11)Grakqarak (LV 10~13)Blazing Grakqarak (LV 12~15)Shadow Thunderland (LV 14~17)Full Moon Thunderland (LV 18)(Special)
Sky Tower
(LV 16~28)
Dragonoid Nest (LV 16~19)Puppet Museum (LV 18~21)Golem Tower (LV 20~23)Vestibule of Darkness (LV 22~25)Floating Castle (LV 24~27)Castellan's Chamber (LV 25~28)Middle Ocean (LV 18)(Special)
Moonlight Tavern
(LV 50~53)
Moonlight Tavern (LV 50~53)Moonlight Trial (LV 18)(Special)Moonlight Trial (LV 48)(Special)

Template: DungeonList - Great Metastasis

Template: DungeonList - Origins

Dungeons
Grand Flores (LV 1~16)

Generic Skill Growth Formatting

This process uses a "simulated" loop to automatically generate individual values for a skill when given a specified growth expression.

Why are we doing this?

As of recent years, the wiki has gotten more and more out-of-date due to various in-game updates. With these updates came balance patches which updated a multitude of class skills. In order to minimize time consumption for each page and to preserve wiki editor sanity, we have opted to using a method that auto-generates information rather than manually inputting individual values.

Due to this format, pages can be updated much more quickly. When a new balance patch arrives, editors only have to update the values of the skill growth expression.

To learn more about the formatting, please reference the information below.


Some Unnecessarily Long Prefix Awesomely Named Skill

{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10}} <!--Create an array named "maxrow" and fill it with 10 values. Extend array and add values if necessary-->
{|{{SkillTableHeader}}
!Level
!Lv Req
!MP
!Skill 1 Atk.
!Skill 2 Atk.
!Skill 3 Atk.
!Skill Charge Time
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@ ~~~ DO NOT CHANGE ~~~ -->
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use ~~~ DO NOT CHANGE ~~~ -->
{{!}}- {{#ifexpr: {{#var:i}} = 10 | {{MaxSkillRow}} }} <!-- DEFAULT: Detect max level at certain skill level -->
<!-- {{!}}- {{#ifexpr: 50+5*({{#var:i}}-1) = 90 | {{MaxSkillRow}} }}--> <!-- Detect for level cap-->
{{!}} <!--Level--> {{#var:i}}
{{!}} <!--Lv Req--> {{#expr: 50+5*({{#var:i}}-1)}}
{{!}} <!--MP--> {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1) round 0}}
{{!}} <!--Skill 1 Atk.--> {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1) round 0}}%
{{!}} <!--Skill 2 Atk.--> {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1) round 0}}% + {{AbsoluteDamage|{{#expr: (100/1000)+(((1000-100)/1000)/(10-1))*({{#var:i}}-1)}}|1}}
{{!}} <!--Skill 3 Atk.--> {{AbsoluteDamage|{{#expr: (1000000/1000)+(((10000000-1000000)/1000)/(10-1))*({{#var:i}}-1)}}|1}}
{{!}} <!--Skill Charge Time--> {{#expr: 10+((1-10)/(10-1))*({{#var:i}}-1) round 0}} sec.
{{!}}-
}}
|}
  • Note: Most skill growth expressions follow an Arithmetic Sequence.
    • In most cases, skills follow this growth format:
      {{#expr: BASELvVALUE+((MAXLvVALUE-BASELvVALUE)/(MAXLv-BASELv))*({{#var:i}}-1)}}
      • Ex: Let's say a skill's mana follows this growth pattern: 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 up to level 10. As you can see, the skill has a constant growth of 100 per level.
        • In this case, the mana follows this mathematical expression:
          {{#expr: 100+((1000-100)/(10-1))*({{#var:i}}-1)}}
      • If you wish to round the values to the nearest whole number/decimal place, add a round 0 before the end of the }} for the #expr: template. Increase or decrease the rounding number to adjust the rounding of specified decimal place.
      • Scenario: What if the skill has no base value?
        • Do the following:
          {{#expr: ((MAXLvVALUE)/(MAXLv-BASELv))*({{#var:i}}-1)}}
    • For skills that scale with Independent Attack use the following format:
      {{AbsoluteDamage|{{#expr: (BASELvVALUE/INDEPENDENTATK)+(((MAXLvVALUE-BASELvVALUE)/INDEPENDENTATK)/(MAXLv-BASELv))*({{#var:i}}-1) }}|1}}
  • Note: There are rare occasions when a skill will follow a Geometric Sequence.
    • In these cases, they tend to follow this format:
      {{#expr: BASELvVALUE*(NEXTLvVALUE/BASELvVALUE)^({{#var:i}}-1)}}
      • Ex: For the skill, Spectral Search Eye.png Spectral Search Eye, part of its Enemy Evasion Rate-reduction Range follows the growth expression: 400(0.7)(i-1).
        • The skill's BASELvValue (Lv 1 value) is 400. It's NEXTLvVALUE (Lv 2 value) is 280. (FYI: 280/400 = 0.7).
        • For consistency reasons, the format is shown as follows:
          {{#expr: 400*(280/400)^({{#var:i}}-1)}}


From the code shown above, it will display the following table.

Level Lv Req MP Skill 1 Atk. Skill 2 Atk. Skill 3 Atk. Skill Charge Time
1 50 100 100% 100% +
0.1
max-width:200px 100
1000
max-width:200px 100
10 sec.
2 55 200 200% 200% +
0.2
max-width:200px 100
2000
max-width:200px 100
9 sec.
3 60 300 300% 300% +
0.3
max-width:200px 100
3000
max-width:200px 100
8 sec.
4 65 400 400% 400% +
0.4
max-width:200px 100
4000
max-width:200px 100
7 sec.
5 70 500 500% 500% +
0.5
max-width:200px 100
5000
max-width:200px 100
6 sec.
6 75 600 600% 600% +
0.6
max-width:200px 100
6000
max-width:200px 100
5 sec.
7 80 700 700% 700% +
0.7
max-width:200px 100
7000
max-width:200px 100
4 sec.
8 85 800 800% 800% +
0.8
max-width:200px 100
8000
max-width:200px 100
3 sec.
9 90 900 900% 900% +
0.9
max-width:200px 100
9000
max-width:200px 100
2 sec.
10 95 1000 1000% 1000% +
1
max-width:200px 100
10000
max-width:200px 100
1 sec.



If you wish to alter the span of certain rows or columns, please refer to the given examples below.

Blade Dance Test

{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10}}<!--Create an array named "maxrow" and fill it with 10 values-->{{#vardefine:cancelcount|2}}<!--Create variable "cancelcount" that holds the values of number of cancels-->
{|{{SkillTableHeader}}
!Level
!Lv Req
!Cancellable Count
!Cancellation Count<br>Recovery Interval
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
{{!}}- {{#ifexpr: {{#var:i}} = 10 | {{MaxSkillRow}} }}
{{!}} <!--Level--> {{#var:i}}
{{!}} <!--Lv Req--> {{#expr: 15+3*({{#var:i}}-1)}}
<!--Cancellable Count--> {{#ifexpr: {{#var:i}} mod 3 = 1 | {{!}} rowspan="3"{{!}}{{#var:cancelcount}}{{#vardefine:cancelcount|{{#expr: {{#var:cancelcount}} + 1 }} }} }}
{{!}} <!--Cancellation Count Recovery Interval--> {{#expr: 11.1-((11.1-6.1)/(10-1))*({{#var:i}}-1) round 1}} sec.
{{!}}-
}}
|}
Level Lv Req Cancellable Count Cancellation Count
Recovery Interval
1 15 2 11.1 sec.
2 18 10.5 sec.
3 21 10 sec.
4 24 3 9.4 sec.
5 27 8.9 sec.
6 30 8.3 sec.
7 33 4 7.8 sec.
8 36 7.2 sec.
9 39 6.7 sec.
10 42 5 6.1 sec.

This example, creates a span of rows that updates the Cancellation Count every 3 levels, starting at level 1. To do this, it requires some general knowledge about If then/Else statements. To read more about this, refer to this link.

  • Generally, If then/Else Statements follow this format:
    • If a specified condition is met, then something happens. Otherwise, something Else happens.
    • For this particular scenario, we are testing an expression, so we will be using the Mediawiki #ifexpr: function.
      • {{#ifexpr: CONDITION | THEN: value if CONDITION is true | ELSE: value if CONDITION is false }}
  • The condition we want is for the table to show and update the Cancellation Count once every 3 levels.
    • To do this, we must first instantiate a variable that holds our default number for the Cancellation Count. This can be done with the following code:
      {{#vardefine:cancelcount|2}}
      Note: Make sure that this variable is instantiated outside and before the #arrayprint function.
    • As for the condition, we must find the first row of every three rows. It can be coded as follows:
      {{#var:i}} mod 3 = 1
      • The mathematical operation we are using is called "modulo", it finds the remainder of the dividend and the divisor.
        • It can be particularly useful when finding odd or even values. For example: for some integer value "x", if x mod 2 = 1, then x is odd. If x mod 2 = 0, then x is even.
      • The "3" represents the every three levels, and the "1" represents the first row of each 3 levels.
        • If we wanted to find the second row, we'd use the condition:
          {{#var:i}} mod 3 = 2
        • If we wanted to find the third row, we'd use the condition:
          {{#var:i}} mod 3 = 0
    • Now that we have our condition, we can find our THEN, what we want to happen when the condition is met. We want the table to output a column that takes up three rows and displays the Cancellation Count. To do this, we can use the following code:
      {{!}} rowspan="3"{{!}}{{#var:cancelcount}}{{#vardefine:cancelcount|{{#expr: {{#var:cancelcount}} + 1}} }}
      • {{!}}
        Generates a new column.
      • rowspan="3"{{!}}{{#var:cancelcount}}
        Generates a column that takes up 3 rows, and outputs the Cancellation Count once.
      • {{#vardefine:cancelcount|{{#expr: {{#var:cancelcount}} + 1}}
        Increments Cancellation Count, it's basically the same as typing the following in other computing languages:
        cancelcount = cancelcount + 1
    • Since we don't want the table to output anything for the ELSE, we leave it blank. Thus we get the final line of code:
      {{#ifexpr: {{#var:i}} mod 3 = 1 | {{!}} rowspan="3"{{!}}{{#var:cancelcount}}{{#vardefine:cancelcount|{{#expr: {{#var:cancelcount}} + 1 }} }} }}

Scud Genocide Test

This example uses formatting to adjust the span of columns and rows, as well as uses If then/Else statements to output various attribute information. Unlike the Blade Dance Test, this example has an ELSE value.

{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}}<!--Create an array named "maxrow" and fill it with 30 values-->
{|{{SkillTableHeader}}
!rowspan="2"|Level
!rowspan="2"|Lv Req
!rowspan="2"|MP
!rowspan="2"|Movement Speed
!colspan="2"|Bullet Barrage
!rowspan="2"|Aerial Movement Speed
!colspan="2"|Aerial Fire
!rowspan="2"|Shockwave Physical Atk.
|-
!Physical Atk.||Attack Count
!Physical Atk.||Attack Count
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
{{!}}- {{#ifexpr: 50+5*({{#var:i}}-1) = 90 | {{MaxSkillRow}} }}
{{!}} <!--Level--> {{#var:i}}
{{!}} <!--Lv Req--> {{#expr: 50+5*({{#var:i}}-1)}}
{{!}} <!--MP--> {{#expr: 1000+((2897-1000)/(11-1))*({{#var:i}}-1) round 0}}
{{!}} <!--Movement Speed--> {{#ifexpr: {{#var:i}} < 3 | +{{#expr: 3.9*({{#var:i}}-1)}}% | +{{#expr: 15.5+3.9*({{#var:i}}-3)}}% }}
<!-- -->
<!--Bullet Barrage-->
{{!}} <!--Physical Atk.--> {{#expr: 391+((1300-391)/(11-1))*({{#var:i}}-1) round 0}}%
<!--Attack Count--> {{#ifexpr: {{#var:i}} = 1 | {{!}}rowspan="2"{{!}} 20~30 x2 }} {{#ifexpr: {{#var:i}} = 3 |{{!}}rowspan="28"{{!}} 20~35 x2 }}
<!-- -->
{{!}} <!--Aerial Movement Speed--> {{#ifexpr: {{#var:i}} < 6 | {{#expr: 40-2.6*({{#var:i}}-1)}}% | {{#expr: 19.3-2.6*({{#var:i}}-6)}}% }}
<!-- -->
<!--Aerial Fire-->
{{!}} <!--Physical Atk.--> {{#expr: 762+((2529-762)/(11-1))*({{#var:i}}-1) round 0}}%
<!--Attack Count--> {{#ifexpr: {{#var:i}} = 1 | {{!}}rowspan="5"{{!}} 14~21 }} {{#ifexpr: {{#var:i}} = 6 |{{!}}rowspan="25"{{!}} 14~25 }}
<!-- -->
{{!}} <!--Shockwave Physical Atk.--> {{#expr: 464+((1542-464)/(11-1))*({{#var:i}}-1) round 0}}%
{{!}}-
}}
|}
Level Lv Req MP Movement Speed Bullet Barrage Aerial Movement Speed Aerial Fire Shockwave Physical Atk.
Physical Atk. Attack Count Physical Atk. Attack Count
1 50 1000 +0% 391% 20~30 x2 40% 762% 14~21 464%
2 55 1190 +3.9% 482% 37.4% 939% 572%
3 60 1379 +15.5% 573% 20~35 x2 34.8% 1115% 680%
4 65 1569 +19.4% 664% 32.2% 1292% 787%
5 70 1759 +23.3% 755% 29.6% 1469% 895%
6 75 1949 +27.2% 846% 19.3% 1646% 14~25 1003%
7 80 2138 +31.1% 936% 16.7% 1822% 1111%
8 85 2328 +35% 1027% 14.1% 1999% 1219%
9 90 2518 +38.9% 1118% 11.5% 2176% 1326%
10 95 2707 +42.8% 1209% 8.9% 2352% 1434%
11 100 2897 +46.7% 1300% 6.3% 2529% 1542%
12 105 3087 +50.6% 1391% 3.7% 2706% 1650%
13 110 3276 +54.5% 1482% 1.1% 2882% 1758%
14 115 3466 +58.4% 1573% -1.5% 3059% 1865%
15 120 3656 +62.3% 1664% -4.1% 3236% 1973%
16 125 3846 +66.2% 1755% -6.7% 3413% 2081%
17 130 4035 +70.1% 1845% -9.3% 3589% 2189%
18 135 4225 +74% 1936% -11.9% 3766% 2297%
19 140 4415 +77.9% 2027% -14.5% 3943% 2404%
20 145 4604 +81.8% 2118% -17.1% 4119% 2512%
21 150 4794 +85.7% 2209% -19.7% 4296% 2620%
22 155 4984 +89.6% 2300% -22.3% 4473% 2728%
23 160 5173 +93.5% 2391% -24.9% 4649% 2836%
24 165 5363 +97.4% 2482% -27.5% 4826% 2943%
25 170 5553 +101.3% 2573% -30.1% 5003% 3051%
26 175 5743 +105.2% 2664% -32.7% 5180% 3159%
27 180 5932 +109.1% 2754% -35.3% 5356% 3267%
28 185 6122 +113% 2845% -37.9% 5533% 3375%
29 190 6312 +116.9% 2936% -40.5% 5710% 3482%
30 195 6501 +120.8% 3027% -43.1% 5886% 3590%

Core Shield Test

Since the #arrayprint: function simulates a loop, we are not able to manually input values in a desired column. However, there is a work around. We can save the values we want to input in a column into a second array. In this case, we can call this second array shieldhp. We can reference this array for every index "i" that is called in the #arrayprint: function using the code:

{{!}} <!--Shield HP--> {{#arrayindex:shieldhp| {{#expr: {{#var:i}}-1 }} }}
  • Note: It is important to have the "-1" in the code because information that is stored in slots (indexes) in an Array always start at index 0, and not 1.
  • For those who are unfamiliar with Arrays or are interested about learning more about Arrays, look here for Mediawiki's usage.
    • Think of an Array as a line of numbered parking stalls. Within each stall or "index" can be parked a car with "information". You can fill these parking stalls with cars that have information when instantiating the Array like so:
      {{#arraydefine:shieldhp|800,928,1239,1426,1637,1875,2141,2438,2770,3138}}
      This array has a size of 10 indeces (stalls), numbered from 0 to 9.
    • We can also reference a specific stall number (index) to obtain that stall number's car information. To do this, we can use the Mediawiki function #arrayindex:. If we wanted to output the whole array or the entire list of car information, we use the function #arrayprint:.
{{#arraydefine:maxrow|1,2,3,4,5,6,7,8,9,10}}<!--Create an array named "maxrow" and fill it with 10 values--> {{#arraydefine:shieldhp|800,928,1239,1426,1637,1875,2141,2438,2770,3138}}<!--Create an array named "shieldhp" and fill it with 10 values-->
{|{{SkillTableHeader}}
!Level
!Lv Req
!MP
!Shield HP
!Shield Explosion Atk.
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
{{!}}- {{#ifexpr: {{#var:i}} = 10 | {{MaxSkillRow}} }}
{{!}} <!--Level--> {{#var:i}}
{{!}} <!--Lv Req--> {{#expr: 15+2*({{#var:i}}-1)}}
{{!}} <!--MP--> {{#expr: 23+3.676*({{#var:i}}-1) round 0}}
{{!}} <!--Shield HP--> {{#arrayindex:shieldhp| {{#expr: {{#var:i}}-1 }} }}
{{!}} <!--Shield Explosion Atk.--> {{#ifexpr: {{#var:i}} < 3 | {{#expr: 2703+281.622*({{#var:i}}-1) round 0}}% | {{#expr: 3525+274.236*({{#var:i}}-3) round 0}}% }}
{{!}}-
}}
|}
Level Lv Req MP Shield HP Shield Explosion Atk.
1 15 23 800 2703%
2 17 27 928 2977%
3 19 30 1239 3525%
4 21 34 1426 3799%
5 23 38 1637 4073%
6 25 41 1875 4348%
7 27 45 2141 4622%
8 29 49 2438 4896%
9 31 52 2770 5170%
10 33 56 3138 5445%

Note: For some odd reason, the skill has a one-time random double increment change at level 3, changing the Shield Explosion Atk. scalar growth from 274 to 548.

  • If this occurs, you can use an If then/Else function to remedy this situation.

Tabs Tester

{{tabs
|name=Shop
|tab1=Weapon
|contents1=<span style="display: none;">{{</span>

<!-- Weapon List -->
{{tabs
|name=WeaponType
|tab1=Slayer
|contents1=<span style="display: none;">{{</span>

Insert Slayer/Knight/Dark Knight Weapon List Here

<span style="display: none;">}}</span>
|tab2=Fighter
|contents2=<span style="display: none;">{{</span>

Insert Fighter Weapon List Here

<span style="display: none;">}}</span>
|tab3=Gunner
|contents3=<span style="display: none;">{{</span>

Insert Gunner Weapon List Here

<span style="display: none;">}}</span>

|tab4=Mage
|contents4=<span style="display: none;">{{</span>

Insert Mage Weapon List Here

<span style="display: none;">}}</span>
|tab5=Priest
|contents5=<span style="display: none;">{{</span>

Insert Priest Weapon List Here

<span style="display: none;">}}</span>
|tab6=Thief
|contents6=<span style="display: none;">{{</span>

Insert Thief Weapon List Here

<span style="display: none;">}}</span>
|tab7=D. Lancer
|contents7=<span style="display: none;">{{</span>

Insert D. Lancer Weapon List Here

<span style="display: none;">}}</span>
|tab8=Agent
|contents8=<span style="display: none;">{{</span>

Insert Agent Weapon List Here

<span style="display: none;">}}</span>
}}

<!-- Armor List -->
<span style="display: none;">}}</span>
|tab2=Armor
|contents2=<span style="display: none;">{{</span>

{{tabs
|name=ArmorType
|tab1=Cloth
|contents1=<span style="display: none;">{{</span>

Insert Cloth Armor List Here

<span style="display: none;">}}</span>
|tab2=Leather
|contents2=<span style="display: none;">{{</span>

Insert Leather Armor List Here

<span style="display: none;">}}</span>
|tab3=Light
|contents3=<span style="display: none;">{{</span>

Insert Light Armor List Here

<span style="display: none;">}}</span>
|tab4=Heavy
|contents4=<span style="display: none;">{{</span>

Insert Heavy Armor List Here

<span style="display: none;">}}</span>
|tab5=Plate
|contents5=<span style="display: none;">{{</span>

Insert Plate Armor List Here

<span style="display: none;">}}</span>
}}

<!-- Accessory List -->
<span style="display: none;">}}</span>
|tab3=Accessory
|contents3=<span style="display: none;">{{</span>

Insert Accessory List Here

<!-- Special Equipment List -->
<span style="display: none;">}}</span>
|tab4=Special Equipment
|contents4=<span style="display: none;">{{</span>

Insert Special Equipment List Here

<span style="display: none;">}}</span>
}}

{{

{{

Insert Slayer/Knight/Dark Knight Weapon List Here

}}
}}