Skip to content

Commit 876957e

Browse files
author
LocalIdentity
committed
Add new skills granted from items
1 parent b0d71b2 commit 876957e

7 files changed

Lines changed: 194 additions & 0 deletions

File tree

src/Data/Minions.lua

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1833,3 +1833,29 @@ minions["Hiveborn"] = {
18331833
-- MonsterNoDropsOrExperience [monster_no_drops_or_experience = 1]
18341834
},
18351835
}
1836+
1837+
minions["ShamblingUndead"] = {
1838+
name = "Ceaseless Flesh",
1839+
monsterTags = { "animal_claw_weapon", "flesh_armour", "is_unarmed", "melee", "physical_affinity", "red_blood", "undead", "very_slow_movement", },
1840+
life = 2.7,
1841+
fireResist = 40,
1842+
coldResist = 40,
1843+
lightningResist = 40,
1844+
chaosResist = 20,
1845+
damage = 2.1,
1846+
damageSpread = 0.4,
1847+
attackTime = 1.17,
1848+
attackRange = 11,
1849+
accuracy = 3.4,
1850+
limit = "ShamblingUndeadLimit",
1851+
skillList = {
1852+
"MeleeAtAnimationSpeedChaos",
1853+
"ZombieSlam",
1854+
"GAZombieCorpseGroundImpact",
1855+
},
1856+
modList = {
1857+
mod("Armour", "INC", 40, 0, 0), -- MonsterImplicitDamageReduction1 [physical_damage_reduction_rating_+% = 40]
1858+
mod("StunThreshold", "INC", 30, 0, 0), -- RaiseZombieStunThreshold [stun_threshold_+% = 30]
1859+
-- set_item_drop_slots [set_item_drop_slots = 0]
1860+
},
1861+
}

src/Data/SkillStatMap.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1897,6 +1897,9 @@ return {
18971897
["minion_damage_+%_on_full_life"] = {
18981898
mod("MinionModifier", "LIST", { mod = mod("Damage", "INC", nil, 0, 0, {type = "Condition", var = "FullLife"}) }),
18991899
},
1900+
["minion_attack_speed_+%_when_on_low_life"] = {
1901+
mod("MinionModifier", "LIST", { mod = mod("Speed", "INC", nil, ModFlag.Attack, 0, {type = "Condition", var = "LowLife"}) }),
1902+
},
19001903
["active_skill_minion_bleeding_damage_+%_final"] = {
19011904
mod("MinionModifier", "LIST", { mod = mod("Damage", "MORE", nil, 0, KeywordFlag.Bleed) }),
19021905
},
@@ -2012,6 +2015,9 @@ return {
20122015
["base_graft_skill_tul_summon_maximum_allowed_demons"] = {
20132016
mod("ActiveHivebornLimit", "BASE", nil),
20142017
},
2018+
["base_number_of_restless_dead_allowed"] = {
2019+
mod("ShamblingUndeadLimit", "BASE", nil),
2020+
},
20152021
["active_skill_minion_damage_+%_final"] = {
20162022
mod("MinionModifier", "LIST", { mod = mod("Damage", "MORE", nil) }),
20172023
},

src/Data/Skills/other.lua

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,34 @@ skills["AspectOfTheSpider"] = {
382382
[30] = { 4, cooldown = 0.5, levelRequirement = 1, manaReservationPercent = 25, storedUses = 1, statInterpolation = { 1, }, },
383383
},
384384
}
385+
skills["SolartwineBlindingNova"] = {
386+
name = "Blazing Glare",
387+
hidden = true,
388+
color = 2,
389+
baseEffectiveness = 2.2599999904633,
390+
description = "When hit, release a nova of fiery vengeance, dealing spell fire damage and blinding enemies struck.",
391+
skillTypes = { [SkillType.Cooldown] = true, [SkillType.Area] = true, [SkillType.Spell] = true, [SkillType.Fire] = true, [SkillType.Triggered] = true, [SkillType.Triggerable] = true, [SkillType.Nova] = true, [SkillType.InbuiltTrigger] = true, [SkillType.AreaSpell] = true, [SkillType.Damage] = true, },
392+
statDescriptionScope = "skill_stat_descriptions",
393+
castTime = 1,
394+
fromItem = true,
395+
baseFlags = {
396+
spell = true,
397+
area = true,
398+
},
399+
constantStats = {
400+
{ "active_skill_base_area_of_effect_radius", 30 },
401+
{ "global_chance_to_blind_on_hit_%", 100 },
402+
{ "cast_when_hit_%", 100 },
403+
},
404+
stats = {
405+
"minimum_added_fire_damage_per_level",
406+
"maximum_added_fire_damage_per_level",
407+
"is_area_damage",
408+
},
409+
levels = {
410+
[20] = { 15, 26, cooldown = 1, critChance = 5, levelRequirement = 0, storedUses = 1, statInterpolation = { 1, 1, }, },
411+
},
412+
}
385413
skills["SupportBloodMagicUniquePrismGuardian"] = {
386414
name = "Blood Magic",
387415
hidden = true,
@@ -613,6 +641,69 @@ skills["Brandsurge"] = {
613641
[20] = { 0.80000001192093, 1.2000000476837, cooldown = 1.5, critChance = 5, damageEffectiveness = 5.1, levelRequirement = 70, storedUses = 1, statInterpolation = { 3, 3, }, cost = { Mana = 20, }, },
614642
},
615643
}
644+
skills["BitingBraidNova"] = {
645+
name = "Caustic Retribution",
646+
hidden = true,
647+
color = 2,
648+
baseEffectiveness = 2.2599999904633,
649+
description = "When hit, release a nova of venomous bile that deals spell chaos damage. This nova poisons and hinders on hit.",
650+
skillTypes = { [SkillType.Cooldown] = true, [SkillType.Area] = true, [SkillType.Spell] = true, [SkillType.Triggered] = true, [SkillType.Triggerable] = true, [SkillType.Chaos] = true, [SkillType.Nova] = true, [SkillType.AreaSpell] = true, [SkillType.Damage] = true, },
651+
statDescriptionScope = "skill_stat_descriptions",
652+
castTime = 1,
653+
fromItem = true,
654+
baseFlags = {
655+
spell = true,
656+
area = true,
657+
},
658+
constantStats = {
659+
{ "active_skill_base_area_of_effect_radius", 30 },
660+
{ "cast_when_hit_%", 100 },
661+
{ "spells_chance_to_hinder_on_hit_%", 100 },
662+
},
663+
stats = {
664+
"minimum_added_chaos_damage_per_level",
665+
"maximum_added_chaos_damage_per_level",
666+
"is_area_damage",
667+
"global_poison_on_hit",
668+
"visual_hit_effect_chaos_is_green",
669+
},
670+
levels = {
671+
[20] = { 11, 19, cooldown = 1, levelRequirement = 0, storedUses = 1, statInterpolation = { 1, 1, }, },
672+
},
673+
}
674+
skills["CeaselessFleshUnique"] = {
675+
name = "Ceaseless Flesh",
676+
hidden = true,
677+
color = 3,
678+
description = "Once per second, raise a nearby corpse as a shambling undead. This minion will follow you and attack your enemies with melee strikes, but quickly falls apart. These minions have significantly increased attack speed while on low life.",
679+
skillTypes = { [SkillType.Spell] = true, [SkillType.Minion] = true, [SkillType.MinionsCanExplode] = true, [SkillType.Triggerable] = true, [SkillType.CreatesMinion] = true, [SkillType.Triggered] = true, [SkillType.InbuiltTrigger] = true, [SkillType.Duration] = true, },
680+
minionSkillTypes = { [SkillType.Attack] = true, [SkillType.Melee] = true, [SkillType.MeleeSingleTarget] = true, [SkillType.Multistrikeable] = true, },
681+
statDescriptionScope = "minion_spell_skill_stat_descriptions",
682+
castTime = 1,
683+
fromItem = true,
684+
minionList = {
685+
"ShamblingUndead",
686+
},
687+
baseFlags = {
688+
spell = true,
689+
minion = true,
690+
duration = true,
691+
},
692+
constantStats = {
693+
{ "base_skill_effect_duration", 5000 },
694+
{ "base_number_of_restless_dead_allowed", 100 },
695+
{ "triggered_by_item_buff", 1 },
696+
{ "minion_attack_speed_+%_when_on_low_life", 100 },
697+
{ "display_minion_monster_type", 28 },
698+
},
699+
stats = {
700+
"base_display_minion_actor_level",
701+
},
702+
levels = {
703+
[20] = { 70, levelRequirement = 70, statInterpolation = { 1, }, },
704+
[25] = { 80, levelRequirement = 72, statInterpolation = { 1, }, },
705+
},
706+
}
616707
skills["ColdAegis"] = {
617708
name = "Cold Aegis",
618709
hidden = true,
@@ -4391,6 +4482,39 @@ skills["SupportTriggerSpellOnKill"] = {
43914482
[1] = { 20, cooldown = 0.5, levelRequirement = 1, storedUses = 1, statInterpolation = { 1, }, },
43924483
},
43934484
}
4485+
skills["AnimosityUniqueSkill"] = {
4486+
name = "Tears of Rot",
4487+
hidden = true,
4488+
color = 2,
4489+
description = "While active, this skill inflicts the Weeping Black debuff on impaled enemies you hit with bow attacks. Weeping Black deals physical damage over time, and can stack up to five times. This skill cannot be cast by Totems.",
4490+
skillTypes = { [SkillType.Spell] = true, [SkillType.Buff] = true, [SkillType.Duration] = true, [SkillType.Triggerable] = true, [SkillType.Triggered] = true, [SkillType.Instant] = true, [SkillType.Cooldown] = true, [SkillType.DamageOverTime] = true, [SkillType.Physical] = true, },
4491+
statDescriptionScope = "debuff_skill_stat_descriptions",
4492+
castTime = 0,
4493+
fromItem = true,
4494+
statMap = {
4495+
["base_physical_damage_to_deal_per_minute"] = {
4496+
skill("PhysicalDot", nil, { type = "Multiplier", var = "WeepingBlackStacks", limit = 5 }),
4497+
div = 60,
4498+
},
4499+
},
4500+
baseFlags = {
4501+
spell = true,
4502+
duration = true,
4503+
},
4504+
constantStats = {
4505+
{ "base_skill_effect_duration", 3000 },
4506+
{ "base_physical_damage_to_deal_per_minute", 37500 },
4507+
},
4508+
stats = {
4509+
"base_physical_damage_to_deal_per_minute",
4510+
"cast_on_gain_skill",
4511+
"spell_uncastable_if_triggerable",
4512+
"no_cost",
4513+
},
4514+
levels = {
4515+
[20] = { 33.333334078391, cooldown = 1, levelRequirement = 0, storedUses = 1, statInterpolation = { 3, }, },
4516+
},
4517+
}
43944518
skills["Twister"] = {
43954519
name = "Twister",
43964520
hidden = true,

src/Export/Minions/Minions.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,4 +255,8 @@ minions["GuardianRelicAll"] = {
255255

256256
#monster Metadata/Monsters/Breach/BreachFodderHandSpiderGraftSummoned Hiveborn
257257
#limit ActiveHivebornLimit
258+
#emit
259+
260+
#monster Metadata/Monsters/RaisedZombies/RestlessDeadPlayerSummoned ShamblingUndead
261+
#limit ShamblingUndeadLimit
258262
#emit

src/Export/Skills/other.txt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,11 @@ local skills, mod, flag, skill = ...
143143
#baseMod skill("stackCount", 1, { type = "Multiplier", var = "SpiderWebApplyStack", limitVar = "SpiderWebApplyStackMax" })
144144
#mods
145145

146+
#skill SolartwineBlindingNova
147+
#flags spell area
148+
fromItem = true,
149+
#mods
150+
146151
#skill SupportBloodMagicUniquePrismGuardian Blood Magic
147152
fromItem = true,
148153
#mods
@@ -228,6 +233,19 @@ local skills, mod, flag, skill = ...
228233
fromItem = true,
229234
#mods
230235

236+
#skill BitingBraidNova
237+
#flags spell area
238+
fromItem = true,
239+
#mods
240+
241+
#skill CeaselessFleshUnique
242+
#flags spell minion duration
243+
fromItem = true,
244+
minionList = {
245+
"ShamblingUndead",
246+
},
247+
#mods
248+
231249
#skill ColdAegis
232250
#flags spell
233251
fromItem = true,
@@ -1154,6 +1172,17 @@ local skills, mod, flag, skill = ...
11541172
fromItem = true,
11551173
#mods
11561174

1175+
#skill AnimosityUniqueSkill
1176+
#flags spell duration
1177+
fromItem = true,
1178+
statMap = {
1179+
["base_physical_damage_to_deal_per_minute"] = {
1180+
skill("PhysicalDot", nil, { type = "Multiplier", var = "WeepingBlackStacks", limit = 5 }),
1181+
div = 60,
1182+
},
1183+
},
1184+
#mods
1185+
11571186
#skill Twister
11581187
#flags spell projectile duration
11591188
fromItem = true,

src/Modules/ConfigOptions.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,10 @@ return {
674674
{ var = "summonReaperConsumeRecently", type = "check", label = "Reaper Consumed recently?", ifSkill = "Summon Reaper", includeTransfigured = true, apply = function(val, modList, enemyModList)
675675
modList:NewMod("SkillData", "LIST", { key = "enable", value = true }, "Config", { type = "SkillId", skillId = "ReaperConsumeMinionForBuff" })
676676
end },
677+
{ label = "Tears of Rot:", ifSkill = "Tears of Rot" },
678+
{ var = "weepingBlackStacks", type = "count", label = "# of Weeping Black stacks on enemy:", ifSkill = "Tears of Rot", apply = function(val, modList, enemyModList)
679+
modList:NewMod("Multiplier:WeepingBlackStacks", "BASE", val, "Config")
680+
end },
677681
{ label = "Thirst for Blood:", ifSkill = "Thirst for Blood" },
678682
{ var = "nearbyBleedingEnemies", type = "count", label = "# of Nearby Bleeding Enemies:", ifSkill = "Thirst for Blood", apply = function(val, modList, enemyModList)
679683
modList:NewMod("Multiplier:NearbyBleedingEnemies", "BASE", val, "Config" )

src/Modules/ModParser.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3152,6 +3152,7 @@ local specialModList = {
31523152
["trigger level (%d+) (.+) when you reach low life while a unique enemy is in your presence"] = function(num, _, skill) return triggerExtraSkill(skill, num) end,
31533153
["trigger level (%d+) (.+) when energy shield recharge starts while a unique enemy is in your presence"] = function(num, _, skill) return triggerExtraSkill(skill, num) end,
31543154
["trigger level (%d+) (.+) when your ward breaks"] = function(num, _, skill) return triggerExtraSkill(skill, num) end,
3155+
["trigger level (%d+) (.+) once every second"] = function(num, _, skill) return triggerExtraSkill(skill, num) end,
31553156
["triggers level (%d+) (.+)"] = function(num, _, skill) return triggerExtraSkill(skill, num) end,
31563157
["trigger level (%d+) (.+) on attack critical strike against a rare or unique enemy and y?o?u? ?have no mark"] = function(num, _, skill) return triggerExtraSkill(skill, num, {onCrit = true}) end,
31573158
["triggers level (%d+) (.+) when equipped"] = function(num, _, skill) return triggerExtraSkill(skill, num) end,

0 commit comments

Comments
 (0)