From 6fcf3513ccde191e067c8dfd8279cccedf95eb77 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 17 五月 2019 19:22:25 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能 - 新版
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py | 5 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4074.py | 28 +++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4002.py | 19 ++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4075.py | 29 +++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py | 8 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4102.py | 29 +++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4103.py | 26 ++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4015.py | 9 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 4 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 3
11 files changed, 147 insertions(+), 16 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
index 5f54338..deef577 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -2120,7 +2120,8 @@
elif curSkill.GetFuncType() in [ChConfig.Def_SkillFuncType_FbSkill, ChConfig.Def_SkillFuncType_FbPassiveSkill]:
atkSkillPer += PlayerControl.GetFabaoHurtPer(atkObj)
atkSkillValue += PlayerControl.GetFabaoHurt(atkObj)
-
+
+ atkSkillValue += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_SkillValue)
# atkSkillPer 包含普攻,所以不是用技能增强处理
atkSkillPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AttackAddSkillPer)
atkSkillPer += PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AttackAddSkillPer)
@@ -2291,6 +2292,7 @@
hurtFormula = hurtDist[atkwargs.get('hurtFormulaKey', None)]
else:
hurtFormula = hurtDist[hurtFormulaKey]
+
hurtValue = int(eval(FormulaControl.GetCompileFormula(hurtFormulaKey, hurtFormula)))
if hurtType == ChConfig.Def_HurtType_Normal and SuppressValueRealmRate > 10000:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 1dc3759..c10294f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4485,7 +4485,8 @@
TriggerType_SuperHitSuckBloodPer, # 暴击百分比吸血, 79
TriggerType_BurnPer, # 灼烧伤害百分比 80
TriggerType_BurnDisappear, # 灼烧消失触发 81
-) = range(1, 82)
+TriggerType_SkillValue, # 增加技能伤害固定值 82
+) = range(1, 83)
#不可以佩戴翅膀的地图
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
index 6bdb52f..641d32c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -1282,10 +1282,11 @@
GameObj.SetHP(curObj, remainHP, not view)
AttackCommon.WriteHurtLog(buffOwner, curObj, curSkill, lostValue, hurtType, "持续掉血")
-
if view:
#广播伤血类型
AttackCommon.ChangeHPView(curObj, buffOwner, skillTypeID, notifyLostValue, hurtType)
+ if buffOwner:
+ PassiveBuffEffMng.OnPassiveSkillTrigger(buffOwner, curObj, curSkill, ChConfig.TriggerType_AttackOverPassive, tick)
# 濒死状态触发技能
if GameObj.GetHP(curObj) == 0:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4002.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4002.py
index 83d6e3a..0223162 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4002.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4002.py
@@ -1,30 +1,37 @@
#!/usr/bin/python
# -*- coding: GBK -*-
#
-# @todo: 目标血量低于XX百分比提高伤害xx
+##@package
+#
+# @todo: 目标处于XX状态提高技能伤害固定值
#
# @author: Alee
-# @date 2018-1-9 下午09:39:37
+# @date 2019-5-17 下午05:01:22
# @version 1.0
#
# @note:
#
#---------------------------------------------------------------------
+
import ChConfig
import GameWorld
import GameObj
-# 血量低于XX
def CheckCanHappen(attacker, defender, effect, curSkill):
if not defender:
return False
- if GameObj.GetHP(defender)*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(defender) >= effect.GetEffectValue(1):
- return False
+ ownerID, ownerType = 0, 0
+ if effect.GetEffectValue(2):
+ ownerID, ownerType = attacker.GetID(), attacker.GetGameObjType()
+
+ if effect.GetEffectValue(1):
+ if not GameObj.GetPyPlayerState(defender, effect.GetEffectValue(1), ownerID, ownerType):#ChConfig.Def_PlayerState_Stun):
+ #GameWorld.DebugLog("状态触发----%s"%effect.GetEffectValue(1))
+ return False
return True
-
def GetValue(attacker, defender, effect):
return effect.GetEffectValue(0)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4015.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4015.py
index 77da405..f5438bd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4015.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4015.py
@@ -25,11 +25,12 @@
if effect.GetEffectValue(2):
ownerID, ownerType = attacker.GetID(), attacker.GetGameObjType()
- if GameObj.GetPyPlayerState(defender, effect.GetEffectValue(1), ownerID, ownerType):#ChConfig.Def_PlayerState_Stun):
- #GameWorld.DebugLog("状态触发----%s"%effect.GetEffectValue(1))
- return True
+ if effect.GetEffectValue(1):
+ if not GameObj.GetPyPlayerState(defender, effect.GetEffectValue(1), ownerID, ownerType):#ChConfig.Def_PlayerState_Stun):
+ #GameWorld.DebugLog("状态触发----%s"%effect.GetEffectValue(1))
+ return False
- return False
+ return True
def GetValue(attacker, defender, effect):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4074.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4074.py
new file mode 100644
index 0000000..8e3543f
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4074.py
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#
+##@package
+#
+# @todo: 自身每存在1个增益buff,增加XX%技能伤害,上限增加200%
+#
+# @author: Alee
+# @date 2019-5-17 下午05:25:38
+# @version 1.0
+#
+# @note:
+#
+#---------------------------------------------------------------------
+
+import ChConfig
+import IPY_GameWorld
+import AttackCommon
+def CheckCanHappen(attacker, defender, effect, curSkill):
+ if effect.GetEffectValue(2):
+ # 只针对第一目标
+ if AttackCommon.GetFirstDefenderID(attacker) != defender.GetID():
+ return False
+ return True
+
+def GetValue(attacker, defender, effect):
+
+ return min(effect.GetEffectValue(0)*attacker.GetBuffState().GetBuffCount(), effect.GetEffectValue(1))
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4075.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4075.py
new file mode 100644
index 0000000..f6040eb
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4075.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#
+##@package
+#
+# @todo: 重击造成每点(攻速-100)*1%重击伤害
+#
+# @author: Alee
+# @date 2019-5-17 下午03:19:44
+# @version 1.0
+#
+# @note:
+#
+#---------------------------------------------------------------------
+
+import PlayerControl
+import AttackCommon
+
+def CheckCanHappen(attacker, defender, effect, curSkill):
+ if effect.GetEffectValue(1):
+ # 只针对第一目标
+ if AttackCommon.GetFirstDefenderID(attacker) != defender.GetID():
+ return False
+ return True
+
+
+def GetValue(attacker, defender, effect):
+ return max(PlayerControl.GetAtkSpeed(attacker) - 100, 0)*effect.GetEffectValue(0)
+
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4102.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4102.py
new file mode 100644
index 0000000..08035ea
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4102.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#
+##@package
+#
+# @todo: 消耗固定印记数量增加技能伤害固定值
+#
+# @author: Alee
+# @date 2019-4-26 下午07:46:07
+# @version 1.0
+#
+# @note:
+#
+#---------------------------------------------------------------------
+import ChConfig
+import PlayerControl
+
+
+def CheckCanHappen(attacker, defender, effect, curSkill):
+ if PlayerControl.GetYinjiCnt(attacker) < effect.GetEffectValue(1):
+ return False
+
+ # 4092 处理消耗
+ #PlayerYinji.SubYinji(attacker, effect.GetEffectValue(1))
+ return True
+
+
+def GetValue(attacker, defender, effect):
+ return effect.GetEffectValue(0)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4103.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4103.py
new file mode 100644
index 0000000..e89c1ea
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4103.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#
+##@package
+#
+# @todo: 重击回血
+#
+# @author: Alee
+# @date 2019-5-17 下午03:27:34
+# @version 1.0
+#
+# @note:
+#
+#---------------------------------------------------------------------
+import AttackCommon
+
+def CheckCanHappen(attacker, defender, effect, curSkill):
+ if effect.GetEffectValue(1):
+ # 只针对第一目标
+ if AttackCommon.GetFirstDefenderID(attacker) != defender.GetID():
+ return False
+ return True
+
+
+def GetValue(attacker, defender, effect):
+ return effect.GetEffectValue(0)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
index b39b849..f0142e9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -289,6 +289,7 @@
4000:ChConfig.TriggerType_BuffState, # 进入4012的某个状态触发技能 2
4001:ChConfig.TriggerType_TagBuffState, # 目标进入4012的某个状态触发技能 2
+ 4002:ChConfig.TriggerType_SkillValue, # 增加技能伤害固定值 82
4003:ChConfig.TriggerType_AttackOver, # 攻击(对敌技能)后被动技能被触发 4
4004:ChConfig.TriggerType_AttackOver, # 攻击(对敌技能)后被动技能被触发 4
4005:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
@@ -358,6 +359,8 @@
4071:ChConfig.TriggerType_Buff_SuckBloodPer, # 攻击 百分比吸血
4072:ChConfig.TriggerType_SuperHitSkipCD, # 暴击无冷却 68
4073:ChConfig.TriggerType_BuffHurtCnt, # 当持续buff伤害第X次时触发技能 69
+ 4074:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
+ 4075:ChConfig.TriggerType_AddThumpHitPer, # 增加重击伤害百分比
4076:ChConfig.TriggerType_dFinalHurtReducePer, # 防守方的最终伤害减少百分比 71
4077:ChConfig.TriggerType_AttackAddFinalPer, # 增加最终伤害百分比 59
4078:ChConfig.TriggerType_AttackOver, # 攻击(对敌技能)后被动技能被触发 4
@@ -384,6 +387,8 @@
4099:ChConfig.TriggerType_WillDead, # 进入濒死状态时触发技能 25
4100:ChConfig.TriggerType_AttackOver, # 攻击(对敌技能)后被动技能被触发 4
4101:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
+ 4102:ChConfig.TriggerType_SkillValue, # 增加技能伤害固定值 82
+ 4103:ChConfig.TriggerType_Buff_SuckBloodPer, # 攻击 百分比吸血
}
return tdict.get(effectID, -1)
#===========================================================================
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 0fe4931..e28c623 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -126,9 +126,11 @@
#技能攻击最大数量
hurtCount = SkillCommon.GetSkillArea_Atk_Count(curPlayer, curSkill)
- if len(hurtList) > hurtCount:
- # 客户端目标过多
- return False
+ #===========================================================================
+ # if len(hurtList) > hurtCount:
+ # # 客户端目标过多
+ # return False
+ #===========================================================================
# mapType = GameWorld.GetMap().GetMapFBType()
# 野外小怪或者其他指定的怪为了更及时的打击感,由客户端计算
--
Gitblit v1.8.0