如果原始首都没了,大使馆自动撤销

This commit is contained in:
wuwenbo 2025-08-26 14:40:06 +08:00
parent 6d1febb91b
commit a2656b4b1c

View File

@ -232,6 +232,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))
@ -239,7 +241,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))
{