From afea2d9d4b9cb6d0982c02a775e8198fc2421c53 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 08 十二月 2023 18:21:28 +0800
Subject: [PATCH] 10019 【砍树】回合战斗(增加抗连击、反击、抗反击、吸血、抗吸血属性,玩家及NPC属性接口通用;连击、反击属性效果支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
index 7963bd4..072738d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -1363,6 +1363,9 @@
 #  @return None
 #  @remarks 函数详细说明.
 def __Sync_AttackResult(attacker, defender, curSkill):
+    battleType = AttackCommon.GetBattleType(attacker, curSkill)
+    turnBattleType = attacker.GetDictByKey(ChConfig.Def_Obj_Dict_TurnBattleType)
+    battleType = turnBattleType * 10 + battleType # 通知的battle修改: 回合攻击战斗类型*10+原战斗类型
     #普通攻击
     if not curSkill:
         #GameWorld.Log("玩家普通攻击成功")
@@ -1373,7 +1376,7 @@
         else:
             curHurt = g_skillHurtList.GetHurtAt(0)
             attacker.BaseAttack(curHurt.GetObjID(), curHurt.GetObjType(),
-                                AttackCommon.GetBattleType(attacker, curSkill),
+                                battleType,
                                 curHurt.GetAttackType(), curHurt.GetHurtHP(), curHurt.GetHurtHPEx(), curHurt.GetCurHP(), curHurt.GetCurHPEx())
         
         #//返回值无意义
@@ -1384,7 +1387,6 @@
     changeSkillID = PassiveBuffEffMng.GetPassiveSkillValueByTriggerTypeEx(attacker, None, curSkill, ChConfig.TriggerType_ChangeSkillEff)
     if changeSkillID:
         skillID = changeSkillID
-    battleType = AttackCommon.GetBattleType(attacker, curSkill)
     #无目标类技能
     if not defender:
         #玩家处理
@@ -1698,7 +1700,7 @@
     if attacker.GetGameObjType() != IPY_GameWorld.gotPlayer:
         return
     
-    faintRate = PlayerControl.GetFaintRate(attacker)
+    faintRate = GameObj.GetFaintRate(attacker)
     if not faintRate:
         #GameWorld.DebugLog("没有击晕概率!", attacker.GetID())
         return
@@ -1724,7 +1726,7 @@
     if GameObj.GetHP(defender) <= 0:
         return
 
-    tagFaintRate = PlayerControl.GetFaintDefRate(defender) if defender.GetGameObjType() == IPY_GameWorld.gotPlayer else 0
+    tagFaintRate = GameObj.GetFaintDefRate(defender) if defender.GetGameObjType() == IPY_GameWorld.gotPlayer else 0
 
     # 添加最高60%击晕效果
     maxRate = IpyGameDataPY.GetFuncCfg("PassiveSkillFaint", 1)

--
Gitblit v1.8.0