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