From 65a4c2029af3f70ce484a2eec167c50f227d7a5c Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 27 五月 2019 14:08:22 +0800
Subject: [PATCH] 6805 【后端】【2.0】副本前端化(封魔坛前期本)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py |   30 +++++++++++++-----------------
 1 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
index db0aae0..3a9d6bf 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
@@ -69,6 +69,12 @@
         maxCnt = FBCommon.GetEnterFBMaxCnt(curPlayer, mapID)
         if enterCnt + 2 > maxCnt:
             return False
+    if lineID in newbielineList:
+        hasEnter = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False,
+                                               [ChConfig.Def_FBMapID_SealDemon])
+        if hasEnter:
+            GameWorld.DebugLog("    已进入过该新手线路 %s" % lineID)
+            return False
     return True
 
 
@@ -471,7 +477,7 @@
     #for _ in xrange(addCnt):
     jsonItemList, totalExp, totalMoney = NPCCommon.GiveKillNPCDropPrize(curPlayer, ChConfig.Def_FBMapID_SealDemon, {bossID:addCnt}, 
                                                                         mailTypeKey="SealDemonMail", isMail=isMail, prizeMultiple=prizeMultiple, 
-                                                                        dropItemMapInfo=dropItemMapInfo)
+                                                                        dropItemMapInfo=dropItemMapInfo,isVirtualDrop=isClientSend)
     for jsonItem in jsonItemList:
         if 'UserData' in jsonItem:
             equipList.append(jsonItem)
@@ -573,22 +579,13 @@
     if rank == 1:
         bossID = CurFBLineBOSSID(lineID)
         NPCCommon.GameServer_KillGameWorldBoss(bossID, curPlayer.GetName(), hurt, False)
-    
-    if not prizeItemList:
-        leaveTick = FBCommon.GetFBLineStepTime(mapID, lineID) * 1000
-        GameWorld.Log("没有奖励,直接通知前端结算!mapID=%s,lineID=%s" % (mapID, lineID), curPlayer.GetPlayerID())
-        curPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True)
-        overDict = {FBCommon.Over_rank:rank, FBCommon.Over_itemInfo:prizeItemList}
-        FBCommon.NotifyFBOver(curPlayer, ChConfig.Def_FBMapID_SealDemon, lineID, 1, overDict)
-        return
-    
-    gameFB = GameWorld.GetGameFB()
-    tick = GameWorld.GetGameWorld().GetTick()
-    gameFB.SetGameFBDict(FBDict_IsOver, tick)
-    gameFB.SetPlayerGameFBDict(curPlayer.GetPlayerID(), FBPlayerDict_Rank, rank)
-    curPlayer.Sync_TimeTick(ChConfig.tttPickupItem, 0, ChConfig.Def_FBPickupItemTime, True)
-    return
 
+    #GameWorld.Log("通知前端结算!mapID=%s,lineID=%s" % (mapID, lineID), curPlayer.GetPlayerID())
+    overDict = {FBCommon.Over_rank:rank, FBCommon.Over_itemInfo:prizeItemList}
+    FBCommon.NotifyFBOver(curPlayer, mapID, lineID, 1, overDict)
+    PlayerControl.SetCustomMap(curPlayer, 0, 0)
+    return
+    
 
 def GetBossRemainHPPer(copyMapID, funcLineID, tick):
     bossID = CurFBLineBOSSID(funcLineID)
@@ -642,4 +639,3 @@
     packData.OldDouble = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTOldDouble)
     NetPackCommon.SendFakePack(curPlayer, packData)
     return
-

--
Gitblit v1.8.0