Add decompiled Lua AI scripts + full datasheet findings report
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
REGISTER_GOAL(GOAL_COMMON_NonBattleAct, "NonBattleAct")
|
||||
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_NonBattleAct, 0, "敵に反応する距離【m】", 0)
|
||||
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_NonBattleAct, 1, "敵いたら終了?", 0)
|
||||
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_NonBattleAct, 2, "走る?", 0)
|
||||
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_NonBattleAct, 3, "旋回【TYPE】", 0)
|
||||
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_NonBattleAct, 4, "巣の到着距離【m】", 0)
|
||||
REGISTER_DBG_GOAL_PARAM(GOAL_COMMON_NonBattleAct, 5, "待機時ゴール", 0)
|
||||
REGISTER_GOAL_UPDATE_TIME(GOAL_COMMON_NonBattleAct, 0.1, 0.2)
|
||||
function NonBattleAct_Activate(ai, goal)
|
||||
local movePointNo = ai:GetMovePointNumber()
|
||||
if 0 <= movePointNo then
|
||||
local isWalk = goal:GetParam(2)
|
||||
if isWalk == 0 then
|
||||
isWalk = true
|
||||
else
|
||||
isWalk = false
|
||||
end
|
||||
goal:AddSubGoal(GOAL_COMMON_MoveToSomewhere, goal:GetLife(), POINT_MOVE_POINT, AI_DIR_TYPE_CENTER, 0, TARGET_SELF, isWalk)
|
||||
else
|
||||
local pointDist = ai:GetMovePointEffectRange()
|
||||
local turn_tgt = goal:GetParam(3)
|
||||
local arrive_dist = goal:GetParam(4)
|
||||
if arrive_dist == 0 then
|
||||
arrive_dist = 5
|
||||
end
|
||||
if arrive_dist < pointDist then
|
||||
local isEnableForceBattleGoal = goal:GetParam(6)
|
||||
goal:AddSubGoal(GOAL_COMMON_BackToHome, goal:GetLife(), 0, isEnableForceBattleGoal, 0, 0)
|
||||
elseif goal:IsExistParam(5) then
|
||||
local wait_goalID = goal:GetParam(5)
|
||||
if 0 < wait_goalID then
|
||||
goal:AddSubGoal(wait_goalID, goal:GetLife())
|
||||
else
|
||||
goal:AddSubGoal(GOAL_COMMON_Stay, goal:GetLife(), 0, turn_tgt)
|
||||
end
|
||||
else
|
||||
goal:AddSubGoal(GOAL_COMMON_Stay, goal:GetLife(), 0, turn_tgt)
|
||||
end
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
function NonBattleAct_Update(ai, goal)
|
||||
return GOAL_RESULT_Continue
|
||||
end
|
||||
|
||||
function NonBattleAct_Terminate(ai, goal)
|
||||
return
|
||||
end
|
||||
|
||||
function NonBattleAct_Interupt(ai, goal)
|
||||
local isDamaged = false
|
||||
if not isDamaged then
|
||||
isDamaged = ai:IsInterupt(INTERUPT_Damaged_Stranger)
|
||||
end
|
||||
if not isDamaged then
|
||||
isDamaged = ai:IsInterupt(INTERUPT_Damaged)
|
||||
end
|
||||
if isDamaged then
|
||||
goal:SetTimer(1, 99999)
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
return
|
||||
Reference in New Issue
Block a user