Forráskód Böngészése

修复单位在技能CD期间会一直往目标靠近的坏毛病

大爷 1 éve
szülő
commit
cb4ae6600f

+ 11 - 5
Common/CommonAI/Zone/Instance/InstanceUnit.StateMachine.cs

@@ -3792,8 +3792,8 @@ namespace CommonAI.Zone.Instance
             private bool can_random_skill = true;
             private bool can_attack = true;
 
-            private float min_distance;
-            private float max_distance;
+            private float min_distance = -1;
+            private float max_distance = -1;
 
             /// <summary>
             /// 是否追踪
@@ -3890,8 +3890,6 @@ namespace CommonAI.Zone.Instance
             private void resetMaxMinRange()
             {
                 var expect_skill = ExpectSkillState;
-                min_distance = unit.BodyBlockSize + targetUnit.BodyBlockSize;
-                max_distance = Math.Max(min_distance, unit.BodyBlockSize + targetUnit.BodyHitSize);
                 bool needCheck = true;
                 if (expect_skill == null)
                 {
@@ -3903,9 +3901,15 @@ namespace CommonAI.Zone.Instance
                         needCheck = false;
                     }
                 }
+                if(expect_skill == null )
+                {
+                    expect_skill = unit.DefaultSkillStatus();
+                }
 
                 if (expect_skill != null)
                 {
+                    min_distance = unit.BodyBlockSize + targetUnit.BodyBlockSize;
+                    max_distance = Math.Max(min_distance, unit.BodyBlockSize + targetUnit.BodyHitSize);
                     if (can_random_skill)
                     {
                         if (needCheck == true && !expect_skill.checkTargetRange(targetUnit))
@@ -3928,7 +3932,7 @@ namespace CommonAI.Zone.Instance
                     else if (half > 0)
                     {
                         min_distance = min_distance + half;
-                        max_distance = Math.Max(max_distance, min_distance);
+                        max_distance = Math.Max(skill_distance, min_distance);
                     }
                     else
                     {
@@ -3941,10 +3945,12 @@ namespace CommonAI.Zone.Instance
 
             protected override bool CheckTargetInMaxRange()
             {
+                if (max_distance < 0) return true;
                 return CMath.includeRoundPoint(unit.X, unit.Y, max_distance, targetUnit.X, targetUnit.Y);
             }
             protected override bool CheckTargetInMinRange()
             {
+                if(min_distance < 0) return true;
                 return CMath.includeRoundPoint(unit.X, unit.Y, min_distance, targetUnit.X, targetUnit.Y);
             }
             protected virtual bool OnEndAdjustKeepRange(StateMove m)

+ 14 - 0
XmdsVSPlugins/XmdsCommonSkill/XmdsCommonSkill.csproj

@@ -145,6 +145,20 @@
     <Compile Include="Plugin\base\JSGPlayerCardSkillBase.cs" />
     <Compile Include="Plugin\FunctionEvent\base\XmdsBattleFunctionEvent_9003.cs" />
     <Compile Include="Plugin\PassiveSkills\other\Other_100105.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_101.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_102.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_103.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_104.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_105.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_106.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_107.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_108.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_109.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_110.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_111.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_112.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_113.cs" />
+    <Compile Include="Plugin\Skills\BossNormalAtk\Boss_114.cs" />
     <Compile Include="Plugin\Skills\CardSkill\00_base\CardSkill_XuanWuBase.cs" />
     <Compile Include="Plugin\Skills\CardSkill\00_base\CardSkill_LiangYiBase.cs" />
     <Compile Include="Plugin\Skills\CardSkill\00_base\CardSkill_BaiHuBase.cs" />