From e852ca15d3d08743c816d14d0959f274c5015573 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 22 六月 2019 16:07:46 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能 - 修复追神摄魂计算命中个数问题
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py | 2 ++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_1304.py | 7 +++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py | 8 ++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_1304.py | 37 +++++++++++++++++++++++++++++++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 3 ++-
5 files changed, 54 insertions(+), 3 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 e2db5dc..f705570 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -205,6 +205,11 @@
return callFunc(attacker, defender, skill, tick)
+def GetSkillHurtList():
+ global g_skillHurtList
+ return g_skillHurtList
+
+
def GetFirstHurtObj():
global g_skillHurtList
if g_skillHurtList.GetHurtCount():
@@ -1591,6 +1596,9 @@
skillHurtLists.append([hurtObj.GetObjID(), hurtObj.GetObjType(), hurtObj.GetAttackType()])
+ #命中个数记录特殊处理
+ PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(attacker, target, curSkill, ChConfig.TriggerType_HitValue)
+
# #持续攻击类BUFF 类剑刃风暴是先给自身一个持续性buff,这一次不算伤害不可触发
if curSkill and ChConfig.Def_SkillType_LstPlsBuffAtk != curSkill.GetSkillType():
#只对第一目标造成某伤害类型时触发技能, 需先存储 skillHurtLists
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 15f1530..2631cf6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4481,7 +4481,8 @@
TriggerType_SuperHitPer, # 暴击伤害百分比 86
TriggerType_SkillSuccessExpend, # 使用技能成功后不触发技能 处理消耗等问题用 87
TriggerType_ThumpSkillValue, # 重击增加技能固定值伤害 88
-) = range(1, 89)
+TriggerType_HitValue, # 记录命中个数 89
+) = range(1, 90)
#不可以佩戴翅膀的地图
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_1304.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_1304.py
index b8d101d..c90c74b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_1304.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_1304.py
@@ -15,7 +15,7 @@
import GameWorld
import ChConfig
-
+import BaseAttack
## buff线性增加属性
@@ -40,5 +40,8 @@
def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict):
- return [GameWorld.GetGameWorld().GetTick()]
+ # 被动1304赋值
+ cnt = attacker.GetDictByKey("1304HitCnt")
+ attacker.SetDict("1304HitCnt", 0)
+ return [cnt]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_1304.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_1304.py
new file mode 100644
index 0000000..034809f
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_1304.py
@@ -0,0 +1,37 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#
+##@package
+#
+# @todo: 记录命中个数
+#
+# @author: Alee
+# @date 2019-6-22 下午03:43:33
+# @version 1.0
+#
+# @note:
+#
+#---------------------------------------------------------------------
+
+import BaseAttack
+import ChConfig
+import GameWorld
+
+def CheckCanHappen(attacker, defender, effect, curSkill):
+ skillHurtList = BaseAttack.GetSkillHurtList()
+ cnt = 0
+ for i in xrange(skillHurtList.GetHurtCount()):
+ hurtObj = skillHurtList.GetHurtAt(i)
+ if not hurtObj:
+ continue
+ if hurtObj.GetAttackType() in [ChConfig.Def_HurtType_Miss, ChConfig.Def_HurtType_Immune]:
+ continue
+ cnt += 1
+
+ attacker.SetDict("1304HitCnt", cnt)
+ GameWorld.DebugLog("1304HitCnt---%s"%cnt)
+ return False
+
+
+def GetValue(attacker, defender, effect):
+ return 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 d0ce334..51ee15f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -290,6 +290,8 @@
def GetTriggerTypeByEffectID(effectID):
# 临时配置
tdict = {
+ 1304:ChConfig.TriggerType_HitValue, # 命中记录 89
+
2102:ChConfig.TriggerType_BeAttackOver, # 被攻击后触发 20
2104:ChConfig.TriggerType_LockHP, # 锁血触发技能 63
2105:ChConfig.TriggerType_BeLuckyHit, # 被会心一击触发技能 64
--
Gitblit v1.8.0