From 30dd8ff93a00ada8262a35da0ede9c2088a7fd37 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 23 九月 2025 16:52:52 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(诸葛亮技能; 目标细分增加攻击力最高5; buff状态增加军令19;增加效果6006增加本次技能万分比验证职业;增加效果5015集火攻击军令目标;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py |   47 ++++++++++++++++++++++++++---------------------
 1 files changed, 26 insertions(+), 21 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..45e2df9 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,26 @@
 import PlayerBillboard
 import PlayerTongTianLing
 import PlayerGubao
+import PlayerTask
+import PlayerOnline
 
 #------------------------------------------------------------------------------
 
 # 渡劫任务类型
 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)
@@ -91,17 +86,18 @@
    
     addAttrIDList, addAttrValueList = realmIpyData.GetAddAttrType(), realmIpyData.GetAddAttrNum()
     
-    allAttrList = [{} for i in range(4)]
+    playerID = curPlayer.GetPlayerID()
+    attrDict = {}
     for i, attrID in enumerate(addAttrIDList):
-        PlayerControl.CalcAttrDict_Type(attrID, addAttrValueList[i], allAttrList)
+        attrDict[attrID] = attrDict.get(attrID, 0) + addAttrValueList[i]
         
-    # 保存计算值
-    PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Prestige, allAttrList)
+    GameWorld.DebugLog("官职属性: %s" % attrDict, playerID)
+    PlayerOnline.GetOnlinePlayer(curPlayer).SetCalcAttr(ChConfig.Def_CalcAttr_Realm, attrDict)
     return
 
 def RefreshOfficialAttr(curPlayer):
     CalcOfficialRankAttr(curPlayer)
-    PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
+    PlayerOnline.GetOnlinePlayer(curPlayer).RefreshRoleAttr()
     return
 
 def AddRealmTaskValue(curPlayer, taskType, addValue):
@@ -169,13 +165,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 +268,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