From c35e176a3b05f745600c6e60f168313d2b9e7b30 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 17 九月 2025 12:00:19 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(司马懿技能;增加按层级结算持续buff效果5003;增加非按攻击力计算伤害支持;技能伤害增加可限制最大攻击力百分比上限配置;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py |   35 +++++++++++++++++++----------------
 1 files changed, 19 insertions(+), 16 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 4bd10bc..136bccd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
@@ -29,31 +29,25 @@
 import PlayerBillboard
 import PlayerTongTianLing
 import PlayerGubao
+import PlayerTask
 
 #------------------------------------------------------------------------------
 
 # 渡劫任务类型
 RealmTaskTypeList = (
 RealmTaskType_LV, # 等级 1
-RealmTaskType_PassMap, # 过关关卡 2
+RealmTaskType_MainLevel, # 主线关卡 2
 RealmTaskType_UseXiantao, # 消耗战锤 3
-) = range(1, 1 + 3)
+RealmTaskType_TreeLV, # 仙树等级 4
+) = range(1, 1 + 4)
 
 # 需要记录任务值的任务类型列表
 NeedTaskValueTypeList = [RealmTaskType_UseXiantao]
 
-def DoOfficialOpen(curPlayer):
-    #功能开启
-#    curRealmLV = curPlayer.GetOfficialRank()
-#    if not curRealmLV:
-#        DoRealmLVUpLogic(curPlayer)
-    return True
-
-
 def OnLogin(curPlayer):
     SyncRealmInfo(curPlayer, isAll=True)
-    if not curPlayer.GetOfficialRank():
-        curPlayer.SetOfficialRank(1)
+    if ChConfig.Def_InitOfficialRank > 0 and not curPlayer.GetOfficialRank():
+        curPlayer.SetOfficialRank(ChConfig.Def_InitOfficialRank)
     return
 
 def GetRealmIpyData(realmLV): return IpyGameDataPY.GetIpyGameData("Realm", realmLV)
@@ -169,13 +163,21 @@
                                % (realmLV, taskID, taskType, playerLV, needValueA), playerID)
             return
         
-    # 过关副本
-    elif taskType == RealmTaskType_PassMap:
-        mapID = needValueA
-        lineID = GetRealmTaskNeedValue(needValueList, 1)
+    # 主线关卡
+    elif taskType == RealmTaskType_MainLevel:
+        mapID = ChConfig.Def_FBMapID_Main
+        lineID = needValueA
         if not FBCommon.IsFBPass(curPlayer, mapID, lineID):
             GameWorld.DebugLog('境界任务领奖,未过关! realmLV=%s,taskID=%s,taskType=%s,mapID=%s,lineID=%s' 
                                % (realmLV, taskID, taskType, mapID, lineID), playerID)
+            return
+        
+    # 仙树等级
+    elif taskType == RealmTaskType_TreeLV:
+        treeLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV)
+        if treeLV < needValueA:
+            GameWorld.DebugLog('境界任务领奖,仙树在祝福等级不足! realmLV=%s,taskID=%s,taskType=%s,treeLV=%s < %s' 
+                               % (realmLV, taskID, taskType, treeLV, needValueA), playerID)
             return
         
     # 根据记录任务进度值    
@@ -264,6 +266,7 @@
     #境界提升成就
     PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_RealmlvUp, nextRealmLv)
     PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ChConfig.TTLTaskType_RealmUp, 1)
+    PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_RealmLV)
     #更新排行榜
     PlayerBillboard.UpdateRealmBillboard(curPlayer)
     # 记录开服活动

--
Gitblit v1.8.0