From 3beded4a9ae2e126158d89a4e7048f595ea0bc1b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 25 八月 2025 12:01:24 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(技能触发来源触发逻辑优化;增加承伤盾支持,0428通知buff相关值;增加嘲讽支持,优化技能选择目标逻辑;增加连击、反击、格挡、暴击、通用击晕支持;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 41 ++++++++++++-----------------------------
1 files changed, 12 insertions(+), 29 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
index 4f4bdcb..76ed1de 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -45,7 +45,6 @@
import GameObj
import BuffSkill
import PlayerState
-import MirrorAttack
import ChPyNetSendPack
import NPCHurtManager
import NetPackCommon
@@ -454,7 +453,7 @@
return heroIpyData.GetAtkDistType()
npcID = curObj.GetNPCID()
- npcDataEx = NPCCommon.GetNPCDataEx(npcID)
+ npcDataEx = NPCCommon.GetNPCDataPy(npcID)
if npcDataEx:
return npcDataEx.GetAtkDistType()
@@ -872,14 +871,14 @@
PlayerControl.NotifyCode(atkPlayer, sysMark)
return False
- npcDataEx = NPCCommon.GetNPCDataEx(npcID)
- if npcDataEx and npcDataEx.GetFightPowerLackAtkLimit():
- if npcDataEx.GetSuppressFightPower() > PlayerControl.GetFightPower(atkPlayer):
- if isNotify:
- PlayerControl.NotifyCode(atkPlayer, "BossFightPowerHint")
- #GameWorld.DebugLog("战力不足,无法攻击boss! npcID=%s,SuppressFightPower=%s > playerFightPower=%s"
- # % (npcID, npcDataEx.GetSuppressFightPower(), PlayerControl.GetFightPower(atkPlayer)))
- return False
+ #npcDataEx = NPCCommon.GetNPCDataPy(npcID)
+ #if npcDataEx and npcDataEx.GetFightPowerLackAtkLimit():
+ # if npcDataEx.GetSuppressFightPower() > PlayerControl.GetFightPower(atkPlayer):
+ # if isNotify:
+ # PlayerControl.NotifyCode(atkPlayer, "BossFightPowerHint")
+ # #GameWorld.DebugLog("战力不足,无法攻击boss! npcID=%s,SuppressFightPower=%s > playerFightPower=%s"
+ # # % (npcID, npcDataEx.GetSuppressFightPower(), PlayerControl.GetFightPower(atkPlayer)))
+ # return False
return True
@@ -2150,9 +2149,6 @@
aBurnValue = atkwargs.get('burnValue', 0)
aBurnPer = atkwargs.get('burnPer', 0)
hurtFormulaKey = atkwargs.get('hurtFormulaKey', None)
- #if hurtFormulaKey == "Burn":
- # pass
- #else:
hurtValue = eval(IpyGameDataPY.GetFuncCompileCfg("DOTFormula", 1))
elif not curSkill:
hurtValue = eval(IpyGameDataPY.GetFuncCompileCfg("HurtFormula", 3))
@@ -2239,8 +2235,6 @@
atkObj.SetDict(ChConfig.Def_PlayerKey_LastHurtNPCObjID, defObj.GetID())
else:
defObj.SetDict(ChConfig.Def_PlayerKey_LastAttackerObjID, atkObj.GetID())
-
- TurnAttack.AddTurnObjHurtValue(atkObj, defObj, resultHurtType.HurtType, resultHurtType.RealHurtHP, resultHurtType.LostHP, curSkill)
#if resultHurtType.RealHurtHP:
# PassiveBuffEffMng.OnPassiveSkillTrigger(defObj, atkObj, None, ChConfig.TriggerType_BeHurt, tick)
@@ -2549,17 +2543,6 @@
'''
#关系有3层,无-友好-敌人
- #镜像PK下,无视PK区域、PK模式等,仅验证双方是否同一阵营
- curBattleID = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MirrorBattleID)
- tagBattleID = tagPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MirrorBattleID)
- if curBattleID and curBattleID == tagBattleID:
- battle = MirrorAttack.GetMirrorBattleByID(curBattleID)
- if battle.batState != ChConfig.Def_MirrorBatState_Fight:
- return ChConfig.Type_Relation_None, ChConfig.Def_PASysMessage_None
- if curPlayer.GetFaction() != tagPlayer.GetFaction():
- return ChConfig.Type_Relation_Enemy , ChConfig.Def_PASysMessage_None
- return ChConfig.Type_Relation_Friend, ChConfig.Def_PASysMessage_None
-
#判断是否可释放(增/减)技能或普攻
if CheckPlayersRelationInFB_IsNone(curPlayer, tagPlayer):
return ChConfig.Type_Relation_None, ChConfig.Def_PASysMessage_None
@@ -2708,8 +2691,8 @@
if GameObj.GetHP(curObjDetel) > 0:
return
- if TurnAttack.SetTurnObjKilled(curObjDetel, atkObj):
- return
+ #if TurnAttack.SetTurnObjKilled(curObjDetel, atkObj):
+ # return
#---玩家处理---
if curObjDetel.GetGameObjType() == IPY_GameWorld.gotPlayer:
@@ -2787,7 +2770,7 @@
srcID, srcType = 0, 0
if srcObj:
srcID, srcType = srcObj.GetID(), srcObj.GetGameObjType()
- turnFight = TurnAttack.GetTurnFightMgr().getNPCTurnFight(curObj.GetID())
+ turnFight = TurnAttack.GetTurnFightMgr().getTurnFight(curObj.GetTFGUID())
if turnFight:
clientPack = ChNetSendPack.tagObjPropertyRefreshView()
clientPack.ObjID = curObj.GetID()
--
Gitblit v1.8.0