xdh
2018-12-19 57a7f963e83329c191e135c8102b0614dea6d5b4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -76,7 +76,7 @@
import PlayerEquipDecompose
import PlayerCoat
import PlayerGreatMaster
import PlayerCostVIP
import PlayerGatherSoul
import PlayerMergeKing
import PlayerMergePK
import GameFuncComm
@@ -110,6 +110,7 @@
import PlayerFairyCeremony
import ChNetSendPack
import FamilyRobBoss
import FBHelpBattle
import PyGameData
import PlayerCoin
import PlayerGeTui
@@ -245,6 +246,11 @@
    
    #同步GameServer自己的地图ID
    curPlayer.Sync_GameServer_MapID()
    # 屏蔽跨服下关闭和子服重复的数据的发送 pushsend接口, notifyall正常发送
    # !!!必要发送的数据要注意位置
    if GameWorld.IsMergeServer():
        curPlayer.SetForbiddenSyncClientState(True)
    
    SyncGuideState(curPlayer)
    
@@ -556,7 +562,10 @@
    SyncLittleHelper(curPlayer)
    # 聊天气泡框
    SyncChatBubbleBoxState(curPlayer)
    # 副本助战
    FBHelpBattle.DoPlayerLogin(curPlayer)
    # 聚魂
    PlayerGatherSoul.PlayerLogin(curPlayer)
    curPlayer.SetState(0)   # 脱机挂恢复为正常上线
    curPlayer.SetFacePic(0) # 通知数据库是否保存还是下线,做一次恢复,1为保存 0为正常下线
    tjgTime = PlayerTJG.GetTJGTime(curPlayer)
@@ -566,6 +575,12 @@
    # 如果被禁言的,上线同步前端
    if curPlayer.GetGMForbidenTalk():
        curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_ForbidenTalk, curPlayer.GetGMForbidenTalk(), False)
    # 屏蔽跨服下关闭和子服重复的数据的发送 pushsend接口, notifyall正常发送
    # !!!必要发送的数据要注意位置
    if GameWorld.IsMergeServer():
        curPlayer.SetForbiddenSyncClientState(False)
    return
@@ -2504,7 +2519,7 @@
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_RoomID, 0)
    
    #下线召回宠物
    #PetControl.ReCallFightPet(curPlayer)
    PetControl.ReCallFightPet(curPlayer)
    
    PlayerTJG.CalcPlayerTJG(curPlayer, tick)
    
@@ -3920,15 +3935,22 @@
        SkillCommon.AddBuffBySkillType_NoRefurbish(curPlayer , ChConfig.Def_SkillID_ReviveTired, tick, buffSkillLV)
        GameWorld.DebugLog('    复活疲劳BUff buffSkillLV=%s'%(buffSkillLV))
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_IsAddReviveTired,0)
    #复活后清除角色身上的打BOSS和PK状态
    validTime = IpyGameDataPY.GetFuncCfg("PKConfig", 4) * 1000
    if PlayerState.IsInPKState(curPlayer):
        PlayerState.SetPKStateTick(curPlayer, tick - validTime)
    if PlayerState.IsInBossState(curPlayer):
        PlayerState.SetBossStateTick(curPlayer, tick- validTime)
    
    #重算属性
    playerControl = PlayerControl.PlayerControl(curPlayer)
    playerControl.RefreshAllState()
    
    #设置血量
    curPlayer.SetHP(curPlayer.GetMaxHP() * resetHpPercent / ChConfig.Def_MaxRateValue)
    curPlayer.SetMP(curPlayer.GetMaxMP() * resetMpPercent / ChConfig.Def_MaxRateValue)
    #curPlayer.SetMP(curPlayer.GetMaxMP() * resetMpPercent / ChConfig.Def_MaxRateValue)
    #护盾
    PlayerControl.SetProDef(curPlayer, PlayerControl.GetMaxProDef(curPlayer))
    
    #玩家复活后副本处理
    FBLogic.OnPlayerRebornOver(curPlayer, playerRebornType)
@@ -5647,7 +5669,7 @@
    sendPack.Speed = curPlayer.GetSpeed()
    sendPack.MoveType = moveType
    # NotifyAll 做过滤或者数量处理
    PlayerControl.PyNotifyAll(curPlayer, sendPack, False, -1)
    PlayerControl.PyNotifyAll(curPlayer, sendPack, False, 0)
    return
def GetDownloadAward(curPlayer, dataEx):