Научил AI покупать неулучшенных существ в новых двеллингах:
Кстати, я так подумал, все же правильней было бы сделать следующим образом:
Если при захвате героем внешнего жилища, существо, которое в нем обитает принадлежит хотя бы к одному из имеющихся в распоряжении героя городов (родные + захваченны). И в этом городе отстроено улучшенное жилище для этого существа, то в захваченном жилище выводим 2 типа существ: грейженный и негрейженный стеки.
Если в распоорияжении героя несколько одинаковых городов к которым принадлежит существо захваченного жилища, то нам нужно, чтобы хотя бы в одном из подконтрольных городов было отсроенно улучшенное жилище. Иначе, если в подконтрольных герою городах, к которому принадлежит существо из жилища, оно либо не отстроенно вообще, либо отстроен только лишь негрейженный вариант жилища, либо же у героя нет в распоряжении городов к которому относится данное существо, то выводим оригинальное окно с одним типом негрейженных существ.
Пример, у героя есть три города типа Замок и еще один какой-то другой город (не Замок, а, допустим, Башня). В одном Замке остроен Ул. Портал славы с Архангелами, в другом отстроен только обычный Портал славы с Ангелами, а в третьем Замке вообще не отстроен Портал славы.
У нас одно захваченное жилище Портал славы, в котором мы можем купить либо Архангелов, либо Англелов. Если же враг у нас отвоевывает Замок в котором отстроен Ул. Портал славы с Архангелами, то жилище возвращается к своему первоначальному виду, то есть мы можем нанимать только Ангелов. Ибо в одном из оставшихся Замков у нас есть только обычный Портал славы с Ангелами, в другом Замке вообще не отстроен Портал славы, а третий город Башня вообще не соответствует нашему существу из жилища.
Как только мы завоюем Замок с остроенными Ул. Порталом славы в Замке свой или какой-то другой вражеский, котороый станет нашим, то и в соответствующем жилище снова должна появится возможность нанимать как обычных, так и грейженных.
То есть, как я понимаю, при входе в жилище по каждому игроку (в том числе и для AI), нужно будет брать тип существа и сопоставлять с типом всех городов, которыми владеет текущий игрок. Если тип существа отсносится к проверяемому городу, то проверям отстроена ли постройка этого существа в этом городе и если да, то также проверяем ул. ли эта постройка.
Если в проверяемом городе к которому относится существо жилище этого существа не отстроенно или же отстроенно только обычное не ул. жилище (или в распоряжении героя нет городов к которому относится существо), то выводим один негрейженный стек, как в оригинале. Иначе, если в подконтрольных есть город этого существа и ул. постройка этого существа в этом городе отстроена, то тогда в окне найма жилища выводим два типа существ: греженный и негрейженный.
По-моему, именно так все будет логично и найболее правильно. Я бы лично подобное хотел бы увидеть в HotA. Очень полезный плагин на самом деле.