From df2aaca6d5b503cc993ec2bf782de6a3a6d900cb Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期六, 27 四月 2019 11:52:45 +0800 Subject: [PATCH] 6636 【后端】【2.0】仙宝寻主 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py | 49 ++++++++++++------------------------------------- 1 files changed, 12 insertions(+), 37 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 1345f99..6e8e0f0 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py @@ -347,47 +347,22 @@ conditionList = ipyData.GetCondition() cnt = 0 if curType == 1: - #角色防御到XX - cnt = PlayerControl.GetFuncDef(curPlayer) - - elif curType == 2: - #穿戴三阶橙色1星或四阶紫色1星以上头盔 + #穿戴X阶X颜色是否套装X部位装备 + cnt = 0 playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip) - SamboSpecialUnlock = IpyGameDataPY.GetFuncEvalCfg('SamboSpecialUnlock') - for equipIndex in xrange(playerEquip.GetCount()): - curEquip = playerEquip.GetAt(equipIndex) + 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 - curClassLV = ItemCommon.GetItemClassLV(curEquip) - itemColor = curEquip.GetItemColor() - itemQuality = curEquip.GetItemQuality() - itemID = curEquip.GetItemTypeID() - for classlv, color, star, place in conditionList: - if equipIndex is place and itemID in SamboSpecialUnlock: - cnt = 1 - break - if equipIndex is place and curClassLV >= classlv and itemColor >= color and itemQuality >= star: - cnt = 1 - break - if cnt: + curItemColor = curEquip.GetItemColor() + curIsSuite = curEquip.GetSuiteID() + if curItemColor >= color and curIsSuite >= suite: + cnt = 1 break -# elif curType == 3: -# #全身装备X星 -# cnt = ChEquip.GetTotalEquipStars(curPlayer) - -# elif curType == 4: -# #X阶普通、强化套装 -# suiteCntDict = {} -# playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip) -# for equipIndex in xrange(playerEquip.GetCount()): -# curEquip = playerEquip.GetAt(equipIndex) -# if curEquip.IsEmpty(): -# continue -# suiteInfo = ChEquip.GetSuiteInfoByPlace(curPlayer, equipIndex, curEquip) -# for suitelv, suiteType in conditionList: -# if suiteInfo.get(suiteType, 0) >= suitelv: -# suiteCntDict[suiteType] = suiteCntDict.get(suiteType, 0)+1 -# cnt = max(suiteCntDict.values()) if suiteCntDict else 0 else: return -- Gitblit v1.8.0