| | |
| | | import ItemControler
|
| | | import PlayerSuccess
|
| | | import ChPyNetSendPack
|
| | | import OpenServerActivity
|
| | | import PlayerActivity
|
| | | import NetPackCommon
|
| | | import PlayerControl
|
| | |
| | | singleItem.SetUserAttr(ShareDefine.Def_IudetHeroAwakeLV, 0)
|
| | | if singleItem.GetUserAttr(ShareDefine.Def_IudetHeroSkin):
|
| | | singleItem.SetUserAttr(ShareDefine.Def_IudetHeroSkin, 0)
|
| | | if singleItem.GetUserAttr(ShareDefine.Def_IudetHeroSkinAttr):
|
| | | singleItem.SetUserAttr(ShareDefine.Def_IudetHeroSkinAttr, 0)
|
| | |
|
| | | if singleItem.GetUserAttrCount(ShareDefine.Def_IudetHeroTalentID):
|
| | | singleItem.ClearUserAttr(ShareDefine.Def_IudetHeroTalentID)
|
| | |
| | | #首次获得图鉴额外逻辑 ...
|
| | | Sync_HeroInfo(curPlayer, [heroID])
|
| | | PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate(heroItem) # 首次获得
|
| | | OpenServerActivity.UpdOSA_HeroTrainBillboard(curPlayer) # 首次获得
|
| | |
|
| | | return
|
| | |
|
| | |
| | | PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_HeroLVUP, 1)
|
| | | PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_HeroLVUP)
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_OSAHeroLVUP, 1)
|
| | | OpenServerActivity.UpdOSA_HeroTrainBillboard(curPlayer) # 升级
|
| | | return
|
| | |
|
| | | def GetHeroLVMax(heroItem):
|
| | |
| | | returnItemList.append([itemID, returnCnt])
|
| | | ItemControler.GivePlayerItemOrMail(curPlayer, returnItemList, event=["HeroStarUPReturn", False, {}])
|
| | |
|
| | | OpenServerActivity.UpdOSA_HeroTrainBillboard(curPlayer) # 升星
|
| | | return
|
| | |
|
| | | def GetHeroStarMax(heroID, heroItem=None):
|
| | |
| | | SetHeroBreakLV(curPlayer, heroItem, nextBreakLV)
|
| | |
|
| | | PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate(heroItem) # 突破
|
| | | OpenServerActivity.UpdOSA_HeroTrainBillboard(curPlayer) # 突破
|
| | | return
|
| | |
|
| | | def SetHeroBreakLV(curPlayer, heroItem, breakLV, isSync=True):
|
| | |
| | | SetHeroAwakeLV(heroItem, nextAwakeLV)
|
| | |
|
| | | PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate(heroItem) # 觉醒
|
| | | OpenServerActivity.UpdOSA_HeroTrainBillboard(curPlayer) # 觉醒
|
| | | return
|
| | |
|
| | | def SetHeroAwakeLV(heroItem, awakeLV, isSync=True):
|
| | |
| | | heroItem.Sync_Item()
|
| | | GameWorld.DebugLog("武将洗炼结果! itemIndex=%s,heroID=%s,washIDList=%s,lockTalentIndexs=%s"
|
| | | % (itemIndex, heroID, washIDList, lockTalentIndexs))
|
| | | OpenServerActivity.AddOSAValue(curPlayer, ShareDefine.Def_BT_OSA_HeroTrain, washCostItemCount)
|
| | | OpenServerActivity.UpdOSA_HeroTrainBillboard(curPlayer) # 洗炼
|
| | | return
|
| | |
|
| | | def HeroTalentWashReplace(curPlayer, itemIndex, heroItem):
|
| | |
| | | # tagHead Head;
|
| | | # DWORD HeroID; //武将ID
|
| | | # DWORD SkinID; //ʱװID
|
| | | # BYTE OPType; //操作 1-激活;2-佩戴;3-升星
|
| | | # BYTE OPType; //操作 1-激活;2-选择形象;3-升星;4-选择属性
|
| | | # WORD ItemIndex; //武将物品所在武将背包位置索引,仅佩戴时有效
|
| | | #};
|
| | | def OnHeroSkinOP(index, clientData, tick):
|
| | |
| | | if opType == 1:
|
| | | ActiveHeroSkin(curPlayer, heroID, skinID)
|
| | | elif opType == 2:
|
| | | DoHeroWearSkin(curPlayer, itemIndex, skinIndex)
|
| | | DoHeroWearSkin(curPlayer, itemIndex, skinIndex, False)
|
| | | elif opType == 3:
|
| | | DoHeroSkinStarUP(curPlayer, heroID, skinID)
|
| | | elif opType == 4:
|
| | | DoHeroWearSkin(curPlayer, itemIndex, skinIndex, True)
|
| | | return
|
| | |
|
| | | def DoHeroWearSkin(curPlayer, itemIndex, skinIndex):
|
| | | def DoHeroWearSkin(curPlayer, itemIndex, skinIndex, isSkinAttr):
|
| | | # @param isSkinAttr: 是否是选择属性的,反之则为选择皮肤形象
|
| | | heroItem = GetHeroItem(curPlayer, itemIndex)
|
| | | if not heroItem:
|
| | | return
|
| | |
| | | if not GetHeroSkinState(curPlayer, skinID):
|
| | | GameWorld.DebugLog("该武将皮肤未解锁! heroID=%s,skinIndex=%s" % (heroID, skinIndex))
|
| | | return
|
| | | heroItem.SetUserAttr(ShareDefine.Def_IudetHeroSkin, skinIndex)
|
| | | |
| | | PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate(heroItem) # 切换皮肤
|
| | | |
| | | GameWorld.DebugLog("切换武将皮肤! heroID=%s,skinIndex=%s,isSkinAttr=%s" % (heroID, skinIndex, isSkinAttr))
|
| | | item = heroItem.GetItem()
|
| | | if not isSkinAttr:
|
| | | item.SetUserAttr(ShareDefine.Def_IudetHeroSkin, skinIndex)
|
| | | else:
|
| | | # 选属性同步修改形象
|
| | | item.SetUserAttr(ShareDefine.Def_IudetHeroSkin, skinIndex)
|
| | | item.SetUserAttr(ShareDefine.Def_IudetHeroSkinAttr, skinIndex) |
| | | PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate(heroItem) # 切换皮肤属性
|
| | | heroItem.Sync_Item()
|
| | | return True
|
| | |
|
| | | def GMSetHeroSkin(curPlayer, heroID, skinIndex, isActive=1):
|