Skip to content

Commit 1bd0be5

Browse files
author
LocalIdentity
committed
Spec + misc changes
Updates the spec with a lot of changes from 0.3 Updates the gem export script to use the correct format for support gems Export the misc data Remove SkillType export in Skills export file and instead grab from the dat file directly Remove dat files that no longer exist
1 parent 776f28f commit 1bd0be5

9 files changed

Lines changed: 614 additions & 740 deletions

File tree

src/Data/Global.lua

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,30 @@ SkillType = {
530530
SupportedByTumult = 221,
531531
RequiresCharges = 222,
532532
CannotConsumeCharges = 223,
533+
ConsumesRage = 224,
534+
NonDamageArmourBreak = 225,
535+
Necrotic = 226,
536+
Nature = 227,
537+
NoAttackInPlace = 228,
538+
DodgeReplacement = 229,
539+
SupportedByDurationThree = 230,
540+
ToggleSpawnedObjectTargetable_DefaultOn = 231,
541+
ToggleSpawnedObjectTargetable_DefaultOff = 232,
542+
ReserveInAllSets = 233,
543+
Unleashable = 234,
544+
CannotCreateJaggedGround = 235,
545+
SingleLevelSkill = 236,
546+
SupportedByZarokh = 237,
547+
SupportedByGarukhan = 238,
548+
FrozenSpite = 239,
549+
ObjectDurability = 240,
550+
Detonator = 241,
551+
SupportedByOverabundanceThree = 242,
552+
UnlimitedTotems = 243,
553+
SupportedByHaemoCrystals = 244,
554+
SupportedByFlamePillar = 245,
555+
CanCreateStoneElementals = 246,
556+
RemnantCannotBeShared = 247,
533557
}
534558

535559
GlobalCache = {

src/Data/Misc.lua

Lines changed: 62 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
local data = ...
44
-- From DefaultMonsterStats.dat
5-
data.monsterEvasionTable = { 11, 14, 17, 20, 24, 27, 31, 35, 38, 42, 46, 50, 54, 59, 63, 67, 72, 76, 81, 86, 91, 96, 101, 106, 111, 117, 122, 128, 134, 140, 146, 152, 158, 165, 171, 178, 185, 191, 199, 206, 213, 221, 228, 236, 244, 252, 261, 269, 278, 286, 295, 304, 314, 323, 333, 343, 353, 363, 373, 384, 395, 406, 417, 429, 440, 452, 464, 477, 489, 502, 515, 528, 542, 556, 570, 584, 598, 613, 628, 644, 659, 675, 691, 708, 724, 742, 759, 777, 795, 813, 832, 850, 870, 889, 909, 930, 951, 972, 993, 1015, }
6-
data.monsterAccuracyTable = { 51, 56, 60, 65, 70, 75, 80, 86, 91, 97, 103, 110, 116, 123, 130, 137, 145, 152, 160, 169, 177, 186, 195, 204, 214, 224, 234, 245, 256, 267, 279, 291, 304, 317, 330, 344, 358, 372, 387, 403, 419, 435, 452, 470, 488, 506, 526, 545, 566, 587, 608, 630, 653, 677, 701, 726, 752, 778, 806, 834, 863, 892, 923, 955, 987, 1020, 1055, 1090, 1126, 1164, 1202, 1242, 1283, 1324, 1368, 1412, 1457, 1504, 1552, 1602, 1653, 1705, 1759, 1814, 1871, 1930, 1990, 2052, 2115, 2180, 2247, 2316, 2387, 2460, 2535, 2612, 2690, 2772, 2855, 2941, }
5+
data.monsterEvasionTable = { 24, 30, 36, 43, 49, 56, 63, 70, 77, 84, 91, 98, 105, 113, 120, 128, 136, 144, 152, 160, 168, 176, 185, 193, 202, 211, 220, 229, 238, 247, 257, 266, 276, 286, 296, 306, 316, 326, 337, 347, 358, 369, 380, 391, 403, 414, 426, 438, 449, 462, 474, 486, 499, 511, 524, 537, 551, 564, 578, 591, 605, 619, 634, 648, 663, 677, 692, 708, 723, 738, 754, 770, 786, 803, 819, 836, 853, 870, 887, 905, 923, 941, 959, 977, 996, 1015, 1034, 1053, 1073, 1093, 1113, 1133, 1154, 1174, 1195, 1217, 1238, 1260, 1282, 1304, }
6+
data.monsterAccuracyTable = { 26, 31, 36, 41, 46, 51, 57, 62, 68, 75, 81, 88, 95, 102, 109, 117, 125, 134, 142, 151, 161, 170, 180, 191, 202, 213, 224, 236, 248, 261, 274, 288, 302, 317, 332, 348, 364, 380, 398, 416, 434, 453, 473, 493, 514, 536, 558, 581, 605, 629, 655, 681, 708, 736, 765, 794, 825, 856, 889, 923, 957, 993, 1030, 1068, 1107, 1147, 1189, 1232, 1276, 1321, 1368, 1416, 1466, 1517, 1570, 1625, 1681, 1738, 1798, 1859, 1922, 1987, 2054, 2123, 2194, 2266, 2342, 2419, 2498, 2580, 2665, 2751, 2841, 2933, 3027, 3124, 3225, 3328, 3434, 3543, }
77
data.monsterLifeTable = { 15, 20, 24, 28, 33, 38, 45, 50, 58, 67, 78, 89, 103, 118, 134, 158, 178, 200, 224, 249, 276, 305, 335, 366, 400, 434, 472, 510, 551, 593, 637, 683, 731, 790, 853, 921, 995, 1074, 1160, 1253, 1353, 1462, 1578, 1705, 1841, 1967, 2101, 2244, 2395, 2556, 2726, 2909, 3102, 3307, 3525, 3756, 4002, 4264, 4540, 4834, 5147, 5478, 5829, 6203, 6513, 6904, 7318, 7757, 8222, 8716, 9239, 9793, 10381, 11003, 11664, 12363, 13105, 13892, 14725, 15609, 16545, 17538, 18590, 19705, 20888, 22141, 23469, 24878, 26370, 27953, 29630, 31407, 33292, 35289, 37407, 39651, 42030, 44552, 47225, 50059, }
88
data.monsterAllyLifeTable = { 51, 83, 116, 150, 186, 223, 261, 300, 341, 382, 426, 471, 517, 565, 614, 665, 718, 772, 828, 886, 945, 1007, 1070, 1135, 1203, 1272, 1344, 1417, 1493, 1571, 1652, 1734, 1820, 1907, 1998, 2091, 2186, 2285, 2386, 2490, 2598, 2708, 2821, 2938, 3058, 3181, 3307, 3438, 3571, 3709, 3850, 3995, 4144, 4298, 4455, 4617, 4783, 4953, 5128, 5308, 5493, 5682, 5877, 6077, 6282, 6492, 6708, 6930, 7157, 7391, 7630, 7876, 8128, 8387, 8652, 8924, 9203, 9489, 9783, 10084, 10393, 10710, 11034, 11367, 11708, 12058, 12417, 12785, 13161, 13548, 13944, 14350, 14766, 15192, 15629, 16076, 16535, 17005, 17486, 17980, }
99
data.monsterDamageTable = { 9.1599998474121, 10.260000228882, 11.390000343323, 12.569999694824, 13.779999732971, 15.029999732971, 16.319999694824, 17.64999961853, 19.020000457764, 20.440000534058, 21.89999961853, 23.409999847412, 24.969999313354, 26.569999694824, 28.229999542236, 29.930000305176, 31.690000534058, 33.5, 35.369998931885, 37.290000915527, 39.270000457764, 41.310001373291, 43.409999847412, 45.569999694824, 47.799999237061, 50.090000152588, 52.450000762939, 54.880001068115, 57.369998931885, 59.939998626709, 62.590000152588, 65.309997558594, 68.099998474121, 70.980003356934, 73.940002441406, 76.980003356934, 80.110000610352, 83.319999694824, 86.629997253418, 90.019996643066, 93.51000213623, 97.099998474121, 100.79000091553, 104.56999969482, 108.45999908447, 112.45999908447, 116.56999969482, 120.7799987793, 125.12000274658, 129.55999755859, 134.13000488281, 138.82000732422, 143.63999938965, 148.58000183105, 153.66000366211, 158.86999511719, 164.21000671387, 169.69999694824, 175.33999633789, 181.11999511719, 187.05000305176, 193.13999938965, 199.38000488281, 205.78999328613, 212.36000061035, 219.11000061035, 226.0299987793, 233.11999511719, 240.39999389648, 247.86000061035, 255.52000427246, 263.36999511719, 271.42001342773, 279.67999267578, 288.14001464844, 296.82000732422, 305.7200012207, 314.83999633789, 324.19000244141, 333.7799987793, 343.60000610352, 353.67001342773, 364, 374.57998657227, 385.42001342773, 396.5299987793, 407.92001342773, 419.57998657227, 431.54000854492, 443.79000854492, 456.33999633789, 469.20001220703, 482.38000488281, 495.86999511719, 509.70001220703, 523.85998535156, 538.36999511719, 553.22998046875, 568.46002197266, 584.04998779297, }
@@ -16,17 +16,17 @@ data.minionLevelTable = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30
1616

1717
-- From GameConstants.dat
1818
data.gameConstants = {
19-
["MonsterAccuracyBase"] = 47,
20-
["MonsterAccuracyIncremental"] = 321,
21-
["MonsterAccuracyImprovement"] = 2.1,
19+
["MonsterAccuracyBase"] = 22,
20+
["MonsterAccuracyIncremental"] = 380,
21+
["MonsterAccuracyImprovement"] = 2.2,
2222
["MonsterArmourBase"] = 2,
2323
["MonsterArmourIncremental"] = 1.75,
2424
["MonsterArmourStrengthRatioMultiplier"] = 3,
2525
["MonsterArmourImprovement"] = 4.5,
26-
["MonsterEvasionBase"] = 8,
27-
["MonsterEvasionIncremental"] = 3,
26+
["MonsterEvasionBase"] = 18,
27+
["MonsterEvasionIncremental"] = 6,
2828
["MonsterEvasionDexterityRatioMultiplier"] = 2,
29-
["MonsterEvasionImprovement"] = 1.2,
29+
["MonsterEvasionImprovement"] = 0.75,
3030
["OldLeechModsEffectiveness"] = 20,
3131
["AscendancyRespecCost"] = 5,
3232
["SkillDamageBaseEffectiveness"] = 3.885209,
@@ -38,14 +38,14 @@ data.gameConstants = {
3838
["PartyRarityBonusPerAdditionalPlayer"] = 0,
3939
["PartyRarityBonusPerAdditionalPlayerHardMode"] = 0,
4040
["PartyUniqueBonusPerAdditionalPlayer"] = 0.3,
41-
["LightStunMinimumChance"] = 20,
42-
["LightStunRatioScale"] = 92,
43-
["LightStunMinimumChancePlayer"] = 12,
44-
["LightStunRatioScalePlayer"] = 83,
45-
["HeavyStunDamageScale"] = 0.87,
41+
["LightStunMinimumChance"] = 15,
42+
["LightStunRatioScale"] = 58,
43+
["LightStunMinimumChancePlayer"] = 15,
44+
["LightStunRatioScalePlayer"] = 44,
45+
["HeavyStunDamageScale"] = 0.58,
4646
["HeavyStunThresholdModifier"] = 500,
4747
["HeavyStunModifierDuration"] = 16.5,
48-
["HeavyStunDamageScalePlayer"] = 1,
48+
["HeavyStunDamageScalePlayer"] = 0.65,
4949
["HeavyStunThresholdModifierPlayer"] = 100,
5050
["HeavyStunModifierDurationPlayer"] = 10,
5151
["FreezeDamageScale"] = 2.1,
@@ -66,10 +66,11 @@ data.gameConstants = {
6666
["PinModifierDuration"] = 13,
6767
["MonsterIntRatioCovertLifeToEnergyShield"] = 100,
6868
["ShockChanceMultiplier"] = 25,
69-
["IgniteChanceMultiplier"] = 25,
69+
["IgniteChanceMultiplier"] = 20,
7070
["MiscAilmentChanceMultiplier"] = 25,
7171
["AilmentChanceExponent"] = 1,
72-
["ChillEffectMultiplier"] = 60,
72+
["BaseShockMagnitude"] = 20,
73+
["ChillEffectMultiplier"] = 100,
7374
["ChillMaxEffect"] = 50,
7475
["SellPriceMultiplier"] = 0.11,
7576
["MobilePriceMultiplier"] = 0.25,
@@ -84,8 +85,10 @@ data.gameConstants = {
8485
["PoisonHitDamagePercentPerMinute"] = 1200,
8586
["JaggedGroundMagnitude"] = -20,
8687
["BaseBleedingDuration"] = 5,
87-
["BaseChillDuration"] = 2,
88-
["BaseShockDuration"] = 4,
88+
["BaseChillDuration"] = 8,
89+
["BaseChillDurationPlayer"] = 2,
90+
["BaseShockDuration"] = 8,
91+
["BaseShockDurationPlayer"] = 4,
8992
["BasePoisonDuration"] = 2,
9093
["BaseIgniteDuration"] = 4,
9194
["BaseBloodstainedAfterBleedingDuration"] = 6,
@@ -99,6 +102,16 @@ data.gameConstants = {
99102
["CullingStrikeMagicThreshold"] = 20,
100103
["CullingStrikeRareThreshold"] = 10,
101104
["CullingStrikeUniqueThreshold"] = 5,
105+
["BaseRequiredEnemiesToBeConsideredSurrounded"] = 5,
106+
["NumPetrifiedStacksToPetrify"] = 5,
107+
["DefaultMaxEvadeChancePercent"] = 95,
108+
["BasePercentDamageDeflected"] = 40,
109+
["InfusionRemnantBaseDuration"] = 12000,
110+
["BaseFlammabilityDuration"] = 8,
111+
["BaseFlammabilityDurationPlayer"] = 4,
112+
["IgniteNonHitFlammabilityModifier"] = 0.6,
113+
["MinionsAreGiganticMagnitude"] = 20,
114+
["NonHitFlammabilityPermyriadThresholdToIgnite"] = 5000,
102115
}
103116
-- From Metadata/Characters/Character.ot
104117
data.characterConstants = {
@@ -109,16 +122,15 @@ data.characterConstants = {
109122
["base_maximum_all_resistances_%"] = 75,
110123
["maximum_physical_damage_reduction_%"] = 90,
111124
["object_inherent_base_maximum_block_%_from_ot"] = 50,
112-
["base_maximum_spell_block_%"] = 50,
113125
["max_viper_strike_orbs"] = 4,
114126
["max_fuse_arrow_orbs"] = 5,
115127
["max_fire_beam_stacks"] = 8,
116128
["base_evasion_rating"] = 27,
117-
["base_maximum_chance_to_evade_%"] = 95,
118129
["life_per_level"] = 12,
119130
["mana_per_level"] = 4,
120131
["accuracy_rating_per_level"] = 6,
121132
["evasion_rating_per_level"] = 300,
133+
["unarmed_base_critical_strike_chance"] = 500,
122134
["base_critical_hit_damage_bonus"] = 100,
123135
["strength_per_level"] = 0,
124136
["dexterity_per_level"] = 0,
@@ -149,8 +161,8 @@ data.characterConstants = {
149161
["melee_variation"] = 1,
150162
["base_total_number_of_sigils_allowed"] = 3,
151163
["enable_movement_skill_animation_skipping"] = 1,
152-
["melee_hit_damage_stun_multiplier_+%"] = 50,
153-
["non_physical_hit_damage_stun_multiplier_+%"] = -33,
164+
["melee_hit_damage_stun_multiplier_+%_final_from_ot"] = 50,
165+
["physical_hit_damage_stun_multiplier_+%_final_from_ot"] = 50,
154166
["additional_insanity_effects_while_delirious"] = 1,
155167
["max_steel_ammo"] = 12,
156168
["chance_to_deal_triple_damage_%_per_brutal_charge"] = 3,
@@ -167,12 +179,12 @@ data.characterConstants = {
167179
["melee_strike_bonus_attack_distance"] = 2,
168180
["melee_defer_damage_prediction"] = 1,
169181
["accuracy_rating_+%_final_at_max_distance_scaled"] = -90,
170-
["base_weapon_swap_duration_ms"] = 250,
182+
["base_weapon_swap_duration_ms"] = 0,
183+
["poise_decay_delay_ms"] = 2000,
171184
["poise_decay_%_per_second"] = 50,
172185
["enable_weapon_sets"] = true,
173186
["base_number_of_weapon_sets"] = 2,
174187
["quadruped_head_turn_duration_ms"] = 100,
175-
["has_quadruped_head_control"] = 0,
176188
["base_pay_cost_over_start_of_skill_animation"] = 1,
177189
["base_knockback_speed_+%"] = -30,
178190
["base_maximum_number_of_stored_corpses"] = 10,
@@ -192,13 +204,24 @@ data.characterConstants = {
192204
["object_inherent_evasion_break_amount_+%_final_against_magic_monsters"] = 100,
193205
["fixed_frost_wall_limit"] = 60,
194206
["player_allow_dodge_roll_cancel"] = 1,
195-
["maximum_cold_infusion_stacks"] = 6,
196-
["maximum_fire_infusion_stacks"] = 6,
197-
["maximum_lightning_infusion_stacks"] = 6,
198-
["maximum_chaos_infusion_stacks"] = 6,
199-
["base_infusion_duration_ms"] = 15000,
207+
["minimum_number_of_projectiles_to_fire_is_1"] = 1,
208+
["maximum_cold_infusion_stacks"] = 3,
209+
["maximum_fire_infusion_stacks"] = 3,
210+
["maximum_lightning_infusion_stacks"] = 3,
211+
["base_infusion_duration_ms"] = 20000,
200212
["maximum_caltrops_allowed"] = 20,
201-
["maximum_volatility_allowed"] = 200,
213+
["maximum_briarpatches_allowed"] = 20,
214+
["maximum_volatility_allowed_default"] = 200,
215+
["number_of_banners_allowed"] = 1,
216+
["heat_base_delay_before_decay_ms"] = 4000,
217+
["heat_base_decay_rate_ms"] = 100,
218+
["branching_fissure_placement_along_main_fissure_variance_%"] = 5,
219+
["branching_fissure_min_branch_angle"] = 40,
220+
["branching_fissure_max_branch_angle"] = 80,
221+
["dodge_roll_sprint_turn_rate"] = 150,
222+
["sprint_movement_speed_+%"] = 50,
223+
["sprint_end_stun_linger_duration_ms"] = 200,
224+
["dodge_roll_sprint_minimum_time_ms"] = 500,
202225
["base_speed"] = 37,
203226
}
204227
-- From Metadata/Monsters/Monster.ot
@@ -209,18 +232,16 @@ data.monsterConstants = {
209232
["maximum_physical_damage_reduction_%"] = 75,
210233
["base_maximum_all_resistances_%"] = 75,
211234
["monster_base_flask_charges_percent_of_monster_power"] = 50,
212-
["base_maximum_chance_to_evade_%"] = 95,
213235
["base_critical_hit_damage_bonus"] = 30,
214236
["max_endurance_charges"] = 3,
215237
["max_frenzy_charges"] = 3,
216238
["max_power_charges"] = 3,
217239
["object_inherent_base_maximum_block_%_from_ot"] = 50,
218-
["base_maximum_spell_block_%"] = 50,
219240
["movement_velocity_cap"] = 128,
220241
["max_azurite_debuff_stacks"] = 10,
221242
["ignore_skill_weapon_restrictions"] = 1,
222-
["melee_hit_damage_stun_multiplier_+%"] = 33,
223-
["non_physical_hit_damage_stun_multiplier_+%"] = -50,
243+
["melee_hit_damage_stun_multiplier_+%_final_from_ot"] = 33,
244+
["physical_hit_damage_stun_multiplier_+%_final_from_ot"] = 100,
224245
["scale_melee_range_to_actor_scale"] = 1,
225246
["use_melee_pattern_range"] = 1,
226247
["melee_swing_not_scaled_by_area_modifiers"] = 1,
@@ -242,12 +263,14 @@ data.monsterConstants = {
242263
-- From PlayerMinionIntrinsicStats.dat
243264
data.playerMinionIntrinsicStats = {
244265
["stun_base_duration_override_ms"] = 500,
245-
["accuracy_rating_+%_final_at_max_distance_scaled"] = -90,
246-
["accuracy_rating_per_level"] = 10,
266+
["global_always_hit"] = 1,
247267
["base_critical_hit_damage_bonus"] = 70,
268+
["maximum_rage"] = 30,
269+
["rage_loss_delay_ms"] = 2000,
270+
["attack_damage_final_permyriad_per_rage"] = 100,
248271
}
249272
-- From MonsterVarieties.dat combined with SkillTotemVariations.dat
250-
data.totemLifeMult = { [1] = 1, [2] = 1, [3] = 1, [5] = 1, [12] = 1, [18] = 1, [19] = 1, [22] = 1, [15] = 1.2, [23] = 1, [24] = 1, }
273+
data.totemLifeMult = { [1] = 1, [2] = 1, [3] = 1, [5] = 1, [12] = 1, [18] = 1, [19] = 1, [22] = 1, [15] = 1.2, [23] = 1, [24] = 1, [25] = 1, [26] = 1, }
251274
data.monsterVarietyLifeMult = {
252275
["Drowned"] = 1,
253276
["Lumbering Dead"] = 1,
@@ -279,10 +302,12 @@ data.monsterVarietyLifeMult = {
279302
["Vaal Skeletal Squire"] = 1,
280303
["Vaal Skeletal Priest"] = 1,
281304
["Vaal Skeletal Archer"] = 1,
305+
["Scavenged Skeleton"] = 1,
282306
["Rattling Gibbet"] = 2,
283307
["Prowling Skeleton"] = 1.25,
284308
["Eaten Rat"] = 0.9,
285309
["Eternal Prisoner"] = 1,
310+
["Coral-crowned Skeleton"] = 1,
286311
["Rotting Guard"] = 1,
287312
}
288313
-- From MonsterMapDifficulty.dat

src/Export/Classes/GGPKData.lua

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -249,12 +249,6 @@ function GGPKClass:GetNeededFiles()
249249
"Data/WeaponClasses.dat",
250250
"Data/MonsterConditions.dat",
251251
"Data/Rarity.dat",
252-
"Data/TradeMarketCategory.dat",
253-
"Data/TradeMarketCategoryGroups.dat",
254-
"Data/PlayerTradeWhisperFormats.dat",
255-
"Data/TradeMarketCategoryListAllClass.dat",
256-
"Data/TradeMarketIndexItemAs.dat",
257-
"Data/TradeMarketImplicitModDisplay.dat",
258252
"Data/Commands.dat",
259253
"Data/ModEquivalencies.dat",
260254
"Data/InfluenceTags.dat",

src/Export/Scripts/miscdata.lua

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,20 @@ local keys = { }
103103
for var in dat("SkillTotemVariations"):Rows() do
104104
if not keys[var.SkillTotem] then
105105
keys[var.SkillTotem] = true
106-
totemMult = totemMult .. "[" .. var.SkillTotem .. "] = " .. var.MonsterVariety.LifeMultiplier / 100 .. ", "
106+
totemMult = totemMult .. "[" .. var.SkillTotem .. "] = " .. ((var.MonsterVariety and var.MonsterVariety.LifeMultiplier / 100) or 1) .. ", "
107107
end
108108
end
109109
out:write('-- From MonsterVarieties.dat combined with SkillTotemVariations.dat\n')
110110
out:write('data.totemLifeMult = { '..totemMult..'}\n')
111111

112+
--[[out:write('-- From ActiveSkillType.dat\n') --Export list for use in Global.lua
113+
out:write('data.skillTypeMap = {\n')
114+
local skillTypeMap = { }
115+
for row in dat("ActiveSkillType"):Rows() do
116+
out:write('\t' .. row.Id .. ' = ' .. row._rowIndex .. ',\n')
117+
end
118+
out:write('}\n')]]
119+
112120
out:write('data.monsterVarietyLifeMult = {\n')
113121
local cachedEntry = { }
114122
for row in dat("MonsterVarieties"):Rows() do

src/Export/Scripts/skillGemList.lua

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,16 @@ local export = false
99

1010
local types = { "Strength", "Dexterity", "Intelligence", "Other" }
1111

12-
local function grantedEffectString(grantedEffect)
12+
local function grantedEffectString(grantedEffect, support)
1313
local s = "#skill "..grantedEffect.Id.."\n"
1414
for _, statSet in ipairs(tableConcat({grantedEffect.GrantedEffectStatSets}, grantedEffect.AdditionalStatSets)) do
1515
if not (statSet.LabelType and statSet.LabelType.Id == "Hidden") then
16-
s = s.."#set "..statSet.Id.."\n#flags\n#mods\n"
16+
s = s.."#set "..statSet.Id
17+
if support then
18+
s = s.."\n#mods\n#skillEnd\n"
19+
else
20+
s = s.."\n#flags\n#mods\n#skillEnd\n"
21+
end
1722
end
1823
end
1924
return s
@@ -38,11 +43,11 @@ for i, _ in ipairs(types) do
3843
if skillGem.IsSupport and skillGem.GemColour == i and not gemEffect.Id:match("Unknown") and not gemEffect.Id:match("Playtest") and not skillGem.BaseItemType.Name:match("DNT")
3944
and dat("SupportGems"):GetRow("SkillGem", dat("SkillGems"):GetRow("BaseItemType", dat("BaseItemTypes"):GetRow("Id", skillGem.BaseItemType.Id))) then
4045
local temp = skillGem.BaseItemType.Name..string.rep(" ", 30 - string.len(skillGem.BaseItemType.Name)).."\t\t----\t\t"..gemEffect.GrantedEffect.Id
41-
local temp1 = skillGem.BaseItemType.Name..grantedEffectString(gemEffect.GrantedEffect)
46+
local temp1 = skillGem.BaseItemType.Name..grantedEffectString(gemEffect.GrantedEffect, true)
4247
if gemEffect.AdditionalGrantedEffects then
4348
for _, additionalGrantedEffect in ipairs(gemEffect.AdditionalGrantedEffects) do
4449
temp = temp.."\t"..additionalGrantedEffect.Id
45-
temp1 = temp1..grantedEffectString(additionalGrantedEffect)
50+
temp1 = temp1..grantedEffectString(additionalGrantedEffect, true)
4651
end
4752
end
4853
table.insert(support, temp)

0 commit comments

Comments
 (0)