From 515a08fe6e2937e086fcb65e886d521d70513b96 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 10 一月 2020 17:21:41 +0800
Subject: [PATCH] 8364 【恺英】【后端】缥缈随机任务(任务次数改为完成时才扣除;放弃任务改为只设置任务状态为未接)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPiaomiaoTask.py |   27 ++++++++++++++-------------
 1 files changed, 14 insertions(+), 13 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 6eed503..7d680ac 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPiaomiaoTask.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPiaomiaoTask.py
@@ -38,7 +38,7 @@
     return
 
 def OnDay(curPlayer):
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_PiaomiaoTaskTakeCount, 0)
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_PiaomiaoTaskFinishCount, 0)
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_PiaomiaoTaskRefreshCount, 0)
     SyncPiaomiaoTaskInfo(curPlayer)
     return
@@ -144,10 +144,10 @@
 def OnTakePiaomiaoTask(curPlayer, curMission):
     ## 接缥缈任务
     
-    todayTakeCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PiaomiaoTaskTakeCount)
-    maxTakeCount = IpyGameDataPY.GetFuncCfg("PiaomiaoTask", 1)
-    if todayTakeCount >= maxTakeCount:
-        GameWorld.DebugLog("已达今日接任务上限!todayTakeCount=%s" % todayTakeCount)
+    finishCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PiaomiaoTaskFinishCount)
+    maxFinishCount = IpyGameDataPY.GetFuncCfg("PiaomiaoTask", 1)
+    if finishCount >= maxFinishCount:
+        GameWorld.DebugLog("已达今日任务上限!finishCount=%s" % finishCount)
         return
     
     for i in range(curPlayer.GetMissionCount()):
@@ -160,8 +160,6 @@
         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)
     
@@ -175,6 +173,9 @@
 
 def OnFinishPiaomiaoTask(curPlayer, curMission):
     ## 完成缥缈任务
+    
+    finishTaskCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PiaomiaoTaskFinishCount) + 1
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_PiaomiaoTaskFinishCount, finishTaskCount)
     
     missionID = curMission.GetMissionID()
     # 给奖励
@@ -199,8 +200,8 @@
     if delItemID:
         ItemCommon.DelMissionItem(curPlayer, IPY_GameWorld.rptItem, delItemID, 0, missionID)
         
-    GameWorld.DebugLog("完成缥缈任务: missionID=%s,exp=%s,goldPaper=%s,itemID=%s,delItemID=%s" 
-                       % (missionID, exp, goldPaper, itemID, delItemID))
+    GameWorld.DebugLog("完成缥缈任务: finishTaskCount=%s,missionID=%s,exp=%s,goldPaper=%s,itemID=%s,delItemID=%s" 
+                       % (finishTaskCount, missionID, exp, goldPaper, itemID, delItemID))
     
     # 删任务
     QuestCommon.DeleteMission(curPlayer, missionID)
@@ -209,11 +210,11 @@
     return
 
 def DoCancelPiaomiaoTask(curPlayer, curMission):
-    ## 放弃任务
+    ## 放弃任务,设置为未接状态,不重新刷新列表
     missionID = curMission.GetMissionID()
     GameWorld.DebugLog("放弃缥缈任务! missionID=%s" % missionID)
-    QuestCommon.DeleteMission(curPlayer, missionID)
-    __DoRefreshPiaomiaoTask(curPlayer)
+    QuestCommon.SetPlayerMissionState(curPlayer, curMission, ChConfig.Def_Mission_State_NoAccept)
+    EventShell.NotifyOneMission(curPlayer, curMission, isNotifyAll=False)
     return
 
 def SyncPiaomiaoTaskInfo(curPlayer):
@@ -231,7 +232,7 @@
         return
     
     taskInfo = ChPyNetSendPack.tagMCPiaomiaoTaskInfo()
-    taskInfo.TakeCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PiaomiaoTaskTakeCount)
+    taskInfo.FinishCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PiaomiaoTaskFinishCount)
     taskInfo.RefreshCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PiaomiaoTaskRefreshCount)
     taskInfo.TaskIDList = taskIDList
     taskInfo.TaskCount = len(taskIDList)

--
Gitblit v1.8.0