hxp
2026-01-08 de44f98f2a8a2b0c12d3482162f1e30e796d7b94
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py
@@ -20,16 +20,18 @@
import GameWorld
import ItemControler
import PlayerControl
import PlayerSuccess
import PlayerBillboard
import ChPyNetSendPack
import DataRecordPack
import NetPackCommon
import IpyGameDataPY
import PlayerGubao
import ShareDefine
import PlayerTask
import PlayerMail
import DBDataMgr
import TurnSkill
import ObjPool
def OnDay():
    ## 结算昨日奖励
@@ -82,7 +84,6 @@
        GameWorld.DebugLog("非今日天子考验! mapID=%s,funcLineID=%s != %s,bossID=%s" % (mapID, funcLineID, lineID, bossID))
        return
    
    PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_FBTianzi)
    return True, funcLineID
def GetFBNPCInitAttr(turnFight, npcObj):
@@ -196,6 +197,9 @@
    FBCommon.AddEnterFBCount(curPlayer, mapID)
    ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Tianzi", False, {}], isNotifyAward=False)
    SyncTianziInfo(curPlayer, lineID, bossID)
    __onFBTianzi(curPlayer)
    DataRecordPack.DR_FBPass(curPlayer, mapID, funcLineID, {"hpNum":hpNum, "totalHurt":totalHurt})
    return
def __getTianziAwardList(todayHurt, bossID, sweepCnt=1):
@@ -252,12 +256,19 @@
    overDict = {FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList), FBCommon.Over_isSweep:1, 
                "totalHurt":todayHurtTotal, "todayHurtTotal":todayHurtTotal}
    FBCommon.NotifyFBOver(curPlayer, mapID, lineID, isPass, overDict)
    __onFBTianzi(curPlayer)
    return True
def __onFBTianzi(curPlayer):
    PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_FBTianzi)
    PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_OSAFBTianzi, 1)
    PlayerGubao.AddGubaoSpecEffLayer(curPlayer, PlayerGubao.GubaoEffType_Tianzi, 1)
    return
def SyncTianziInfo(curPlayer, lineID=None, bossID=None):
    if lineID == None:
        lineID, bossID = GetTianziTodayInfo(curPlayer)
    clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCTianziKYInfo)
    clientPack = ChPyNetSendPack.tagSCTianziKYInfo()
    clientPack.LineID = lineID
    clientPack.HistoryHurt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TianziHisHurt % bossID)
    clientPack.HistoryHurtEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TianziHisHurtEx % bossID)
@@ -309,4 +320,6 @@
        PlayerMail.SendMailByKey("TianziBillboardAward", playerID, awardList, paramList)
        
    GameWorld.Log("    奖励玩家名次信息: %s" % orderPlayerIDDict)
    billBoard.ClearData() # 每日结算奖励后重置榜单
    return