diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 3d6516029493cdf325bcf93156371d8784bd6ed9..b8d3c0beff25ae6452e6db638512399b1dcdff1f 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -6987,6 +6987,10 @@ function _M:canSeeNoCache(actor, def, def_pct) end end + if actor.is_doomed_shadow and self:knowTalent(self.T_SHADOW_SENSES) then + return true, 100 + end + -- Blindness means can't see anything if self:attr("blind") then diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua index 8476cee5a817904557a88590524343552da8e76d..da5c50c6f0de03c3b7b115c2dc75acc5a9576036 100644 --- a/game/modules/tome/class/Player.lua +++ b/game/modules/tome/class/Player.lua @@ -631,10 +631,12 @@ function _M:playerFOV() local range = self:getTalentRange(t) local sqsense = range * range - for shadow, _ in pairs(game.party.members) do if shadow.is_doomed_shadow and not shadow.dead then + for shadow, _ in pairs(game.party.members) do if shadow.is_doomed_shadow and not shadow.dead and shadow.x then local arr = shadow.fov.actors_dist local tbl = shadow.fov.actors local act + game.level.map:apply(shadow.x, shadow.y, 0.6) + game.level.map:applyExtraLite(shadow.x, shadow.y) for i = 1, #arr do act = arr[i] if act and not act.dead and act.x and tbl[act] and shadow:canSee(act) and tbl[act].sqdist <= sqsense then