From 52e17999f97477f222094a0b6e7e32129e97c404 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 17 一月 2024 17:09:07 +0800
Subject: [PATCH] 10019 【砍树】回合战斗(根据地图处理默认视野)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 88525f4..8252355 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -7468,6 +7468,10 @@
             sightLevel = realmDifficulty
             GameWorld.DebugLog("境界地图自动设置已选择的境界难度视野: sightLevel=%s" % sightLevel)
             
+    mapSightType = GameMap.GetMapSightType()
+    if mapSightType == ChConfig.SightType_Private:
+        sightLevel = curPlayer.GetPlayerID() # 强制为私有层级
+        
     curPlayer.SetSightLevel(sightLevel)
     rolePet = curPlayer.GetPetMgr().GetFightPet()
     #无出战宠物
@@ -7479,4 +7483,25 @@
         if not curSummon:
             continue
         curSummon.SetSightLevel(sightLevel)
-    return
\ No newline at end of file
+    return
+
+def SetPlayerSightLevelByMap(curPlayer):
+    playerID = curPlayer.GetPlayerID()
+    sightLevel = playerSightLevel = curPlayer.GetSightLevel()
+    mapSightType = GameMap.GetMapSightType()
+    if mapSightType == ChConfig.SightType_Private:
+        sightLevel = playerID
+    else:
+        # 默认公共视野 ChConfig.SightType_Public
+        if playerSightLevel == playerID:
+            sightLevel = 0 # 私人视野强制改为公共视野
+        else:
+            # 公共视野遵循其他自定义视野层级逻辑
+            return
+    
+    if sightLevel == playerSightLevel:
+        return
+    GameWorld.DebugLog("地图切换玩家视野: mapSightType=%s,playerSightLevel=%s to sightLevel=%s" 
+                       % (mapSightType, playerSightLevel, sightLevel), playerID)
+    SetPlayerSightLevel(curPlayer, sightLevel)
+    return

--
Gitblit v1.8.0