From 345583c976863943932363dde9ff4aab01f41e94 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 20 六月 2019 20:39:59 +0800
Subject: [PATCH] 7446 【后端】灵根称号修改为每级增加多少点
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStar.py | 60 ++++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 38 insertions(+), 22 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStar.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStar.py
index 993d160..45cb7d5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStar.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStar.py
@@ -24,6 +24,7 @@
import DataRecordPack
import IpyGameDataPY
import GameWorld
+import EventShell
import ChConfig
import ChEquip
#-------------------------------------------------------------------------------------------
@@ -91,8 +92,12 @@
playControl.RefreshPlayerAttrState()
if updPartStar in IpyGameDataPY.GetFuncEvalCfg('EquipPartStarNotify'):
- PlayerControl.WorldNotify(0, "StarLevelUp", [curPlayer.GetPlayerName(), curEquip.GetItemTypeID(), updPartStar])
- #EventShell.EventRespons_EquipPlus(curPlayer)
+ itemID = curEquip.GetItemTypeID()
+ userData = curEquip.GetUserData()
+ guid = ItemCommon.CacheNotifyEquipDetailInfo(curPlayer, curEquip)
+ msgParamList = [curPlayer.GetPlayerName(), itemID, userData, guid, updPartStar]
+ PlayerControl.WorldNotify(0, "StarLevelUp", msgParamList)
+ EventShell.EventRespons_EquipStarUp(curPlayer)
return
@@ -112,27 +117,38 @@
return result
costEquipPlaceList = ipyData.GetCostEquipPlace()
costEquipColorList = ipyData.GetCostEquipColor()
+ isJobLimit = ipyData.GetIsJobLimit()
suitTotalRate = ipyData.GetSuitTotalRate()
- singleSuitRate = float(suitTotalRate) / costEquipCnt
- curRate = 0 #成功概率
- delEquipIndexList = []
itemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
- for i, index in enumerate(clientData.CostEquipIndex):
- costEquip = itemPack.GetAt(index)
- if not costEquip or costEquip.IsEmpty():
- return result
- equipID = costEquip.GetItemTypeID()
- if equipID != clientData.CostEquipID[i]:
- GameWorld.ErrLog(' 装备升星 客户端发的物品索引与实际物品ID不对应 index=%s,eatItemID=%s,wantEatItemID=%s' % (index, equipID, clientData.CostEquipID[i]))
- return result
- if costEquip.GetItemColor() not in costEquipColorList:
- return result
- if costEquip.GetEquipPlace() not in costEquipPlaceList:
- return result
- delEquipIndexList.append(index)
- isSuite = costEquip.GetSuiteID()
- addRate = singleSuitRate if isSuite else singleSuitRate / 2
- curRate += addRate
+ delEquipIndexList = []
+ totalEquipStars = ChEquip.GetTotalEquipStars(curPlayer)
+
+ if not costEquipCnt:
+ curRate = suitTotalRate / 2
+ else:
+ singleSuitRate = float(suitTotalRate) / costEquipCnt
+ curRate = 0 #成功概率
+
+ for i, index in enumerate(clientData.CostEquipIndex):
+ costEquip = itemPack.GetAt(index)
+ if not costEquip or costEquip.IsEmpty():
+ return result
+ equipID = costEquip.GetItemTypeID()
+ if equipID != clientData.CostEquipID[i]:
+ GameWorld.ErrLog(' 装备升星 客户端发的物品索引与实际物品ID不对应 index=%s,eatItemID=%s,wantEatItemID=%s' % (index, equipID, clientData.CostEquipID[i]))
+ return result
+ if costEquip.GetItemColor() not in costEquipColorList:
+ return result
+ if costEquip.GetEquipPlace() not in costEquipPlaceList:
+ return result
+ if isJobLimit and not ItemCommon.CheckJob(curPlayer, costEquip):
+ return result
+ delEquipIndexList.append(index)
+ isSuite = costEquip.GetSuiteID()
+ addRate = singleSuitRate if isSuite else singleSuitRate / 2
+ curRate += addRate
+ if totalEquipStars < IpyGameDataPY.GetFuncCfg('EquipStarCustomized'):
+ curRate = 100
if curRate <= 0:
GameWorld.Log('装备升星异常 概率为0!!equipPackIndex=%s'%equipPackIndex)
return result
@@ -158,7 +174,7 @@
result = ChConfig.Def_ComposeState_Fail
curPlayer.Sync_MakeItemAnswer(ShareDefine.Def_mitEquipStarUp, result)
drDict = {"PlayerID":curPlayer.GetPlayerID(), "AccID":curPlayer.GetAccID(), "classLV":classLV, "equipPlace":equipPlace, "IsSuccess":isOK,
- "curRate":curRate, "nextStar":nextStar}
+ "curRate":curRate, "nextStar":nextStar, 'totalEquipStars':totalEquipStars}
DataRecordPack.SendEventPack("EquipStarUp", drDict, curPlayer)
return result
--
Gitblit v1.8.0