From 2560077959fd4d841ce35cb65e2367e568b3b08b Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 19 一月 2024 17:26:02 +0800 Subject: [PATCH] 10019 【砍树】回合战斗(调整闪避公式计算方式;灵宠及反击必命中;普攻暴击后可触发被动;调整击晕优先级提前到其他被动触发前;NPC新增触发被动方式;) 1. 调整闪避公式计算方式,改为是否闪避,简化公式; 2. 增加灵宠及反击必命中;部分触发类伤害技能可通过技能ExAttr2配置必命中; 3. 普攻暴击后可触发被动; 4. 调整击晕优先级提前到反击和其他被动触发前;不然可能导致被攻击方先触发了反击或某些被动后再被击晕;最大击晕概率配置由6000调整为9000; 5. NPC支持被击、闪避、击晕、暴击、连击、反击前、反击后可触发被动; 6. 回血量增加支持按已损失血量百分比恢复; --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py | 38 +++++++++++++++++++++++++++++++------- 1 files changed, 31 insertions(+), 7 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py index 78245d1..2f41f42 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py @@ -152,13 +152,6 @@ gameObj.SetDict(ChConfig.Def_PlayerKey_CurState, 0) return -def GetPetDamPer(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_AttrPetDamPer) -def SetPetDamPer(gameObj, value): - gameObj.SetDict(ChConfig.Def_PlayerKey_AttrPetDamPer, value) - if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer: - PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_PetDamPer, value) - return - def GetLastHurtValue(gameObj): ## 最后一击伤害值 hurt = gameObj.GetDictByKey(ChConfig.Def_PlayerKey_LastHurtValue) @@ -179,6 +172,37 @@ gameObj.SetDict(ChConfig.Def_PlayerKey_BloodShiledHurtEx, value / ShareDefine.Def_PerPointValue) return +## --------------------------------------------------------- +def ClearBattleEffect(gameObj): + gameObj.ClearBattleEffect() + # 其他py层自定义战斗属性,由于EffGetSet中不是所有属性接口均通用,固这里先手动调用 + SetPetDamPer(gameObj, 0) + SetFinalHurtPer(gameObj, 0) + SetFinalHurtReducePer(gameObj, 0) + SetAtkSpeed(gameObj, 0) + SetSuperHitRateReduce(gameObj, 0) + SetSuperHitReduce(gameObj, 0) + SetFaintRate(gameObj, 0) + SetFaintDefRate(gameObj, 0) + SetComboRate(gameObj, 0) + SetComboDefRate(gameObj, 0) + SetComboDamPer(gameObj, 0) + SetAtkBackRate(gameObj, 0) + SetAtkBackDefRate(gameObj, 0) + SetSuckHPPer(gameObj, 0) + SetSuckHPDefPer(gameObj, 0) + SetAtkBackHP(gameObj, 0) + SetCurePer(gameObj, 0) + SetCureDefPer(gameObj, 0) + return + +def GetPetDamPer(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_AttrPetDamPer) +def SetPetDamPer(gameObj, value): + gameObj.SetDict(ChConfig.Def_PlayerKey_AttrPetDamPer, value) + if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer: + PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_PetDamPer, value) + return + def GetFinalHurtPer(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurtPer) def SetFinalHurtPer(gameObj, value): ## 最终伤害百分比 -- Gitblit v1.8.0