From c114ff78fe7e5f8d86f2d073567a3a46e8e20197 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 02 八月 2021 16:51:09 +0800
Subject: [PATCH] 5151 【BT3】【BT2】【主干】全服红包- 系统定时发放的红包没有看到
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py | 27 ++++++++++++++++++---------
1 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
index 33b10b6..6e8e5bf 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
@@ -27,6 +27,7 @@
import ItemControler
import NetPackCommon
import PlayerBossReborn
+import PlayerFeastTravel
import PlayerFairyCeremony
import PlayerNewFairyCeremony
import ItemCommon
@@ -138,13 +139,14 @@
# 仙玉寻宝
else:
- costGoldList = IpyGameDataPY.GetFuncEvalCfg(TreasureSet1, 2) # 消耗仙玉列表
+ costGoldList = IpyGameDataPY.GetFuncEvalCfg(TreasureSet1, 2) # 消耗货币列表
+ costGoldType = IpyGameDataPY.GetFuncCfg(TreasureSet2, 4) # 消耗货币类型
costGold = costGoldList[treasureIndex]
if not costGold:
GameWorld.ErrLog("该寻宝类型索引不支持消耗仙玉寻宝!treasureType=%s,treasureIndex=%s" % (treasureType, treasureIndex), playerID)
return
- if not PlayerControl.HaveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Paper, costGold):
+ if not PlayerControl.HaveMoney(curPlayer, costGoldType, costGold):
return
ipyData = IpyGameDataPY.InterpolationSearch("TreasureHouse", "MinLV", playerLV, {"TreasureType":treasureType})
@@ -173,6 +175,8 @@
goodGridNumList.append(gridRateInfo[1])
for gridRateInfo in ensureRateList:
goodGridNumList.append(gridRateInfo[1])
+ notifyGridNumList = IpyGameDataPY.GetFuncEvalCfg(TreasureSet2, 5) # 额外需要广播的格子,幸运必出、次数必出可不配置
+ goodGridNumList += notifyGridNumList
GameWorld.DebugLog("goodGridNumList=%s" % goodGridNumList, playerID)
# 单抽产出优先级: 幸运物品 > 必出 > 保底 > 普通
@@ -191,7 +195,7 @@
gridNumRateList = beSureCountDict[updTreasureCount]
gridNum = GameWorld.GetResultByRandomList(gridNumRateList)
GameWorld.DebugLog("到达次数必出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, gridNumRateList, gridNum), playerID)
- elif updTreasureCount % ensureCount == 0:
+ elif updTreasureCount % ensureCount == 0 and ensureRateList:
gridNumRateList = ensureRateList
gridNum = GameWorld.GetResultByRandomList(gridNumRateList)
GameWorld.DebugLog("满次数保底出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, gridNumRateList, gridNum), playerID)
@@ -215,7 +219,7 @@
# 3. 次数保底
ensureGridNumList = []
- if updTreasureCount / ensureCount > curTreasureCount / ensureCount:
+ if updTreasureCount / ensureCount > curTreasureCount / ensureCount and ensureRateList:
for gridInfo in ensureRateList:
ensureGridNumList.append(gridInfo[1])
gridNum = GameWorld.GetResultByRandomList(ensureRateList)
@@ -315,8 +319,8 @@
PlayerControl.PayMoney(curPlayer, moneyType, lackCountCostMoney, ChConfig.Def_Cost_Treasure, infoDict, lackCount)
else:
infoDict = {"TreasureType":treasureType, "TreasureIndex":treasureIndex}
- PlayerControl.PayMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Paper, costGold, ChConfig.Def_Cost_Treasure, infoDict)
- GameWorld.DebugLog("扣除仙玉,costGold=%s" % costGold, playerID)
+ PlayerControl.PayMoney(curPlayer, costGoldType, costGold, ChConfig.Def_Cost_Treasure, infoDict)
+ GameWorld.DebugLog("扣除货币,costGoldType=%s,costGold=%s" % (costGoldType, costGold), playerID)
# 加数据
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType, isFreeType), updTreasureCount)
@@ -327,12 +331,17 @@
if treasureType == 2:
PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RuneTreasure, treasureCount)
- PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RuneTreasure, treasureCount)
+ PlayerFeastTravel.AddFeastTravelTaskValue(curPlayer, ChConfig.Def_FeastTravel_RuneTreasure, treasureCount)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_RuneTreasure, treasureCount)
- else:
+ elif treasureType == 1:
PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Treasure, treasureCount)
- PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Treasure, treasureCount)
+ PlayerFeastTravel.AddFeastTravelTaskValue(curPlayer, ChConfig.Def_FeastTravel_Treasure, treasureCount)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_Treasure, treasureCount)
+ elif treasureType == 3:
+ PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_JSTreasure, treasureCount)
+ PlayerFeastTravel.AddFeastTravelTaskValue(curPlayer, ChConfig.Def_FeastTravel_JSTreasure, treasureCount)
+ PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_JSTreasure, treasureCount)
+
# 给物品
mailItemList = []
itemControl = ItemControler.PlayerItemControler(curPlayer)
--
Gitblit v1.8.0