From 927de56a0a32333087885c0e29ba156f25eb96b6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 07 一月 2025 17:56:40 +0800
Subject: [PATCH] 10289 【越南】【英语】【砍树】【BT】运势-服务端(A801增加领取累计寻宝次数奖励事件名通知 TreasureCntAward)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/CalcNoLineEffect.py | 31 +++++++++++++++----------------
1 files changed, 15 insertions(+), 16 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/CalcNoLineEffect.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/CalcNoLineEffect.py
index 67fea1e..4ea3121 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/CalcNoLineEffect.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/CalcNoLineEffect.py
@@ -21,14 +21,27 @@
import ChConfig
import EffGetSet
import GameWorld
-import ShareDefine
+import FBCommon
#---------------------------------------------------------------------
+
+def AddPlayerMapAttrNolineEffect(curPlayer, effectDict):
+ ## 根据玩家当前属性给玩家添加非线性效果加成 - 某些地图才生效的
+ mapID = FBCommon.GetRecordMapID(curPlayer.GetMapID())
+ mapAttrNolineInfo = ChConfig.MapAttrInfoDict_Noline.get(mapID, {})
+ for attrIndex, effAttrIndexList in mapAttrNolineInfo.items():
+ curValue = EffGetSet.GetValueByEffIndex(curPlayer, attrIndex)
+ if not curValue:
+ #GameWorld.DebugLog(" 没有该类属性: attrIndex=%s" % attrIndex)
+ continue
+ for effAttrIndex in effAttrIndexList:
+ effectDict[effAttrIndex] = effectDict.get(effAttrIndex, 0) + curValue
+ return
## 给玩家添加非线性Buff效果
# @param curPlayer 当前玩家
# @param effectDict 效果列表
# @return None
-def ChangePlayerAttrInNoLineEffectList(curPlayer, effectDict, mfpObjAttrDict=None, isBuffAttr=False):
+def ChangePlayerAttrInNoLineEffectList(curPlayer, effectDict, isBuffAttr=False):
for key, value in effectDict.items():
if value == 0:
continue
@@ -65,20 +78,6 @@
## # 衰减算法
## EffGetSet.SetValueByEffIndex(curPlayer, key, tmpValue)
# else:
- if mfpObjAttrDict:
- for mfpObj, attrDict in mfpObjAttrDict.items():
- #if not attrDict.has_key(key): # 如果该模块没有增加该属性,则跳过
- if key not in attrDict: # 如果该模块没有增加该属性,则跳过
- continue
- #装备模块攻击、生命非线性属性提升的属性不计算战力,战力另外算
- if mfpObj.mfpType == ShareDefine.Def_MFPType_Equip \
- and key in [ChConfig.TYPE_Calc_AttrATKMin, ChConfig.TYPE_Calc_AttrATKMax, ChConfig.TYPE_Calc_AttrMaxHP]:
- GameWorld.DebugLog("装备模块某些属性不计入战力计算: key=%s,value=%s" % (key, attrDict[key]))
- continue
- curMValue = attrDict[key]
- curMAddValue = curValue * curMValue / ChConfig.Def_MaxRateValue # 相对增加值
- mfpObj.AddCalcMFPAttr(key, curMAddValue) # 给对应模块累加上非线性增加的战斗属性值
-
EffGetSet.SetValueByEffIndex(curPlayer, key, curValue * (ChConfig.Def_MaxRateValue + value) / ChConfig.Def_MaxRateValue)
return
--
Gitblit v1.8.0