| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 | 
							- using System;
 
- using Common.Utility.CombatEvent;
 
- using Core.BattleReport;
 
- using Core.Language;
 
- using Fort23.Core;
 
- using GameLogic.Combat.Buff;
 
- using GameLogic.Combat.Skill;
 
- namespace GameLogic.Combat.CombatTool.CombatReport
 
- {
 
-     public class CombatReportEntityInfo : IDisposable
 
-     {
 
-         public CombatHeroEntity CombatHeroEntity;
 
-         /// <summary>
 
-         /// 英雄数据面板
 
-         /// </summary>
 
-         public BattleReportValueDataModule HeroInfoModule = new BattleReportValueDataModule();
 
-         /// <summary>
 
-         /// 战斗照成信息面板
 
-         /// </summary>
 
-         public BattleReportValueDataModule CombatInfoModule = new BattleReportValueDataModule();
 
-         /// <summary>
 
-         /// 治疗信息
 
-         /// </summary>
 
-         public BattleReportValueDataModule zhiLiao = new BattleReportValueDataModule();
 
-         /// <summary>
 
-         /// 被治疗信息
 
-         /// </summary>
 
-         public BattleReportValueDataModule beiZhiLiao = new BattleReportValueDataModule();
 
-         /// <summary>
 
-         /// 战斗受到伤害信息面板
 
-         /// </summary>
 
-         public BattleReportValueDataModule InjuredInfoModule = new BattleReportValueDataModule();
 
-         /// <summary>
 
-         /// 功法被削弱
 
-         /// </summary>
 
-         public BattleReportValueDataModule gongFaBeiXueRuo = new BattleReportValueDataModule();
 
-         /// <summary>
 
-         /// 战斗日子面板
 
-         /// </summary>
 
-         public ReportFightMassgeLogDataModule MsgModule = new ReportFightMassgeLogDataModule();
 
-         public long allHarm = 0;
 
-         public long allZhiLiao = 0;
 
-         public long allBeiZhiLiao = 0;
 
-         public long allChengShang = 0;
 
-         
 
-         public void Init(CombatHeroEntity combatHeroEntity)
 
-         {
 
-             CombatHeroEntity = combatHeroEntity;
 
-             HeroInfoModule.SetMax("计算K", CombatHeroEntity.MaxCombatHeroInfo.k);
 
-             HeroInfoModule.SetMax("生命", CombatHeroEntity.MaxCombatHeroInfo.hp.Value);
 
-             HeroInfoModule.SetMax("攻击力", CombatHeroEntity.MaxCombatHeroInfo.attack.Value);
 
-             HeroInfoModule.SetMax("防御", CombatHeroEntity.MaxCombatHeroInfo.defense.Value);
 
-             HeroInfoModule.SetMax("攻击速度", CombatHeroEntity.MaxCombatHeroInfo.attSpeed.Value);
 
-             HeroInfoModule.SetMax("额外攻击速度%", CombatHeroEntity.MaxCombatHeroInfo.addAttSpeed_bl);
 
-             HeroInfoModule.SetMax("护盾值", CombatHeroEntity.MaxCombatHeroInfo.Shield.Value);
 
-             HeroInfoModule.SetMax("神识", CombatHeroEntity.MaxCombatHeroInfo.shenshi.Value);
 
-             HeroInfoModule.SetMax("金灵根", CombatHeroEntity.MaxCombatHeroInfo.Metal);
 
-             HeroInfoModule.SetMax("木灵根", CombatHeroEntity.MaxCombatHeroInfo.Wood);
 
-             HeroInfoModule.SetMax("水灵根", CombatHeroEntity.MaxCombatHeroInfo.Water);
 
-             HeroInfoModule.SetMax("火灵根", CombatHeroEntity.MaxCombatHeroInfo.Fire);
 
-             HeroInfoModule.SetMax("土灵根", CombatHeroEntity.MaxCombatHeroInfo.Earth);
 
-             HeroInfoModule.SetMax("金伤势", CombatHeroEntity.MaxCombatHeroInfo.Metal_Injury);
 
-             HeroInfoModule.SetMax("木伤势", CombatHeroEntity.MaxCombatHeroInfo.Wood_Injury);
 
-             HeroInfoModule.SetMax("水伤势", CombatHeroEntity.MaxCombatHeroInfo.Water_Injury);
 
-             HeroInfoModule.SetMax("火伤势", CombatHeroEntity.MaxCombatHeroInfo.Fire_Injury);
 
-             HeroInfoModule.SetMax("土伤势", CombatHeroEntity.MaxCombatHeroInfo.Earth_Injury);
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.RecoverUpdate, RecoverUpdate);
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.AddBuff, AddBuff);
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.RemoveBuff, RemoveBuff);
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.UseSkill, UseSkill);
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.UseMagicWeapon, UseMagicWeapon);
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.GongFaPengZhuangFinish2,
 
-                 GongFaPengZhuangFinish2);
 
-         }
 
-         public void Update()
 
-         {
 
-             UpdateHeroInfo();
 
-         }
 
-         private void UpdateHeroInfo()
 
-         {
 
-             HeroInfoModule.Add("计算K", CombatHeroEntity.CurrCombatHeroInfo.k);
 
-             HeroInfoModule.Add("生命", CombatHeroEntity.CurrCombatHeroInfo.hp.Value);
 
-             HeroInfoModule.Add("攻击力", CombatHeroEntity.CurrCombatHeroInfo.attack.Value);
 
-             HeroInfoModule.Add("防御", CombatHeroEntity.CurrCombatHeroInfo.defense.Value);
 
-             HeroInfoModule.Add("攻击速度", CombatHeroEntity.CurrCombatHeroInfo.attSpeed.Value);
 
-             HeroInfoModule.Add("额外攻击速度%", CombatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl);
 
-             HeroInfoModule.Add("护盾值", CombatHeroEntity.CurrCombatHeroInfo.Shield.Value);
 
-             HeroInfoModule.Add("神识", CombatHeroEntity.CurrCombatHeroInfo.shenshi.Value);
 
-             HeroInfoModule.Add("金灵根", CombatHeroEntity.CurrCombatHeroInfo.Metal);
 
-             HeroInfoModule.Add("木灵根", CombatHeroEntity.CurrCombatHeroInfo.Wood);
 
-             HeroInfoModule.Add("水灵根", CombatHeroEntity.CurrCombatHeroInfo.Water);
 
-             HeroInfoModule.Add("火灵根", CombatHeroEntity.CurrCombatHeroInfo.Fire);
 
-             HeroInfoModule.Add("土灵根", CombatHeroEntity.CurrCombatHeroInfo.Earth);
 
-             HeroInfoModule.Add("金伤势", CombatHeroEntity.CurrCombatHeroInfo.Metal_Injury);
 
-             HeroInfoModule.Add("木伤势", CombatHeroEntity.CurrCombatHeroInfo.Wood_Injury);
 
-             HeroInfoModule.Add("水伤势", CombatHeroEntity.CurrCombatHeroInfo.Water_Injury);
 
-             HeroInfoModule.Add("火伤势", CombatHeroEntity.CurrCombatHeroInfo.Fire_Injury);
 
-             HeroInfoModule.Add("土伤势", CombatHeroEntity.CurrCombatHeroInfo.Earth_Injury);
 
-         }
 
-         private void GongFaPengZhuangFinish2(IEventData iEventData)
 
-         {
 
-             GongFaPengZhuangFinishEventData gongFaPengZhuangFinishEventData =iEventData as GongFaPengZhuangFinishEventData;
 
-             bool isOk = false;
 
-             string msgTou = "";
 
-             if (gongFaPengZhuangFinishEventData.a.SkillBasic.CombatHeroEntity == CombatHeroEntity)
 
-             {
 
-                 isOk = true;
 
-                 msgTou =
 
-                     $"我的功法{gongFaPengZhuangFinishEventData.a.SkillBasic.SelfSkillConfig.ID} 和敌人的 {gongFaPengZhuangFinishEventData.b.SkillBasic.SelfSkillConfig.ID} 功法碰撞" +
 
-                     $"剩余强度为{gongFaPengZhuangFinishEventData.a.hp} 敌人的剩余强度为{gongFaPengZhuangFinishEventData.b.hp}";
 
-                 long c = gongFaPengZhuangFinishEventData.a.pengZhuangHp - gongFaPengZhuangFinishEventData.a.hp;
 
-                 float bl = c * 100.0f / gongFaPengZhuangFinishEventData.a.maxHp;
 
-                 string k = gongFaPengZhuangFinishEventData.a.SkillBasic.SelfSkillConfig.ID.ToString();
 
-                 gongFaBeiXueRuo.SetMax(k, 1, true);
 
-                 gongFaBeiXueRuo.Add(k, bl, true);
 
-             }
 
-             else if (gongFaPengZhuangFinishEventData.b.SkillBasic.CombatHeroEntity == CombatHeroEntity)
 
-             {
 
-                 isOk = true;
 
-                 msgTou =
 
-                     $"敌人的功法{gongFaPengZhuangFinishEventData.a.SkillBasic.SelfSkillConfig.ID} 和我的 {gongFaPengZhuangFinishEventData.b.SkillBasic.SelfSkillConfig.ID} 功法碰撞" +
 
-                     $"敌人的剩余强度为{gongFaPengZhuangFinishEventData.a.hp} 我的剩余强度为{gongFaPengZhuangFinishEventData.b.hp}";
 
-                 
 
-                 long c = gongFaPengZhuangFinishEventData.b.pengZhuangHp - gongFaPengZhuangFinishEventData.b.hp;
 
-                 float bl = c * 100.0f / gongFaPengZhuangFinishEventData.b.maxHp;
 
-                 string k = gongFaPengZhuangFinishEventData.b.SkillBasic.SelfSkillConfig.ID.ToString();
 
-                 gongFaBeiXueRuo.SetMax(k, 1, true);
 
-                 gongFaBeiXueRuo.Add(k, bl, true);
 
-                 
 
-             }
 
-             float t = CombatController.currActiveCombat.combatTime;
 
-             if (isOk)
 
-             {
 
-                 MsgModule.Add(t, msgTou);
 
-             }
 
-         }
 
-         private void UseMagicWeapon(IEventData iEventData)
 
-         {
 
-             UseMagicWeaponEventData useMagicWeaponEventData = iEventData as UseMagicWeaponEventData;
 
-             if (useMagicWeaponEventData.combatHeroEntity == CombatHeroEntity)
 
-             {
 
-                 string msg =
 
-                     $"使用法宝  {useMagicWeaponEventData.combatMagicWeaponEntity.FaBaoInfo.FabaoConfig.ID}";
 
-                 float t = CombatController.currActiveCombat.combatTime;
 
-                 MsgModule.Add(t, msg);
 
-             }
 
-         }
 
-         private void UseSkill(IEventData iEventData)
 
-         {
 
-             CombatUseSkillEventData combatUseSkillEventData = iEventData as CombatUseSkillEventData;
 
-             if (combatUseSkillEventData.useSkill.CombatHeroEntity == CombatHeroEntity)
 
-             {
 
-                 string msg =
 
-                     $"使用技能  {combatUseSkillEventData.useSkill.SelfSkillConfig.ID}";
 
-                 float t = CombatController.currActiveCombat.combatTime;
 
-                 MsgModule.Add(t, msg);
 
-             }
 
-         }
 
-         private void RemoveBuff(IEventData iEventData)
 
-         {
 
-             BuffEventData buffEventData = iEventData as BuffEventData;
 
-             if (buffEventData.target == CombatHeroEntity)
 
-             {
 
-                 string msg =
 
-                     $"移除了一个buff  {buffEventData.BuffBasic.BuffConfig.scriptsName}" +
 
-                     $"  数量  {buffEventData.BuffBasic.count}";
 
-                 float t = CombatController.currActiveCombat.combatTime;
 
-                 MsgModule.Add(t, msg);
 
-             }
 
-         }
 
-         private void AddBuff(IEventData iEventData)
 
-         {
 
-             BuffEventData buffEventData = iEventData as BuffEventData;
 
-             if (buffEventData.target == CombatHeroEntity)
 
-             {
 
-                 string msg =
 
-                     $"获得buff  {buffEventData.BuffBasic.BuffConfig.scriptsName}" +
 
-                     $"  数量  {buffEventData.BuffBasic.count} 施放者{buffEventData.source.CurrCombatHeroInfo.modelID}";
 
-                 float t = CombatController.currActiveCombat.combatTime;
 
-                 MsgModule.Add(t, msg);
 
-             }
 
-             else if (buffEventData.source == CombatHeroEntity)
 
-             {
 
-                 string msg =
 
-                     $"施加buff  {buffEventData.BuffBasic.BuffConfig.scriptsName}" +
 
-                     $"  数量  {buffEventData.BuffBasic.count} 目标{buffEventData.target.CurrCombatHeroInfo.modelID}";
 
-                 float t = CombatController.currActiveCombat.combatTime;
 
-                 MsgModule.Add(t, msg);
 
-             }
 
-         }
 
-         private void RecoverUpdate(IEventData iEventData)
 
-         {
 
-             HarmUpdateEventData recoverUpdateEventData = iEventData as HarmUpdateEventData;
 
-             if (recoverUpdateEventData.HarmReturnInfo.source == CombatHeroEntity)
 
-             {
 
-                 string msg =
 
-                     $"我治疗了目标  {recoverUpdateEventData.HarmReturnInfo.target.combatHeroEntity.CurrCombatHeroInfo.heroName}" +
 
-                     $"  治疗量  {recoverUpdateEventData.HarmReturnInfo.att} 治疗类型 {recoverUpdateEventData.HarmReturnInfo.attType}";
 
-                 float t = CombatController.currActiveCombat.combatTime;
 
-                 MsgModule.Add(t, msg);
 
-                 string harmKey = "无";
 
-                 SkillBasic skillBasic = recoverUpdateEventData.HarmReturnInfo.triggerData.Source as SkillBasic;
 
-                 if (skillBasic != null)
 
-                 {
 
-                     harmKey = "S" + LanguageManager.Instance.Text(skillBasic.SelfSkillConfig.name);
 
-                 }
 
-                 BuffBasic buffBasic = recoverUpdateEventData.HarmReturnInfo.triggerData.Source as BuffBasic;
 
-                 if (buffBasic != null)
 
-                 {
 
-                     harmKey = "B" + LanguageManager.Instance.Text(buffBasic.BuffConfig.buffName);
 
-                 }
 
-                 allZhiLiao += recoverUpdateEventData.HarmReturnInfo.att;
 
-                 zhiLiao.Add(harmKey, recoverUpdateEventData.HarmReturnInfo.att, true);
 
-             }
 
-             else if (recoverUpdateEventData.HarmReturnInfo.target.combatHeroEntity == CombatHeroEntity)
 
-             {
 
-                 string msg =
 
-                     $"被治疗  {recoverUpdateEventData.HarmReturnInfo.source.CurrCombatHeroInfo.heroName}" +
 
-                     $"  受到治疗  {recoverUpdateEventData.HarmReturnInfo.att} 治疗类型 {recoverUpdateEventData.HarmReturnInfo.attType} 治疗来源{recoverUpdateEventData.HarmReturnInfo.triggerData.Source}";
 
-                 float t = CombatController.currActiveCombat.combatTime;
 
-                 MsgModule.Add(t, msg);
 
-                 string harmKey = "其他";
 
-                 SkillBasic skillBasic = recoverUpdateEventData.HarmReturnInfo.triggerData.Source as SkillBasic;
 
-                 if (skillBasic != null)
 
-                 {
 
-                     harmKey = "S" + LanguageManager.Instance.Text(skillBasic.SelfSkillConfig.name);
 
-                 }
 
-                 BuffBasic buffBasic = recoverUpdateEventData.HarmReturnInfo.triggerData.Source as BuffBasic;
 
-                 if (buffBasic != null)
 
-                 {
 
-                     harmKey = "B" + LanguageManager.Instance.Text(buffBasic.BuffConfig.buffName);
 
-                 }
 
-                 allBeiZhiLiao += recoverUpdateEventData.HarmReturnInfo.att;
 
-                 beiZhiLiao.Add(harmKey, recoverUpdateEventData.HarmReturnInfo.att, true);
 
-             }
 
-         }
 
-         private void HeroInjured(IEventData iEventData)
 
-         {
 
-             HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData;
 
-             if (heroInjuredEventData.HarmReturnInfo.source == CombatHeroEntity)
 
-             {
 
-                 string harmKey = "无";
 
-                 SkillBasic skillBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as SkillBasic;
 
-                 if (skillBasic != null)
 
-                 {
 
-                     harmKey = LanguageManager.Instance.Text(skillBasic.SelfSkillConfig.name) + " id:" +
 
-                               skillBasic.SelfSkillConfig.ID;
 
-                 }
 
-                 BuffBasic buffBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as BuffBasic;
 
-                 if (buffBasic != null)
 
-                 {
 
-                     harmKey = "B" + LanguageManager.Instance.Text(buffBasic.BuffConfig.ID);
 
-                 }
 
-                 string msg =
 
-                     $"我攻击了目标  {heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.CurrCombatHeroInfo.heroName} 来源{harmKey} 原始伤害{heroInjuredEventData.HarmReturnInfo.yuanShiAtt}" +
 
-                     $"  造成伤害  {heroInjuredEventData.HarmReturnInfo.att} 攻击类型 {heroInjuredEventData.HarmReturnInfo.attType} 伤害类型{heroInjuredEventData.HarmReturnInfo.harmType} 强度{heroInjuredEventData.HarmReturnInfo.QiangDu}";
 
-                 float t = CombatController.currActiveCombat.combatTime;
 
-                 MsgModule.Add(t, msg);
 
-                 allHarm += heroInjuredEventData.HarmReturnInfo.att;
 
-                 CombatInfoModule.Add(harmKey, heroInjuredEventData.HarmReturnInfo.att, true);
 
-             }
 
-             else if (heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity == CombatHeroEntity)
 
-             {
 
-                 string harmKey = "其他";
 
-                 SkillBasic skillBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as SkillBasic;
 
-                 if (skillBasic != null)
 
-                 {
 
-                     harmKey = LanguageManager.Instance.Text(skillBasic.SelfSkillConfig.name) + " id:" +
 
-                               skillBasic.SelfSkillConfig.ID;
 
-                 }
 
-                 BuffBasic buffBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as BuffBasic;
 
-                 if (buffBasic != null)
 
-                 {
 
-                     harmKey = "B" + LanguageManager.Instance.Text(buffBasic.BuffConfig.ID);
 
-                 }
 
-                 string msg =
 
-                     $"被攻击  {heroInjuredEventData.HarmReturnInfo.source.CurrCombatHeroInfo.heroName} 来源{harmKey} 原始伤害{heroInjuredEventData.HarmReturnInfo.yuanShiAtt}" +
 
-                     $"  受到伤害  {heroInjuredEventData.HarmReturnInfo.att} 伤害类型 {heroInjuredEventData.HarmReturnInfo.attType} 强度{heroInjuredEventData.HarmReturnInfo.QiangDu}";
 
-                 float t = CombatController.currActiveCombat.combatTime;
 
-                 MsgModule.Add(t, msg);
 
-                 allChengShang += heroInjuredEventData.HarmReturnInfo.att;
 
-                 InjuredInfoModule.Add(harmKey, heroInjuredEventData.HarmReturnInfo.att, true);
 
-             }
 
-         }
 
-         public void Dispose()
 
-         {
 
-             CombatHeroEntity = null;
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.RecoverUpdate, RecoverUpdate);
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddBuff, AddBuff);
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.RemoveBuff, RemoveBuff);
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkill, UseSkill);
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseMagicWeapon, UseMagicWeapon);
 
-         }
 
-     }
 
- }
 
 
  |