Skip to content

Commit b5dcfc3

Browse files
committed
experienceMultiplier for Spectre Reservation
1 parent f5c264f commit b5dcfc3

File tree

6 files changed

+68
-3
lines changed

6 files changed

+68
-3
lines changed

src/Data/Minions.lua

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ minions["RaisedZombie"] = {
2222
accuracy = 1,
2323
weaponType1 = "One Handed Axe",
2424
limit = "ActiveZombieLimit",
25+
experienceMultiplier = 1,
2526
skillList = {
2627
"MinionMeleeStep",
2728
},
@@ -45,6 +46,7 @@ minions["SummonedRagingSpirit"] = {
4546
attackRange = 12,
4647
accuracy = 1,
4748
limit = "ActiveRagingSpiritLimit",
49+
experienceMultiplier = 1,
4850
skillList = {
4951
"MinionMeleeStep",
5052
},
@@ -69,6 +71,7 @@ minions["RaisedSkeletonSniper"] = {
6971
accuracy = 1,
7072
weaponType1 = "Bow",
7173
limit = "ActiveSkeletonLimit",
74+
experienceMultiplier = 1,
7275
skillList = {
7376
"MinionMeleeBow",
7477
"GasShotSkeletonSniperMinion",
@@ -95,6 +98,7 @@ minions["RaisedSkeletonBrute"] = {
9598
accuracy = 1,
9699
weaponType1 = "Two Handed Mace",
97100
limit = "ActiveSkeletonLimit",
101+
experienceMultiplier = 1,
98102
skillList = {
99103
"MinionMeleeStep",
100104
"BoneshatterBruteMinion",
@@ -121,6 +125,7 @@ minions["RaisedSkeletonStormMage"] = {
121125
accuracy = 1,
122126
weaponType1 = "Staff",
123127
limit = "ActiveSkeletonLimit",
128+
experienceMultiplier = 1,
124129
skillList = {
125130
"ArcSkeletonMageMinion",
126131
"DeathStormSkeletonStormMageMinion",
@@ -147,6 +152,7 @@ minions["RaisedSkeletonFrostMage"] = {
147152
accuracy = 1,
148153
weaponType1 = "None",
149154
limit = "ActiveSkeletonLimit",
155+
experienceMultiplier = 1,
150156
skillList = {
151157
"FrostBoltSkeletonMageMinion",
152158
"IceBombSkeletonMageMinion",
@@ -173,6 +179,7 @@ minions["RaisedSkeletonCleric"] = {
173179
accuracy = 1,
174180
weaponType1 = "One Handed Mace",
175181
limit = "ActiveSkeletonLimit",
182+
experienceMultiplier = 1,
176183
skillList = {
177184
"HealSkeletonClericMinion",
178185
"ResurrectSkeletonClericMinion",
@@ -200,6 +207,7 @@ minions["RaisedSkeletonArsonist"] = {
200207
accuracy = 1,
201208
weaponType1 = "None",
202209
limit = "ActiveSkeletonLimit",
210+
experienceMultiplier = 1,
203211
skillList = {
204212
"FireBombSkeletonMinion",
205213
"DestructiveLinkSkeletonBombadierMinion",
@@ -227,6 +235,7 @@ minions["RaisedSkeletonReaver"] = {
227235
weaponType1 = "One Handed Axe",
228236
weaponType2 = "One Handed Axe",
229237
limit = "ActiveSkeletonLimit",
238+
experienceMultiplier = 1,
230239
skillList = {
231240
"MinionMeleeStep",
232241
"EnrageSkeletonReaverMinion",
@@ -254,6 +263,7 @@ minions["RaisedSkeletonWarriors"] = {
254263
weaponType1 = "One Handed Sword",
255264
weaponType2 = "Shield",
256265
limit = "ActiveSkeletonLimit",
266+
experienceMultiplier = 1,
257267
skillList = {
258268
"MinionMeleeStep",
259269
},
@@ -280,6 +290,7 @@ minions["SummonedHellhound"] = {
280290
attackTime = 0.75,
281291
attackRange = 10,
282292
accuracy = 1,
293+
experienceMultiplier = 1,
283294
skillList = {
284295
"MinionMelee",
285296
},
@@ -303,6 +314,7 @@ minions["AncestralSpiritTurtle"] = {
303314
attackTime = 1,
304315
attackRange = 15,
305316
accuracy = 1,
317+
experienceMultiplier = 1,
306318
skillList = {
307319
"MeleeAtAnimationSpeed",
308320
"ABTTTortoiseTotemBubble",
@@ -330,6 +342,7 @@ minions["AncestralSpiritHulk"] = {
330342
attackTime = 1,
331343
attackRange = 14,
332344
accuracy = 1,
345+
experienceMultiplier = 1,
333346
skillList = {
334347
"MeleeAtAnimationSpeed",
335348
"DTTAncestralJadeHulkLeapSlam",
@@ -357,6 +370,7 @@ minions["AncestralSpiritCaster"] = {
357370
attackTime = 1,
358371
attackRange = 14,
359372
accuracy = 1,
373+
experienceMultiplier = 1,
360374
skillList = {
361375
"MeleeAtAnimationSpeed",
362376
"MPSAncestralTotemSpiritSoulCasterProjectile",
@@ -384,6 +398,7 @@ minions["AncestralSpiritWarhorn"] = {
384398
attackTime = 1,
385399
attackRange = 27,
386400
accuracy = 1,
401+
experienceMultiplier = 1,
387402
skillList = {
388403
"MeleeAtAnimationSpeed",
389404
"EGTotemSpiritJadeHornBlow",
@@ -407,6 +422,7 @@ minions["UnearthBoneConstruct"] = {
407422
attackTime = 1.06,
408423
attackRange = 12,
409424
accuracy = 1,
425+
experienceMultiplier = 1,
410426
skillList = {
411427
"MinionMelee",
412428
},
@@ -431,6 +447,7 @@ minions["SummonedRhoa"] = {
431447
attackTime = 1.23,
432448
attackRange = 16,
433449
accuracy = 1,
450+
experienceMultiplier = 1,
434451
skillList = {
435452
"MinionMelee",
436453
},
@@ -454,6 +471,7 @@ minions["ManifestWeapon"] = {
454471
attackTime = 1,
455472
attackRange = 10,
456473
accuracy = 1,
474+
experienceMultiplier = 1,
457475
skillList = {
458476
"MinionMelee",
459477
"GAAnimateWeaponMaceSlam",

src/Data/Spectres.lua

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ minions["Metadata/Monsters/LeagueHellscape/PaleFaction/HellscapePaleElite1_"] =
2323
attackRange = 9,
2424
accuracy = 1,
2525
weaponType1 = "None",
26+
experienceMultiplier = 2.35,
2627
skillList = {
2728
"TBHellscapePaleLightningBoltSpammableLeft",
2829
"TBHellscapePaleLightningBoltSpammableRight",
@@ -50,6 +51,7 @@ minions["Metadata/Monsters/LeagueHellscape/PaleFaction/HellscapePaleElite2__"] =
5051
attackRange = 18,
5152
accuracy = 1,
5253
weaponType1 = "None",
54+
experienceMultiplier = 2.25,
5355
skillList = {
5456
"DTTHellscapeStabbySkyStab",
5557
"DTTHellscapeStabWeb",
@@ -82,6 +84,7 @@ minions["Metadata/Monsters/GoreCharger/GoreCharger"] = {
8284
attackTime = 1.065,
8385
attackRange = 13,
8486
accuracy = 1,
87+
experienceMultiplier = 1.7,
8588
skillList = {
8689
"MeleeAtAnimationSpeed",
8790
"GoreChargerCharge",
@@ -106,6 +109,7 @@ minions["Metadata/Monsters/Sanctified/Monstrosity/SanctifiedMonstrosity"] = {
106109
attackTime = 1.5,
107110
attackRange = 28,
108111
accuracy = 1,
112+
experienceMultiplier = 3.5,
109113
skillList = {
110114
"MeleeAtAnimationSpeed",
111115
"MPWCleansedMonstrosityRailgun",
@@ -132,6 +136,7 @@ minions["Metadata/Monsters/BoneCultists/BoneCultists_Beast/BoneCultistBeast"] =
132136
attackTime = 1.665,
133137
attackRange = 19,
134138
accuracy = 1,
139+
experienceMultiplier = 2.5,
135140
skillList = {
136141
"MeleeAtAnimationSpeedComboTEMP",
137142
"CultistBeastSunder",
@@ -140,7 +145,7 @@ minions["Metadata/Monsters/BoneCultists/BoneCultists_Beast/BoneCultistBeast"] =
140145
},
141146
}
142147

143-
-- Filthy Firstborn
148+
-- Filthy First-born
144149
minions["Metadata/Monsters/Cenobite/CenobiteBloater/CenobiteBloater"] = {
145150
name = "Filthy First-born",
146151
monsterTags = { "allows_inc_aoe", "humanoid", "melee", "monster_has_on_death_mechanic", "MonsterBlunt_onhit_audio", "no_minion_revival", "not_dex", "not_int", "physical_affinity", "red_blood", "very_slow_movement", },
@@ -157,6 +162,7 @@ minions["Metadata/Monsters/Cenobite/CenobiteBloater/CenobiteBloater"] = {
157162
attackRange = 14,
158163
accuracy = 1,
159164
weaponType1 = "Two Handed Mace",
165+
experienceMultiplier = 2.5,
160166
skillList = {
161167
"MeleeAtAnimationSpeed",
162168
"GSCenobiteBloaterOnDeath",
@@ -182,6 +188,7 @@ minions["Metadata/Monsters/TwoheadedTitan/TwoHeadedTitan"] = {
182188
attackTime = 1.5,
183189
attackRange = 20,
184190
accuracy = 1,
191+
experienceMultiplier = 2.5,
185192
skillList = {
186193
"MeleeAtAnimationSpeed",
187194
"GATwoHeadedTitanSlam",
@@ -207,6 +214,7 @@ minions["Metadata/Monsters/EtchedBeetles/MediumEtchedBeetleArmouredDull"] = {
207214
attackTime = 1.5,
208215
attackRange = 12,
209216
accuracy = 1,
217+
experienceMultiplier = 1.5,
210218
skillList = {
211219
"MeleeAtAnimationSpeed",
212220
"GAMediumBeetleChargedSunder",
@@ -232,6 +240,7 @@ minions["Metadata/Monsters/VaalConstructs/Sentinel/VaalConstructSentinel"] = {
232240
attackTime = 1.5,
233241
attackRange = 13,
234242
accuracy = 1,
243+
experienceMultiplier = 2.5,
235244
skillList = {
236245
"MeleeAtAnimationSpeed",
237246
"GAVaalConstructSentinelGroundSlam",
@@ -262,6 +271,7 @@ minions["Metadata/Monsters/TerracottaGuardians/TerracottaGuardianSceptre"] = {
262271
attackRange = 12,
263272
accuracy = 1,
264273
weaponType1 = "One Handed Mace",
274+
experienceMultiplier = 1.1,
265275
skillList = {
266276
"MeleeAtAnimationSpeed",
267277
"EGTerracottaTransitionSideways",
@@ -270,6 +280,29 @@ minions["Metadata/Monsters/TerracottaGuardians/TerracottaGuardianSceptre"] = {
270280
modList = {
271281
},
272282
}
283+
minions["Metadata/Monsters/TerracottaGuardians/TerracottaGuardianSceptreAmbush__"] = {
284+
name = "Terracotta Soldier",
285+
monsterTags = { "1HBluntMetal_onhit_audio", "construct", "melee", "not_dex", "not_int", "physical_affinity", "very_slow_movement", },
286+
life = 0.99,
287+
baseDamageIgnoresAttackSpeed = true,
288+
armour = 0.5,
289+
fireResist = 0,
290+
coldResist = 30,
291+
lightningResist = 0,
292+
chaosResist = 0,
293+
damage = 0.88,
294+
damageSpread = 0.2,
295+
attackTime = 1.17,
296+
attackRange = 12,
297+
accuracy = 1,
298+
weaponType1 = "One Handed Mace",
299+
experienceMultiplier = 0.22,
300+
skillList = {
301+
"MeleeAtAnimationSpeed",
302+
},
303+
modList = {
304+
},
305+
}
273306

274307
-- Quadrilla
275308
minions["Metadata/Monsters/Quadrilla/Quadrilla"] = {
@@ -287,6 +320,7 @@ minions["Metadata/Monsters/Quadrilla/Quadrilla"] = {
287320
attackTime = 1.995,
288321
attackRange = 21,
289322
accuracy = 1,
323+
experienceMultiplier = 2,
290324
skillList = {
291325
"GAQuadrillaSunder",
292326
"EAAQuadrillaThrow",
@@ -317,6 +351,7 @@ minions["Metadata/Monsters/VaalMonsters/Living/VaalGuardMortarLiving"] = {
317351
attackTime = 1.5,
318352
attackRange = 10,
319353
accuracy = 1,
354+
experienceMultiplier = 1,
320355
skillList = {
321356
"MeleeAtAnimationSpeed",
322357
"MMSVaalGuardGrenade",
@@ -345,6 +380,7 @@ minions["Metadata/Monsters/VaalMonsters/Living/BloodPriests/VaalBloodPriestMale"
345380
attackRange = 12,
346381
accuracy = 1,
347382
weaponType1 = "Dagger",
383+
experienceMultiplier = 2,
348384
skillList = {
349385
"MeleeAtAnimationSpeed",
350386
"VaalBloodPriestExsanguinate",
@@ -374,6 +410,7 @@ minions["Metadata/Monsters/VaalMonsters/Living/BloodPriests/VaalBloodPriestFemal
374410
attackRange = 12,
375411
accuracy = 1,
376412
weaponType1 = "Dagger",
413+
experienceMultiplier = 2,
377414
skillList = {
378415
"MeleeAtAnimationSpeed",
379416
"VaalBloodPriestSoulrend",

src/Export/Minions/Spectres.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ local minions, mod, flag = ...
3535

3636
--Terracotta Soldier
3737
#spectre Metadata/Monsters/TerracottaGuardians/TerracottaGuardianSceptre
38+
#spectre Metadata/Monsters/TerracottaGuardians/TerracottaGuardianSceptreAmbush__
3839

3940
-- Quadrilla
4041
#spectre Metadata/Monsters/Quadrilla/Quadrilla

src/Export/Scripts/minions.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ directiveTable.emit = function(state, args, out)
153153
if state.limit then
154154
out:write('\tlimit = "', state.limit, '",\n')
155155
end
156+
if monsterVariety.ExperienceMultiplier then
157+
out:write('\texperienceMultiplier = ', (monsterVariety.ExperienceMultiplier / 100), ',\n')
158+
end
156159
out:write('\tskillList = {\n')
157160
for _, grantedEffect in ipairs(monsterVariety.GrantedEffects) do
158161
out:write('\t\t"', grantedEffect.Id, '",\n')

src/Modules/CalcActiveSkill.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ function calcs.buildActiveSkillModList(env, activeSkill)
551551
end
552552
if level.spiritReservationFlat then
553553
skillModList:NewMod("ExtraSpirit", "BASE", level.spiritReservationFlat, skillEffect.grantedEffect.modSource)
554-
end
554+
end
555555
-- Handle multiple triggers situation and if triggered by a trigger skill save a reference to the trigger.
556556
local match = skillEffect.grantedEffect.addSkillTypes and (not skillFlags.disable)
557557
if match and skillEffect.grantedEffect.isTrigger then

src/Modules/CalcDefence.lua

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,13 @@ function calcs.doActorLifeManaSpiritReservation(actor)
234234
local minionFreeSpiritCount = skillModList:Sum("BASE", skillCfg, "MinionFreeSpiritCount")
235235
values.reservedFlat = values.reservedFlat * mult * m_max(activeSkillCount - minionFreeSpiritCount, 0)
236236
end
237-
237+
if activeSkill.skillCfg.skillName == "Spectre: {0} " then
238+
local xpMult = 1
239+
if activeSkill.minion and activeSkill.minion.minionData and activeSkill.minion.minionData.experienceMultiplier then
240+
xpMult = activeSkill.minion.minionData.experienceMultiplier
241+
end
242+
values.reservedFlat = round(values.reservedFlat * mult * m_max(xpMult, 0) / 10) * 10
243+
end
238244
if activeSkill.skillTypes[SkillType.IsBlasphemy] and activeSkill.activeEffect.srcInstance.supportEffect and activeSkill.activeEffect.srcInstance.supportEffect.isSupporting then
239245
-- Sadly no better way to get key/val table element count in lua.
240246
local instances = 0

0 commit comments

Comments
 (0)