From a81d36e5c709d7d4465be2ddaed2bd58a6132be0 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期二, 04 六月 2019 10:50:29 +0800 Subject: [PATCH] 6501 仙宝寻主任务接口修改 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py | 39 +++++++++++++++++++++++++++++++++------ 1 files changed, 33 insertions(+), 6 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py index 55e0e60..a0c2c21 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py @@ -344,14 +344,42 @@ return def GetXBXZAwardProgress(curPlayer, mwID): - # 获取仙宝寻主进度 + ##获取仙宝寻主当前达到条件的个数 ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('XBXZ', {'MWID': mwID}, True, False) + if not ipyDataList: + return 0 cnt = 0 - if ipyDataList: - for ipyData in ipyDataList: - if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_XBXZAwardRecord, ipyData.GetID()): - cnt += 1 + playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip) + for ipyData in ipyDataList: + curType = ipyData.GetType() + conditionList = ipyData.GetCondition() + + if curType == 1: + #穿戴X阶X颜色是否套装X部位装备 + for classlv, color, suite, place in conditionList: + equipIpyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap',classlv,place) + if not equipIpyData: + continue + gridIndex = equipIpyData.GetGridIndex() + curEquip = playerEquip.GetAt(gridIndex) + if curEquip.IsEmpty(): + continue + curItemColor = curEquip.GetItemColor() + curIsSuite = curEquip.GetSuiteID() + if curItemColor >= color and curIsSuite >= suite: + cnt += 1 + break + else: + continue return cnt + +# ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('XBXZ', {'MWID': mwID}, True, False) +# cnt = 0 +# if ipyDataList: +# for ipyData in ipyDataList: +# if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_XBXZAwardRecord, ipyData.GetID()): +# cnt += 1 +# return cnt #------------------------------------------------------------------------------- @@ -417,7 +445,6 @@ EventShell.EventRespons_XBXZ(curPlayer, ipyData.GetMWID()) GameWorld.DebugLog(' 仙宝寻主领奖OK, ID=%s, cnt=%s' % (index, cnt)) return - ## 通知仙宝寻主对应奖励领奖记录 # @param None -- Gitblit v1.8.0