This bug is still there.
For Fearsunn's Garrison Bug Fix to work with an already bad save, modify GarrisonKill.lua like that (in function Initialize) :
For Fearsunn's Garrison Bug Fix to work with an already bad save, modify GarrisonKill.lua like that (in function Initialize) :
Spoiler :
Code:
function OnCulturalIdentityCityConverted(playerID, cityID, loserID)
if playerID == 62 then
local cInstance = CityManager.GetCity(playerID, cityID);
local cityX = cInstance:GetX();
local cityY = cInstance:GetY();
KillGarrison(cityX, cityY, playerID);
end --62
end
function KillGarrison(iX, iY, cityOwner)
local pPlot = Map.GetPlot(iX, iY);
local cityUnits = Units.GetUnitsInPlot(pPlot);
for loop, pUnit in ipairs(cityUnits) do
local uOwner = pUnit:GetOwner();
if uOwner ~= cityOwner then
UnitManager.Kill(pUnit);
print("Killing unit");
end
end
end
function Initialize()
Events.CulturalIdentityCityConverted.Add( OnCulturalIdentityCityConverted )
Events.CityInitialized.Add( OnCulturalIdentityCityConverted )
print("GarrisonFix STARTED");
local freeCities = Players[62]:GetCities()
for cityID, city in freeCities:Members() do
KillGarrison(city:GetX(), city:GetY(), 62)
end
end
Initialize();