diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 794d1fba2486f21acfeb664f1523387bb9b7e29c..6af40442edec35bce7f17b303b7bfff588fcf99e 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -4447,10 +4447,11 @@ function _M:removeEffectsFilter(t, nb, silent, force) local e = self.tempeffect_def[eff_id] if type(t) == "function" then if t(e) then effs[#effs+1] = eff_id end - elseif (not t.type or t.type == e.type) and (not t.status or e.status == t.status) then + elseif (not t.type or t.type == e.type) and (not t.status or e.status == t.status) and (not t.ignore_crosstier or not e.subtype["cross tier"]) then effs[#effs+1] = eff_id end end + table.print(effs) while #effs > 0 and nb > 0 do local eff = rng.tableRemove(effs) diff --git a/game/modules/tome/data/talents/misc/inscriptions.lua b/game/modules/tome/data/talents/misc/inscriptions.lua index 5217b2f9e3b16613bdb5fb6bb5faff359c0759ee..b761ad7e4d7b81baff3462cea946764cc1d72197 100644 --- a/game/modules/tome/data/talents/misc/inscriptions.lua +++ b/game/modules/tome/data/talents/misc/inscriptions.lua @@ -291,7 +291,7 @@ newInscription{ local x, y = self:getTarget(tg) if not x or not y then return nil end self:projectile(tg, x, y, DamageType.INSIDIOUS_POISON, {dam=data.power + data.inc_stat, dur=7, heal_factor=data.heal_factor}, {type="slime"}) - self:removeEffectsFilter({status="detrimental", type="magical"}, 1) + self:removeEffectsFilter({status="detrimental", type="magical", ignore_crosstier=true}, 1) game:playSoundNear(self, "talents/slime") return true end, @@ -613,7 +613,7 @@ newInscription{ self:project(tg, x, y, DamageType.FIREBURN, {dur=5, initial=0, dam=data.power + data.inc_stat}) local _ _, x, y = self:canProject(tg, x, y) game.level.map:particleEmitter(self.x, self.y, tg.radius, "flamebeam", {tx=x-self.x, ty=y-self.y}) - self:removeEffectsFilter({status="detrimental", type="physical"}, 1) + self:removeEffectsFilter({status="detrimental", type="physical", ignore_crosstier=true}, 1) game:playSoundNear(self, "talents/fire") attack_rune(self, t.id) return true @@ -659,7 +659,7 @@ newInscription{ local x, y = self:getTarget(tg) if not x or not y then return nil end self:project(tg, x, y, DamageType.ICE, data.power + data.inc_stat, {type="freeze"}) - self:removeEffectsFilter({status="detrimental", type="mental"}, 1) + self:removeEffectsFilter({status="detrimental", type="mental", ignore_crosstier=true}, 1) game:playSoundNear(self, "talents/ice") attack_rune(self, t.id) return true