ok, I think I have found the problem, but I have no idea how to solve it. I hope this investigative work helps DG or someone else.
getTarget calls targetGetForPlayer, in GameTargeting.lua
I added a log line:
Code: Select all
--- Player requests a target
-- This method should be called by your Player:getTarget() method, it will handle everything
-- @param typ the targeting parameters
function _M:targetGetForPlayer(typ)
print("[jenx TEST targetGetForPlayer]",typ,self.target.target.x, self.target.target.y, self.target.target.entity)
if self.target.forced then return unpack(self.target.forced) end
if coroutine.running() and typ then
local msg
self.target_no_star_scan = nil
if type(typ) == "string" then msg, typ = typ, nil
elseif type(typ) == "table" then
if typ.default_target then
self.target.target.entity = typ.default_target
self.target_no_star_scan = true
end
msg = typ.msg
end
self:targetMode("exclusive", msg, coroutine.running(), typ)
if typ.immediate_keys then self.target_style = "immediate" end
if typ.nolock then self.target_style = "free" end
if typ.nowarning then self.target_warning = false end
return coroutine.yield()
end
return self.target.target.x, self.target.target.y, self.target.target.entity
end
I did some simple logging showed that for the talents that don't fire, this is returning nil for these three values. This somehow causes the routine that called it to jump out of where it is and to the next automatic talent.
Here is the log, trying to use Eye, Steday, Pinning Shots on auto:
[LOG] Arityawn uses Eye Shot.
[ARCHERY ACQUIRE TARGETS WITH] rough leather sling pouch of iron shots
[PROJECTILE SPEED] :: 10
[jenx TEST targetGetForPlayer] table: 0x0c77d098 nil nil false
[jenx TEST useTalent function data] T_SHOOT table: 0x0a8065a0 nil nil nil nil
[jenx TEST useTalent ab data] activated function: 0x08c3c118 nil nil
[jenx TEST targetGetForPlayer] nil 22 11 table: 0x0a9c6b38
[LOG] Arityawn shoots!
[ARCHERY ACQUIRE TARGETS WITH] rough leather sling pouch of iron shots
[PROJECTILE SPEED] :: 10
[jenx TEST targetGetForPlayer] table: 0x0c7581d0 22 11 table: 0x0a9c6b38
[jenx TEST useTalent function data] T_STEADY_SHOT table: 0x0a8065a0 nil nil nil nil
[jenx TEST useTalent ab data] activated function: 0x08c3fc48 nil nil
[LOG] Arityawn uses Steady Shot.
[ARCHERY ACQUIRE TARGETS WITH] rough leather sling pouch of iron shots
[PROJECTILE SPEED] :: 10
[jenx TEST targetGetForPlayer] table: 0x0c7b53f8 22 11 table: 0x0a9c6b38
[LOG]
[LOG] #UID

0#Dire wolf hits Arityawn for #aaaaaa#8 physical#LAST# damage.