Пару слов о механике абордажа.
Сначала необходимый дисклеймер. Я хоть и айтишник, но не программист. Поэтому я вполне допускаю, что могу ошибиться в прочтении скрипта (они в xml формате - там черт ногу сломит от местных нотаций и синтаксиса). Особенно при учёте, что читаю скрипт я в три часа ночи...
Поэтому если кто-то более сведущий меня поправит, если я ошибусь - это будет замечательно.
Итак.
Абордаж производится в несколько фаз.
0. Подготовка к абордажу (до того как началась собственно операция абордажа. О ней я писал ранее, и потому здесь о ней речь если и пойдет, то косвенно).
Непосредственно абордаж:
1. Подготовка к сближению
2. Сближение.
3. Подготовка к проникновению.
4. Проникновение.
5. Подготовка в внутреннему бою.
6. Внутренний бой.
В описании я буду использовать такое понятие как Прогресс. Можно представить его как стандартную полоску, которая заполняется до 100% (просто она не отображается на экране).
В некоторых фазах имеется такое понятие как Предел. Это некая величина, которой необходимо достигуть: Прогресс этих фаз будет приостановлен до момента, пока Предел не будет перейдён (станет понятнее чуть ниже). В течение всего захвата операция использует понятие "хиты команды". По сути, здоровье команды равно количеству её членов. как только погибает последний десантник - здоровье команды становится равно нулю, операция заканчивается. Команды это отряды, на которые делятся десантники.Комбинированный навык это величина напрямую связанная со средним значением профильных навыков. Это среднее значение может считаться как у отдельного бойца, так и у команды.
Первой фазой идет подготовка к сближению. В этой фазе:
Определяется количество команд, которые будут участвовать в операции.Создаются капсулы, и заполняются бойцами. Список бойцов перед посадкой в капсулы перемешивается. Похоже, что, в отличие от X-Rebirth, тут хорошие бойцы и плохие стартуют одновременно, и "пушечное мясо" отсутствует(в кактусе сначала стартовали абордажники с самыми плохими характеристиками, а в конце самые могучие, что, вроде как, позволяло сохранить жизнь самым лучшим, жертвуя самыми хилыми). Капсулы стартуют спустя 5 секунд после начала операции.
Определяется Предел Турелей - величина, определяющая количество турелей для уничтожения перед посадкой на корпус.
Она равна:
Предел Турелей = Количество турелей на корабле противника * Предел Сближения / 100%
Нигде не написано что это за Предел Сближения, но, судя по всему, это величина, которая напрямую зависит от того, какой параметр мы выбрали на нулевой фазе подготовки к абордажу.
Капсулы кружатся вокруг корабля, пока не пройден Предел Турелей. (то есть пока мы не собьем нужно количество турелей)
После этого начинается фаза сближения. В фазе сближения миссия игрока переключается на защиту капсул. Капсулы пытаются сблизиться и закрепиться на поверхности корабля. Подробно останавливаться не буду, тут, вроде, всё понятно: убили капсулу, здоровье команды снизилось на количество народа в капсуле.
После закрепления первой капсулы, и до приземления последней, начинается параллельный этап "подготовка к проникновению". Это промежуточный этап между Сближением и Проникновением: Капсулы продолжают пытаться закрепиться на обшивке, а уже приземлившиеся капсулы пытаются прожечь корпус. Как только последняя закрепилась на корпусе, начинается этап Проникновения.
В нулевой фазе мы выбирали сколько процентов корпуса надо сжечь, чтобы продолжить бой. (я писал об этом ранее). Наши бойцы начинают пытаться прорезать корпус для проникновения внутрь с момента как только первая капсула приземлилась. Важное замечание: речь НЕ о повреждении обшивки корабля. Реальное Повреждение Хулла является лишь модификатором к процессу прорезания корпуса.
Прорезание корпуса, это всего лишь Прогресс Проникновения (о том, что такое Прогресс - я писал выше).
Считается прогресс на каждом тике так:
сначала высчитывается Базовый прогресс. Он равен:
(101% - Оставшиеся проценты корпуса) /25.
Ну, то есть, если мы выбрали самый шадящий для бойцов вариант (снести 80% корпуса) и выполнили это условие, то базовый прогресс
будет равен (101%-20%)/25=3,24%
После чего бойцы пытаются прорезать обшивку. Их прогресс считается очень странно. Чтобы не думалось что я что то левое гоню, приведу полностью кусок скрипта:
Cкрытый текст (кликните здесь для просмотра)
Код: |
<do_if value="not this.$killed?">
<set_value name="this.$Progress" exact="this.$BaseProgress * (100.0f / [$Operation.marines.infiltrating.{this.$marine}.combinedskill, 1.0f].max)"/>
<do_if value="$HasStartedInfiltration">
<set_value name="$InfiltratingMarineProgress.{this.$marine}" exact="[$InfiltratingMarineProgress.{this.$marine} + this.$Progress, 100.0f].min"/>
</do_if>
<do_else>
<set_value name="$InfiltratingMarineProgress.{this.$marine}" exact="[$InfiltratingMarineProgress.{this.$marine} + this.$Progress, PreInfiltrationMaxProgress].min"/>
</do_else>
<debug_text text="'Progress for ' + this.$marine + ' is ' + $InfiltratingMarineProgress.{this.$marine}" chance="$DebugChance"/>
<set_value name="this.$CurrentTotalProgress" operation="add" exact="$InfiltratingMarineProgress.{this.$marine}"/>
|
|
Сначала высчитывается прогресс бойца:
Базовый прогресс * (100% / комбинированныйнавыкбойца(но не менее 1%) )
Для бездарного десантника с нулевыми характеристиками это будет в нашем примере: 3,24% * (100% / 1%) = 3,24% * 100 = 324% (??!)
Затем считается считается общий Прогресс проникновения этого бойца. Считается так:
Прогресс из предыдущего тика + текущий прогресс (но не более 100%).
Прогрессы проникновения отдельных бойцов складываются, формируя общий прогресс:
Общий Прогресс = Предыдущий Общий прогресс + Текущий Общий Прогресс этого бойца.
Процесс продолжается, пока общий Прогресс проникновения не дойдёт до 100% И так каждый тик. Один тик на этом этапе равен 2 секунды.
На этом этапе разработчиками предусмотрена возможная смерть десантников. Но на данный момент этот кусок скрипта отключен авторами игры.
Но, на всякий, напишу шанс смерти при проникновении (вдруг потом включат)
Шанс = Процент корпуса / ( (комбинированный навык бойца*2) или 10, смотря что больше, но не более 100 ).
Из формул получается чушь, а именно: каждый тик каждый боец будет мгновенно завершать проникновение, если он полный бездарь.
После проникновения начинается внутренний бой. Но сначала поговорим о "тем временем, в Зловещем Замке".
С момента запуска первой капсулы вражеский экипаж начинает готовиться к обороне.
Сначала формируется команда защитников. Они разбиваются отрядами по 2-4 человека (рандом). После этого команды начинают наполняться экипажем. Как и в случае с нашими десантниками - общее количество защитников и есть хиты команды защиты. Когда погибает последний - хиты становятся равны нулю, наши победили.
Десантники вражеской команды по одному добавляются в каждый отряд, пока не закончатся. Если в отрядах остались свободные вакансии, они доукомплектовываются из
Роджеров Вилко... Из местного обслуживающего персонала.
К моменту начала Внутреннего Боя, обе стороны сформировали команды, и готовы погибать во имя нашей Прибыли.
В фазе внутреннего боя один тик равен пяти секундам.
Каждая команда атакующих будет биться со своей командой защитников.
Атакующие наносят урон защищающимся. Его размер есть случайная величина между единицей и комбинированнымнавыком атакующих+1.
Если хиты команды, в которую попали, упали до ноля, она гибнет. Уже писал об этом, но повторюсь - когда померли все с какой то стороны - Абордаж заканчивается.
Дополнения и исправления приветствуются.
(Базовый гайд сейчас тоже дополню)
http://www.elite-games.ru/conference/viewtopic.php?p=3594623#3594623