| | |
| | |
|
| | | import GameWorld
|
| | | import ItemControler
|
| | | import PlayerBeauty
|
| | | import FBCommon
|
| | | import PlayerTask
|
| | | import ChConfig
|
| | |
|
| | | def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList):
|
| | | ## 回合战斗请求
|
| | |
| | |
|
| | | return True, funcLineID
|
| | |
|
| | | def OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg):
|
| | | ## 回合战斗结束
|
| | | |
| | | def OnTurnFightAward(curPlayer, guid, mapID, funcLineID, winFaction, statMsg, dateStr, reqData, awardDict):
|
| | | ## 回合战斗结算奖励
|
| | | if not curPlayer:
|
| | | return
|
| | |
|
| | | isWin = turnFight.isWin
|
| | | isWin = winFaction == ChConfig.Def_FactionA
|
| | |
|
| | | if not isWin:
|
| | | return
|
| | |
| | |
|
| | | itemList = FBCommon.GetPassAwardList(mapID, funcLineID)
|
| | | GameWorld.DebugLog("过关奖励: mapID=%s,funcLineID=%s,itemList=%s" % (mapID, funcLineID, itemList))
|
| | | overMsg.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList)})
|
| | | |
| | | turnFight.awardData = [itemList]
|
| | | return
|
| | |
|
| | | def OnTurnFightAward(curPlayer, turnFight, mapID, funcLineID, awardData):
|
| | | ## 回合战斗结算奖励
|
| | | if not curPlayer:
|
| | | return
|
| | | |
| | | if not awardData:
|
| | | return
|
| | | |
| | | itemList = awardData[0]
|
| | | awardDict.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList)})
|
| | |
|
| | | # 首通不扣次数
|
| | | FBCommon.AddEnterFBCount(curPlayer, mapID, isFree=True)
|
| | | FBCommon.SetFBPass(curPlayer, mapID, funcLineID)
|
| | | ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
|
| | | |
| | | PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_FBZhanchui)
|
| | | return
|
| | |
|
| | | def OnPlayerFBSweepAsk(curPlayer, mapID, lineID, sweepCnt, dataEx):
|
| | |
| | | def OnPlayerFBSweepResult(curPlayer, mapID, lineID, sweepCnt, dataEx, askRet):
|
| | | ## 扫荡结果,次数消耗已在外层处理扣除
|
| | |
|
| | | itemList = FBCommon.GetSweepAwardList(mapID, lineID, sweepCnt)
|
| | | GameWorld.DebugLog("白骨盈野扫荡: mapID=%s,lineID=%s,sweepCnt=%s" % (mapID, lineID, sweepCnt))
|
| | | itemList = []
|
| | | itemList += FBCommon.GetSweepAwardList(mapID, lineID, sweepCnt)
|
| | | GameWorld.DebugLog("白骨盈野扫荡: mapID=%s,lineID=%s,sweepCnt=%s,itemList=%s" % (mapID, lineID, sweepCnt, itemList))
|
| | |
|
| | | exItemCount, exItemID = PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_FBZhanchuiItemEx) # 扫荡额外物品奖励
|
| | | if exItemCount and exItemID:
|
| | | itemList += [[exItemID, exItemCount, 1]] # 标记是红颜效果额外获得的
|
| | | GameWorld.DebugLog("红颜额外增加扫荡物品奖励: exItemID=%s, exItemCount=%s, itemList=%s" % (exItemID, exItemCount, itemList))
|
| | | |
| | | ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
|
| | |
|
| | | isPass = 1
|
| | | overDict = {FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList), FBCommon.Over_isSweep:1}
|
| | | jsonItemList = []
|
| | | for itemInfo in itemList:
|
| | | itemDict = {"ItemID":itemInfo[0], "Count":itemInfo[1]}
|
| | | if len(itemInfo) > 2:
|
| | | itemDict['BeautyEx'] = itemInfo[2]
|
| | | jsonItemList.append(itemDict)
|
| | | overDict = {FBCommon.Over_itemInfo:jsonItemList, FBCommon.Over_isSweep:1}
|
| | | FBCommon.NotifyFBOver(curPlayer, mapID, lineID, isPass, overDict)
|
| | |
|
| | | return True
|