From e37c0b9f504429962a92755c7a79926f092ed9af Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 07 一月 2020 18:57:53 +0800
Subject: [PATCH] 8346 【恺英】【后端】协助系统(副本协助支持,增加缥缈S副本)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPiaomiaoTask.py |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPiaomiaoTask.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPiaomiaoTask.py
index 1bf7862..6eed503 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPiaomiaoTask.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPiaomiaoTask.py
@@ -30,6 +30,7 @@
 import ItemCommon
 import ChConfig
 
+Def_MaxGrade = 5 # 暂时只针对组队缥缈副本
 
 def DoPiaomiaoTaskOpen(curPlayer):
     ## 缥缈任务开启
@@ -90,7 +91,7 @@
         
         curGrade = curMission.GetProperty(QuestCommon.Def_Mission_Grade)
         # 评级5 S不重置
-        if missionState != ChConfig.Def_Mission_State_NoAccept or curGrade == 5:
+        if missionState != ChConfig.Def_Mission_State_NoAccept or curGrade == Def_MaxGrade:
             piaomiaoMissionIDList.append(missionID)
             GameWorld.DebugLog("    缥缈任务非未接,保留! missionID=%s,missionState=%s" % (missionID, missionState))
             continue
@@ -132,6 +133,11 @@
         #通知客户端
         EventShell.NotifyOneMission(curPlayer, curMission)
         
+        if grade == Def_MaxGrade:
+            familyID = curPlayer.GetFamilyID()
+            if familyID:
+                PlayerControl.FamilyNotify(familyID, "RefreshPiaomiaoSFB", [curPlayer.GetPlayerName(), ChConfig.Def_FBMapID_KillDevil])
+             
     SyncPiaomiaoTaskInfo(curPlayer)
     return
 
@@ -143,10 +149,26 @@
     if todayTakeCount >= maxTakeCount:
         GameWorld.DebugLog("已达今日接任务上限!todayTakeCount=%s" % todayTakeCount)
         return
+    
+    for i in range(curPlayer.GetMissionCount()):
+        mission = curPlayer.GetMissionByIndex(i)
+        missionID = mission.GetMissionID()
+        questData = QuestManager.FindQuest(missionID)
+        if not questData:
+            continue
+        
+        if questData.Type == QuestCommon.Def_Mission_Type_Piaomiao and mission.GetState() != ChConfig.Def_Mission_State_NoAccept:
+            GameWorld.DebugLog("已经有接了缥缈任务,无法再接!missionID=%s" % missionID)
+            return
+        
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_PiaomiaoTaskTakeCount, todayTakeCount + 1)
     
     QuestCommon.SetPlayerMissionState(curPlayer, curMission, 1)
     
+    curGrade = curMission.GetProperty(QuestCommon.Def_Mission_Grade)
+    if curGrade == Def_MaxGrade:
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_PiaomiaoMaxGradeTaskID, curMission.GetMissionID())
+        
     EventShell.NotifyOneMission(curPlayer, curMission, isNotifyAll=False)
     SyncPiaomiaoTaskInfo(curPlayer)
     return

--
Gitblit v1.8.0