From 2ebf4a52405b0b628b61c82c106c2e63414b02ae Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 24 一月 2019 18:06:00 +0800
Subject: [PATCH] 5931 【后端】【1.5.100】诛仙装备开发(装备位解锁条件读诛仙塔表)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py | 35 ++++++++++++++++++++++++++++++++++-
1 files changed, 34 insertions(+), 1 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 5a25e67..bafdac8 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
@@ -266,8 +267,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
## 执行宠物出战逻辑
@@ -474,6 +506,7 @@
# 开服活动数据
OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PetLV, GetTotalPetLV(curPlayer))
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Pet, petNPCID, False)
return True
--
Gitblit v1.8.0