PDA

Просмотр полной версии : как в цив 5 убрать конкретную прокачку конкретному юниту?



Alex__
12.08.2013, 00:40
сабж

Sungirl
12.08.2013, 10:02
сабж
Alex__, ты бы конкретизировал :) свой вопрос конкретным примером, что ли? :D

Попробую угадать, что именно ты имел в виду :rolleyes:
Много интересного по поводу юнитов и их прокачек хранится в файлах CIV5Units.xml и CIV5UnitPromotions.xml из папки Gameplay\XML\Units\ :cool:
Кстати, эта папка находится-
Sid Meier's Civilization 5\Assets\ - для Классики
Sid Meier's Civilization 5\Assets\DLC\Expansion\ - для ГаК
Sid Meier's Civilization 5\Assets\DLC\Expansion2\ - для БНВ

Кстати, не исключена возможность того, что аддоны используют определенную информацию из файлов Классики ;)


1. Ты хочешь, чтобы данную прокачку нельзя было получить за счет боевого опыта? :gun:
Идем в файл CIV5UnitPromotions.xml, находим нужную нам прокачку и добавляем туда строку

<CannotBeChosen>true</CannotBeChosen>
например, сразу после строки Help
Например, как запретить прокачку на мгновенное исцеление


<Type>PROMOTION_INSTA_HEAL</Type>
<Description>TXT_KEY_PROMOTION_HEAL_INSTANTLY</Description>
<Help>TXT_KEY_PROMOTION_HEAL_INSTANTLY_HELP</Help>
<CannotBeChosen>true</CannotBeChosen>
<Sound>AS2D_IF_LEVELUP</Sound>
<OrderPriority>99</OrderPriority>
<InstaHeal>true</InstaHeal>
<PortraitIndex>26</PortraitIndex>
<IconAtlas>PROMOTION_ATLAS</IconAtlas>
<PediaType>PEDIA_HEAL</PediaType>
<PediaEntry>TXT_KEY_PROMOTION_HEAL_INSTANTLY</PediaEntry>



2. Как убрать "свободную" прокачку, даваемую юниту, например, уникальному юниту?
Идем в файл CIV5Units.xml, идем в до строки <Unit_FreePromotions>, находим там соответствующий юнит и просто убираем строки, дающие данному юниту "свободную" прокачку ;)

Например, как убрать у английского длиннолучника "свободную" прокачку на дальность стрельбы :rocket:
В файле CIV5Units.xml просто убираем соответствующие строки


<Row>
<UnitType>UNIT_ENGLISH_LONGBOWMAN</UnitType>
<PromotionType>PROMOTION_RANGE</PromotionType>
</Row>



3. Как сделать, чтобы прокачка не наследовалась при апгрейде юнита?
(кстати, очень важная деталь, ибо варгеймеры любят раскачивать древние войска до непобедимых современных юнитов; с учетом полной неспособности ИИ уничтожать юниты игрока-человека, это выглядит явным читерством :boo:).
Идем в файл CIV5UnitPromotions.xml, находим нужную нам прокачку и добавляем туда строку

<LostWithUpgrade>true</LostWithUpgrade>
например, сразу после строки Sound
Например, как запретить для дальнобойных юнитов наследование прокачки на дальность стрельбы


<Row>
<Type>PROMOTION_RANGE</Type>
<Description>TXT_KEY_PROMOTION_RANGE</Description>
<Help>TXT_KEY_PROMOTION_RANGE_HELP</Help>
<Sound>AS2D_IF_LEVELUP</Sound>
<LostWithUpgrade>true</LostWithUpgrade>
<PromotionPrereqOr1>PROMOTION_ACCURACY_3</PromotionPrereqOr1>
<PromotionPrereqOr2>PROMOTION_BARRAGE_3</PromotionPrereqOr2>
<PromotionPrereqOr3>PROMOTION_TARGETING_2</PromotionPrereqOr3>
<PromotionPrereqOr4>PROMOTION_BOMBARDMENT_2</PromotionPrereqOr4>
<OrderPriority>7</OrderPriority>
<RangeChange>1</RangeChange>
<PortraitIndex>34</PortraitIndex>
<IconAtlas>PROMOTION_ATLAS</IconAtlas>
<PediaType>PEDIA_RANGED</PediaType>
<PediaEntry>TXT_KEY_PROMOTION_RANGE</PediaEntry>
</Row>




Ну а если в текущей игре какой-то юнит уже получил прокачку, и как ее убрать, как выдрать из сейва, тут я не знаю :(


И у меня тоже появился вопрос -

Как сделать, чтобы конкретная прокачка могла быть принята только игроком-ИИ, но не игроком-человеком?

Например, прокачка на "мгновенное исцеление" была бы доступна только для ИИ, так он хоть как-то мог бы сопротивляться :2guns:
Ну я-то понимаю, что проще запретить себе нажимать соответствующую кнопку, но в разгар боевых действий руки так и тянутся нажать заветную кнопочку - соблазн слишком велик :nerves:
А запрещать совсем, для всех эту прокачку не хочется - ИИ вроде неплохо ею пользуется :yes: