From 41306d3d2faeff9774d17abf820421b01c6f461e Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 29 四月 2019 10:17:04 +0800
Subject: [PATCH] 6632 子 【开发】增加新的符印属性 / 【后端】增加新的符印属性
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWishingWell.py | 39 +++++++++++++++++++++------------------
1 files changed, 21 insertions(+), 18 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWishingWell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWishingWell.py
index 0ade701..6019b4e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWishingWell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWishingWell.py
@@ -30,10 +30,11 @@
import ItemControler
import ItemCommon
+import datetime
import time
g_randomWellDict = {}
-g_specialMarkDict = {}
+
(
WellType_Select, #可选库
@@ -85,7 +86,7 @@
return
def RefreshWishingWellAction():
- #__InitWishRateList()
+ __InitWishRateList()
playerManager = GameWorld.GetPlayerManager()
for i in xrange(playerManager.GetPlayerCount()):
curPlayer = playerManager.GetPlayerByIndex(i)
@@ -98,7 +99,7 @@
def __CheckPlayerWishingWellAction(curPlayer):
## 检查玩家许愿池活动数据信息
global g_randomWellDict
- global g_specialMarkDict
+
playerID = curPlayer.GetPlayerID()
actWishingWellInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WishingWell, {})
@@ -117,13 +118,15 @@
% (WishingWellID, playerWishingWellID, state, worldLV), playerID)
# 未领取的奖励邮件发放
- __SendWishingWellMail(curPlayer, WishingWellID or int(time.time()), state)
+ curDataTime = GameWorld.GetCurrentTime()
+ curDayTime = datetime.datetime(curDataTime.year, curDataTime.month, curDataTime.day, 0, 0, 0)
+ curDayTimeNum = GameWorld.ChangeTimeStrToNum(str(curDayTime))
+ __SendWishingWellMail(curPlayer, WishingWellID or curDayTimeNum, state)
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WishingWellID, WishingWellID)
#每天开始随机一次免费盘
if state:
- g_randomWellDict = {}
- g_specialMarkDict = {}
+ #g_randomWellDict = {}
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WishingWellRefreshCnt, 0)
__DoActWishingRefresh(curPlayer, 1, True)
@@ -138,9 +141,10 @@
if not lastAwardTime:
if state != -1:
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WishingWellAwardTime, curTime)
+ GameWorld.DebugLog('__SendWishingWellMail curTime =%s'%curTime)
return
GameWorld.DebugLog('许愿池未领取的奖励邮件发放检查 lastAwardTime=%s,state=%s,pass=%s'%(lastAwardTime, state, curTime - lastAwardTime))
- passDay = (curTime - lastAwardTime)/86400
+ passDay = (curTime - lastAwardTime)/86000
if passDay <= 0:
return
isOver = True
@@ -173,14 +177,13 @@
PlayerControl.SendMailByKey('WishPool', [curPlayer.GetID()], mailItemList)
if state == -1:
SyncWishingWellPlayerInfo(curPlayer)
- GameWorld.DebugLog('许愿池距离时间 passDay=%s,mailItemList=%s,saveItemList=%s,isOver=%s'%(passDay, mailItemList, saveItemList, isOver), curPlayer.GetID())
+ GameWorld.DebugLog('许愿池距离时间 passDay=%s,mailItemList=%s,saveItemList=%s,isOver=%s,curTime=%s'%(passDay, mailItemList, saveItemList, isOver, curTime), curPlayer.GetID())
return
def __InitWishRateList():
## 初始许愿池随机库
global g_randomWellDict
- global g_specialMarkDict
actWishingWellInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WishingWell, {})
state = actWishingWellInfo.get(ShareDefine.ActKey_State, 0)
cfgID = actWishingWellInfo.get(ShareDefine.ActKey_CfgID, 0)
@@ -206,15 +209,14 @@
isBind = ipyData.GetIsBind()
weight = ipyData.GetWeight()
mark = ipyData.GetMark()
+ rare = ipyData.GetRare()
weightDict[isFree] = weightDict.get(isFree, 0) + weight
if isFree not in g_randomWellDict:
g_randomWellDict[isFree] = []
- g_randomWellDict[isFree].append([weightDict[isFree], [itemID, itemCnt, isBind, mark]])
+ g_randomWellDict[isFree].append([weightDict[isFree], [itemID, itemCnt, isBind, mark, rare]])
- groupID, rowID = mark / 100, mark % 100
- if rowID > g_specialMarkDict.get(groupID, 0) % 100:
- g_specialMarkDict[groupID] = mark
- GameWorld.DebugLog(' 初始许愿池随机库 g_randomWellDict=%s, g_specialMarkDict=%s' % (g_randomWellDict, g_specialMarkDict))
+
+ GameWorld.DebugLog(' 初始许愿池随机库 g_randomWellDict=%s' % (g_randomWellDict))
return
@@ -282,8 +284,8 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WishingWellFreeTime, int(time.time()))
for i, info in enumerate(randomResultList):
- itemID, itemCnt, isBind, mark = info
- isSpecial = 1 if mark in g_specialMarkDict.values() else 0
+ itemID, itemCnt, isBind, mark, rare = info
+ isSpecial = rare
__SetItemData(curPlayer, WellType_Select, i, itemID, itemCnt, isBind, isSpecial)
GameWorld.DebugLog(' 许愿池活动刷新 isFree=%s, randomResultList=%s' % (isFree, randomResultList), playerID)
return
@@ -358,7 +360,7 @@
PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
return
for itemID, itemCnt, isBind in giveItemList:
- ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem])
+ ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem])
for i in xrange(count):
__SetItemData(curPlayer, WellType_Get, i, 0, 0, 0, 0)
SyncWishingWellPlayerInfo(curPlayer)
@@ -386,12 +388,13 @@
actInfo.WellItemInfo = []
randomItemList = __GetRandomRateList(0)
for itemInfo in randomItemList:
- itemID, itemCnt, isBind, mark = itemInfo[1]
+ itemID, itemCnt, isBind, mark, rare = itemInfo[1]
wellItemInfo = ChPyNetSendPack.tagMCWishingWellItem()
wellItemInfo.ItemID = itemID
wellItemInfo.ItemCnt = itemCnt
wellItemInfo.IsBind = isBind
wellItemInfo.Mark = mark
+ wellItemInfo.Rare = rare
actInfo.WellItemInfo.append(wellItemInfo)
actInfo.Count = len(actInfo.WellItemInfo)
NetPackCommon.SendFakePack(curPlayer, actInfo)
--
Gitblit v1.8.0