From 99c992cba2159ff3b48bc953abb8439c39fb9e70 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 03 九月 2018 17:28:01 +0800
Subject: [PATCH] fix:3222 【后端】仙盟宴会结束后发邮件参与奖励

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py                                            |   17 +++++++++++++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py |   38 +++++++++++++++++++-------------------
 ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py                                                     |    1 +
 3 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
index 1774473..3e2f353 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
@@ -687,6 +687,7 @@
     PlayerTeam.OnPlayerChangeMap(curPlayer, tick)
     GameWorldBoss.OnPlayerChangeMap(curPlayer)
     PlayerFamily.OnPlayerChangeMap(curPlayer, tick)
+    PlayerFamilyParty.OnPlayerChangeMap(curPlayer, tick)
     return 
 
 ## 玩家切换真实地图
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py
index 095ede0..b600d6f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py
@@ -41,6 +41,15 @@
     NotifyFamilyPartyQuestion(curPlayer)
     return
 
+def OnPlayerChangeMap(curPlayer, tick):
+    if curPlayer.GetMapID() != ChConfig.Def_FBMapID_FamilyParty:
+        return
+    playerID = curPlayer.GetID()
+    if playerID not in PyGameData.g_partyheroAnswerDict:
+        PyGameData.g_partyheroAnswerDict[playerID] = 0
+    return
+
+
 def NotifyFamilyPartyQuestion(curPlayer):
     #刚登录的或刚进仙盟的补发最近的题目
     gameWorld = GameWorld.GetGameWorld()
@@ -104,6 +113,14 @@
             PlayerCompensation.SendPersonalItemMailEx('', content, day, [topHeroID], itemList)
                 
             PlayerControl.WorldNotify(0, 'Party_TopPlayer', [topHeroName])
+        
+        #给参与奖励
+        joinPlayerIDList = PyGameData.g_partyheroAnswerDict.keys()
+        if joinPlayerIDList:
+            joinReward = IpyGameDataPY.GetFuncEvalCfg('PartyReward')
+            if joinReward:
+                PlayerCompensation.SendMailByKey('FamilyParty', joinPlayerIDList, joinReward)
+            
     return
 
 def __GetFamilyAnswerRankList():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py
index 288a5a6..289e5ff 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py
@@ -246,16 +246,16 @@
 def OnFamilyPartyStateChange(state, tick):
     #活动状态变更
     GameWorld.DebugLog('    仙盟宴会活动状态变更 state=%s'%state)
-    if state == 0:
-        playerManager = GameWorld.GetPlayerManager()
-        for i in xrange(playerManager.GetPlayerCount()):
-            curPlayer = playerManager.GetPlayerByIndex(i)
-            if not curPlayer or curPlayer.IsEmpty():
-                continue
-            #答对题或者进过图的给参与奖励
-            curAnswerCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt)
-            if FBCommon.GetEnterFBCount(curPlayer, ChConfig.Def_FBMapID_FamilyParty) or curAnswerCnt:
-                GiveJoinPrize(curPlayer)
+#    if state == 0:
+#        playerManager = GameWorld.GetPlayerManager()
+#        for i in xrange(playerManager.GetPlayerCount()):
+#            curPlayer = playerManager.GetPlayerByIndex(i)
+#            if not curPlayer or curPlayer.IsEmpty():
+#                continue
+#            #答对题或者进过图的给参与奖励
+#            curAnswerCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt)
+#            if FBCommon.GetEnterFBCount(curPlayer, ChConfig.Def_FBMapID_FamilyParty) or curAnswerCnt:
+#                GiveJoinPrize(curPlayer)
                 
     
     mapID = GameWorld.GetMap().GetMapID()
@@ -268,15 +268,15 @@
     
     return
 
-
-def GiveJoinPrize(curPlayer):
-    #参与奖
-    joinAward = IpyGameDataPY.GetFuncCfg('PartyReward')
-    if not joinAward:
-        return
-    
-    PlayerFamily.AddPlayerFamilyActiveValue(curPlayer, joinAward, True, ShareDefine.Def_AddFAVReason_FamilyParty)
-    return
+#
+#def GiveJoinPrize(curPlayer):
+#    #参与奖
+#    joinAward = IpyGameDataPY.GetFuncCfg('PartyReward')
+#    if not joinAward:
+#        return
+#    
+#    PlayerFamily.AddPlayerFamilyActiveValue(curPlayer, joinAward, True, ShareDefine.Def_AddFAVReason_FamilyParty)
+#    return
 
 
 

--
Gitblit v1.8.0