From f0f101d1d778e26a2e3ecd368c90c8f52a7ea011 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 13 六月 2019 11:11:44 +0800
Subject: [PATCH] 7220 【后端】【2.0】灵器开发1.0版(删除绝版属性,原绝版属性转移到灵器属性)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py |   65 ++++++--------------------------
 1 files changed, 12 insertions(+), 53 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 6578f90..29b3bfb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
@@ -188,11 +188,18 @@
     # 未加载成功骑乘会导致模型加载失败报错
     if not curPlayer.GetInitOK():
         return False
-                    
-    #地图不允许骑马 RideLimit_lhs_0
-    if not GameWorld.GetMap().GetMapCanRide():
-        PlayerControl.NotifyCode(curPlayer, "RideLimit_lhs_0")
-        return False
+    
+    customMapID = PlayerControl.GetCustomMapID(curPlayer)
+    if customMapID:
+        ipyMapData = IpyGameDataPY.GetIpyGameData("ChinMap", customMapID)
+        if not ipyMapData or not ipyMapData.GetCanRide():
+            PlayerControl.NotifyCode(curPlayer, "RideLimit_lhs_0")
+            return False
+    else:
+        #地图不允许骑马 RideLimit_lhs_0
+        if not GameWorld.GetMap().GetMapCanRide():
+            PlayerControl.NotifyCode(curPlayer, "RideLimit_lhs_0")
+            return False
     
     #检查玩家状态,只有在空闲状态才能上马
     if curPlayer.GetPlayerVehicle() != IPY_GameWorld.pvNull :
@@ -736,7 +743,6 @@
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Horser_LV%horseID, updateClassLV, ChConfig.Def_PDictType_Horse)
     #EventReport.WriteEvent_custom_mission_log(curPlayer, ChConfig.CME_Class_Horse, ChConfig.CME_Log_End, 1, cmeInfoEx=str(updateClassLV))
     sumLV = GetHorseSumLV(curPlayer)
-    PlayerMagicWeapon.SetMWPrivilegeData(curPlayer, ChConfig.MWPrivilege_Horse, sumLV)
 
     # 刷属性,更新排行榜
     RefreshHorseAttr(curPlayer)
@@ -790,52 +796,6 @@
 # @param curPlayer 玩家
 # @return None
 def PlayerHorseLogin(curPlayer):
-    if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_Horse):
-        GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_Horse, 1)
-        #等级不能超上限,技能删了重新学
-        skillManager = curPlayer.GetSkillManager()
-        delCnt = 0
-        for i in xrange(skillManager.GetSkillCount()):
-            dataIndex = i-delCnt
-            skill = skillManager.GetSkillByIndex(dataIndex)
-            if skill == None:
-                continue
-            if skill.GetFuncType() != ChConfig.Def_SkillFuncType_HorseSkill:
-                continue
-            skillTypeID = skill.GetSkillTypeID()
-            skillManager.DeleteSkillBySkillTypeID(skillTypeID)
-            delCnt += 1
-            
-        tick = GameWorld.GetGameWorld().GetTick()
-        ipyDataMgr = IpyGameDataPY.IPY_Data()
-        for i in xrange(ipyDataMgr.GetHorseCount()):
-            ipyData = ipyDataMgr.GetHorseByIndex(i)
-            horseID = ipyData.GetHorseID()
-            curlv = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Horser_LV % horseID, 0, ChConfig.Def_PDictType_Horse)
-            if not curlv:
-                continue
-            maxLV = ipyData.GetMaxLV()
-            if curlv > maxLV:
-                PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Horser_LV % horseID, maxLV, ChConfig.Def_PDictType_Horse)
-                PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Horser_Exp % horseID, 0, ChConfig.Def_PDictType_Horse)
-                GameWorld.Log('   老号坐骑等级超过上限,坐骑ID=%s,原LV=%s,重置为=%s'%(horseID, curlv, maxLV))
-                curlv = maxLV
-        
-            for lv in xrange(1, curlv + 1):
-                upIpyData = IpyGameDataPY.GetIpyGameData("HorseUp", horseID, lv)
-                if not upIpyData:
-                    break
-                skillIDList = upIpyData.GetSkillID()
-                if not skillIDList:
-                    continue
-                for skillID in skillIDList:
-                    __GiveSkill(curPlayer, skillID, tick)
-        # 重刷战力
-        curControl = PlayerControl.PlayerControl(curPlayer)
-        curControl.RefreshAllSkill()
-        RefreshHorseAttr(curPlayer)
-        
-    
     Sync_HorseClassData(curPlayer)
     return
 
@@ -927,7 +887,6 @@
     # 记录开服活动马匹阶级
     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)

--
Gitblit v1.8.0