From 321404e348a4b11c5389fd3f3e3dd5d3fee7cdc5 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 21 一月 2019 19:24:21 +0800
Subject: [PATCH] 5999 【主干】优化上线通知玩家技能
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
index b99b32d..03a013c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
@@ -31,7 +31,7 @@
import PlayerFamily
import PlayerActivity
import PlayerSuccess
-import PlayerMagicWeapon
+import GameFuncComm
import PyGameData
import PlayerVip
import GameObj
@@ -630,7 +630,7 @@
#---------------------------------------------------------------------
def SyncDynamicBarrierState(barrierPointList, state, curPlayer=None):
'''同步动态障碍物是否有效性
- @param barrierPointList: 障碍物点列表 [[aPosX,aPosY,bPosX,bPosY], [aPosX,aPosY,bPosX,bPosY], ...]
+ @param barrierPointList: 障碍物点列表 [[aPosX,aPosY,bPosX,bPosY,angle可选], [aPosX,aPosY,bPosX,bPosY,angle可选], ...]
@param state: 是否有效
@param curPlayer: 指定通知目标玩家,为None时广播本地图所有玩家
'''
@@ -638,12 +638,15 @@
barrierStatePack.Clear()
barrierStatePack.State = state
barrierStatePack.BarrierList = []
- for aPosX, aPosY, bPosX, bPosY in barrierPointList:
+ for posInfo in barrierPointList:
+ aPosX, aPosY, bPosX, bPosY = posInfo[:4]
+ angle = posInfo[4] if len(posInfo) > 4 else 0
barrier = ChPyNetSendPack.tagMCDynamicBarrier()
barrier.APosX = aPosX
barrier.APosY = aPosY
barrier.BPosX = bPosX
barrier.BPosY = bPosY
+ barrier.Angle = angle
barrierStatePack.BarrierList.append(barrier)
barrierStatePack.Count = len(barrierStatePack.BarrierList)
if curPlayer:
@@ -1691,6 +1694,13 @@
newEnterCnt = max(0, dayTimes - (maxCnt - enterCnt))
PlayerControl.NomalDictSetProperty(curPlayer, enterCntKey, newEnterCnt)
GameWorld.DebugLog(" 特殊副本已进入次数更新: newEnterCnt=%s" % newEnterCnt)
+ elif mapID == ChConfig.Def_FBMapID_ZhuXianBoss:
+ if GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_ZhuXianBoss):
+ curCnt = min(maxCnt - enterCnt + IpyGameDataPY.GetFuncCfg('ZhuXianBossCntCfg'), IpyGameDataPY.GetFuncCfg('ZhuXianBossCntCfg', 2))
+ if curCnt > dayTimes:
+ PlayerControl.NomalDictSetProperty(curPlayer, itemAddCntKey, curCnt - dayTimes)
+ elif curCnt < dayTimes:
+ PlayerControl.NomalDictSetProperty(curPlayer, enterCntKey, dayTimes - curCnt)
mapIDInfo.append(mapID)
@@ -1756,6 +1766,9 @@
if mapID == ChConfig.Def_FBMapID_SealDemon and maxDayTimes and maxCnt - enterCnt >= maxDayTimes:
GameWorld.DebugLog('当前次数已满,无需购买。。')
return
+ if mapID == ChConfig.Def_FBMapID_ZhuXianBoss and maxCnt - enterCnt >= IpyGameDataPY.GetFuncCfg('ZhuXianBossCntCfg', 2):
+ return
+
if hasBuyCnt >= canBuyCnt:
GameWorld.DebugLog("购买次数已经用完mapID=%s"%mapID)
return
--
Gitblit v1.8.0