From f6e55772b80bf536223e6e949e28fb7b1812a54d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 19 九月 2025 12:02:36 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(甘夫人潜能1、3;增加使用技能后触发方式9;层级buff属性支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py |   68 +++++++---------------------------
 1 files changed, 14 insertions(+), 54 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index d35a1a2..97e58b5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -2981,7 +2981,7 @@
 # @return 返回值真, 给钱成功
 # @param isSysHint 是否系统提示(默认是)
 # @remarks 玩家获得金钱
-def GiveMoney(curPlayer, priceType, value, giveType=ChConfig.Def_GiveMoney_Unknown, addDataDict={}, isSysHint=True, isGiveBourseMoney=True):
+def GiveMoney(curPlayer, priceType, value, giveType=ChConfig.Def_GiveMoney_Unknown, addDataDict={}, isSysHint=True, isGiveBourseMoney=True, notifyAward=False):
     if value == 0:
         return True
     
@@ -3060,6 +3060,9 @@
     #        NotifyCode(curPlayer, "GetMoney", [priceType, str(round(value/100.0, 2))])
     #    else:
     #        NotifyCode(curPlayer, "GetMoney", [priceType, value])
+    if notifyAward:
+        ItemControler.NotifyGiveAwardInfo(curPlayer, [], giveType, moneyInfo={priceType:value})
+        
     __GiveMoneyAfter(curPlayer, priceType, value, giveType, addDataDict)
     
     if befMoney == 0:
@@ -3325,41 +3328,6 @@
     return IpyGameDataPY.GetFuncCfg("PKConfig", 2)
 
 #---------------------------------------------------------------------
-##获得玩家升级, 获得的属性点
-# @param curPlayer 玩家实例
-# @return 返回值, 获得的属性点
-# @remarks 获得玩家升级, 获得的属性点
-def GetLvUp_AddPoint(curPlayer):
-    curPlayerID = curPlayer.GetID()
-    curLV = curPlayer.GetLV() # 当前等级
-    
-    addPointDict = IpyGameDataPY.GetFuncEvalCfg("LVUPAddPoint", 1, {})
-    addPoint = GameWorld.GetDictValueByRangeKey(addPointDict, curLV, 0)
-    
-    if addPoint == None:
-        raise Exception('玩家获得升级属性点异常, curLV = %s PlayerID = %s' % (curLV, curPlayerID))
-        return
-    return int(addPoint+ GetFabaoAddPoint(curPlayer) + GetTitleAddExtraPoint(curPlayer))
-
-def GetAllPointByLV(curPlayer):
-    ##获取当前等级可得到属性点数
-    openLV = GameFuncComm.GetFuncLimitLV(ShareDefine.GameFuncID_AddPoint)
-    curLV = curPlayer.GetLV()
-    if curLV < openLV:
-        return 0
-    # 初始点+(升级点+法宝效果)*称号效果倍数+境界点
-    setFreePoint = IpyGameDataPY.GetFuncCfg("LVUPAddPoint", 2)
-    fabaoAddPoint = GetFabaoAddPoint(curPlayer)
-    titleAddPoint = GetTitleAddExtraPoint(curPlayer)
-    addPointDict = IpyGameDataPY.GetFuncEvalCfg("LVUPAddPoint", 1, {})
-    for rangLVs, point in addPointDict.items():
-        if curLV < rangLVs[0]:
-            continue
-        setFreePoint += (point + fabaoAddPoint + titleAddPoint) * (min(curLV, rangLVs[1]) - rangLVs[0] + 1)
-    
-    #境界提升点数
-    setFreePoint += curPlayer.GetOfficialRank() * IpyGameDataPY.GetFuncCfg("LVUPAddPoint", 3)
-    return setFreePoint
 
 def GetTitleAddExtraPoint(curPlayer):
     # 称号额外增加玩家每级获得的灵根点
@@ -3367,23 +3335,6 @@
     if titleID and curPlayer.GetDienstgradManager().GetDienstgrad(titleID):
         return IpyGameDataPY.GetFuncCfg("TitleAddPoint", 2)
     return 0
-
-def GetFabaoAddPoint(curPlayer):
-    #法宝额外增加玩家每级获得的灵根点
-    return 0
-
-def DoAddPointOpen(curPlayer):
-    '''加点功能开启'''
-    beforeFreePoint = curPlayer.GetFreePoint()
-    
-    setFreePoint = GetAllPointByLV(curPlayer)
-    curLV = curPlayer.GetLV()
-    addDataDict = {'beforeFreePoint':beforeFreePoint}
-    curPlayer.SetFreePoint(setFreePoint)
-    DataRecordPack.DR_Freepoint(curPlayer, "AddPointOpen", setFreePoint, addDataDict)
-    GameWorld.DebugLog('    加点功能开启处理  beforeFreePoint=%s,curLV=%s, setFreePoint=%s'%(beforeFreePoint, curLV, setFreePoint), curPlayer.GetID())
-    return
-
     
 #---------------------------------------------------------------------
 ###############################################################
@@ -4422,6 +4373,8 @@
     value = ComMainLevelValue(chapterID, levelNum, wave)
     SetMainLevelPassValue(curPlayer, value)
     if wave == 0:
+        lvID = chapterID * 100 + levelNum
+        PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_MainLevel, lvID)
         PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_MainLevel)
     return value
 def GetMainLevelPassInfo(curPlayer):
@@ -4608,7 +4561,7 @@
         NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FightPower_HighestEx, highestFightPower / ChConfig.Def_PerPointValue)
         
     GameWorld.DebugLog("总战力: %s, 历史最高战力: %s, beforeFightPower=%s" % (value, highestFightPower, beforeFightPower), curPlayer.GetPlayerID())
-    PlayerBillboard.UpdatePlayerFPTotalBillboard(curPlayer)
+    #PlayerBillboard.UpdatePlayerFPTotalBillboard(curPlayer)
     # 记录开服活动数据
     #OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_FightPower, totalFightPower)
     #if beforeFightPower != totalFightPower:
@@ -4757,6 +4710,13 @@
         return 0
     return lvIpyData.GetExp()
 
+def GetOpenMaxLV():
+    ## 获取游戏开放的最大等级
+    maxLV = IpyGameDataPY.GetFuncCfg("PlayerMaxLV", 1)
+    ipyDataMgr = IpyGameDataPY.IPY_Data()
+    realmIpyData = ipyDataMgr.GetRealmByIndex(ipyDataMgr.GetRealmCount() - 1)
+    return min(maxLV, realmIpyData.GetLVMax())
+
 def GetPlayerMaxLV(curPlayer):
     ## 获取玩家实际可升的最大等级
     maxLV = IpyGameDataPY.GetFuncCfg("PlayerMaxLV", 1)

--
Gitblit v1.8.0