44 lines
1.4 KiB
Lua
44 lines
1.4 KiB
Lua
REGISTER_GOAL(GOAL_COMMON_ContinueAttack, "ContinueAttack")
|
|
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_ContinueAttack, 0, "EzState番号", 0)
|
|
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_ContinueAttack, 1, "攻撃対象【Type】", 0)
|
|
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_ContinueAttack, 2, "成功距離【m】", 0)
|
|
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_ContinueAttack, 3, "命中したら成功?", 0)
|
|
function ContinueAttack_Activate(ai, goal)
|
|
local behaviorNo = goal:GetParam(0)
|
|
local target = goal:GetParam(1)
|
|
ai:TurnTo(target)
|
|
ai:SetAttackRequest(behaviorNo)
|
|
goal:AddGoalScopedTeamRecord(COORDINATE_TYPE_Attack, target, 0)
|
|
return
|
|
end
|
|
|
|
function ContinueAttack_Update(ai, goal)
|
|
local behaviorNo = goal:GetParam(0)
|
|
local target = goal:GetParam(1)
|
|
local distType = goal:GetParam(2)
|
|
local successType = goal:GetParam(3)
|
|
local targetDist = ai:GetDist(target)
|
|
if distType <= targetDist then
|
|
return GOAL_RESULT_Failed
|
|
elseif goal:GetLife() <= 0 then
|
|
return GOAL_RESULT_Success
|
|
elseif successType == true and ai:IsHitAttack() == true then
|
|
return GOAL_RESULT_Success
|
|
else
|
|
ai:TurnTo(target)
|
|
ai:SetAttackRequest(behaviorNo)
|
|
return GOAL_RESULT_Continue
|
|
end
|
|
end
|
|
|
|
function ContinueAttack_Terminate(ai, goal)
|
|
return
|
|
end
|
|
|
|
REGISTER_GOAL_NO_INTERUPT(GOAL_COMMON_ContinueAttack, true)
|
|
function ContinueAttack_Interupt(ai, goal)
|
|
return false
|
|
end
|
|
|
|
return
|