Browse Source

【优化】日志

meijun 3 years ago
parent
commit
f9ce72273f

+ 1 - 1
Common/CommonAI/Zone/Instance/InstanceUnit.cs

@@ -487,7 +487,7 @@ namespace CommonAI.Zone.Instance
             if (IsDead() && (!IsStateDead))
             {
                 changeState(new StateDead(this, this, false), true);
-                log.Warn("手动调用死亡逻辑2:" + this.PlayerUUID + ", " + this.mZone.GetSceneID() + ", " + this.Info.ID);
+                log.Warn("手动调用死亡逻辑2:" + this.PlayerUUID + ", " + this.mZone.GetSceneID() + ", " + this.Info.ID + ", state: " + this.current_state);
 
                 Parent.cb_unitDeadCallBack(this, this);
                 queueEvent(new UnitDeadEvent(ID, this.ID, false, mInfo.RebirthTimeMS));

+ 7 - 4
XmdsCommonServer/Plugin/JSGModule/JSGXmdsHackerModule.cs

@@ -93,7 +93,7 @@ namespace XmdsCommonServer.Plugin.JSGXmdsModule
                         {
                             log.Warn("攻击者最大攻击属性异常:" + attacker.mUnit.Parent.GetSceneID() + ", " + finalAttack);
                         }
-                        else if(damage * 1.0f / finalAttack < 2)
+                        else if(damage * 1.0f / finalAttack < GetDamageWarnRate(source))
                         {
                             break;
                         }
@@ -152,14 +152,14 @@ namespace XmdsCommonServer.Plugin.JSGXmdsModule
 #endif
         }
 
-        public static void CheckAndPrintDmgWarn(string flag, XmdsVirtual attacker, XmdsVirtual hitter, float sourceDmg, float finalDmg, AttackSource source)
+        public static bool CheckAndPrintDmgWarn(string flag, XmdsVirtual attacker, XmdsVirtual hitter, float sourceDmg, float finalDmg, AttackSource source)
         {
 #if JSGProfile
             try
             {
                 if (source == null || source.Attack == null || source.Attack.Properties.GetAttackID() == XmdsBattleSkill.DefaultSkillScriptID)
                 {
-                    return;
+                    return false;
                 }
 
                 int checkValue = (source != null && source.Attack != null && source.Attack.Properties.GetAttackID() / 100 == 1104)
@@ -171,12 +171,15 @@ namespace XmdsCommonServer.Plugin.JSGXmdsModule
                         + attacker.MirrorProp.MaxMonsterAttack + ", atkHP:" + attacker.mUnit.CurrentHP
                         + ", AttackInfo:[" + attacker.mUnit.Info.ID + ", UUID: " + attacker.mUnit.PlayerUUID
                         + "], hitterInfo:[" + hitter.mUnit.Info.ID + ", UUID: " + hitter.mUnit.PlayerUUID + ", " + JSGModule.GetAttackSourceDes(source));
+                    return true;
                 }
             }
             catch (Exception e)
             {
                 log.Error("CheckAndPrintDmgWarn catch: ", e);
             }
+
+            return false;
 #endif
         }
 
@@ -193,7 +196,7 @@ namespace XmdsCommonServer.Plugin.JSGXmdsModule
                 }
                 else
                 {
-                    dmgAddition = source.mDmgAddPer;
+                    dmgAddition = source.mDmgAddPer + 3;
                 }
             }
 

+ 21 - 5
XmdsCommonServer/Plugin/XmdsVirtual/XmdsVirtual.Event.cs

@@ -107,6 +107,7 @@ namespace XmdsCommonServer.Plugin
         {
             public readonly IOnHit m_hit;
             public readonly bool ListenAllSkill = false;
+            public int startDmgData;                        //开始计算伤害时的值
 
             public OnHitHandler(IOnHit hit, GameSkill skill, bool listenAll) : base(skill, listenAll)
             {
@@ -1126,19 +1127,34 @@ namespace XmdsCommonServer.Plugin
                         XmdsAttackProperties atkProp = source.Attack.Properties as XmdsAttackProperties;
                         if (atkProp.SkillTemplateID != hitend.m_skill.SkillID)
                         {
+                            hitend.startDmgData = 0;
                             continue;
                         }
-                    }                   
-
+                    }
+                    
                     damage = hitend.m_hit.Invoke(damage, target, this, source, ref result, damageType, hitend.m_skill, ref isEndDispatch);
+                    hitend.startDmgData = (int)damage;
 
-                    //检测伤害输出异常
-                    JSGXmdsHackerModule.CheckAndPrintDmgWarn("HitOther", this, target, sourceDmg, damage, source);
-					if (isEndDispatch)
+                    if (isEndDispatch)
                     {
                         break;
                     }
                 }
+
+                //检测伤害输出异常
+                if(JSGXmdsHackerModule.CheckAndPrintDmgWarn("HitOther-", this, target, sourceDmg, damage, source))
+                {
+                    int startDmg = (int)sourceDmg;
+                    for (int i = mOnHitOtherLt.Count - 1; i >= 0; --i)
+                    {
+                        if(mOnHitOtherLt[i].startDmgData > 0 && startDmg != mOnHitOtherLt[i].startDmgData)
+                        {
+                            float rate = mOnHitOtherLt[i].startDmgData * 1.0f / startDmg;
+                            log.Warn("伤害细则:" + mOnHitOtherLt[i].m_hit.Target + ", " + startDmg + " -> " + mOnHitOtherLt[i].startDmgData + ", 倍率:" + rate);
+                            startDmg = mOnHitOtherLt[i].startDmgData;
+                        }
+                    }
+                }
             }
             return damage;
         }

+ 1 - 1
XmdsVSPlugins/XmdsCommonSkill/Plugin/FunctionEvent/base_gs/XmdsBattleFunctionEvent_9501.cs

@@ -45,7 +45,7 @@ namespace XmdsCommonSkill.Plugin.FunctionEvent
 				log.Warn("XmdsBattleFunctionEvent_9501 目标不存在:" + launcher.mUnit.PlayerUUID + ", " + value1 + ", " + value2);
 				return;
             }
-			else if(value4 != target.ID)
+			else if(value4 != target.Info.ID)
             {
 				log.Warn("XmdsBattleFunctionEvent_9501 作用目标异常:" + launcher.mUnit.PlayerUUID + ", " + value1 + ", " + value2
 					+ ", 获取目标:" + target.ID + ", " + target.Info.ID);

+ 0 - 2
XmdsVSPlugins/XmdsCommonSkill/Plugin/Skills/CardSkill/14_XuanWu/CardSkill_1430000.cs

@@ -66,8 +66,6 @@ namespace XmdsCommonSkill.Plugin.CardSkill
 		{
 			if(buff != null && buff.ID == CARD_XW_IGNORECTRL_HUDUN && !string.IsNullOrEmpty(result) && !BuffState.ENDResult_HuDunBreak.Equals(result))
 			{
-				JSGXmdsHackerModule.CheckAndPrintCardSameErrorInfo("CardSkill_1330000", this.mTriggerSameCards, this.mTriggerTime, source);
-
 				unit.CardModule.AddCard(s_ValueSet2.GetValue(this.mTriggerLv, Math.Max(1, this.mTriggerSameNums - 1)), true);
 			}