From 93aba7a5b556606bf7a31ccc3c199d63f4fff28b Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 13 十一月 2025 09:27:53 +0800
Subject: [PATCH] 125 战斗 特性怒气飘字
---
Main/System/Battle/BattleObject/BattleObject.cs | 110 +++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 83 insertions(+), 27 deletions(-)
diff --git a/Main/System/Battle/BattleObject/BattleObject.cs b/Main/System/Battle/BattleObject/BattleObject.cs
index 723bb12..8bfa3e9 100644
--- a/Main/System/Battle/BattleObject/BattleObject.cs
+++ b/Main/System/Battle/BattleObject/BattleObject.cs
@@ -195,33 +195,33 @@
}
}
- public void ObjPropertyRefreshView(HB418_tagSCObjPropertyRefreshView vNetData)
- {
- // 澶╁瓙鐨勬寫鎴樻嫤鎴鏉�,涓嶆嫤鎴�掓皵
- BattleObject boss = battleField.FindBoss();
- if (boss != null && battleField.MapID == 30020 && boss.ObjID == vNetData.ObjID && vNetData.RefreshType != (ushort)PlayerDataType.XP)
- return;
- switch ((PlayerDataType)vNetData.RefreshType)
- {
- case PlayerDataType.HP:
- long toHp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
- heroInfoBar.UpdateHP(teamHero.curHp, toHp, teamHero.maxHp, false);
- teamHero.curHp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
- break;
- case PlayerDataType.MaxHP:
- teamHero.maxHp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
- heroInfoBar.UpdateHP(teamHero.curHp, teamHero.curHp, teamHero.maxHp, false);
- break;
- case PlayerDataType.XP:
- long toXp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
- heroInfoBar.UpdateXP(teamHero.rage, toXp, 100);
- teamHero.rage = (int)GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
- break;
- default:
- Debug.LogError("BattleObject.ObjPropertyRefreshView 鍑虹幇鎰忓绫诲瀷 " + vNetData.RefreshType.ToString());
- break;
- }
- }
+ // public void ObjPropertyRefreshView(HB418_tagSCObjPropertyRefreshView vNetData)
+ // {
+ // // 澶╁瓙鐨勬寫鎴樻嫤鎴鏉�,涓嶆嫤鎴�掓皵
+ // BattleObject boss = battleField.FindBoss();
+ // if (boss != null && battleField.MapID == 30020 && boss.ObjID == vNetData.ObjID && vNetData.RefreshType != (ushort)PlayerDataType.XP)
+ // return;
+ // switch ((PlayerDataType)vNetData.RefreshType)
+ // {
+ // case PlayerDataType.HP:
+ // long toHp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
+ // heroInfoBar.UpdateHP(teamHero.curHp, toHp, teamHero.maxHp, false);
+ // teamHero.curHp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
+ // break;
+ // case PlayerDataType.MaxHP:
+ // teamHero.maxHp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
+ // heroInfoBar.UpdateHP(teamHero.curHp, teamHero.curHp, teamHero.maxHp, false);
+ // break;
+ // case PlayerDataType.XP:
+ // long toXp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
+ // heroInfoBar.UpdateXP(teamHero.rage, toXp, 100);
+ // teamHero.rage = (int)GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
+ // break;
+ // default:
+ // Debug.LogError("BattleObject.ObjPropertyRefreshView 鍑虹幇鎰忓绫诲瀷 " + vNetData.RefreshType.ToString());
+ // break;
+ // }
+ // }
// 鐪╂檿
public bool IsStunned()
@@ -513,6 +513,62 @@
heroInfoBar.SetSpeedRatio(ratio);
}
+ public void OnObjPropertyRefreshView(HB418_tagSCObjPropertyRefreshView vNetData)
+ {
+ // 澶╁瓙鐨勬寫鎴樻嫤鎴鏉�,涓嶆嫤鎴�掓皵
+ BattleObject boss = battleField.FindBoss();
+ if (boss != null && battleField.MapID == 30020 && boss.ObjID == vNetData.ObjID && vNetData.RefreshType != (ushort)PlayerDataType.XP)
+ return;
+
+ // public uint ObjID;
+ // public ushort RefreshType; // 鍚�0418鍒锋柊绫诲瀷锛屽琛�閲忋�佹�掓皵
+ // public uint AttackTypes; // 椋樺瓧绫诲瀷姹囨�伙紝鏀寔澶氱绫诲瀷骞跺瓨锛屽鏃犺闃插尽涓旀毚鍑诲悓鏃惰鏍兼尅锛屼簩杩涘埗鎴栬繍绠楁渶缁堝�硷紱0-澶辫触锛�1-鏅�氾紱2-鍥炶锛�5-鏍兼尅锛�6-鏃犺闃插尽锛�7-鏆村嚮锛�9-闂伩
+ // public uint Value; // 鏇存柊鍊�
+ // public uint ValueEx; // 鏇存柊鍊硷紝濡傛灉鏄ぇ鏁板�肩殑姝ゅ�间负鏁撮櫎浜块儴鍒�
+ // public byte DiffType; // 鍙樺寲绫诲瀷锛�0-鍑忓皯锛�1-澧炲姞
+ // public uint DiffValue; // 鍙樺寲鍊�
+ // public uint DiffValueEx; // 鍙樺寲鍊硷紝濡傛灉鏄ぇ鏁板�肩殑姝ゅ�间负鏁撮櫎浜块儴鍒�
+ // public uint SkillID; // 浣跨敤鐨勬妧鑳借〃ID
+ // public uint RelatedSkillID; // 鍏宠仈鐨勬妧鑳絀D锛屼竴鑸槸涓绘妧鑳絀D锛岄潪涓绘妧鑳介澶栬Е鍙戠殑涓�0
+
+ long diffValue = GeneralDefine.GetFactValue(vNetData.DiffValue, vNetData.DiffValueEx);
+ diffValue *= vNetData.DiffType == 0 ? -1 : 1;
+
+ long newValue = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
+
+
+ switch ((PlayerDataType)vNetData.RefreshType)
+ {
+ case PlayerDataType.HP:
+ long toHp = GeneralDefine.GetFactValue(vNetData.Value, vNetData.ValueEx);
+ heroInfoBar.UpdateHP(teamHero.curHp, toHp, teamHero.maxHp, true);
+ teamHero.curHp = newValue;
+ break;
+ case PlayerDataType.MaxHP:
+ teamHero.maxHp = newValue;
+ heroInfoBar.UpdateHP(teamHero.curHp, teamHero.curHp, teamHero.maxHp, true);
+ break;
+ case PlayerDataType.XP:
+ long toXp = newValue;
+ heroInfoBar.UpdateXP(teamHero.rage, toXp, 100);
+ teamHero.rage = (int)newValue;
+
+ string message = BattleUtility.DisplayDamageNum(diffValue, ((int)DamageType.RageUp));
+
+ heroInfoBar.ShowTips(new BattleHeroInfoBar.TipsInfo()
+ {
+ message = message,
+ useArtText = true,
+ followCharacter = true,
+ isRage = true
+ });
+ break;
+ default:
+ Debug.LogError("BattleObject.ObjPropertyRefreshView 鍑虹幇鎰忓绫诲瀷 " + vNetData.RefreshType.ToString());
+ break;
+ }
+ }
+
#if UNITY_EDITOR_STOP_USING
public void EditorRevive()
--
Gitblit v1.8.0