From 8d824368fd3d1d358c166ad23dbda95bc9ab4454 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 04 九月 2024 11:41:46 +0800
Subject: [PATCH] 10258 【越南】【砍树】新增古宝特殊效果(增加法器每X阶+xx属性)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py | 49 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 43 insertions(+), 6 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py
index 4070bbf..2b5adfb 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFriend.py
@@ -76,12 +76,12 @@
return
if not tagPlayer:
- curCache = PlayerViewCache.ViewCacheMgr.FindCache(curTagPlayerID)
+ curCache = PlayerViewCache.FindViewCache(curTagPlayerID)
if not curCache:
#玩家的数据没有缓存过
PlayerControl.NotifyCode(curPlayer, 'Friend_OffLine')
return
- tagLV = curCache.GetPlayerLV()
+ tagLV = curCache.LV
else:
tagLV = tagPlayer.GetLV()
@@ -126,6 +126,7 @@
askFriendPack.Name = curPlayer.GetName()
askFriendPack.LV = curPlayer.GetLV()
askFriendPack.RealmLV = curPlayer.GetOfficialRank()
+ askFriendPack.Face = curPlayer.GetFace()
NetPackCommon.SendFakePack(tagPlayer, askFriendPack)
@@ -214,6 +215,12 @@
GameWorld.Log('DeleteFriend -> 封包异常 ->没有这个玩家', playerID)
return
+ couple = PyDataManager.GetDBPyCoupleManager().GetCouple(playerID)
+ if couple and couple.GetCoupleID(playerID) == friendID:
+ #GameWorld.Log('DeleteFriend -> 封包异常 ->伴侣不能删除好友.friendID=%s' % friendID, playerID)
+ PlayerControl.NotifyCode(curPlayer, "DelFriendCoupleLimit")
+ return
+
#离线好友同时删除记录
PyDataManager.GetFriendManager().DelFriendBoth(playerID, friendID)
@@ -224,6 +231,12 @@
if tagPlayer != None:
PlayerControl.NotifyCode(tagPlayer, 'Friend_DeleteFriend2', [curPlayer.GetName()])
PlayerTeam.OnTeamMemFriendChange(curPlayer, friendID, False)
+
+ # 亲密度减少
+ decIntimacyPer = IpyGameDataPY.GetFuncCfg("IntimacyReduce", 1)
+ if decIntimacyPer:
+ PyDataManager.GetIntimacyManager().DelIntimacyBothPer(playerID, friendID, decIntimacyPer)
+
return
@@ -264,7 +277,7 @@
srcPlayer = playerManager.FindPlayerByID(srcPlayerID)
if srcPlayer == None:
# 玩家已下线
- curCache = PlayerViewCache.ViewCacheMgr.FindCache(srcPlayerID)
+ curCache = PlayerViewCache.FindViewCache(srcPlayerID)
if not curCache:
#玩家的数据没有缓存过
#PlayerControl.NotifyCode(curPlayer, 'Friend_OffLine')
@@ -322,7 +335,7 @@
PlayerControl.NotifyCode(srcPlayer, 'Friend_MakeFriend', [curPlayer.GetName()])
#srcPlayer.MapServer_QueryPlayerResult(0, 0, 'AddFriendSucceed', "", 0)
else:
- cacheDict = eval(curCache.GetPropData())
+ cacheDict = PlayerViewCache.GetCachePropDataDict(curCache)
PlayerControl.NotifyCode(curPlayer, 'Friend_MakeFriend', [cacheDict['Name']])
# 记录等对方上线通知地图,任务等会用到触发逻辑,通用记录次数即可, MapServer_SyncFriendInfo为具体的好友数量,根据策划需求制作
pass
@@ -389,12 +402,18 @@
# return
#===========================================================================
+ couple = PyDataManager.GetDBPyCoupleManager().GetCouple(curPlayer.GetID())
+ if couple and couple.GetCoupleID(curPlayer.GetID()) == tagID:
+ #GameWorld.DebugLog("伴侣不能加入黑名单! tagID=%s" % tagID, curPlayer.GetID())
+ PlayerControl.NotifyCode(curPlayer, "AddBlackCoupleLimit")
+ return
+
tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(tagID)
if not tagPlayer:
- curCache = PlayerViewCache.ViewCacheMgr.FindCache(tagID)
+ curCache = PlayerViewCache.FindViewCache(tagID)
if not curCache:
return
- cacheDict = eval(curCache.GetPropData())
+ cacheDict = PlayerViewCache.GetCachePropDataDict(curCache)
playerName = cacheDict['Name']
else:
playerName = tagPlayer.GetName()
@@ -410,6 +429,11 @@
PlayerControl.NotifyCode(curPlayer, 'AddBlackList', [playerName])
+ # 亲密度减少
+ decIntimacyPer = IpyGameDataPY.GetFuncCfg("IntimacyReduce", 2)
+ if decIntimacyPer:
+ PyDataManager.GetIntimacyManager().DelIntimacyBothPer(curPlayer.GetPlayerID(), tagID, decIntimacyPer)
+
return
@@ -473,6 +497,15 @@
players.Sync_SocialsInfo(curPlayer)
return
+#亲密
+def __OnPlayerLoginIntimacylist(curPlayer, tick):
+ intimacys = PyDataManager.GetIntimacyManager().GetIntimacys(curPlayer.GetID())
+ if intimacys == None:
+ return
+
+ intimacys.Sync_SocialsInfo(curPlayer)
+ return
+
## 玩家登陆
# @param curPlayer 当前玩家
# @param tick 当前时间
@@ -486,6 +519,7 @@
__OnPlayerLoginEnemy(curPlayer, tick)
__OnPlayerLoginContacts(curPlayer, tick)
__OnPlayerLoginBlacklist(curPlayer, tick)
+ __OnPlayerLoginIntimacylist(curPlayer, tick)
# 向当前玩家通知相关联的所有玩家信息
PlayerSocial.Sync_AllSocialsInfo(curPlayer)
@@ -625,6 +659,7 @@
rceFriendsData.LV = tagPlayer.GetLV()
rceFriendsData.Job = tagPlayer.GetJob()
rceFriendsData.RealmLV = tagPlayer.GetOfficialRank()
+ rceFriendsData.Face = tagPlayer.GetFace()
sendPack.FriendsList.append(rceFriendsData)
#GameWorld.DebugLog("Client_RecommendFriends:%s"%sendPack.FriendsList)
@@ -684,6 +719,8 @@
rceFriendsData.Name = tagPlayer.GetName()
rceFriendsData.LV = tagPlayer.GetLV()
rceFriendsData.Job = tagPlayer.GetJob()
+ rceFriendsData.RealmLV = tagPlayer.GetOfficialRank()
+ rceFriendsData.Face = tagPlayer.GetFace()
sendPack.FriendsList.append(rceFriendsData)
--
Gitblit v1.8.0