From 8b176b2f1af997f16531f0ee82f8ceeb7ba3ca07 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 19 十一月 2018 21:44:41 +0800
Subject: [PATCH] 4885 【1.3】【后端】潜力技能支持某个字段增加生命值配置
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py | 18 +++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py | 54 ++++++++++++++-------------
2 files changed, 46 insertions(+), 26 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 21abbde..a0f2583 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -1551,32 +1551,34 @@
# @return None
# @remarks 设置玩家属性消耗,如魔法,XP点,HP
def SetSkillLostAttr(curPlayer, curSkill, tick):
- #-----------扣魔法
- lostMPValue = curSkill.GetMP()
- curPlayerMP = curPlayer.GetMP()
-
- if curPlayerMP < lostMPValue:
- GameWorld.ErrLog('释放技能 = %s异常, 魔法 = %s不足 = %s' % (
- curSkill.GetSkillTypeID(), curPlayerMP, lostMPValue))
-
- if lostMPValue > 0:
- curPlayer.SetMP(curPlayer.GetMP() - lostMPValue)
- #自动回魔
- 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)
+ #===========================================================================
+ # #-----------扣魔法
+ # lostMPValue = curSkill.GetMP()
+ # curPlayerMP = curPlayer.GetMP()
+ #
+ # if curPlayerMP < lostMPValue:
+ # GameWorld.ErrLog('释放技能 = %s异常, 魔法 = %s不足 = %s' % (
+ # curSkill.GetSkillTypeID(), curPlayerMP, lostMPValue))
+ #
+ # if lostMPValue > 0:
+ # curPlayer.SetMP(curPlayer.GetMP() - lostMPValue)
+ # #自动回魔
+ # 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)
+ #===========================================================================
#----------扣HP点
lostHPValue = curSkill.GetHP()
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
index 775ab34..c504d6d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -2654,6 +2654,20 @@
OperControlManager.SetObjActState(curObj, buffSkill)
+# 非属性技能算属性 特殊处理
+# 法宝SP技能 如1-4级为增加属性,第5级为伤害效果,第6-10级就要包含属性和伤害效果
+def CalcFabaoSPSkillAttr(curPlayer, curPlayerSkill, allAttrList):
+ if curPlayerSkill.GetFuncType() != ChConfig.Def_SkillFuncType_FbSPSkill:
+ return
+
+ value = GetMaxHPAttrValue(curPlayerSkill)
+ if value == 0:
+ return
+
+ PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_MaxHP, value, allAttrList)
+ return
+
+
# 计算属性类技能的属性,同buff层不算战力
def CalcPassiveAttr_Effect(curPlayer, allAttrList):
skillManager = curPlayer.GetSkillManager()
@@ -2662,6 +2676,7 @@
if curPlayerSkill == None:
continue
+ CalcFabaoSPSkillAttr(curPlayer, curPlayerSkill, allAttrList)
if not SkillCommon.isPassiveAttr(curPlayerSkill):
continue
@@ -3394,6 +3409,9 @@
def GetUpLVCostItemNum(curSkill):
return curSkill.GetExAttr5()
+# 技能特殊增加属性配置,目前只支持生命,潜力技能专用
+def GetMaxHPAttrValue(curSkill):
+ return curSkill.GetMP()
##获得当前技能升级消耗的真气值
# @param curSkill 当前技能技能
--
Gitblit v1.8.0