Code:
function NoCitadelGenerals(iPlayer)
local pPlayer = Players[iPlayer]
for pUnit in pPlayer:Units() do
if pUnit:GetUnitClassType() == GameInfoTypes.UNITCLASS_GREAT_GENERAL then
if pUnit:IsHasPromotion(GameInfoTypes.PROMOTION_NO_CITADEL) then
pUnit:CanBuild(0, GameInfoTypes.BUILD_CITADEL, 1, 0)
end
end
end
end
GameEvents.PlayerDoTurn.Add(NoCitadelGenerals)
Anyone know how Unit:CanBuild works? I tried flipping some values around, but great generals with a promotion still can build citadels. Or is it that LUA cannot prevent a unit from building something?