blockedTavern = {TOWN_ACADEMY, TOWN_HEAVEN, TOWN_PRESERVE, TOWN_FORTRESS, TOWN_NECROMANCY, TOWN_INFERNO, TOWN_STRONGHOLD, TOWN_DUNGEON};
blockedTavern.n = length(blockedTavern);
allTown = {'AcademyTown', 'HeavenTown', 'SylvanTown', 'DwarvenTown', 'NecropolisTown', 'InfernoTown', 'HordeTown', 'DungeonTown'};
for i = 1, blockedTavern.n do
for j = 1, length(allTown) do
AllowHeroHiringByRaceInTown(allTown[j], blockedTavern, 0);
end;
end;
AllowHeroHiringByRaceInTown('AcademyTown', TOWN_ACADEMY, 1);
AllowHeroHiringByRaceInTown('HeavenTown', TOWN_HEAVEN, 1);
AllowHeroHiringByRaceInTown('SylvanTown', TOWN_PRESERVE, 1);
AllowHeroHiringByRaceInTown('DwarvenTown', TOWN_FORTRESS, 1);
AllowHeroHiringByRaceInTown('NecropolisTown', TOWN_NECROMANCY, 1);
AllowHeroHiringByRaceInTown('InfernoTown', TOWN_INFERNO, 1);
AllowHeroHiringByRaceInTown('HordeTown', TOWN_STRONGHOLD, 1);
AllowHeroHiringByRaceInTown('DungeonTown', TOWN_DUNGEON, 1);
That is, I first prohibit hiring any heroes in all cities, and then allow hiring heroes of that city's race in each city separately. Most likely, the loop is not correct; I think it is wrong to prohibit hiring all heroes. Perhaps there is a way to select individual values from the
blockedTavern list for each case?