9896 【BT0.1】【主干】坐骑、灵宠、称号升星(初始星级改为0)
| | |
| | | CrossPlayerData.OnDienstgradChange(curPlayer, dienstgradID, 1)
|
| | | if dienstgradID == IpyGameDataPY.GetFuncCfg("TitleAddPoint"):
|
| | | __DoTitleAddPoint(curPlayer)
|
| | | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TitleStar % dienstgradID, 1)
|
| | | SyncTitleStarInfo(curPlayer, dienstgradID)
|
| | |
|
| | | #重新刷新角色属性
|
| | | if isRefreshAttr:
|
| | |
| | | titleID = clientData.TitleID
|
| | |
|
| | | curStar = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TitleStar % titleID)
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("TitleStarUp", titleID, curStar)
|
| | | if not ipyData:
|
| | | return
|
| | | nextStar = curStar + 1
|
| | | nextIpyData = IpyGameDataPY.GetIpyGameData("TitleStarUp", titleID, nextStar)
|
| | | needItemList = ipyData.GetStarUpNeedItemList()
|
| | | if not needItemList or not nextIpyData:
|
| | | GameWorld.DebugLog("称号已满星,无法升星. titleID=%s,curStar=%s" % (titleID, curStar), playerID)
|
| | | if not nextIpyData:
|
| | | GameWorld.DebugLog("称号不存在该星级,无法升星. titleID=%s,curStar=%s" % (titleID, curStar), playerID)
|
| | | return
|
| | | needItemList = nextIpyData.GetStarUpNeedItemList()
|
| | | if not needItemList:
|
| | | return
|
| | | itemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
|
| | | lackItemDict, delInfoDict = ItemCommon.GetCostItemIndexList(needItemList, itemPack)
|
| | | if lackItemDict:
|
| | | GameWorld.DebugLog("称号升星所需物品不足! titleID=%s,curStar=%s,needItemList=%s,lackItemDict=%s" |
| | | % (titleID, curStar, needItemList, lackItemDict), playerID)
|
| | | GameWorld.DebugLog("称号升星所需物品不足! titleID=%s,nextStar=%s,needItemList=%s,lackItemDict=%s" |
| | | % (titleID, nextStar, needItemList, lackItemDict), playerID)
|
| | | return
|
| | |
|
| | | ItemCommon.DelCostItem(curPlayer, itemPack, delInfoDict, "TitleStarUp")
|
| | |
| | | PlayerControl.CalcAttrDict_Type(attrID, attrValueList[i], allAttrList)
|
| | |
|
| | | curStar = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TitleStar % curGradID)
|
| | | starIpyData = IpyGameDataPY.GetIpyGameData("TitleStarUp", curGradID, curStar)
|
| | | starIpyData = IpyGameDataPY.GetIpyGameDataNotLog("TitleStarUp", curGradID, curStar)
|
| | | if starIpyData:
|
| | | starAttrType = starIpyData.GetStarAttrType()
|
| | | starAttrValue = starIpyData.GetStarAttrValue()
|
| | |
| | | GameWorld.Log("坐骑激活成功!activateID=%s,activateState=%s,updActivateState=%s,updSkinEndTime=%s"
|
| | | % (activateID, activateState, updActivateState, updSkinEndTime), playerID)
|
| | |
|
| | | horseStar = 1 # 初始星级
|
| | | horseID = ipyData.GetHorseID()
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HorserStar % horseID, horseStar)
|
| | | SyncHorseStarInfo(curPlayer, horseID)
|
| | | |
| | | # 刷属性,更新排行榜
|
| | | RefreshHorseAttr(curPlayer)
|
| | | PlayerControl.WorldNotify(0, "GetMount", [curPlayer.GetName(), ipyData.GetHorseSkinPlusID()])
|
| | |
| | |
|
| | | #星级
|
| | | horseStar = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorserStar % horseID)
|
| | | starIpyData = IpyGameDataPY.GetIpyGameData("HorseStarUp", horseID, horseStar)
|
| | | starIpyData = IpyGameDataPY.GetIpyGameDataNotLog("HorseStarUp", horseID, horseStar)
|
| | | if starIpyData:
|
| | | starAttrType = starIpyData.GetStarAttrType()
|
| | | starAttrValue = starIpyData.GetStarAttrValue()
|
| | |
| | | horseID = clientData.HorseID
|
| | |
|
| | | horseStar = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorserStar % horseID)
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("HorseStarUp", horseID, horseStar)
|
| | | if not ipyData:
|
| | | return
|
| | | nextStar = horseStar + 1
|
| | | nextIpyData = IpyGameDataPY.GetIpyGameData("HorseStarUp", horseID, nextStar)
|
| | | needItemList = ipyData.GetStarUpNeedItemList()
|
| | | if not needItemList or not nextIpyData:
|
| | | GameWorld.DebugLog("坐骑已满星,无法升星. horseID=%s,curStar=%s" % (horseID, horseStar), playerID)
|
| | | if not nextIpyData:
|
| | | GameWorld.DebugLog("坐骑不存在该星级,无法升星. horseID=%s,curStar=%s" % (horseID, horseStar), playerID)
|
| | | return
|
| | | needItemList = nextIpyData.GetStarUpNeedItemList()
|
| | | if not needItemList:
|
| | | return
|
| | | itemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
|
| | | lackItemDict, delInfoDict = ItemCommon.GetCostItemIndexList(needItemList, itemPack)
|
| | | if lackItemDict:
|
| | | GameWorld.DebugLog("坐骑升星所需物品不足! horseID=%s,curStar=%s,needItemList=%s,lackItemDict=%s" |
| | | % (horseID, horseStar, needItemList, lackItemDict), playerID)
|
| | | GameWorld.DebugLog("坐骑升星所需物品不足! horseID=%s,nextStar=%s,needItemList=%s,lackItemDict=%s" |
| | | % (horseID, nextStar, needItemList, lackItemDict), playerID)
|
| | | return
|
| | |
|
| | | ItemCommon.DelCostItem(curPlayer, itemPack, delInfoDict, "HorseStarUp")
|
| | |
| | | initClass = petIpyData.GetInitRank() if classlv == -1 else classlv#初始阶级
|
| | | newPetItem.SetUserAttr(ShareDefine.Def_IudetPet_ClassLV, max(0, initClass - 1)) #代码里从0开始
|
| | | newPetItem.SetUserAttr(ShareDefine.Def_IudetPet_QualityLV, petIpyData.GetQuality()) # 宠物品质
|
| | | newPetItem.SetUserAttr(ShareDefine.Def_IudetPet_Star, 1) # 起始1星
|
| | | |
| | |
|
| | | petSkillList = petIpyData.GetSkillID()
|
| | | petSkillUnLockList = petIpyData.GetSkillUnLock()
|
| | |
| | |
|
| | | #星级
|
| | | curStar = petItem.GetUserAttr(ShareDefine.Def_IudetPet_Star)
|
| | | starIpyData = IpyGameDataPY.GetIpyGameData("PetStarUp", petItemNPCID, curStar)
|
| | | starIpyData = IpyGameDataPY.GetIpyGameDataNotLog("PetStarUp", petItemNPCID, curStar)
|
| | | if starIpyData:
|
| | | starAttrType = starIpyData.GetStarAttrType()
|
| | | starAttrValue = starIpyData.GetStarAttrValue()
|
| | |
| | | return
|
| | | petNPCID = petDataItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
|
| | | curStar = petDataItem.GetUserAttr(ShareDefine.Def_IudetPet_Star)
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("PetStarUp", petNPCID, curStar)
|
| | | if not ipyData:
|
| | | return
|
| | | nextStar = curStar + 1
|
| | | nextIpyData = IpyGameDataPY.GetIpyGameData("PetStarUp", petNPCID, nextStar)
|
| | | needItemList = ipyData.GetStarUpNeedItemList()
|
| | | if not needItemList or not nextIpyData:
|
| | | GameWorld.DebugLog("灵宠已满星,无法升星. petNPCID=%s,curStar=%s" % (petNPCID, curStar), playerID)
|
| | | nextIpyData = IpyGameDataPY.GetIpyGameDataNotLog("PetStarUp", petNPCID, nextStar)
|
| | | if not nextIpyData:
|
| | | GameWorld.DebugLog("灵宠不存在该星级,无法升星. petNPCID=%s,curStar=%s" % (petNPCID, curStar), playerID)
|
| | | return
|
| | | needItemList = nextIpyData.GetStarUpNeedItemList()
|
| | | if not needItemList:
|
| | | return
|
| | | itemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
|
| | | lackItemDict, delInfoDict = ItemCommon.GetCostItemIndexList(needItemList, itemPack)
|
| | | if lackItemDict:
|
| | | GameWorld.DebugLog("灵宠升星所需物品不足! petNPCID=%s,curStar=%s,needItemList=%s,lackItemDict=%s" |
| | | % (petNPCID, curStar, needItemList, lackItemDict), playerID)
|
| | | GameWorld.DebugLog("灵宠升星所需物品不足! petNPCID=%s,nextStar=%s,needItemList=%s,lackItemDict=%s" |
| | | % (petNPCID, nextStar, needItemList, lackItemDict), playerID)
|
| | | return
|
| | |
|
| | | ItemCommon.DelCostItem(curPlayer, itemPack, delInfoDict, "PetStarUp")
|