Browse Source

修改bug

DESKTOP-FB72PO8\Administrator 2 weeks ago
parent
commit
498074cb0c
22 changed files with 250 additions and 40 deletions
  1. 8 0
      Assets/Res/Config/FabaoConfig.json
  2. 6 0
      Assets/Scripts/GameData/ExcelConfig/FabaoConfig.cs
  3. 9 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1008.cs
  4. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1008.cs.meta
  5. 9 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1009.cs
  6. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1009.cs.meta
  7. 3 3
      Assets/Scripts/GameLogic/Combat/CombatTool/SceneTool/CombatSenceController.cs
  8. 39 26
      Assets/Scripts/GameLogic/Combat/CombatTool/SceneTool/CombatSencePath.cs
  9. 16 7
      Assets/Scripts/GameLogic/Combat/Hero/CombatMagicWeaponEntity.cs
  10. 1 1
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901001.cs
  11. 0 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901001.cs.meta
  12. 1 1
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901002.cs
  13. 0 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901002.cs.meta
  14. 1 1
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901003.cs
  15. 0 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901003.cs.meta
  16. 65 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901004.cs
  17. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901004.cs.meta
  18. 72 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901005.cs
  19. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901005.cs.meta
  20. 1 1
      Assets/Scripts/GameUI/UI/CombatPanel/CombatPanel.cs
  21. 7 0
      Assets/Scripts/GameUI/UI/CombatPanel/MagicWeaponWidget.cs
  22. BIN
      Excel2Json/Excel/FabaoConfig.xlsx

+ 8 - 0
Assets/Res/Config/FabaoConfig.json

@@ -3,6 +3,7 @@
     {
       "ID": 10001,
       "ItemID": 10020,
+      "name": "玉瓶",
       "Type": 1,
       "magicAttribute": 1,
       "model": "fb_yuping",
@@ -51,6 +52,7 @@
     {
       "ID": 10002,
       "ItemID": 10021,
+      "name": "破天斧",
       "Type": 1,
       "magicAttribute": 1,
       "model": "fb_dao1",
@@ -97,6 +99,7 @@
     {
       "ID": 10003,
       "ItemID": 10022,
+      "name": "神龙鼎",
       "Type": 1,
       "magicAttribute": 1,
       "model": "fb_ding1",
@@ -143,6 +146,7 @@
     {
       "ID": 10004,
       "ItemID": 10023,
+      "name": "九幽镇魂瓶",
       "Type": 1,
       "magicAttribute": 1,
       "model": "fb_huohulu",
@@ -189,6 +193,7 @@
     {
       "ID": 10005,
       "ItemID": 10024,
+      "name": "天殇血刃剑",
       "Type": 1,
       "magicAttribute": 1,
       "model": "fb_jian1",
@@ -235,6 +240,7 @@
     {
       "ID": 10006,
       "ItemID": 10025,
+      "name": "玉瓶",
       "Type": 1,
       "magicAttribute": 1,
       "model": "fb_jian2",
@@ -281,6 +287,7 @@
     {
       "ID": 10007,
       "ItemID": 10026,
+      "name": "五龙轮",
       "Type": 1,
       "magicAttribute": 1,
       "model": "fb_wulonglun",
@@ -327,6 +334,7 @@
     {
       "ID": 10008,
       "ItemID": 10027,
+      "name": "琉璃宝塔",
       "Type": 1,
       "magicAttribute": 1,
       "model": "fb_linglongta",

+ 6 - 0
Assets/Scripts/GameData/ExcelConfig/FabaoConfig.cs

@@ -26,6 +26,12 @@ public int ID;
 public int ItemID;
 
 
+		/// <summary>
+		///法宝名称
+		/// </summary>
+public string name;
+
+
 		/// <summary>
 		///法宝类型 1攻击型 2防御型
 		/// </summary>

+ 9 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1008.cs

@@ -0,0 +1,9 @@
+namespace GameLogic.Combat.Buff
+{
+    /// <summary>
+    /// 封禁
+    /// </summary>
+    public class b_1008 : BuffBasic
+    {
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1008.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 72d602da1a104577833a90593e452e0a
+timeCreated: 1745826786

+ 9 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1009.cs

@@ -0,0 +1,9 @@
+namespace GameLogic.Combat.Buff
+{
+    /// <summary>
+    /// 五行混乱  敌人的功法每次使用功法都将使用最低灵根属性作为伤害计算
+    /// </summary>
+    public class b_1009 : BuffBasic
+    {
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1009.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: a89c191a3d794b058322159b24d9255a
+timeCreated: 1745826950

+ 3 - 3
Assets/Scripts/GameLogic/Combat/CombatTool/SceneTool/CombatSenceController.cs

@@ -85,11 +85,11 @@ namespace GameLogic.Combat.CombatTool
         private CombatSencePath InitBesselPath(Vector3 satrtPos, float offx)
         {
             CombatSencePath besselPath = new CombatSencePath();
-            Vector3 dir = Quaternion.LookRotation(lasetDir) * new Vector3(offx*0.3f, 0, 1);
+            Vector3 dir = Quaternion.LookRotation(lasetDir) * new Vector3(offx, 0, 1);
             Vector3 target = satrtPos + dir.normalized * maxD;
-            Vector3 dir2 = Quaternion.LookRotation(lasetDir) * new Vector3(0, 0, 1);
+            Vector3 dir2 = Quaternion.LookRotation(lasetDir) * new Vector3(offx*-1, 0, 1);
             dir2 = dir2.normalized;
-            Vector3 centre = satrtPos + dir2.normalized * maxD*0.7f;
+            Vector3 centre = satrtPos + dir2.normalized * maxD;
             // if (offx == 0)
             {
                 besselPath.SetPos(satrtPos, centre, target);

+ 39 - 26
Assets/Scripts/GameLogic/Combat/CombatTool/SceneTool/CombatSencePath.cs

@@ -1,6 +1,5 @@
 using System;
 using System.Collections.Generic;
-using Core.Utility;
 using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Combat.CombatTool.SceneTool;
@@ -11,44 +10,30 @@ namespace GameLogic.Combat.CombatTool
     [Serializable]
     public class CombatSencePath : CObject
     {
-        public BesselPath BesselPath;
-
-        // public Vector3 a;
-        public Vector3 b
-        {
-            get { return BesselPath.controlPoints[3]; }
-        }
-
-        // public Vector3 Centre;
+        public Vector3 a;
+        public Vector3 b;
+        public Vector3 Centre;
         public bool isCentre;
 
         public float reclaimTime;
 
         public List<SceneDecoration> allPool = new List<SceneDecoration>();
 
-        public float len
-        {
-            get { return BesselPath.allDis; }
-        }
+        public float len;
 
         public void SetPos(Vector3 startPos, Vector3 target)
         {
-            BesselPath = new BesselPath();
-            BesselPath.controlPoints.Add(startPos);
-            BesselPath.controlPoints.Add(startPos);
-            BesselPath.controlPoints.Add(target);
-            BesselPath.controlPoints.Add(target);
+            a = startPos;
+            b = target;
             isCentre = false;
             SetLen();
         }
 
         public void SetPos(Vector3 startPos, Vector3 centre, Vector3 target)
         {
-            BesselPath = new BesselPath();
-            BesselPath.controlPoints.Add(startPos);
-            BesselPath.controlPoints.Add(startPos);
-            BesselPath.controlPoints.Add(centre);
-            BesselPath.controlPoints.Add(target);
+            a = startPos;
+            Centre = centre;
+            b = target;
             isCentre = true;
             SetLen();
         }
@@ -56,12 +41,40 @@ namespace GameLogic.Combat.CombatTool
 
         private void SetLen()
         {
-            BesselPath.SetLengthAtT();
+            float a = 1 / 100f;
+            len = 0;
+            for (int i = 0; i < 100; i++)
+            {
+                Vector3 p = GetValue(i * a);
+                Vector3 p2 = GetValue((i + 1) * a);
+                len += Vector3.Distance(p, p2);
+            }
         }
 
         public Vector3 GetValue(float t)
         {
-            return BesselPath.CalculatePoint(t);
+            float t1 = t;
+            if (t1 > 1)
+            {
+                t1 = 1;
+            }
+
+            if (t1 < 0)
+            {
+                t1 = 0;
+            }
+
+
+            if (isCentre)
+            {
+                Vector3 p1 = Vector3.Lerp(a, Centre, t1);
+                Vector3 p2 = Vector3.Lerp(p1, b, t1);
+                return p2;
+            }
+            else
+            {
+                return Vector3.Lerp(a, b, t1);
+            }
         }
 
         public void Update(float t)

+ 16 - 7
Assets/Scripts/GameLogic/Combat/Hero/CombatMagicWeaponEntity.cs

@@ -24,9 +24,12 @@ namespace GameLogic.Combat.Hero
         public float cd = 2;
 
         public WuXingType WuXingType;
-        public FaBaoInfo FaBaoInfo {
-            get { return _faBaoInfo;}
+
+        public FaBaoInfo FaBaoInfo
+        {
+            get { return _faBaoInfo; }
         }
+
         private FaBaoInfo _faBaoInfo;
 
         public float HpBl
@@ -118,7 +121,8 @@ namespace GameLogic.Combat.Hero
             // SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(id);
             SkillInfo skillInfo = new SkillInfo(id, 1);
             CombatHeroSkillControl.AddSkill(skillInfo);
-
+            BuffControl = new BuffControl();
+            BuffControl.Init(this);
 
             if (CombatAIBasic == null)
             {
@@ -159,6 +163,7 @@ namespace GameLogic.Combat.Hero
                 return;
             }
 
+
             _HpBl = _faBaoInfo.FabaoPowerupConfig.Power;
             cd = magicWeaponConfig.cd;
 
@@ -170,13 +175,17 @@ namespace GameLogic.Combat.Hero
             combatHeroTimeLineControl.Update(t);
             CombatAIBasic?.Update(t);
             CombatHeroSkillControl?.Update(t);
+            BuffControl?.Update(t);
             if (CombatAIBasic.CurrState.GetType() == typeof(MagicWeapomDormancyState))
             {
-                cd -= t;
-
-                if (_magicWeaponControl.isAutoUse)
+                b_1008 b1008 = BuffControl.GetBuffBasicForType<b_1008>();
+                if (b1008 == null)
                 {
-                    UseMagicWeapon();
+                    cd -= t;
+                    if (_magicWeaponControl.isAutoUse)
+                    {
+                        UseMagicWeapon();
+                    }
                 }
             }
         }

+ 1 - 1
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901001.cs → Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901001.cs

@@ -9,7 +9,7 @@ namespace GameLogic.Combat.Skill.MagicSkill
     /// <summary>
     /// 法宝技能
     /// </summary>
-    public class FS901001 : MagicSkillBasic
+    public class S901001 : MagicSkillBasic
     {
         private CombatHeroEntity target;
 

+ 0 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901001.cs.meta → Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901001.cs.meta


+ 1 - 1
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901002.cs → Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901002.cs

@@ -8,7 +8,7 @@ namespace GameLogic.Combat.Skill.MagicSkill
     /// <summary>
     /// 法宝技能 翡翠葫芦 战场区域形成一个域。敌人的功法弹道进入域后将降低敌人的功法弹道速度
     /// </summary>
-    public class FS901002 : MagicSkillBasic, ITriggerEntity
+    public class S901002 : MagicSkillBasic, ITriggerEntity
     {
         private List<FxAILogicBasic> _fxAILogicBasics = new List<FxAILogicBasic>();
         private float _currTime;

+ 0 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901002.cs.meta → Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901002.cs.meta


+ 1 - 1
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901003.cs → Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901003.cs

@@ -10,7 +10,7 @@ namespace GameLogic.Combat.Skill.MagicSkill
     /// <summary>
     /// 玄龟盾:前方形成一个土系防御盾,抵挡敌人伤害
     /// </summary>
-    public class FS901003 : MagicSkillBasic, ITriggerEntity, IBarrier
+    public class S901003 : MagicSkillBasic, ITriggerEntity, IBarrier
     {
         public string tag { get; }
 

+ 0 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901003.cs.meta → Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901003.cs.meta


+ 65 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901004.cs

@@ -0,0 +1,65 @@
+using System.Collections.Generic;
+using Fort23.Core;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill.MagicSkill
+{
+    /// <summary>
+    /// 对敌人照成伤害,并随机封锁敌人{0}个法宝,让其{1}秒内不能使用和不能充能
+    /// </summary>
+    public class S901004 : MagicSkillBasic
+    {
+        private CombatHeroEntity target;
+
+        protected override void ProMagicUseSkill()
+        {
+            // StraightLineShow straightLineShow = new StraightLineShow();
+            // straightLineShow.Init(this);
+            CombatHeroEntity[] allHero =
+                CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy);
+            if (allHero == null || allHero.Length <= 0)
+            {
+                SkillPlayFinish();
+                return;
+            }
+
+
+            CombatHeroEntity combatHeroEntity = allHero[0];
+            CombatMagicWeaponEntity[] AllMagicWeapon = combatHeroEntity.MagicWeaponControl.AllMagicWeapon;
+
+            List<CombatMagicWeaponEntity> currAllMagicWeapon = new List<CombatMagicWeaponEntity>();
+            currAllMagicWeapon.AddRange(AllMagicWeapon);
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                if (currAllMagicWeapon.Count > 0)
+                {
+                    int index = Random.Range(0, currAllMagicWeapon.Count);
+                    BuffInfo buffInfo = BuffInfo.GetBuffInfo(10081, effectValue[1], 1);
+                    CombatMagicWeaponEntity combatMagicWeaponEntity = currAllMagicWeapon[index];
+                    combatMagicWeaponEntity.BuffControl.AddBuff(combatHeroEntity.MagicWeaponControl.combatHeroEntity,
+                        buffInfo);
+                    currAllMagicWeapon.RemoveAt(index);
+                }
+            }
+
+            SkillPlayFinish();
+            // target = allHero[0];
+            // MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(allHero[0], Finish);
+            //
+            // SetMagicAttShowBasic(magicAttShowBasic);
+        }
+
+        // protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
+        //     TimeLineEventLogicBasic timeLineEventLogicBasic)
+        // {
+        //     ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];
+        //     lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();
+        //     return lifetCycleHitPoints;
+        // }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901004.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 070a78e679774791bc6d92633cde2727
+timeCreated: 1745826110

+ 72 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901005.cs

@@ -0,0 +1,72 @@
+using Fort23.Core;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill.MagicSkill
+{
+    /// <summary>
+    /// 对敌人照成伤害,使敌人五行混乱。敌人的功法每次使用功法都将使用最低灵根属性作为伤害计算,持续{0}秒
+    /// </summary>
+    public class S901005: MagicSkillBasic
+    {
+        private CombatHeroEntity target;
+
+        protected override void ProMagicUseSkill()
+        {
+            // StraightLineShow straightLineShow = new StraightLineShow();
+            // straightLineShow.Init(this);
+            CombatHeroEntity[] allHero =
+                CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy);
+            if (allHero == null || allHero.Length <= 0)
+            {
+                SkillPlayFinish();
+                return;
+            }
+
+            target = allHero[0];
+            MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(allHero[0], Finish);
+
+            SetMagicAttShowBasic(magicAttShowBasic);
+        }
+
+        protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(TimeLineEventLogicBasic timeLineEventLogicBasic)
+        {
+            ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];
+            lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();
+            return lifetCycleHitPoints;
+        }
+
+        private void Finish()
+        {
+
+            BuffInfo buffInfo = BuffInfo.GetBuffInfo(10091, effectValue[0], 1);
+
+            target.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            // Debug.Log("法宝对敌人照成伤害");
+            // ILifetCycleHitPoint lifetCycleHitPoint = target.GetMainHotPoin<ILifetCycleHitPoint>();
+            // if (lifetCycleHitPoint == null)
+            // {
+            //     return;
+            // }
+            //
+            // BetterList<ILifetCycleHitPoint> cBetterList = new BetterList<ILifetCycleHitPoint>(1);
+            // cBetterList.Add(lifetCycleHitPoint);
+            // ActivationTimeLineData("gongji", currTarget: cBetterList);
+            // SkillPlayFinish();
+            //
+            // HarmReturnInfo harmReturnInfo = CObjectPool.Instance.Fetch<HarmReturnInfo>();
+            // harmReturnInfo.source = CombatHeroEntity;
+            // harmReturnInfo.target = target.GetMainHotPoin<CombatHeroHitPoint>();
+            // harmReturnInfo.att = 200;
+            // harmReturnInfo.attType = AttType.Normal;
+            // harmReturnInfo.harmType = HarmType.Default;
+            // harmReturnInfo.triggerData = triggerData;
+            // target.HeroHurt(harmReturnInfo);
+            // CombatCalculateTool.Instance.Harm(CombatHeroEntity, lifetCycleHitPoint as CombatHeroHitPoint, 200, AttType.Normal, triggerData,
+            //     HarmType.Default);
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S901005.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 455bc37e4b174a2a9f1c1fa1748f4269
+timeCreated: 1745827018

+ 1 - 1
Assets/Scripts/GameUI/UI/CombatPanel/CombatPanel.cs

@@ -83,7 +83,7 @@ namespace Fort23.Mono
             }
 
             // combatHeroEntity.dotPos+
-            faBaoSkillNameWidget.ShowWidget(combatMagicWeaponEntity.FaBaoInfo.FabaoConfig.model, pos);
+            faBaoSkillNameWidget.ShowWidget(combatMagicWeaponEntity.FaBaoInfo.FabaoConfig.name, pos);
             // useQuqueSkill.transform.SetAsLastSibling();
         }
 

+ 7 - 0
Assets/Scripts/GameUI/UI/CombatPanel/MagicWeaponWidget.cs

@@ -1,3 +1,4 @@
+using GameLogic.Combat.Buff;
 using GameLogic.Combat.Hero;
 
 namespace Fort23.Mono
@@ -34,6 +35,12 @@ namespace Fort23.Mono
                 {
                     return;
                 }
+                b_1008 b1008=  combatMagicWeaponEntity.BuffControl.GetBuffBasicForType<b_1008>();
+                if (b1008 != null)
+                {
+                    return;
+                }
+
                 combatMagicWeaponEntity.UseMagicWeapon();
             });
         }

BIN
Excel2Json/Excel/FabaoConfig.xlsx