From 893793104afc854bd134bc15da4946ec8d639b12 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 08 九月 2025 15:26:56 +0800 Subject: [PATCH] 121 【武将】武将系统-服务端(吞噬升星材料卡仅限制已觉醒的卡,已升级或突破的卡会返还材料;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py | 21 ++++++++++++++++----- 1 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py index 03ee833..9a2ca8a 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py @@ -374,10 +374,9 @@ if awakeRandCnt: GameWorld.ErrLog("武将觉醒解锁天赋未选择,无法升星! itemIndex=%s,heroID=%s" % (itemIndex, heroID), playerID) return - useBreakLV = useItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV) useAwakeLV = useItem.GetUserAttr(ShareDefine.Def_IudetHeroAwakeLV) - if useBreakLV or useAwakeLV: - GameWorld.DebugLog("材料卡突破或觉醒等级不为0暂时无法升星!useBreakLV=%s,useAwakeLV=%s" % (useBreakLV, useAwakeLV), playerID) + if useAwakeLV: + GameWorld.DebugLog("材料卡觉醒等级不为0暂时无法升星!useAwakeLV=%s" % (useAwakeLV), playerID) return heroIpyData = IpyGameDataPY.GetIpyGameData("Hero", heroID) @@ -394,10 +393,22 @@ useStar = useItem.GetUserAttr(ShareDefine.Def_IudetHeroStar) addStar = useStar + 1 updStar = star + addStar - GameWorld.DebugLog("武将升星: itemIndex=%s,heroID=%s,star=%s,useStar=%s,addStar=%s,updStar=%s" - % (itemIndex, heroID, star, useStar, addStar, updStar), playerID) + useHeroLV = useItem.GetUserAttr(ShareDefine.Def_IudetHeroLV) + useBreakLV = useItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV) + GameWorld.DebugLog("武将升星: itemIndex=%s,heroID=%s,star=%s,useStar=%s,addStar=%s,updStar=%s,useHeroLV=%s,useBreakLV=%s" + % (itemIndex, heroID, star, useStar, addStar, updStar, useHeroLV, useBreakLV), playerID) ItemCommon.DelItem(curPlayer, useItem, useItem.GetCount(), False, "HeroStarUP") DoHeroUpdStar(curPlayer, heroItem, updStar) + + returnItemDict = {} + if useHeroLV > 1: + __calcHeroLVReturnitem(quality, useHeroLV, returnItemDict) + if useBreakLV: + __calcHeroBreakReturnitem(quality, useBreakLV, returnItemDict) + if returnItemDict: + returnItemList = [[k, v] for k, v in returnItemDict.items()] + ItemControler.GivePlayerItemOrMail(curPlayer, returnItemList, event=["HeroStarUP", False, {}]) + return def GetHeroStarMax(heroItem): -- Gitblit v1.8.0