From fdaa1368178da9b8b3f667c2a8294b9cf7ba8bc0 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 27 四月 2019 12:21:47 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能 -- 印记通知修改
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4086.py | 6 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 3 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_900.py | 4 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4087.py | 4 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4088.py | 7 ++-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4089.py | 9 ++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerYinji.py | 12 +++---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py | 3 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py | 2 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4090.py | 4 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4092.py | 26 +++++++++++++
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py | 3 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 6 +++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 4 +
14 files changed, 67 insertions(+), 26 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 7d0604f..5ea3767 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -856,7 +856,8 @@
CDBPlayerRefresh_LuckyHitReduce, # 会心伤害减免固定值
CDBPlayerRefresh_FinalHurtReducePer, # 最终伤害减少百分比
CDBPlayerRefresh_YinjiTime, # 每X秒减少印记时间,毫秒
-) = range(146, 214)
+CDBPlayerRefresh_YinjiCnt, # 当前印记数 215
+) = range(146, 215)
TYPE_Price_Gold_Paper_Money = 5 # 金钱类型,(先用礼券,再用金子)
TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
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 907b37a..b8fe78a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -1642,6 +1642,8 @@
# 根据伤血类型触发技能,群攻只触发一次,放在伤血列表被清之前
OnHurtTypeTriggerSkill(attacker, defender, curSkill, tick)
+ #释放技能即可处理的 不区分攻击和非攻击
+ PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_SkillSuccess, tick)
# 普通或者可以主动释放的攻击性技能
if not curSkill or (curSkill.GetSkillType() == ChConfig.Def_SkillType_Atk and\
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index de283ea..f1d3405 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3019,6 +3019,7 @@
#---SetDict 玩家字典KEY,不存于数据库---
# key的长度不能超过29个字节
+Def_PlayerKey_YinjiCnt = "YinjiCnt" # 当前印记数
Def_PlayerKey_LostYinjiTime = "LostYinjiTime" # 每X秒自动消失一个印记
Def_PlayerKey_1314HurtCount = "1314cnt" # 类剑刃风暴技能的1314效果,伤害次数处理
Def_PlayerKey_FirstDefender = "FDID" # 第一个防守者,只用于比较
@@ -4448,7 +4449,8 @@
TriggerType_AddThumpHitRate, # 提高重击概率 73
TriggerType_ThumpHit, # 重击时 触发技能74
TriggerType_AddThumpHitPer, # 重击时 增加重击百分比 75
-) = range(1, 76)
+TriggerType_SkillSuccess, # 任何技能释放成功都可触发 76
+) = range(1, 77)
#不可以佩戴翅膀的地图
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 5f798dc..b6979f4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -6674,6 +6674,12 @@
curPlayer.SetDict(ChConfig.Def_PlayerKey_LostYinjiTime, value)
curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_YinjiTime, value, False)
+# 当前印记数
+def GetYinjiCnt(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_YinjiCnt)
+def SetYinjiCnt(curPlayer, value):
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_YinjiCnt, value)
+ curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_YinjiCnt, value, False)
+
## 计算功能背包物品属性
# @param curPlayer 当前玩家
# @param packType 背包类型
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerYinji.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerYinji.py
index a6cc28f..384c6ab 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerYinji.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerYinji.py
@@ -18,14 +18,16 @@
import GameWorld
import ChPyNetSendPack
import NetPackCommon
+import ChConfig
+import ShareDefine
Def_LastYinji_Tick = "lastyjtick" # 上一次印记消失时间
#CDBPlayerRefresh_XP
def AddYinji(curPlayer, cnt):
- beforeCnt = GetYinjiCnt(curPlayer)
+ beforeCnt = PlayerControl.GetYinjiCnt(curPlayer)
#上限 X个
- curPlayer.SetXP(min(beforeCnt + cnt, IpyGameDataPY.GetFuncCfg('Yinji', 2)))
+ PlayerControl.SetYinjiCnt(curPlayer, min(beforeCnt + cnt, IpyGameDataPY.GetFuncCfg('Yinji', 2)))
if beforeCnt == 0:
# 第一次加印记需重计时
@@ -34,16 +36,14 @@
return
def SubYinji(curPlayer, cnt):
- curPlayer.SetXP(max(curPlayer.GetXP() - cnt, 0))
+ PlayerControl.SetYinjiCnt(curPlayer, max(curPlayer.GetXP() - cnt, 0))
return
-def GetYinjiCnt(curPlayer):
- return curPlayer.GetXP()
# 每X秒自动减少1个印记
def ProcessPlayerYinji(curPlayer, tick):
- if GetYinjiCnt(curPlayer) == 0:
+ if PlayerControl.GetYinjiCnt(curPlayer) == 0:
return
if tick - curPlayer.GetDictByKey(Def_LastYinji_Tick) < PlayerControl.GetLostYinjiTime(curPlayer):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 7d0604f..5ea3767 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -856,7 +856,8 @@
CDBPlayerRefresh_LuckyHitReduce, # 会心伤害减免固定值
CDBPlayerRefresh_FinalHurtReducePer, # 最终伤害减少百分比
CDBPlayerRefresh_YinjiTime, # 每X秒减少印记时间,毫秒
-) = range(146, 214)
+CDBPlayerRefresh_YinjiCnt, # 当前印记数 215
+) = range(146, 215)
TYPE_Price_Gold_Paper_Money = 5 # 金钱类型,(先用礼券,再用金子)
TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_900.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_900.py
index 6ab1447..c19a517 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_900.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_900.py
@@ -13,7 +13,7 @@
#
#---------------------------------------------------------------------
#导入
-import PlayerYinji
+import PlayerControl
import ChConfig
#---------------------------------------------------------------------
@@ -44,7 +44,7 @@
# @return 总值
def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict):
- return [PlayerYinji.GetYinjiCnt(defender)]
+ return [PlayerControl.GetYinjiCnt(defender)]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4086.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4086.py
index e0e3f95..94140e6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4086.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4086.py
@@ -15,7 +15,7 @@
import ChConfig
import AttackCommon
-import PlayerYinji
+import PlayerControl
def CheckCanHappen(attacker, defender, effect, curSkill):
@@ -25,8 +25,8 @@
return False
- return True if PlayerYinji.GetYinjiCnt(attacker) else False
+ return True if PlayerControl.GetYinjiCnt(attacker) else False
def GetValue(attacker, defender, effect):
- return float(effect.GetEffectValue(0)*min(PlayerYinji.GetYinjiCnt(attacker), effect.GetEffectValue(1)))/ChConfig.Def_MaxRateValue
+ return float(effect.GetEffectValue(0)*min(PlayerControl.GetYinjiCnt(attacker), effect.GetEffectValue(1)))/ChConfig.Def_MaxRateValue
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4087.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4087.py
index 09763de..c98ea76 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4087.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4087.py
@@ -13,12 +13,12 @@
#
#---------------------------------------------------------------------
import ChConfig
-import PlayerYinji
+import PlayerControl
def CheckCanHappen(attacker, defender, effect, curSkill):
- return True if PlayerYinji.GetYinjiCnt(attacker) >= effect.GetEffectValue(1) else False
+ return True if PlayerControl.GetYinjiCnt(attacker) >= effect.GetEffectValue(1) else False
def GetValue(attacker, defender, effect):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4088.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4088.py
index 102a2c9..aa95e63 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4088.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4088.py
@@ -13,14 +13,15 @@
#
#---------------------------------------------------------------------
import ChConfig
-import PlayerYinji
+import PlayerControl
def CheckCanHappen(attacker, defender, effect, curSkill):
- if PlayerYinji.GetYinjiCnt(attacker) < effect.GetEffectValue(1):
+ if PlayerControl.GetYinjiCnt(attacker) < effect.GetEffectValue(1):
return False
- PlayerYinji.SubYinji(attacker, effect.GetEffectValue(1))
+ # 4092 处理消耗
+ #PlayerYinji.SubYinji(attacker, effect.GetEffectValue(1))
return True
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4089.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4089.py
index 732c6b1..aa0d1e0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4089.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4089.py
@@ -13,16 +13,17 @@
#
#---------------------------------------------------------------------
import ChConfig
-import PlayerYinji
+import PlayerControl
def CheckCanHappen(attacker, defender, effect, curSkill):
- if not PlayerYinji.GetYinjiCnt(attacker):
+ if not PlayerControl.GetYinjiCnt(attacker):
return False
- PlayerYinji.SubYinji(attacker, min(PlayerYinji.GetYinjiCnt(attacker), effect.GetEffectValue(1)))
+ # 4092 处理消耗
+ #PlayerYinji.SubYinji(attacker, min(PlayerControl.GetYinjiCnt(attacker), effect.GetEffectValue(1)))
return True
def GetValue(attacker, defender, effect):
- return float(effect.GetEffectValue(0)*min(PlayerYinji.GetYinjiCnt(attacker), effect.GetEffectValue(1)))/ChConfig.Def_MaxRateValue
+ return float(effect.GetEffectValue(0)*min(PlayerControl.GetYinjiCnt(attacker), effect.GetEffectValue(1)))/ChConfig.Def_MaxRateValue
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4090.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4090.py
index 8538ca1..9fd6d8b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4090.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4090.py
@@ -12,11 +12,11 @@
# @note:
#
#---------------------------------------------------------------------
-import PlayerYinji
+import PlayerControl
def CheckCanHappen(attacker, defender, effect, curSkill):
- cnt = PlayerYinji.GetYinjiCnt(attacker)
+ cnt = PlayerControl.GetYinjiCnt(attacker)
if cnt == 0:
return False
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4092.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4092.py
new file mode 100644
index 0000000..d30a4e2
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4092.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#
+##@package
+#
+# @todo: 使用技能后减少印记数量 消耗模式0:固定个数,1.大于1小于限制个数可释放
+#
+# @author: Alee
+# @date 2019-4-26 下午05:52:27
+# @version 1.0
+#
+# @note:
+#
+#---------------------------------------------------------------------
+
+import PlayerYinji
+import PlayerControl
+
+def CheckCanHappen(attacker, defender, effect, curSkill):
+ delType = effect.GetEffectValue(1)
+
+ if delType == 0:
+ PlayerYinji.SubYinji(attacker, effect.GetEffectValue(0))
+ elif delType == 1:
+ PlayerYinji.SubYinji(attacker, min(PlayerControl.GetYinjiCnt(attacker), effect.GetEffectValue(0)))
+ return False
\ No newline at end of file
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 145dde6..cbb0acb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -366,13 +366,14 @@
4082:ChConfig.TriggerType_ThumpHit, # 对第一目标重击触发技能
4083:ChConfig.TriggerType_AddThumpHitPer, # 增加重击伤害百分比
4084:ChConfig.TriggerType_ThumpHit, # 对第一目标重击触发技能
- 4085:ChConfig.TriggerType_AttackOver,
+ 4085:ChConfig.TriggerType_SkillSuccess, # 任何技能释放成功都可触发 76 加印记
4086:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
4087:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
4088:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
4089:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
4090:ChConfig.TriggerType_AttackOver, # 攻击(对敌技能)后被动技能被触发 4
4091:ChConfig.TriggerType_SkillOverNoAttack, # 技能释放后 与TriggerType_AttackOver相反19,
+ 4092:ChConfig.TriggerType_SkillSuccess, # 任何技能释放成功都可触发 76 减印记
}
return tdict.get(effectID, -1)
#===========================================================================
--
Gitblit v1.8.0