From 8495b01a0c80894ce04f04b9e37c96479aedcefc Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 22 九月 2023 16:49:15 +0800
Subject: [PATCH] 9931 【BT0.1】【主干】境界修改(修仙之路)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py |   66 ++++++++++++++++++++++++++++++++-
 1 files changed, 64 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
index d346b08..38b98be 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
@@ -64,14 +64,76 @@
 #};
 def OpenRealmFB(index, clientData, tick):
     return
+
+def GetXXZLAward(curPlayer, taskID):
+    ## 领取修仙之路奖励
+    awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmXXZLAward)
+    if awardState&pow(2, taskID):
+        GameWorld.DebugLog("已领取过境界修仙之路该奖励, taskID=%s" % taskID, curPlayer.GetPlayerID())
+        return
     
+    ipyData = IpyGameDataPY.GetIpyGameData("RealmXXZL", taskID)
+    if not ipyData:
+        return
+    taskType = ipyData.GetTaskType()
+    needValue = ipyData.GetNeedValue()
+    curValue= 0
+    
+    #1. 得到 XXX法宝, 所需值为法宝ID
+    if taskType == 1:
+        magicWeaponID = needValue
+        if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MagicWeaponLV % magicWeaponID) >= 1:
+            curValue = needValue
+            
+    #2. 通关天星塔X层
+    elif taskType == 2:
+        curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_SkyTowerFloor)
+    
+    #3. 击杀世界BOSSX只
+    elif taskType == 3:
+        curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Boss_KillCntTotal % ShareDefine.Def_Boss_Func_World)
+        
+    #4. 活跃修炼X次
+    elif taskType == 4:
+        curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ActivityCountTotal)
+                
+    #5. 击杀个人BOSS:xxx,所需之为个人boss表对应线路id
+    elif taskType == 5:
+        mapID = ChConfig.Def_FBMapID_PersonalBoss
+        lineID = needValue
+        if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID]):
+            curValue = needValue
+            
+    #6. 通关宗门试炼x次
+    elif taskType == 6:
+        curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntTotal % ChConfig.Def_FBMapID_MunekadoTrial)
+        
+    #7. 获得X点灵根点
+    elif taskType == 7:
+        curValue = PlayerControl.GetTotalLingGenPoint(curPlayer)
+        
+    if curValue < needValue:
+        GameWorld.DebugLog("境界修仙之路当前任务所需值不满足,无法领奖, taskID=%s,taskType=%s,curValue=%s < %s" 
+                           % (taskID, taskType, curValue, needValue), curPlayer.GetPlayerID())
+        return
+    
+    awardItemList = ipyData.GetAwardItemList()
+    if not ItemCommon.GiveAwardItem(curPlayer, awardItemList):
+        return
+    
+    updAwardState = awardState|pow(2, taskID)
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmXXZLAward, updAwardState)
+    GameWorld.DebugLog("领取境界修仙之路奖励, awardID=%s,updAwardState=%s" % (taskID, updAwardState), curPlayer.GetPlayerID())
+    SyncRealmFBState(curPlayer)
+    return
 
 def SyncRealmFBState(curPlayer):
     #通知客户端渡劫副本是否开启
-    if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official):
-        return
+    #if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official):
+    #    return
     sendPack = ChPyNetSendPack.tagMCSyncRealmInfo()
     sendPack.IsPass = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmFBIsOpen)
+    sendPack.XXZLAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmXXZLAward)
     NetPackCommon.SendFakePack(curPlayer, sendPack)
     return
 

--
Gitblit v1.8.0