нет, тут я ошибся, функция хоть и срабатывает, но ИИ все равно выкупает прирост. думаю, это связано с тем, что владелец - нейтральный игрок. поэтому я вижу только такой способ - убрать все здания изначально, а при захвате их строить:
for build = TOWN_BUILDING_DWELLING_1, TOWN_BUILDING_DWELLING_7 do
SetTownBuildingLimitLevel('houseInferno', build, 0)
end
function CaptureTown(p_owner, n_owner, hero, object)
for build = TOWN_BUILDING_DWELLING_1, TOWN_BUILDING_DWELLING_7 do
SetTownBuildingLimitLevel(object, build, 2)
for i = 1, 2 do
UpgradeTownBuilding(object, build)
end
end
local week = GetDate(WEEK)
SetObjectDwellingCreatures(object, 16, 35 * week)
SetObjectDwellingCreatures(object, 18, 34 * week)
SetObjectDwellingCreatures(object, 20, 18 * week)
SetObjectDwellingCreatures(object, 22, 10 * week)
SetObjectDwellingCreatures(object, 24, 7 * week)
SetObjectDwellingCreatures(object, 26, 4 * week)
SetObjectDwellingCreatures(object, 28, 2 * week)
end
Trigger(OBJECT_CAPTURE_TRIGGER, 'houseInferno', 'CaptureTown')