Вспоминая мод для 4-ой части решила попробовать организовать подобный для Цив 5. первым делом - Стим. Там есть некий мод, который сперва вроде бы устроил - уникальные здания чужих народов можно там захватывать. Но проблемка, они не учитываются для различных игровых моментов (например, захватив базар Аравии вы не можете построить потом банк - игра "не видит" захваченный базар как рынок).
Посокрушавшись, решила: "Мы пойдём другим путём!"
Итак, идея первая: выделяем каждому уникальному зданию свой собственный класс (BUILDINGCLASS_BAZAAR). Делаем две копии здания (Bazaar - для Аравии и Bazaar1 для остальных). Этим зданиям добавляем только те эффекты, которые отличают уникальное здание от обычного (у базара это + золото с оазисов и удвоение добываемых ресурсов роскоши).
Всё работает отлично, построенный Аравией базар можно захватить другой нацией, он работает как надо, в городе можно построить также и рынок, чтобы строить банк и т.п. Но проблема - город экрана будет "завален" кучей уникальных зданий в будущем (если город будет захватываться различными нациями, которые построят в нём свои Уникальные Здания), т.к. они там будут показаны вместе с обычными.
Идея намба ту: начинается как и первая - присвоение уникального класса каждому UB, затем присвоение им и их аналогам (базар-рынок) одной группы (то есть, что бы в городе, где есть базар, нельзя было строить рынок). Убрать у соответствующих наций соответсвующий здания (у Аравии убрать рынок).
Всё вроде бы работает, но тут возникает беда, для постройки банка у Аравии тогда вообще не нужно базара в городе, а другим нациям в городе с захваченным базаром нельзя построить рынок, без которого нельзя построить банк.
Итак вопрос - как можно организовать захват уникальных зданий в игре, без проблем с "для постройки в городе требуется здание Н" и при этом не захламлять окно города (чтобы если есть в городе базар, то не было рынка или его аналогов других наций)?
И почему нельзя создать различные варианты одного класса зданий (скажем - обычный банк, банк требующий для постройки в городе не рынка, а базара, обычный двор сатрапа, двор сатрапа требующий в городе не рынок а базар), но с различными требованиями <Building_ClassesNeededInCity> для строительства?
<Building_ClassesNeededInCity>
<Row>
<BuildingType>BUILDING_SATRAPS_COURT</BuildingType>
<BuildingClassType>BUILDINGCLASS_MARKET</BuildingClassType>
</Row>
<Row>
<BuildingType>BUILDING_SATRAPS_COURT1</BuildingType>
<BuildingClassType>BUILDINGCLASS_BAZAAR</BuildingClassType> (это уникальный класс здания)
</Row>
</Building_ClassesNeededInCity>
Не работает. Почему? (прим. SATRAPS_COURT и SATRAPS_COURT1 - здания одного BuildingClassType)
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III