From efc4f490488935020d1b58a451a396ee420de9da Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 06 八月 2025 18:21:05 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(NPC、技能使用新表N.NPC表卡牌、J.技能表卡牌;重构战斗系统;优化战利品掉落;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py index e51d59f..cbe7cb0 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py @@ -30,7 +30,7 @@ import time class LineupHero(): - ## 阵容战斗武将,注意:同一个武将在不同阵容中可能属性不一样 + ## 阵容武将,注意:同一个武将在不同阵容中可能属性不一样 def __init__(self): self.Clear() @@ -39,6 +39,7 @@ def Clear(self): self.itemIndex = 0 self.heroID = 0 + self.skinID = 0 self.posNum = 0 self.heroBatAttrDict = {} # 武将的最终战斗属性字典, {attrID:value, ...} self.heroSkillIDList = [] # 武将拥有的技能ID列表 [skillID, ...] @@ -153,7 +154,7 @@ return def OnClear(self): - self.mainFight.clear() + self.mainFight.turnFight.clearFight() return def SetPlayer(self, curPlayer): @@ -453,7 +454,15 @@ star = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroStar) breakLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV) awakeLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroAwakeLV) + skinIndex = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroSkin) + skinID = 0 + skinIDList = heroIpyData.GetSkinIDList() + if skinIndex < 0 or skinIndex >= len(skinIDList): + skinID = skinIDList[skinIndex] + elif skinIDList: + skinID = skinIDList[0] + InitAddPer += qualityIpyData.GetInitAddPer() LVAddPer += qualityIpyData.GetLVAddPer() * heroLV BreakLVAddPer += qualityIpyData.GetBreakLVAddPer() * breakLV @@ -465,6 +474,7 @@ lineupHero.itemIndex = itemIndex lineupHero.posNum = posNum lineupHero.heroID = heroID + lineupHero.skinID = skinID lineupHero.heroBatAttrDict = {} lineupHero.heroSkillIDList = [] lineupHero.fightPower = 0 @@ -695,7 +705,7 @@ GameWorld.DebugLog(" fightPower=%s,heroSkillIDList=%s" % (fightPower, lineupHero.heroSkillIDList)) skillTypeIDDict = {} for skillID in lineupHero.heroSkillIDList: - skillData = GameWorld.GetGameData().GetSkillBySkillID(skillID) + skillData = IpyGameDataPY.GetIpyGameData("Skill", skillID) if not skillData: continue skillTypeID = skillData.GetSkillTypeID() -- Gitblit v1.8.0