|  | @@ -1,6 +1,7 @@
 | 
	
		
			
				|  |  |  using System.Collections.Generic;
 | 
	
		
			
				|  |  |  using System.Linq;
 | 
	
		
			
				|  |  |  using Common.Utility.CombatEvent;
 | 
	
		
			
				|  |  | +using Core.Utility;
 | 
	
		
			
				|  |  |  using Excel2Json;
 | 
	
		
			
				|  |  |  using Fort23.Core;
 | 
	
		
			
				|  |  |  using Fort23.UTool;
 | 
	
	
		
			
				|  | @@ -204,7 +205,9 @@ namespace GameLogic.Hero
 | 
	
		
			
				|  |  |                  daolvSkill daolvSkill = ConfigComponent.Instance.Get<daolvSkill>(keyValuePair.Key);
 | 
	
		
			
				|  |  |                  ComputeHeroAttributeType(daolvSkill.AttrID, keyValuePair.Value);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +            //心境带来的加成
 | 
	
		
			
				|  |  | +            AddSentimentData();
 | 
	
		
			
				|  |  | +           
 | 
	
		
			
				|  |  |              if (CombatController.currActiveCombat != null && CombatController.currActiveCombat.playerHeroEntity != null)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  CombatController.currActiveCombat.playerHeroEntity.CurrCombatHeroInfo = this.Copy();
 | 
	
	
		
			
				|  | @@ -212,6 +215,95 @@ namespace GameLogic.Hero
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        private void AddSentimentData()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            SentimentEffectConfig[] allSentimentEffectConfigs =   ConfigComponent.Instance.GetAll<SentimentEffectConfig>();
 | 
	
		
			
				|  |  | +            List<AccountFileInfo.SentimentData> SentimentDatas =  AccountFileInfo.Instance.playerData.SentimentDatas;
 | 
	
		
			
				|  |  | +            for (int i = 0; i < SentimentDatas.Count; i++)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                AccountFileInfo.SentimentData sentimentData=   SentimentDatas[i];
 | 
	
		
			
				|  |  | +                for (int j = 0; j < sentimentData.sentimentProperties.Count; j++)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    AddSentimentProperty( sentimentData.sentimentProperties[i],allSentimentEffectConfigs);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +              
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        private void AddSentimentProperty(AccountFileInfo.SentimentProperty sentimentProperty,SentimentEffectConfig[] allSentimentEffectConfigs)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            SentimentEffectConfig currSentimentEffectConfig = default;
 | 
	
		
			
				|  |  | +            for (int i = 0; i < allSentimentEffectConfigs.Length; i++)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                SentimentEffectConfig sentimentEffectConfig=   allSentimentEffectConfigs[i];
 | 
	
		
			
				|  |  | +                if(sentimentEffectConfig.groupId==sentimentProperty.groupId&& sentimentEffectConfig.level==sentimentProperty.level)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    currSentimentEffectConfig= sentimentEffectConfig;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +           
 | 
	
		
			
				|  |  | +            switch (currSentimentEffectConfig.effectType)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                case 1:
 | 
	
		
			
				|  |  | +                    attack += (EncryptionLong)(attack.Value * currSentimentEffectConfig.effectVale[0] * 0.01f);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 2:
 | 
	
		
			
				|  |  | +                    gongFaStrength += currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 3:
 | 
	
		
			
				|  |  | +                    hp += (EncryptionLong)(hp.Value * currSentimentEffectConfig.effectVale[0] * 0.01f);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 4:
 | 
	
		
			
				|  |  | +                    defense += (EncryptionLong)(defense.Value * currSentimentEffectConfig.effectVale[0] * 0.01f);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 5:
 | 
	
		
			
				|  |  | +                    int type = currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    switch ((HeroAttributeType)type)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        case HeroAttributeType.Gold:
 | 
	
		
			
				|  |  | +                            Metal += currSentimentEffectConfig.effectVale[1];
 | 
	
		
			
				|  |  | +                            break;
 | 
	
		
			
				|  |  | +                        case HeroAttributeType.Wood:
 | 
	
		
			
				|  |  | +                            Wood += currSentimentEffectConfig.effectVale[1];
 | 
	
		
			
				|  |  | +                            break;
 | 
	
		
			
				|  |  | +                        case HeroAttributeType.Fire:
 | 
	
		
			
				|  |  | +                            Fire += currSentimentEffectConfig.effectVale[1];
 | 
	
		
			
				|  |  | +                            break;
 | 
	
		
			
				|  |  | +                        case HeroAttributeType.Water:
 | 
	
		
			
				|  |  | +                            Water += currSentimentEffectConfig.effectVale[1];
 | 
	
		
			
				|  |  | +                            break;
 | 
	
		
			
				|  |  | +                        case HeroAttributeType.Earth:
 | 
	
		
			
				|  |  | +                            Earth += currSentimentEffectConfig.effectVale[1];
 | 
	
		
			
				|  |  | +                            break;
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 6: 
 | 
	
		
			
				|  |  | +                    finallyHarmReduce= currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 7:
 | 
	
		
			
				|  |  | +                    abnormalHarmAdd= currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 8:
 | 
	
		
			
				|  |  | +                    Fire_Proficient= currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 9:
 | 
	
		
			
				|  |  | +                    Wood_Proficient= currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 10:
 | 
	
		
			
				|  |  | +                    Metal_Proficient= currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 11:
 | 
	
		
			
				|  |  | +                    Water_Proficient= currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 12:
 | 
	
		
			
				|  |  | +                    Earth_Proficient= currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 99:
 | 
	
		
			
				|  |  | +                    // Fire_HarmAdd= currSentimentEffectConfig.effectVale[0];
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void ComputeHeroAttributeType(int shuxingID, float value)
 | 
	
		
			
				|  |  |          {
 |