| | |
| | | #};
|
| | | def OpenRealmFB(index, clientData, tick):
|
| | | return
|
| | |
|
| | | def GetXXZLAward(curPlayer, taskID):
|
| | | ## 领取修仙之路奖励
|
| | | awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmXXZLAward)
|
| | | if awardState&pow(2, taskID):
|
| | | GameWorld.DebugLog("已领取过境界修仙之路该奖励, taskID=%s" % taskID, curPlayer.GetPlayerID())
|
| | | return
|
| | |
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("RealmXXZL", taskID)
|
| | | if not ipyData:
|
| | | return
|
| | | taskType = ipyData.GetTaskType()
|
| | | needValue = ipyData.GetNeedValue()
|
| | | curValue= 0
|
| | | |
| | | #1. 得到 XXX法宝, 所需值为法宝ID
|
| | | if taskType == 1:
|
| | | magicWeaponID = needValue
|
| | | if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MagicWeaponLV % magicWeaponID) >= 1:
|
| | | curValue = needValue
|
| | | |
| | | #2. 通关天星塔X层
|
| | | elif taskType == 2:
|
| | | curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_SkyTowerFloor)
|
| | | |
| | | #3. 击杀世界BOSSX只
|
| | | elif taskType == 3:
|
| | | curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Boss_KillCntTotal % ShareDefine.Def_Boss_Func_World)
|
| | | |
| | | #4. 活跃修炼X次
|
| | | elif taskType == 4:
|
| | | curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ActivityCountTotal)
|
| | | |
| | | #5. 击杀个人BOSS:xxx,所需之为个人boss表对应线路id
|
| | | elif taskType == 5:
|
| | | mapID = ChConfig.Def_FBMapID_PersonalBoss
|
| | | lineID = needValue
|
| | | if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID]):
|
| | | curValue = needValue
|
| | | |
| | | #6. 通关宗门试炼x次
|
| | | elif taskType == 6:
|
| | | curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntTotal % ChConfig.Def_FBMapID_MunekadoTrial)
|
| | | |
| | | #7. 获得X点灵根点
|
| | | elif taskType == 7:
|
| | | curValue = PlayerControl.GetTotalLingGenPoint(curPlayer)
|
| | | |
| | | if curValue < needValue:
|
| | | GameWorld.DebugLog("境界修仙之路当前任务所需值不满足,无法领奖, taskID=%s,taskType=%s,curValue=%s < %s" |
| | | % (taskID, taskType, curValue, needValue), curPlayer.GetPlayerID())
|
| | | return
|
| | | |
| | | awardItemList = ipyData.GetAwardItemList()
|
| | | if not ItemCommon.GiveAwardItem(curPlayer, awardItemList):
|
| | | return
|
| | | |
| | | updAwardState = awardState|pow(2, taskID)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmXXZLAward, updAwardState)
|
| | | GameWorld.DebugLog("领取境界修仙之路奖励, awardID=%s,updAwardState=%s" % (taskID, updAwardState), curPlayer.GetPlayerID())
|
| | | SyncRealmFBState(curPlayer)
|
| | | return
|
| | |
|
| | | def SyncRealmFBState(curPlayer):
|
| | | #通知客户端渡劫副本是否开启
|
| | | if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official):
|
| | | return
|
| | | #if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official):
|
| | | # return
|
| | | sendPack = ChPyNetSendPack.tagMCSyncRealmInfo()
|
| | | sendPack.IsPass = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmFBIsOpen)
|
| | | sendPack.XXZLAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmXXZLAward)
|
| | | NetPackCommon.SendFakePack(curPlayer, sendPack)
|
| | | return
|
| | |
|