From 4f91cc2f5734412bfe3c708240693e3668e43670 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 16 一月 2019 23:11:27 +0800
Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(修复不同服跨服聊天异常问题)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 49 insertions(+), 2 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 149425f..30205b2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
@@ -476,8 +476,9 @@
curPlayer.SetDict(ChConfig.Def_PlayerKey_SpeedHorse, maxSpeed)
# 果实对坐骑的加成, 魂石果实算附加属性层,单独计算
- PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListHorseSoul, ShareDefine.Def_AttrFruitFunc_Horse)
-
+ fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListHorseSoul, ShareDefine.Def_AttrFruitFunc_Horse)
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_HorseSoul, fightPowerEx)
+
#PlayerControl.CalcFuncPackItem(curPlayer, ShareDefine.Def_Pack_Type_HorseSkill, allAttrList)
# 保存计算值
@@ -736,6 +737,52 @@
# @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
--
Gitblit v1.8.0