From 8d7acf4fc03f7166603614ebc8d82cbcb7855656 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 03 九月 2018 16:38:51 +0800
Subject: [PATCH] fix:1796 刚进仙盟宴会地图,就显示获得了1w多盟贡
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py | 29 +++++++++++++++++------------
1 files changed, 17 insertions(+), 12 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 d39dbf9..288a5a6 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
@@ -194,7 +194,6 @@
FBCommon.SetFBStep(FB_Step_Fighting, tick)
elif fbStep == FB_Step_Fighting:
if not FBCommon.GetFBFuncOpenState(ChConfig.Def_FBMapID_FamilyParty):
- GiveJoinPrize()
FBCommon.NotifyCopyMapPlayerFBHelp(tick, DoFBHelp, 0)
PyGameData.g_familyPartyInfo = []
FBCommon.SetFBStep(FB_Step_Over, tick)
@@ -246,10 +245,22 @@
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)
+
+
mapID = GameWorld.GetMap().GetMapID()
if mapID != ChConfig.Def_FBMapID_FamilyParty:
return
- GameWorld.DebugLog(' 仙盟宴会活动状态变更 state=%s'%state)
if state == 1:
GameWorld.GetGameWorld().SetGameWorldDict(Map_FamilyPartyFB_StartTick, tick)
@@ -258,19 +269,13 @@
return
-def GiveJoinPrize():
+def GiveJoinPrize(curPlayer):
#参与奖
joinAward = IpyGameDataPY.GetFuncCfg('PartyReward')
if not joinAward:
return
- copyMapPlayerManager = GameWorld.GetMapCopyPlayerManager()
- for i in xrange(copyMapPlayerManager.GetPlayerCount()):
-
- curPlayer = copyMapPlayerManager.GetPlayerByIndex(i)
-
- if curPlayer == None or curPlayer.IsEmpty():
- continue
- PlayerFamily.AddPlayerFamilyActiveValue(curPlayer, joinAward, True, ShareDefine.Def_AddFAVReason_FamilyParty)
+
+ PlayerFamily.AddPlayerFamilyActiveValue(curPlayer, joinAward, True, ShareDefine.Def_AddFAVReason_FamilyParty)
return
@@ -321,7 +326,7 @@
expPoint = totalExp / ChConfig.Def_PerPointValue
totalPoint = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalPoint%playerID)
- totalPoint += IpyGameDataPY.GetFuncCfg('PartyReward') #加参与奖
+ #totalPoint += IpyGameDataPY.GetFuncCfg('PartyReward') #加参与奖
totalPoint += addPoint * curAnswerCnt
hasCollect = gameWorld.GetGameWorldDictByKey(FBPlayerDict_HasCollect%playerID)
getCnt = gameWorld.GetGameWorldDictByKey(ChConfig.Map_Player_AreaReward_GetCnt%playerID)
--
Gitblit v1.8.0