[1.6 & 1.7] Disruption Shield granting invulnerability

All development conversation and discussion takes place here

Moderator: Moderator

Post Reply
Posts: 117
Joined: Sat Oct 05, 2019 8:55 pm

[1.6 & 1.7] Disruption Shield granting invulnerability

#1 Post by Tradewind_Rider »

Hey, hi!

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)

	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.

Master of Eyal
Posts: 10747
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen

Re: [1.6 & 1.7] Disruption Shield granting invulnerability

#2 Post by darkgod »

"fixed" :)
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Post Reply