From afea2d9d4b9cb6d0982c02a775e8198fc2421c53 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 08 十二月 2023 18:21:28 +0800
Subject: [PATCH] 10019 【砍树】回合战斗(增加抗连击、反击、抗反击、吸血、抗吸血属性,玩家及NPC属性接口通用;连击、反击属性效果支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py |   90 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 90 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py
index 4d4d88d..78078e5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py
@@ -178,3 +178,93 @@
     gameObj.SetDict(ChConfig.Def_PlayerKey_BloodShiledHurt, value % ShareDefine.Def_PerPointValue)
     gameObj.SetDict(ChConfig.Def_PlayerKey_BloodShiledHurtEx, value / ShareDefine.Def_PerPointValue)
     return
+
+def GetAtkSpeed(gameObj):
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        return gameObj.GetBattleValEx1()
+    return gameObj.GetDictByKey(ChConfig.AttrName_AtkSpeed)
+def SetAtkSpeed(gameObj, value):
+    ## 攻击速度
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        gameObj.SetBattleValEx1(value, True)
+    else:
+        gameObj.SetDict(ChConfig.AttrName_AtkSpeed, value)
+    return
+
+#---暴击概率---- 都是用 gameObj.GetSuperHitRate() gameObj.SetSuperHitRate()
+def GetSuperHitRateReduce(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitRateReduce)
+def SetSuperHitRateReduce(gameObj, value): 
+    ## 抗暴击概率
+    gameObj.SetDict(ChConfig.Def_PlayerKey_SuperHitRateReduce, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_SuperHitRateReduce, value)
+    return
+
+def GetFaintRate(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_AttrFaintRate)
+def SetFaintRate(gameObj, value):
+    ## 击晕概率
+    gameObj.SetDict(ChConfig.Def_PlayerKey_AttrFaintRate, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_FaintRate, value)
+    return
+def GetFaintDefRate(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_AttrFaintDefRate)
+def SetFaintDefRate(gameObj, value):
+    ## 抗击晕概率
+    gameObj.SetDict(ChConfig.Def_PlayerKey_AttrFaintDefRate, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_FaintDefRate, value)
+    return
+
+def GetComboRate(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_AttrComboRate)
+def SetComboRate(gameObj, value):
+    ## 连击概率
+    gameObj.SetDict(ChConfig.Def_PlayerKey_AttrComboRate, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_ComboRate, value)
+    return
+def GetComboDefRate(gameObj): return gameObj.GetDictByKey(ChConfig.AttrName_ComboDefRate)
+def SetComboDefRate(gameObj, value):
+    ## 抗连击概率
+    gameObj.SetDict(ChConfig.AttrName_ComboDefRate, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_ComboDefRate, value)
+    return
+def GetComboDamPer(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_AttrComboDamPer)
+def SetComboDamPer(gameObj, value):
+    ## 连击伤害
+    gameObj.SetDict(ChConfig.Def_PlayerKey_AttrComboDamPer, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_ComboDamPer, value)
+    return
+
+def GetAtkBackRate(gameObj): return gameObj.GetDictByKey(ChConfig.AttrName_AtkBackRate)
+def SetAtkBackRate(gameObj, value):
+    ## 反击概率
+    gameObj.SetDict(ChConfig.AttrName_AtkBackRate, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_AtkBackRate, value)
+    return
+def GetAtkBackDefRate(gameObj): return gameObj.GetDictByKey(ChConfig.AttrName_AtkBackDefRate)
+def SetAtkBackDefRate(gameObj, value):
+    ## 抗反击概率
+    gameObj.SetDict(ChConfig.AttrName_AtkBackDefRate, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_AtkBackDefRate, value)
+    return
+
+def GetSuckHPPer(gameObj): return gameObj.GetDictByKey(ChConfig.AttrName_SuckHPPer)
+def SetSuckHPPer(gameObj, value):
+    ## 吸血比率
+    gameObj.SetDict(ChConfig.AttrName_SuckHPPer, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_SuckHPPer, value)
+    return
+def GetSuckHPDefPer(gameObj): return gameObj.GetDictByKey(ChConfig.AttrName_SuckHPDefPer)
+def SetSuckHPDefPer(gameObj, value):
+    ## 抗吸血比率
+    gameObj.SetDict(ChConfig.AttrName_SuckHPDefPer, value)
+    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+        PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_SuckHPDefPer, value)
+    return
+
+    
\ No newline at end of file

--
Gitblit v1.8.0