Skip to content

Commit d73a84a

Browse files
authored
Add Flavour Text to Lineage Gems (#1297)
* Gem Flavour Text * Check for flavour text option * Remove spec oopsie
1 parent 9efa054 commit d73a84a

5 files changed

Lines changed: 69 additions & 0 deletions

File tree

src/Classes/GemSelectControl.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,12 @@ function GemSelectClass:AddGemTooltip(gemInstance)
568568
end
569569
end
570570
end
571+
if grantedEffect.flavourText and main.showFlavourText then
572+
self.tooltip:AddSeparator(10)
573+
for _, line in ipairs(grantedEffect.flavourText) do
574+
self.tooltip:AddLine(16, colorCodes.UNIQUE .. line)
575+
end
576+
end
571577
end
572578

573579
function GemSelectClass:AddGrantedEffectInfo(gemInstance, grantedEffect, addReq)

src/Data/Skills/sup_dex.lua

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ skills["SupportAilithLineagePlayer"] = {
160160
excludeSkillTypes = { },
161161
gemFamily = { "AilithLineage",},
162162
isLineage = true,
163+
flavourText = {"Ailith awoke to find her fire iridescent, and her mind alive", "with visions. By morning, she began teaching what she'd", "seen... thus was born the Keepers of the Pale Vision.", },
163164
ignoreMinionTypes = true,
164165
levels = {
165166
[1] = { levelRequirement = 0, },
@@ -400,6 +401,7 @@ skills["SupportArakaalisLustPlayer"] = {
400401
excludeSkillTypes = { },
401402
gemFamily = { "ArakaaliLineage",},
402403
isLineage = true,
404+
flavourText = {"She flashed a smile full of wicked teeth. \"Sin, my darling.", "Forget your Maraketh woes.\" She bit and tore and reveled;", "he lay trapped in silk, wrought with despair and ecstasy.", },
403405
levels = {
404406
[1] = { levelRequirement = 0, },
405407
},
@@ -432,6 +434,7 @@ skills["SupportAmmoConservationPlayerFour"] = {
432434
excludeSkillTypes = { },
433435
gemFamily = { "AmmoConservation",},
434436
isLineage = true,
437+
flavourText = {"Confident their enemy was defenseless, the Keitans brazenly", "charged the walls - but Arjun's ammunition supply reports", "had been... 'inaccurate'... just like everything else Bardiyan.", },
435438
levels = {
436439
[1] = { levelRequirement = 0, },
437440
},
@@ -2332,6 +2335,7 @@ skills["SupportGarukhansResolvePlayer"] = {
23322335
excludeSkillTypes = { SkillType.Persistent, SkillType.HasUsageCondition, SkillType.SupportedByGarukhan, SkillType.NOT, SkillType.AND, SkillType.Instant, SkillType.Cooldown, SkillType.Triggered, SkillType.UsedByTotem, },
23332336
gemFamily = { "HitAndRun",},
23342337
isLineage = true,
2338+
flavourText = {"At the last, her hope gone - but not her resolve - she threw her", "beloved Tangletongue. That was the day a god bled. For this, the", "Great Roc graced a Maraketh warrior with a feather for the first time.", },
23352339
ignoreMinionTypes = true,
23362340
levels = {
23372341
[1] = { levelRequirement = 0, },
@@ -3834,6 +3838,7 @@ skills["SupportPietysMercyPlayer"] = {
38343838
excludeSkillTypes = { },
38353839
gemFamily = { "Mercy",},
38363840
isLineage = true,
3841+
flavourText = {"The prisoners cowered in their cages when Piety stalked by.", "She gave them bread and said flatly, \"You needn't be so", "frightened. I don't want to kill you... I'm going to use you.\"", },
38373842
levels = {
38383843
[1] = { levelRequirement = 0, },
38393844
},
@@ -4487,6 +4492,7 @@ skills["SupportRakiatasFlowPlayer"] = {
44874492
excludeSkillTypes = { },
44884493
gemFamily = { "RakiataLineage",},
44894494
isLineage = true,
4495+
flavourText = {"The Tasalio Tribe developed their own Way, seeing", "the world not as it is, but as it should be, given its", "roiling and endless grace of constant motion.", },
44904496
levels = {
44914497
[1] = { manaMultiplier = 20, levelRequirement = 0, },
44924498
},
@@ -4615,6 +4621,7 @@ skills["SupportCombatReloadPlayer"] = {
46154621
excludeSkillTypes = { },
46164622
gemFamily = { "DoubleBarrel",},
46174623
isLineage = true,
4624+
flavourText = {"\"No plan. No stealth. I want shock. Awe. I want them to", "know who did it, and I want them telling tales. That's the", "only way for us to earn their respect... and their fear.\"", },
46184625
levels = {
46194626
[1] = { manaMultiplier = 10, levelRequirement = 0, },
46204627
},
@@ -4914,6 +4921,7 @@ skills["SupportRigwaldsFerocityPlayer"] = {
49144921
excludeSkillTypes = { SkillType.NoAttackOrCastTime, SkillType.Instant, },
49154922
gemFamily = { "RigwaldLineage",},
49164923
isLineage = true,
4924+
flavourText = {"\"Skothe kept us idle, sitting safe on these islands, while our", "brethren remain slaves. We are one and the same! We must", "fight! So, I bring you his head. I am now your Wolven King!\"", },
49174925
ignoreMinionTypes = true,
49184926
levels = {
49194927
[1] = { levelRequirement = 0, },
@@ -5428,6 +5436,7 @@ skills["SupportTacatisIrePlayer"] = {
54285436
excludeSkillTypes = { },
54295437
gemFamily = { "TacatiLineage",},
54305438
isLineage = true,
5439+
flavourText = {"He almost saved the Vaal. His unique poison made it past", "the Queen's cupbearers; he had only to direct his anger...", "but in her presence, he could feel naught but lust.", },
54315440
levels = {
54325441
[1] = { levelRequirement = 0, },
54335442
},
@@ -5464,6 +5473,7 @@ skills["SupportTulsStillnessPlayer"] = {
54645473
excludeSkillTypes = { },
54655474
gemFamily = { "BreachLineage",},
54665475
isLineage = true,
5476+
flavourText = {"\"Countless graves glow silently in endless rows that stretch", "on unseen. The living lie within, but do not decay, do not", "die. Their eyes remain open, their essence stilled, waiting.\"", },
54675477
levels = {
54685478
[1] = { manaMultiplier = 20, levelRequirement = 0, },
54695479
},

src/Data/Skills/sup_int.lua

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ skills["SupportAhnsCitadelPlayer"] = {
7878
excludeSkillTypes = { },
7979
gemFamily = { "Fortress",},
8080
isLineage = true,
81+
flavourText = {"As possessed golems ravaged the land, Aul - crowned Ahn", "by blood and tyranny - began the last ritual, causing azurite", "crystals to rupture and grow throughout his doomed citadel.", },
8182
levels = {
8283
[1] = { levelRequirement = 0, },
8384
},
@@ -199,6 +200,7 @@ skills["SupportArbitersIgnitionPlayer"] = {
199200
excludeSkillTypes = { },
200201
gemFamily = { "ArbiterLineage",},
201202
isLineage = true,
203+
flavourText = {"\"This carving seems to depict curled bodies floating in vats...", "the next shows all but one of them dying. What were they", "trying to do? It seems they kept trying... kept experimenting...\"", },
202204
ignoreMinionTypes = true,
203205
levels = {
204206
[1] = { levelRequirement = 0, },
@@ -298,6 +300,7 @@ skills["SupportAtzirisAllurePlayer"] = {
298300
excludeSkillTypes = { },
299301
gemFamily = { "AtziriLineage",},
300302
isLineage = true,
303+
flavourText = {"Such was her seductive power, every noble in the court fell", "over themselves to do her bidding. Winning a single glance", "away from her mirror meant more than their lives.", },
301304
levels = {
302305
[1] = { levelRequirement = 0, },
303306
},
@@ -1674,6 +1677,7 @@ skills["SupportDiallasDesirePlayer"] = {
16741677
excludeSkillTypes = { },
16751678
gemFamily = { "DiallasDesire",},
16761679
isLineage = true,
1680+
flavourText = {"\"I will become your Gemling Queen, my love, but not", "with such dull stones. I want to give myself to you", "for eternity. Surely we can seek perfection together?\"", },
16771681
levels = {
16781682
[1] = { reservationMultiplier = -10, manaMultiplier = -10, levelRequirement = 0, },
16791683
},
@@ -1706,6 +1710,7 @@ skills["SupportDoedresUndoingPlayer"] = {
17061710
excludeSkillTypes = { },
17071711
gemFamily = { "CursedGround",},
17081712
isLineage = true,
1713+
flavourText = {"\"Let the meat show us the way. Hail the meat, praise the", "meat. The meat is both debasement and divinity alike. The", "meat shall lead us down the path to true enlightenment.\"", },
17091714
levels = {
17101715
[1] = { levelRequirement = 0, },
17111716
},
@@ -2189,6 +2194,7 @@ skills["SupportEshsRadiancePlayer"] = {
21892194
excludeSkillTypes = { },
21902195
gemFamily = { "BreachLineage",},
21912196
isLineage = true,
2197+
flavourText = {"\"Where life once thrived, now only metal grows, inching", "like endless worms through the ash. Where silence fell,", "now sourceless thought whispers numbers in the dark.\"", },
21922198
levels = {
21932199
[1] = { manaMultiplier = 20, levelRequirement = 0, },
21942200
},
@@ -3363,6 +3369,7 @@ skills["SupportFlukePlayerTwo"] = {
33633369
excludeSkillTypes = { },
33643370
gemFamily = { "Fluke",},
33653371
isLineage = true,
3372+
flavourText = {"Few mortals can comprehend the horror of experiencing", "every possibility. Chaos alone takes joy in the", "unthinkable and the unimaginable made manifest.", },
33663373
levels = {
33673374
[1] = { manaMultiplier = 20, levelRequirement = 0, },
33683375
},
@@ -3401,6 +3408,7 @@ skills["SupportKalisasCrescendoPlayer"] = {
34013408
excludeSkillTypes = { },
34023409
gemFamily = { "KalisasCrescendo",},
34033410
isLineage = true,
3411+
flavourText = {"\"Her voice reached into my chest and plucked my beating", "heart from its cage. By the wide, glistening eyes of my", "fellow punters, I knew that they felt it, too.\"", },
34043412
levels = {
34053413
[1] = { levelRequirement = 0, },
34063414
},
@@ -3433,6 +3441,7 @@ skills["SupportKulemaksDominionPlayer"] = {
34333441
excludeSkillTypes = { },
34343442
gemFamily = { "AbyssalLineageTwo",},
34353443
isLineage = true,
3444+
flavourText = {"Still a shadow of his former self, Kulemak turned to deception.", "He promised Ahn untold power and mastery, in exchange for", "a single golem. \"After all, what harm could one servant do?\"", },
34363445
levels = {
34373446
[1] = { manaMultiplier = 30, levelRequirement = 0, },
34383447
},
@@ -3465,6 +3474,7 @@ skills["SupportKurgalsLeashPlayer"] = {
34653474
excludeSkillTypes = { },
34663475
gemFamily = { "KurgalLineage",},
34673476
isLineage = true,
3477+
flavourText = {"Kurgal's first body was a mere stone golem, enslaved by a", "collar. He found such ecstasy in the power of dominion,", "he clawed his way free... and soon, supplanted a Lich Lord.", },
34683478
levels = {
34693479
[1] = { manaMultiplier = 20, levelRequirement = 0, },
34703480
},
@@ -4779,6 +4789,7 @@ skills["SupportWildshardsPlayerThree"] = {
47794789
excludeSkillTypes = { SkillType.ProjectilesNumberModifiersNotApplied, },
47804790
gemFamily = { "AdditionalProjectiles",},
47814791
isLineage = true,
4792+
flavourText = {"She holds in her hand a shattered crystal, a vision of her desire: to", "see her sister's silver palace obliterated, to see it cast across the", "heavens. One cross word, and the sky will rain down her fury.", },
47824793
ignoreMinionTypes = true,
47834794
levels = {
47844795
[1] = { levelRequirement = 0, },
@@ -4995,6 +5006,7 @@ skills["SupportTecrodsRevengePlayer"] = {
49955006
excludeSkillTypes = { SkillType.MinionsAreUndamagable, },
49965007
gemFamily = { "LastGasp",},
49975008
isLineage = true,
5009+
flavourText = {"The Lich Lords destroyed his body, but with his dying fury,", "Tecrod found a way. He lurks deep, in the blood, in the flesh,", "in the Well... perhaps walking among them even now, unseen.", },
49985010
levels = {
49995011
[1] = { levelRequirement = 0, },
50005012
},
@@ -5166,6 +5178,7 @@ skills["SupportVarashtasBlessingPlayer"] = {
51665178
excludeSkillTypes = { },
51675179
gemFamily = { "VarashtasBlessing",},
51685180
isLineage = true,
5181+
flavourText = {"\"These traditions we shall set forth, so that we may remain", "strong, so that we may endure throughout the ages. Not to", "bind, not to dominate, but to protect... and guide.\"", },
51695182
levels = {
51705183
[1] = { manaMultiplier = 20, levelRequirement = 0, },
51715184
},
@@ -5228,6 +5241,7 @@ skills["SupportVilentasPropulsionPlayer"] = {
52285241
excludeSkillTypes = { SkillType.FixedSpeedProjectile, },
52295242
gemFamily = { "ProjectileSpeed",},
52305243
isLineage = true,
5244+
flavourText = {"Day and night, she hammered away, obsessed with proving it", "could be done; a vast ring of artifice under the earth, pushing", "energy to speeds never before seen - all to prove Qotra wrong.", },
52315245
levels = {
52325246
[1] = { levelRequirement = 0, },
52335247
},
@@ -5488,6 +5502,7 @@ skills["SupportZarokhsRefrainPlayer"] = {
54885502
excludeSkillTypes = { SkillType.Cooldown, SkillType.SupportedByZarokh, SkillType.NOT, SkillType.AND, SkillType.SummonsTotem, SkillType.UsedByTotem, SkillType.Trapped, SkillType.RemoteMined, SkillType.Vaal, SkillType.Channel, SkillType.Attack, SkillType.Triggered, },
54895503
gemFamily = { "SpellEcho",},
54905504
isLineage = true,
5505+
flavourText = {"Reliving the same day for all time, Zarokh raged against", "the moments that made up his prison. There would be", "no redemption, for he had broken his only barya.", },
54915506
levels = {
54925507
[1] = { storedUses = 1, cooldown = 5, levelRequirement = 0, manaMultiplier = 30, },
54935508
},

src/Data/Skills/sup_str.lua

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ skills["SupportAmanamusTithePlayer"] = {
109109
excludeSkillTypes = { },
110110
gemFamily = { "AmanamusTithe",},
111111
isLineage = true,
112+
flavourText = {"Those that serve the Liege of the Lightless are his, utterly.", "Blood, flesh, and soul are fodder to bend to his will.", "Under a Lich Lord, not even death is an escape.", },
112113
levels = {
113114
[1] = { levelRequirement = 0, },
114115
},
@@ -529,6 +530,7 @@ skills["SupportAtaluiBloodlettingPlayer"] = {
529530
excludeSkillTypes = { SkillType.Blessing, SkillType.Persistent, },
530531
gemFamily = { "Lifetap",},
531532
isLineage = true,
533+
flavourText = {"Atazek and Atalui rose, battered and dark, bleeding from a hundred", "different wounds. She gave her brother a sinister grin. \"Shall we", "show them what happens to those who challenge the Vaal?\"", },
532534
levels = {
533535
[1] = { manaMultiplier = 50, levelRequirement = 0, },
534536
},
@@ -1235,6 +1237,7 @@ skills["SupportBrutusBrainPlayer"] = {
12351237
excludeSkillTypes = { },
12361238
gemFamily = { "MeatShield",},
12371239
isLineage = true,
1240+
flavourText = {"Shavronne gleefully raised her arms to the sky as lightning", "flashed. She'd done it! Her creation was perfect! Invincible.", "Immortal! But she soon realized there was one piece missing...", },
12381241
levels = {
12391242
[1] = { levelRequirement = 0, },
12401243
},
@@ -1751,6 +1754,7 @@ skills["SupportDaressosPassionPlayer"] = {
17511754
excludeSkillTypes = { },
17521755
gemFamily = { "DaressoLineage",},
17531756
isLineage = true,
1757+
flavourText = {"\"I raised my eyes to look upon my death. Instead, I saw her.", "Merveil. Fighting had always been about survival. Now the", "fight became about something much greater... love.\"", },
17541758
levels = {
17551759
[1] = { levelRequirement = 0, },
17561760
},
@@ -2308,6 +2312,7 @@ skills["SupportEinharsBeastritePlayer"] = {
23082312
excludeSkillTypes = { },
23092313
gemFamily = { "Behead",},
23102314
isLineage = true,
2315+
flavourText = {"\"You must cut the beast, like this,\" he told the wide-eyed", "and forgetful woman. \"The juiciest parts are in the middle!\"", "She nodded, and began relearning the way of the wilds.", },
23112316
ignoreMinionTypes = true,
23122317
levels = {
23132318
[1] = { levelRequirement = 0, },
@@ -4121,6 +4126,7 @@ skills["SupportKaomsMadnessPlayer"] = {
41214126
excludeSkillTypes = { },
41224127
gemFamily = { "Fissures",},
41234128
isLineage = true,
4129+
flavourText = {"As King Kaom delved further into Wraeclast, so, too, did he", "draw closer to the Beast. One night, in a nightmarish fit, he", "swung his axe at his own men, slaughtering hundreds.", },
41244130
levels = {
41254131
[1] = { levelRequirement = 0, },
41264132
},
@@ -4485,6 +4491,7 @@ skills["SupportCorruptingCryPlayerThree"] = {
44854491
excludeSkillTypes = { },
44864492
gemFamily = { "CorruptingCry",},
44874493
isLineage = true,
4494+
flavourText = {"The water used to cool the Locus of Corruption ran red", "as blood, bright as flame, and bubbled with strange heat.", "\"Drink,\" he offered. \"Suffuse your flesh with power!\"", },
44884495
ignoreMinionTypes = true,
44894496
levels = {
44904497
[1] = { levelRequirement = 0, },
@@ -6303,6 +6310,7 @@ skills["SupportHardyTotemsPlayerThree"] = {
63036310
excludeSkillTypes = { },
63046311
gemFamily = { "HardyTotems",},
63056312
isLineage = true,
6313+
flavourText = {"A scavenging warrior found Tawhoa meditating in a grove.", "\"There is only so much jade in this world,\" intoned the god.", "\"Take my gift to your tribe. Ironwood will grow for all time.\"", },
63066314
levels = {
63076315
[1] = { manaMultiplier = 10, levelRequirement = 0, },
63086316
},
@@ -6545,6 +6553,7 @@ skills["SupportUhtredAuguryPlayer"] = {
65456553
excludeSkillTypes = { SkillType.SingleLevelSkill, },
65466554
gemFamily = { "UhtredLineage",},
65476555
isLineage = true,
6556+
flavourText = {"Studying the ill omens of the stars, Uhtred came to suspect", "something was very wrong among the first Kalguurans.", "Olroth, Vorana, Medved... three there were. Three dangers.", },
65486557
levels = {
65496558
[1] = { levelRequirement = 0, },
65506559
},
@@ -6576,6 +6585,7 @@ skills["SupportUhtredExodusPlayer"] = {
65766585
excludeSkillTypes = { SkillType.SingleLevelSkill, },
65776586
gemFamily = { "UhtredLineage",},
65786587
isLineage = true,
6588+
flavourText = {"By the time Uhtred realised the truth, only Vorana remained", "to defend them. While the rest fled, she implanted her flesh", "with gems and set forth alone to face the endless hordes.", },
65796589
levels = {
65806590
[1] = { levelRequirement = 0, },
65816591
},
@@ -6607,6 +6617,7 @@ skills["SupportUhtredOmenPlayer"] = {
66076617
excludeSkillTypes = { SkillType.SingleLevelSkill, },
66086618
gemFamily = { "UhtredLineage",},
66096619
isLineage = true,
6620+
flavourText = {"Day and night, his priests followed each of the Kalguuran", "heroes. When Medved disappeared, Uhtred grew even more", "paranoid. Now, only two remained... Olroth and Vorana.", },
66106621
levels = {
66116622
[1] = { levelRequirement = 0, },
66126623
},
@@ -6971,6 +6982,7 @@ skills["SupportUruksSmeltingPlayer"] = {
69716982
excludeSkillTypes = { },
69726983
gemFamily = { "ArmourDemolisher",},
69736984
isLineage = true,
6985+
flavourText = {"The volcano roared, but there was no thunder, only the boom", "of Uruk's hammer. Wraeclast had forgotten the old alliance,", "but by the Molten One's will, the fires would rage again.", },
69746986
levels = {
69756987
[1] = { levelRequirement = 0, },
69766988
},
@@ -7003,6 +7015,7 @@ skills["SupportUulNetolsEmbracePlayer"] = {
70037015
excludeSkillTypes = { },
70047016
gemFamily = { "BreachLineage",},
70057017
isLineage = true,
7018+
flavourText = {"\"The Lords could not breathe, so they grew new lungs.", "The Lords could not venture, so they grew new skin.", "The Lords were alone, so they grew us, to serve them.\"", },
70067019
levels = {
70077020
[1] = { manaMultiplier = 20, levelRequirement = 0, },
70087021
},
@@ -7243,6 +7256,7 @@ skills["SupportXophsPyrePlayer"] = {
72437256
excludeSkillTypes = { },
72447257
gemFamily = { "BreachLineage",},
72457258
isLineage = true,
7259+
flavourText = {"\"They drank until only dust remained. Ate until their gums", "bled rust. Such was their greed, the only thing that remains", "of the Broken Sun... is the Red Pyre, the Torus Eternal.\"", },
72467260
levels = {
72477261
[1] = { manaMultiplier = 20, levelRequirement = 0, },
72487262
},

src/Export/Scripts/skills.lua

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,23 @@ local function mapAST(ast)
1313
return "SkillType."..(skillTypeMap[ast._rowIndex] or ("Unknown"..ast._rowIndex))
1414
end
1515

16+
local function cleanAndSplit(str) -- Same as in Flavour Text exporter.
17+
-- Normalize newlines
18+
str = str:gsub("\r\n", "\n")
19+
20+
local lines = {}
21+
for line in str:gmatch("[^\n]+") do
22+
line = line:match("^%s*(.-)%s*$") -- trim each line
23+
if line ~= "" then
24+
-- Escape quotes
25+
line = line:gsub('"', '\\"')
26+
table.insert(lines, line)
27+
end
28+
end
29+
30+
return lines
31+
end
32+
1633
local weaponClassMap = {
1734
["Claw"] = "Claw",
1835
["Dagger"] = "Dagger",
@@ -319,6 +336,13 @@ directiveTable.skill = function(state, args, out)
319336
end
320337
if supportGem.Lineage then
321338
out:write('\tisLineage = true,\n')
339+
if supportGem.FlavourText then
340+
out:write('\tflavourText = {')
341+
for _, line in ipairs(cleanAndSplit(supportGem.FlavourText.Text)) do
342+
out:write('"', line, '", ')
343+
end
344+
out:write('},\n')
345+
end
322346
end
323347
end
324348
if skill.isTrigger then

0 commit comments

Comments
 (0)