Skip to content

Commit 6d5c1d8

Browse files
committed
Gem Flavour Text
1 parent 862a737 commit 6d5c1d8

6 files changed

Lines changed: 79 additions & 0 deletions

File tree

src/Classes/GemSelectControl.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,12 @@ function GemSelectClass:AddGemTooltip(gemInstance)
564564
end
565565
end
566566
end
567+
if grantedEffect.flavourText then
568+
self.tooltip:AddSeparator(10)
569+
for _, line in ipairs(grantedEffect.flavourText) do
570+
self.tooltip:AddLine(16, colorCodes.UNIQUE .. line)
571+
end
572+
end
567573
end
568574

569575
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
},
@@ -1761,6 +1764,7 @@ skills["SupportDaressosPassionPlayer"] = {
17611764
excludeSkillTypes = { },
17621765
gemFamily = { "DaressoLineage",},
17631766
isLineage = true,
1767+
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.\"", },
17641768
levels = {
17651769
[1] = { levelRequirement = 0, },
17661770
},
@@ -2318,6 +2322,7 @@ skills["SupportEinharsBeastritePlayer"] = {
23182322
excludeSkillTypes = { },
23192323
gemFamily = { "Behead",},
23202324
isLineage = true,
2325+
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.", },
23212326
ignoreMinionTypes = true,
23222327
levels = {
23232328
[1] = { levelRequirement = 0, },
@@ -4131,6 +4136,7 @@ skills["SupportKaomsMadnessPlayer"] = {
41314136
excludeSkillTypes = { },
41324137
gemFamily = { "Fissures",},
41334138
isLineage = true,
4139+
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.", },
41344140
levels = {
41354141
[1] = { levelRequirement = 0, },
41364142
},
@@ -4495,6 +4501,7 @@ skills["SupportCorruptingCryPlayerThree"] = {
44954501
excludeSkillTypes = { },
44964502
gemFamily = { "CorruptingCry",},
44974503
isLineage = true,
4504+
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!\"", },
44984505
ignoreMinionTypes = true,
44994506
levels = {
45004507
[1] = { levelRequirement = 0, },
@@ -6305,6 +6312,7 @@ skills["SupportHardyTotemsPlayerThree"] = {
63056312
excludeSkillTypes = { },
63066313
gemFamily = { "HardyTotems",},
63076314
isLineage = true,
6315+
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.\"", },
63086316
levels = {
63096317
[1] = { manaMultiplier = 10, levelRequirement = 0, },
63106318
},
@@ -6547,6 +6555,7 @@ skills["SupportUhtredAuguryPlayer"] = {
65476555
excludeSkillTypes = { SkillType.SingleLevelSkill, },
65486556
gemFamily = { "UhtredLineage",},
65496557
isLineage = true,
6558+
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.", },
65506559
levels = {
65516560
[1] = { levelRequirement = 0, },
65526561
},
@@ -6578,6 +6587,7 @@ skills["SupportUhtredExodusPlayer"] = {
65786587
excludeSkillTypes = { SkillType.SingleLevelSkill, },
65796588
gemFamily = { "UhtredLineage",},
65806589
isLineage = true,
6590+
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.", },
65816591
levels = {
65826592
[1] = { levelRequirement = 0, },
65836593
},
@@ -6609,6 +6619,7 @@ skills["SupportUhtredOmenPlayer"] = {
66096619
excludeSkillTypes = { SkillType.SingleLevelSkill, },
66106620
gemFamily = { "UhtredLineage",},
66116621
isLineage = true,
6622+
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.", },
66126623
levels = {
66136624
[1] = { levelRequirement = 0, },
66146625
},
@@ -6973,6 +6984,7 @@ skills["SupportUruksSmeltingPlayer"] = {
69736984
excludeSkillTypes = { },
69746985
gemFamily = { "ArmourDemolisher",},
69756986
isLineage = true,
6987+
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.", },
69766988
levels = {
69776989
[1] = { levelRequirement = 0, },
69786990
},
@@ -7005,6 +7017,7 @@ skills["SupportUulNetolsEmbracePlayer"] = {
70057017
excludeSkillTypes = { },
70067018
gemFamily = { "BreachLineage",},
70077019
isLineage = true,
7020+
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.\"", },
70087021
levels = {
70097022
[1] = { manaMultiplier = 20, levelRequirement = 0, },
70107023
},
@@ -7245,6 +7258,7 @@ skills["SupportXophsPyrePlayer"] = {
72457258
excludeSkillTypes = { },
72467259
gemFamily = { "BreachLineage",},
72477260
isLineage = true,
7261+
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.\"", },
72487262
levels = {
72497263
[1] = { manaMultiplier = 20, levelRequirement = 0, },
72507264
},

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

src/Export/spec.lua

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13951,6 +13951,8 @@ return {
1395113951
width=150
1395213952
}
1395313953
},
13954+
passivenodeuiartoverride={
13955+
},
1395413956
passiveoverridelimits={
1395513957
[1]={
1395613958
list=false,
@@ -18431,6 +18433,14 @@ return {
1843118433
},
1843218434
trademarketcategory={
1843318435
},
18436+
trademarketcategorygroups={
18437+
},
18438+
trademarketcategorylistallclass={
18439+
},
18440+
trademarketimplicitmoddisplay={
18441+
},
18442+
trademarketindexitemas={
18443+
},
1843418444
traptools={
1843518445
[1]={
1843618446
list=false,

0 commit comments

Comments
 (0)