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/NPC/NPCCommon.py |   61 ++++++++++++++----------------
 1 files changed, 29 insertions(+), 32 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
index 42d8693..b517a41 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -4048,7 +4048,21 @@
         #初始化状态
         curNPC.SetSpeed(curNPC.GetOrgSpeed())
         curNPC.SetAtkInterval(curNPC.GetBaseAtkInterval())
-
+        
+        #扩展属性
+        npcDataEx = GetNPCDataEx(curNPC.GetNPCID())
+        if npcDataEx:
+            GameObj.SetAtkSpeed(curNPC, npcDataEx.GetAtkSpeed())
+            GameObj.SetSuperHitRateReduce(curNPC, npcDataEx.GetSuperHitRateReduce())
+            GameObj.SetFaintRate(curNPC, npcDataEx.GetFaintRate())
+            GameObj.SetFaintDefRate(curNPC, npcDataEx.GetFaintDefRate())
+            GameObj.SetComboRate(curNPC, npcDataEx.GetComboRate())
+            GameObj.SetComboDefRate(curNPC, npcDataEx.GetComboDefRate())
+            GameObj.SetAtkBackRate(curNPC, npcDataEx.GetAtkBackRate())
+            GameObj.SetAtkBackDefRate(curNPC, npcDataEx.GetAtkBackDefRate())
+            GameObj.SetSuckHPPer(curNPC, npcDataEx.GetSuckHPPer())
+            GameObj.SetSuckHPDefPer(curNPC, npcDataEx.GetSuckHPDefPer())
+            
 #        #先清空异常
 #        if curNPC.GetAbnormalState() != IPY_GameWorld.sctInvalid:
 #            curNPC.SetAbnormalState(IPY_GameWorld.sctInvalid)
@@ -4090,38 +4104,21 @@
         GameObj.SetMaxHP(curNPC, PropDict["MaxHP"])
         curNPC.SetHit(PropDict["Hit"])
         curNPC.SetMiss(PropDict["Miss"])
+        GameObj.SetAtkSpeed(curNPC, PropDict.get("AtkSpeed", 0))
         
-#        curPlayerPropDict["SkillAtkRate"] = curPlayer.GetSkillAtkRate() # 技能攻击比例加成
-#        curPlayerPropDict["SkillAtkRateReduce"] = PlayerControl.GetSkillAtkRateReduce(curPlayer) # 技能攻击比例减少
-#        curPlayerPropDict["LuckyHitRate"] = curPlayer.GetLuckyHitRate() # 会心一击几率
-#        curPlayerPropDict["LuckyHitVal"] = curPlayer.GetLuckyHitVal() # 会心一击伤害固定值
-#        curPlayerPropDict["LuckyHitRateReduce"] = PlayerControl.GetLuckyHitRateReduce(curPlayer) # 会心一击概率抗性
-#        curPlayerPropDict["LuckyHitReduce"] = PlayerControl.GetLuckyHitReduce(curPlayer) # 会心一击伤害减免固定值
-#        curPlayerPropDict["SuperHitRate"] = curPlayer.GetSuperHitRate() # 暴击概率
-#        curPlayerPropDict["SuperHit"] = curPlayer.GetSuperHit() # 暴击伤害固定值
-#        curPlayerPropDict["SuperHitRateReduce"] = PlayerControl.GetSuperHitRateReduce(curPlayer) # 暴击概率抗性
-#        curPlayerPropDict["SuperHitReduce"] = PlayerControl.GetSuperHitReduce(curPlayer) # 暴击伤害抗性固定值
-#        curPlayerPropDict["IceAtk"] = curPlayer.GetIceAtk() # 真实伤害            固定值
-#        curPlayerPropDict["IceDef"] = curPlayer.GetIceDef() # 真实伤害防御        固定值
-#        curPlayerPropDict["IgnoreDefRate"] = curPlayer.GetIgnoreDefRate() # 无视防御几率
-#        curPlayerPropDict["IgnoreDefRateReduce"] = PlayerControl.GetIgnoreDefRateReduce(curPlayer) # 无视防御概率抗性
-#        curPlayerPropDict["IgnoreDefReducePer"] = PlayerControl.GetIgnoreDefReducePer(curPlayer) # 无视防御伤害减免
-#        curPlayerPropDict["DamagePVE"] = PlayerControl.GetDamagePVE(curPlayer) # 伤害输出计算固定值PVE
-#        curPlayerPropDict["DamagePerPVP"] = PlayerControl.GetDamagePerPVP(curPlayer) # 伤害输出计算百分比PVP
-#        curPlayerPropDict["DamagePerPVPReduce"] = PlayerControl.GetDamagePerPVPReduce(curPlayer) # 伤害输出计算百分比PVP减少
-#        curPlayerPropDict["DamagePVP"] = PlayerControl.GetDamagePVP(curPlayer) # PVP固定伤害
-#        curPlayerPropDict["DamagePVPReduce"] = PlayerControl.GetDamagePVPReduce(curPlayer) # PVP固定减伤
-#        curPlayerPropDict["FinalHurt"] = PlayerControl.GetFinalHurt(curPlayer) # 最终固定伤害增加
-#        curPlayerPropDict["FinalHurtReduce"] = PlayerControl.GetFinalHurtReduce(curPlayer) # 最终固定伤害减少
-#        curPlayerPropDict["FinalHurtPer"] = PlayerControl.GetFinalHurtPer(curPlayer) # 最终伤害百分比
-#        curPlayerPropDict["FinalHurtReducePer"] = PlayerControl.GetFinalHurtReducePer(curPlayer) # 最终伤害减少百分比
-#        curPlayerPropDict["OnlyFinalHurt"] = PlayerControl.GetOnlyFinalHurt(curPlayer) # 额外输出伤害
-#        curPlayerPropDict["DamChanceDef"] = PlayerControl.GetDamChanceDef(curPlayer) # 20%的概率抵御伤害比率
-#        curPlayerPropDict["NPCHurtAddPer"] = PlayerControl.GetNPCHurtAddPer(curPlayer) # 对怪物伤害加成
-#        curPlayerPropDict["AtkBackHPPer"] = PlayerControl.GetAtkBackHPPer(curPlayer) # 攻击回复血量固定值
-#        curPlayerPropDict["PVPAtkBackHP"] = PlayerControl.GetPVPAtkBackHP(curPlayer) # PVP攻击回血
-#        curPlayerPropDict["FaintRate"] = PlayerControl.GetFaintRate(curPlayer) # 触发击晕
-#        curPlayerPropDict["FaintDefRate"] = PlayerControl.GetFaintDefRate(curPlayer) # 击晕抵抗
+        curNPC.SetSuperHitRate(PropDict["SuperHitRate"])
+        GameObj.SetSuperHitRateReduce(curNPC, PropDict["SuperHitRateReduce"])
+        GameObj.SetFaintRate(curNPC, PropDict["FaintRate"])
+        GameObj.SetFaintDefRate(curNPC, PropDict["FaintDefRate"])
+        GameObj.SetComboRate(curNPC, PropDict.get("ComboRate", 0)) # 后面加的属性做兼容
+        GameObj.SetComboDefRate(curNPC, PropDict.get("ComboDefRate", 0))
+        GameObj.SetAtkBackRate(curNPC, PropDict.get("AtkBackRate", 0))
+        GameObj.SetAtkBackDefRate(curNPC, PropDict.get("AtkBackDefRate", 0))
+        GameObj.SetSuckHPPer(curNPC, PropDict.get("SuckHPPer", 0))
+        GameObj.SetSuckHPDefPer(curNPC, PropDict.get("SuckHPDefPer", 0))
+        
+        GameWorld.DebugLog("SetPVPNPCPlayerAttr: objID=%s,NPCID=%s,pvpPlayerID=%s,maxHP=%s" 
+                           % (curNPC.GetID(), curNPC.GetNPCID(), pvpPlayerID, GameObj.GetMaxHP(curNPC)))
         return
     
     def SetHelpBattleRobotRebornAttr(self, fightPower):

--
Gitblit v1.8.0