From da703bbc7bc857362753504d9b82ce8d2250a9b6 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 15 三月 2019 16:32:02 +0800
Subject: [PATCH] 6307 【后端】【2.0】多套装备开发单(外观设置修改)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 55 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
index 30205b2..cccdde8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
@@ -39,6 +39,8 @@
 import SkillCommon
 import PlayerMagicWeapon
 import PassiveBuffEffMng
+import CrossPlayerData
+import PlayerWeekParty
 #---------------------------------------------------------------------
 
 #---------------------------------------------------------------------
@@ -98,6 +100,12 @@
     pack = IPY_GameWorld.IPY_CRideHorse()
     #//1: 骑马 0: 下马
     curPlayerRideType = pack.GetRide()
+    if PlayerControl.GetCrossMapID(curPlayer):
+        # 暂只处理上马
+        if curPlayerRideType:
+            dataList = [curPlayerRideType]
+            CrossPlayerData.SendDataToCrossServer(curPlayer, CrossPlayerData.CrossData_RideHorse, dataList)
+        return
     #骑马行为状态, 客户端限制
     if not OperControlManager.IsObjCanDoAction(curPlayer,
                                                ChConfig.Def_Obj_ActState_ClientAct,
@@ -130,6 +138,15 @@
     
     #if curPlayer.IsMoving():
     #    curPlayer.Move(curPlayer.GetDestPosX(), curPlayer.GetDestPosY())    
+    return
+
+def CrossServer_RideHorse(curPlayer, dataList):
+    curPlayerRideType = dataList[0]
+    
+    #骑马
+    if curPlayerRideType == 1:
+        PlayerRideHorseUp(curPlayer, True)
+            
     return
 
 #---------------------下马逻辑
@@ -280,8 +297,43 @@
     horseIndex = packData.Index
     
     DoChangeHorse(curPlayer, horseIndex, tick)
+    
+    if not GameWorld.IsCrossServer():
+        dataList = [horseIndex]
+        CrossPlayerData.SendDataToCrossServer(curPlayer, CrossPlayerData.CrossData_HorseChange, dataList)
     return
 
+def CrossServer_ChangeHorse(curPlayer, dataList):
+    ## 跨服处理 坐骑变更
+    horseIndex = dataList[0]
+    ipyData = IpyGameDataPY.GetIpyGameData("Horse", horseIndex)
+    if not ipyData:
+        return
+    
+    horseItemID = ipyData.GetItemID()
+    
+    if ItemCommon.FindItemInPackByItemID(curPlayer, horseItemID, IPY_GameWorld.rptEquip):
+        return
+    
+    isOK = ItemControler.PutItemInTempSwap(curPlayer, horseItemID)
+    if not isOK:
+        return
+    
+    curHorse = ItemCommon.FindItemInPackByItemID(curPlayer, horseItemID, ShareDefine.rptTempSwap)
+    if not curHorse:
+        return
+    
+    isRideHorse = curPlayer.GetPlayerVehicle() == IPY_GameWorld.pvHorse
+    if isRideHorse:
+        PlayerRideHorseDown(curPlayer, False)
+        
+    #---执行玩家换装逻辑---
+    tick = GameWorld.GetGameWorld().GetTick()
+    if ChEquip.DoPlayerEquipItem(curPlayer, curHorse, ItemCommon.GetEquipPackIndex(curHorse), tick):
+        if isRideHorse:
+            PlayerRideHorseUp(curPlayer, False)
+            
+    return
 
 def DoChangeHorse(curPlayer, horseIndex, tick):
     ipyData = IpyGameDataPY.GetIpyGameData("Horse", horseIndex)
@@ -325,7 +377,7 @@
         PlayerRideHorseDown(curPlayer, False)
     
     #---执行玩家换装逻辑---
-    if ChEquip.DoPlayerEquipItem(curPlayer, curHorse, ShareDefine.retHorse, tick):
+    if ChEquip.DoPlayerEquipItem(curPlayer, curHorse, ItemCommon.GetEquipPackIndex(curHorse), tick):
         if isRideHorse:
             PlayerRideHorseUp(curPlayer, False)
         return
@@ -875,6 +927,8 @@
     sumLV = GetHorseSumLV(curPlayer)
     OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_HorseLV, sumLV)
     PlayerMagicWeapon.SetMWPrivilegeData(curPlayer, ChConfig.MWPrivilege_Horse, sumLV)
+    PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Horse, horseID, False)
+    
     playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
     itemRideHorse = playerEquip.GetAt(ShareDefine.retHorse)
     #无指定道具

--
Gitblit v1.8.0