From 2d1e1831dc6a29031bf85010e2f0d804d3e342bc Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 27 二月 2020 18:44:08 +0800 Subject: [PATCH] Merge branch 'master' of http://mobile.173on.com:10010/r/SnxxServerCode --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py | 31 ++++++++++++++++++++++++++++--- 1 files changed, 28 insertions(+), 3 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py index 7d496a0..39e1e37 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py @@ -41,6 +41,8 @@ import CalcNoLineEffect import CrossPlayerData import CalcLineEffect +import PlayerActivity +import PlayerHorse import random import math @@ -321,6 +323,7 @@ petID = petStruct.PetID petStruct.BindType = petItem.GetIsBind() petStruct.Name = str(petStruct.PetID)#petNpcData.GetName() 配表不是UTF8会导致报错,默认用ID当名字 + petStruct.DailyTrainCnt = PlayerHorse.GetHorsePetSkinIndex(curPlayer, 2, npcID) # 宠物lv 改为 阶级 用于客户端显示名字颜色用 # classLV = petItem.GetUserAttr(ShareDefine.Def_IudetPet_ClassLV) # rolePet.SetLV(classLV) @@ -625,7 +628,7 @@ for itemIndex in itemIndexList: curItem = curItemPack.GetAt(itemIndex) #检查物品 - if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not ItemCommon.CheckItemCanUse(curItem): continue itemCnt = curItem.GetCount() nowCnt += itemCnt @@ -708,7 +711,9 @@ #广播 sysMark = sysMarkList[i] if i < len(sysMarkList) else 'PetUpLv' PlayerControl.WorldNotify(0, sysMark, [playerName, petNPCID, limitPetClassLV, skillid]) - + #增加升级活跃点效果 + PlayerActivity.AddActivityByLVOnLearnSkill(curPlayer, skillid) + if not learnSkillList and updClassLV + 1 == maxClassLV: PlayerControl.WorldNotify(0, 'PetUpLvMax', [playerName, petNPCID]) # 如果是当前出战的宠物, 则该宠物学习技能 @@ -746,6 +751,18 @@ continue totalPetLV += classLV return totalPetLV + +def IsPetMaxLV(curPlayer, petNPCID): + petItem = GetPetDataItemByNPCID(curPlayer, petNPCID) + if not petItem: + return + petNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID) + classLV = petItem.GetUserAttr(ShareDefine.Def_IudetPet_ClassLV) + petIpyData = GetPetIpydata(petNPCID) + if not petIpyData: + return + maxClassLV = petIpyData.GetMaxRank() + return classLV + 2 > maxClassLV ## 刷新宠物数据物品增加的属性 def RefreshPetItemAddAttr(curPlayer, isUpdBillboard): @@ -804,7 +821,7 @@ allAttrListPetSign = [{} for _ in range(4)] # 属性含 特殊的技能属性(因为签到技能属性成长,战力也是成长的,所以不能放技能中算战力,暂时放魂石中) allAttrListPetSoul = [{} for _ in range(4)] skillAttrList = [{} for _ in range(4)] - + allAttrListPetSkin = [{} for _ in range(4)] totalMinAtk, totalMaxAtk = GetPetAtkValue(curPlayer) PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMinAtk, totalMinAtk, allAttrListPet) PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMaxAtk, totalMaxAtk, allAttrListPet) @@ -836,6 +853,7 @@ continue SkillShell.CalcBuffEffAttr(curPlayer, curEffect, skillAttrList) + PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Pet, allAttrListPet) PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSoul, allAttrListPetSoul) PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSign, allAttrListPetSign) @@ -855,6 +873,13 @@ if not petIpyData: continue initFPAdd += petIpyData.GetInitFightPower() + #觉醒战力 + skinData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorsePetSkinData % (2, petItemNPCID), 0) + skinIpyData = IpyGameDataPY.GetIpyGameDataNotLog('HorsePetSkin', 2, petItemNPCID, skinData/100) + if skinIpyData: + for attrID, attrValue in skinIpyData.GetAttrInfo().items(): + PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrListPetSkin) + PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSkin, allAttrListPetSkin) curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Pet, initFPAdd) # GameWorld.DebugLog("宠物榜NPCID: %s, petDict=%s" % (billPetNPCID, str(billPetDict))) return -- Gitblit v1.8.0