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