From 3870812c709711006a606f85af462a8267f7a34e Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 10 六月 2019 14:50:03 +0800
Subject: [PATCH] 7182 【2.0】【后端】仙盟宴会界面优化

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py                                    |    5 +++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py |   32 ++++++++++++++++++++++++++------
 ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py                                                         |    5 +++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py                             |    2 +-
 4 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 4566fe8..92ffc4b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -270,8 +270,9 @@
     Def_ViewExpType_Sit        ,            #打坐获取经验 3
     Def_ViewExpType_KillNPCSuper,           #杀怪获得经验暴击 4
     Def_ViewExpType_Sys        ,            #系统给经验-需要展示倍率,实际不享受 5
-    Def_ViewExpType_RealmBuff,           #境界全服福利经验(玄女天花) 6
-) = range(0, 7)
+    Def_ViewExpType_RealmBuff,              #境界全服福利经验(玄女天花) 6
+    Def_ViewExpType_SysEx,                  #系统给经验-不需要展示倍率 用来区别于类型0 7
+) = range(0, 8)
 
 
 #物品相关操作类型
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 a3c589a..ae60152 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
@@ -227,7 +227,7 @@
             GameWorldProcess.CloseFB(tick)
         else:
             #FBCommon.DoLogicAreaReward("FamilyPartyAreaAward", tick)
-            FBCommon.NotifyCopyMapPlayerFBHelp(tick, DoFBHelp, 10000)
+            FBCommon.NotifyCopyMapPlayerFBHelp(tick, DoFBHelp, 5000)
             
             mapID = GameWorld.GetMap().GetMapID()
             notifyIndex = gameFB.GetGameFBDictByKey(ChConfig.Map_FBDict_NotifyStart)
@@ -256,7 +256,7 @@
     #仙盟贡献度
     PlayerFamily.AddPlayerFamilyActiveValue(curPlayer, addPoint, True, ShareDefine.Def_AddFAVReason_FamilyParty, True)
     #答题经验更新
-    PlayerControl.PlayerControl(curPlayer).AddExp(addExp)
+    PlayerControl.PlayerControl(curPlayer).AddExp(addExp, ShareDefine.Def_ViewExpType_SysEx)
     
     curAnswerCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt)
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt, curAnswerCnt + 1)
@@ -354,9 +354,7 @@
     hasCollect = gameWorld.GetGameWorldDictByKey(FBPlayerDict_HasCollect % playerID)
     hasSit = gameWorld.GetGameWorldDictByKey(FBPlayerDict_HasSit % playerID)
     
-    getCnt = gameWorld.GetGameWorldDictByKey(ChConfig.Map_Player_AreaReward_GetCnt % playerID)
-    isFull = 1 if getCnt >= IpyGameDataPY.GetFuncCfg('FamilyPartyAreaAward', 3) else 0
-    helpDict = {FBCommon.Help_exp:exp, FBCommon.Help_expPoint:expPoint, FBCommon.Help_score:totalPoint, "hasCollect":hasCollect, "isFullExp":isFull, "hasSit":hasSit}
+    helpDict = {FBCommon.Help_exp:exp, FBCommon.Help_expPoint:expPoint, FBCommon.Help_score:totalPoint, "hasCollect":hasCollect, "hasSit":hasSit}
     if PyGameData.g_familyPartyInfo:
         rankList = []
         for i, info in enumerate(PyGameData.g_familyPartyInfo[0], 1):
@@ -425,6 +423,28 @@
     DoFBHelp(curPlayer, 0)
     return
 
+## 获得经验
+#  @param curPlayer 当前玩家
+#  @param addExp 获得的经验
+#  @param expViewType 经验类型
+#  @return True or False
+def OnGetExp(curPlayer, addExp, expViewType):
+    
+    if expViewType != ShareDefine.Def_ViewExpType_SysEx:
+        return
+    gameWorld = GameWorld.GetGameWorld()
+    playerID = curPlayer.GetID() 
+    exp = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExp % playerID)
+    expPoint = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExpPoint % playerID)
+    newTotalExp = expPoint*ChConfig.Def_PerPointValue+exp+addExp
+    gameWorld.SetGameWorldDict(FBPlayerDict_TotalExp % playerID, newTotalExp%ChConfig.Def_PerPointValue)
+    gameWorld.SetGameWorldDict(FBPlayerDict_TotalExpPoint % playerID, newTotalExp/ChConfig.Def_PerPointValue)
+    
+    
+    GameWorld.DebugLog("OnGetExp() addExp=%s,updTotalExp=%s" 
+                       % (addExp, newTotalExp), playerID)
+    
+    return
 ##玩家退出副本
 # @param curPlayer 玩家实例
 # @param tick 时间戳
@@ -482,7 +502,7 @@
 
         DoFBHelp(curPlayer, 0)
         
-        
+
     return
 
 def __GiveSitAward(curPlayer):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
index 69bc421..bd625ec 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
@@ -1578,5 +1578,5 @@
     reLV = curPlayer.GetLV()
     worldLV = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
     addExp = eval(FormulaControl.GetCompileFormula('NeutralMapExpAward%s'%mapID, expFormula))
-    PlayerControl.PlayerControl(curPlayer).AddExp(addExp)
+    PlayerControl.PlayerControl(curPlayer).AddExp(addExp, ShareDefine.Def_ViewExpType_SysEx)
     return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 4566fe8..92ffc4b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -270,8 +270,9 @@
     Def_ViewExpType_Sit        ,            #打坐获取经验 3
     Def_ViewExpType_KillNPCSuper,           #杀怪获得经验暴击 4
     Def_ViewExpType_Sys        ,            #系统给经验-需要展示倍率,实际不享受 5
-    Def_ViewExpType_RealmBuff,           #境界全服福利经验(玄女天花) 6
-) = range(0, 7)
+    Def_ViewExpType_RealmBuff,              #境界全服福利经验(玄女天花) 6
+    Def_ViewExpType_SysEx,                  #系统给经验-不需要展示倍率 用来区别于类型0 7
+) = range(0, 8)
 
 
 #物品相关操作类型

--
Gitblit v1.8.0