@@ -1020,6 +1020,15 @@ local preFlagList = {
1020
1020
[" ^enemies (%a+) by you have " ] = function (cond )
1021
1021
return { tag = { type = " Condition" , var = cond :gsub (" ^%a" , string.upper ) }, applyToEnemy = true }
1022
1022
end ,
1023
+ [" ^while a pinnacle atlas boss is in your presence, enemies you've hit recently have " ] = function (cond )
1024
+ return { playerTagList = { { type = " Condition" , var = " HitRecently" }, { type = " ActorCondition" , actor = " enemy" , var = " RareOrUnique" } }, applyToEnemy = true }
1025
+ end ,
1026
+ [" ^while a unique enemy is in your presence, enemies you've hit recently have " ] = function (cond )
1027
+ return { playerTagList = { { type = " Condition" , var = " HitRecently" }, { type = " ActorCondition" , actor = " enemy" , var = " PinnacleBoss" } }, applyToEnemy = true }
1028
+ end ,
1029
+ [" ^enemies you've hit recently have " ] = function (cond )
1030
+ return { playerTag = { type = " Condition" , var = " HitRecently" }, applyToEnemy = true }
1031
+ end ,
1023
1032
[" ^hits against enemies (%a+) by you have " ] = function (cond )
1024
1033
return { tag = { type = " ActorCondition" , actor = " enemy" , var = cond :gsub (" ^%a" , string.upper ) } }
1025
1034
end ,
@@ -2518,6 +2527,7 @@ local specialModList = {
2518
2527
[" your shocks can increase damage taken by up to a maximum of (%d+)%%" ] = function (num ) return { mod (" ShockMax" , " OVERRIDE" , num ) } end ,
2519
2528
[" %+(%d+)%% to maximum effect of shock" ] = function (num ) return { mod (" ShockMax" , " BASE" , num ) } end ,
2520
2529
[" your elemental damage can shock" ] = { flag (" ColdCanShock" ), flag (" FireCanShock" ) },
2530
+ [" your fire damage can shock" ] = { flag (" FireCanShock" ) },
2521
2531
[" all y?o?u?r? ?damage can freeze" ] = { flag (" PhysicalCanFreeze" ), flag (" LightningCanFreeze" ), flag (" FireCanFreeze" ), flag (" ChaosCanFreeze" ) },
2522
2532
[" all damage with maces and sceptres inflicts chill" ] = { mod (" EnemyModifier" , " LIST" , { mod = flag (" Condition:Chilled" ) }, { type = " Condition" , var = " UsingMace" }) },
2523
2533
[" your cold damage can ignite" ] = { flag (" ColdCanIgnite" ) },
@@ -2533,6 +2543,7 @@ local specialModList = {
2533
2543
[" your physical damage can chill" ] = { flag (" PhysicalCanChill" ) },
2534
2544
[" your physical damage can shock" ] = { flag (" PhysicalCanShock" ) },
2535
2545
[" your physical damage can freeze" ] = { flag (" PhysicalCanFreeze" ) },
2546
+ [" your lightning damage can freeze" ] = { flag (" LightningCanFreeze" ) },
2536
2547
[" you always ignite while burning" ] = { mod (" EnemyIgniteChance" , " BASE" , 100 , { type = " Condition" , var = " Burning" }) },
2537
2548
[" critical strikes do not a?l?w?a?y?s?i?n?h?e?r?e?n?t?l?y? freeze" ] = { flag (" CritsDontAlwaysFreeze" ) },
2538
2549
[" cannot inflict elemental ailments" ] = {
@@ -4733,13 +4744,14 @@ local function parseMod(line, order)
4733
4744
elseif misc .addToMinion then
4734
4745
-- Minion modifiers
4735
4746
for i , effectMod in ipairs (modList ) do
4736
- local tagList = { misc .playerTag }
4747
+ local tagList = { }
4748
+ if misc .playerTag then t_insert (tagList , misc .playerTag ) end
4749
+ if misc .addToMinionTag then t_insert (tagList , misc .addToMinionTag ) end
4737
4750
if misc .playerTagList then
4738
- for i , tag in ipairs (misc .playerTagList ) do
4739
- tagList [ i ] = tag
4751
+ for _ , tag in ipairs (misc .playerTagList ) do
4752
+ t_insert ( tagList , tag )
4740
4753
end
4741
4754
end
4742
- t_insert (tagList , misc .addToMinionTag )
4743
4755
modList [i ] = mod (" MinionModifier" , " LIST" , { mod = effectMod }, unpack (tagList ))
4744
4756
end
4745
4757
elseif misc .addToSkill then
@@ -4749,12 +4761,19 @@ local function parseMod(line, order)
4749
4761
end
4750
4762
elseif misc .applyToEnemy then
4751
4763
for i , effectMod in ipairs (modList ) do
4764
+ local tagList = { }
4765
+ if misc .playerTag then t_insert (tagList , misc .playerTag ) end
4766
+ if misc .playerTagList then
4767
+ for _ , tag in ipairs (misc .playerTagList ) do
4768
+ t_insert (tagList , tag )
4769
+ end
4770
+ end
4752
4771
local newMod = effectMod
4753
4772
if effectMod [1 ] and type (effectMod ) == " table" and misc .actorEnemy then
4754
4773
newMod = copyTable (effectMod )
4755
4774
newMod [1 ][" actor" ] = " enemy"
4756
4775
end
4757
- modList [i ] = mod (" EnemyModifier" , " LIST" , { mod = newMod })
4776
+ modList [i ] = mod (" EnemyModifier" , " LIST" , { mod = newMod }, unpack ( tagList ) )
4758
4777
end
4759
4778
end
4760
4779
end
0 commit comments