From f611ba2ca93e527c98b2d05ffefdcc21a6ed0bd1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 30 十月 2025 15:42:49 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(何太后技能;优化孙坚技能buff额外属性逻辑;增加技能计算伤害类型6-按自残血量值;增加效果7008 5021 5022;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py | 54 ++++++++++++++++++++++++++----------------------------
1 files changed, 26 insertions(+), 28 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..b5d3d0a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
@@ -25,35 +25,28 @@
import ShareDefine
import GameWorld
import ChConfig
-import PlayerSuccess
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 +84,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 +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
# 根据记录任务进度值
@@ -241,7 +243,6 @@
return
curPlayer.SetOfficialRank(nextRealmLv)
- PlayerGubao.DoGubaoAddFreePoint(curPlayer)
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmTaskAwardState, 0)
syncTaskIDList = []
@@ -261,11 +262,8 @@
RefreshOfficialAttr(curPlayer)
GameFuncComm.DoFuncOpenLogic(curPlayer)
SyncRealmInfo(curPlayer, taskIDList=syncTaskIDList)
- #境界提升成就
- PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_RealmlvUp, nextRealmLv)
PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ChConfig.TTLTaskType_RealmUp, 1)
+ PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_RealmLV)
#更新排行榜
PlayerBillboard.UpdateRealmBillboard(curPlayer)
- # 记录开服活动
- #OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_RealmLV, nextRealmLv)
return True
--
Gitblit v1.8.0