Ai.BirdStacked.Mode={
------------------.Appear = "Appear"
------------------.Escape = "Escape"
------------------.Peace = "Peace"
------------------.Attack = "Attack"}
Ai.BirdStacked.Range ={
------------------.Far = 18
------------------.Middle = 7.5
------------------.Near = 4.5
------------------.Dash = 10}
Ai.BirdStacked.Fixed ={
------------------.MinHeight = 0.1
------------------.MaxHeight = 0.3
------------------.ConditionAnger = "BirdDharma:Anger"}
Ai.BirdStacked.SearchCollision.Sight_01={
------------------.Collision = {Shape = "Sphere", Radius = 40}
------------------.Offset = {X = 0,Y = 0,Z = 0}
------------------.Type = "Sight"
------------------.Active = true}
Ai.BirdStacked.Rule ={
------------------.Thinking = "Thinking" #函数展开 45-214 行
------------------.Find = "Find" #函数展开 216-219
------------------.Approach = "Approach" #函数展开 296-306
------------------.Move = "Move" #函数展开 307-415
------------------.AttackNear = "AttackNear" #函数展开 629-654
------------------.AttackMiddle = "AttackMiddle" #函数展开 514-627
------------------.AttackFar = "AttackFar" #函数展开 417-511
------------------.ForceWarpTarget = "ForceWarpTarget"}#函数展开 221-295
Ai.BirdStacked.RuleFunc={}
Ai.BirdStacked.Appear ={ #函数展开
------------------}
Ai.BirdStacked.Peace ={ #函数展开
------------------}
Ai.BirdStacked.Attack ={ #函数展开 ,会Ai.BirdStacked.RuleFunc[L2_89]并计算cool time
------------------}
Ai.BirdStacked.OnOrder.ActionCancel ={
------------------.OnPathFindFailed #函数展开
------------------.ActionCancel} #函数展开 719-789
Ai.BirdStacked._getMoveHeight ={ #函数展开
------------------}
Ai.BirdStacked.GetWaitTime ={ #函数展开
------------------}
Ai.BirdStacked.GetCoolTime ={ #函数展开
------------------}
Ai.BirdStacked.OnCancel ={ #函数展开 ,取消q锁定
------------------}
Ai.BirdStacked._rotate ={ #函数展开 Ai.GetVariable(A1_119目标坐标, set(get到需要的角度距离)
------------------}
Ai.BirdStacked.DebugFunction = 无
======================
.ActionCancel={
-------------Ai.TargetDistance(A1_96)
-------------Ai.GetVariable(A1_96,"ComboNum")
------------ Ai.GetVariable(A1_96,"ComboEnable")
-------------Ai.GetVariable(A1_96,"ComboAction")
-------------if ComboEnable ==True:
Ai.GetTargetAwayPosition(A1_96,0,false)
Ai.GetToPositionDegreeXZ(A1_96,Ai.GetTargetAwayPosition,A1_96,0)
Ai.ToVector3(Ai.GetTargetAwayPosition,A1_96,0
if 2>Ai.GetVariable(A1_96,"ComboNum") then
if Ai.TargetDistance(A1_96) < Ai.BirdStacked.Range.Near也就是4.5米 then
if Ai.IsCondition(A1_96, Ai.BirdStacked.Fixed已经被破坏三球.ConditionAnger) == true then
if GetToPositionDegreeXZ in_range(-60,60) and L8_103当前动作 != "AttackCut2" then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "AttackCut2", 1)
elseif GetToPositionDegreeXZ in_range(60,90)U(-90,-60 and L8_103当前动作 != "AttackWave" then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "AttackWave", 1)
elseif GetToPositionDegreeXZ in_range(-60,60) and L8_103当前动作 != "AttackCutStai" then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "AttackCutStai", 1)
elseif L8_103当前动作 != "AttackFlameRadiation" and 60 > Ai.GetRandom(0, 100)60%概率 then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "AttackFlameRadiation", 1)
elseif L8_103当前动作 != "BodyPress" then 注:act_event名BodyPress-动作名AttackImpulse
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "BodyPress", 1)
elseif Ai.IsTargetLinePassable(A1_96) == true then
if Ai.IsCondition(A1_96, Ai.BirdStacked.Fixed.ConditionAnger) == true then
if GetToPositionDegreeXZ in_range(-90,90) and L8_103当前动作 != "AttackCut2" then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "AttackWave", 1)
elseif GetToPositionDegreeXZ in_range(90,120)U(-120,-90 and L8_103当前动作 != "RushHoldAttack" and and Ai.IsUse(A1_96, "RushHoldAttack") then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "RushHoldAttack", 1)
elseif TargetDistance < Ai.BirdStacked.Range.Middle也就是(4.5米,7.5米) and L8_103当前动作 != "AttackHoldSpinJump" and and Ai.IsUse(A1_96, "AttackHoldSpinJump") then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "AttackHoldSpinJump", 1)
elseif GetToPositionDegreeXZ in_range(-30,30) and L8_103当前动作 != "ChargeRush" and 50 > Ai.GetRandom(0, 100)50%概率 then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "ChargeRush", 1)
elseif GetToPositionDegreeXZ in_range(30,60)U(-60,-30 and L8_103当前动作 != "AttackArrow" then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "AttackArrow", 1)
elseif GetToPositionDegreeXZ in_range(30,60)U(-60,-30 and L8_103当前动作 != "AttackDarkerBall" then
Ai.Common.ComboAttack(A0_95, A1_96,ToVector3, "AttackDarkerBall", 1) 放箭后必放追踪暗小球}
======================
.AttackNear ={
-------------Ai.GetTargetPosition
-------------if not Ai.IsCondition(A1_72,破坏状态)and Ai.IsUse(A1_72, "Provocation") then
Ai.Attack(A0_71, A1_72, "Provocation", false)
-------------else:
Ai.SetVariable(A1_72, "cool", Ai.GetTotalDeltaTime()) 给与这个技能 n秒冷却
if Ai.IsCondition(A1_72,破坏状态) then
if Ai.IsUse(A1_72, "RushHoldAttack") then
Ai.Common.AttackLevel(A0_71, A1_72, Ai.ToVector3(GetTargetPosition, A1_72,Ai.GetTargetPosition(A1_72)), "RushHoldAttack")
-------------else
Ai.Common.AttackLevel(A0_71, A1_72, Ai.ToVector3(GetTargetPosition, A1_72,Ai.GetTargetPosition(A1_72)), "AttackCut2")
-------------elseif 30%概率 and Ai.GetVariable(A1_72, "ComboAction")处于连击中的引用动作 ~= "AttackFlameRadiation" then
Ai.Common.AttackLevel(A0_71, A1_72, Ai.ToVector3(GetTargetPosition, A1_72,Ai.GetTargetPosition(A1_72)), "AttackFlameRadiation")
-------------elseif 50%概率 and Ai.GetVariable(A1_72, "ComboAction")处于连击中的引用动作 ~= "BodyPress" then
Ai.Common.AttackLevel(A0_71, A1_72, Ai.ToVector3(GetTargetPosition, A1_72,Ai.GetTargetPosition(A1_72)), "BodyPress")
-------------else
Ai.Common.AttackLevel(A0_71, A1_72, Ai.ToVector3(GetTargetPosition, A1_72,Ai.GetTargetPosition(A1_72)), "AttackCutStai")
Ai.SetVariable(A1_72, "rule", Ai.BirdStacked.Rule.Thinking)处于思考状态}
======================
Thinking={
---------Ai.BirdStacked.GetCoolTime
---------Ai.SetVariable((A1_5,"rule", Ai.BirdStacked.Rule.AttackMiddle) 主要语句}
======================
GetCoolTime(A0_114)={
-------------if Ai.GetQuestEnemyActionLevel() < Ai.Common.ActionLevel.Advance也就是1 then
L1_115 = 4
-------------else
L1_115 = 1.5
-------------return L1_115
??? 输入的A0_114 何用? 调用的2个函数 至少有一个改变了数值}
======================
引用动作
移动系:
step
StepRight
StepLeft
RotateAdjust