From 06233c1cb36e7a1bdd10d7d88d94473878e96dba Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 19 三月 2019 20:45:04 +0800 Subject: [PATCH] 6369 【后端】【2.0】删除职业阶设定 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py | 41 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 37 insertions(+), 4 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 1d8dcbb..60d1280 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py @@ -37,8 +37,9 @@ import GameMap import OpenServerCampaign import PlayerMagicWeapon -import PassiveBuffEffMng +import PlayerWeekParty import CalcNoLineEffect +import CrossPlayerData import CalcLineEffect import random @@ -105,7 +106,6 @@ if not newPetItem: return - newPetItem.SetIsBind(True) newPetItem.SetUserAttr(ShareDefine.Def_IudetPet_NPCID, petNPCID) newPetItem.SetUserAttr(ShareDefine.Def_IudetPet_State, ShareDefine.Def_PetState_Null) @@ -266,8 +266,39 @@ # petItem.SetUserAttr(ShareDefine.Def_IudetPet_State, tagState) # GameWorld.DebugLog("切换宠物状态异常防范! curState=%s,tagState=%s" % (curState, tagState)) + if not GameWorld.IsCrossServer(): + dataList = [petNPCID, curClasslv, tagState] + CrossPlayerData.SendDataToCrossServer(curPlayer, CrossPlayerData.CrossData_PetState, dataList) + return +def CrossServer_DoChangePetState(curPlayer, dataList): + ## 跨服处理 宠物战斗状态变更 + petNPCID, curClasslv, tagState = dataList + petItem = GetPetDataItemByNPCID(curPlayer, petNPCID) + if not petItem: + newPetItem = GetNewPetDataItem(curPlayer, petNPCID) + if not newPetItem: + return + if not ItemControler.PlayerItemControler(curPlayer).PutInItem(ShareDefine.rptPet, newPetItem): + return + petItem = GetPetDataItemByNPCID(curPlayer, petNPCID) + if not petItem: + return + + curItemClasslv = petItem.GetUserAttr(ShareDefine.Def_IudetPet_ClassLV) + # 处理技能问题,暂不处理 + if curClasslv > curItemClasslv: + pass + + curState = petItem.GetUserAttr(ShareDefine.Def_IudetPet_State) # 当前状态 + if curState == ShareDefine.Def_PetState_Fight: + PetControl.ReCallFightPet(curPlayer) + + if tagState == ShareDefine.Def_PetState_Fight: + __DoPetGoOutToFight(curPlayer, petItem) + + return ## 执行宠物出战逻辑 @@ -320,7 +351,7 @@ #---通知客户端--- #rolePet.Sync_PetInfo() #刷新技能栏 - rolePet.Sync_SkillList() + #rolePet.Sync_SkillList() #---收到"宠物出战"请求--- #检查是否可出战 @@ -474,6 +505,7 @@ # 开服活动数据 OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PetLV, GetTotalPetLV(curPlayer)) + PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Pet, petNPCID, False) return True @@ -779,7 +811,8 @@ PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMaxAtk, totalMaxAtk, allAttrListPet) totalSignNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalSignNum) # 总签到天数 # 果实给人物加属性, 魂石果实算附加属性层,单独计算 - PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListPetSoul, ShareDefine.Def_AttrFruitFunc_Pet) + fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListPetSoul, ShareDefine.Def_AttrFruitFunc_Pet) + curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_PetSoul, fightPowerEx) #灵兽技能给人物加的属性 learnSkillList, passiveSkillList = GetPetLearnSkill(curPlayer) -- Gitblit v1.8.0