From 1ec983f61def3ad0ee85da87b197259c054644dd Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 25 八月 2025 18:55:44 +0800
Subject: [PATCH] 125 战斗 技能bug修复
---
Main/System/Battle/Skill/SkillBase.cs | 13 ++++++
Main/Config/Configs/SkillConfig.cs | 61 ++++++++++++++----------------
2 files changed, 42 insertions(+), 32 deletions(-)
diff --git a/Main/Config/Configs/SkillConfig.cs b/Main/Config/Configs/SkillConfig.cs
index 60f9918..8c60c4e 100644
--- a/Main/Config/Configs/SkillConfig.cs
+++ b/Main/Config/Configs/SkillConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: Friday, August 22, 2025
+// [ Date ]: Monday, August 25, 2025
//--------------------------------------------------------
using System.Collections.Generic;
@@ -37,7 +37,6 @@
public int[] EffectValues2;
public int EffectID3;
public int[] EffectValues3;
- public int ConnSkill;
public int CoolDownTime;
public int[] EnhanceSkillList;
public int FightPower;
@@ -52,7 +51,7 @@
public int BulletEffectId;
public int BulletPos;
public int BulletPath;
- public int BulletFlyTime;
+ public float BulletFlyTime;
public int ExplosionEffectId;
public int ExplosionPos;
public string SkillMotionName;
@@ -150,17 +149,15 @@
}
}
- int.TryParse(tables[21],out ConnSkill);
+ int.TryParse(tables[21],out CoolDownTime);
- int.TryParse(tables[22],out CoolDownTime);
-
- if (tables[23].Contains("["))
+ if (tables[22].Contains("["))
{
- EnhanceSkillList = JsonMapper.ToObject<int[]>(tables[23]);
+ EnhanceSkillList = JsonMapper.ToObject<int[]>(tables[22]);
}
else
{
- string[] EnhanceSkillListStringArray = tables[23].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+ string[] EnhanceSkillListStringArray = tables[22].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
EnhanceSkillList = new int[EnhanceSkillListStringArray.Length];
for (int i=0;i<EnhanceSkillListStringArray.Length;i++)
{
@@ -168,17 +165,17 @@
}
}
- int.TryParse(tables[24],out FightPower);
+ int.TryParse(tables[23],out FightPower);
- int.TryParse(tables[25],out StartupFrames);
+ int.TryParse(tables[24],out StartupFrames);
- if (tables[26].Contains("["))
+ if (tables[25].Contains("["))
{
- ActiveFrames = JsonMapper.ToObject<int[]>(tables[26]);
+ ActiveFrames = JsonMapper.ToObject<int[]>(tables[25]);
}
else
{
- string[] ActiveFramesStringArray = tables[26].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+ string[] ActiveFramesStringArray = tables[25].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
ActiveFrames = new int[ActiveFramesStringArray.Length];
for (int i=0;i<ActiveFramesStringArray.Length;i++)
{
@@ -186,41 +183,41 @@
}
}
- int.TryParse(tables[27],out RecoveryFrames);
+ int.TryParse(tables[26],out RecoveryFrames);
- int.TryParse(tables[28],out LoopCount);
+ int.TryParse(tables[27],out LoopCount);
- int.TryParse(tables[29],out CastPosition);
+ int.TryParse(tables[28],out CastPosition);
- int.TryParse(tables[30],out CastIndexNum);
+ int.TryParse(tables[29],out CastIndexNum);
- float.TryParse(tables[31],out CastDistance);
+ float.TryParse(tables[30],out CastDistance);
- DamageDivide = JsonMapper.ToObject<int[][]>(tables[32].Replace("(", "[").Replace(")", "]"));
+ DamageDivide = JsonMapper.ToObject<int[][]>(tables[31].Replace("(", "[").Replace(")", "]"));
- int.TryParse(tables[33],out BulletEffectId);
+ int.TryParse(tables[32],out BulletEffectId);
- int.TryParse(tables[34],out BulletPos);
+ int.TryParse(tables[33],out BulletPos);
- int.TryParse(tables[35],out BulletPath);
+ int.TryParse(tables[34],out BulletPath);
- int.TryParse(tables[36],out BulletFlyTime);
+ float.TryParse(tables[35],out BulletFlyTime);
- int.TryParse(tables[37],out ExplosionEffectId);
+ int.TryParse(tables[36],out ExplosionEffectId);
- int.TryParse(tables[38],out ExplosionPos);
+ int.TryParse(tables[37],out ExplosionPos);
- SkillMotionName = tables[39];
+ SkillMotionName = tables[38];
- int.TryParse(tables[40],out EffectId);
+ int.TryParse(tables[39],out EffectId);
- int.TryParse(tables[41],out EffectPos);
+ int.TryParse(tables[40],out EffectPos);
- int.TryParse(tables[42],out EffectType);
+ int.TryParse(tables[41],out EffectType);
- IconName = tables[43];
+ IconName = tables[42];
- int.TryParse(tables[44],out ExplosionEffect2);
+ int.TryParse(tables[43],out ExplosionEffect2);
}
catch (Exception exception)
{
diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index 605ede7..6282832 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -551,6 +551,11 @@
{
return false;
}
+ else
+ {
+ OnSkillFinished();
+ skillEffect = null;
+ }
}
return isFinished;
@@ -563,6 +568,14 @@
public void OnSkillFinished()
{
+ if (skillEffect != null)
+ {
+ if (!skillEffect.IsFinished())
+ {
+ return;
+ }
+ }
+
BattleDebug.LogError(GetType().Name + " Skill Finished");
while (packList.Count > 0)
{
--
Gitblit v1.8.0