From 8eec7c10e8d56fad0159556eb1ef7f3d6d68a479 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 26 一月 2021 11:40:17 +0800
Subject: [PATCH] 8710 【开发】【主干】【BT2】根据世界等级配置奖励(集字活动支持按世界等级配置不同奖励);
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py | 39 ++++++++++++++++++++++++++++++++-------
1 files changed, 32 insertions(+), 7 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
index d50ed8e..672fbf9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
@@ -85,6 +85,14 @@
return
curPartPlusLV = ChEquip.GetEquipPartPlusLV(curPlayer, packType, index)
+ classLV = ItemCommon.GetItemClassLV(curEquip)
+ plusMaxIpyData = IpyGameDataPY.GetIpyGameData("ItemPlusMax", findType, classLV)
+ if not plusMaxIpyData:
+ return
+ plusLVMax = plusMaxIpyData.GetPlusLVMax()
+ if curPartPlusLV >= plusLVMax:
+ #GameWorld.DebugLog("强化达到本阶最大等级,无法强化! classLV=%s,plusLVMax=%s,curPartPlusLV=%s" % (classLV, plusLVMax, curPartPlusLV))
+ return
plusIpyData = IpyGameDataPY.GetIpyGameData("ItemPlus", findType, curPartPlusLV)
if not plusIpyData:
return
@@ -140,7 +148,7 @@
curPartPlusLV += 1
__EquipMayaPlusChange(curPlayer, packType, curEquip, index, curPartPlusLV)
- DataRecordPack.DR_UpStarLVSuccess(curPlayer, curExp, curPartPlusLV)
+ #DataRecordPack.DR_UpStarLVSuccess(curPlayer, curExp, curPartPlusLV)
ChEquip.SetEquipPartProficiency(curPlayer, packType, index, curExp)
ChEquip.NotifyEquipPartPlusLV(curPlayer, packType, index)
PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_EquipPlus)
@@ -161,16 +169,33 @@
PlayerControl.WorldNotify(0, "StrengthenCongratulation", msgParamList)
classLV = ItemCommon.GetItemClassLV(curEquip)
- # 成就
- #PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_EquipPlusLV, 1, [updPlusLV])
DoLogic_OnEquipPartStarLVChange(curPlayer, packType, classLV)
- # 增加强化成就
- PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_EquipPlus, 1)
+ # 强化成就
+ __UpdateEquipPlusSuccess(curPlayer, classLV)
EventShell.EventRespons_EquipPlus(curPlayer, classLV, updPlusLV)
-
+
# 开服活动数据
- OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PlusLV, ChEquip.GetTotalPlusLV(curPlayer))
+ #OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_Plus, ChEquip.GetTotalPlusLV(curPlayer))
+ return
+
+def __UpdateEquipPlusSuccess(curPlayer, classLV):
+ ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('EquipPlaceIndexMap', {'ClassLV':classLV}, True)
+ if not ipyDataList:
+ return
+
+ packType = IPY_GameWorld.rptEquip
+ plusLVCountDict = {}
+ for ipyData in ipyDataList:
+ index = ipyData.GetGridIndex()
+ plusLV = ChEquip.GetEquipPartPlusLV(curPlayer, packType, index)
+ if not plusLV:
+ continue
+ conditionKey = (classLV, plusLV)
+ plusLVCountDict[conditionKey] = plusLVCountDict.get(conditionKey, 0) + 1
+
+ #GameWorld.DebugLog("强化成就数据: classLV=%s,plusLVCountDict=%s" % (classLV, plusLVCountDict))
+ PlayerSuccess.UpdateSuccessProgressByConditions(curPlayer, ShareDefine.SuccType_EquipPlus, plusLVCountDict)
return
def DoLogic_OnEquipPartStarLVChange(curPlayer, packType, classLV):
--
Gitblit v1.8.0