he's (ai) doing some stuff and i think its cool

This commit is contained in:
neckrat 2026-04-15 17:29:16 +03:00
parent a16b279e44
commit 85883dfa7d

View File

@ -86,6 +86,7 @@ local function circleVectors(center, radius)
return vecs return vecs
end end
--- ищет пути к ближайшему персу в определённом радиусе
--- @param owner Character --- @param owner Character
--- @param radius integer здесь мы должны сами определять, сколько должны не доходить до персонажа (1 <= n) --- @param radius integer здесь мы должны сами определять, сколько должны не доходить до персонажа (1 <= n)
--- @return Vec3|nil --- @return Vec3|nil
@ -112,18 +113,22 @@ local aiNature = {
["dev_warrior"] = function(self) ["dev_warrior"] = function(self)
return function(callback) -- почему так, описано в Task return function(callback) -- почему так, описано в Task
self.owner:try(Tree.behaviors.spellcaster, function(spellB) self.owner:try(Tree.behaviors.spellcaster, function(spellB)
self.target = pathToClosestCharacter(self.owner, 2) self.target = pathToClosestCharacter(self.owner, 1)
local attackTarget = closestCharacter(self.owner):has(Tree.behaviors.positioned)
if not attackTarget then return end
local task1 = spellB.spellbook[1]:cast(self.owner, self.target) local task1 = spellB.spellbook[1]:cast(self.owner, self.target)
if task1 then if task1 then
task1( task1(
function() function()
-- здесь мы оказываемся после того, как сходили в первый раз -- здесь мы оказываемся после того, как сходили в первый раз
local newTarget = Vec3 { 1, 1 } print('[AI]: я походил')
local task2 = spellB.spellbook[1]:cast(self.owner, newTarget) local task2 = spellB.spellbook[3]:cast(self.owner, attackTarget.position)
if task2 then if task2 then
-- дергаем функцию после завершения хода -- дергаем функцию после завершения хода
print('[AI]: и ударил')
task2(callback) task2(callback)
else else
print('[AI]: чёт не бьётся')
callback() callback()
end end
end end