| | |
| | | import IPY_GameWorld
|
| | | import ItemControler
|
| | | import ChPyNetSendPack
|
| | | import PlayerActivity
|
| | | import NetPackCommon
|
| | | import PlayerControl
|
| | | import PlayerOnline
|
| | |
| | | def OnPlayerLogin(curPlayer):
|
| | | Sync_HeroInfo(curPlayer)
|
| | | Sync_PlayerHeroInfo(curPlayer)
|
| | | Sync_LineupRecommendInfo(curPlayer)
|
| | | return
|
| | |
|
| | | def OnPlayerFirstLogin(curPlayer):
|
| | |
| | | heroItem.SetUserAttr(ShareDefine.Def_IudetHeroLV, updHeroLV)
|
| | |
|
| | | PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate([itemIndex])
|
| | | |
| | | PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_HeroLVUP, 1)
|
| | | return
|
| | |
|
| | | def GetHeroLVMax(heroItem):
|
| | |
| | | item.SetUserAttr(ShareDefine.Def_IudetHeroStar, updStar)
|
| | | if addStar > 0:
|
| | | __DoHeroStarTalentUp(item, addStar)
|
| | | PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_HeroStarUP, addStar)
|
| | | if isSync:
|
| | | heroItem.Sync_Item()
|
| | |
|
| | |
| | | for syncItem in syncItemDict.values():
|
| | | syncItem.Sync_Item()
|
| | |
|
| | | lineup = PlayerOnline.GetOnlinePlayer(curPlayer).GetLineup(lineupID)
|
| | | lineup = PlayerOnline.GetOnlinePlayer(curPlayer).GetLineup(lineupID, False)
|
| | | lineup.UpdLineup(heroItemDict, shapeType)
|
| | | return
|
| | |
|
| | |
| | | # curPlayer.SetResetItemTick(0)
|
| | | # ItemControler.ResetItem(curPlayer, ShareDefine.rptHero, 0, 0, tick)
|
| | | # return
|
| | |
|
| | | def GetLineupRecommendAward(curPlayer, recommendID, index):
|
| | | ## 领取阵容推荐奖励
|
| | | index = GameWorld.ToIntDef(index)
|
| | | awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HeroRecommend % recommendID)
|
| | | if awardState & pow(2, index):
|
| | | GameWorld.DebugLog("阵容推荐奖励已领取! recommendID=%s,index=%s" % (recommendID, index))
|
| | | return
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("LineupRecommend", recommendID)
|
| | | if not ipyData:
|
| | | return
|
| | | heroIDList = ipyData.GetHeroIDList()
|
| | | if index >= len(heroIDList):
|
| | | return
|
| | | heroID = heroIDList[index]
|
| | | heroIpyData = IpyGameDataPY.GetIpyGameData("Hero", heroID)
|
| | | if not heroIpyData:
|
| | | return
|
| | | quality = heroIpyData.GetQuality()
|
| | | qualityIpyData = IpyGameDataPY.GetIpyGameData("HeroQuality", quality)
|
| | | if not qualityIpyData:
|
| | | return
|
| | | awardMoneyInfo = qualityIpyData.GetRecommendAwardMoney()
|
| | | if not awardMoneyInfo or len(awardMoneyInfo) != 2:
|
| | | return
|
| | | moneyType, moneyValue = awardMoneyInfo
|
| | | if GetHeroActivite(curPlayer, heroID) != 1:
|
| | | GameWorld.DebugLog("武将未获得过,不可激活阵容推荐! heroID=%s" % (heroID))
|
| | | return
|
| | | awardState |= pow(2, index)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HeroRecommend % recommendID, awardState)
|
| | | GameWorld.DebugLog("阵容推荐领奖! recommendID=%s,index=%s,heroID=%s,awardState=%s" % (recommendID, index, heroID, awardState))
|
| | | PlayerControl.GiveMoney(curPlayer, moneyType, moneyValue, "LineupRecommend", notifyAward=True)
|
| | | Sync_LineupRecommendInfo(curPlayer, [recommendID])
|
| | | return
|
| | |
|
| | | def RefreshLordAttr(curPlayer):
|
| | | ## 刷新主公属性
|
| | |
| | | lineupList = []
|
| | | olPlayer = PlayerOnline.GetOnlinePlayer(curPlayer)
|
| | | for lineupID in syncIDList:
|
| | | lineup = olPlayer.GetLineup(lineupID)
|
| | | lineup = olPlayer.GetLineup(lineupID, False)
|
| | | if not lineup:
|
| | | continue
|
| | |
|
| | |
| | | clientPack.AwakeRebirthCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HeroAwakeRebirthCnt)
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | | return
|
| | |
|
| | | def Sync_LineupRecommendInfo(curPlayer, syncIDList=None):
|
| | | |
| | | recommendList = []
|
| | | ipyDataMgr = IpyGameDataPY.IPY_Data()
|
| | | for index in range(ipyDataMgr.GetLineupRecommendCount()):
|
| | | ipyData = ipyDataMgr.GetLineupRecommendByIndex(index)
|
| | | recommendID = ipyData.GetRecommendID()
|
| | | awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HeroRecommend % recommendID)
|
| | | if syncIDList != None:
|
| | | if recommendID not in syncIDList:
|
| | | continue
|
| | | elif not awardState:
|
| | | continue
|
| | | recommend = ChPyNetSendPack.tagSCLineupRecommend()
|
| | | recommend.RecommendID = recommendID
|
| | | recommend.AwardState = awardState
|
| | | recommendList.append(recommend)
|
| | | |
| | | if not recommendList:
|
| | | return
|
| | | |
| | | clientPack = ChPyNetSendPack.tagSCLineupRecommendInfo()
|
| | | clientPack.RecommendList = recommendList
|
| | | clientPack.Count = len(clientPack.RecommendList)
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | | return
|