From d8da4adcd1798e7121225d31fae276444acd9a81 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 24 十一月 2018 16:42:29 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py |    2 ++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py            |    7 +++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py        |   14 +++++++++-----
 PySysDB/PySysDBPY.h                                                                             |    1 +
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py         |    5 +++++
 5 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 03a904a..88e1cbf 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1094,6 +1094,7 @@
 	WORD		GainGoldPrize;	//赠送仙玉数
 	WORD		FirstGoldPrize;	//首次充值该档位赠送仙玉
 	list		GainItemList;	//获得物品列表[[物品ID,个数,是否绑定], ...]
+	char		NotifyMark;	//广播提示
 };
 
 //等级奖励表
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
index 8228b23..34bbe66 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
@@ -1707,6 +1707,11 @@
     RunQuestEvent(curPlayer, "magicweaponlv", '%s_%s'%(mwID, lv), Def_RunQuestType_RunAll)
     return
 
+def EventRespons_MagicWeaponFBPassLV(curPlayer, mwID, lv):
+    # 魔族法宝关卡进度
+    RunQuestEvent(curPlayer, "mwfbpasslv", '%s_%s'%(mwID, lv), Def_RunQuestType_Normal)
+    return
+
 def EventRespons_SuccessFinish(curPlayer, succID):
     # 领取完成就
     RunQuestEvent(curPlayer, "successfinish", succID, Def_RunQuestType_RunAll)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index eadc205..d196599 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -880,6 +880,7 @@
                         ("WORD", "GainGoldPrize", 0),
                         ("WORD", "FirstGoldPrize", 0),
                         ("list", "GainItemList", 0),
+                        ("char", "NotifyMark", 0),
                         ),
 
                 "LVAward":(
@@ -2885,7 +2886,8 @@
         self.GainGold = 0
         self.GainGoldPrize = 0
         self.FirstGoldPrize = 0
-        self.GainItemList = []
+        self.GainItemList = []
+        self.NotifyMark = ""
         return
         
     def GetRecordID(self): return self.RecordID # 记录ID
@@ -2893,7 +2895,8 @@
     def GetGainGold(self): return self.GainGold # 获得仙玉数
     def GetGainGoldPrize(self): return self.GainGoldPrize # 赠送仙玉数
     def GetFirstGoldPrize(self): return self.FirstGoldPrize # 首次充值该档位赠送仙玉
-    def GetGainItemList(self): return self.GainItemList # 获得物品列表[[物品ID,个数,是否绑定], ...]
+    def GetGainItemList(self): return self.GainItemList # 获得物品列表[[物品ID,个数,是否绑定], ...]
+    def GetNotifyMark(self): return self.NotifyMark # 广播提示
 
 # 等级奖励表
 class IPY_LVAward():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
index 6a6a226..709c322 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -164,13 +164,13 @@
         DataRecordPack.DR_CTGError(curPlayer, "The orderCoin is not equal to the ipyData's RMB(%s)!" % payRMBNum, addDRDict)
         return
     
-    addGold, prizeGold, giveItemList = 0, 0, []
+    addGold, prizeGold, giveItemList, notifyMark = 0, 0, [], ''
     
     if ipyData.GetCTGID():
         ctgResultInfo = __GetCTGInfoByID(curPlayer, chargeInfo, ipyData.GetCTGID(), eventName, addDRDict, isAddBourseMoney)
         if not ctgResultInfo:
             return
-        addGold, prizeGold, giveItemList = ctgResultInfo
+        addGold, prizeGold, giveItemList, notifyMark = ctgResultInfo
         
     elif ipyData.GetGiftbagID():
         if not PlayerFlashGiftbag.OnPlayerOrderGiftbag(curPlayer, [ipyData.GetGiftbagID()], addDRDict):
@@ -180,7 +180,7 @@
         DataRecordPack.DR_CTGError(curPlayer, "The orderInfo is useless!", addDRDict)
         return
     
-    DoCTGLogic(curPlayer, orderCoin, addGold, prizeGold, giveItemList, isAddBourseMoney, eventName, addDRDict)
+    DoCTGLogic(curPlayer, orderCoin, addGold, prizeGold, giveItemList, isAddBourseMoney, eventName, addDRDict, notifyMark)
     
     #充值成功主动查询一次,无充值数量就不会继续查询
     if orderID:
@@ -213,6 +213,7 @@
     addGold = ipyData.GetGainGold() # 获得仙玉数
     gainGoldPrize = ipyData.GetGainGoldPrize() # 赠送仙玉数,首次充值赠送仙玉时,此仙玉不给
     firstGoldPrize = ipyData.GetFirstGoldPrize() # 首次充值赠送的仙玉
+    notifyMark = ipyData.GetNotifyMark()
     totalBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGGoodsBuyCount % recordID)
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGGoodsBuyCount % recordID, totalBuyCount + 1)
     prizeGold = firstGoldPrize if (not totalBuyCount and firstGoldPrize) else gainGoldPrize
@@ -220,9 +221,9 @@
     addDRDict.update({"totalBuyCount":(totalBuyCount + 1)})
     
     Sync_CoinToGoldCountInfo(curPlayer, [recordID])
-    return addGold, prizeGold, giveItemList
+    return addGold, prizeGold, giveItemList, notifyMark
 
-def DoCTGLogic(curPlayer, orderCoin, addGold, prizeGold, giveItemList, isAddBourseMoney, eventName, addDRDict):
+def DoCTGLogic(curPlayer, orderCoin, addGold, prizeGold, giveItemList, isAddBourseMoney, eventName, addDRDict, notifyMark=''):
     goldBefore = curPlayer.GetGold()
     bourseMoneyBefore = PlayerControl.GetMoney(curPlayer, ShareDefine.TYPE_Price_BourseMoney)
     
@@ -241,6 +242,9 @@
             for itemID, itemCount, isBind in giveItemList:
                 ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem], 
                                              event=[ChConfig.ItemGive_CTG, True, addDRDict])
+        if notifyMark:
+            mainItemID = giveItemList[0][0]
+            PlayerControl.WorldNotify(0, notifyMark, [curPlayer.GetName(), mainItemID, ''])
                 
     addVIPExp = int(orderCoin / 100 * GetCoinRate())
     PlayerVip.AddVIPExp(curPlayer, addVIPExp)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
index 2a3d265..487b97e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
@@ -1157,4 +1157,6 @@
     CalcMagicWeaponAttr(curPlayer)
     PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
     Sycn_MagicWeaponLV(curPlayer, mwID)
+    
+    EventShell.EventRespons_MagicWeaponFBPassLV(curPlayer, mwID, passLV)
     return
\ No newline at end of file

--
Gitblit v1.8.0