From b4b72d0c241ffc26dbbbd7a047578f1f4fead2f4 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 09 十二月 2021 16:11:53 +0800
Subject: [PATCH] 9341 【BT5】【主干】【后端】情缘系统(Couple命令增加添加喜糖宴会;修复多个喜糖宴会同时存在时吃喜糖同步错误bug)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLuckyTreasure.py | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLuckyTreasure.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLuckyTreasure.py
index 30c9f4f..e296c80 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLuckyTreasure.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLuckyTreasure.py
@@ -79,6 +79,8 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureFree, 0)
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasurePoint, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureCnt, 0)
+
SyncLuckyTreasureInfo(curPlayer)
SyncLuckyTreasureResultInfo(curPlayer)
@@ -153,13 +155,19 @@
greatItem = randomRateList[-1][1]
curLuckyPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LuckyTreasurePoint)
+ curLuckyCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LuckyTreasureCnt)
+
maxLuckyPoint = actIpyData.GetLuckyPoint()
singlePoint = IpyGameDataPY.GetFuncCfg('LuckyAppraisal', 2)
if curLuckyPoint + singlePoint >= maxLuckyPoint:
giveItem = greatItem
newLuckyPoint = 0
else:
- randomResultList = GameWorld.GetResultByRandomListEx(randomRateList, 1, [])
+ if curLuckyCnt < IpyGameDataPY.GetFuncCfg('LuckyAppraisal', 3):
+ #前X次鉴宝不能出大奖
+ randomResultList = GameWorld.GetResultByRandomListEx(randomRateList[:-1], 1, [])
+ else:
+ randomResultList = GameWorld.GetResultByRandomListEx(randomRateList, 1, [])
if len(randomResultList) != 1:
GameWorld.DebugLog(' 开始幸运鉴宝 随机库结果 获取错误 !')
return
@@ -179,9 +187,10 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureFree, 1)
#更新幸运值
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasurePoint, newLuckyPoint)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureCnt, curLuckyCnt + 1)
for itemID, itemCount, isBind in [giveItem]:
- ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem], event=[ChConfig.ItemGive_LuckyTreasure, False, {"isFree":not hasFree}])
+ ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem], event=[ChConfig.ItemGive_LuckyTreasure, False, {"isFree":not hasFree}])
SyncLuckyTreasureResultInfo(curPlayer, giveItem)
return
@@ -197,11 +206,11 @@
actIpyData = IpyGameDataPY.GetIpyGameData("ActLuckyTreasure", cfgID)
if not actIpyData:
return
- openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
+ startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(actIpyData)
actInfo = ChPyNetSendPack.tagMCLuckyTreasureInfo()
actInfo.Clear()
- actInfo.StartDate = GameWorld.GetOperationActionDateStr(actIpyData.GetStartDate(), openServerDay)
- actInfo.EndtDate = GameWorld.GetOperationActionDateStr(actIpyData.GetEndDate(), openServerDay)
+ actInfo.StartDate = startDateStr
+ actInfo.EndtDate = endDateStr
actInfo.ResetType = actIpyData.GetResetType()
actInfo.LimitLV = actIpyData.GetLVLimit()
actInfo.LuckyPoint = actIpyData.GetLuckyPoint()
--
Gitblit v1.8.0