I played some Archmage and I made an interesting madness build,

but I decided to call for a mechanism change on what I used.

My main "problem" is with the new 1.6 Disruption Shield, what can offer

almost total invulnerability for the player even on Madness, if the player

finds and uses the talents & items that is required to reach demi-God mode.

The main issue is with:

Code: Select all

```
function _M:getTalentCooldown(t, base)
if not t.cooldown then return end
local cd = t.cooldown
if type(cd) == "function" then cd = cd(self, t) end
if not cd then return end
-- Can not touch this cooldown
if t.fixed_cooldown or base then return cd end
if t.type[1] == "inscriptions/infusions" then
local eff = self:hasEffect(self.EFF_INFUSION_COOLDOWN)
if eff and eff.power then cd = cd + eff.power end
elseif t.type[1] == "inscriptions/runes" then
local eff = self:hasEffect(self.EFF_RUNE_COOLDOWN)
if eff and eff.power then cd = cd + eff.power end
elseif t.type[1] == "inscriptions/taints" then
local eff = self:hasEffect(self.EFF_TAINT_COOLDOWN)
if eff and eff.power then cd = cd + eff.power end
elseif self:attr("arcane_cooldown_divide") and (t.type[1] == "spell/arcane" or t.type[1] == "spell/aether") then
cd = math.ceil(cd / self.arcane_cooldown_divide)
end
if self.talent_cd_reduction[t.id] then cd = cd - self.talent_cd_reduction[t.id] end
if self.talent_cd_reduction.all then cd = cd - self.talent_cd_reduction.all end
if self.talent_cd_reduction.allpct then cd = cd - math.ceil(self.talent_cd_reduction.allpct * cd) end
```

This means, in cooldown reduction, the apply order is:

1, Arcane Cooldown Divide

2, Cooldown reduction from items

3, Spell cooldown reduction

So, i activate Aether Avatar, what makes Disruption Shield's coldown from 30 to 10

And i wear Hat of the Arcane Understanding, that makes the cooldown of Disruption Shield to 0

I played as a ghoul (for flat damage cap)

And i played as a Technomancer with Occult Technomancy (for ~350 mana regen per turn

and for the nice dmg + utility that offers ofc)

I could maintain Aether Avatar continously so I had a 0 turn cooldown instant shield all the time.

This shield is strong enough (paired with ghoul resilience), but it also stronger because 50% of my

mana is also functioning as a damage reductor.

But i had ~350 mana regen per turn, and any time, my damage shield was weakened, i could just

switch off and on instantly to regain it's full power.

Any time, my shield crumbled, I just reactivate it again, and next turn i will have more than 50% mana

due to my 350 mana regen.

So, this combo is really nice, really strong, but i think, the order in the code,

how cooldown reductors are applied should be changed to prevent this to happen.