|  |  |  | 
|---|
|  |  |  | import GameWorld | 
|---|
|  |  |  | import ChConfig | 
|---|
|  |  |  | import PlayerControl | 
|---|
|  |  |  | import PlayerBillboard | 
|---|
|  |  |  | import ChPyNetSendPack | 
|---|
|  |  |  | import NetPackCommon | 
|---|
|  |  |  | import PlayerViewCacheTube | 
|---|
|  |  |  | 
|---|
|  |  |  | def DoPlayerOnDay(curPlayer): | 
|---|
|  |  |  | checkInInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HelpBattleCheckInCount) | 
|---|
|  |  |  | checkInCount = checkInInfo / 10 # 累计登记 | 
|---|
|  |  |  | checkInInfo = (checkInCount + 1) * 10 + 0 | 
|---|
|  |  |  | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HelpBattleCheckInCount, checkInInfo) | 
|---|
|  |  |  | todayIsCheckIn = checkInInfo % 10 # 今天是否已登记 | 
|---|
|  |  |  | if todayIsCheckIn: | 
|---|
|  |  |  | checkInInfo = (checkInCount + 1) * 10 + 0 | 
|---|
|  |  |  | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HelpBattleCheckInCount, checkInInfo) | 
|---|
|  |  |  | SyncCheckInState(curPlayer, 0, False) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def DoPlayerLogin(curPlayer): | 
|---|
|  |  |  | checkInInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HelpBattleCheckInCount) | 
|---|
|  |  |  | todayIsCheckIn = checkInInfo % 10 # 今天是否已登记 | 
|---|
|  |  |  | if todayIsCheckIn: | 
|---|
|  |  |  | SyncCheckInState(curPlayer, 1, True) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def SyncCheckInState(curPlayer, checkInState, isLogin): | 
|---|
|  |  |  | ## 同步登记状态 | 
|---|
|  |  |  | checkInPack = ChPyNetSendPack.tagMCHelpBattleCheckInResult() | 
|---|
|  |  |  | checkInPack.IsOK = checkInState | 
|---|
|  |  |  | checkInPack.IsLogin = int(isLogin) | 
|---|
|  |  |  | NetPackCommon.SendFakePack(curPlayer, checkInPack) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GameServer_FBHelpBattleResult(curPlayer, msgList, tick): | 
|---|
|  |  |  | 
|---|
|  |  |  | if not haveViewCache: | 
|---|
|  |  |  | PlayerViewCacheTube.UpdateGameServerPlayerCache(curPlayer, tick, False) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | checkInPack = ChPyNetSendPack.tagMCHelpBattleCheckInResult() | 
|---|
|  |  |  | checkInPack.IsOK = isOK | 
|---|
|  |  |  | NetPackCommon.SendFakePack(curPlayer, checkInPack) | 
|---|
|  |  |  | SyncCheckInState(curPlayer, 1, False) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | GameWorld.DebugLog("FBHelpBattleResult: %s,checkInCount=%s,fightPower=%s,isOK=%s,haveViewCache=%s" | 
|---|
|  |  |  | % (cmd, checkInCount, fightPower, isOK, haveViewCache), curPlayer.GetPlayerID()) | 
|---|
|  |  |  | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __OnHelpBattleRecord(curPlayer, msgList, tick): | 
|---|
|  |  |  | ## 助战记录同步 | 
|---|
|  |  |  | cmd, helpRecordList = msgList | 
|---|
|  |  |  | playerID = curPlayer.GetPlayerID() | 
|---|
|  |  |  | GameWorld.DebugLog("__OnHelpBattleRecord %s,helpRecordList=%s" % (cmd, helpRecordList), playerID) | 
|---|
|  |  |  | 
|---|
|  |  |  | addXianyuanCoinTotalTotay = 0 # 累计需要增加的今日仙缘币 | 
|---|
|  |  |  | drList = [] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | totalHelpCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HelpBattleTotalCount) | 
|---|
|  |  |  | recordPack = ChPyNetSendPack.tagMCHelpBattleRecordList() | 
|---|
|  |  |  | recordPack.RecordList = [] | 
|---|
|  |  |  | for recordInfo in helpRecordList: | 
|---|
|  |  |  | 
|---|
|  |  |  | addXianyuanCoinTotal += xianyuanCoinAdd | 
|---|
|  |  |  | if isSameDay: | 
|---|
|  |  |  | addXianyuanCoinTotalTotay += xianyuanCoinAdd | 
|---|
|  |  |  |  | 
|---|
|  |  |  | totalHelpCount += 1 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | recordPack.RecordCount = len(recordPack.RecordList) | 
|---|
|  |  |  | NetPackCommon.SendFakePack(curPlayer, recordPack) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | addDataDict = {"HelpList":drList} | 
|---|
|  |  |  | GameWorld.DebugLog("    addXianyuanCoinTotal=%s,addXianyuanCoinTotalTotay=%s" % (addXianyuanCoinTotal, addXianyuanCoinTotalTotay), playerID) | 
|---|
|  |  |  | GameWorld.DebugLog("    addXianyuanCoinTotal=%s,addXianyuanCoinTotalTotay=%s,totalHelpCount=%s" | 
|---|
|  |  |  | % (addXianyuanCoinTotal, addXianyuanCoinTotalTotay, totalHelpCount), playerID) | 
|---|
|  |  |  | PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_XianyuanCoin, addXianyuanCoinTotal, addDataDict=addDataDict, isSysHint=False) | 
|---|
|  |  |  | if addXianyuanCoinTotalTotay: | 
|---|
|  |  |  | PlayerControl.AddTodayXianyuanCoin(curPlayer, addXianyuanCoinTotalTotay) | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 更新总助战次数,更新排行榜 | 
|---|
|  |  |  | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HelpBattleTotalCount, totalHelpCount) | 
|---|
|  |  |  | if totalHelpCount >= IpyGameDataPY.GetFuncCfg("HelpBattleRefresh", 4): | 
|---|
|  |  |  | PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FBHelpBattle, totalHelpCount) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def DoSingleFBAddXianyuanCoin(curPlayer, mapID, lineID): | 
|---|