From 6cffbb969c0d62de81d93733f98e0d58d9db6011 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 16 二月 2019 15:10:04 +0800
Subject: [PATCH] 6195 【开发】【1.6】跨服匹配添加机器人(前端自定义机器人PK场景屏蔽中立地图获得经验)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AIType_186.py | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AIType_186.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AIType_186.py
index 64a7047..a928ed2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AIType_186.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AIType_186.py
@@ -166,6 +166,10 @@
if isDead:
GameWorld.Log(" i=%s, 队员血量为0!, memPlayerID=%s" % (i, curTeamPlayer.GetPlayerID()))
continue
+ if not curTeamPlayer.GetVisible():
+ if isDead:
+ GameWorld.Log(" i=%s, 队员不可见!, memPlayerID=%s" % (i, curTeamPlayer.GetPlayerID()))
+ continue
if isDead:
GameWorld.Log(" i=%s, 队员坐标(%s, %s)! memPlayerID=%s" % (i, curTeamPlayer.GetPosX(), curTeamPlayer.GetPosY(), curTeamPlayer.GetPlayerID()))
if npcControl.GetIsInRefreshPoint(curTeamPlayer.GetPosX(), curTeamPlayer.GetPosY(), refreshPoint):
@@ -227,7 +231,7 @@
if curTeamPlayer.GetCopyMapID() == GameWorld.GetGameWorld().GetCopyMapID() \
and npcControl.GetIsInRefreshPoint(curTeamPlayer.GetPosX(), curTeamPlayer.GetPosY(), refreshPoint) \
- and AttackCommon.CheckKillNPCByCnt(curTeamPlayer, curNPC, False):
+ and AttackCommon.CheckKillNPCByCnt(curTeamPlayer, curNPC, False) and curTeamPlayer.GetVisible():
__AddBossDropOwnerPlayerBuff(curTeamPlayer, tick, curNPC)
killerDict[curTeamPlayer.GetPlayerID()] = curTeamPlayer
if isDead:
@@ -256,7 +260,7 @@
continue
# 归属仙盟 且 在boss区域内
- if player.GetFamilyID() == ownerID and npcControl.GetIsInRefreshPoint(player.GetPosX(), player.GetPosY(), refreshPoint):
+ if player.GetFamilyID() == ownerID and npcControl.GetIsInRefreshPoint(player.GetPosX(), player.GetPosY(), refreshPoint) and player.GetVisible():
__AddBossDropOwnerPlayerBuff(player, tick, curNPC)
else:
@@ -383,8 +387,12 @@
def OnCheckCanDie(atkObj, curNPC, skill, tick):
## 检查NPC是否可死亡
+ dropOwnerType = NPCCommon.GetDropOwnerType(curNPC)
+ if dropOwnerType not in [ChConfig.DropOwnerType_MaxHurt]:
+ return True
tagObj = __RefreshDropOwner(curNPC, tick, 0)
if not atkObj or not tagObj:
+ GameObj.SetHP(curNPC, 1)
GameWorld.ErrLog("Boss当前状态下不可以死亡!npcID=%s" % curNPC.GetNPCID())
return False
return True
--
Gitblit v1.8.0