diff --git a/Unity/Assets/Scripts/TH1_Logic/Player/PlayerLogic.cs b/Unity/Assets/Scripts/TH1_Logic/Player/PlayerLogic.cs index 59b3f3ac3..d2ff58fe6 100644 --- a/Unity/Assets/Scripts/TH1_Logic/Player/PlayerLogic.cs +++ b/Unity/Assets/Scripts/TH1_Logic/Player/PlayerLogic.cs @@ -234,6 +234,8 @@ namespace Logic //记录oldplayer和newplayer var oldPid = playerData2.Id; var newPid = playerData.Id; + + bool lostEmbassy = Main.CityLogic.CheckCradleCapital(mapData, playerData2, cityData); // 修改城市和玩家的所属关系 if (!mapData.SetCityIdToPlayerId(cityData.Id, playerData.Id)) @@ -241,7 +243,13 @@ namespace Logic LogSystem.LogError("占领失败!"); return; } - + + // 撤销所有国家在 player2 建立的大使馆 + if (lostEmbassy) + { + foreach (var info in playerData2.DiplomacyData.Info) info.IsEmbassy = false; + } + //转移小兵的编制,要在处理完城市和玩家所属关系后才能转移小兵编制,不然出局的玩家清理本城市小兵的时候会出错 if (!mapData.GetCityDataByUnitId(unitData.Id, out var oldCityData)) {