From 985bdf70fd0022733f75bf2106e69c6de77c26b1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 28 十一月 2025 17:29:51 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(卑弥呼所有技能;技能表增加字段Buff保留-BuffRetain,支持死亡保留、复活保留;增加触发方式42-大回合开始时(死亡后有效);增加属性ID 73复活生命加成、74复活怒气加成;优化效果6014-支持失败次数额外概率;优化死亡、复活时的buff处理;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
index 73211db..46527c9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -509,7 +509,7 @@
 def CanHappen(rate, maxRate=ShareDefine.Def_MaxRateValue):
     if rate <= 0:
         return 0
-    if random.randint(0, maxRate -1) < rate:
+    if rate >= maxRate or random.randint(0, maxRate -1) < rate:
         return 1
     
     return 0
@@ -973,6 +973,16 @@
     dateTimeB = ChangeTimeNumToDatetime(timeB)
     dateTimeB = datetime.datetime(dateTimeB.year, dateTimeB.month, dateTimeB.day, 0, 0, 0)
     return (dateTimeA - dateTimeB).days
+
+def GetEndTimeByZeroTime(startTime, addDays):
+    ## 获取结束时间,根据0点结束计算
+    # @param startTime: 起始时间戳
+    # @param addDays: 增加的天数,如果是1天实际为当天,即1代表当天
+    startDate = ChangeTimeNumToDatetime(startTime)
+    startZeroDate = datetime.datetime(startDate.year, startDate.month, startDate.day, 23, 59, 59)
+    startZeroTime = int(time.mktime(startZeroDate.timetuple()))
+    endTime = startTime + (startZeroTime - startTime) + max(addDays - 1, 0) * 24 * 3600
+    return endTime
 
 #---------------------------------------------------------------------
 ##获取与当前时间相差天数的datetime格式数据
@@ -1731,6 +1741,8 @@
     randList = []
     weight = 0
     for info in weightList:
+        if not info[0]:
+            continue
         weight += info[0]
         randList.append([weight, info[1] if len(info) == 2 else info[1:]])
     if not randList:

--
Gitblit v1.8.0