From d01b24369869ddde953776f82a8900e49b016d64 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期六, 25 八月 2018 11:57:39 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
Fight/Actor/State/SMB/SMB_Base.cs | 53 ++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 38 insertions(+), 15 deletions(-)
diff --git a/Fight/Actor/State/SMB/SMB_Base.cs b/Fight/Actor/State/SMB/SMB_Base.cs
index de44069..3290439 100644
--- a/Fight/Actor/State/SMB/SMB_Base.cs
+++ b/Fight/Actor/State/SMB/SMB_Base.cs
@@ -91,6 +91,7 @@
protected void AddToNpcPosList(GActorFight attacker, GActorFight target, int bodyControlId, Vector3 direction, List<NPCPos> npcPosList)
{
+ // Debug.LogFormat("{0} attack {1} ==================== 0", attacker.GetType().ToString(), target.GetType().ToString());
if (PreFightMission.Instance.IsFinished() == false)
{
return;
@@ -103,10 +104,20 @@
SoBodyControl _bodyControl = ScriptableObjectLoader.LoadSoBodyControl(bodyControlId);
+ if (!_bodyControl.pushOrPull)
+ {
+ direction = -direction;
+ }
+
float _distance = _bodyControl.curve.keys[_bodyControl.curve.length - 1].time;
Vector3 _checkPos = target.Pos;
Vector3 _pullPosition = _checkPos + direction * _distance;
+
+ if (!_bodyControl.pushOrPull)
+ {
+ _pullPosition = attacker.Pos + MathUtility.ForwardXZ(target.Pos, attacker.Pos) * 0.5f;
+ }
_checkPos.y = 0;
_pullPosition.y = 0;
@@ -117,24 +128,36 @@
_pullPosition = _hit.position;
}
+ // 鍙涓昏瀵艰嚧鐨勬帹閫昏緫. 濡傛灉鏄叾浠栦汉鐨勯��涓嶈
+ if (target is GActorNpcFight)
+ {
+ if (attacker is GA_Player)
+ {
+ return;
+ }
+ }
+
if (GActor.TryGetValidPos(_pullPosition, ref _checkPos))
{
if (target.ActorType == GameObjType.gotPlayer)
{
- GActorPlayerBase _player = target as GActorPlayerBase;
- //Debug.Log("--------------------------- 8");
- if (_player.MovingState != E_MovingState.Ride)
+ if (target is GA_Hero)
{
- //Debug.Log("--------------------------- 9");
- CB402_tagCMNPCBeatBack _beatBack = new CB402_tagCMNPCBeatBack();
- _beatBack.ObjType = (byte)GameObjType.gotPlayer;
- _beatBack.Count = 1;
- _beatBack.NPCPosList = new CB402_tagCMNPCBeatBack.tagCMNPCPos[1];
- _beatBack.NPCPosList[0] = new CB402_tagCMNPCBeatBack.tagCMNPCPos();
- _beatBack.NPCPosList[0].ObjID = (uint)target.ServerInstID;
- _beatBack.NPCPosList[0].PosX = (ushort)(_checkPos.x * 2f + GA_Hero.MapOffset.x);
- _beatBack.NPCPosList[0].PosY = (ushort)(_checkPos.z * 2f + GA_Hero.MapOffset.x);
- GameNetSystem.Instance.SendInfo(_beatBack);
+ GActorPlayerBase _player = target as GActorPlayerBase;
+ //Debug.Log("--------------------------- 8");
+ if (_player.MovingState != E_MovingState.Ride)
+ {
+ // Debug.LogFormat("{0} attack {1} ==================== 9", attacker.GetType().ToString(), target.GetType().ToString());
+ CB402_tagCMNPCBeatBack _beatBack = new CB402_tagCMNPCBeatBack();
+ _beatBack.ObjType = (byte)GameObjType.gotPlayer;
+ _beatBack.Count = 1;
+ _beatBack.NPCPosList = new CB402_tagCMNPCBeatBack.tagCMNPCPos[1];
+ _beatBack.NPCPosList[0] = new CB402_tagCMNPCBeatBack.tagCMNPCPos();
+ _beatBack.NPCPosList[0].ObjID = (uint)target.ServerInstID;
+ _beatBack.NPCPosList[0].PosX = (ushort)(_checkPos.x * 2f + GA_Hero.MapOffset.x);
+ _beatBack.NPCPosList[0].PosY = (ushort)(_checkPos.z * 2f + GA_Hero.MapOffset.z);
+ GameNetSystem.Instance.SendInfo(_beatBack);
+ }
}
//else
//{
@@ -146,8 +169,8 @@
NPCPos _npcPos = new NPCPos
{
objId = (int)target.ServerInstID,
- posX = (int)(_checkPos.x * 2f),
- posY = (int)(_checkPos.z * 2f)
+ posX = (int)(_checkPos.x * 2f + GA_Hero.MapOffset.x),
+ posY = (int)(_checkPos.z * 2f + GA_Hero.MapOffset.z)
};
npcPosList.Add(_npcPos);
}
--
Gitblit v1.8.0