From 76e5bb8009ca029093959036157e5c2601ff2431 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 17 十月 2022 17:09:36 +0800
Subject: [PATCH] 9684 【越南】坐骑幻化支持时效性(时效幻化激活状态变更同步变更原幻化激活状态)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 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 faeee70..5410723 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
@@ -178,6 +178,7 @@
if not ipyData:
return
+ activateState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorserSkinPlusState)
updSkinEndTime = 0
validTime = ipyData.GetSkinValidTime()
if validTime:
@@ -188,7 +189,6 @@
else:
updSkinEndTime = skinEndTime + validTime
else:
- activateState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorserSkinPlusState)
if activateState & pow(2, activateID):
GameWorld.DebugLog("该坐骑已幻化!activateState=%s,activateID=%s" % (activateState, activateID))
return
@@ -205,20 +205,22 @@
if validTime:
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HorserSkinEndTime % activateID, updSkinEndTime)
GameWorld.DebugLog("坐骑幻化时效 activateID=%s,updSkinEndTime=%s(%s)" % (activateID, updSkinEndTime, GameWorld.ChangeTimeNumToStr(updSkinEndTime)), playerID)
- else:
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HorserSkinPlusState, activateState|pow(2, activateID))
+ #时效及非时效该状态均设置激活
+ updActivateState = activateState|pow(2, activateID)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HorserSkinPlusState, updActivateState)
+
playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
itemRideHorse = playerEquip.GetAt(Def_HorseEquipIndex)
#无指定道具
if itemRideHorse.IsEmpty():
DoChangeHorse(curPlayer, 2, activateID, tick)
+ Sync_HorseClassData(curPlayer)
if validTime:
SyncHorseSkinTimeInfo(curPlayer, activateID)
- else:
- Sync_HorseClassData(curPlayer)
- GameWorld.Log("坐骑激活成功!activateID=%s,updSkinEndTime=%s" % (activateID, updSkinEndTime), playerID)
+ GameWorld.Log("坐骑激活成功!activateID=%s,activateState=%s,updActivateState=%s,updSkinEndTime=%s"
+ % (activateID, activateState, updActivateState, updSkinEndTime), playerID)
# 刷属性,更新排行榜
RefreshHorseAttr(curPlayer)
@@ -339,6 +341,12 @@
addItemList = []
paramList = [skinItemID]
PlayerControl.SendMailByKey("HorseSkinInvalidNotify", [playerID], addItemList, paramList)
+
+ activateState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorserSkinPlusState)
+ updActivateState = GameWorld.SetBitValue(activateState, skinID, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HorserSkinPlusState, updActivateState)
+ GameWorld.Log("坐骑幻化过期更新状态! skinID=%s,activateState=%s,updActivateState=%s" % (skinID, activateState, updActivateState), playerID)
+ Sync_HorseClassData(curPlayer)
return False
else:
activateState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HorserSkinPlusState)
--
Gitblit v1.8.0