From de44f98f2a8a2b0c12d3482162f1e30e796d7b94 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 08 一月 2026 16:27:02 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(优化伤害计算公式参数输出;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 58 ++++++++++++++++------------------------------------------
1 files changed, 16 insertions(+), 42 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 b7fb12e..44d4907 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -53,6 +53,7 @@
import PlayerActivity
import ChNetSendPack
import PlayerState
+import PlayerBeauty
import PlayerOnline
import PlayerTask
import PlayerMail
@@ -2812,6 +2813,7 @@
for itemID, upperCnt in DailyBootyUpperList:
if upperCnt <= 0:
continue
+ upperCnt = GetBootyUpper(curPlayer, itemID, upperCnt)
if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BootyDropToday % itemID) >= upperCnt:
continue
unXiantaoCntBooty = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_UnXiantaoCntBooty % itemID)
@@ -2856,6 +2858,20 @@
DataRecordPack.DR_UseMoney(curPlayer, eventName, type_Price, price, infoDict) # 流向
return
+
+def GetBootyUpper(curPlayer, itemID, baseUpper):
+ ## 战利品掉落上限
+ dropUpper = baseUpper
+ addPer = 0
+ addPer += PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_BootyPer)[0] # 战利品上限提高百分比
+
+ # 其他功能增加上限,可扩展
+
+ if addPer:
+ dropUpper = int(baseUpper * (100 + addPer) / 100.0)
+ GameWorld.DebugLogEx("提高战利品掉落上限: itemID=%s,baseUpper=%s,addPer=%s,dropUpper=%s", itemID, baseUpper, addPer, dropUpper)
+
+ return dropUpper
## 付款以后后续操作(金子)
# @param curPlayer 玩家实例
@@ -4512,48 +4528,6 @@
# atkInterval *= 100
return atkInterval
-
-##玩家增加真气
-# @param curPlayer 玩家
-# @param value 增加数值
-# @param canOverbrim 可否溢出(默认不行)
-# @param isSysMsg 是否系统提示(默认需要)
-# @return None
-def PlayerAddZhenQi(curPlayer, addValue, canOverbrim=False, isSysMsg=True, eventName="unknown", eventData=""):
- if addValue <= 0:
- return True
-
- curZhenQi = GetZhenQi(curPlayer) # 当前真气
-
- value = curZhenQi + addValue
-
- if value == curZhenQi:
- #真气值没有改变
- return False
- SetZhenQi(curPlayer, value)
- return True
-
-
-##玩家减少真气
-# @param curPlayer 玩家
-# @param lostValue 减少数值
-# @return None
-def PlayerLostZhenQi(curPlayer, lostValue, eventName="unknown", eventData=""):
- if lostValue <= 0:
- return True
-
- curZhenQi = GetZhenQi(curPlayer) # 当前真气
-
- value = max(0, curZhenQi - lostValue)
- if value < 0:
- GameWorld.ErrLog("curZhenQi = %s, lostValue = %s" % (curZhenQi, lostValue))
- return False
- SetZhenQi(curPlayer, value)
- return True
-
-## SP真气值 - 暂废弃 ExAttr7、ExAttr8 改为专精选择通知,用于前端表现其他玩家的不同专精特效
-def GetZhenQi(curPlayer): return 0
-def SetZhenQi(curPlayer, totalZhenQi): return
#===============================================================================
# #@warning: ExAttr6~ExAttr10, 新增2个布尔默认参数, 是否通知客户端, 是否通知GameServer, 默认值为False
--
Gitblit v1.8.0