Example code works fine if it's moved into a 'do_effect' function, and called via superload, but doesn't properly work as a straight up callback.
Note that calling the 'do_effect' function from a callback also has this same issue.
Edit; this apparently happens with other callbacks.
Same issue is happening to Spellsword's damage procs.
Exp is correctly awarded to the caster of the talent, but due to it being attributed to the talent itself, no #'s pop up for the player, nor does it actually say the source of the damage in the game-log, which could cause some confusion in fights against a class/race which shares a talent with the player.
Code: Select all
local tg = self:getTalentTarget(t)
self:project(tg, self.x, self.y, function(px, py, tg, self)
local target = game.level.map(px, py, Map.ACTOR)
if target and self:reactionToward(target) < 0 then
if not target.dead then
DamageType:get(DamageType.DARKNESS).projector(self, target.x, target.y, DamageType.DARKNESS, t.getDamage(self, t))
end
end
end)
Code: Select all
target = function(self, t)
return {type="ball", range=0, selffire=false, radius=2}
end,