[R&F] [1.0.0.257] Garrison Unit Remains In Free Cities [BUG/EXPLOIT]

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) :

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();
 
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) :
Yes this is actually good idea.
@sipertruk I am going to update the mod on Steam with your code. ok?
 
Back
Top Bottom