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