| | |
| | | import ShareDefine
|
| | | import ItemCommon
|
| | | import PlayerSuccess
|
| | | import FBHelpBattle
|
| | | import EventReport
|
| | | import PlayerWeekParty
|
| | |
|
| | | import math
|
| | |
|
| | |
| | | FBCommon.AddEnterFBCount(curPlayer, mapID, 1)
|
| | | joinType = FBCommon.GetFBJoinType(curPlayer, isHelpFight)
|
| | | EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_ChaosDemon, 0, ChConfig.CME_Log_Start, joinType)
|
| | | |
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_ChaosDemon, 1)
|
| | |
|
| | | fbStep = gameFB.GetFBStep()
|
| | | if fbStep <= FB_Step_Prepare:
|
| | |
| | | curPlayer.Sync_TimeTick(IPY_GameWorld.tttTowerTake, 0, max(notify_tick, 0), True)
|
| | | __UpdChaosDemonFBStar(tick, True, curPlayer)
|
| | |
|
| | | DoFBHelp(curPlayer, tick)
|
| | | FBHelpBattle.RefershTeamFBMemRelation(tick)
|
| | | #DoFBHelp(curPlayer, tick)
|
| | | return
|
| | |
|
| | | ## 诅咒城堡刷怪
|
| | |
| | | # @return 返回值无意义
|
| | | def DoExitFB(curPlayer, tick):
|
| | | GameWorld.DebugLog("ChaosDemon DoExitFB...", curPlayer.GetPlayerID())
|
| | | fbStep = GameWorld.GetGameFB().GetFBStep()
|
| | | if fbStep <= FB_Step_Fight:
|
| | | FBHelpBattle.RefershTeamFBMemRelation(tick, curPlayer.GetPlayerID())
|
| | | return
|
| | |
|
| | | ##玩家主动离开副本.
|
| | |
| | | # 间隔未到
|
| | | if tick - GameWorld.GetGameFB().GetFBStepTick() < fbCfg[Def_PrepareTime] * 1000:
|
| | | return
|
| | | FBHelpBattle.RefershTeamFBMemRelation(tick)
|
| | | __RefreshChaosDemonNextNPC()
|
| | | playerManager = GameWorld.GetMapCopyPlayerManager()
|
| | | for i in range(playerManager.GetPlayerCount()):
|
| | |
| | | FBCommon.Notify_FB_Over(curPlayer, {FBCommon.Over_isPass: 0})
|
| | | continue
|
| | | overDict = {FBCommon.Over_grade:star,FBCommon.Over_dataMapID:mapID,FBCommon.Over_isPass:int(isPass), FBCommon.Over_costTime:costTime}
|
| | | #增加助战积分
|
| | | isHelp = False
|
| | | if FBCommon.GetIsHelpFight(curPlayer):
|
| | | FBCommon.AddFBHelpPoint(curPlayer, mapID, 1)
|
| | | isHelp = True
|
| | | else:
|
| | | #给奖励
|
| | | needSpace = len(prizeItemList)
|
| | |
| | | GameWorld.DebugLog("背包空间不够,发送邮件: mailItemList=%s" % str(prizeItemList), curPlayer.GetPlayerID())
|
| | | else:
|
| | | for itemID, itemCnt, isBind in prizeItemList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem], event=["ChaosDemon", False, {}])
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem], event=["ChaosDemon", False, {}])
|
| | |
|
| | | reExp = PlayerControl.GetPlayerReExp(curPlayer)
|
| | | addExp = int(eval(giveExp) * rate/100)
|
| | |
| | | expPoint = addExp / ChConfig.Def_PerPointValue
|
| | | overDict[FBCommon.Over_exp] = exp
|
| | | overDict[FBCommon.Over_expPoint] = expPoint
|
| | |
|
| | | |
| | | addXianyuanCoin, reason = FBHelpBattle.DoFBAddXianyuanCoin(curPlayer, mapID, 0, isHelp)
|
| | | overDict[FBCommon.Over_xianyuanCoin] = [addXianyuanCoin, reason]
|
| | | |
| | | FBCommon.Notify_FB_Over(curPlayer, overDict)
|
| | | #成就
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_ChaosDemon, 1, [playerCount, star])
|
| | |
| | | # @return 无意义
|
| | | # @remarks 用于通知阵营比分条
|
| | | def DoFBHelp(curPlayer, tick):
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | gameFB = GameWorld.GetGameFB()
|
| | | star = gameFB.GetGameFBDictByKey(ChaosDemon_FBStar)
|
| | | wheelNum = gameFB.GetGameFBDictByKey(ChaosDemon_FBNextRefreshStep)
|
| | |
| | | KillNPCCnt = max(0, needKillCnt - remainNPCCnt)
|
| | | data = [KillNPCCnt, needKillCnt]
|
| | | lineID = FBCommon.GetFBPropertyMark()
|
| | | fbHelpDict = {FBCommon.Help_step:wheelNum, FBCommon.Help_grade:star, FBCommon.Help_npcTotal:KillNPCCnt, FBCommon.Help_lineID:lineID}
|
| | | |
| | | isHelp = FBCommon.GetIsHelpFight(curPlayer)
|
| | | helpCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FBRealHelpCount % ChConfig.Def_FBMapID_ChaosDemon)
|
| | | fbHelpDict = {FBCommon.Help_step:wheelNum, FBCommon.Help_grade:star, FBCommon.Help_npcTotal:KillNPCCnt, FBCommon.Help_lineID:lineID, |
| | | FBCommon.Help_isHelp:isHelp, FBCommon.Help_helpCount:helpCount, FBCommon.Help_relation:FBHelpBattle.GetTeamFBMemRelationInfo(playerID)}
|
| | | FBCommon.Notify_FBHelp(curPlayer, fbHelpDict)
|
| | | GameWorld.DebugLog("DoFBHelp %s" % str(fbHelpDict), playerID)
|
| | | return
|
| | |
|
| | |
|