From 81d4c82d07f4d5aff78c40579049ae70a94163d5 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 06 二月 2024 18:08:13 +0800
Subject: [PATCH] 10019 【砍树】回合战斗(增加道法技能支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py |   32 +++++++++++++++-----------------
 1 files changed, 15 insertions(+), 17 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 bf59ceb..015f484 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -1825,7 +1825,7 @@
 #  @param tick 当前时间
 #  @return None
 #  @remarks 设置玩家属性消耗,如魔法,XP点,HP
-def SetSkillLostAttr(curPlayer, curSkill, tick):
+def SetSkillLostAttr(curObj, curSkill, tick):
     #===========================================================================
     # #-----------扣魔法
     # lostMPValue = curSkill.GetMP()
@@ -1840,31 +1840,26 @@
     #    #自动回魔
     #    PlayerControl.PlayerAutoRestoreMP(curPlayer, tick)
     # 
-    # #----------扣XP点
-    # lostXPValue = curSkill.GetXP()
-    # curPlayerXP = curPlayer.GetXP()
-    # 
-    # if curPlayerXP < lostXPValue:
-    #    GameWorld.ErrLog('释放技能 = %s异常, XP点 = %s不足 = %s' % (
-    #                        curSkill.GetSkillTypeID(), curPlayerXP, lostXPValue))
-    # 
-    # if lostXPValue > 0:
-    #    remain = curPlayer.GetXP() - lostXPValue
-    #    remain = max(0, remain)
-    #    curPlayer.SetDict(ChConfig.Def_PlayerKey_RecordXPValue, remain)
-    #    curPlayer.SetXP(remain)
     #===========================================================================
-
+    
+    #----------扣XP点
+    lostXPValue = curSkill.GetXP()
+    curXP = GameObj.GetXP(curObj)
+    if curXP < lostXPValue:
+        GameWorld.ErrLog('释放技能扣除XP异常! skillID=%s,curXP=%s < lostXPValue=%s' % (curSkill.GetSkillID(), curXP, lostXPValue))
+    if lostXPValue > 0:
+        GameObj.SetXP(curObj, max(0, curXP - lostXPValue))
+        
     #----------扣HP点
     lostHPValue = curSkill.GetHP()
-    curPlayerHP = GameObj.GetHP(curPlayer)
+    curPlayerHP = GameObj.GetHP(curObj)
     
     if curPlayerHP < lostHPValue:
         GameWorld.ErrLog('释放技能 = %s异常, HP点 = %s不足 = %s' % (
                             curSkill.GetSkillTypeID(), curPlayerHP, lostHPValue))
     
     if lostHPValue > 0:
-        GameObj.SetHP(curPlayer, GameObj.GetHP(curPlayer) - lostHPValue)
+        GameObj.SetHP(curObj, GameObj.GetHP(curObj) - lostHPValue)
         
     return
 
@@ -1915,6 +1910,9 @@
     if curSkill:
         skillTypeID = curSkill.GetSkillTypeID()
         
+        #扣属性,如魔法,XP点
+        SetSkillLostAttr(curNPC, curSkill, tick)
+        
         #技能使用成功
         curNPCSkill = curNPC.GetSkillManager().FindSkillBySkillTypeID(skillTypeID)
         

--
Gitblit v1.8.0