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