From 80760d7bb7ae12f127bd67613dab8a8a02d4400c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 12 二月 2026 15:29:30 +0800
Subject: [PATCH] 16 卡牌服务端(删除不需要旧功能:法器、炼体、魅力、情缘、仙宫、神兽、系统特权、印记;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py | 122 ----------------------------------------
1 files changed, 1 insertions(+), 121 deletions(-)
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 18ed910..40aecf6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -156,9 +156,6 @@
GetPassiveEffManager().RegistPassiveEffSet(curPlayer)
GetPassiveEffManager().RegistPassiveBuff(curPlayer)
-
- # 助战神兽技能
- GetPassiveEffManager().RegistPassiveEffDogz(curPlayer)
GetPassiveEffManager().RegistSuperEquipSkillDict(curPlayer)
@@ -269,10 +266,6 @@
4083:ChConfig.TriggerType_AddThumpHitPer, # 增加重击伤害百分比
4084:ChConfig.TriggerType_ThumpHit, # 对第一目标重击触发技能
4085:ChConfig.TriggerType_SkillSuccess, # 任何技能释放成功都可触发 76 加印记
- 4086:ChConfig.TriggerType_AttackAddSkillPerYinji, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 为了飘字使用
- 4087:ChConfig.TriggerType_AttackAddSkillPerYinji, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 为了飘字使用
- 4088:ChConfig.TriggerType_AttackAddSkillPerYinji, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 为了飘字使用
- 4089:ChConfig.TriggerType_AttackAddSkillPerYinji, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 为了飘字使用
4090:ChConfig.TriggerType_AttackOver, # 攻击(对敌技能)后被动技能被触发 4
4091:ChConfig.TriggerType_SkillOverNoAttack, # 技能释放后 与TriggerType_AttackOver相反19,
4092:ChConfig.TriggerType_SkillSuccessExpend, # 任何技能释放成功都可触发 76 减印记
@@ -429,38 +422,6 @@
# 获得被动触发的 buff
def GetBuffsByTriggerType(self, triggerType, useSkillID=0):
return self.AffectBuffDict.get((triggerType, 0), {})
-
-
- # 重刷神兽助战技能
- def RefreshDogzBattleSkill(self):
- self.AffectDogzSkillDict = {}
- skills = FindDogzBattleSkills(self.gameObj)
-
- for curSkill in skills:
- if not SkillCommon.isPassiveTriggerSkill(curSkill):
- continue
-
- skillTypeID = curSkill.GetSkillTypeID()
-
- connSkillID = SkillShell.GetConnectSkillID(curSkill) # 关联技能ID, 0代表不限技能
- for i in xrange(curSkill.GetEffectCount()):
- curEffect = curSkill.GetEffect(i)
- effectID = curEffect.GetEffectID()
- if effectID == 0:
- continue
-
- triggerType = GetTriggerTypeByEffectID(effectID)
- if triggerType == -1:
- continue
-
- key = (triggerType,connSkillID)
- if key not in self.AffectDogzSkillDict:
- self.AffectDogzSkillDict[key] = []
-
- self.AffectDogzSkillDict[key].append((skillTypeID, effectID))
-
- return self.AffectDogzSkillDict
-
# 重刷特殊装备技能
def RefreshSuperEquipSkillDict(self):
@@ -756,23 +717,7 @@
else:
passiveEff.RefreshPassiveSkillSet(isCD)
return
-
-
- # 人物需同步注册神兽技能
- def RegistPassiveEffDogz(self, gameObj):
- passiveEff = self.GetPassiveEff(gameObj)
- if not passiveEff:
- # 强制刷新所有被动技能
- passiveEff = PassiveEff(gameObj)
- if not passiveEff.RefreshDogzBattleSkill():
- return
- self.AddPassiveEff(gameObj, passiveEff)
- else:
- passiveEff.RefreshDogzBattleSkill()
- return
-
-
-
+
# 人物需同步注册装备技能,技能目前为可触发的被动类,若有定义冲突则可用功能类型划分
def RegistSuperEquipSkillDict(self, gameObj):
passiveEff = self.GetPassiveEff(gameObj)
@@ -1486,71 +1431,6 @@
curValue += callFunc(attacker, defender, passiveEffect)
return curValue
-
-
-# 因为要兼容低等级技能,所以技能只能是在助战的时候,先删除神兽技能再学习新的助战神兽技能
-def PlayerDogzSkill(curPlayer):
-
- dogzSkills = [] # 需要学习的技能
- ipyDataMgr = IpyGameDataPY.IPY_Data()
- for i in xrange(ipyDataMgr.GetDogzCount()):
- ipyData = ipyDataMgr.GetDogzByIndex(i)
- if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_DogzFightState, i):
- continue
-
- dogzSkills.extend(ipyData.GetHelpBattleSkills())
-
- delDogzSkills = [] # 删除不在助战神兽队列的技能
- skillManager = curPlayer.GetSkillManager()
- for i in xrange(skillManager.GetSkillCount()):
- curSkill = skillManager.GetSkillByIndex(i)
- if curSkill.GetFuncType() != ChConfig.Def_SkillFuncType_Dogz:
- continue
- skillID = curSkill.GetSkillID()
-
- delDogzSkills.append(skillID)
-
- GameWorld.DebugLog("PlayerDogzSkill:%s - 删除%s"%(dogzSkills, delDogzSkills))
-
- # 删除神兽技能
- for skillID in delDogzSkills:
- skillManager.DeleteSkillBySkillID(skillID, False)
-
- # 添加助战技能,同类技能取最高
- dogzSkills.sort()
- for skillID in dogzSkills:
- skillData = GameWorld.GetGameData().GetSkillBySkillID(skillID)
- if not skillData:
- continue
- if skillData.GetSkillType() == ChConfig.Def_SkillType_AttrSkillNoLearn:
- # 同技能可多个叠加的技能不能学,算属性时直接取表
- continue
-
- skillManager.LearnSkillByID(skillID, False)
-
- # 刷被动效果
- GetPassiveEffManager().RegistPassiveEffDogz(curPlayer)
- return
-
-
-# 获取助战神兽的技能列表
-def FindDogzBattleSkills(gameObj):
- skills = []
- if gameObj.GetGameObjType() != IPY_GameWorld.gotPlayer:
- return skills
-
- skillManager = gameObj.GetSkillManager()
- for i in xrange(skillManager.GetSkillCount()):
- curSkill = skillManager.GetSkillByIndex(i)
- if not curSkill:
- continue
-
- if curSkill.GetFuncType() != ChConfig.Def_SkillFuncType_Dogz:
- continue
- skills.append(curSkill)
-
- return skills
-
# 遍历身上装备技能以及各自个数,装备技能不需要学习
# 保证不同的装备技能不会有相同的效果, 效果数值的衰减是根据相同技能个数计算而不是效果个数 1-pow((1-初始值),相同技能个数)
--
Gitblit v1.8.0