From 1c4fc8c9115f81e106fa09d9a6dc44e8c1ef5d97 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 28 十月 2025 18:22:35 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(孟获技能;增加效果7005-必命中;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py | 104 +++++++++++++++++++++++++++-------------------------
1 files changed, 54 insertions(+), 50 deletions(-)
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 032cb06..93f395e 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
@@ -1283,14 +1283,12 @@
AttackCommon.OnPVPDamage(attackerOwner, lostValue, curObj, "SkillLostHP")
elif curObjType == IPY_GameWorld.gotNPC:
AttackCommon.NPCAddObjInHurtList(attackerOwner, curObj, curObjHP_BeforeAttack, lostValue)
-
- TurnAttack.AddTurnObjHurtValue(buffOwner, curObj, hurtType, lostValue, lostHP, curSkill)
#统一调用攻击结束动作
if isDoAttackResult:
BaseAttack.DoLogic_AttackResult(buffOwner, curObj, None, tick)
- TurnAttack.OnTurnfightAttackResult(buffOwner, curObj, curSkill)
+ #TurnAttack.OnTurnfightAttackResult(buffOwner, curObj, curSkill)
return lostHP
## 检查增加淬毒buff
@@ -1850,9 +1848,13 @@
#0通哟 1 PVP类型 2PVE类型
return curSkill.GetHurtType() % 10
+def isDamageShieldSkill(skillData):
+ ## 是否承伤盾技能
+ return skillData.GetAtkType() == ChConfig.BuffAtkType_DamageShield
+
def isAngerSkill(curSkill):
## 是否怒气技能
- return curSkill and curSkill.GetXP() > 0
+ return curSkill and curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_AngerSkill
def isTurnNormalSkill(curSkill):
## 是否回合普攻技能,区别与无技能的普通A一下,该普攻同样可以有各种技能效果,只是他属于普攻
@@ -2071,12 +2073,12 @@
cureBaseValue = GetCureBaseValue(userObj, curSkill)
elif cureType == ChConfig.Def_Cure_MaxHP:
cureBaseValue = GameObj.GetMaxHP(userObj)
- elif cureType == ChConfig.Def_Cure_PNE:
- cureBaseValue = userObj.GetPNE()
- addPer = curSkill.GetEffect(0).GetEffectValue(2)/float(ChConfig.Def_MaxRateValue)
- addExValue = GetCureBaseValue(userObj, curSkill)*addPer
- elif cureType == ChConfig.Def_Cure_PHY:
- cureBaseValue = GameObj.GetMaxHP(userObj)
+ #elif cureType == ChConfig.Def_Cure_PNE:
+ # cureBaseValue = userObj.GetPNE()
+ # addPer = curSkill.GetEffect(0).GetEffectValue(2)/float(ChConfig.Def_MaxRateValue)
+ # addExValue = GetCureBaseValue(userObj, curSkill)*addPer
+ #elif cureType == ChConfig.Def_Cure_PHY:
+ # cureBaseValue = GameObj.GetMaxHP(userObj)
elif cureType == ChConfig.Def_Cure_HurtValue:
cureBaseValue = GameObj.GetLastHurtValue(userObj)
elif cureType == ChConfig.Def_Cure_TagMaxHP:
@@ -2167,48 +2169,50 @@
def GetSkillAddPerByID(curPlayer, skillTypeID):
## 获取技能伤害百分比提升值
# @param skillTypeID: 技能TypeID
- SkillAddPerAttrIDDict = IpyGameDataPY.GetConfigEx("SkillAddPerAttrIDDict")
- if not SkillAddPerAttrIDDict:
- SkillAddPerAttrIDDict = {}
- skillPlusAttrIDDict = IpyGameDataPY.GetFuncEvalCfg("SkillPlusAttrID", 2, {})
- for attrIDStr, skillTypeIDList in skillPlusAttrIDDict.items():
- attrID = int(attrIDStr)
- if attrID not in ShareDefine.SkillAddPerAttrIDList:
- continue
- for cfgSkillTypeID in skillTypeIDList:
- SkillAddPerAttrIDDict[cfgSkillTypeID] = attrID
- IpyGameDataPY.SetConfigEx("SkillAddPerAttrIDDict", SkillAddPerAttrIDDict)
-
- if skillTypeID not in SkillAddPerAttrIDDict:
- return 0
- curAttrID = SkillAddPerAttrIDDict[skillTypeID]
- attrInfo = ChConfig.ItemEffect_AttrDict.get(curAttrID, [])
- if attrInfo == []:
- return 0
- effIndex = attrInfo[0][0]
- return EffGetSet.GetValueByEffIndex(curPlayer, effIndex)
+ return 0
+# SkillAddPerAttrIDDict = IpyGameDataPY.GetConfigEx("SkillAddPerAttrIDDict")
+# if not SkillAddPerAttrIDDict:
+# SkillAddPerAttrIDDict = {}
+# skillPlusAttrIDDict = IpyGameDataPY.GetFuncEvalCfg("SkillPlusAttrID", 2, {})
+# for attrIDStr, skillTypeIDList in skillPlusAttrIDDict.items():
+# attrID = int(attrIDStr)
+# if attrID not in ShareDefine.SkillAddPerAttrIDList:
+# continue
+# for cfgSkillTypeID in skillTypeIDList:
+# SkillAddPerAttrIDDict[cfgSkillTypeID] = attrID
+# IpyGameDataPY.SetConfigEx("SkillAddPerAttrIDDict", SkillAddPerAttrIDDict)
+#
+# if skillTypeID not in SkillAddPerAttrIDDict:
+# return 0
+# curAttrID = SkillAddPerAttrIDDict[skillTypeID]
+# attrInfo = ChConfig.ItemEffect_AttrDict.get(curAttrID, [])
+# if attrInfo == []:
+# return 0
+# effIndex = attrInfo[0][0]
+# return EffGetSet.GetValueByEffIndex(curPlayer, effIndex)
def GetSkillReducePerByID(curPlayer, skillTypeID):
## 获取技能伤害百分比减伤值
# @param skillTypeID: 技能TypeID
- SkillReducePerAttrIDDict = IpyGameDataPY.GetConfigEx("SkillReducePerAttrIDDict")
- if not SkillReducePerAttrIDDict:
- SkillReducePerAttrIDDict = {}
- skillPlusAttrIDDict = IpyGameDataPY.GetFuncEvalCfg("SkillPlusAttrID", 2, {})
- for attrIDStr, skillTypeIDList in skillPlusAttrIDDict.items():
- attrID = int(attrIDStr)
- if attrID not in ShareDefine.SkillReducePerAttrIDList:
- continue
- for cfgSkillTypeID in skillTypeIDList:
- SkillReducePerAttrIDDict[cfgSkillTypeID] = attrID
- IpyGameDataPY.SetConfigEx("SkillReducePerAttrIDDict", SkillReducePerAttrIDDict)
-
- if skillTypeID not in SkillReducePerAttrIDDict:
- return 0
- curAttrID = SkillReducePerAttrIDDict[skillTypeID]
- attrInfo = ChConfig.ItemEffect_AttrDict.get(curAttrID, [])
- if attrInfo == []:
- return 0
- effIndex = attrInfo[0][0]
- return EffGetSet.GetValueByEffIndex(curPlayer, effIndex)
+ return 0
+# SkillReducePerAttrIDDict = IpyGameDataPY.GetConfigEx("SkillReducePerAttrIDDict")
+# if not SkillReducePerAttrIDDict:
+# SkillReducePerAttrIDDict = {}
+# skillPlusAttrIDDict = IpyGameDataPY.GetFuncEvalCfg("SkillPlusAttrID", 2, {})
+# for attrIDStr, skillTypeIDList in skillPlusAttrIDDict.items():
+# attrID = int(attrIDStr)
+# if attrID not in ShareDefine.SkillReducePerAttrIDList:
+# continue
+# for cfgSkillTypeID in skillTypeIDList:
+# SkillReducePerAttrIDDict[cfgSkillTypeID] = attrID
+# IpyGameDataPY.SetConfigEx("SkillReducePerAttrIDDict", SkillReducePerAttrIDDict)
+#
+# if skillTypeID not in SkillReducePerAttrIDDict:
+# return 0
+# curAttrID = SkillReducePerAttrIDDict[skillTypeID]
+# attrInfo = ChConfig.ItemEffect_AttrDict.get(curAttrID, [])
+# if attrInfo == []:
+# return 0
+# effIndex = attrInfo[0][0]
+# return EffGetSet.GetValueByEffIndex(curPlayer, effIndex)
--
Gitblit v1.8.0