Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -64,8 +64,10 @@ public int BasicsDefense;//基础防御 public int BasicsScoreAHit;//基础命中 public int BasicsDodge;//基础闪避 public long treasurePotentialSp { get { public long treasurePotentialSp { get { return ExAttr8 * (long)100000000 + ExAttr7; } } @@ -91,10 +93,6 @@ ExpPoint = _serverInfo.ExpPoint; TotalExp = _serverInfo.TotalExp; Family = _serverInfo.Family; if (PlayerDatas.Instance. hero != null) { PlayerDatas.Instance.hero.ActorInfo.familyID = Family; } FamilyName = _serverInfo.FamilyName.Trim().Replace(" ", ""); Gold = _serverInfo.Gold; GoldPaper = _serverInfo.GoldPaper; @@ -104,7 +102,6 @@ PosX = _serverInfo.PosX; PosY = _serverInfo.PosY; State = _serverInfo.State; HP = _serverInfo.HP; XP = _serverInfo.XP; FreePoint = _serverInfo.FreePoint; FreeSkillPoint = _serverInfo.FreeSkillPoint; @@ -139,6 +136,34 @@ godWeaponLV_3 = (int)_serverInfo.ExAttr17; godWeaponLV_4 = (int)_serverInfo.ExAttr18; if (CrossServerRewardModel.IsCrossServerOneVsOne()) { if (_serverInfo.socketType == GameNetSystem.SocketType.CrossSever) { HP = _serverInfo.HP; } } else { HP = _serverInfo.HP; } if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.familyID = Family; if (CrossServerRewardModel.IsCrossServerOneVsOne()) { if (_serverInfo.socketType == GameNetSystem.SocketType.CrossSever) { PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_serverInfo.HP); } } else { PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_serverInfo.HP); } } if (_serverInfo.socketType == GameNetSystem.SocketType.Main) { mainServerDataBuf.PlayerName = PlayerName; Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -295,11 +295,6 @@ break; case PlayerDataRefresh.HP: baseData.HP = value; if (hero != null) { hero.ActorInfo.SyncServerHp = value; hero.ActorInfo.ResetHp((int)value); } baseData.RecordMainServerData(isMainServerData, _type, value); break; case PlayerDataRefresh.MaxMP: Core/NetworkPackage/ClientPack/ClientToMapServer/CA8_VIP/CA806_tagCMQueryRecharge.cs
New file @@ -0,0 +1,15 @@ using UnityEngine; using System.Collections; // A8 06 查询充值结果 #tagCMQueryRecharge public class CA806_tagCMQueryRecharge : GameNetPackBasic { public CA806_tagCMQueryRecharge () { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xA806; } public override void WriteToBytes () { } } Core/NetworkPackage/ClientPack/ClientToMapServer/CA8_VIP/CA806_tagCMQueryRecharge.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 4df34e8c1837d9446b8c6bd9cf117179 timeCreated: 1546668972 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs
@@ -35,6 +35,30 @@ OpponentInformation.Instance.GetOpponentInformation0418(vNetData);//用于获取玩家护盾属性 if (PlayerDatas.Instance.PlayerId == vNetData.ObjID) { if ((PlayerDataRefresh)vNetData.ObjType == PlayerDataRefresh.HP) { bool _sync = false; if (CrossServerRewardModel.IsCrossServerOneVsOne()) { if (vNetData.socketType == GameNetSystem.SocketType.CrossSever) { _sync = true; } } else { _sync = true; } if (_sync) { if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = vNetData.Value; PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)vNetData.Value); } } } PlayerDatas.Instance.RefreshPlayerData(vNetData); } else Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0423_tagObjPropertyRefreshView.cs
@@ -46,6 +46,11 @@ if (vNetData.ObjID == PlayerDatas.Instance.PlayerId) { if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = vNetData.HP; PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)vNetData.HP); } PlayerDatas.Instance.FightRefreshPlayerHp(vNetData.HP); } Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0609_tagPlayerDie.cs
@@ -56,6 +56,12 @@ PlayerDatas.Instance.hero.Behaviour.StopHandupAI(); PlayerDatas.Instance.hero.Behaviour.StopKillUntilDieAI(); } if (_hero != null) { _hero.ActorInfo.SyncServerHp = 0; _hero.ActorInfo.ResetHp(0); } PlayerDatas.Instance.FightRefreshPlayerHp(0); } Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
@@ -306,6 +306,11 @@ { if (_sTarget.ObjID == PlayerDatas.Instance.PlayerId) { if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = _sTarget.CurHP; PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_sTarget.CurHP); } PlayerDatas.Instance.FightRefreshPlayerHp(_sTarget.CurHP); } else @@ -467,7 +472,7 @@ #endif // 跨服竞技场不检测反击逻辑 if(CrossServerRewardModel.IsCrossServerOneVsOne()) if (CrossServerRewardModel.IsCrossServerOneVsOne()) { return; } @@ -684,6 +689,11 @@ { if (_sTarget.ObjID == PlayerDatas.Instance.PlayerId) { if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = _sTarget.CurHP; PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_sTarget.CurHP); } PlayerDatas.Instance.FightRefreshPlayerHp(_sTarget.CurHP); } else Core/NetworkPackage/DTCFile/ServerPack/HA7_Arena/DTCA709_tagObjInfoListRefresh.cs
@@ -27,7 +27,17 @@ if (objId == PlayerDatas.Instance.PlayerId) { PlayerDatas.Instance.RefreshPlayerData(vNetDatas); if (CrossServerRewardModel.IsCrossServerOneVsOne()) { if (vNetDatas.socketType == GameNetSystem.SocketType.CrossSever) { PlayerDatas.Instance.RefreshPlayerData(vNetDatas); } } else { PlayerDatas.Instance.RefreshPlayerData(vNetDatas); } } else { Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs
@@ -229,6 +229,11 @@ if (_sTarget.ObjID == PlayerDatas.Instance.PlayerId) { PlayerDatas.Instance.FightRefreshPlayerHp(_sTarget.CurHP); if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = _sTarget.CurHP; PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_sTarget.CurHP); } } else { Core/SDK/SDKUtility.cs
@@ -29,11 +29,13 @@ public E_ChannelPlatform ChannelPlatform { get; set; } public static string Yj_AppID { public static string Yj_AppID { get; private set; } public static string Yj_SpID { public static string Yj_SpID { get; private set; } @@ -496,6 +498,7 @@ { onFreePlatformPayOk(); } SnxxzGame.Instance.StartCoroutine(DelayQueryRecharge()); break; case CodeA2U.FreePlatformPayFail: if (onFreePlatformPayFail != null) @@ -756,6 +759,13 @@ private Dictionary<string, string> m_PaymentTable = new Dictionary<string, string>(); private string m_EncodeKey = "03sujm7gerywdvyd5vkkk772rs4by230"; private IEnumerator DelayQueryRecharge() { yield return WaitingForSecondConst.WaitMS60000; var _package = new CA806_tagCMQueryRecharge(); GameNetSystem.Instance.SendInfo(_package); } /// <summary> /// 自由SDK支付 fixed sdk 支付逻辑修改 /// </summary> Fight/Actor/AI/HeroAI_Auto.cs
@@ -119,6 +119,7 @@ if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin) { Debug.LogWarning("登陆流程尚未完成"); stopReason = 1; return; } @@ -126,6 +127,7 @@ if (_hero.IsPolyMorph) { stopReason = 2; return; } @@ -141,6 +143,7 @@ if (_hero == null || _hero.ActorInfo.serverDie) { stopReason = 3; return; } @@ -149,12 +152,14 @@ { if (_hero.heavenBattleModel.IsBattlePrepare) { stopReason = 4; return; } } if (_hero.IsCollect() && m_UserClickSkillID <= 0) { stopReason = 5; return; } @@ -172,6 +177,7 @@ _hero.SkillMgr.DoingPrepareSkill = false; } } stopReason = 6; return; } } @@ -179,6 +185,7 @@ // 释放处于释放需要预备的技能状态下 if (_hero.SkillMgr.DoingPrepareSkill) { stopReason = 7; return; } @@ -191,6 +198,7 @@ // 挂机状态下等待拾取装备 if (WaitForPickup()) { stopReason = 8; return; } @@ -202,6 +210,7 @@ // 子类有自己需要在技能释放前处理的逻辑 if (OnUpdate()) { stopReason = 9; return; } } @@ -211,6 +220,7 @@ // 子类有自己需要在技能释放前处理的逻辑 if (OnUpdate()) { stopReason = 10; return; } } @@ -225,6 +235,7 @@ if (MathUtility.DistanceSqrtXZ(_hero.Pos, m_TargetPos) > 0.25f) { _hero.MoveToPosition(m_TargetPos); stopReason = 11; return; } } @@ -242,6 +253,7 @@ // 是否处于攻击间隔 if (Time.realtimeSinceStartup - m_LastUseSkillTime < (1f / _hero.ActorInfo.atkSpeed)) { stopReason = 12; return; } @@ -263,6 +275,7 @@ if (_skill == null) { stopReason = 13; return; } @@ -303,12 +316,14 @@ _hero.Behaviour.DoAttack(_skill); m_DecideSkill = null; m_UserClickSkillID = -1; stopReason = 14; return; } if (_atkTarget == null || !_atkTarget.CanAtked()) { _hero.StopRush(); stopReason = 15; return; } @@ -326,6 +341,7 @@ if ((StatusMgr.IsValid() && !StatusMgr.Instance.CanMove(_hero.ServerInstID))) { stopReason = 16; return; } @@ -338,6 +354,7 @@ _hero.StartRush(); } stopReason = 17; return; } @@ -376,6 +393,7 @@ } } stopReason = 255; m_LastUseSkillTime = Time.realtimeSinceStartup; } Fight/Actor/AI/HeroAI_Base.cs
@@ -8,6 +8,8 @@ public abstract class HeroAI_Base { public static byte stopReason = 0; private SkillModel m_SkillModel; private SkillModel skillModel { Fight/PrepareHandler.cs
@@ -118,6 +118,14 @@ _player.Collect(); } } if (H0812.PlayerID == PlayerDatas.Instance.PlayerId) { if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.Behaviour.StopHandupAI(true); } } break; case E_PrepareType.pstCatchPet: System/CrossServerOneVsOne/FightingPKWin.cs
@@ -67,6 +67,10 @@ CrossServerRewardModel.PkDanLvNow = CrossServerOneVsOnePlayerInfo.Instance.DanLV; PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418) GA_Player.s_OnRefreshLife += OnRefreshPlayerLifeBar; if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.OnHpChange += OnHeroHpChanged; } _MyBuffSortList.Clear(); _OpponentBuffSortList.Clear(); SetScoreText(); @@ -108,6 +112,10 @@ { PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418) GA_Player.s_OnRefreshLife -= OnRefreshPlayerLifeBar; if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.OnHpChange -= OnHeroHpChanged; } HeroBehaviour.OnStopHandupAI -= OnHeroHandupAIStopPassive; HeroBehaviour.OnStartHandupAI -= OnHeroHandupAIStarted; dungeonModel.dungeonCoolDownEvent -= DungeonCoolDownEvent; @@ -149,6 +157,12 @@ } #endregion private void OnHeroHpChanged(ulong hp) { PlaceOfBirthUpdate(positionType); } private void DelBuff() { BuffScheduling(); Utility/RuntimeLogUtility.cs
@@ -220,7 +220,7 @@ Vector3 _position = Vector3.zero; if (GActor.TryGetValidPos(_navChkPos, ref _position)) { Debug.Log("正常点........"); Debug.Log("正常点........: " + _position); } else { @@ -327,6 +327,7 @@ EditorGUILayout.LabelField("技能信息", _content); } EditorGUILayout.IntField("当前主角AI执行状态值: ", HeroAI_Base.stopReason); EditorGUILayout.TextField("队伍ID", _hero.ActorInfo.teamID.ToString()); EditorGUILayout.TextField("是否处于地图切换", GA_Hero.s_MapSwitching.ToString()); EditorGUILayout.TextField("当前身体状态", _hero.MovingState.ToString());