From e455fe295670ac74b5cc670ce5cfb5f8069b7e36 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 28 八月 2018 14:46:01 +0800
Subject: [PATCH] fix:3000 仙盟宴会修改为可在任意地图进行答题

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py |   41 ++++++++++++++++-------------------------
 1 files changed, 16 insertions(+), 25 deletions(-)

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 4ac8980..2460d51 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
@@ -45,6 +45,9 @@
 FBPlayerDict_TotalPoint = 'XMYH_TotalPoint%s'   # 获得的总仙盟贡献值
 FBPlayerDict_HasCollect = 'XMYH_HasCollect%s'   # 是否已采集
 
+def OnFBPlayerOnDay(curPlayer):
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt, 0)
+    return
 
 ##开启副本
 # @param tick 时间戳
@@ -219,35 +222,22 @@
 
 def FamilyPartyAnswerRight(curPlayer):
     #回答正确,给奖励
-    mapID = GameWorld.GetMap().GetMapID()
-    if mapID != ChConfig.Def_FBMapID_FamilyParty:
-        return
-    
-    playerID = curPlayer.GetID() 
-    gameWorld = GameWorld.GetGameWorld()
+#    mapID = GameWorld.GetMap().GetMapID()
+#    if mapID != ChConfig.Def_FBMapID_FamilyParty:
+#        return
+#    
 
     addPoint, addExp = IpyGameDataPY.GetFuncEvalCfg('PartyReward',2)
     #仙盟贡献度
     PlayerFamily.AddPlayerFamilyActiveValue(curPlayer, addPoint, True, ShareDefine.Def_AddFAVReason_FamilyParty)
-    totalPoint = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalPoint%playerID)
-    updPoint = totalPoint + addPoint
-    gameWorld.SetGameWorldDict(FBPlayerDict_TotalPoint % playerID, updPoint)
-    
-    
     #答题经验更新
     PlayerControl.PlayerControl(curPlayer).AddExp(addExp)
     
-    
-    exp = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExp%playerID)
-    expPoint = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExpPoint%playerID)
-    totalExp = expPoint * ChConfig.Def_PerPointValue + exp
-    updTotalExp = totalExp + addExp
-    updExp = updTotalExp % ChConfig.Def_PerPointValue
-    updExpPoint = updTotalExp / ChConfig.Def_PerPointValue
-    gameWorld.SetGameWorldDict(FBPlayerDict_TotalExp % playerID, updExp)
-    gameWorld.SetGameWorldDict(FBPlayerDict_TotalExpPoint % playerID, updExpPoint)
-    
-    DoFBHelp(curPlayer, 0)
+    curAnswerCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt)
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt, curAnswerCnt+1)
+
+    if GameWorld.GetMap().GetMapID() == ChConfig.Def_FBMapID_FamilyParty:
+        DoFBHelp(curPlayer, 0)
     return
 
 
@@ -319,16 +309,17 @@
     gameWorld = GameWorld.GetGameWorld()
     playerID = curPlayer.GetPlayerID()
     totalExp = FBCommon.GetFBAreaRewardExp(gameWorld, playerID)
-    
+    curAnswerCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt)
+    addPoint, addExp = IpyGameDataPY.GetFuncEvalCfg('PartyReward',2)
     exp = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExp%playerID)
     expPoint = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExpPoint%playerID)
-    totalExp = totalExp + expPoint * ChConfig.Def_PerPointValue + exp
+    totalExp = totalExp + expPoint * ChConfig.Def_PerPointValue + exp + addExp * curAnswerCnt
     exp = totalExp % ChConfig.Def_PerPointValue
     expPoint = totalExp / ChConfig.Def_PerPointValue
     
     totalPoint = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalPoint%playerID)
     totalPoint += IpyGameDataPY.GetFuncCfg('PartyReward') #加参与奖
-    
+    totalPoint += addPoint * curAnswerCnt
     hasCollect = gameWorld.GetGameWorldDictByKey(FBPlayerDict_HasCollect%playerID)
     getCnt = gameWorld.GetGameWorldDictByKey(ChConfig.Map_Player_AreaReward_GetCnt%playerID)
     isFull = 1 if getCnt >= IpyGameDataPY.GetFuncCfg('FamilyPartyAreaAward', 3) else 0

--
Gitblit v1.8.0