Skip to content

Commit 2dc7602

Browse files
authored
Add Conjuror of Rot Spectre (#9702)
* add support for conjuror of rot spectre increase size of spectre mgmt popup * remove buff lines
1 parent 0fea171 commit 2dc7602

6 files changed

Lines changed: 215 additions & 7 deletions

File tree

src/Classes/MinionSearchListControl.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ local MinionSearchListClass = newClass("MinionSearchListControl", "MinionListCon
1313
self.unfilteredList = copyTable(list)
1414
self.isMutable = false
1515

16-
self.controls.searchText = new("EditControl", {"BOTTOMLEFT",self,"TOPLEFT"}, {0, -2, 128, 18}, "", "Search", "%c", 100, function(buf)
16+
self.controls.searchText = new("EditControl", {"BOTTOMLEFT",self,"TOPLEFT"}, {0, -2, 203, 18}, "", "Search", "%c", 100, function(buf)
1717
self:ListFilterChanged(buf, self.controls.searchModeDropDown.selIndex)
1818
end, nil, nil, true)
1919

src/Data/Skills/spectre.lua

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11506,4 +11506,103 @@ skills["CrucibleVendigoFlickerStrike"] = {
1150611506
levels = {
1150711507
[1] = { cooldown = 3, levelRequirement = 1, storedUses = 1, },
1150811508
},
11509+
}
11510+
skills["MPSFaridunWarlockBloodSpray"] = {
11511+
name = "Blood Spray",
11512+
hidden = true,
11513+
color = 4,
11514+
baseEffectiveness = 1.1000000238419,
11515+
incrementalEffectiveness = 0.03999999910593,
11516+
skillTypes = { [SkillType.Spell] = true, [SkillType.Projectile] = true, [SkillType.ProjectilesFromUser] = true, [SkillType.Triggerable] = true, },
11517+
statDescriptionScope = "skill_stat_descriptions",
11518+
castTime = 1,
11519+
baseFlags = {
11520+
spell = true,
11521+
projectile = true,
11522+
},
11523+
constantStats = {
11524+
{ "monster_projectile_variation", 284 },
11525+
{ "projectile_maximum_range_override", 25 },
11526+
{ "base_number_of_projectiles", 3 },
11527+
},
11528+
stats = {
11529+
"spell_minimum_base_physical_damage",
11530+
"spell_maximum_base_physical_damage",
11531+
"base_is_projectile",
11532+
"action_attack_or_cast_time_uses_animation_length",
11533+
"check_for_targets_between_initiator_and_projectile_source",
11534+
"projectile_uses_contact_position",
11535+
"maintain_projectile_direction_when_using_contact_position",
11536+
"distribute_projectiles_over_contact_points",
11537+
},
11538+
notMinionStat = {
11539+
"spell_minimum_base_physical_damage",
11540+
"spell_maximum_base_physical_damage",
11541+
},
11542+
levels = {
11543+
[1] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 0, statInterpolation = { 3, 3, }, },
11544+
},
11545+
}
11546+
skills["CGEFaridunWarlockSwarmGround"] = {
11547+
name = "Caustic Ground",
11548+
hidden = true,
11549+
color = 4,
11550+
baseEffectiveness = 2,
11551+
incrementalEffectiveness = 0.027499999850988,
11552+
skillTypes = { [SkillType.Spell] = true, [SkillType.Area] = true, [SkillType.Damage] = true, [SkillType.Triggerable] = true, [SkillType.Duration] = true, [SkillType.AreaSpell] = true, },
11553+
statDescriptionScope = "skill_stat_descriptions",
11554+
castTime = 1,
11555+
baseFlags = {
11556+
area = true,
11557+
spell = true,
11558+
duration = true,
11559+
},
11560+
constantStats = {
11561+
{ "active_skill_area_of_effect_radius_+%_final", -5 },
11562+
{ "base_skill_effect_duration", 5000 },
11563+
{ "ground_caustic_art_variation", 23 },
11564+
{ "spell_maximum_action_distance_+%", -40 },
11565+
},
11566+
stats = {
11567+
"base_chaos_damage_to_deal_per_minute",
11568+
"action_attack_or_cast_time_uses_animation_length",
11569+
"is_area_damage",
11570+
},
11571+
levels = {
11572+
[1] = { 33.333334078391, cooldown = 15, levelRequirement = 0, storedUses = 1, statInterpolation = { 3, }, },
11573+
},
11574+
}
11575+
skills["FaridunCasterUndeadDamageOverTimeAura"] = {
11576+
name = "Malevolence",
11577+
hidden = true,
11578+
color = 3,
11579+
description = "Casts an aura that multiplies damage over time and increases skill effect duration of you and your allies.",
11580+
skillTypes = { [SkillType.Spell] = true, [SkillType.Area] = true, [SkillType.Buff] = true, [SkillType.HasReservation] = true, [SkillType.TotemCastsAlone] = true, [SkillType.Totemable] = true, [SkillType.Aura] = true, [SkillType.Instant] = true, [SkillType.AreaSpell] = true, [SkillType.CanHaveBlessing] = true, [SkillType.InstantNoRepeatWhenHeld] = true, [SkillType.InstantShiftAttackForLeftMouse] = true, [SkillType.Cooldown] = true, },
11581+
statDescriptionScope = "aura_skill_stat_descriptions",
11582+
castTime = 1,
11583+
statMap = {
11584+
["delirium_aura_damage_over_time_+%_final"] = {
11585+
mod("Damage", "MORE", nil, ModFlag.Dot, 0, { type = "GlobalEffect", effectType = "Aura" }),
11586+
},
11587+
["delirium_skill_effect_duration_+%"] = {
11588+
mod("Duration", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
11589+
},
11590+
},
11591+
baseFlags = {
11592+
spell = true,
11593+
area = true,
11594+
aura = true,
11595+
},
11596+
constantStats = {
11597+
{ "active_skill_area_of_effect_radius_+%_final", 50 },
11598+
},
11599+
stats = {
11600+
"delirium_aura_damage_over_time_+%_final",
11601+
"delirium_skill_effect_duration_+%",
11602+
"base_deal_no_damage",
11603+
},
11604+
levels = {
11605+
[1] = { 14, 10, cooldown = 0.5, levelRequirement = 0, storedUses = 1, statInterpolation = { 2, 2, }, },
11606+
[2] = { 17, 14, cooldown = 0.5, levelRequirement = 80, storedUses = 1, statInterpolation = { 2, 2, }, },
11607+
},
1150911608
}

src/Data/Spectres.lua

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7027,3 +7027,88 @@ minions["Metadata/Monsters/LeagueAzmeri/SpecialCorpses/SynthesisGolemHigh"] = {
70277027
mod("LinkEffectOnSelf", "INC", 100, 0, 0), -- AzmeriGolemLinkEffectOnSelf2 [link_buff_effect_on_self_+% = 100]
70287028
},
70297029
}
7030+
-- Conjuror of Rot
7031+
minions["Metadata/Monsters/FaridunLeague/FaridunWarlock/FaridunWarlockLow"] = {
7032+
name = "Imperfect Conjuror of Rot",
7033+
monsterTags = { "caster", "human", "humanoid", "not_dex", "not_str", "ranged", "red_blood", "slow_movement", },
7034+
baseDamageIgnoresAttackSpeed = true,
7035+
life = 2.04,
7036+
energyShield = 0.16,
7037+
fireResist = 0,
7038+
coldResist = 0,
7039+
lightningResist = 0,
7040+
chaosResist = 40,
7041+
damage = 2.04,
7042+
damageSpread = 0,
7043+
attackTime = 1.5,
7044+
attackRange = 60,
7045+
accuracy = 1,
7046+
skillList = {
7047+
"SSMFaridunWarlockBloodLocust",
7048+
"SOFaridunWarlockPustule",
7049+
"GSFaridunWarlockPustuleExplosion",
7050+
"GTFaridunWarlockPustules",
7051+
"MPSFaridunWarlockBloodSpray",
7052+
},
7053+
modList = {
7054+
-- set_additional_life_scaling_index [set_additional_life_scaling_index = 25]
7055+
-- map_related_item_drop_chance_+%_final_from_league [map_related_item_drop_chance_+%_final_from_league = -50]
7056+
},
7057+
}
7058+
minions["Metadata/Monsters/FaridunLeague/FaridunWarlock/FaridunWarlockMid_"] = {
7059+
name = "Conjuror of Rot",
7060+
monsterTags = { "caster", "human", "humanoid", "not_dex", "not_str", "ranged", "red_blood", "slow_movement", },
7061+
baseDamageIgnoresAttackSpeed = true,
7062+
life = 2.04,
7063+
energyShield = 0.16,
7064+
fireResist = 0,
7065+
coldResist = 0,
7066+
lightningResist = 0,
7067+
chaosResist = 40,
7068+
damage = 2.04,
7069+
damageSpread = 0,
7070+
attackTime = 1.5,
7071+
attackRange = 60,
7072+
accuracy = 1,
7073+
skillList = {
7074+
"SSMFaridunWarlockBloodLocust",
7075+
"SOFaridunWarlockPustule",
7076+
"GSFaridunWarlockPustuleExplosion",
7077+
"GTFaridunWarlockPustules",
7078+
"CGEFaridunWarlockSwarmGround",
7079+
"MPSFaridunWarlockBloodSpray",
7080+
},
7081+
modList = {
7082+
-- set_additional_life_scaling_index [set_additional_life_scaling_index = 25]
7083+
-- map_related_item_drop_chance_+%_final_from_league [map_related_item_drop_chance_+%_final_from_league = -50]
7084+
},
7085+
}
7086+
minions["Metadata/Monsters/FaridunLeague/FaridunWarlock/FaridunWarlockHigh"] = {
7087+
name = "Perfect Conjuror of Rot",
7088+
monsterTags = { "caster", "human", "humanoid", "not_dex", "not_str", "ranged", "red_blood", "slow_movement", },
7089+
baseDamageIgnoresAttackSpeed = true,
7090+
life = 2.04,
7091+
energyShield = 0.16,
7092+
fireResist = 0,
7093+
coldResist = 0,
7094+
lightningResist = 0,
7095+
chaosResist = 40,
7096+
damage = 2.04,
7097+
damageSpread = 0,
7098+
attackTime = 1.5,
7099+
attackRange = 60,
7100+
accuracy = 1,
7101+
skillList = {
7102+
"SSMFaridunWarlockBloodLocust",
7103+
"SOFaridunWarlockPustule",
7104+
"GSFaridunWarlockPustuleExplosion",
7105+
"GTFaridunWarlockPustules",
7106+
"CGEFaridunWarlockSwarmGround",
7107+
"MPSFaridunWarlockBloodSpray",
7108+
"FaridunCasterUndeadDamageOverTimeAura",
7109+
},
7110+
modList = {
7111+
-- set_additional_life_scaling_index [set_additional_life_scaling_index = 25]
7112+
-- map_related_item_drop_chance_+%_final_from_league [map_related_item_drop_chance_+%_final_from_league = -50]
7113+
},
7114+
}

src/Export/Minions/Spectres.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,4 +434,8 @@ local minions, mod, flag = ...
434434
-- Half-remembered Goliath
435435
#spectre Metadata/Monsters/LeagueAzmeri/SpecialCorpses/SynthesisGolemLow
436436
#spectre Metadata/Monsters/LeagueAzmeri/SpecialCorpses/SynthesisGolemMid
437-
#spectre Metadata/Monsters/LeagueAzmeri/SpecialCorpses/SynthesisGolemHigh
437+
#spectre Metadata/Monsters/LeagueAzmeri/SpecialCorpses/SynthesisGolemHigh
438+
-- Conjuror of Rot
439+
#spectre Metadata/Monsters/FaridunLeague/FaridunWarlock/FaridunWarlockLow
440+
#spectre Metadata/Monsters/FaridunLeague/FaridunWarlock/FaridunWarlockMid_
441+
#spectre Metadata/Monsters/FaridunLeague/FaridunWarlock/FaridunWarlockHigh

src/Export/Skills/spectre.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2241,3 +2241,23 @@ skills["LegionKaruiMeleeCombo2"] = {
22412241
#skill CrucibleVendigoFlickerStrike Flicker Strike
22422242
#flags attack melee movement
22432243
#mods
2244+
2245+
#skill MPSFaridunWarlockBloodSpray Blood Spray
2246+
#flags spell projectile
2247+
#mods
2248+
2249+
#skill CGEFaridunWarlockSwarmGround Caustic Ground
2250+
#flags area spell duration
2251+
#mods
2252+
2253+
#skill FaridunCasterUndeadDamageOverTimeAura Malevolence
2254+
#flags spell area aura
2255+
statMap = {
2256+
["delirium_aura_damage_over_time_+%_final"] = {
2257+
mod("Damage", "MORE", nil, ModFlag.Dot, 0, { type = "GlobalEffect", effectType = "Aura" }),
2258+
},
2259+
["delirium_skill_effect_duration_+%"] = {
2260+
mod("Duration", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
2261+
},
2262+
},
2263+
#mods

src/Modules/Build.lua

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,8 +1367,8 @@ function buildMode:OpenSpectreLibrary()
13671367
end
13681368
end)
13691369
local controls = { }
1370-
controls.list = new("MinionListControl", nil, {-100, 40, 190, 250}, self.data, destList)
1371-
controls.source = new("MinionSearchListControl", nil, {100, 60, 190, 230}, self.data, sourceList, controls.list)
1370+
controls.list = new("MinionListControl", nil, {-139, 40, 265, 250}, self.data, destList)
1371+
controls.source = new("MinionSearchListControl", nil, {139, 60, 265, 230}, self.data, sourceList, controls.list)
13721372
controls.save = new("ButtonControl", nil, {-45, 330, 80, 20}, "Save", function()
13731373
self.spectreList = destList
13741374
self.modFlag = true
@@ -1378,9 +1378,9 @@ function buildMode:OpenSpectreLibrary()
13781378
controls.cancel = new("ButtonControl", nil, {45, 330, 80, 20}, "Cancel", function()
13791379
main:ClosePopup()
13801380
end)
1381-
controls.noteLine1 = new("LabelControl", {"TOPLEFT",controls.list,"BOTTOMLEFT"}, {24, 2, 0, 16}, "^7Spectres in your Library must be assigned to an active")
1382-
controls.noteLine2 = new("LabelControl", {"TOPLEFT",controls.list,"BOTTOMLEFT"}, {20, 18, 0, 16}, "^7Raise Spectre gem for their buffs and curses to activate")
1383-
local spectrePopup = main:OpenPopup(410, 360, "Spectre Library", controls)
1381+
controls.noteLine1 = new("LabelControl", {"TOPLEFT",controls.list,"BOTTOMLEFT"}, {99, 2, 0, 16}, "^7Spectres in your Library must be assigned to an active")
1382+
controls.noteLine2 = new("LabelControl", {"TOPLEFT",controls.list,"BOTTOMLEFT"}, {95, 18, 0, 16}, "^7Raise Spectre gem for their buffs and curses to activate")
1383+
local spectrePopup = main:OpenPopup(575, 360, "Spectre Library", controls)
13841384
spectrePopup:SelectControl(spectrePopup.controls.source.controls.searchText)
13851385
end
13861386

0 commit comments

Comments
 (0)