FANDOM


-- <pre>
--
-- A table of skills based on name and level
--
 
local p = {}
 
local function green(text)
    return "<span class='greentext'>"..text.."</span>"
end
 
function firstToUpper(str)
    return (str:gsub("^%l", string.upper))
end
 
-- "target" = [single, random, randomstun, all, mimic]
-- "type" = [attack, fire, water, wood, elemental, heal, attackheal, buffheal, dividehp, stun, attackstun, buff, mimic, woodinc]
-- "levelBase" / "levelInc" use to calculate data based on level
-- "levels" is used to explicitly declare a table of known values if there is no set pattern
----- NOTE: "Warrior's Song" (Dice) and "Buff Concert" (Ringo / Lulu) are probably effected by the "ATK BUFF".
local skills = {
    ["Angel Strike"] = {
        name    = "Angel Strike",
        text    = "Strikes one enemy with "..green("%d%%").." ATK while healing all allies "..green("%d%%").." HEAL.",
        mp      = 38,
        type    = "attackheal",
        target  = "single",
        -- 5-740 / 7=1060 / 9=1380
        levelBase   = 100,
        levelInc    = 160,
    },
    ["Anthem of Light"] = {
        name    = "Anthem of Light",
        text    = "Increases team's ATK by +"..green("%d%%").." while healing all allies with "..green("%d%%").." HEAL.",
        mp      = 44,
        type    = "buffheal",
        target  = "all",
        -- 8=140,1200
        levelBase   = 140, -- unknown
        levelInc    = 0, -- unknown
        levelBase2  = 1200, -- unknown
        levelInc2   = 0, -- unknown
    },
    ["Assassinate"] = {
        name    = "Assassinate",
        text    = "Instantly kills an enemy ("..green("%d%%").." chance). Doesn't work on bosses.",
        mp      = 45,
        type    = "attack",
        target  = "single",
        -- 4=40 / 6=50 / 7=55 / 8=60 / 9=65 / 10=70 / 11=75
        levelBase   = 25,
        levelInc    = 5,
    },
    ["Axe Tornado"] = {
        name    = "Axe Tornado",
        text    = "Swings a giant axe at all enemies with "..green("%d%%").." ATK.",
        mp      = 68,
        type    = "attack",
        target  = "all",
        -- 10=3630
        levelBase   = 3630, -- unknown
        levelInc    = 0, -- unknown
    },
    ["Bat Wave"] = {
        name    = "Bat Wave",
        text    = "Sends ultrasonic waves at all enemies with "..green("%d%%").." ATK while healing all allies +"..green("%d%%").."",
        mp      = 35,
        type    = "attackheal",
        target  = "all",
        -- 3=490 / 4=560 / 5=630 / 6=700 / 8=840
        levelBase   = 350,
        levelInc    = 70,
    },
    ["Brave Claw"] = {
        name    = "Brave Claw",
        text    = "Claws an enemy with "..green("%d%%").." Wood ATK.",
        mp      = 34,
        type    = "wood",
        target  = "single",
        -- Fenrir: 5=1760 / 6=2080 / 7=2400 [old] ?:5=1520 / 6=1780 / 7=2040
        levelBase   = 480,
        levelInc    = 320,
    },
    ["Buff Concert"] = {
        name    = "Buff Concert",
        text    = "Team's ATK +"..green("%d%%")..".",
        mp      = 45,
        type    = "buff",
        target  = "all",
        levelBase   = 0, -- unknown
        levelInc    = 0, -- unknown
    },
    ["Buff Concert-Ringo"] = {
        name    = "Buff Concert",
        text    = "Team's ATK +"..green("%d%%")..".",
        mp      = 45,
        type    = "buff",
        target  = "all",
        levels      = {
            [4] = { value=60 }, -- ringo buff: 15
            [6] = { value=96 }, -- ringo buff: 20
            [8] = { value=140 }, -- ringo buff: 25
        }
    },
    ["Buff Concert-Lulu"] = {
        name    = "Buff Concert",
        text    = "Team's ATK +"..green("%d%%")..".",
        mp      = 45,
        type    = "buff",
        target  = "all",
        levels      = {
            [4] = { value=48 }, -- lulu buff: 12
            [6] = { value=72 }, -- lulu buff: 15
            [8] = { value=101 }, -- lulu buff: 18
        }
    },
    ["Buff Concert-BMO"] = {
        name    = "Buff Concert",
        text    = "Team's ATK +"..green("%d%%")..".",
        mp      = 45,
        type    = "buff",
        target  = "all",
        levels      = {
            [7] = { value=88 }, -- bmo buff: 17
            [8] = { value=106 }, -- bmo buff: 19
            [9] = { value=126 }, -- bmo buff: 21
        }
    },
    ["Buff Concert-Pat"] = {
        name    = "Buff Concert",
        text    = "Team's ATK +"..green("%d%%")..".",
        mp      = 45,
        type    = "buff",
        target  = "all",
        levels      = {
            [5] = { value=70 }, -- pat buff: 16
            [6] = { value=91 }, -- pat buff: 19
            [7] = { value=114 }, -- pat buff: 22
        }
    },
    ["Cannon Strike"] = {
        name    = "Cannon Strike",
        text    = "Cannon strike "..green("%d").."-"..green("%d").." times with "..green("%d%%").." Water ATK.",
        mp      = 40,
        type    = "water",
        target  = "random",
        -- 5=360,4,6 / 6=380,5,7 / 7=400,6,8
        levelBase   = 280,
        levelInc    = 20,
        levelBase2  = 0,
        levelInc2   = 1,
        levelBase3  = 2,
        levelInc3   = 1,
    },
    ["Card Magic"] = {
        name    = "Card Magic",
        text    = "Fire cards at all enemies with "..green("%d%%").." ATK",
        mp      = 43,
        type    = "attack",
        target  = "all",
        -- 4=600 / 6=720 / 8=840
        levelBase   = 420,
        levelInc    = 60,
    },
    ["Champion's Strike"] = {
        name    = "Champion's Strike",
        text    = "Attacks a single enemy with "..green("%d%%").." ATK.",
        mp      = 40,
        type    = "attack",
        target  = "single",
        -- Cassius the Champion: 8=2050 / 10=2350 / 12=2650
        levelBase   = 1000,
        levelInc    = 150,
    },
    ["Comet Sword"] = {
        name    = "Comet Sword",
        text    = "Inflicts a shower of blades on all enemies with "..green("%d%%").." ATK.",
        mp      = 65,
        type    = "attack",
        target  = "all",
        -- Demon Sword: 8=2750
        levelBase   = 2750, -- unknown
        levelInc    = 0, -- unknown
    },
    ["Consecutive Explosions"] = {
        name    = "Consecutive Explosions",
        text    = "Launches Consecutive Explosions on all enemies with "..green("%d%%").." Wood ATK. Increases damage by "..green("%d%%").." per additional enemy.",
        mp      = 37,
        type    = "woodinc",
        target  = "all",
        -- 6=700,150 / 7=780,160 / 8=860,170
        levelBase   = 300,
        levelInc    = 80,
        levelBase2  = 100,
        levelInc2   = 10,
 
    },
    ["Cyclone"] = {
        name    = "Cyclone",
        text    = "Attacks all enemies with "..green("%d%%").." ATK",
        mp      = 38,
        type    = "attack",
        target  = "all",
        -- 1=240 / 2=270 / 3=300 / 4=330 / 6=390 / 7=420 / 8=450 / 9=480 / 10=510 / 12=570 / 14=630
        levelBase   = 240,
        levelInc    = 30,
    },
    ["Dance Fever"] = {
        name    = "Dance Fever",
        text    = "Stuns all enemies with her dance ("..green("%d%%")..")",
        mp      = 35,
        type    = "stun",
        target  = "all",
        -- 3=45 / 4=50 / 5=55 / 6=60 / 8=70
        levelBase   = 35,
        levelInc    = 5,
    },
    ["Dark Mateo"] = {
        name    = "Dark Mateo",
        text    = "Rains darkness on all enemies with "..green("%d%%").." ATK.",
        mp      = 60,
        type    = "attack",
        target  = "all",
        -- 10=2000
        levelBase   = 2000, -- unknown
        levelInc    = 0, -- unknown
    },
    ["Demon's Quake"] = {
        name    = "Demon's Quake",
        text    = "Causes earthquake damage on all enemies with ("..green("%d%%")..") ATK",
        mp      = 38,
        type    = "attack",
        target  = "all",
        -- 4=480 / 5=560 / 6=640 / 8=800
        levelBase   = 240,
        levelInc    = 80,
    },
    ["Divine Punishment"] = {
        name    = "Divine Punishment",
        text    = "Inflict Divine Punishment on all enemies with "..green("%d%%").." ATK.",
        mp      = 35,
        type    = "attack",
        target  = "all",
        -- 8=735 / 9=810
        levelBase   = 210,
        levelInc    = 75,
    },
    ["Dragon Breath"] = {
        name    = "Dragon Breath",
        text    = "Spurts Dragon Breath on all enemies with "..green("%d%%").." ATK.",
        mp      = 43,
        type    = "attack",
        target  = "all",
        -- Angard: 4=800 / 6=1040 / 8=1280
        levelBase   = 440,
        levelInc    = 120,
    },
    ["Finn Swords"] = {
        name    = "Finn Swords",
        text    = "Shoots swords on all enemies with "..green("%d%%").." ATK",
        mp      = 38,
        type    = "attack",
        target  = "all",
        -- Finn: 4=740 / 5=860 / 6=980 / 7=1100
        levelBase   = 380,
        levelInc    = 120,
    },
    ["Fire Pillar"] = {
        name    = "Fire Pillar",
        text    = "Attacks a single enemy with "..green("%d%%").." Fire ATK",
        mp      = 32,
        type    = "fire",
        target  = "single",
        -- 4=650 / 6=790 / 8=930 / 9=1000 / 11=1140
        levelBase   = 440,
        levelInc    = 70,
    },
    ["Fire Wall"] = {
        name        = "Fire Wall",
        text        = "Attacks all enemies with "..green("%d%%").." Fire ATK",
        mp          = 42,
        type        = "fire",
        target      = "all",
        -- 4=350 / 6=410 / 8=470 / 10=530
        levelBase   = 260,
        levelInc    = 30,
    },
    ["Flame Strike"] = {
        name        = "Flame Strike",
        text        = "Randomly attacks enemies "..green("%d").."-"..green("%d").." times with "..green("%d%%").." Fire ATK.",
        mp          = 42,
        type        = "fire",
        target      = "random",
        -- 2=71,2,6 / 3=82,3,7 / 4=93,4,8 / 5=104,5,9 / 6=115,6,10 / 7=126,7,11
        levelBase   = 60,
        levelInc    = 11,
        levelBase2  = 1,
        levelInc2   = 1,
        levelBase3  = 5,
        levelInc3   = 1,
    },
    ["Flare"] = {
        name        = "Flare",
        text        = "Launches a fire explosion on all enemies with "..green("%d%%").." Fire ATK.",
        mp          = 35,
        type        = "fire",
        target      = "all",
        -- Fira: 5=980 / 7=1220 / 10=1580 [old] ?: 5=830 / 7=1070 / 8=1190 / 10=1430 / 12=1670
        levelBase   = 500,
        levelInc    = 120,
    },
    ["Forest's Will"] = {
        name        = "Forest's Will",
        text        = "Ultimate Leaf Magic with "..green("%d%%").." WOOD.",
        mp          = 37,
        type        = "wood",
        target      = "all",
        -- Abracadaniel: 5=1000 / 6=1160 / 7=1320    [old] ?: 5=880 / 8=1270 / 10=1530
        levelBase   = 360,
        levelInc    = 160,
    },
    ["Giant Claw"] = {
        name        = "Giant Claw",
        text        = "Launches a giant claw attack on all enemies with "..green("%d%%").." ATK.",
        mp          = 65,
        type        = "attack",
        target      = "all",
        -- 8=2760
        levelBase   = 2760, -- unknown
        levelInc    = 0, -- unknown
    },
    ["Gravity Cannon"] = {
        name        = "Gravity Cannon",
        text        = "Reduces "..green("%d%%").." of an enemy's remaining HP. Doesn't work on bosses.",
        mp          = 35,
        type        = "dividehp",
        target      = "all",
        -- 4=48 / 5=54 / 6=60 / 8=72
        levelBase   = 30,
        levelInc    = 6,
    },
    ["Heavenly Wrath"] = {
        name        = "Heavenly Wrath",
        text        = "Explosion of all elementals with ("..green("%d%%")..") FIRE/WATER/WOOD.",
        mp          = 50,
        type        = "elemental",
        target      = "all",
        -- 3=650 / 4=780 / 5=910 / 6=1040 / 8=1300 / 10=1560
        levelBase   = 390,
        levelInc    = 130,
    },
    ["Hell Chains"] = {
        name        = "Hell Chains",
        text        = "Tortures all enemies with "..green("%d%%").." ATK.",
        mp          = 27,
        type        = "attack",
        target      = "all",
        -- 8=630(old value) / 9=700
        levelBase   = 700, -- unknown
        levelInc    = 0, -- unknown
    },
    ["Holy Nova"] = {
        name        = "Holy Nova",
        text        = "Launches Holy Nova on all enemies with "..green("%d%%").." Wood ATK while healing all allies with "..green("%d%%").." Heal.",
        mp          = 38,
        type        = "woodheal",
        target      = "all",
        -- Kamael: 8=1400,940 / 9=1550,1020 / 10=1700,1100 [old] ?: 7=1070,860 / 8=1190,940 / 9=1310,1020
        levelBase   = 350,
        levelInc    = 150,
        levelBase2  = 380,
        levelInc2   = 80,
    },    
    ["Ice Age"] = {
        name        = "Ice Age",
        text        = "Launches ice spkies on all enemies with "..green("%d%%").." Water ATK.",
        mp          = 38,
        type        = "water",
        target      = "all",
        -- 5=950 / 10=1850
        levelBase   = 230,
        levelInc    = 180,
    },
    ["Ice Sphere"] = {
        name        = "Ice Sphere",
        text        = "Launches an ice explosion on all enemies with "..green("%d%%").." Water ATK.",
        mp          = 35,
        type        = "water",
        target      = "all",
        -- Aira: 5=980 / 7=1220 / 10=1580 [old] ?: 5=830 / 7=1070 / 10=1430
        levelBase   = 500,
        levelInc    = 120,
    },
    ["Invisible Slash"] = {
        name        = "Invisible Slash",
        text        = "Slashes all enemies with "..green("%d%%").." Water ATK.",
        mp          = 24,
        type        = "water",
        target      = "all",
        -- 5=400 / 6=440 / 7-480 / 8=520
        levelBase   = 240,
        levelInc    = 40,
    },
    ["Jake Hammer"] = {
        name        = "Jake Hammer",
        text        = "Attacks all enemies with "..green("%d%%").." ATK and stuns them.("..green("%d%%").." chance)",
        mp          = 36,
        type        = "attackstun",
        target      = "all",
        -- Jake: 6=300,59 / 7=340,64 / 6=380,69
        levelBase   = 100,
        levelInc    = 40,
        levelBase2  = 34,
        levelInc2   = 5,
    },
    ["Machinegun Arrow"] = {
        name        = "Machinegun Arrow",
        text        = "Rains arrows down on all enemies with "..green("%d%%").." ATK",
        mp          = 28,
        type        = "attack",
        target      = "all",
        -- 3=410 / 4=490 / 5=570 / 6=650 / 10=970
        levelBase   = 250,
        levelInc    = 80,
    },
    ["Mass Heal"] = {
        name        = "Mass Heal",
        text        = "Heals all allies with "..green("%d%%").." of HEAL.",
        mp          = 39,
        type        = "heal",
        target      = "all",
        -- 4=690 / 6=850 / 8=1010
        levelBase   = 450,
        levelInc    = 80,
    },
    ["Melee Strike"] = {
        name        = "Melee Strike",
        text        = "Randomly attacks enemies "..green("%d").."-"..green("%d").." times with "..green("%d%%").." ATK.",
        mp          = 45,
        type        = "attack",
        target      = "random",
        -- 3=80,3,7 / 4=90,4,8 / 5=100,5,9 / 6=110,6,10 / 7=120,7,11 / 8=130,8,12 / 9=140,9,13 / 10=150,10,14 / 12=170,12,16
        levelBase   = 60,
        levelInc    = 10,
        levelBase2  = 1,
        levelInc2   = 1,
        levelBase3  = 5,
        levelInc3   = 1,
    },
    ["Meteor Strike"] = {
        name        = "Meteor Strike",
        text        = "Launches a meteor at all enemies with "..green("%d%%").." Fire ATK",
        mp          = 65,
        type        = "fire",
        target      = "all",
        -- Luna: 5=2100 / 8=2850 / 11=3600
        levelBase   = 1100,
        levelInc    = 250,
    },
    ["Million Fists"] = {
        name        = "Million Fists",
        text        = "Lightspeed punches to a single enemy with "..green("%d%%").." ATK",
        mp          = 23,
        type        = "attack",
        target      = "single",
        -- 6=810 / 8=1030 / 10=1250
        levelBase   = 260,
        levelInc    = 110,
    },
    ["Mimic"] = {
        name        = "Mimic",
        text        = "Randomly mimics a party member's super attack with "..green("%d%%").." efficiency",
        mp          = 30,
        type        = "mimic",
        target      = "mimic",
        -- Magic Man: 6=70 / 7=75 / 8=80
        levelBase   = 45,
        levelInc    = 5,
    },
    ["Myriad Slashes"] = {
        name        = "Myriad Slashes",
        text        = "Slashes all enemies with "..green("%d%%").." ATK",
        mp          = 24,
        type        = "attack",
        target      = "all",
        -- 2=280 / 3=310 / 4=340 / 7=430 / 9=490
        levelBase   = 250,
        levelInc    = 30,
    },
    ["Omega Heal"] = {
        name        = "Omega Heal",
        text        = "Heals all allies with "..green("%d%%").." of HEAL.",
        mp          = 38,
        type        = "heal",
        target      = "all",
        -- 3=700 / 4=800 / 6=1000 / 7=1100
        levelBase   = 500,
        levelInc    = 100,
    },
    ["Purification"] = {
        name        = "Flame of Purification",
        text        = "Shoots Flame of Purification to random enemies "..green("%d").."-"..green("%d").." times with "..green("%d%%").." ATK and stuns them ("..green("%d%%").." chance).",
        mp          = 38,
        type        = "attack",
        target      = "randomstun",
        -- 5=170,4,6,38 / 7=190,6,8,44 / 9=210,8,10,50
        levelBase   = 130,
        levelInc    = 10,
        levelBase2  = 0,
        levelInc2   = 1,
        levelBase3  = 2,
        levelInc3   = 1,
        levelBase4  = 26,
        levelInc4   = 3,
    },
    ["Raiden"] = {
        name        = "Raiden",
        text        = "Lightning strikes all enemies with "..green("%d%%").." ATK",
        mp          = 36,
        type        = "attack",
        target      = "all",
        -- 4=740 / 7=1100 / 10=1460
        levelBase   = 380,
        levelInc    = 120,
    },
    ["Rain Blaster"] = {
        name        = "Rain Blaster",
        text        = "Rains fire on all enemies with "..green("%d%%").." FIRE.",
        mp          = 50,
        type        = "fire",
        target      = "all",
        -- Pymon: 11=1900 / Russell: 3=700 / 4=850 / 5=1000 [old] ?:3=700 / 7=1200
        levelBase   = 400,
        levelInc    = 150,
    },
    ["Risky Play"] = {
        name        = "Risky Play",
        text        = "Launches flames on all enemies with "..green("%d%%").." Fire ATK while sacrificing "..green("35%%").." HP.",
        mp          = 34,
        type        = "fire",
        target      = "all",
        -- 6=1300 / 7=1400 / 8=1500
        levelBase   = 800,
        levelInc    = 100,
    },
    ["Sacrifice Flame"] = {
        name    = "Sacrifice Flame",
        text    = "Attacks all enemies with "..green("%d%%").." ATK while sacrificing "..green("20%%").." HP.",
        mp      = 42,
        type    = "fire",
        target  = "all",
        -- 3=440 / 4=500 / 6=620 / 8=740
        levelBase   = 320,
        levelInc    = 60,
    },
    ["Sacrifice Strike"] = {
        name    = "Sacrifice Strike",
        text    = "Attacks all enemies with "..green("%d%%").." ATK while sacrificing "..green("15%%").." HP.",
        mp      = 38,
        type    = "attack",
        target  = "all",
        -- 3=360 / 4=410 / 6=510 / 8=610 / 11=760
        levelBase   = 260,
        levelInc    = 50,
    },
    ["Sacrifice Water"] = {
        name    = "Sacrifice Water",
        text    = "Attacks all enemies with "..green("%d%%").." ATK while sacrificing "..green("20%%").." HP.",
        mp      = 42,
        type    = "water",
        target  = "all",
        -- 7=680 / 9=800 / 11=920
        levelBase   = 320,
        levelInc    = 60,
    },
    ["Sacrifice Wood"] = {
        name    = "Sacrifice Wood",
        text    = "Attacks all enemies with "..green("%d%%").." ATK while sacrificing "..green("20%%").." HP.",
        mp      = 42,
        type    = "wood",
        target  = "all",
        -- 3=440 / 4=500 / 6=620 / 8=740 / 11=920
        levelBase   = 320,
        levelInc    = 60,
    },
    ["Satellite Strike"] = {
        name    = "Satellite Strike",
        text    = "Strikes Satellite Strike on all enemies with "..green("%d%%").." ATK.",
        mp      = 34,
        type    = "attack",
        target  = "all",
        -- 6=880 / 7=980 / 8=1080
        levelBase   = 380,
        levelInc    = 100,
    },
    ["Shield Smash"] = {
        name    = "Shield Smash",
        text    = "Attacks a single enemy with "..green("%d%%").." ATK and stuns it",
        mp      = 42,
        type    = "attack",
        target  = "single",
        -- 2=350 / 3=410 / 4=470 / 7=650 / 9=770
        levelBase   = 290,
        levelInc    = 60,
    },
    ["Spear Impact"] = {
        name    = "Spear Impact",
        text    = "Throws a spear at a single enemy with "..green("%d%%").." ATK",
        mp      = 33,
        type    = "attack",
        target  = "single",
        -- 2=570 / 3=720 / 4=870 / 6=1170 / 7=1320 / 9=1620
        levelBase   = 420,
        levelInc    = 150,
    },
    ["Stun Hammer"] = {
        name    = "Stun Hammer",
        text    = "Stuns all enemies ("..green("%d%%").." chance)",
        mp      = 45,
        type    = "stun",
        target  = "all",
        -- 3=36 / 6=48 / 8=56 / 10=64
        levelBase   = 28,
        levelInc    = 4,
    },
    ["Stun Punch"] = {
        name    = "Stun Punch",
        text    = "Stuns a single enemy ("..green("%d%%").." chance)",
        mp      = 45,
        type    = "stun",
        target  = "single",
        -- 3=71 / 4=74 / 6=80
        levelBase   = 65,
        levelInc    = 3,
    },
    ["Sword Rain"] = {
        name    = "Sword Rain",
        text    = "Shoots massive amount of swords with "..green("%d%%").." ATK.",
        mp      = 40,
        type    = "attack",
        target  = "all",
        -- 6=820 / 8=1020 / 10=1220
        levelBase   = 320,
        levelInc    = 100,
    },
    ["Thunder Storm"] = {
        name    = "Thunder Storm",
        text    = "Lightning strikes all enemies with "..green("%d%%").." ATK.",
        mp      = 36,
        type    = "attack",
        target  = "all",
        -- Erina: 6=990 / 8=1250 / 10=1510 [old] ?: 1=990 / 2=1250 / 3=1510
        levelBase   = 340,
        levelInc    = 130,
    },
    ["Thunder Strike"] = {
        name    = "Thunder Strike",
        text    = "Strikes a massive lightning with "..green("%d%%").." Fire ATK.",
        mp      = 34,
        type    = "fire",
        target  = "single",
        -- Daine: 8=720 / 9=780 / 10=840 [old] ?:5=680 / 6=770 / 7=860
        levelBase   = 300,
        levelInc    = 60,
    },
    ["Warrior's Song"] = {
        name    = "Warrior's Song",
        text    = "Team's ATK +"..green("%d%%"),
        mp      = 48,
        type    = "buff",
        target  = "all",
        levelBase   = 0, -- unknown
        levelInc    = 0, -- unknown
    },
    ["Warrior's Song-Dice"] = {
        name    = "Warrior's Song",
        text    = "Team's ATK +"..green("%d%%"),
        mp      = 48,
        type    = "buff",
        target  = "all",
        levels  = {
            [5] = { value=61 }, -- dice buff: 18
            [7] = { value=84 }, -- dice buff: 21
            [9] = { value=110 }, -- dice buff: 24
        }
    },
    ["Warrior's Song-Driard"] = {
        name    = "Warrior's Song",
        text    = "Team's ATK +"..green("%d%%"),
        mp      = 48,
        type    = "buff",
        target  = "all",
        levels  = {
            [13] = { value=128 }, -- driard buff: 22
        }
    },
    ["Water Pillar"] = {
        name    = "Water Pillar",
        text    = "Attacks a single enemy with "..green("%d%%").." Water ATK",
        mp      = 32,
        type    = "water",
        target  = "single",
        -- 4=650 / 6=790 / 8=930
        levelBase   = 440,
        levelInc    = 70,
    },
    ["Water Strike"] = {
        name        = "Water Strike",
        text        = "Randomly attacks enemies "..green("%d").."-"..green("%d").." times with "..green("%d%%").." Water ATK.",
        mp          = 42,
        type        = "water",
        target      = "random",
        -- 4=93,4,8 / 6=115,6,10 / 8=137,8,12
        levelBase   = 60,
        levelInc    = 11,
        levelBase2  = 1,
        levelInc2   = 1,
        levelBase3  = 5,
        levelInc3   = 1,
    },
    ["Water Wall"] = {
        name        = "Water Wall",
        text        = "Attacks all enemies with "..green("%d%%").." Water ATK",
        mp          = 42,
        type        = "water",
        target      = "all",
        -- 3=320 / 4=350 / 6=410 / 8=470
        levelBase   = 260,
        levelInc    = 30,
    },
    ["Wood Pillar"] = {
        name        = "Wood Pillar",
        text        = "Attacks a single enemy with "..green("%d%%").." Wood ATK",
        mp          = 32,
        type        = "wood",
        target      = "single",
        -- 7=860 / 9=1000 / 11=1140
        levelBase   = 440,
        levelInc    = 70,
    },
    ["Wood Strike"] = {
        name        = "Wood Strike",
        text        = "Randomly attacks enemies "..green("%d").."-"..green("%d").." times with "..green("%d%%").." Wood ATK.",
        mp          = 42,
        type        = "wood",
        target      = "random",
        -- 3=82,3,7 / 4=93,4,8 / 5=104,5,9 / 6=115,6,10 / 7=126,7,11 / 8=137,8,12
        levelBase   = 60,
        levelInc    = 11,
        levelBase2  = 1,
        levelInc2   = 1,
        levelBase3  = 5,
        levelInc3   = 1,
    },
    ["Wood Wall"] = {
        name        = "Wood Wall",
        text        = "Attacks all enemies with "..green("%d%%").." Wood ATK",
        mp          = 42,
        type        = "wood",
        target      = "all",
        -- 1=260 / 2=290 / 3=320 / 6=410 / 8=470 / 10=530 / 12=590 / 17=740 / 23=920
        levelBase   = 260,
        levelInc    = 30,
    },
    ["X-Strike"] = {
        name        = "X-Strike",
        text        = "Attacks a single enemy with "..green("%d%%").." ATK",
        mp          = 35,
        type        = "attack",
        target      = "single",
        -- 1=420 / 2=490 / 3=560 / 4=630 / 5=700 / 6=770 / 7=840 / 8=910 / 10=1050
        levelBase   = 420,
        levelInc    = 70,
    },
}
 
local function formatSkillMessage(skill, level)
    if skill.levels then
        return skill.text:format( skill.levels[level].value )
    elseif skill.type == "attackheal" then
        local num = skill.levelBase + (level-1)*skill.levelInc
        return skill.text:format( num, num )
    elseif skill.type == "attackstun" then
        local num = skill.levelBase + (level-1)*skill.levelInc
        local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        return skill.text:format( num, num2 )
    elseif skill.type == "buffheal" then
        local num = skill.levelBase + (level-1)*skill.levelInc
        local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        return skill.text:format( num, num2 )
    elseif skill.type == "woodheal" then
       local num = skill.levelBase + (level-1)*skill.levelInc
       local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
       return skill.text:format( num, num2 )
    elseif skill.type == "woodinc" then
        local num = skill.levelBase + (level-1)*skill.levelInc
        local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        return skill.text:format( num, num2 )
    elseif skill.target == "random" then
        local num = skill.levelBase + (level-1)*skill.levelInc
        local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        local num3 = skill.levelBase3 + (level-1)*skill.levelInc3
        return skill.text:format( num2, num3, num )
    elseif skill.target == "randomstun" then
        local num = skill.levelBase + (level-1)*skill.levelInc
        local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        local num3 = skill.levelBase3 + (level-1)*skill.levelInc3
        local num4 = skill.levelBase4 + (level-1)*skill.levelInc4
        return skill.text:format( num2, num3, num, num4 )
    else
        local num = skill.levelBase + (level-1)*skill.levelInc
        return skill.text:format( num )
    end
end
 
local function formatShortSkillMessage(skill, level)
    local num = nil
    if not skill.levels then    
        num = skill.levelBase + (level-1)*skill.levelInc
    end
    local mpTxt = " "..skill.mp.."MP";
 
    if skill.levels or skill.type == "buff" then
        return "Buff team's attack"..mpTxt
    elseif skill.type == "attackheal" then
        return "Attack: "..skill.target.." "..green(num.."%").." + Heal: "..skill.target.." "..green(num.."%")..mpTxt
    elseif skill.type == "buffheal" then
       local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        return "Buff: "..skill.target.." "..green(num.."%").." + Heal: "..skill.target.." "..green(num2.."%")..mpTxt
    elseif skill.type == "woodheal" then
       local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        return "Wood: "..skill.target.." "..green(num.."%").." + Heal: "..skill.target.." "..green(num2.."%")..mpTxt
    elseif skill.type == "woodinc" then
       local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        return "Wood: "..skill.target.." "..green(num.."%").." + "..green(num2.."%").." per enemy"..mpTxt
    elseif skill.type == "attackstun" then
       local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        return "Attack: "..skill.target.." "..green(num.."%").." + Stun: "..skill.target.." "..green(num2.."%")..mpTxt
    elseif skill.target == "random" then
        local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        local num3 = skill.levelBase3 + (level-1)*skill.levelInc3
        return "Wood: random "..num2.."-"..num3.." times at "..green(num.."%")..mpTxt
    elseif skill.target == "randomstun" then
        local num2 = skill.levelBase2 + (level-1)*skill.levelInc2
        local num3 = skill.levelBase3 + (level-1)*skill.levelInc3
        local num4 = skill.levelBase4 + (level-1)*skill.levelInc4
        return "Wood: random "..num2.."-"..num3.." times at "..green(num.."%").." + Stun: "..green(num.."%")..mpTxt
    else
        return firstToUpper(skill.type)..": "..skill.target.." "..green(num.."%")..mpTxt
    end
end
 
function p._skill(skillName)
    return skills[skillName]
end
 
function p._skillMessage( skillName, level )
    local skill = p._skill( skillName )
 
    if skill == nil then
        return 'Unknown skill: "'..skillName..'" (update [[Module:Skill]])'
    end
 
    local t = {}
    t[#t+1] = "&#91;"
    t[#t+1] = "[["..skill.name.."]]"
    t[#t+1] = " Lv."
    t[#t+1] = level
    t[#t+1] = "] "
    t[#t+1] = formatSkillMessage(skill, level)
    t[#t+1] = " ("
    t[#t+1] = skill.mp
    t[#t+1] = " MP)"
 
    return table.concat(t, "")
end
 
function p._shortSkillMessage( skillName, level )
    local skill = p._skill( skillName )
    if skill == nil then return "[Unknown]" end
 
    local t = {}
    t[#t+1] = "<div style='white-space:nowrap;'>"
    t[#t+1] = "[["..skill.name.."]]"
    t[#t+1] = " Lv."
    t[#t+1] = level
    t[#t+1] = "</div>"
    t[#t+1] = formatShortSkillMessage(skill, level)
 
    return table.concat(t, "")
end
 
return p

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.