hxp
2019-01-07 d8cf06e323dca770512529f741a667278c0c8786
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -100,6 +100,7 @@
import PlayerActTotalRecharge
import PlayerSpringSale
import PlayerFairyCeremony
import CrossRealmPlayer
import ChNetSendPack
import FamilyRobBoss
import FBHelpBattle
@@ -107,6 +108,7 @@
import PlayerCoin
import PlayerGeTui
import PlayerDogz
import PlayerCoat
import datetime
import time
@@ -249,6 +251,10 @@
    #初始化玩家背包
    InitPlayerPack(curPlayer)
    
    #上线检查一次装备属性
    ItemControler.PlayerItemControler(curPlayer).CheckRolePackEquipAttr()
    #上线检查加点属性点
    PlayerControl.FixOldAddPoint(curPlayer)
    #通知玩家物品信息
    __Sync_PackDetel(curPlayer)
    
@@ -476,7 +482,7 @@
    PlayerRecover.RecoverOnLogin(curPlayer)
#
#    # ʱװ
#    PlayerCoat.OnLogin_Coat(curPlayer)
    PlayerCoat.OnLogin_Coat(curPlayer)
    
    # 跨服PK
    PlayerCrossRealmPK.DoPlayerLogin(curPlayer)
@@ -858,9 +864,15 @@
    #刷新玩家的视野
    PlayerState.ChangePlayerSigh(curPlayer, tick)
    
    if GameWorld.IsCrossServer():
        curPlayer.SetForbiddenSyncClientState(False)
    playerControl = PlayerControl.PlayerControl(curPlayer)
    #刷新所有状态
    playerControl.ReCalcAllState()
    if GameWorld.IsCrossServer():
        curPlayer.SetForbiddenSyncClientState(True)
    
    #刷新已分钟单位消耗的物品(不让玩家一上线就掉耐久)
    curPlayer.SetProcessEquipDurgTick(tick)
@@ -1299,6 +1311,8 @@
        #如果玩家上线后死亡,回程复活
        isLogin = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_LoadMapIsLogin)
        rebornType = ChConfig.rebornType_City if isLogin else ChConfig.rebornType_System
        if GameWorld.IsCrossServer():
            rebornType  = ChConfig.rebornType_System
        PlayerRebornByType(curPlayer, rebornType, tick)
        
    elif curMap.CanMove(posX, posY) != True:
@@ -1353,6 +1367,10 @@
    
    PassiveBuffEffMng.OnLoadMapGFPassive(curPlayer)
    ItemControler.PlayerItemControler(curPlayer).RefreshStartEquipCount()   # 刷新装备珍品星级
    #最后处理下跨服
    CrossRealmPlayer.OnLoadMapOK(curPlayer)
    #EndLoadMap需放在最后
    curPlayer.EndLoadMap()
    return True
@@ -3230,6 +3248,8 @@
    sendPack.Clear()
    
    NetPackCommon.SendFakePack(curPlayer, sendPack)
    GameWorld.Log("地图切换失败", curPlayer.GetID())
    return
#---------------------------------------------------------------------
#===============================================================================
@@ -3730,6 +3750,11 @@
#@return 死亡冷却时间
def GetRebronTime(curPlayer, playerRebornType):
    mapType = GameWorld.GetMap().GetMapFBType()
    if playerRebornType in [ChConfig.rebornType_Health, ChConfig.rebornType_UseItem]:
        #原地复活、道具复活不用CD
        return 0
    # 副本地图CD
    if mapType != IPY_GameWorld.fbtNull:
        fbRebornTimeDict = IpyGameDataPY.GetFuncEvalCfg('DuplicatesRebornTime', 1)
@@ -3737,9 +3762,7 @@
        if curMapID in fbRebornTimeDict:
            return fbRebornTimeDict[curMapID]
        return fbRebornTimeDict.get(0, 0)
    if playerRebornType in [ChConfig.rebornType_Health, ChConfig.rebornType_UseItem]:
        #原地复活、道具复活不用CD
        return 0
    if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_IsAddReviveTired):
        findBuff = SkillCommon.FindBuffByID(curPlayer, ChConfig.Def_SkillID_ReviveTired)[0]
        if findBuff:
@@ -3792,7 +3815,7 @@
#@param mapBornPlace 复活位置,默认0为原地
#@return 返回值无意义
#@remarks 自定义函数, 玩家复活
def PlayerRebornByType(curPlayer, playerRebornType, tick, mapBornPlace=0):
def PlayerRebornByType(curPlayer, playerRebornType, tick, mapBornPlace=0, isAddSuperBuff=True):
    curPlayerID = curPlayer.GetID()
    curVipLv = curPlayer.GetVIPLv()
    
@@ -3901,7 +3924,8 @@
        FBLogic.OnResetFBRebornPlacePos(curPlayer, mapBornPlace, tick)
    
    #复活加无敌Buff
    SkillCommon.AddBuffBySkillType_NoRefurbish(curPlayer , ChConfig.Def_SkillID_LimitSuperBuff, tick)
    if isAddSuperBuff:
        SkillCommon.AddBuffBySkillType_NoRefurbish(curPlayer , ChConfig.Def_SkillID_LimitSuperBuff, tick)
    #复活疲劳BUff
    if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_IsAddReviveTired):
        findBuff = SkillCommon.FindBuffByID(curPlayer, ChConfig.Def_SkillID_ReviveTired)[0]
@@ -4251,6 +4275,18 @@
#---------------------------------------------------------------------
#---------------------------------------------------------------------
#// C1 05 进入跨服地图 #tagCMEnterCrossServer
#
#struct    tagCMEnterCrossServer
#{
#    tagHead        Head;
#    DWORD        DataMapID;
#};
def OnEnterCrossServer(index, clientData, tick):
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    PlayerControl.PlayerEnterCrossServer(curPlayer, clientData.DataMapID)
    return
#===============================================================================
# //03 21 进入副本活动#tagCEnterFbGameEvent
# tagCEnterFbGameEvent       *   GettagCEnterFbGameEvent();