Данная работа является результатом анализа кода X3 Terran Conflict версии 3.0 и во многом повторяет работы vivere и dead0k по анализу кода для версии 2.5.
Работы vivere и dead0k можно найти по следующим адресам:
Все вычисления в формулах целочисленные с округлением вниз. Падение рейтинга зависит от ранга игрока. Приведенные величины действительны для ранга -2 и выше (рейтинг больше -1000). Проверки, не работающие в чистой игре, из рассмотрения исключены. Потери десантников в случае эвакуации не рассматриваются.
Десантники. Навыки и тренировка.
У каждого десантника есть четыре навыка, которые влияют на процесс захвата кораблей:
Бой [Fighting] - используется для расчетов потерь среди личного состава. Чем выше суммарный уровень боя, тем меньше потерь понесут ваши десантники и чем выше индивидуальный уровень боя, тем больше шансов у десантника выжить.
Хакерство [Hacking] - используется для определения успешности взлома компьютера корабля. Во взломе участвуют два лучших хакера из выживших.
Техника [Engineering] - используется для расчетов повреждения корпуса корабля при захвате. В повреждении корпуса участвуют все сражающиеся десантники.
Механика [Mechanical] - используется для определения успешности прорезания корпуса корабля. Корпус прорезают два лучших механика в группе.
Итого [Overall] - средний навык десантника по всем четырем дисциплинам.
На сохранность оборудования после захвата навыки десантников не влияют.
Величина каждого навыка изменяется от 0 до 100. Для приблизительной оценки используется представление навыка в "звездах". За каждые 17 единиц навыка десантник получает одну звезду.
Величина навыка
Количество звезд
0 ... 16
0
17 ... 33
1
34 ... 50
2
51 ... 67
3
68 ... 84
4
85 ... 100
5
Таблица 1.
Боевой навык повышается исключительно практикой, то есть захватом кораблей. Успешный захват увеличивает навык боя на 5-9 единиц. Если по каким-либо причинам захват корабля не удался, боевой уровень десантников не повышается.
Остальные навыки повышаются платными курсами на Военных аванпостах, Военных базах, в некоторых Доках оборудования (например, в Аргон Прайме) и на других специализирующихся на этом станциях. Курсы различаются по продолжительности (Быстро, Нормально или Подробно) и изучаемой дисциплине (Хакерство, Техника, Механика или все три сразу).
Быстрый курс повышает навык на 5-9 единиц, нормальный курс - на 15-27 (три быстрых), подробный - на 25-45 (пять быстрых).
Продолжительность (в минутах) быстрого обучения по одной дисциплине составляет:
5 + (<текущий уровень> / 5 + 1) 2
Стоимость быстрого обучения по одной дисциплине составляет:
5000 + 2000 x (<текущий уровень> / 5 + 1)
Продолжительность нормального обучения по одной дисциплине составляет:
Стоимость подробного обучения по одной дисциплине составляет:
75000 + 10000 x (<текущий уровень> / 5)
Тренировка по всем навыкам дает равное увеличение всех трех характеристик, а ее продолжительность и стоимость - на 20% больше суммарной продолжительности и стоимости аналогичных тренировок по всем трем навыкам.
Самым быстрым и самым дешёвым способом тренировки десантников является тренировка "быстрыми" курсами по одному навыку за курс. Стоимость и продолжительность таких тренировок приведены в таблице.
Величина навыка
Стоимость
Продолжительность
0 ... 4
7000
00:06
5 ... 9
9000
00:09
10 ... 14
11000
00:14
15 ... 19
13000
00:21
20 ... 24
15000
00:30
25... 29
17000
00:41
30 ... 34
19000
00:54
35 ... 39
21000
01:09
40 ... 44
23000
01:26
45 ... 49
25000
01:45
50 ... 54
27000
02:06
55 ... 59
29000
02:29
60 ... 64
31000
02:54
65 ... 69
33000
03:21
70 ... 74
35000
03:50
75 ... 79
37000
04:21
80 ... 84
39000
04:54
85 ... 89
41000
05:29
90 ... 94
43000
06:06
95 ... 99
45000
06:45
100*
47000
07:26
Таблица 2.
*Значение приведено для сравнения, дальнейшая тренировка десантников с уровнем 100 невозможна (хотя цена такого обучения в игре показывается).
Корабли, доступные для захвата
Для захвата доступны корабли классов M1/M2/M6/M7/TL/TM, исключая следующие:
Корабли производства Ха'аков.
Корабли с нулевой максимальной коростью (Орудийные Орбитальные платформы [Orbital Weapon Platform] и Стражи [Guardian] Ха'аков).
Неуничтожимые корабли (выставлен флаг "invincible"), за исключением случаев, когда захват прямо разрешен (выставлен флаг "boardable").
Захват неуничтожимых кораблей по сюжету разрешен в двух случаях - Искатель Истинного Света и #deca.
Таблицы базовых значений.
ShipBoardingTable. Tаблица констант, определяющих параметры кораблей различных классов.
M1
M2
M6
M7
TL
TM
DeckNumber
5
5
3
4
5
2
BoardingHullDefence
180
160
20
90
130
10
BaseDefenceLevel
50
45
10
30
30
20
HackingSecurity_random
50
50
20
30
40
20
HackingSecurity_base
30
25
5
20
20
10
ShieldBoardingThreshold
4
4
10
8
6
10
Таблица 3.
Количество десантников на кораблях различных классов.
M1
M2
M6
M7
TL
TM
TP
Сирокко
MaxMarines
20
20
5
20
20
5
10
30
Таблица 4.
Запуск десантников
Несмотря на то, что десантников может нести любой крупный корабль, абордаж можно производить только с кораблей TP, M6 и тех M7M, которые умеют стрелять абордажными капсулами.
Добираются до корабля противника десантники или своим ходом, если абордаж с M6 или TP, или внутри абордажной капсулы, если используется ракетный фрегат. В обоих случаях десантники летят не индивидуально, а в группах. Количество групп зависит от способа запуска десанта. При абордаже с ракетного фрегата каждая группа требует одну капсулу. Вместимость десантной капсулы - 5 десантников, но полная загрузка капсулы происходит только при запуске абордажных капсул вручную или командой "missle barrage/ракетный шквал".
При запуске десанта через меню "пиратство" [piracy] или командой "выпустить всех десантников" [launch all marines] количество групп рассчитывается по формуле:
Для запуска десантников щиты цели должны быть меньше, чем параметр ShieldBoardingThreshold (см. Таблицу 3).
Прорезка корпуса
После того, как десантники успешно добрались до цели и закрепились на броне начинается первый этап абордажа - прорезка корпуса. Каждая группа прорезает корпус независимо от других, успех или неудача одной группы на другие группы не влияют.
Алгоритм прорезания корпуса:
Репутация игрока падает на 5% от абсолютного значения и еще на 50.
Статус десантников меняется на "Вскрывает корпус" [Cutting Hull].
Считается уровень атаки, для этого суммируются навыки механики двух лучших механиков в группе.
Если десантники прибыли в абордажной капсуле, то полученное значение удваивается.
Считается уровень защиты, для этого берется значение BoardingHullDefence (см. Таблицу 3).
Если корабль принадлежит землянам или АОГ, то значение удваивается. Если на корабле установлен поляризатор корпуса, то показатель защиты увеличивается на 150.
Показатели атаки и защиты меняются на случайную величину в пределах от -10% до +10% - 1.
Если показатель атаки больше или равен показателю защиты, то корпус успешно вскрыт и десантники переходят к следующей фазе.
Полезные подробности:
После каждой сказанной фразы следует проверка щита цели, и если щит больше, чем ShieldBoardingThreshold, то все десантники погибают;
Наличе поляризатора корпуса задерживает прорезку корпуса на 6-9 секунд и добавляет еще одну проверку щита;
После отчета об успешном прорезании корпуса проходит 6-12 секунд, в это время производится еще три проверки состояния щита;
После отчета об успешном прорезании корпуса десантники перестают предупреждать о высоком уровне щита;
Вскрытие корпуса занимает 22-40 секунд для кораблей без поляризатора корпуса и 28-52 секунды для кораблей с поляризатором.
Бой
Алгоритм сражения:
Статус десантников меняется на "Сражается" [Fighting].
Захватываемый корабль становится враждебен игроку, если не стал им раньше.
Далее на каждой палубе:
Статус десантников меняется на "Сражается (Палуба X)" [Fighting (Deck X)].
Репутация игрока падает на 2% от абсолютного значения и еще на 20.
Рассчитываются потери среди нападавших. AttackCasualties = (MaxMarines + 1) / DeckNumber + SE_Random(3) - 1
SE_Random(3) - случайно генерируемое целое число в диапазоне от 0 до 2 (т.е. 0, 1 или 2).
Показатели атаки и защиты меняются на случайную величину в пределах от -10% до +10% - 1.
Потери среди нападавщих и обороняющихся корректируются в зависимости от значения DefenceLevel - AttackLevel.
Если (DefenceLevel - AttackLevel) ≤ 40, то с вероятностью 2% AttackCasualties будет увеличена на 1, а DefenceCasualties уменьшается на 1.
В остальных случаях:
AttackCasualties
DefenceCasualties
550
<
DefenceLevel - AttackLevel
AC × 3
0
400
<
DefenceLevel - AttackLevel
≤
550
AC × 3
DC - 3
150
<
DefenceLevel - AttackLevel
≤
400
AC + (AC + 1) / 2
DC - (DC + 1) / 2
40
<
DefenceLevel - AttackLevel
≤
150
AC + 1
DC - 1
-40
≤
DefenceLevel - AttackLevel
≤
40
AC
DC
-150
≤
DefenceLevel - AttackLevel
<
-40
AC - 1
DC + 1
-400
≤
DefenceLevel - AttackLevel
<
-150
AC - (AC + 1) / 2
DC + (DC + 1) / 2
-550
≤
DefenceLevel - AttackLevel
<
-400
AC - 3
DC × 2
DefenceLevel - AttackLevel
<
-550
0
DC × 3
Таблица 7.
Если AttackCasualties больше 0, то идет игра "О счастливчик".
Каждый раунд разыгрывается только среди живых, количество раундов - AttackCasualties. Шансы каждого десантника 10 - (<боевой уровень> - 1) / 10. Все шансы складываются в общую кучу и выбирается один. "Счастливчик" выбывает.
Если DefenceCasualties больше 0, то погибает такое же количество обороняющихся.
Шансы на выбывание равны, боевой уровень обороняющихся не учитывается.
После того, как пройдены все палубы, идет последняя перестрелка у входа в рубку.
Если на корабле установлен улучшенный брандмауэр, то DefenceLevel увеличивается на 70.
Десантники предупреждают о наличии улучшенного брандмауэра в 80% случаях, тогда же взлом затягивается на 2-4 секунды. DefenceLevel повышается всегда.
Если AttackLevel ≥ DefenceLevel или если десантникам повезло (2% случаев), то компьютер взломан. Иначе - абордаж провален.
В 5% случаев компьютер снова включается и десантники эвакуируются, в остальных случаях корабль передается игроку.
Передача корабля игроку:
Корабль "синеет" - становится ничейным.
Происходит уничтожение установненного оборудования и груза.
Кионные излучатели уничтожаются в 50% случаев, остальные пушки, щиты и ракеты - в 90% случаев. От прочего оборудования и груза остается SE_Random(SE_Random(<начальное количество> + 1) + 1);
На первый взгляд эта формула выглядит несколько непонятно, но если присмотреться, то все очень просто. Например, на борту 100 единиц какого-то товара (оборудования). Сначала случайно генерируется целое число от 0 до 100. Получаем некое число N. А потом еще раз случайно генерируется целое число от 0 до N. Это и будет число оставшегося данного товара (оборудования).
Навыки десантников на этот процесс влияния не оказывают.
На корабль добавляется система жизнеобеспечения.
Боевой навык десантников повышается на 5-9 единиц.
Корабль становится видимым и уязвимым - в свойствах корабля снимаются флаги "hidden" и "invincible".
Корабль передается расе-владельцу корабля, с которого были запущены десантники.
Полезные подробности:
После каждой фразы происходит проверка состояния корпуса корабля - если осталось меньше 5%, то абордаж провален.
Взлом компьютера занимает 20-37 секунд.
Если корабль, с которого были запущены десантники, уничтожен, то захватываемый корабль останетня ничейным и десант с него не вернется.
Фабрики за груз не считаются и остаются нетронутыми.
Прорезка корпуса без абордажных капсул
Вероятность прорезания корпуса одной группой десантников с максимальным уровнем механики при заброске с M6 или TP
M1
M1HPD
M2
M2HPD
M6
M6HPD
M7
M7HPD
TL
TLHPD
TM
TMHPD
Содружество, Пираты, Яки
89,38%
0%
100%
0%
100%
98,46%
100%
0,52%
100%
0%
100%
100%
Земляне, АОГ
0%
0%
0%
0%
100%
73,29%
89,38%
0%
0%
0%
Ксенон
89,38%
0%
100%
0%
100%
98,46%
100%
0,52%
Уровень механики, необходимый для 50% вероятности прорезания корпуса при заброске с M6 или TP
M1
M1HPD
M2
M2HPD
M6
M6HPD
M7
M7HPD
TL
TLHPD
TM
TMHPD
Содружество, Пираты, Яки
90
165
80
155
10
85
45
120
65
140
5
80
Земляне, АОГ
180
255
160
235
20
95
90
165
130
205
Ксенон
90
165
80
155
10
85
45
120
Уровень механики, необходимый для 100% вероятности прорезания корпуса при заброске с M6 или TP
M1
M1HPD
M2
M2HPD
M6
M6HPD
M7
M7HPD
TL
TLHPD
TM
TMHPD
Содружество, Пираты, Яки
109
200
97
188
11
102
53
146
78
170
6
89
Земляне, АОГ
219
310
194
286
23
114
109
200
158
249
Ксенон
109
200
97
188
11
102
53
146
Прорезка корпуса с использованием абордажных капсул
Вероятность прорезания корпуса одной группой десантников с максимальным уровнем механики при заброске с M7M
M1
M1HPD
M2
M2HPD
M6
M6HPD
M7
M7HPD
TL
TLHPD
TM
TMHPD
Содружество, Пираты, Яки
100%
99,94%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
Земляне, АОГ
89,06%
0%
100%
2,03%
100%
100%
100%
99,94%
100%
38,96%
Ксенон
100%
99,94%
100%
100%
100%
100%
100%
100%
Уровень механики, необходимый для 50% вероятности прорезания корпуса при заброске с M7M
M1
M1HPD
M2
M2HPD
M6
M6HPD
M7
M7HPD
TL
TLHPD
TM
TMHPD
Содружество, Пираты, Яки
45
83
40
78
5
43
23
60
33
70
3
40
Земляне, АОГ
90
128
80
118
10
48
45
83
65
103
Ксенон
45
83
40
78
5
43
23
60
Уровень механики, необходимый для 100% вероятности прорезания корпуса при заброске с M7M
M1
M1HPD
M2
M2HPD
M6
M6HPD
M7
M7HPD
TL
TLHPD
TM
TMHPD
Содружество, Пираты, Яки
53
99
48
93
4
51
26
72
38
84
4
45
Земляне, АОГ
109
154
97
142
11
56
53
100
78
124
Ксенон
53
99
48
93
4
51
26
72
Бой
Вероятность прохождения палубы без потерь группой десантников с максимальным уровнем боя
J20
J21
K20
K21
P/PX5
P/PX6
Q20
Q21
Ксенон - палуба 1
3,85%
13,26%
4,39%
14,47%
20,94%
32,67%
1,49%
10,21%
Ксенон - палуба 2
9,95%
19,59%
11,02%
26,57%
32,67%
32,67%
6,89%
21,27%
Ксенон - палуба 3
20,52%
40,00%
22,19%
42,09%
32,67%
32,70%
16,80%
37,22%
Ксенон - палуба 4
35,33%
57,31%
37,44%
59,43%
31,93%
55,88%
Ксенон - палуба 5
53,15%
73,61%
55,41%
75,48%
Суммарный боевой уровень, начиная с которого возможно прохождение палубы без потерь
M1
M1ISL
M2
M2ISL
M6
M6ISL
M7
M7ISL
TL
TLISL
TM
TMISL
Содружество, Пираты, Яки
405
569
401
565
45
209
525
689
389
552
380
554
Земляне, АОГ
528
691
511
675
70
233
599
762
462
626
Ксенон
1839
1839
1830
1830
402
402
1942
1942
Суммарный боевой уровень, необходимый для 98% вероятности прохождения палубы без потерь
M1
M1ISL
M2
M2ISL
M6
M6ISL
M7
M7ISL
TL
TLISL
TM
TMISL
Содружество, Пираты, Яки
673
917
667
911
457
702
648
893
648
893
469
714
Земляне, АОГ
856
1100
832
1076
494
738
758
1003
758
1003
Суммарный боевой уровень, необходимый для 50% вероятности прохождения к рубке
M1
M1ISL
M2
M2ISL
M6
M6ISL
M7
M7ISL
TL
TLISL
TM
TMISL
Содружество, Пираты, Яки
50
250
45
245
10
210
30
230
30
230
20
220
Земляне, АОГ
200
400
180
380
40
240
120
320
120
320
Ксенон
1550
1550
1540
1540
295
295
1560
1560
Суммарный боевой уровень, необходимый для 100% вероятности прохождения к рубке
M1
M1ISL
M2
M2ISL
M6
M6ISL
M7
M7ISL
TL
TLISL
TM
TMISL
Содружество, Пираты, Яки
56
284
51
279
10
239
34
262
34
262
22
250
Земляне, АОГ
228
456
205
433
44
274
137
365
137
365
Ксенон
1771
1771
1759
1759
336
336
1782
1782
Взлом компьютера
Уровень хакинга, необходимый для 50% вероятности взлома компьютера
M1
M1AFS
M2
M2AFS
M6
M6AFS
M7
M7AFS
TL
TLAFS
TM
TMAFS
Содружество, Пираты, Яки
27
62
25
60
7
42
17
52
20
55
10
45
Земляне, АОГ
72
107
62
97
15
50
47
82
50
85
Ксенон
87
122
75
110
17
52
57
92
Уровень хакинга, необходимый для 95% вероятности взлома компьютера
M1
M1AFS
M2
M2AFS
M6
M6AFS
M7
M7AFS
TL
TLAFS
TM
TMAFS
Содружество, Пираты, Яки
40
75
37
72
12
47
25
60
30
65
15
50
Земляне, АОГ
85
120
75
110
20
55
55
90
60
95
Ксенон
100
135
87
122
22
57
65
100
HPD - при наличии Поляризатора корпуса; ISL - при наличии Внутренних автоматических лазеров; AFS - при наличии Улучшенного брандмауэра.