From 531ef1778441b79979e3d5c9367a53f407a0c604 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期一, 27 八月 2018 19:13:35 +0800 Subject: [PATCH] fix:#1721 【BUG】娲皇遗迹,未获得奖励时,副本时间到,扣了次数 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 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..2606f18 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 @@ -6109,9 +6120,6 @@ curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_IgnoreDefRateReduce, value, False) #---特殊伤害概率--- -## 富甲一击概率 -def GetFujiaHitRate(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FujiaHitRate) -def SetFujiaHitRate(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FujiaHitRate, value) ## 富豪一击概率 def GetFuhaoHitRate(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FuhaoHitRate) def SetFuhaoHitRate(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FuhaoHitRate, value) @@ -6122,6 +6130,10 @@ curPlayer.SetDict(ChConfig.Def_PlayerKey_BleedDamage, value) curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_BleedDamage, value, False) +## 最终伤害百分比 +def GetFinalHurtPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurtPer) +def SetFinalHurtPer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FinalHurtPer, value) + ## 最终固定伤害增加 def GetFinalHurt(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurt) def SetFinalHurt(curPlayer, value): -- Gitblit v1.8.0