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 (Some Unnecessarily Long Prefix Awesomely Named Skill)
m (Generic Skill Growth Formatting)
Line 1,048: Line 1,048:
 
|}
 
|}
  
 +
 +
<hr>
 
If you wish to alter the span of certain rows or columns, please refer to the given examples below.
 
If you wish to alter the span of certain rows or columns, please refer to the given examples below.
 +
===[[Blade Dance]] Test===
 +
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.
 +
*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.
 +
 +
<pre>
 +
{{#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)/9)*({{#var:i}}-1) round 1}} sec.
 +
{{!}}-
 +
}}
 +
|}
 +
</pre>
 +
{{#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)/9)*({{#var:i}}-1) round 1}} sec.
 +
{{!}}-
 +
}}
 +
|}

Revision as of 15:23, 9 November 2018

Altair
Pumpkin Ball.png
Race toro Capsicum annuum
Server DFOG - Cain
Explorer Club Lorekeeper
Reddit /u/Zactor
Discord Eckhart#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.

Other 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.
  • Arad Senki Wiki: link
  • DnF Nexon Site: link
  • Namu Wiki: link
  • CDnF Wiki: 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.

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: NpcList

NPCs
Elvenguard Seria KirminBlacksmith LinusErrand Runner TobyDanjinSimona, the Fortuneteller
Hendon Myre BuckenKnight RobatoPungjinChobungGrandisKiriCannaEmpress SkardiG.S.DGrubeck GoblindeCindaAlbert BernsteinMinetKarakasSiushaZanbato AganzoLenoMichelleUnit Leader Schmitt
West Coast Joah FerreroRoger LevinDaphne MarbrosAbelloGrandma OranLoton MaximugSharanIris FortunesingerAnnisOpheliaKargon
Aphelia Post Faris, the Sewer PrincessGaleBreezeKlonterMad Dog LoelMinet
Underfoot Elder SaffronQueen MayaAlisha ArdenHighmore
Storm Pass MintaiValenaRinoOrcaBwanga
Northern Shelter MichelleZanbato Aganzo
Silver Crown Blue Guardian VetalaAlchemist Morgan
Sewer Faris, the Sewer PrincessAlbert Bernstein
Behemoth OpheliaIsadoraVangelis
Ghent Zeldine SchneiderMarlene KitzkaMelvin RichterSandstorm VarrachtVaughn WalshutedImperial Princess Erje
Saint Horn Captain LutherBowmaster LudmillaNatalia SueLast Memet
Bahn Hafen Beren VonnegutCoral
Shonan Master SiranShonan AskaWoo, the Royal MessengerJun, the Blacksmith
Slaugh Industrial Complex Brigadier General NavarreRia RichterFarrel WaneMathias Nessman
Kulundal Bai MingJiu Long
Noblesky Naen SigerJakter the Eagle EyeWoon LyonirHiram KlaufTammy
Zelva
Pandemonium Outpost
Hartz Von KruegerNevillo JurgenHound CyrusMeryl PioneerRoy the Burning PenEventful Erica
Imperial Princess IsabellaDana DonatelHunter VonAzalea Lott
Central Park KatePipiNiuPaiRed WitchRed Tail JonathanCatherine
Pandemonium Junction Snowflake Joshua
Arena ChobungHaruSizki
Guild Hideout Court Supplier AndeCourtier Regin
Other DelilahGabrielReaper Dreyfus

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)

Hidden Text


Vilmark - Area 50


Image Slider

Boxed Text

  • Level: n
  • Lv Req: 1+2(n-1)
  • MP: 6+0.568(n-1)
  • Melee Atk.: 781%+79.273(n-1)% +
    1.95
    max-width:200px 100
    +
    0.2
    max-width:200px 100
    (n-1)
  • Lance Tip Atk.: 1027%+104.273(n-1)% +
    2.57
    max-width:200px 100
    +
    0.26
    max-width:200px 100
    (n-1)

Number Calculator

Skill Option Calculator Display Pseudocode: Given a number n, calculates the given expressions.

  • n must meet theses qualifications:
    • It must be a positive Integer
    • It must be greater than 1 and less than or equal to its max level (60)

Example:

n = 40

  • Level: 40
  • Lv Req: 79
  • MP: 28
  • Melee Atk.: 3873% +
    9.67
    max-width:200px 100
  • Lance Tip Atk.: 5094% +
    12.75
    max-width:200px 100

Variable Tab Tester

{{#vardefine:a | 1 }}{{#vardefine:b | 50}}
{{tabs
|name=Values
|tab1=n
|contents1=
*{{SkillAttribute|Level|n}}
*{{SkillAttribute|Lv Req|1+2(n-1)}}
*{{SkillAttribute|MP|6+0.568(n-1)}}
*{{SkillAttribute|Melee Atk.|781%+79.273(n-1)% + {{AbsoluteDamage|3531|1811}}+{{AbsoluteDamage|358.909|1811}}(n-1)}}
*{{SkillAttribute|Lance Tip Atk.|1027%+104.273(n-1)% + {{AbsoluteDamage|4654|1811}}+{{AbsoluteDamage|472.909|1811}}(n-1)}}
|tab2=Min Lv.
|contents2=
*'''Level:''' {{#var:a}}
*'''Lv Req:''' {{#expr: 1+2*({{#var:a}}-1) }}
*'''MP:''' {{#expr: 6+0.568*({{#var:a}}-1) round 0}}
*'''Melee Atk.:''' {{#expr: 781+79.273*({{#var:a}}-1) round 0}}% + {{AbsoluteDamage| {{#expr: 1.95+0.198*({{#var:a}}-1) }} | 1 }}
*'''Lance Tip Atk.:''' {{#expr: 1027+104.273*({{#var:a}}-1) round 0}}% + {{AbsoluteDamage| {{#expr: 2.57+0.261*({{#var:a}}-1) }} | 1 }}
|tab3=Max Lv.
|contents3=
*'''Level:''' {{#var:b}}
*'''Lv Req:''' {{#expr: 1+2*({{#var:b}}-1) }}
*'''MP:''' {{#expr: 6+0.568*({{#var:b}}-1) round 0}}
*'''Melee Atk.:''' {{#expr: 781+79.273*({{#var:b}}-1) round 0}}% + {{AbsoluteDamage| {{#expr: 1.95+0.198*({{#var:b}}-1) }} | 1 }}
*'''Lance Tip Atk.:''' {{#expr: 1027+104.273*({{#var:b}}-1) round 0}}% + {{AbsoluteDamage| {{#expr: 2.57+0.261*({{#var:b}}-1) }} | 1 }}
}}
  • Level: n
  • Lv Req: 1+2(n-1)
  • MP: 6+0.568(n-1)
  • Melee Atk.: 781%+79.273(n-1)% +
    1.95
    max-width:200px 100
    +
    0.2
    max-width:200px 100
    (n-1)
  • Lance Tip Atk.: 1027%+104.273(n-1)% +
    2.57
    max-width:200px 100
    +
    0.26
    max-width:200px 100
    (n-1)

Skill Expression Table Tests

User:Dfoplayer's #arrayprint of Quick Punto

{{#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}}
!Level
!Lv Req
!MP
!Melee Atk.
!Lance Tip Atk.
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
{{!}}- {{#ifexpr: {{#var:i}} = 30 | {{MaxSkillRow}} }}
{{!}} <!--Level--> {{#var:i}}
{{!}} <!--Lv Req--> {{#expr: 1+2*({{#var:i}}-1)}}
{{!}} <!--MP--> {{#expr: 6+0.568*({{#var:i}}-1) round 0}}
{{!}} <!--Melee Atk.--> {{#expr: 781+79.273*({{#var:i}}-1) round 0}}% + {{AbsoluteDamage| {{#expr: 1.95+0.198*({{#var:i}}-1) }} | 1 }}
{{!}} <!--Lance Tip Atk.--> {{#expr: 1027+104.273*({{#var:i}}-1) round 0}}% + {{AbsoluteDamage| {{#expr: 2.57+0.261*({{#var:i}}-1) }} | 1 }}
{{!}}-
}}
|}

Core Shield Test

{{#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.

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)/9)*({{#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.

Holy Spear: Brionac Test

{{#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}}
!Level
!Lv Req
!MP
!Spear Colliding Magical Atk.
!Spear Explosion Magical Atk.
{{#arrayprint:maxrow||@@@@|<!--Each item in array maxrow is now @@@@-->
{{#vardefine:i|@@@@}}<!-- Move item to an actual variable we can use -->
{{!}}- {{#ifexpr: 85+5*({{#var:i}}-1) = 90 | {{MaxSkillRow}} }}
{{!}} <!--Level--> {{#var:i}}
{{!}} <!--Lv Req--> {{#expr: 85+5*({{#var:i}}-1)}}
{{!}} <!--MP--> {{#expr: 2500+((2628-2500)/2)*({{#var:i}}-1)}}
{{!}} <!--Spear Colliding Magical Atk.--> {{AbsoluteDamage|{{#expr: (871046/2990)+(((1274995-871046)/2990)/2)*({{#var:i}}-1)}}|1}}
{{!}} <!--Spear Explosion Magical Atk.--> {{AbsoluteDamage|{{#expr: (1306570/2990)+(((1912493-1306570)/2990)/2)*({{#var:i}}-1)}}|1}}
{{!}}-
}}
|}
Level Lv Req MP Spear Colliding Magical Atk. Spear Explosion Magical Atk.
1 85 2500
291.32
max-width:200px 100
436.98
max-width:200px 100
2 90 2564
358.87
max-width:200px 100
538.3
max-width:200px 100
3 95 2628
426.42
max-width:200px 100
639.63
max-width:200px 100
4 100 2692
493.97
max-width:200px 100
740.95
max-width:200px 100
5 105 2756
561.52
max-width:200px 100
842.28
max-width:200px 100
6 110 2820
629.07
max-width:200px 100
943.6
max-width:200px 100
7 115 2884
696.62
max-width:200px 100
1044.93
max-width:200px 100
8 120 2948
764.17
max-width:200px 100
1146.25
max-width:200px 100
9 125 3012
831.72
max-width:200px 100
1247.58
max-width:200px 100
10 130 3076
899.27
max-width:200px 100
1348.9
max-width:200px 100
11 135 3140
966.82
max-width:200px 100
1450.23
max-width:200px 100
12 140 3204
1034.37
max-width:200px 100
1551.55
max-width:200px 100
13 145 3268
1101.92
max-width:200px 100
1652.88
max-width:200px 100
14 150 3332
1169.47
max-width:200px 100
1754.2
max-width:200px 100
15 155 3396
1237.02
max-width:200px 100
1855.53
max-width:200px 100
16 160 3460
1304.57
max-width:200px 100
1956.85
max-width:200px 100
17 165 3524
1372.12
max-width:200px 100
2058.18
max-width:200px 100
18 170 3588
1439.67
max-width:200px 100
2159.5
max-width:200px 100
19 175 3652
1507.22
max-width:200px 100
2260.83
max-width:200px 100
20 180 3716
1574.77
max-width:200px 100
2362.15
max-width:200px 100
21 185 3780
1642.32
max-width:200px 100
2463.48
max-width:200px 100
22 190 3844
1709.87
max-width:200px 100
2564.8
max-width:200px 100
23 195 3908
1777.42
max-width:200px 100
2666.13
max-width:200px 100
24 200 3972
1844.97
max-width:200px 100
2767.45
max-width:200px 100
25 205 4036
1912.52
max-width:200px 100
2868.78
max-width:200px 100
26 210 4100
1980.07
max-width:200px 100
2970.1
max-width:200px 100
27 215 4164
2047.62
max-width:200px 100
3071.43
max-width:200px 100
28 220 4228
2115.17
max-width:200px 100
3172.75
max-width:200px 100
29 225 4292
2182.72
max-width:200px 100
3274.08
max-width:200px 100
30 230 4356
2250.27
max-width:200px 100
3375.4
max-width:200px 100

Scud Genocide Test

{{#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)/10)*({{#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)/10)*({{#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)/10)*({{#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)/10)*({{#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%

Generic Skill Growth Formatting

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 is decreasing rather than increasing?
        • Switch the plus to a minus like so:
          {{#expr: BASELvVALUE-((MAXLvVALUE-BASELvVALUE)/(MAXLv-BASELv))*({{#var:i}}-1)}}
      • Scenario: What if the skill has no base value?
        • Remove the -1 from the variable "i" along with unnecessary parenthesis like so:
          {{#expr: BASELvVALUE+((MAXLvVALUE-BASELvVALUE)/(MAXLv-BASELv))*{{#var:i}}}}
    • 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

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.
  • 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.
{{#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)/9)*({{#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.