mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Improved the faction selection screen in the new game wizard.
This commit is contained in:
parent
690f3d0f13
commit
2c0ca5803f
@ -5,10 +5,9 @@ from typing import List, Optional
|
|||||||
|
|
||||||
from PySide2 import QtGui, QtWidgets
|
from PySide2 import QtGui, QtWidgets
|
||||||
from PySide2.QtCore import QItemSelectionModel, QPoint, Qt
|
from PySide2.QtCore import QItemSelectionModel, QPoint, Qt
|
||||||
from PySide2.QtWidgets import QVBoxLayout
|
from PySide2.QtWidgets import QVBoxLayout, QTextEdit
|
||||||
from dcs.task import CAP, CAS
|
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
||||||
|
|
||||||
import qt_ui.uiconstants as CONST
|
|
||||||
from game import db
|
from game import db
|
||||||
from game.settings import Settings
|
from game.settings import Settings
|
||||||
from qt_ui.windows.newgame.QCampaignList import (
|
from qt_ui.windows.newgame.QCampaignList import (
|
||||||
@ -39,7 +38,6 @@ class NewGameWizard(QtWidgets.QWizard):
|
|||||||
self.generatedGame = None
|
self.generatedGame = None
|
||||||
|
|
||||||
def accept(self):
|
def accept(self):
|
||||||
|
|
||||||
logging.info("New Game Wizard accept")
|
logging.info("New Game Wizard accept")
|
||||||
logging.info("======================")
|
logging.info("======================")
|
||||||
|
|
||||||
@ -112,7 +110,9 @@ class FactionSelection(QtWidgets.QWizardPage):
|
|||||||
|
|
||||||
# Factions selection
|
# Factions selection
|
||||||
self.factionsGroup = QtWidgets.QGroupBox("Factions")
|
self.factionsGroup = QtWidgets.QGroupBox("Factions")
|
||||||
self.factionsGroupLayout = QtWidgets.QGridLayout()
|
self.factionsGroupLayout = QtWidgets.QHBoxLayout()
|
||||||
|
self.blueGroupLayout = QtWidgets.QGridLayout()
|
||||||
|
self.redGroupLayout = QtWidgets.QGridLayout()
|
||||||
|
|
||||||
blueFaction = QtWidgets.QLabel("<b>Player Faction :</b>")
|
blueFaction = QtWidgets.QLabel("<b>Player Faction :</b>")
|
||||||
self.blueFactionSelect = QtWidgets.QComboBox()
|
self.blueFactionSelect = QtWidgets.QComboBox()
|
||||||
@ -124,6 +124,13 @@ class FactionSelection(QtWidgets.QWizardPage):
|
|||||||
self.redFactionSelect = QtWidgets.QComboBox()
|
self.redFactionSelect = QtWidgets.QComboBox()
|
||||||
redFaction.setBuddy(self.redFactionSelect)
|
redFaction.setBuddy(self.redFactionSelect)
|
||||||
|
|
||||||
|
# Faction description
|
||||||
|
self.blueFactionDescription = QTextEdit("")
|
||||||
|
self.blueFactionDescription.setReadOnly(True)
|
||||||
|
|
||||||
|
self.redFactionDescription = QTextEdit("")
|
||||||
|
self.redFactionDescription.setReadOnly(True)
|
||||||
|
|
||||||
# Setup default selected factions
|
# Setup default selected factions
|
||||||
for i, r in enumerate(db.FACTIONS):
|
for i, r in enumerate(db.FACTIONS):
|
||||||
self.redFactionSelect.addItem(r)
|
self.redFactionSelect.addItem(r)
|
||||||
@ -132,20 +139,16 @@ class FactionSelection(QtWidgets.QWizardPage):
|
|||||||
if r == "USA 2005":
|
if r == "USA 2005":
|
||||||
self.blueFactionSelect.setCurrentIndex(i)
|
self.blueFactionSelect.setCurrentIndex(i)
|
||||||
|
|
||||||
self.blueSideRecap = QtWidgets.QLabel("")
|
self.blueGroupLayout.addWidget(blueFaction, 0, 0)
|
||||||
self.blueSideRecap.setFont(CONST.FONT_PRIMARY_I)
|
self.blueGroupLayout.addWidget(self.blueFactionSelect, 0, 1)
|
||||||
self.blueSideRecap.setWordWrap(True)
|
self.blueGroupLayout.addWidget(self.blueFactionDescription, 1, 0, 1, 2)
|
||||||
|
|
||||||
self.redSideRecap = QtWidgets.QLabel("")
|
self.redGroupLayout.addWidget(redFaction, 0, 0)
|
||||||
self.redSideRecap.setFont(CONST.FONT_PRIMARY_I)
|
self.redGroupLayout.addWidget(self.redFactionSelect, 0, 1)
|
||||||
self.redSideRecap.setWordWrap(True)
|
self.redGroupLayout.addWidget(self.redFactionDescription, 1, 0, 1, 2)
|
||||||
|
|
||||||
self.factionsGroupLayout.addWidget(blueFaction, 0, 0)
|
self.factionsGroupLayout.addLayout(self.blueGroupLayout)
|
||||||
self.factionsGroupLayout.addWidget(self.blueFactionSelect, 0, 1)
|
self.factionsGroupLayout.addLayout(self.redGroupLayout)
|
||||||
self.factionsGroupLayout.addWidget(self.blueSideRecap, 1, 0, 1, 2)
|
|
||||||
self.factionsGroupLayout.addWidget(redFaction, 2, 0)
|
|
||||||
self.factionsGroupLayout.addWidget(self.redFactionSelect, 2, 1)
|
|
||||||
self.factionsGroupLayout.addWidget(self.redSideRecap, 3, 0, 1, 2)
|
|
||||||
self.factionsGroup.setLayout(self.factionsGroupLayout)
|
self.factionsGroup.setLayout(self.factionsGroupLayout)
|
||||||
|
|
||||||
# Create required mod layout
|
# Create required mod layout
|
||||||
@ -171,39 +174,44 @@ class FactionSelection(QtWidgets.QWizardPage):
|
|||||||
|
|
||||||
def updateUnitRecap(self):
|
def updateUnitRecap(self):
|
||||||
|
|
||||||
self.requiredMods.setText("<ul>")
|
|
||||||
|
|
||||||
red_faction = db.FACTIONS[self.redFactionSelect.currentText()]
|
red_faction = db.FACTIONS[self.redFactionSelect.currentText()]
|
||||||
blue_faction = db.FACTIONS[self.blueFactionSelect.currentText()]
|
blue_faction = db.FACTIONS[self.blueFactionSelect.currentText()]
|
||||||
|
|
||||||
red_units = red_faction.aircrafts
|
env = Environment(
|
||||||
blue_units = blue_faction.aircrafts
|
loader=FileSystemLoader("resources/ui/templates"),
|
||||||
|
autoescape=select_autoescape(
|
||||||
|
disabled_extensions=("",),
|
||||||
|
default_for_string=True,
|
||||||
|
default=True,
|
||||||
|
),
|
||||||
|
trim_blocks=True,
|
||||||
|
lstrip_blocks=True,
|
||||||
|
)
|
||||||
|
template = env.get_template("factiontemplate_EN.j2")
|
||||||
|
|
||||||
blue_txt = ""
|
blue_faction_txt = template.render({"faction": blue_faction})
|
||||||
for u in blue_units:
|
red_faction_txt = template.render({"faction": red_faction})
|
||||||
if u in db.UNIT_BY_TASK[CAP] or u in db.UNIT_BY_TASK[CAS]:
|
|
||||||
blue_txt = blue_txt + u.id + ", "
|
|
||||||
blue_txt = blue_txt + "\n"
|
|
||||||
self.blueSideRecap.setText(blue_txt)
|
|
||||||
|
|
||||||
red_txt = ""
|
self.blueFactionDescription.setText(blue_faction_txt)
|
||||||
for u in red_units:
|
self.redFactionDescription.setText(red_faction_txt)
|
||||||
if u in db.UNIT_BY_TASK[CAP] or u in db.UNIT_BY_TASK[CAS]:
|
|
||||||
red_txt = red_txt + u.id + ", "
|
|
||||||
red_txt = red_txt + "\n"
|
|
||||||
self.redSideRecap.setText(red_txt)
|
|
||||||
|
|
||||||
|
# Compute mod requirements txt
|
||||||
|
self.requiredMods.setText("<ul>")
|
||||||
has_mod = False
|
has_mod = False
|
||||||
if len(red_faction.requirements.keys()) > 0:
|
if len(red_faction.requirements.keys()) > 0:
|
||||||
has_mod = True
|
has_mod = True
|
||||||
for mod in red_faction.requirements.keys():
|
for mod in red_faction.requirements.keys():
|
||||||
self.requiredMods.setText(self.requiredMods.text() + "\n<li>" + mod + ": <a href=\""+red_faction.requirements[mod]+"\">" + red_faction.requirements[mod] + "</a></li>")
|
self.requiredMods.setText(
|
||||||
|
self.requiredMods.text() + "\n<li>" + mod + ": <a href=\"" + red_faction.requirements[mod] + "\">" +
|
||||||
|
red_faction.requirements[mod] + "</a></li>")
|
||||||
|
|
||||||
if len(blue_faction.requirements.keys()) > 0:
|
if len(blue_faction.requirements.keys()) > 0:
|
||||||
has_mod = True
|
has_mod = True
|
||||||
for mod in blue_faction.requirements.keys():
|
for mod in blue_faction.requirements.keys():
|
||||||
if mod not in red_faction.requirements.keys():
|
if mod not in red_faction.requirements.keys():
|
||||||
self.requiredMods.setText(self.requiredMods.text() + "\n<li>" + mod + ": <a href=\""+blue_faction.requirements[mod]+"\">" + blue_faction.requirements[mod] + "</a></li>")
|
self.requiredMods.setText(
|
||||||
|
self.requiredMods.text() + "\n<li>" + mod + ": <a href=\"" + blue_faction.requirements[
|
||||||
|
mod] + "\">" + blue_faction.requirements[mod] + "</a></li>")
|
||||||
|
|
||||||
if has_mod:
|
if has_mod:
|
||||||
self.requiredMods.setText(self.requiredMods.text() + "</ul>\n\n")
|
self.requiredMods.setText(self.requiredMods.text() + "</ul>\n\n")
|
||||||
@ -336,7 +344,7 @@ class MiscOptions(QtWidgets.QWizardPage):
|
|||||||
self.registerField('no_lha', no_lha)
|
self.registerField('no_lha', no_lha)
|
||||||
supercarrier = QtWidgets.QCheckBox()
|
supercarrier = QtWidgets.QCheckBox()
|
||||||
self.registerField('supercarrier', supercarrier)
|
self.registerField('supercarrier', supercarrier)
|
||||||
no_player_navy= QtWidgets.QCheckBox()
|
no_player_navy = QtWidgets.QCheckBox()
|
||||||
self.registerField('no_player_navy', no_player_navy)
|
self.registerField('no_player_navy', no_player_navy)
|
||||||
no_enemy_navy = QtWidgets.QCheckBox()
|
no_enemy_navy = QtWidgets.QCheckBox()
|
||||||
self.registerField('no_enemy_navy', no_enemy_navy)
|
self.registerField('no_enemy_navy', no_enemy_navy)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "Allies 1944",
|
"name": "Allies 1944",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>A generic WW2 ally factions, with all their WW2 units.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"P_51D",
|
"P_51D",
|
||||||
"P_51D_30_NA",
|
"P_51D_30_NA",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "Allies 1944 (Free)",
|
"name": "Allies 1944 (Free)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "A WW2 ally faction that does not requires the paid WW2 asset pack.",
|
"description": "<p>A generic WW2 ally faction that does not requires the paid WW2 asset pack.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"P_51D",
|
"P_51D",
|
||||||
"P_51D_30_NA",
|
"P_51D_30_NA",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Australia",
|
"country": "Australia",
|
||||||
"name": "Australia 2005",
|
"name": "Australia 2005",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>The Australian army in 2005.</p><p>Some units might not be accurate, but were picked to represent at best this army.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"FA_18C_hornet",
|
"FA_18C_hornet",
|
||||||
"UH_1H",
|
"UH_1H",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Combined Joint Task Forces Blue",
|
"country": "Combined Joint Task Forces Blue",
|
||||||
"name": "Bluefor Coldwar",
|
"name": "Bluefor Coldwar",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>A generic bluefor coldwar faction.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_14B",
|
"F_14B",
|
||||||
"F_4E",
|
"F_4E",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Combined Joint Task Forces Blue",
|
"country": "Combined Joint Task Forces Blue",
|
||||||
"name": "Bluefor Coldwar (With A4)",
|
"name": "Bluefor Coldwar (With A4)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>A generic bluefor coldwar faction. (With the A-4E-C mod)</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_14B",
|
"F_14B",
|
||||||
"F_4E",
|
"F_4E",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Combined Joint Task Forces Blue",
|
"country": "Combined Joint Task Forces Blue",
|
||||||
"name": "Bluefor Coldwar (With A4 & MB339)",
|
"name": "Bluefor Coldwar (With A4 & MB339)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>A generic bluefor coldwar faction. (With the A-4E-C and the MB-339 mods)</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_14B",
|
"F_14B",
|
||||||
"F_4E",
|
"F_4E",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Combined Joint Task Forces Blue",
|
"country": "Combined Joint Task Forces Blue",
|
||||||
"name": "Bluefor Modern",
|
"name": "Bluefor Modern",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>A generic bluefor modern faction. This also includes many redfor units and is meant to be a faction that has access to most modern flyable modules.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_14B",
|
"F_14B",
|
||||||
"F_15C",
|
"F_15C",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Canada",
|
"country": "Canada",
|
||||||
"name": "Canada 2005",
|
"name": "Canada 2005",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Canada in the 2000s, an F/A-18C Hornet focused faction.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"FA_18C_hornet",
|
"FA_18C_hornet",
|
||||||
"UH_1H",
|
"UH_1H",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "China",
|
"country": "China",
|
||||||
"name": "China 2010",
|
"name": "China 2010",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>China in the late 2000s, early 2010s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_21Bis",
|
"MiG_21Bis",
|
||||||
"Su_30",
|
"Su_30",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "France",
|
"country": "France",
|
||||||
"name": "France 1995",
|
"name": "France 1995",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>France in the late 90s before Rafale introduction. A Mirage-2000 centric faction choice.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"M_2000C",
|
"M_2000C",
|
||||||
"Mirage_2000_5",
|
"Mirage_2000_5",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "France",
|
"country": "France",
|
||||||
"name": "France 2005 (Modded)",
|
"name": "France 2005 (Modded)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>France in the mid, late 2000s, using the Rafale mod, and Frenchpack's units.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"M_2000C",
|
"M_2000C",
|
||||||
"Mirage_2000_5",
|
"Mirage_2000_5",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Third Reich",
|
"country": "Third Reich",
|
||||||
"name": "Germany 1942",
|
"name": "Germany 1942",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Germany 1942, is a faction that does not use the late war german units such as the Tiger tank, so it's a bit easier to perform CAS against them.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"FW_190A8",
|
"FW_190A8",
|
||||||
"FW_190D9",
|
"FW_190D9",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Third Reich",
|
"country": "Third Reich",
|
||||||
"name": "Germany 1944",
|
"name": "Germany 1944",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Late war Germany with access to all the late-war ground units such as the Tiger and Tiger II tanks.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"FW_190A8",
|
"FW_190A8",
|
||||||
"FW_190D9",
|
"FW_190D9",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Third Reich",
|
"country": "Third Reich",
|
||||||
"name": "Germany 1944 (Free)",
|
"name": "Germany 1944 (Free)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>WW2 germany faction that does not require the WW2 asset pack.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"FW_190A8",
|
"FW_190A8",
|
||||||
"FW_190D9",
|
"FW_190D9",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Germany",
|
"country": "Germany",
|
||||||
"name": "Germany 1990",
|
"name": "Germany 1990",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>1990s reunited Germany.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_29G",
|
"MiG_29G",
|
||||||
"Tornado_IDS",
|
"Tornado_IDS",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "India",
|
"country": "India",
|
||||||
"name": "India 2010",
|
"name": "India 2010",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Indian faction in the late 2000s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"Mirage_2000_5",
|
"Mirage_2000_5",
|
||||||
"M_2000C",
|
"M_2000C",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Insurgents",
|
"country": "Insurgents",
|
||||||
"name": "Insurgents",
|
"name": "Insurgents",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Insurgents faction.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
],
|
],
|
||||||
"frontline_units": [
|
"frontline_units": [
|
||||||
@ -12,7 +12,7 @@
|
|||||||
"AAA_ZU_23_Insurgent_on_Ural_375"
|
"AAA_ZU_23_Insurgent_on_Ural_375"
|
||||||
],
|
],
|
||||||
"artillery_units": [
|
"artillery_units": [
|
||||||
"MLRS_9K57_Uragan_BM_27",
|
"MLRS_BM_21_Grad",
|
||||||
"SPH_2S19_Msta"
|
"SPH_2S19_Msta"
|
||||||
],
|
],
|
||||||
"logistics_units": [
|
"logistics_units": [
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Insurgents",
|
"country": "Insurgents",
|
||||||
"name": "Insurgents (Modded)",
|
"name": "Insurgents (Modded)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Insurgents faction using the modded insurgents units from the frenchpack mods.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
],
|
],
|
||||||
"frontline_units": [
|
"frontline_units": [
|
||||||
@ -13,7 +13,7 @@
|
|||||||
"AAA_ZU_23_Insurgent_on_Ural_375"
|
"AAA_ZU_23_Insurgent_on_Ural_375"
|
||||||
],
|
],
|
||||||
"artillery_units": [
|
"artillery_units": [
|
||||||
"MLRS_9K57_Uragan_BM_27",
|
"MLRS_BM_21_Grad",
|
||||||
"SPH_2S19_Msta"
|
"SPH_2S19_Msta"
|
||||||
],
|
],
|
||||||
"logistics_units": [
|
"logistics_units": [
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Iran",
|
"country": "Iran",
|
||||||
"name": "Iran 2015",
|
"name": "Iran 2015",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Iranian 2010s faction</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_21Bis",
|
"MiG_21Bis",
|
||||||
"MiG_29A",
|
"MiG_29A",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Israel",
|
"country": "Israel",
|
||||||
"name": "Israel 1948",
|
"name": "Israel 1948",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Israel during the 1948 Arab-Israeli war.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"SpitfireLFMkIXCW",
|
"SpitfireLFMkIXCW",
|
||||||
"SpitfireLFMkIX",
|
"SpitfireLFMkIX",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Israel",
|
"country": "Israel",
|
||||||
"name": "Israel 1973",
|
"name": "Israel 1973",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Israel during the 1973 Yom Kippur War.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_4E",
|
"F_4E",
|
||||||
"A_4E_C",
|
"A_4E_C",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Israel",
|
"country": "Israel",
|
||||||
"name": "Israel 1982",
|
"name": "Israel 1982",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Israel during the 1982 war with Lebanon.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_4E",
|
"F_4E",
|
||||||
"A_4E_C",
|
"A_4E_C",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Israel",
|
"country": "Israel",
|
||||||
"name": "Israel 2000",
|
"name": "Israel 2000",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Modern Israeli faction.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_4E",
|
"F_4E",
|
||||||
"F_15C",
|
"F_15C",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Italy",
|
"country": "Italy",
|
||||||
"name": "Italy 1990",
|
"name": "Italy 1990",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Italy in the 90s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"Tornado_IDS",
|
"Tornado_IDS",
|
||||||
"AV8BNA",
|
"AV8BNA",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Italy",
|
"country": "Italy",
|
||||||
"name": "Italy 1990 (With MB339)",
|
"name": "Italy 1990 (With MB339)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Italy in the 90s, with the MB339 mod.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"Tornado_IDS",
|
"Tornado_IDS",
|
||||||
"AV8BNA",
|
"AV8BNA",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Japan",
|
"country": "Japan",
|
||||||
"name": "Japan 2005",
|
"name": "Japan 2005",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Japanese self defense force, F-15C standing as F-15J, and F-16 as Mitsubishi F-2.</p><p>Ground units were also chosen to fit the existing vehicles of the japanese forces</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_15C",
|
"F_15C",
|
||||||
"F_16C_50",
|
"F_16C_50",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Libya",
|
"country": "Libya",
|
||||||
"name": "Libya 2011",
|
"name": "Libya 2011",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Gaddafi's Lybian forces during the 2011 international intervention</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_21Bis",
|
"MiG_21Bis",
|
||||||
"MiG_23MLD",
|
"MiG_23MLD",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "The Netherlands",
|
"country": "The Netherlands",
|
||||||
"name": "Netherlands 1990",
|
"name": "Netherlands 1990",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Netherlands forces in the 90s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_16C_50",
|
"F_16C_50",
|
||||||
"F_5E_3",
|
"F_5E_3",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "North Korea",
|
"country": "North Korea",
|
||||||
"name": "North Korea 2000",
|
"name": "North Korea 2000",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>North Korean army in the 2000s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_15bis",
|
"MiG_15bis",
|
||||||
"MiG_19P",
|
"MiG_19P",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Pakistan",
|
"country": "Pakistan",
|
||||||
"name": "Pakistan 2015",
|
"name": "Pakistan 2015",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Pakistan circa 2015 for JF-17 and F-16 enthusiasts.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"JF_17",
|
"JF_17",
|
||||||
"F_16C_50",
|
"F_16C_50",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Russia",
|
"country": "Russia",
|
||||||
"name": "Private Military Company - Russian",
|
"name": "Private Military Company - Russian",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "A private military company using Russian units.",
|
"description": "<p>A private military company using Russian units.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"L_39C",
|
"L_39C",
|
||||||
"L_39ZA",
|
"L_39ZA",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "Private Military Company - USA",
|
"name": "Private Military Company - USA",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "A private military company using western units.",
|
"description": "<p>A private military company using western units.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"C_101CC",
|
"C_101CC",
|
||||||
"UH_1H",
|
"UH_1H",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "Private Military Company - USA (MB339)",
|
"name": "Private Military Company - USA (MB339)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "A private military company using western units (And using the MB339 mod).",
|
"description": "<p>A private military company using western units (And using the MB339 mod).</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MB_339PAN",
|
"MB_339PAN",
|
||||||
"C_101CC",
|
"C_101CC",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Russia",
|
"country": "Russia",
|
||||||
"name": "Russia 1955",
|
"name": "Russia 1955",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Soviet army around 1955, during the Korean War</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_15bis"
|
"MiG_15bis"
|
||||||
],
|
],
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Russia",
|
"country": "Russia",
|
||||||
"name": "Russia 1965",
|
"name": "Russia 1965",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Soviet army in the 60s, ideal to fly the Mig-19 or the Mig-21.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_15bis",
|
"MiG_15bis",
|
||||||
"MiG_19P",
|
"MiG_19P",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Russia",
|
"country": "Russia",
|
||||||
"name": "Russia 1975",
|
"name": "Russia 1975",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Soviet army in the late 70s, using their prototype Mig-29A.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_21Bis",
|
"MiG_21Bis",
|
||||||
"MiG_23MLD",
|
"MiG_23MLD",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Russia",
|
"country": "Russia",
|
||||||
"name": "Russia 1990",
|
"name": "Russia 1990",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Soviet/Russian army in the 90s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_25PD",
|
"MiG_25PD",
|
||||||
"MiG_29S",
|
"MiG_29S",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Russia",
|
"country": "Russia",
|
||||||
"name": "Russia 2010",
|
"name": "Russia 2010",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Russian army in the early 2010s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_29S",
|
"MiG_29S",
|
||||||
"MiG_31",
|
"MiG_31",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Russia",
|
"country": "Russia",
|
||||||
"name": "Russia 2020 (Modded)",
|
"name": "Russia 2020 (Modded)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Russia in 2020, using the Su-57 mod by Cubanace.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_29S",
|
"MiG_29S",
|
||||||
"MiG_31",
|
"MiG_31",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Spain",
|
"country": "Spain",
|
||||||
"name": "Spain 1990",
|
"name": "Spain 1990",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Spain in the 90s</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"FA_18C_hornet",
|
"FA_18C_hornet",
|
||||||
"AV8BNA",
|
"AV8BNA",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Sweden",
|
"country": "Sweden",
|
||||||
"name": "Sweden 1990",
|
"name": "Sweden 1990",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Sweden in the 90s.</p><p>Note : Since we're missing the Draken and the Air-to-Air variant of the Viggen, this faction will struggle in air-to-air scenarios.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"AJS37",
|
"AJS37",
|
||||||
"UH_1H"
|
"UH_1H"
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Syria",
|
"country": "Syria",
|
||||||
"name": "Syria 1948",
|
"name": "Syria 1948",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Syria and Arab armies in the 1948 war against Israel.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"SpitfireLFMkIX",
|
"SpitfireLFMkIX",
|
||||||
"SpitfireLFMkIXCW"
|
"SpitfireLFMkIXCW"
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Syria",
|
"country": "Syria",
|
||||||
"name": "Syria 1967",
|
"name": "Syria 1967",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Syria and Arab armies in the 1967 6 days war against Israel.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_15bis",
|
"MiG_15bis",
|
||||||
"MiG_19P",
|
"MiG_19P",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Syria",
|
"country": "Syria",
|
||||||
"name": "Syria 1967 (With WW2 Weapons)",
|
"name": "Syria 1967 (With WW2 Weapons)",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "(Yes Syria was still using a few Panzer IV and Stug in Yom Kippur War)",
|
"description": "<p>Syria and Arab armies in the 1967 6 days war against Israel. Using WW2 units to be more accurate (Yes, Syria used Panzer IV, Stug III and Jagdpanzer IV during this war)</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_15bis",
|
"MiG_15bis",
|
||||||
"MiG_19P",
|
"MiG_19P",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Syria",
|
"country": "Syria",
|
||||||
"name": "Syria 1973",
|
"name": "Syria 1973",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Syria and Arab armies during the Yom Kippur War</p>" ,
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_21Bis",
|
"MiG_21Bis",
|
||||||
"MiG_19P",
|
"MiG_19P",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Syria",
|
"country": "Syria",
|
||||||
"name": "Syria 1982",
|
"name": "Syria 1982",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Syria and Arab armies in the 1982 invasion of Lebanon</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_19P",
|
"MiG_19P",
|
||||||
"MiG_21Bis",
|
"MiG_21Bis",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Syria",
|
"country": "Syria",
|
||||||
"name": "Syria 2011",
|
"name": "Syria 2011",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Syrian Arab Army at the start of the Syrian Civil War.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"MiG_21Bis",
|
"MiG_21Bis",
|
||||||
"MiG_23MLD",
|
"MiG_23MLD",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Turkey",
|
"country": "Turkey",
|
||||||
"name": "Turkey 2005",
|
"name": "Turkey 2005",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Turkish army in the mid/late 2000s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_16C_50",
|
"F_16C_50",
|
||||||
"F_4E",
|
"F_4E",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "United Arab Emirates",
|
"country": "United Arab Emirates",
|
||||||
"name": "United Arab Emirates 2005",
|
"name": "United Arab Emirates 2005",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>UAR army in the 2000s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"M_2000C",
|
"M_2000C",
|
||||||
"Mirage_2000_5",
|
"Mirage_2000_5",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "UK",
|
"country": "UK",
|
||||||
"name": "United Kingdom 1944",
|
"name": "United Kingdom 1944",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>United Kingdom army in 1944.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"P_51D",
|
"P_51D",
|
||||||
"P_51D_30_NA",
|
"P_51D_30_NA",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "UK",
|
"country": "UK",
|
||||||
"name": "United Kingdom 1990",
|
"name": "United Kingdom 1990",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>United Kingdom Army in the 1990s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"Tornado_GR4",
|
"Tornado_GR4",
|
||||||
"AV8BNA",
|
"AV8BNA",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "Ukraine",
|
"country": "Ukraine",
|
||||||
"name": "Ukraine 2010",
|
"name": "Ukraine 2010",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>Ukrainian army in the 2010s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"Su_25",
|
"Su_25",
|
||||||
"Su_25T",
|
"Su_25T",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USAF Aggressors",
|
"country": "USAF Aggressors",
|
||||||
"name": "USAF Aggressors",
|
"name": "USAF Aggressors",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>USAF aggresors.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_15C",
|
"F_15C",
|
||||||
"F_15E",
|
"F_15E",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "USA 1944",
|
"name": "USA 1944",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>US army in 1944, western front.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"P_51D",
|
"P_51D",
|
||||||
"P_51D_30_NA",
|
"P_51D_30_NA",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "USA 1955",
|
"name": "USA 1955",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>US army in the 50s, circa Korean War.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_86F_Sabre",
|
"F_86F_Sabre",
|
||||||
"P_51D",
|
"P_51D",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "USA 1960",
|
"name": "USA 1960",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>US army in the 60s, pre-Vietnam war.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_86F_Sabre",
|
"F_86F_Sabre",
|
||||||
"P_51D",
|
"P_51D",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "USA 1965",
|
"name": "USA 1965",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>US army in the late 60s, during Vietnam war.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_5E_3",
|
"F_5E_3",
|
||||||
"F_4E",
|
"F_4E",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "USA 1975",
|
"name": "USA 1975",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>US army in the 70s at the end of the war in Vietnam.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_5E_3",
|
"F_5E_3",
|
||||||
"F_4E",
|
"F_4E",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "USA 1990",
|
"name": "USA 1990",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>US army in the 90s, Gulf War/Desert Storm.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_15C",
|
"F_15C",
|
||||||
"F_15E",
|
"F_15E",
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"country": "USA",
|
"country": "USA",
|
||||||
"name": "USA 2005",
|
"name": "USA 2005",
|
||||||
"authors": "Khopa",
|
"authors": "Khopa",
|
||||||
"description": "",
|
"description": "<p>USA in the 2000s.</p>",
|
||||||
"aircrafts": [
|
"aircrafts": [
|
||||||
"F_15C",
|
"F_15C",
|
||||||
"F_15E",
|
"F_15E",
|
||||||
|
|||||||
46
resources/ui/templates/factiontemplate_EN.j2
Normal file
46
resources/ui/templates/factiontemplate_EN.j2
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
{{ faction.description|safe }}
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<strong>Author(s):</strong> {{ faction.authors }}
|
||||||
|
<br/><br/>
|
||||||
|
|
||||||
|
|
||||||
|
<strong>Available airplanes:</strong>
|
||||||
|
<ul>
|
||||||
|
{% for aircraft in faction.aircrafts %}
|
||||||
|
<li>{{aircraft.id}}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<strong>Frontlines vehicles:</strong>
|
||||||
|
<ul>
|
||||||
|
{% for vehicle in faction.frontline_units %}
|
||||||
|
<li>{{vehicle.id}}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<strong>Artillery units:</strong>
|
||||||
|
<ul>
|
||||||
|
{% for arty in faction.artillery_units %}
|
||||||
|
<li>{{arty.id}}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<strong>Air defenses :</strong>
|
||||||
|
<ul>
|
||||||
|
{% for sam in faction.sams %}
|
||||||
|
<li>{{sam}}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<strong>Short range air defenses :</strong>
|
||||||
|
<ul>
|
||||||
|
{% for shorad in faction.shorads %}
|
||||||
|
<li>{{shorad}}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
<br/>
|
||||||
Loading…
x
Reference in New Issue
Block a user