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