From 9a635fc2a0a0dda52836b7e71f7184b3226517c7 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 18 九月 2025 16:40:52 +0800 Subject: [PATCH] 121 【武将】武将系统-服务端(武将属性计算不取整,精确3位小数;战斗时属性使用原值小数计算,仅血量、怒气取整;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py index 4d70727..b75f844 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py @@ -38,9 +38,10 @@ skillIpyData = IpyGameDataPY.GetIpyGameData("Skill", skillID) if not skillIpyData: return + ownerID = buffOwner.GetID() if buffOwner else 0 tagObjList = [batObj] poolMgr = ObjPool.GetPoolMgr() - useSkill = poolMgr.acquire(BattleObj.PySkill, skillIpyData) + useSkill = poolMgr.acquire(BattleObj.PySkill, skillIpyData, ownerID) useSkill.SetTagObjList(tagObjList) OnAddBuff(turnFight, batObj, useSkill, buffOwner, bySkill, afterLogic) @@ -63,7 +64,7 @@ skillTypeID = buffSkill.GetSkillTypeID() buffRepeat = buffSkill.GetBuffRepeat() addLayerCnt = buffSkill.GetLayerCnt() - addLayerEff = buffSkill.GetEffectByID(6001) + addLayerEff = buffSkill.GetEffectByID(ChConfig.PassiveEff_AddBuffLayerByWeight) if addLayerEff: addLayerCnt = GameWorld.GetResultByWeightList(addLayerEff.GetEffectValues(), addLayerCnt) @@ -179,7 +180,7 @@ continue if curEffect.GetTriggerWay(): - if curEffect.GetTriggerSrc() != ChConfig.TriggerSrc_Skill: + if curEffect.GetTriggerSrc() not in [ChConfig.TriggerSrc_Skill, ChConfig.TriggerSrc_SkillSelf]: passiveEffMgr.AddBuffPassiveEffect(addBuff, buffSkill, curEffect) elif effectID in ChConfig.AttrIDList: @@ -240,7 +241,7 @@ continue if curEffect.GetTriggerWay(): - if curEffect.GetTriggerSrc() != ChConfig.TriggerSrc_Skill: + if curEffect.GetTriggerSrc() not in [ChConfig.TriggerSrc_Skill, ChConfig.TriggerSrc_SkillSelf]: haveBuffPassiveEff = True elif effectID in ChConfig.AttrIDList: @@ -327,8 +328,8 @@ attrValue = batObj.GetBatAttrValue(attrID, False) if attrValue <= 0: continue - updValue = int(attrValue * (10000 + attrPerValue) / 10000.0) - updValue = max(0, updValue) # 最多减到0,最大无上限 + updValue = attrValue * (10000 + attrPerValue) / 10000.0 + #updValue = max(0, updValue) # 最多减到0,最大无上限 batObj.SetBatAttrValue(attrID, updValue) GameWorld.DebugLog(" attrID=%s(PerID:%s),attrValue=%s(PerValue:%s),updValue=%s" % (attrID, attrPerID, attrValue, attrPerValue, updValue)) @@ -337,7 +338,8 @@ if attrID in perIDList: continue attrValue = batObj.GetBatAttrValue(attrID, False) - updValue = max(0, attrValue + addValue) # 最多减到0,最大无上限 + updValue = attrValue + addValue + #updValue = max(0, attrValue + addValue) # 最多减到0,最大无上限 batObj.SetBatAttrValue(attrID, updValue) GameWorld.DebugLog(" attrID=%s,attrValue=%s,addValue=%s,updValue=%s" % (attrID, attrValue, addValue, updValue)) @@ -349,7 +351,7 @@ aftHP += (aftMaxHP - befMaxHP) batObj.SetHP(aftHP, True) GameWorld.DebugLog(" befHP=%s/%s, aftHP=%s/%s" % (befHP, befMaxHP, aftHP, aftMaxHP)) - GameWorld.DebugLog(" 最终属性 ID:%s,atk=%s,def=%s,hp=%s/%s" % (objID, batObj.GetAtk(), batObj.GetDef(), aftHP, aftMaxHP)) + GameWorld.DebugLog(" 最终属性 ID:%s,atk=%s,def=%s,hp=%s/%s,%s" % (objID, batObj.GetAtk(), batObj.GetDef(), aftHP, aftMaxHP, batObj.GetBatAttrDict())) return def SyncBuffRefresh(turnFight, curBatObj, curBuff, relatedSkillID=0, isNewAdd=False): -- Gitblit v1.8.0