| | |
| | | import EventShell
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import PlayerSuccess
|
| | | import PlayerWeekParty
|
| | | import PlayerActLogin
|
| | | import BuffSkill
|
| | |
|
| | | import random
|
| | |
| | | # @param tick
|
| | | # @return None
|
| | | def DoEnterFB(curPlayer, tick):
|
| | | PlayerControl.SetSight(curPlayer, ChConfig.Def_PlayerSight_Default * 2)
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | mapID = GameWorld.GetGameWorld().GetMapID()
|
| | | gameFB = GameWorld.GetGameFB()
|
| | |
| | | # @param tick 时间戳
|
| | | # @return 无意义
|
| | | def DoExitFB(curPlayer, tick):
|
| | | |
| | | PlayerControl.SetSight(curPlayer, ChConfig.Def_PlayerSight_Default)
|
| | | return
|
| | |
|
| | | ##玩家主动离开副本.
|
| | |
| | | # @param tick 时间戳
|
| | | # @return 返回值无意义
|
| | | def DoPlayerLeaveFB(curPlayer, tick):
|
| | | PlayerControl.SetSight(curPlayer, ChConfig.Def_PlayerSight_Default)
|
| | | return
|
| | |
|
| | | ##玩家切换地图
|
| | |
| | | FBCommon.Sync_FBPlayerFBInfoData(curPlayer, mapID) # 同步信息
|
| | | if not lastStar and not isInFBOnDay: #每日活动
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_IceLode)
|
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_IceLode, 1)
|
| | | PlayerActLogin.AddLoginAwardActionCnt(curPlayer, ChConfig.Def_LoginAct_IceLode, 1)
|
| | |
|
| | | if isInFBOnDay: #在副本里过天,副本结束后再补发星级奖励
|
| | | CheckIceLodeStarAwardMail(curPlayer)
|
| | |
| | | PlayerControl.SendMailByKey('', [curPlayer.GetID()], itemList)
|
| | | else:
|
| | | for itemID, itemCount, isBind in itemList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem])
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem])
|
| | |
|
| | | jsonItemList = FBCommon.GetJsonItemList(itemList)
|
| | | overDict[FBCommon.Over_itemInfo] = jsonItemList
|
| | | EventShell.EventRespons_FBEvent(curPlayer, 'icelode')
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_IceLode, 1)
|
| | | |
| | | # 通知结果
|
| | | __SendIceLodeOverInfo(curPlayer, overDict)
|
| | |
|
| | |
| | | PlayerControl.SendMailByKey(0, [curPlayer.GetID()], itemList)
|
| | | else:
|
| | | for itemID, itemCnt, isBind in itemList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem])
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem])
|
| | | #直接将5条线星级改为3星
|
| | | addCnt = 0
|
| | | starCnt, lineList = GetIceLodeAllStarCnt(curPlayer)
|
| | |
| | | addCnt += 1
|
| | | GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineid, 3, False, [mapID])
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_IceLode, addCnt)
|
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_IceLode, addCnt)
|
| | | PlayerActLogin.AddLoginAwardActionCnt(curPlayer, ChConfig.Def_LoginAct_IceLode, addCnt)
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_IceLode, len(lineList))
|
| | | FBCommon.Sync_FBPlayerFBInfoData(curPlayer, mapID) # 同步信息
|
| | | # npcCountDict = {}
|
| | | # iceLodeSweepDict = IpyGameDataPY.GetFuncEvalCfg('IceLodeSweep')
|
| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_IceLodeStarAwardRecord, awardRecord|pow(2, starIndex))
|
| | |
|
| | | for itemID, itemCount, isBind in awardList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem])
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem])
|
| | | #֪ͨ
|
| | | SyncIceLoddInfo(curPlayer)
|
| | | return
|