From 8bd70716e5e64b399b1d3dab025e6fe971ab9fb3 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 23 八月 2018 22:21:21 +0800
Subject: [PATCH] Fix: 2848 【后端】部位掉落保护规则优化;
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 6c82da8..01e10c3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -86,6 +86,7 @@
import ChNetSendPack
import PlayerState
import QuestCommon
+import PlayerDogz
import GMShell
import random
@@ -1160,8 +1161,12 @@
# 3. 如果没有玩家存在, 副本回收
if GameWorld.GetMap().GetMapFBType() != 0:
#离开副本
+ fbIndex = GameWorld.GetGameWorld().GetCurGameWorldIndex()
+ exitFBType = 1 if isDisconnect else 2
+ PyGameData.g_lastExitFBType[fbIndex] = [exitFBType, tick]
+ #GameWorld.DebugLog("玩家离开副本:fbIndex=%s,exitFBType=%s, %s" % (fbIndex, exitFBType, PyGameData.g_lastExitFBType), curPlayer.GetPlayerID())
FBLogic.DoExitFBLogic(curPlayer, tick)
-
+
GameLogic_ManorWar.DoExitFB(curPlayer, tick)
#清空所有不属于自己的光环
@@ -2004,7 +2009,7 @@
# @param canLock 是否可以锁定玩家(传送点不可锁定, 因为要跨地图寻路)
# @return 返回值无意义
# @remarks 玩家切换地图
-def PlayerResetWorldPos(curPlayer, mapID, posX, posY, takeTruck, lineID= -1, msg='', canLock=True, exData1=0):
+def PlayerResetWorldPos(curPlayer, mapID, posX, posY, takeTruck, lineID=-1, msg='', canLock=True, exData1=0):
#更改: 死亡允许切换地图, 在副本中被怪打死, 副本时间到, 回收副本
# if curPlayer.GetHP() <= 0 :
# GameWorld.Log("死亡无法切换地图")
@@ -2077,6 +2082,10 @@
GameWorld.DebugLog("分流boss, bossID=%s,bossShuntLineID=%s" % (bossID, bossShuntLineID), playerID)
NPCCommon.AddBossShuntRelatedPlayer(curPlayer, tagMapID, bossShuntLineID, bossID, tick)
return bossShuntLineID
+ return tagLineID
+
+ if curMapID == tagMapID:
+ GameWorld.DebugLog("同地图切换坐标不处理分流!", playerID)
return tagLineID
# 可以用来常规分流的线路人数字典信息, 并不是所有线路都可以用来做人数分流的,比如中立地图有多条线用来分流boss,但是只有1条线可用来做常规的人数分流
@@ -3950,11 +3959,13 @@
PlayerPet.CalcPetItemAddPlayerAttr(curPlayer)
PlayerRune.RefreshRuneAttr(curPlayer)
PlayerMagicWeapon.CalcMagicWeaponAttr(curPlayer)
+ PlayerMagicWeapon.CalcMagicWeaponSoulAttr(curPlayer)
PlayerSuccess.CalcSuccessAttr(curPlayer)
PlayerVip.CalcVIPAttr(curPlayer)
PlayerRefineStove.CalcStoveAttr(curPlayer)
PlayerFamilyTech.CalcFamilyTechAttr(curPlayer)
PlayerEquipDecompose.RefreshEDAttr(curPlayer)
+ PlayerDogz.RefreshDogzAttr(curPlayer)
self.RefreshAllState(isForce=True)
GameWorld.DebugLog("End ReCalcAllState!!!")
return
--
Gitblit v1.8.0