From 440e8a4e3febfc1d98f11da2fbd7eaf75c12e877 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 22 十月 2025 15:04:17 +0800
Subject: [PATCH] 125 战斗 细节调整
---
Main/System/Battle/Skill/DirectlyDamageSkill.cs | 89 +++++---------------------------------------
1 files changed, 10 insertions(+), 79 deletions(-)
diff --git a/Main/System/Battle/Skill/DirectlyDamageSkill.cs b/Main/System/Battle/Skill/DirectlyDamageSkill.cs
index 2b2bcdc..977e345 100644
--- a/Main/System/Battle/Skill/DirectlyDamageSkill.cs
+++ b/Main/System/Battle/Skill/DirectlyDamageSkill.cs
@@ -4,95 +4,26 @@
using System;
using System.Linq;
+
public class DirectlyDamageSkill : SkillBase
{
-
+
public DirectlyDamageSkill(BattleObject _caster, SkillConfig _skillCfg,
- H0604_tagUseSkillAttack vNetData, BattleField _battleField) : base(_caster, _skillCfg, vNetData, _battleField)
+ HB427_tagSCUseSkill _vNetData, List<GameNetPackBasic> _packList, BattleField _battleField)
+ : base(_caster, _skillCfg, _vNetData, _packList, _battleField)
{
}
- public override void Run()
+ protected override void OnHitTargets(int _hitIndex, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> hitList)
{
- base.Run();
-
+ base.OnHitTargets(_hitIndex, hitList);
}
- protected override void OnTriggerEvent(int triggerIndex, int triggerFrame)
- {
- if (0 == triggerIndex)
- {
- List<BattleObject> targetList = GetTargetList();
- // 瀛愮被瀹炵幇鍏蜂綋鐨勬妧鑳介�昏緫
- SkillEffect effect = SkillEffectFactory.CreateSkillEffect(caster, skillConfig, tagUseSkillAttack);
- if (null != effect)
- {
- // 濡傛灉鏄瓙寮圭被鍨嬬殑
- effect.Play((hitIndex, hurList) =>
- {
- for (int i = 0; i < hurList.Count; i++)
- {
- var hurt = hurList[i];
- BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)hurt.ObjID);
-
- List<long> damageList = new List<long>();
- // 璁$畻浼ゅ 鍒嗘鐨勮瘽
- if (hitIndex >= skillConfig.DamageDivide.Length)
- {
- Debug.LogError("DamageDivide鏈夐棶棰� 闇�瑕佹鏌� 鍙樉绀轰竴娈典激瀹� 鍙杢riggerFrames鐨�");
- long totalDamage = GeneralDefine.GetFactValue(hurt.HurtHP, hurt.HurtHPEx) / (skillConfig.TriggerFrames.Length == 0 ? 1 : skillConfig.TriggerFrames.Length);
- damageList.Add(totalDamage);
- }
- else
- {
- long totalDamage = GeneralDefine.GetFactValue(hurt.HurtHP, hurt.HurtHPEx);
-
- if (hitIndex >= skillConfig.DamageDivide.Length)
- {
- int[] tenKDamagePercentArray = skillConfig.DamageDivide[hitIndex];
- long factDamage = totalDamage;
- for (int j = 0; j < tenKDamagePercentArray.Length; j++)
- {
- long damage = (long)(Mathf.Round(factDamage * tenKDamagePercentArray[j] / 10000.0f));
- damageList.Add(damage);
- }
- }
- }
- target.Hurt(damageList, hurt.AttackType);
- }
- });
- }
- }
- }
-
- protected override void DoSkillLogic(Action _onComplete = null)
+ protected override void OnAllAttackMoveFinished()
{
- // 寮�濮嬭褰曞抚鏁�
- startCounting = true;
+ base.OnAllAttackMoveFinished();
+
+ OnSkillFinished();
}
-
-
-#if UNITY_EDITOR_STOP_USING
- // 浼ゅ鍒楄〃鐞嗗簲鐢辨湇鍔″櫒鍙戠粰瀹㈡埛绔� 杩欒竟鍙仛绮楁祬妯℃嫙
- public override List<Dictionary<int, List<int>>> GetDamageList(BattleField battleField)
- {
- List<Dictionary<int, List<int>>> damageList = new List<Dictionary<int, List<int>>>();
-
- List<BattleObject> affectList = GetTargetList(battleField);
-
- Dictionary<int, List<int>> oneRoundDamage = new Dictionary<int, List<int>>();
-
- for (int j = 0; j < affectList.Count; j++)
- {
- BattleObject obj = affectList[j];
- List<int> tryDmgList = caster.TryAttack(obj, skillConfig);
- oneRoundDamage.Add(obj.ObjID, tryDmgList);
- }
-
- damageList.Add(oneRoundDamage);
-
- return damageList;
- }
-#endif
}
\ No newline at end of file
--
Gitblit v1.8.0