From ee924ef36e8c34d2eea241790423bd6eefec0a82 Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 16:24:20 +0200 Subject: [PATCH 01/63] Added title name to UI window --- ui/window.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/window.py b/ui/window.py index cb9a17e0..0c5b9774 100644 --- a/ui/window.py +++ b/ui/window.py @@ -9,6 +9,7 @@ class Window: def __init__(self): self.tk = Tk() + self.tk.title("DCS Liberation") self.tk.grid_columnconfigure(0, weight=1) self.tk.grid_rowconfigure(0, weight=1) From 2047089b642b364f6ed7fa754d20d4385e7aa1db Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 16:27:42 +0200 Subject: [PATCH 02/63] Added icon to ui windows. --- icon.ico | Bin 0 -> 82726 bytes ui/window.py | 1 + 2 files changed, 1 insertion(+) create mode 100644 icon.ico diff --git a/icon.ico b/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..733e3be98c481ac5710fc8333b5c148bd9850857 GIT binary patch literal 82726 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 K;1u}ZQQ%L83lhEn literal 0 HcmV?d00001 diff --git a/ui/window.py b/ui/window.py index 0c5b9774..e13337b9 100644 --- a/ui/window.py +++ b/ui/window.py @@ -10,6 +10,7 @@ class Window: def __init__(self): self.tk = Tk() self.tk.title("DCS Liberation") + self.tk.iconbitmap("icon.ico") self.tk.grid_columnconfigure(0, weight=1) self.tk.grid_rowconfigure(0, weight=1) From 14cd54668e8f107775508879fbe942d45fc3bd6d Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 18:45:25 +0200 Subject: [PATCH 03/63] Improved style of new game menu --- __init__.py | 1 + resources/ui/terrain_caucasus.png | Bin 0 -> 1202 bytes resources/ui/terrain_nevada.png | Bin 0 -> 1863 bytes resources/ui/terrain_pg.png | Bin 0 -> 1690 bytes ui/corruptedsavemenu.py | 7 +-- ui/newgamemenu.py | 75 ++++++++++++++++++++++++------ ui/styles.py | 31 ++++++++++++ ui/window.py | 9 ++-- 8 files changed, 103 insertions(+), 20 deletions(-) create mode 100644 resources/ui/terrain_caucasus.png create mode 100644 resources/ui/terrain_nevada.png create mode 100644 resources/ui/terrain_pg.png create mode 100644 ui/styles.py diff --git a/__init__.py b/__init__.py index cd71579c..927f9d98 100755 --- a/__init__.py +++ b/__init__.py @@ -65,6 +65,7 @@ try: else: proceed_to_main_menu(game) except Exception as e: + print(e) ui.corruptedsavemenu.CorruptedSaveMenu(w).display() w.run() diff --git a/resources/ui/terrain_caucasus.png b/resources/ui/terrain_caucasus.png new file mode 100644 index 0000000000000000000000000000000000000000..d27ee1ce24d0144ac3f73ff67f8d8cb186c53606 GIT binary patch literal 1202 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 BiRu6V literal 0 HcmV?d00001 diff --git a/resources/ui/terrain_pg.png b/resources/ui/terrain_pg.png new file mode 100644 index 0000000000000000000000000000000000000000..d8ecc4533ed35b0fa2fbbd5002ae89da7261e1b7 GIT binary patch literal 1690 zcmV;L24(q)P)N2bZe?^J zG%heMGBNQWX_Wu~1{X<0K~y+TT~ujP8tE49A2Kyn_ro}`GD*}VS|%=&#F!YBB;KgO z5sA=16QGeDTeb#dr)l;jC??~EB90=8LNJR)&CJ|!*DOlr&L6q2dM6*I>Zw!bIp;i2 zSHJz9hDw6j%GBq&_~wJ;7HxKiJHIQ+?8%q*d$aqh+`c-uuQ>%s0L8NVilu$&;vTxN z$C}%v&TKa&wrUm%C7~PyT$+qyY*!M1<(guO3N8I}2?kvO@wYA9@~zHF)X)-GJ_o+|c~@V{Qh-e+WEFYstc9}F3Nf&O5?I5wbupO$UDQ|O{Z zqiXO}a)LTV^xrePQ0Me!tu%5|9t8j;YfQh95nvW`z2ezT`9O1D=)Nl0)EA=k1wpr7 zIUuvx-p!(uzbNiv|5w#WBHihIh?Cl?>IqhfBGsZWG1T{ZnpZFLUl&E16>e8hX(jOW z9I~E4WJWyfmsE+upj9o31bxcMDYQl$2Es~VkiU2U3DVo;e1AC_;9B&{)2y34o+g>Y z6BQu_oT<=7eCYfHJDXtn2r(VglO9og0KOq4uL^=gA)&^r0KzMLpDcF>iRZUVxSmRs zT%PH=BeY%Sd2b1MGaPt**>3Nn*oj-&WnVoY?;sL5DWjl&tqK>1#!O_u_nBK@Y;jGKGdtfioMXdXr5xKirbBG$nezq5yOEme}H;Vj2yo% zwq9b}@9?xen5Y6am`rROPD0Y^MJ@PMM3fr(bmB1|MqG+>q-`u#9ZA`N&Mw-G!ZXUxRA zuE2J`mC=qW&ir?dt!zX&j@c~-GX0>RDWZOGl`e8Tm!Fagd3bb?bqR4_V3Rsv zBwN@ied;aa`8t*Q5AQm(0j!kgzsmPs;rT$3-m5FDQ2*SZKGEQSmht=`R-^8@Jo4LO z=MB^eXerlwa*sswJ68pP3SkhejLxL|^yVkJ)(q$g&>%(OJbK^#-{0x}n4GG$p4Dl6 zmaR0cRc`1E@W@DKIP6lRvB_Fa0rF9D3HC8mZY%73Ja;vB8$%SYvAR z$DO&N)#)pDu~_(7o1UPXJ@l88m8;3J&zWz(EPZnyBYsNlLHFW+2rO!UxDzLNF9sXH zLkwQj73?@(`d4DOVKsR!EP_+H_fdvhvMT`AV|<9u{p( z?n2dbpYGt#nT~O$bAo9fVcJJw$2bfU+b|4r`&k4SgPoJGa{{!^2F~hW{+4Q>dj1Hy z9L`@$A2s}P@HqVeS^6l;f6~1EYwPh0R literal 0 HcmV?d00001 diff --git a/ui/corruptedsavemenu.py b/ui/corruptedsavemenu.py index 04a85fa0..85264011 100644 --- a/ui/corruptedsavemenu.py +++ b/ui/corruptedsavemenu.py @@ -1,5 +1,6 @@ from tkinter import * from tkinter.ttk import * +from .styles import STYLES from ui.window import * @@ -12,6 +13,6 @@ class CorruptedSaveMenu(Menu): def display(self): self.window.clear_right_pane() - Label(text="Your save game was corrupted!").grid(row=0, column=0) - Label(text="Please restore it by replacing \"liberation_save\" file with \"liberation_save_tmp\" to restore last saved copy.").grid(row=1, column=0) - Label(text="You can find those files under user DCS directory.").grid(row=2, column=0) + Label(text="Your save game was corrupted!", **STYLES["widget"]).grid(row=0, column=0) + Label(text="Please restore it by replacing \"liberation_save\" file with \"liberation_save_tmp\" to restore last saved copy.", **STYLES["widget"]).grid(row=1, column=0) + Label(text="You can find those files under user DCS directory.", **STYLES["widget"]).grid(row=2, column=0) diff --git a/ui/newgamemenu.py b/ui/newgamemenu.py index 23bcfec6..186dc6a8 100644 --- a/ui/newgamemenu.py +++ b/ui/newgamemenu.py @@ -1,7 +1,9 @@ +import os from tkinter import * from tkinter.ttk import * from ui.window import * +from .styles import STYLES class NewGameMenu(Menu): @@ -14,6 +16,7 @@ class NewGameMenu(Menu): def __init__(self, window: Window, callback: typing.Callable): super(NewGameMenu, self).__init__(window, None, None) self.frame = window.right_pane + window.left_pane.configure(background="black") self.callback = callback self.selected_country = IntVar() @@ -57,23 +60,69 @@ class NewGameMenu(Menu): def display(self): self.window.clear_right_pane() - Label(self.frame, text="Player country").grid(row=0, column=0) - Radiobutton(self.frame, text="USA", variable=self.selected_country, value=0).grid(row=1, column=0) - Radiobutton(self.frame, text="Russia", variable=self.selected_country, value=1).grid(row=2, column=0) + # Header + head = Frame(self.frame, **STYLES["header"]) + head.grid(row=0, column=0, sticky=NSEW) + Label(head, text="Start a new game", **STYLES["title"]).grid() - Label(self.frame, text="Terrain").grid(row=0, column=1) - Radiobutton(self.frame, text="Caucasus", variable=self.selected_terrain, value=0).grid(row=1, column=1) - Radiobutton(self.frame, text="Nevada", variable=self.selected_terrain, value=1).grid(row=2, column=1) - Radiobutton(self.frame, text="Persian Gulf", variable=self.selected_terrain, value=2).grid(row=3, column=1) + # Main Frame + body = Frame(self.frame, **STYLES["body"]) + body.grid(row=1, column=0, sticky=NSEW) - Label(self.frame, text="Options").grid(row=1, column=2) - Checkbutton(self.frame, text="SAMs", variable=self.sams).grid(row=1, column=2) - Checkbutton(self.frame, text="Mid game", variable=self.midgame).grid(row=2, column=2) + # Country Selection + country = LabelFrame(body, text="Player Side", **STYLES["label-frame"]) + country.grid(row=0, column=0, sticky=NW, padx=5) + Radiobutton(country, variable=self.selected_country, value=0, **STYLES["radiobutton"]).grid(row=0, column=0, + sticky=W) + Label(country, text="USA", **STYLES["widget"]).grid(row=0, column=1, sticky=W) + Radiobutton(country, variable=self.selected_country, value=1, **STYLES["radiobutton"]).grid(row=1, column=0, + sticky=W) + Label(country, text="Russia", **STYLES["widget"]).grid(row=1, column=1, sticky=W) - Label(self.frame, text="Multiplier").grid(row=0, column=3) - Entry(self.frame, textvariable=self.multiplier).grid(row=1, column=3) + # Terrain Selection + terrain = LabelFrame(body, text="Terrain", **STYLES["label-frame"]) + terrain.grid(row=0, column=1, sticky=N, padx=5) - Button(self.frame, text="Proceed", command=self.proceed).grid(row=5, column=0, columnspan=4) + Radiobutton(terrain, variable=self.selected_terrain, value=0, **STYLES["radiobutton"]) \ + .grid(row=0, column=0, sticky=W) + Label(terrain, text="Caucasus", **STYLES["widget"]).grid(row=0, column=1, sticky=W) + self.create_label_image(terrain, "terrain_caucasus.png").grid(row=0, column=2, padx=5) + + Radiobutton(terrain, variable=self.selected_terrain, value=1, **STYLES["radiobutton"]) \ + .grid(row=1, column=0, sticky=W) + Label(terrain, text="Nevada", **STYLES["widget"]).grid(row=1, column=1, sticky=W) + self.create_label_image(terrain, "terrain_nevada.png").grid(row=1, column=2, padx=5) + + Radiobutton(terrain, variable=self.selected_terrain, value=2, **STYLES["radiobutton"]) \ + .grid(row=2, column=0, sticky=W) + Label(terrain, text="Persian Gulf", **STYLES["widget"]).grid(row=2, column=1, sticky=W) + self.create_label_image(terrain, "terrain_pg.png").grid(row=2, column=2, padx=5) + + # Misc Options + options = LabelFrame(body, text="Misc Options", **STYLES["label-frame"]) + options.grid(row=0, column=2, sticky=NE, padx=5) + + Checkbutton(options, variable=self.sams, **STYLES["radiobutton"]).grid(row=0, column=0, sticky=W) + Label(options, text="SAMs", **STYLES["widget"]).grid(row=0, column=1, sticky=W) + + Checkbutton(options, variable=self.midgame, **STYLES["radiobutton"]).grid(row=1, column=0, sticky=W) + Label(options, text="Mid Game", **STYLES["widget"]).grid(row=1, column=1, sticky=W) + + Label(options, text="Multiplier", **STYLES["widget"]).grid(row=2, column=0, sticky=W) + Entry(options, textvariable=self.multiplier).grid(row=2, column=1, sticky=W) + + # Footer with Proceed Button + footer = Frame(self.frame, **STYLES["header"]) + footer.grid(row=2, sticky=N + E + W) + Button(footer, text="Proceed", command=self.proceed, **STYLES["btn-primary"]).grid(row=0, column=0, sticky=SE, + padx=5, pady=5) + + @staticmethod + def create_label_image(parent, image): + im = PhotoImage(file=os.path.join("resources", "ui", image)) + label = Label(parent, image=im) + label.image = im + return label def proceed(self): self.callback(self.player_country_name, diff --git a/ui/styles.py b/ui/styles.py new file mode 100644 index 00000000..92c6ed6e --- /dev/null +++ b/ui/styles.py @@ -0,0 +1,31 @@ +# Style for UI + +# Padding +PADDING_X = 5 +PADDING_Y = 5 + +# Colors +FG_COLOR = "white" +BG_COLOR = "#4E5760" +BTN_COLOR = "#699245" +BG_TITLE_COLOR = "#2D3E50" + +# Fonts +FONT_FAMILY = "Trebuchet MS" +DEFAULT_FONT = (FONT_FAMILY, 8) +BOLD_FONT = (FONT_FAMILY, 10, "bold italic") +TITLE_FONT = (FONT_FAMILY, 16, "bold italic") + +# List of styles +STYLES = {} +STYLES["label-frame"] = {"font": BOLD_FONT, "bg": BG_COLOR, "fg": FG_COLOR} + +STYLES["body"] = {"bg": BG_COLOR, "padx": 35, "pady": 35} + +STYLES["widget"] = {"bg": BG_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT} +STYLES["radiobutton"] = {"bg": BG_COLOR, "fg": "black", "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT, + "activebackground": BG_COLOR, "highlightbackground": BG_COLOR, "selectcolor": "white"} +STYLES["title"] = {"bg": BG_TITLE_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": TITLE_FONT} +STYLES["header"] = {"bg": BG_TITLE_COLOR} + +STYLES["btn-primary"] = {"bg": BTN_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT} diff --git a/ui/window.py b/ui/window.py index e13337b9..b01ef6f4 100644 --- a/ui/window.py +++ b/ui/window.py @@ -1,6 +1,6 @@ from tkinter import * from game.game import * - +from .styles import BG_COLOR class Window: image = None @@ -11,13 +11,14 @@ class Window: self.tk = Tk() self.tk.title("DCS Liberation") self.tk.iconbitmap("icon.ico") + self.tk.resizable(True, True) self.tk.grid_columnconfigure(0, weight=1) self.tk.grid_rowconfigure(0, weight=1) - self.frame = Frame(self.tk) + self.frame = Frame(self.tk, bg=BG_COLOR) self.frame.grid(column=0, row=0, sticky=NSEW) - self.frame.grid_columnconfigure(0, minsize=300) - self.frame.grid_columnconfigure(1, minsize=400) + self.frame.grid_columnconfigure(0) + self.frame.grid_columnconfigure(1) self.frame.grid_columnconfigure(0, weight=0) self.frame.grid_columnconfigure(1, weight=1) From 1b2ad5b41983eccfaf93f1fd9d88ae6031ffd2c5 Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 21:22:00 +0200 Subject: [PATCH 04/63] Improved style of main menu, configuration menu, and base menu --- ui/basemenu.py | 16 +++++----- ui/configurationmenu.py | 39 ++++++++++++++++------- ui/mainmenu.py | 69 +++++++++++++++++++++++++++-------------- ui/newgamemenu.py | 2 +- ui/styles.py | 11 +++++-- ui/window.py | 6 ++-- 6 files changed, 92 insertions(+), 51 deletions(-) diff --git a/ui/basemenu.py b/ui/basemenu.py index 8cc15640..6bc98db0 100644 --- a/ui/basemenu.py +++ b/ui/basemenu.py @@ -1,6 +1,7 @@ from ui.eventmenu import * from game.game import * +from .styles import STYLES class BaseMenu(Menu): @@ -9,7 +10,6 @@ class BaseMenu(Menu): def __init__(self, window: Window, parent, game: Game, cp: ControlPoint): super(BaseMenu, self).__init__(window, parent, game) - self.cp = cp self.base = cp.base self.frame = window.right_pane @@ -26,15 +26,15 @@ class BaseMenu(Menu): existing_units = self.base.total_units_of_type(unit_type) scheduled_units = self.event.units.get(unit_type, 0) - Label(self.frame, text="{}".format(db.unit_type_name(unit_type))).grid(row=row, sticky=W) + Label(self.frame, text="{}".format(db.unit_type_name(unit_type)), **STYLES["widget"]).grid(row=row, sticky=W) - label = Label(self.frame, text="({})".format(existing_units)) + label = Label(self.frame, text="({})".format(existing_units), **STYLES["widget"]) label.grid(column=1, row=row) self.bought_amount_labels[unit_type] = label - Label(self.frame, text="{}m".format(unit_price)).grid(column=2, row=row) - Button(self.frame, text="+", command=self.buy(unit_type)).grid(column=3, row=row) - Button(self.frame, text="-", command=self.sell(unit_type)).grid(column=4, row=row) + Label(self.frame, text="{}m".format(unit_price), **STYLES["widget"]).grid(column=2, row=row, sticky=E) + Button(self.frame, text="+", command=self.buy(unit_type), **STYLES["btn-primary"]).grid(column=3, row=row, padx=(10,0)) + Button(self.frame, text="-", command=self.sell(unit_type), **STYLES["btn-warning"]).grid(column=4, row=row, padx=(10,5)) row += 1 units = { @@ -47,11 +47,11 @@ class BaseMenu(Menu): self.budget_label = Label(self.frame, text="Budget: {}m".format(self.game.budget)) self.budget_label.grid(row=row, sticky=W) - Button(self.frame, text="Back", command=self.dismiss).grid(column=4, row=row) + Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(column=4, row=row) row += 1 for task_type, units in units.items(): - Label(self.frame, text="{}".format(db.task_name(task_type))).grid(row=row, columnspan=5); row += 1 + Label(self.frame, text="{}".format(db.task_name(task_type)), **STYLES["strong"]).grid(row=row, columnspan=5, sticky=NSEW); row += 1 units = list(set(units)) units.sort(key=lambda x: db.PRICES[x]) diff --git a/ui/configurationmenu.py b/ui/configurationmenu.py index 7add0536..a44a5b05 100644 --- a/ui/configurationmenu.py +++ b/ui/configurationmenu.py @@ -1,5 +1,6 @@ from tkinter import * from tkinter.ttk import * +from .styles import STYLES from ui.window import * @@ -34,22 +35,36 @@ class ConfigurationMenu(Menu): def display(self): self.window.clear_right_pane() - Label(self.frame, text="Player coalition skill").grid(row=0, column=0) - Label(self.frame, text="Enemy coalition skill").grid(row=1, column=0) + # Header + head = Frame(self.frame, **STYLES["header"]) + head.grid(row=0, column=0, columnspan=2, sticky=NSEW) + Label(head, text="Configuration", **STYLES["title"]).grid() - OptionMenu(self.frame, self.player_skill_var, "Average", "Good", "High", "Excellent").grid(row=0, column=1) - OptionMenu(self.frame, self.enemy_skill_var, "Average", "Good", "High", "Excellent").grid(row=1, column=1) + # Body + body = Frame(self.frame, **STYLES["body"]) + body.grid(row=1, column=0, sticky=NSEW) - Label(self.frame, text="Aircraft cold start").grid(row=2, column=0) - Label(self.frame, text="Takeoff only for player group").grid(row=3, column=0) - Label(self.frame, text="Disable night missions").grid(row=4, column=0) + Label(body, text="Player coalition skill", **STYLES["widget"]).grid(row=0, column=0, sticky=W) + Label(body, text="Enemy coalition skill", **STYLES["widget"]).grid(row=1, column=0, sticky=W) - Checkbutton(self.frame, variable=self.cold_start_var).grid(row=2, column=1) - Checkbutton(self.frame, variable=self.takeoff_var).grid(row=3, column=1) - Checkbutton(self.frame, variable=self.night_var).grid(row=4, column=1) + p_skill = OptionMenu(body, self.player_skill_var, "Average", "Good", "High", "Excellent") + p_skill.grid(row=0, column=1, sticky=E, pady=5) + p_skill.configure(**STYLES["btn-primary"]) - Button(self.frame, text="Back", command=self.dismiss).grid(row=5, column=0, columnspan=1) - Button(self.frame, text="Cheat +200m", command=self.cheat_money).grid(row=6, column=1) + e_skill = OptionMenu(body, self.enemy_skill_var, "Average", "Good", "High", "Excellent") + e_skill.grid(row=1, column=1, sticky=E) + e_skill.configure(**STYLES["btn-primary"]) + + Label(body, text="Aircraft cold start", **STYLES["widget"]).grid(row=2, column=0, sticky=W) + Label(body, text="Takeoff only for player group", **STYLES["widget"]).grid(row=3, column=0, sticky=W) + Label(body, text="Disable night missions", **STYLES["widget"]).grid(row=4, column=0, sticky=W) + + Checkbutton(body, variable=self.cold_start_var, **STYLES["radiobutton"]).grid(row=2, column=1, sticky=E) + Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=3, column=1, sticky=E) + Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=4, column=1, sticky=E) + + Button(body, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(row=5, column=1, sticky=E, pady=30) + Button(body, text="Cheat +200m", command=self.cheat_money, **STYLES["btn-danger"]).grid(row=6, column=1) def cheat_money(self): self.game.budget += 200 diff --git a/ui/mainmenu.py b/ui/mainmenu.py index b7aeb2be..63106d20 100644 --- a/ui/mainmenu.py +++ b/ui/mainmenu.py @@ -1,11 +1,13 @@ -import pickle - -from ui.basemenu import * -from ui.overviewcanvas import * -from ui.configurationmenu import * - from game.game import * +from ui.basemenu import * +from ui.configurationmenu import * +from ui.overviewcanvas import * from userdata import persistency +from .styles import STYLES + + +import tkinter as tk +from tkinter import ttk class MainMenu(Menu): @@ -18,45 +20,57 @@ class MainMenu(Menu): self.upd.update() self.frame = self.window.right_pane - self.frame.grid_columnconfigure(0, weight=1) + self.frame.columnconfigure(0, weight=1) + self.frame.rowconfigure(0, weight=1) def display(self): persistency.save_game(self.game) self.window.clear_right_pane() self.upd.update() - row = 1 + row = 0 + + # Header : + header = Frame(self.frame, **STYLES["header"]) + Button(header, text="Configuration", command=self.configuration_menu, **STYLES["btn-primary"]).grid(column=0, row=0, sticky=NE) + Label(header, text="Budget: {}m (+{}m)".format(self.game.budget, self.game.budget_reward_amount), **STYLES["strong"]).grid(column=1, row=0, sticky=NSEW, padx=50) + Button(header, text="Pass turn", command=self.pass_turn, **STYLES["btn-primary"]).grid(column=2, row=0, sticky=NW) + header.grid(column=0, row=0, sticky=N+EW) + + body = LabelFrame(self.frame, **STYLES["body"]) + body.grid(column=0, row=1, sticky=NSEW) def label(text): - nonlocal row - Label(self.frame, text=text).grid(row=row, sticky=NW) + nonlocal row, body + frame = LabelFrame(body, **STYLES["label-frame"]) + frame.grid(row=row, sticky=NSEW, columnspan=2) + Label(frame, text=text, **STYLES["widget"]).grid(row=row, sticky=NS) row += 1 def event_button(event): - nonlocal row - Message(self.frame, text="{}{} at {}".format( + nonlocal row, body + frame = LabelFrame(body, **STYLES["label-frame"]) + frame.grid(row=row, sticky=NSEW) + Message(frame, text="{}{} at {}".format( event.defender_name == self.game.player and "Enemy attacking: " or "", event, event.to_cp, - ), aspect=1600).grid(column=0, row=row, sticky=NW) - Button(self.frame, text=">", command=self.start_event(event)).grid(column=0, row=row, sticky=NE+S); row += 1 + ), aspect=1600, **STYLES["widget"]).grid(column=0, row=0, sticky=NSEW) + Button(body, text=">", command=self.start_event(event), **STYLES["btn-primary"]).grid(column=1, row=row, sticky=E) + row += 1 - def destination_header(text, separator=True): - nonlocal row - if separator: - Separator(self.frame, orient=HORIZONTAL).grid(row=row, sticky=EW); row += 1 - Label(self.frame, text=text).grid(column=0, row=row, sticky=N); row += 1 + def destination_header(text, pady=0): + nonlocal row, body + Label(body, text=text, **STYLES["strong"]).grid(column=0, columnspan=2, row=row, sticky=N+EW, pady=(pady,0)); row += 1 - Button(self.frame, text="Configuration", command=self.configuration_menu).grid(column=0, row=0, sticky=NE) - Button(self.frame, text="Pass turn", command=self.pass_turn).grid(column=0, row=0, sticky=NW) - Label(self.frame, text="Budget: {}m (+{}m)".format(self.game.budget, self.game.budget_reward_amount)).grid(column=0, row=0, sticky=N) - Separator(self.frame, orient='horizontal').grid(row=row, sticky=EW); row += 1 + #Separator(self.frame, orient='horizontal').grid(row=row, sticky=EW); row += 1 events = self.game.events events.sort(key=lambda x: x.from_cp.name) events.sort(key=lambda x: x.informational and 2 or (self.game.is_player_attack(x) and 1 or 0)) destination = None + deliveries = False for event in events: if not event.informational: if self.game.is_player_attack(event): @@ -64,10 +78,13 @@ class MainMenu(Menu): else: new_destination = "Enemy attack" if destination != new_destination: - destination_header(new_destination, destination is not None) + destination_header(new_destination) destination = new_destination if event.informational: + if not deliveries: + deliveries = True + destination_header("Deliveries", 15) label(str(event)) else: event_button(event) @@ -92,3 +109,7 @@ class MainMenu(Menu): self.basemenu = BaseMenu(self.window, self, self.game, cp) self.basemenu.display() + + + + diff --git a/ui/newgamemenu.py b/ui/newgamemenu.py index 186dc6a8..8f34db6d 100644 --- a/ui/newgamemenu.py +++ b/ui/newgamemenu.py @@ -65,7 +65,7 @@ class NewGameMenu(Menu): head.grid(row=0, column=0, sticky=NSEW) Label(head, text="Start a new game", **STYLES["title"]).grid() - # Main Frame + # Body body = Frame(self.frame, **STYLES["body"]) body.grid(row=1, column=0, sticky=NSEW) diff --git a/ui/styles.py b/ui/styles.py index 92c6ed6e..e375ecdf 100644 --- a/ui/styles.py +++ b/ui/styles.py @@ -8,6 +8,8 @@ PADDING_Y = 5 FG_COLOR = "white" BG_COLOR = "#4E5760" BTN_COLOR = "#699245" +YELLOW = "#FDB731" +RED = "#D0232E" BG_TITLE_COLOR = "#2D3E50" # Fonts @@ -19,13 +21,16 @@ TITLE_FONT = (FONT_FAMILY, 16, "bold italic") # List of styles STYLES = {} STYLES["label-frame"] = {"font": BOLD_FONT, "bg": BG_COLOR, "fg": FG_COLOR} +STYLES["frame-wrapper"] = {"bg": BG_COLOR, "relief":"sunken"} -STYLES["body"] = {"bg": BG_COLOR, "padx": 35, "pady": 35} - +STYLES["body"] = {"bg": BG_COLOR, "padx": 25, "pady": 35} +STYLES["strong"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR} STYLES["widget"] = {"bg": BG_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT} STYLES["radiobutton"] = {"bg": BG_COLOR, "fg": "black", "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT, "activebackground": BG_COLOR, "highlightbackground": BG_COLOR, "selectcolor": "white"} STYLES["title"] = {"bg": BG_TITLE_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": TITLE_FONT} STYLES["header"] = {"bg": BG_TITLE_COLOR} -STYLES["btn-primary"] = {"bg": BTN_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT} +STYLES["btn-primary"] = {"bg": BTN_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": 2, "font": DEFAULT_FONT} +STYLES["btn-danger"] = {"bg": RED, "fg": FG_COLOR, "padx": PADDING_X, "pady": 2, "font": DEFAULT_FONT} +STYLES["btn-warning"] = {"bg": YELLOW, "fg": FG_COLOR, "padx": PADDING_X, "pady": 2, "font": DEFAULT_FONT} diff --git a/ui/window.py b/ui/window.py index b01ef6f4..a71c83cb 100644 --- a/ui/window.py +++ b/ui/window.py @@ -1,6 +1,6 @@ from tkinter import * from game.game import * -from .styles import BG_COLOR +from .styles import BG_COLOR,BG_TITLE_COLOR class Window: image = None @@ -24,9 +24,9 @@ class Window: self.frame.grid_columnconfigure(1, weight=1) self.frame.grid_rowconfigure(0, weight=1) - self.left_pane = Frame(self.frame) + self.left_pane = Frame(self.frame, bg=BG_TITLE_COLOR) self.left_pane.grid(row=0, column=0, sticky=NSEW) - self.right_pane = Frame(self.frame) + self.right_pane = Frame(self.frame, bg=BG_COLOR) self.right_pane.grid(row=0, column=1, sticky=NSEW) self.tk.focus() From fd54a5f86c76474ef9e5abc85897288d18384748 Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 21:41:16 +0200 Subject: [PATCH 05/63] Display the name of the base in base menu --- ui/basemenu.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ui/basemenu.py b/ui/basemenu.py index 6bc98db0..2c9f866b 100644 --- a/ui/basemenu.py +++ b/ui/basemenu.py @@ -45,7 +45,13 @@ class BaseMenu(Menu): AirDefence: db.find_unittype(AirDefence, self.game.player), } - self.budget_label = Label(self.frame, text="Budget: {}m".format(self.game.budget)) + # Header + head = Frame(self.frame, **STYLES["header"]) + head.grid(row=row, column=0, columnspan=5, sticky=NSEW, pady=5) + Label(head, text=self.cp.name, **STYLES["title"]).grid() + row += 1 + + self.budget_label = Label(self.frame, text="Budget: {}m".format(self.game.budget), **STYLES["widget"]) self.budget_label.grid(row=row, sticky=W) Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(column=4, row=row) row += 1 From 5eb921948a2d236031aba63dae8669bb6e08b565 Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 21:52:09 +0200 Subject: [PATCH 06/63] Display the units x/x/x value of the base in the base menu. --- ui/basemenu.py | 4 +++- ui/styles.py | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/basemenu.py b/ui/basemenu.py index 2c9f866b..6a29f84f 100644 --- a/ui/basemenu.py +++ b/ui/basemenu.py @@ -48,7 +48,9 @@ class BaseMenu(Menu): # Header head = Frame(self.frame, **STYLES["header"]) head.grid(row=row, column=0, columnspan=5, sticky=NSEW, pady=5) - Label(head, text=self.cp.name, **STYLES["title"]).grid() + Label(head, text=self.cp.name, **STYLES["title"]).grid(row=0, column=0, sticky=NW+S) + units_title = "{}/{}/{}".format(self.cp.base.total_planes, self.cp.base.total_armor, self.cp.base.total_aa) + Label(head, text=units_title, **STYLES["strong-grey"]).grid(row=0, column=1, sticky=NE+S) row += 1 self.budget_label = Label(self.frame, text="Budget: {}m".format(self.game.budget), **STYLES["widget"]) diff --git a/ui/styles.py b/ui/styles.py index e375ecdf..48e5ebe1 100644 --- a/ui/styles.py +++ b/ui/styles.py @@ -6,6 +6,7 @@ PADDING_Y = 5 # Colors FG_COLOR = "white" +FG_COLOR_LIGHT = "#dddddd" BG_COLOR = "#4E5760" BTN_COLOR = "#699245" YELLOW = "#FDB731" @@ -25,6 +26,7 @@ STYLES["frame-wrapper"] = {"bg": BG_COLOR, "relief":"sunken"} STYLES["body"] = {"bg": BG_COLOR, "padx": 25, "pady": 35} STYLES["strong"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR} +STYLES["strong-grey"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR_LIGHT} STYLES["widget"] = {"bg": BG_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT} STYLES["radiobutton"] = {"bg": BG_COLOR, "fg": "black", "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT, "activebackground": BG_COLOR, "highlightbackground": BG_COLOR, "selectcolor": "white"} From 86706231e0daf72cfe709b87bef023b17a1bb3ed Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 22:30:12 +0200 Subject: [PATCH 07/63] New style for event/mission menu --- ui/eventmenu.py | 64 +++++++++++++++++++++++++++++++------------------ ui/styles.py | 5 +++- 2 files changed, 45 insertions(+), 24 deletions(-) diff --git a/ui/eventmenu.py b/ui/eventmenu.py index 9d352d57..26ae3f3d 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -4,6 +4,7 @@ from ui.eventresultsmenu import * from game import * from game.event import * +from .styles import STYLES UNITTYPES_FOR_EVENTS = { @@ -44,39 +45,46 @@ class EventMenu(Menu): self.window.clear_right_pane() row = 0 + def header(text, style="strong"): + nonlocal row + head = Frame(self.frame, **STYLES["header"]) + head.grid(row=row, column=0, sticky=N+EW, columnspan=5) + Label(head, text=text, **STYLES[style]).grid() + row += 1 + def label(text, _row=None, _column=None, sticky=None): nonlocal row - Label(self.frame, text=text).grid(row=_row and _row or row, column=_column and _column or 0, sticky=sticky) + Label(self.frame, text=text, **STYLES["widget"]).grid(row=_row and _row or row, column=_column and _column or 0, sticky=sticky) if _row is None: row += 1 def scrable_row(unit_type, unit_count): nonlocal row - Label(self.frame, text="{} ({})".format(db.unit_type_name(unit_type), unit_count)).grid(row=row, sticky=W) + Label(self.frame, text="{} ({})".format(db.unit_type_name(unit_type), unit_count), **STYLES["widget"]).grid(row=row, sticky=W) scramble_entry = Entry(self.frame, width=2) - scramble_entry.grid(column=1, row=row, sticky=W) + scramble_entry.grid(column=1, row=row, sticky=E, padx=5) scramble_entry.insert(0, "0") self.aircraft_scramble_entries[unit_type] = scramble_entry - Button(self.frame, text="+", command=self.scramble_half(True, unit_type)).grid(column=2, row=row) + Button(self.frame, text="+", command=self.scramble_half(True, unit_type), **STYLES["btn-primary"]).grid(column=2, row=row) client_entry = Entry(self.frame, width=2) - client_entry.grid(column=3, row=row, sticky=E) + client_entry.grid(column=3, row=row, sticky=E, padx=5) client_entry.insert(0, "0") self.aircraft_client_entries[unit_type] = client_entry - Button(self.frame, text="+", command=self.client_one(unit_type)).grid(column=4, row=row) + Button(self.frame, text="+", command=self.client_one(unit_type), **STYLES["btn-primary"]).grid(column=4, row=row) row += 1 def scramble_armor_row(unit_type, unit_count): nonlocal row - Label(self.frame, text="{} ({})".format(db.unit_type_name(unit_type), unit_count)).grid(row=row, sticky=W) + Label(self.frame, text="{} ({})".format(db.unit_type_name(unit_type), unit_count), **STYLES["widget"]).grid(row=row, sticky=W) scramble_entry = Entry(self.frame, width=2) scramble_entry.insert(0, "0") - scramble_entry.grid(column=1, row=row) + scramble_entry.grid(column=1, row=row, sticky=E, padx=5) self.armor_scramble_entries[unit_type] = scramble_entry - Button(self.frame, text="+", command=self.scramble_half(False, unit_type)).grid(column=2, row=row) + Button(self.frame, text="+", command=self.scramble_half(False, unit_type),**STYLES["btn-primary"]).grid(column=2, row=row) row += 1 @@ -84,21 +92,18 @@ class EventMenu(Menu): if threat_descr: threat_descr = "Approx. {}".format(threat_descr) - Label(self.frame, text="{}. {}".format(self.event, threat_descr)).grid(row=row, column=0, columnspan=5) + # Header + header("Mission Menu", "title") + + # Mission Description + Label(self.frame, text="{}. {}".format(self.event, threat_descr), **STYLES["mission-preview"]).grid(row=row, column=0, columnspan=5, sticky=S+EW, padx=5, pady=5) row += 1 - Button(self.frame, text="Commit", command=self.start).grid(column=3, row=row, sticky=E) - Button(self.frame, text="Back", command=self.dismiss).grid(column=4, row=row, sticky=E) - - awacs_enabled = self.game.budget >= AWACS_BUDGET_COST and NORMAL or DISABLED - Checkbutton(self.frame, text="AWACS ({}m)".format(AWACS_BUDGET_COST), var=self.awacs, state=awacs_enabled).grid(row=row, column=0, sticky=W) - row += 1 - - label("Aircraft") + header("Aircraft :") if self.base.aircraft: - Label(self.frame, text="Amount").grid(row=row, column=1, columnspan=2) - Label(self.frame, text="Client slots").grid(row=row, column=3, columnspan=2) + Label(self.frame, text="Amount", **STYLES["widget"]).grid(row=row, column=1, columnspan=2) + Label(self.frame, text="Client slots", **STYLES["widget"]).grid(row=row, column=3, columnspan=2) row += 1 filter_to = UNITTYPES_FOR_EVENTS[self.event.__class__] @@ -114,16 +119,29 @@ class EventMenu(Menu): if not self.base.total_planes: label("None", sticky=W) - label("Armor") + header("Armor :") + armor_counter = 0 for unit_type, count in self.base.armor.items(): if filter_to and db.unit_task(unit_type) not in filter_to: continue - scramble_armor_row(unit_type, count) + armor_counter += 1 - if not self.base.total_armor: + if not self.base.total_armor or armor_counter == 0: label("None", sticky=W) + header("Support :") + # Options + awacs_enabled = self.game.budget >= AWACS_BUDGET_COST and NORMAL or DISABLED + Checkbutton(self.frame, var=self.awacs, state=awacs_enabled, **STYLES["radiobutton"]).grid(row=row, column=0, sticky=E) + Label(self.frame, text="AWACS ({}m)".format(AWACS_BUDGET_COST), **STYLES["widget"]).grid(row=row, column=3, sticky=W, padx=5, pady=5) + row += 1 + + header("Ready ?") + Button(self.frame, text="Commit", command=self.start, **STYLES["btn-primary"]).grid(column=0, row=row, sticky=E, padx=5, pady=(10,10)) + Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-warning"]).grid(column=3, row=row, sticky=E, padx=5, pady=(10,10)) + row += 1 + def _scrambled_aircraft_count(self, unit_type: UnitType) -> int: value = self.aircraft_scramble_entries[unit_type].get() if value and int(value) > 0: diff --git a/ui/styles.py b/ui/styles.py index 48e5ebe1..6e7f6a12 100644 --- a/ui/styles.py +++ b/ui/styles.py @@ -9,7 +9,7 @@ FG_COLOR = "white" FG_COLOR_LIGHT = "#dddddd" BG_COLOR = "#4E5760" BTN_COLOR = "#699245" -YELLOW = "#FDB731" +YELLOW = "#BF9A46" RED = "#D0232E" BG_TITLE_COLOR = "#2D3E50" @@ -27,6 +27,9 @@ STYLES["frame-wrapper"] = {"bg": BG_COLOR, "relief":"sunken"} STYLES["body"] = {"bg": BG_COLOR, "padx": 25, "pady": 35} STYLES["strong"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR} STYLES["strong-grey"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR_LIGHT} + +STYLES["mission-preview"] = {"font": BOLD_FONT, "bg": YELLOW, "fg": FG_COLOR} + STYLES["widget"] = {"bg": BG_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT} STYLES["radiobutton"] = {"bg": BG_COLOR, "fg": "black", "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT, "activebackground": BG_COLOR, "highlightbackground": BG_COLOR, "selectcolor": "white"} From a132cba7ef5ba55485b07dd45b80a2eecc9f746a Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 22:30:33 +0200 Subject: [PATCH 08/63] Changed the color of text on map (easier to read this way for now imo) --- ui/overviewcanvas.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ui/overviewcanvas.py b/ui/overviewcanvas.py index d3ca3ac7..e3522e35 100644 --- a/ui/overviewcanvas.py +++ b/ui/overviewcanvas.py @@ -50,11 +50,12 @@ class OverviewCanvas: title = cp.name font = ("Helvetica", 10) - id = self.canvas.create_text(coords[0]+1, coords[1]+1, text=title, fill='white', font=font) - self.canvas.tag_bind(id, "", self.display(cp)) id = self.canvas.create_text(coords[0], coords[1], text=title, font=font) self.canvas.tag_bind(id, "", self.display(cp)) + id = self.canvas.create_text(coords[0]+1, coords[1]+1, text=title, fill='white', font=font) + self.canvas.tag_bind(id, "", self.display(cp)) + def _player_color(self): return self.game.player == "USA" and "blue" or "red" @@ -116,7 +117,8 @@ class OverviewCanvas: self.create_cp_title((coords[0] + arc_size/4, coords[1] + arc_size/4), cp) units_title = "{}/{}/{}".format(cp.base.total_planes, cp.base.total_armor, cp.base.total_aa) - self.canvas.create_text(coords[0], coords[1] - arc_size / 1.5, text=units_title, font=("Helvetica", 10)) + self.canvas.create_text(coords[0]+1, coords[1] - arc_size / 1.5 +1, text=units_title, font=("Helvetica", 10), fill=color) + self.canvas.create_text(coords[0], coords[1] - arc_size / 1.5, text=units_title, font=("Helvetica", 10), fill="white") def display(self, cp: ControlPoint): def action(_): From d236b8a94dc8d22734fb63c5790a59f4f44e263e Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 22:38:09 +0200 Subject: [PATCH 09/63] UI alignement in base menu --- ui/basemenu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/basemenu.py b/ui/basemenu.py index 6a29f84f..1e2e86f2 100644 --- a/ui/basemenu.py +++ b/ui/basemenu.py @@ -55,7 +55,7 @@ class BaseMenu(Menu): self.budget_label = Label(self.frame, text="Budget: {}m".format(self.game.budget), **STYLES["widget"]) self.budget_label.grid(row=row, sticky=W) - Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(column=4, row=row) + Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(column=4, row=row, padx=(0,15), pady=(0,5)) row += 1 for task_type, units in units.items(): From 834ee30c86f3fb5a2271f29f44e3ccf1de324b66 Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 23:18:49 +0200 Subject: [PATCH 10/63] Style for event result menu --- ui/eventresultsmenu.py | 90 ++++++++++++++++++++++++++++++------------ ui/styles.py | 2 + 2 files changed, 67 insertions(+), 25 deletions(-) diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index 7bfe1662..a41e1c98 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -3,6 +3,7 @@ from ui.window import * from game.game import * from userdata.debriefing import * +from .styles import STYLES class EventResultsMenu(Menu): @@ -13,6 +14,7 @@ class EventResultsMenu(Menu): def __init__(self, window: Window, parent, game: Game, event: Event): super(EventResultsMenu, self).__init__(window, parent, game) self.frame = window.right_pane + self.frame.grid_rowconfigure(0, weight=0) self.event = event self.finished = False @@ -21,46 +23,82 @@ class EventResultsMenu(Menu): def display(self): self.window.clear_right_pane() + row = 0 + + def header(text, style="strong"): + nonlocal row + head = Frame(self.frame, **STYLES["header"]) + head.grid(row=row, column=0, sticky=N + EW, columnspan=2, pady=(0, 10)) + Label(head, text=text, **STYLES[style]).grid() + row += 1 + + def label(text, style="widget"): + nonlocal row + Label(self.frame, text=text, **STYLES[style]).grid(row=row, column=0, sticky=NW, columnspan=2) + row += 1 + if not self.finished: - Label(self.frame, text="Play the mission and save debriefing to").grid(row=0, column=0) - Label(self.frame, text=debriefing_directory_location()).grid(row=1, column=0) - """ - For debugging purposes - """ + header("You are clear for take off !") + + label("In DCS, open and play the mission :") + label("liberation_nextturn", "italic") + label("or") + label("liberation_nextturn_quick", "italic") + header("Then save the debriefing to the folder:") + label(debriefing_directory_location(), "italic") + header("Waiting for results...") + + pg = Progressbar(self.frame, orient="horizontal", length=200, mode="determinate") + pg.grid(row=row, column=0, columnspan=2, sticky=EW, pady=5, padx=5) + pg.start(10) + row += 1 + + Separator(self.frame, orient=HORIZONTAL).grid(row=row, sticky=EW); + row += 1 + + Label(self.frame, text="Cheat operation results: ", **STYLES["strong"]).grid(column=0, row=row, + columnspan=2, sticky=NSEW, + pady=5); + + row += 1 + Button(self.frame, text="full enemy losses", command=self.simulate_result(0, 1), + **STYLES["btn-warning"]).grid(column=0, row=row, padx=5, pady=5) + Button(self.frame, text="full player losses", command=self.simulate_result(1, 0), + **STYLES["btn-warning"]).grid(column=1, row=row, padx=5, pady=5) + row += 1 + Button(self.frame, text="some enemy losses", command=self.simulate_result(0, 0.8), + **STYLES["btn-warning"]).grid(column=0, row=row, padx=5, pady=5) + Button(self.frame, text="some player losses", command=self.simulate_result(0.8, 0), + **STYLES["btn-warning"]).grid(column=1, row=row, padx=5, pady=5) + row += 1 - row = 3 - Separator(self.frame, orient=HORIZONTAL).grid(row=row, sticky=EW); row += 1 - Label(self.frame, text="Cheat operation results: ").grid(row=row); row += 1 - Button(self.frame, text="full enemy losses", command=self.simulate_result(0, 1)).grid(row=row); row += 1 - Button(self.frame, text="full player losses", command=self.simulate_result(1, 0)).grid(row=row); row += 1 - Button(self.frame, text="some enemy losses", command=self.simulate_result(0, 0.8)).grid(row=row); row += 1 - Button(self.frame, text="some player losses", command=self.simulate_result(0.8, 0)).grid(row=row); row += 1 else: row = 0 if self.event.is_successfull(self.debriefing): - Label(self.frame, text="Operation success").grid(row=row, columnspan=1); row += 1 + header("Operation success") else: - Label(self.frame, text="Operation failed").grid(row=row, columnspan=1); row += 1 + header("Operation failed") + + header("Player losses") - Separator(self.frame, orient='horizontal').grid(row=row, columnspan=1, sticky=NE); row += 1 - Label(self.frame, text="Player losses").grid(row=row, columnspan=1); row += 1 for unit_type, count in self.player_losses.items(): - Label(self.frame, text=db.unit_type_name(unit_type)).grid(row=row) - Label(self.frame, text="{}".format(count)).grid(column=1, row=row) + Label(self.frame, text=db.unit_type_name(unit_type), **STYLES["widget"]).grid(row=row) + Label(self.frame, text="{}".format(count), **STYLES["widget"]).grid(column=1, row=row) row += 1 - Separator(self.frame, orient='horizontal').grid(row=row, columnspan=1, sticky=NE); row += 1 - Label(self.frame, text="Enemy losses").grid(columnspan=1, row=row); row += 1 + header("Enemy losses") + for unit_type, count in self.enemy_losses.items(): if count == 0: continue - Label(self.frame, text=db.unit_type_name(unit_type)).grid(row=row) - Label(self.frame, text="{}".format(count)).grid(column=1, row=row) + Label(self.frame, text=db.unit_type_name(unit_type), **STYLES["widget"]).grid(row=row) + Label(self.frame, text="{}".format(count), **STYLES["widget"]).grid(column=1, row=row) row += 1 - Button(self.frame, text="Okay", command=self.dismiss).grid(columnspan=1, row=row); row += 1 + Button(self.frame, text="Okay", command=self.dismiss, **STYLES["btn-primary"]).grid(columnspan=1, row=row); + row += 1 def process_debriefing(self, debriefing: Debriefing): self.debriefing = debriefing @@ -106,8 +144,10 @@ class EventResultsMenu(Menu): alive_player_units = count(player) alive_enemy_units = count(enemy) - destroyed_player_units = db.unitdict_restrict_count(alive_player_units, math.ceil(sum(alive_player_units.values()) * player_factor)) - destroyed_enemy_units = db.unitdict_restrict_count(alive_enemy_units, math.ceil(sum(alive_enemy_units.values()) * enemy_factor)) + destroyed_player_units = db.unitdict_restrict_count(alive_player_units, math.ceil( + sum(alive_player_units.values()) * player_factor)) + destroyed_enemy_units = db.unitdict_restrict_count(alive_enemy_units, math.ceil( + sum(alive_enemy_units.values()) * enemy_factor)) alive_player_units = {k: v - destroyed_player_units.get(k, 0) for k, v in alive_player_units.items()} alive_enemy_units = {k: v - destroyed_enemy_units.get(k, 0) for k, v in alive_enemy_units.items()} diff --git a/ui/styles.py b/ui/styles.py index 6e7f6a12..ee26f472 100644 --- a/ui/styles.py +++ b/ui/styles.py @@ -16,6 +16,7 @@ BG_TITLE_COLOR = "#2D3E50" # Fonts FONT_FAMILY = "Trebuchet MS" DEFAULT_FONT = (FONT_FAMILY, 8) +ITALIC = (FONT_FAMILY, 8, "italic") BOLD_FONT = (FONT_FAMILY, 10, "bold italic") TITLE_FONT = (FONT_FAMILY, 16, "bold italic") @@ -31,6 +32,7 @@ STYLES["strong-grey"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR STYLES["mission-preview"] = {"font": BOLD_FONT, "bg": YELLOW, "fg": FG_COLOR} STYLES["widget"] = {"bg": BG_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT} +STYLES["italic"] = {"bg": BG_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": ITALIC} STYLES["radiobutton"] = {"bg": BG_COLOR, "fg": "black", "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT, "activebackground": BG_COLOR, "highlightbackground": BG_COLOR, "selectcolor": "white"} STYLES["title"] = {"bg": BG_TITLE_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": TITLE_FONT} From 1d73affa085b46cc2a8edeefe6be58b72161b616 Mon Sep 17 00:00:00 2001 From: Khopa Date: Wed, 8 Aug 2018 23:40:10 +0200 Subject: [PATCH 11/63] New style for event result menu --- ui/eventresultsmenu.py | 4 ++-- ui/styles.py | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index a41e1c98..dd1fb3d9 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -76,9 +76,9 @@ class EventResultsMenu(Menu): else: row = 0 if self.event.is_successfull(self.debriefing): - header("Operation success") + header("Operation success", "title-green") else: - header("Operation failed") + header("Operation failed", "title-red") header("Player losses") diff --git a/ui/styles.py b/ui/styles.py index ee26f472..10a2d48d 100644 --- a/ui/styles.py +++ b/ui/styles.py @@ -8,7 +8,7 @@ PADDING_Y = 5 FG_COLOR = "white" FG_COLOR_LIGHT = "#dddddd" BG_COLOR = "#4E5760" -BTN_COLOR = "#699245" +GREEN = "#699245" YELLOW = "#BF9A46" RED = "#D0232E" BG_TITLE_COLOR = "#2D3E50" @@ -36,8 +36,10 @@ STYLES["italic"] = {"bg": BG_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": P STYLES["radiobutton"] = {"bg": BG_COLOR, "fg": "black", "padx": PADDING_X, "pady": PADDING_Y, "font": DEFAULT_FONT, "activebackground": BG_COLOR, "highlightbackground": BG_COLOR, "selectcolor": "white"} STYLES["title"] = {"bg": BG_TITLE_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": TITLE_FONT} +STYLES["title-green"] = {"bg": GREEN, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": TITLE_FONT} +STYLES["title-red"] = {"bg": RED, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": TITLE_FONT} STYLES["header"] = {"bg": BG_TITLE_COLOR} -STYLES["btn-primary"] = {"bg": BTN_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pady": 2, "font": DEFAULT_FONT} +STYLES["btn-primary"] = {"bg": GREEN, "fg": FG_COLOR, "padx": PADDING_X, "pady": 2, "font": DEFAULT_FONT} STYLES["btn-danger"] = {"bg": RED, "fg": FG_COLOR, "padx": PADDING_X, "pady": 2, "font": DEFAULT_FONT} STYLES["btn-warning"] = {"bg": YELLOW, "fg": FG_COLOR, "padx": PADDING_X, "pady": 2, "font": DEFAULT_FONT} From 75d734d6e4982c13e613bd18f1eb842530546acd Mon Sep 17 00:00:00 2001 From: Khopa Date: Thu, 9 Aug 2018 13:08:07 +0200 Subject: [PATCH 12/63] Typo in UI --- ui/eventresultsmenu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index dd1fb3d9..16db01d2 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -39,7 +39,7 @@ class EventResultsMenu(Menu): if not self.finished: - header("You are clear for take off !") + header("You are clear for takeoff !") label("In DCS, open and play the mission :") label("liberation_nextturn", "italic") From e0d82da6cbe8c5a10705619e3d9c03c87867c6af Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 9 Sep 2018 01:21:32 +0300 Subject: [PATCH 13/63] save game version check; mission description in briefings; minor fixes and improvements; predefined ground objects (statics) support; strike mission WIP --- __init__.py | 18 +++- game/db.py | 6 +- game/event/__init__.py | 2 +- game/event/antiaastrike.py | 86 ------------------ game/event/event.py | 18 ++++ game/event/intercept.py | 2 +- game/event/strike.py | 46 ++++++++++ game/game.py | 2 +- game/operation/antiaastrike.py | 53 ----------- game/operation/baseattack.py | 3 + game/operation/frontlineattack.py | 3 + game/operation/frontlinepatrol.py | 5 +- game/operation/infantrytransport.py | 3 + game/operation/insurgentattack.py | 3 + game/operation/intercept.py | 4 + game/operation/navalintercept.py | 8 +- game/operation/operation.py | 35 ++++++-- game/operation/strike.py | 71 +++++++++++++++ game/settings.py | 1 + gen/__init__.py | 2 + gen/aaa.py | 6 +- gen/aircraft.py | 46 +++++++++- gen/briefinggen.py | 49 +++++++++++ gen/groundobjectsgen.py | 57 ++++++++++++ gen/triggergen.py | 13 --- resources/cau_groundobjects.p | Bin 0 -> 1035 bytes resources/tools/cau_groundobjects.miz | Bin 0 -> 7636 bytes resources/tools/generate_groundobjectsmap.py | 44 ++++++++++ resources/tools/generate_loadout_check.py | 10 ++- resources/tools/mkrelease.py | 2 +- theater/caucasus.py | 5 +- theater/conflicttheater.py | 10 +++ theater/controlpoint.py | 11 ++- theater/theatergroundobject.py | 54 ++++++++++++ ui/eventmenu.py | 35 +++++++- ui/eventresultsmenu.py | 7 +- userdata/debriefing.py | 88 +++++++++++++------ 37 files changed, 588 insertions(+), 220 deletions(-) delete mode 100644 game/event/antiaastrike.py create mode 100644 game/event/strike.py delete mode 100644 game/operation/antiaastrike.py create mode 100644 game/operation/strike.py create mode 100644 gen/briefinggen.py create mode 100644 gen/groundobjectsgen.py create mode 100644 resources/cau_groundobjects.p create mode 100644 resources/tools/cau_groundobjects.miz create mode 100644 resources/tools/generate_groundobjectsmap.py create mode 100644 theater/theatergroundobject.py diff --git a/__init__.py b/__init__.py index 927f9d98..0579cdea 100755 --- a/__init__.py +++ b/__init__.py @@ -17,10 +17,13 @@ from game.game import Game from theater import start_generator from userdata import persistency, logging as logging_module +assert len(sys.argv) == 3, "__init__.py should be started with two mandatory arguments: %UserProfile% location and application version" + persistency.setup(sys.argv[1]) dcs.planes.FlyingType.payload_dirs = [os.path.join(os.path.dirname(os.path.realpath(__file__)), "resources\\payloads")] -logging_module.setup_version_string(sys.argv[2]) +VERSION_STRING = sys.argv[2] +logging_module.setup_version_string(VERSION_STRING) logging.info("Using {} as userdata folder".format(persistency.base_path())) @@ -29,10 +32,20 @@ def proceed_to_main_menu(game: Game): m.display() +def is_version_compatible(save_version): + current_version = VERSION_STRING.split(".") + save_version = save_version.split(".") + + if current_version[:2] == save_version[:2]: + return True + + return False + + w = ui.window.Window() try: game = persistency.restore_game() - if not game: + if not game or not is_version_compatible(game.settings.version): new_game_menu = None # type: NewGameMenu def start_new_game(player_name: str, enemy_name: str, terrain: str, sams: bool, midgame: bool, multiplier: float): @@ -54,6 +67,7 @@ try: game.budget = int(game.budget * multiplier) game.settings.multiplier = multiplier game.settings.sams = sams + game.settings.version = VERSION_STRING if midgame: game.budget = game.budget * 4 * len(list(conflicttheater.conflicts())) diff --git a/game/db.py b/game/db.py index 0b63cf39..374b58d8 100644 --- a/game/db.py +++ b/game/db.py @@ -100,7 +100,6 @@ PRICES = { AirDefence.AAA_Vulcan_M163: 5, AirDefence.SAM_Avenger_M1097: 10, - AirDefence.SAM_Patriot_ICC: 15, AirDefence.AAA_ZU_23_on_Ural_375: 5, AirDefence.SAM_SA_18_Igla_S_MANPADS: 8, @@ -185,7 +184,6 @@ UNIT_BY_TASK = { AirDefence.SAM_Avenger_M1097, AirDefence.SAM_Avenger_M1097, AirDefence.SAM_Avenger_M1097, - AirDefence.SAM_Patriot_ICC, AirDefence.AAA_ZU_23_on_Ural_375, AirDefence.AAA_ZU_23_on_Ural_375, @@ -208,7 +206,6 @@ Units from AirDefense category of UNIT_BY_TASK that will be removed from use if """ SAM_BAN = [ AirDefence.SAM_Avenger_M1097, - AirDefence.SAM_Patriot_ICC, AirDefence.SAM_SA_19_Tunguska_2S6, AirDefence.SAM_SA_8_Osa_9A33, @@ -233,7 +230,7 @@ AirDefense units that will be spawned at control points not related to the curre """ EXTRA_AA = { "Russia": AirDefence.SAM_SA_9_Strela_1_9P31, - "USA": AirDefence.SAM_Patriot_EPP_III, + "USA": AirDefence.SAM_Avenger_M1097, } """ @@ -318,7 +315,6 @@ UNIT_BY_COUNTRY = { AirDefence.AAA_Vulcan_M163, AirDefence.SAM_Avenger_M1097, - AirDefence.SAM_Patriot_ICC, CVN_74_John_C__Stennis, LHA_1_Tarawa, diff --git a/game/event/__init__.py b/game/event/__init__.py index 3ee97e52..f9a147a6 100644 --- a/game/event/__init__.py +++ b/game/event/__init__.py @@ -4,6 +4,6 @@ from .frontlinepatrol import * from .intercept import * from .baseattack import * from .navalintercept import * -from .antiaastrike import * from .insurgentattack import * from .infantrytransport import * +from .strike import * diff --git a/game/event/antiaastrike.py b/game/event/antiaastrike.py deleted file mode 100644 index 66526adc..00000000 --- a/game/event/antiaastrike.py +++ /dev/null @@ -1,86 +0,0 @@ -import math -import random - -from dcs.task import * - -from game import * -from game.event import * -from game.operation.antiaastrike import AntiAAStrikeOperation -from userdata.debriefing import Debriefing - - -class AntiAAStrikeEvent(Event): - TARGET_AMOUNT_MAX = 2 - STRENGTH_INFLUENCE = 0.3 - SUCCESS_TARGETS_HIT_PERCENTAGE = 0.5 - - targets = None # type: db.ArmorDict - - def __str__(self): - return "Anti-AA strike" - - def is_successfull(self, debriefing: Debriefing): - total_targets = sum(self.targets.values()) - destroyed_targets = 0 - for unit, count in debriefing.destroyed_units[self.defender_name].items(): - if unit in self.targets: - destroyed_targets += count - - if self.from_cp.captured: - return math.ceil(float(destroyed_targets) / total_targets) >= self.SUCCESS_TARGETS_HIT_PERCENTAGE - else: - return math.ceil(float(destroyed_targets) / total_targets) < self.SUCCESS_TARGETS_HIT_PERCENTAGE - - def commit(self, debriefing: Debriefing): - super(AntiAAStrikeEvent, self).commit(debriefing) - - if self.from_cp.captured: - if self.is_successfull(debriefing): - self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) - else: - self.to_cp.base.affect_strength(+self.STRENGTH_INFLUENCE) - else: - if self.is_successfull(debriefing): - self.from_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) - else: - self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) - - def skip(self): - if self.to_cp.captured: - self.to_cp.base.affect_strength(-0.1) - - def player_attacking(self, strikegroup: db.PlaneDict, clients: db.PlaneDict): - self.targets = self.to_cp.base.assemble_aa(count=self.to_cp.base.total_aa) - - op = AntiAAStrikeOperation(game=self.game, - attacker_name=self.attacker_name, - defender_name=self.defender_name, - attacker_clients=clients, - defender_clients={}, - from_cp=self.from_cp, - to_cp=self.to_cp) - op.setup(target=self.targets, - strikegroup=strikegroup, - interceptors={}) - - self.operation = op - - def player_defending(self, interceptors: db.PlaneDict, clients: db.PlaneDict): - self.targets = self.to_cp.base.assemble_aa() - - op = AntiAAStrikeOperation( - self.game, - attacker_name=self.attacker_name, - defender_name=self.defender_name, - attacker_clients={}, - defender_clients=clients, - from_cp=self.from_cp, - to_cp=self.to_cp - ) - - strikegroup = self.from_cp.base.scramble_cas(self.game.settings.multiplier) - op.setup(target=self.targets, - strikegroup=strikegroup, - interceptors=interceptors) - - self.operation = op diff --git a/game/event/event.py b/game/event/event.py index a2fc3f3a..374d5903 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -1,3 +1,5 @@ +import logging + from dcs.unittype import UnitType from game import * @@ -71,8 +73,24 @@ class Event: else: cp = self.to_cp + logging.info("base {} commit losses {}".format(cp.base, losses)) cp.base.commit_losses(losses) + for object_identifier in debriefing.destroyed_objects: + for cp in self.game.theater.controlpoints: + remove_ids = [] + if not cp.ground_objects: + continue + + for i, ground_object in enumerate(cp.ground_objects): + if ground_object.matches_string_identifier(object_identifier): + logging.info("cp {} removing ground object {}".format(cp, ground_object.string_identifier)) + remove_ids.append(i) + + remove_ids.reverse() + for i in remove_ids: + del cp.ground_objects[i] + def skip(self): pass diff --git a/game/event/intercept.py b/game/event/intercept.py index 2449bfe9..b3d63da1 100644 --- a/game/event/intercept.py +++ b/game/event/intercept.py @@ -20,7 +20,7 @@ class InterceptEvent(Event): transport_unit = None # type: FlyingType def __str__(self): - return "Intercept" + return "Air Intercept" def _enemy_scramble_multiplier(self) -> float: is_global = self.from_cp.is_global or self.to_cp.is_global diff --git a/game/event/strike.py b/game/event/strike.py new file mode 100644 index 00000000..2767b6e3 --- /dev/null +++ b/game/event/strike.py @@ -0,0 +1,46 @@ +import math +import random + +from dcs.task import * +from dcs.vehicles import * + +from game import db +from game.operation.strike import StrikeOperation +from theater.conflicttheater import * +from userdata.debriefing import Debriefing + +from .event import Event + + +class StrikeEvent(Event): + STRENGTH_INFLUENCE = 0.0 + SINGLE_OBJECT_STRENGTH_INFLUENCE = 0.03 + + def __str__(self): + return "Strike" + + def is_successfull(self, debriefing: Debriefing): + return True + + def commit(self, debriefing: Debriefing): + super(StrikeEvent, self).commit(debriefing) + self.to_cp.base.affect_strength(-self.SINGLE_OBJECT_STRENGTH_INFLUENCE * len(debriefing.destroyed_objects)) + + def player_attacking(self, strikegroup: db.PlaneDict, escort: db.PlaneDict, clients: db.PlaneDict): + op = StrikeOperation( + self.game, + attacker_name=self.attacker_name, + defender_name=self.defender_name, + attacker_clients=clients, + defender_clients={}, + from_cp=self.from_cp, + to_cp=self.to_cp + ) + + interceptors = self.to_cp.base.scramble_interceptors(self.game.settings.multiplier) + + op.setup(strikegroup=strikegroup, + escort=escort, + interceptors=interceptors) + + self.operation = op diff --git a/game/game.py b/game/game.py index 3738d263..7ee777b5 100644 --- a/game/game.py +++ b/game/game.py @@ -52,10 +52,10 @@ EVENT_PROBABILITIES = { BaseAttackEvent: [100, 10], FrontlineAttackEvent: [100, 0], FrontlinePatrolEvent: [100, 0], + StrikeEvent: [100, 0], InterceptEvent: [25, 10], InsurgentAttackEvent: [0, 10], NavalInterceptEvent: [25, 10], - AntiAAStrikeEvent: [25, 10], InfantryTransportEvent: [25, 0], } diff --git a/game/operation/antiaastrike.py b/game/operation/antiaastrike.py deleted file mode 100644 index 424705a6..00000000 --- a/game/operation/antiaastrike.py +++ /dev/null @@ -1,53 +0,0 @@ -from dcs.terrain import Terrain - -from game import db -from gen.armor import * -from gen.aircraft import * -from gen.aaa import * -from gen.shipgen import * -from gen.triggergen import * -from gen.airsupportgen import * -from gen.visualgen import * -from gen.conflictgen import Conflict - -from .operation import Operation - - -class AntiAAStrikeOperation(Operation): - strikegroup = None # type: db.PlaneDict - interceptors = None # type: db.PlaneDict - target = None # type: db.ArmorDict - - def setup(self, - target: db.ArmorDict, - strikegroup: db.PlaneDict, - interceptors: db.PlaneDict): - self.strikegroup = strikegroup - self.interceptors = interceptors - self.target = target - - def prepare(self, terrain: Terrain, is_quick: bool): - super(AntiAAStrikeOperation, self).prepare(terrain, is_quick) - if self.defender_name == self.game.player: - self.attackers_starting_position = None - self.defenders_starting_position = None - - conflict = Conflict.ground_base_attack( - attacker=self.mission.country(self.attacker_name), - defender=self.mission.country(self.defender_name), - from_cp=self.from_cp, - to_cp=self.to_cp, - theater=self.game.theater - ) - - self.initialize(mission=self.mission, - conflict=conflict) - - def generate(self): - self.airgen.generate_cas_strikegroup(self.strikegroup, clients=self.attacker_clients, at=self.attackers_starting_position) - - if self.interceptors: - self.airgen.generate_defense(self.interceptors, clients=self.defender_clients, at=self.defenders_starting_position) - - self.armorgen.generate({}, self.target) - super(AntiAAStrikeOperation, self).generate() diff --git a/game/operation/baseattack.py b/game/operation/baseattack.py index 8add9744..58bc195e 100644 --- a/game/operation/baseattack.py +++ b/game/operation/baseattack.py @@ -63,5 +63,8 @@ class BaseAttackOperation(Operation): self.airgen.generate_attackers_escort(self.escort, clients=self.attacker_clients, at=self.attackers_starting_position) self.visualgen.generate_target_smokes(self.to_cp) + + self.briefinggen.title = "Base attack" + self.briefinggen.description = "The goal of an attacker is to lower defender presence by destroying their armor and aircraft. Base will be considered captured if attackers on the ground overrun the defenders. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." super(BaseAttackOperation, self).generate() diff --git a/game/operation/frontlineattack.py b/game/operation/frontlineattack.py index 17513925..cd43f951 100644 --- a/game/operation/frontlineattack.py +++ b/game/operation/frontlineattack.py @@ -51,4 +51,7 @@ class FrontlineAttackOperation(Operation): def generate(self): self.armorgen.generate_vec(self.attackers, self.target) self.airgen.generate_cas_strikegroup(self.strikegroup, clients=self.attacker_clients, at=self.attackers_starting_position) + + self.briefinggen.title = "Frontline CAS" + self.briefinggen.description = "Provide CAS for the ground forces attacking enemy lines. Operation will be considered successful if total number of enemy units will be lower than your own by a factor of 1.5 (i.e. with 12 units from both sides, enemy forces need to be reduced to at least 8), meaning that you (and, probably, your wingmans) should concentrate on destroying the enemy units. Target base strength will be lowered as a result. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." super(FrontlineAttackOperation, self).generate() diff --git a/game/operation/frontlinepatrol.py b/game/operation/frontlinepatrol.py index f4d7a355..2aa9c38f 100644 --- a/game/operation/frontlinepatrol.py +++ b/game/operation/frontlinepatrol.py @@ -52,7 +52,10 @@ class FrontlinePatrolOperation(Operation): def generate(self): self.airgen.generate_defenders_cas(self.cas, {}, self.defenders_starting_position) self.airgen.generate_defenders_escort(self.escort, {}, self.defenders_starting_position) - self.airgen.generate_patrol(self.interceptors, self.attacker_clients, self.attackers_starting_position) + self.airgen.generate_migcap(self.interceptors, self.attacker_clients, self.attackers_starting_position) self.armorgen.generate_vec(self.armor_attackers, self.armor_defenders) + + self.briefinggen.title = "Frontline CAP" + self.briefinggen.description = "Providing CAP support for ground units attacking enemy lines. Enemy will scramble its CAS and your task is to intercept it. Operation will be considered successful if total number of friendly units will be lower than enemy by at least a factor of 0.8 (i.e. with 12 units from both sides, there should be at least 8 friendly units alive), lowering targets strength as a result." super(FrontlinePatrolOperation, self).generate() diff --git a/game/operation/infantrytransport.py b/game/operation/infantrytransport.py index d327eb3a..32d8da0d 100644 --- a/game/operation/infantrytransport.py +++ b/game/operation/infantrytransport.py @@ -48,6 +48,9 @@ class InfantryTransportOperation(Operation): self.visualgen.generate_transportation_marker(self.conflict.ground_attackers_location) self.visualgen.generate_transportation_destination(self.conflict.position) + self.briefinggen.title = "Infantry transport" + self.briefinggen.description = "Helicopter operation to transport infantry troops from the base to the front line. Lowers target strength" + # TODO: horrible, horrible hack # this will disable vehicle activation triggers, # which aren't needed on this type of missions diff --git a/game/operation/insurgentattack.py b/game/operation/insurgentattack.py index e0358c68..c528949a 100644 --- a/game/operation/insurgentattack.py +++ b/game/operation/insurgentattack.py @@ -41,4 +41,7 @@ class InsurgentAttackOperation(Operation): self.airgen.generate_defense(self.strikegroup, self.defender_clients, self.defenders_starting_position) self.armorgen.generate(self.target, {}) + self.briefinggen.title = "Destroy insurgents" + self.briefinggen.description = "Destroy vehicles of insurgents in close proximity of the friendly base. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." + super(InsurgentAttackOperation, self).generate() diff --git a/game/operation/intercept.py b/game/operation/intercept.py index 3121c794..2985a733 100644 --- a/game/operation/intercept.py +++ b/game/operation/intercept.py @@ -55,5 +55,9 @@ class InterceptOperation(Operation): self.airgen.generate_defenders_escort(self.escort, clients=self.defender_clients) self.airgen.generate_interception(self.interceptors, clients=self.attacker_clients, at=self.attackers_starting_position) + + self.briefinggen.title = "Air Intercept" + self.briefinggen.description = "Intercept enemy supply transport aircraft. Escort will also be present if there are available planes on the base. Operation will be considered successful if most of the targets are destroyed, lowering targets strength as a result" + super(InterceptOperation, self).generate() diff --git a/game/operation/navalintercept.py b/game/operation/navalintercept.py index 3dac0cf4..aa710a58 100644 --- a/game/operation/navalintercept.py +++ b/game/operation/navalintercept.py @@ -34,8 +34,6 @@ class NavalInterceptionOperation(Operation): self.initialize(self.mission, conflict) def generate(self): - super(NavalInterceptionOperation, self).generate() - target_groups = self.shipgen.generate_cargo(units=self.targets) self.airgen.generate_ship_strikegroup( @@ -51,3 +49,9 @@ class NavalInterceptionOperation(Operation): clients=self.defender_clients, at=self.defenders_starting_position ) + + self.briefinggen.title = "Naval Intercept" + self.briefinggen.description = "Destroy supply transport ships. Lowers target strength. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." + + super(NavalInterceptionOperation, self).generate() + diff --git a/game/operation/operation.py b/game/operation/operation.py index a542ad0e..1fd70910 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -18,9 +18,11 @@ class Operation: extra_aagen = None # type: ExtraAAConflictGenerator shipgen = None # type: ShipGenerator triggersgen = None # type: TriggersGenerator - awacsgen = None # type: AirSupportConflictGenerator + airsupportgen = None # type: AirSupportConflictGenerator visualgen = None # type: VisualGenerator envgen = None # type: EnvironmentGenerator + groundobjectgen = None # type: GroundObjectsGenerator + briefinggen = None # type: BriefingGenerator environment_settings = None trigger_radius = TRIGGER_RADIUS_MEDIUM @@ -44,6 +46,12 @@ class Operation: self.to_cp = to_cp self.is_quick = False + def units_of(self, country_name: str) -> typing.Collection[UnitType]: + return [] + + def is_successfull(self, debriefing: Debriefing) -> bool: + return True + def initialize(self, mission: Mission, conflict: Conflict): self.mission = mission self.conflict = conflict @@ -52,10 +60,12 @@ class Operation: self.airgen = AircraftConflictGenerator(mission, conflict, self.game.settings) self.aagen = AAConflictGenerator(mission, conflict) self.shipgen = ShipGenerator(mission, conflict) - self.awacsgen = AirSupportConflictGenerator(mission, conflict, self.game) + self.airsupportgen = AirSupportConflictGenerator(mission, conflict, self.game) self.triggersgen = TriggersGenerator(mission, conflict, self.game) self.visualgen = VisualGenerator(mission, conflict, self.game) self.envgen = EnviromentGenerator(mission, conflict, self.game) + self.groundobjectgen = GroundObjectsGenerator(mission, conflict, self.game) + self.briefinggen = BriefingGenerator(mission, conflict, self.game) player_name = self.from_cp.captured and self.attacker_name or self.defender_name enemy_name = self.from_cp.captured and self.defender_name or self.attacker_name @@ -78,10 +88,18 @@ class Operation: def generate(self): self.visualgen.generate() - self.awacsgen.generate(self.is_awacs_enabled) + # air support + self.airsupportgen.generate(self.is_awacs_enabled) + self.briefinggen.append_frequency("Tanker", "10X/240 MHz FM") + if self.is_awacs_enabled: + self.briefinggen.append_frequency("AWACS", "244 MHz FM") + + # ground infrastructure + self.groundobjectgen.generate() self.extra_aagen.generate() + # triggers if self.game.is_player_attack(self.conflict.attackers_side): cp = self.conflict.from_cp else: @@ -92,13 +110,16 @@ class Operation: activation_trigger_radius=self.trigger_radius, awacs_enabled=self.is_awacs_enabled) + # env settings if self.environment_settings is None: self.environment_settings = self.envgen.generate() else: self.envgen.load(self.environment_settings) - def units_of(self, country_name: str) -> typing.Collection[UnitType]: - return [] + # main frequencies + self.briefinggen.append_frequency("Flight", "251 MHz FM") + if self.conflict.from_cp.is_global or self.conflict.to_cp.is_global: + self.briefinggen.append_frequency("Carrier", "20X/ICLS CHAN1") - def is_successfull(self, debriefing: Debriefing) -> bool: - return True + # briefing + self.briefinggen.generate() diff --git a/game/operation/strike.py b/game/operation/strike.py new file mode 100644 index 00000000..85bac18a --- /dev/null +++ b/game/operation/strike.py @@ -0,0 +1,71 @@ +from dcs.terrain import Terrain + +from game import db +from gen.armor import * +from gen.aircraft import * +from gen.aaa import * +from gen.shipgen import * +from gen.triggergen import * +from gen.airsupportgen import * +from gen.visualgen import * +from gen.conflictgen import Conflict + +from .operation import Operation + + +class StrikeOperation(Operation): + strikegroup = None # type: db.PlaneDict + escort = None # type: db.PlaneDict + interceptors = None # type: db.PlaneDict + + def setup(self, + strikegroup: db.PlaneDict, + escort: db.PlaneDict, + interceptors: db.PlaneDict): + self.strikegroup = strikegroup + self.escort = escort + self.interceptors = interceptors + + def prepare(self, terrain: Terrain, is_quick: bool): + super(StrikeOperation, self).prepare(terrain, is_quick) + + self.defenders_starting_position = None + if self.game.player == self.defender_name: + self.attackers_starting_position = None + + conflict = Conflict.capture_conflict( + attacker=self.mission.country(self.attacker_name), + defender=self.mission.country(self.defender_name), + from_cp=self.from_cp, + to_cp=self.to_cp, + theater=self.game.theater + ) + + self.initialize(mission=self.mission, + conflict=conflict) + + def generate(self): + targets = [] # type: typing.List[typing.Tuple[str, Point]] + category_counters = {} # type: typing.Dict[str, int] + for object in self.to_cp.ground_objects: + category_counters[object.category] = category_counters.get(object.category, 0) + 1 + markpoint_name = "{}{}".format(object.name_abbrev, category_counters[object.category]) + targets.append((markpoint_name, object.position)) + self.briefinggen.append_target(str(object), markpoint_name) + + targets.sort(key=lambda x: self.from_cp.position.distance_to_point(x[1])) + + self.airgen.generate_ground_attack_strikegroup(strikegroup=self.strikegroup, + targets=targets, + clients=self.attacker_clients, + at=self.attackers_starting_position) + + self.airgen.generate_attackers_escort(self.escort, + clients=self.attacker_clients, + at=self.attackers_starting_position) + + self.airgen.generate_barcap(patrol=self.interceptors, + clients={}, + at=self.defenders_starting_position) + + super(StrikeOperation, self).generate() diff --git a/game/settings.py b/game/settings.py index 2e29ffba..ad4fb239 100644 --- a/game/settings.py +++ b/game/settings.py @@ -7,3 +7,4 @@ class Settings: multiplier = 1 sams = True cold_start = False + version = None diff --git a/gen/__init__.py b/gen/__init__.py index 7a5565ac..bbbf3bd0 100644 --- a/gen/__init__.py +++ b/gen/__init__.py @@ -7,6 +7,8 @@ from .shipgen import * from .visualgen import * from .triggergen import * from .environmentgen import * +from .groundobjectsgen import * +from .briefinggen import * from . import naming diff --git a/gen/aaa.py b/gen/aaa.py index 0fbc88f9..d9a46cc1 100644 --- a/gen/aaa.py +++ b/gen/aaa.py @@ -1,6 +1,3 @@ -from game import * - -from theater.conflicttheater import ConflictTheater from .conflictgen import * from .naming import * @@ -61,6 +58,7 @@ class ExtraAAConflictGenerator: if cp.position.distance_to_point(self.conflict.from_cp.position) < EXTRA_AA_MIN_DISTANCE: continue + print("generated extra aa for {}".format(cp)) country_name = cp.captured and self.player_name or self.enemy_name position = cp.position.point_from_heading(0, EXTRA_AA_POSITION_FROM_CP) @@ -69,6 +67,6 @@ class ExtraAAConflictGenerator: name=namegen.next_basedefense_name(), _type=db.EXTRA_AA[country_name], position=position, - group_size=2 + group_size=1 ) diff --git a/gen/aircraft.py b/gen/aircraft.py index 8ad923b6..12fa911d 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -265,6 +265,30 @@ class AircraftConflictGenerator: self.escort_targets.append((group, group.points.index(waypoint))) self._rtb_for(group, self.conflict.from_cp, at) + def generate_ground_attack_strikegroup(self, strikegroup: db.PlaneDict, targets: typing.List[typing.Tuple[str, Point]], clients: db.PlaneDict, at: db.StartingPosition = None): + assert len(self.escort_targets) == 0 + + for flying_type, count, client_count in self._split_to_groups(strikegroup, clients): + group = self._generate_group( + name=namegen.next_unit_name(self.conflict.attackers_side, flying_type), + side=self.conflict.attackers_side, + unit_type=flying_type, + count=count, + client_count=client_count, + at=at and at or self._group_point(self.conflict.air_attackers_location)) + + escort_until_waypoint = None + + for name, pos in targets: + waypoint = group.add_waypoint(pos, WARM_START_ALTITUDE, WARM_START_AIRSPEED, self.m.translation.create_string(name)) + if escort_until_waypoint is None: + escort_until_waypoint = waypoint + + group.task = CAS.name + self._setup_group(group, CAS, client_count) + self.escort_targets.append((group, group.points.index(escort_until_waypoint))) + self._rtb_for(group, self.conflict.from_cp, at) + def generate_defenders_cas(self, defenders: db.PlaneDict, clients: db.PlaneDict, at: db.StartingPosition = None): assert len(self.escort_targets) == 0 @@ -348,7 +372,7 @@ class AircraftConflictGenerator: self._setup_group(group, CAP, client_count) self._rtb_for(group, self.conflict.to_cp, at) - def generate_patrol(self, patrol: db.PlaneDict, clients: db.PlaneDict, at: db.StartingPosition = None): + def generate_migcap(self, patrol: db.PlaneDict, clients: db.PlaneDict, at: db.StartingPosition = None): for flying_type, count, client_count in self._split_to_groups(patrol, clients): group = self._generate_group( name=namegen.next_unit_name(self.conflict.attackers_side, flying_type), @@ -366,6 +390,26 @@ class AircraftConflictGenerator: self._setup_group(group, CAP, client_count) self._rtb_for(group, self.conflict.from_cp, at) + def generate_barcap(self, patrol: db.PlaneDict, clients: db.PlaneDict, at: db.StartingPosition = None): + for flying_type, count, client_count in self._split_to_groups(patrol, clients): + group = self._generate_group( + name=namegen.next_unit_name(self.conflict.defenders_side, flying_type), + side=self.conflict.defenders_side, + unit_type=flying_type, + count=count, + client_count=client_count, + at=at and at or self._group_point(self.conflict.air_defenders_location)) + + waypoint = group.add_waypoint(self.conflict.position, WARM_START_ALTITUDE, WARM_START_AIRSPEED) + if self.conflict.is_vector: + group.add_waypoint(self.conflict.tail, WARM_START_ALTITUDE, WARM_START_AIRSPEED) + else: + waypoint.tasks.append(OrbitAction(WARM_START_ALTITUDE, WARM_START_AIRSPEED)) + + group.task = CAP.name + self._setup_group(group, CAP, client_count) + self._rtb_for(group, self.conflict.to_cp, at) + def generate_transport(self, transport: db.PlaneDict, destination: Airport): assert len(self.escort_targets) == 0 diff --git a/gen/briefinggen.py b/gen/briefinggen.py new file mode 100644 index 00000000..851fe3fd --- /dev/null +++ b/gen/briefinggen.py @@ -0,0 +1,49 @@ +import logging + +from game import db +from .conflictgen import * +from .naming import * + +from dcs.mission import * + + +class BriefingGenerator: + freqs = None # type: typing.List[typing.Tuple[str, str]] + title = "" # type: str + description = "" # type: str + targets = None # type: typing.List[typing.Tuple[str, str]] + + def __init__(self, mission: Mission, conflict: Conflict, game): + self.m = mission + self.conflict = conflict + self.game = game + + self.freqs = [] + self.targets = [] + + def append_frequency(self, name: str, frequency: str): + self.freqs.append((name, frequency)) + + def append_target(self, description: str, markpoint: str = None): + self.targets.append((description, markpoint)) + + def generate(self): + description = "" + + if self.title: + description += self.title + + if self.description: + description += "\n\n" + self.description + + if self.freqs: + description += "\n\n RADIO:" + for name, freq in self.freqs: + description += "\n{}: {}".format(name, freq) + + if self.targets: + description += "\n\n TARGETS:" + for name, tp in self.targets: + description += "\n{} {}".format(name, "(TP {})".format(tp) if tp else "") + + self.m.set_description_text(description) diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py new file mode 100644 index 00000000..b4d9f16b --- /dev/null +++ b/gen/groundobjectsgen.py @@ -0,0 +1,57 @@ +import logging + +from game import db +from .conflictgen import * +from .naming import * + +from dcs.mission import * +from dcs.statics import * + + +CATEGORY_MAPPING = { + "power": [Fortification.Workshop_A], + "warehouse": [Warehouse.Warehouse], + "fuel": [Warehouse.Tank], + "ammo": [Warehouse.Ammunition_depot], +} + + +class GroundObjectsGenerator: + def __init__(self, mission: Mission, conflict: Conflict, game): + self.m = mission + self.conflict = conflict + self.game = game + + def generate(self): + side = self.m.country(self.game.enemy) + + cp = None # type: ControlPoint + if self.conflict.attackers_side.name == self.game.player: + cp = self.conflict.to_cp + else: + cp = self.conflict.from_cp + + for ground_object in cp.ground_objects: + if ground_object.category == "defense": + unit_type = random.choice(self.game.commision_unit_types(cp, AirDefence)) + assert unit_type is not None, "Cannot find unit type for GroundObject defense ({})!".format(cp) + + group = self.m.vehicle_group( + country=side, + name=ground_object.string_identifier, + _type=unit_type, + position=Point(*ground_object.location), + heading=ground_object.heading + ) + + logging.info("generated defense object identifier {} with mission id {}".format(group.name, group.id)) + else: + group = self.m.static_group( + country=side, + name=ground_object.string_identifier, + _type=random.choice(CATEGORY_MAPPING[ground_object.category]), + position=Point(*ground_object.location), + heading=ground_object.heading + ) + + logging.info("generated object identifier {} with mission id {}".format(group.name, group.id)) diff --git a/gen/triggergen.py b/gen/triggergen.py index f199f841..f797eff4 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -146,19 +146,6 @@ class TriggersGenerator: self._set_skill(player_coalition, enemy_coalition) self._set_allegiances(player_coalition, enemy_coalition) - description = "" - description += "FREQUENCIES:" - description += "\nFlight: 251 MHz AM" - description += "\nTanker: 10X/240 MHz" - - if awacs_enabled: - description += "\nAWACS: 244 MHz" - - if self.conflict.from_cp.is_global or self.conflict.to_cp.is_global: - description += "\nCarrier: 20X/ICLS CHAN1" - - self.mission.set_description_text(description) - if not is_quick: # TODO: waypoint parts of this should not be post-hacked but added in airgen self._gen_activation_trigger(activation_trigger_radius, player_cp, player_coalition, enemy_coalition) diff --git a/resources/cau_groundobjects.p b/resources/cau_groundobjects.p new file mode 100644 index 0000000000000000000000000000000000000000..4a47c810f23ae2ca0a60add36fcdb859acc31ae0 GIT binary patch literal 1035 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 P2rnnw%K{Tg|49D>mVOxy literal 0 HcmV?d00001 diff --git a/resources/tools/generate_groundobjectsmap.py b/resources/tools/generate_groundobjectsmap.py new file mode 100644 index 00000000..8557fb23 --- /dev/null +++ b/resources/tools/generate_groundobjectsmap.py @@ -0,0 +1,44 @@ +import pickle +import typing + +from game import db +from gen.groundobjectsgen import TheaterGroundObject +from dcs.mission import Mission +from dcs.terrain import PersianGulf + +m = Mission() +m.load_file("./cau_groundobjects.miz") + +result = {} + + +def append_group(cp_id, category, group_id, object_id, position, heading): + global result + + if cp_id not in result: + result[cp_id] = [] + + result[cp_id].append(TheaterGroundObject(category, cp_id, group_id, object_id, position, heading)) + + +def parse_name(name: str) -> typing.Tuple: + args = str(name).split("|") + if len(args) == 3: + args.append("1") + + return args[0], int(args[1]), int(args[2]), int(args[3]) + + +for group in m.country("Russia").static_group + m.country("Russia").vehicle_group: + try: + category, cp_id, group_id, object_id = parse_name(str(group.name)) + except: + print("Failed to parse {}".format(group.name)) + continue + + append_group(cp_id, category, group_id, object_id, [group.position.x, group.position.y], group.units[0].heading) + +print("Total {} objects".format(sum([len(x) for x in result.values()]))) +with open("../cau_groundobjects.p", "wb") as f: + pickle.dump(result, f) + diff --git a/resources/tools/generate_loadout_check.py b/resources/tools/generate_loadout_check.py index 88d0b919..575b8519 100644 --- a/resources/tools/generate_loadout_check.py +++ b/resources/tools/generate_loadout_check.py @@ -1,10 +1,14 @@ +import os import dcs -from gen.aircraft import AircraftConflictGenerator from game import db +from gen.aircraft import AircraftConflictGenerator + +dcs.planes.FlyingType.payload_dirs = [os.path.join(os.path.dirname(os.path.realpath(__file__)), "..\\payloads")] + mis = dcs.Mission(dcs.terrain.PersianGulf()) pos = dcs.terrain.PersianGulf().khasab().position -airgen = AircraftConflictGenerator(mis, None) +airgen = AircraftConflictGenerator(mis, None, None) for t, uts in db.UNIT_BY_TASK.items(): if t != dcs.task.CAP and t != dcs.task.CAS: @@ -25,6 +29,6 @@ for t, uts in db.UNIT_BY_TASK.items(): altitude=10000 ) g.task = t.name - airgen._setup_group(g, t) + airgen._setup_group(g, t, 0) mis.save("loadout_test.miz") diff --git a/resources/tools/mkrelease.py b/resources/tools/mkrelease.py index 09bf352a..c8776e78 100644 --- a/resources/tools/mkrelease.py +++ b/resources/tools/mkrelease.py @@ -16,7 +16,7 @@ IGNORED_PATHS = [ "venv", ] -VERSION = "1.3.3" +VERSION = input("version str:") def _zip_dir(archieve, path): diff --git a/theater/caucasus.py b/theater/caucasus.py index 7d075f13..82e1c4b6 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -73,7 +73,10 @@ class CaucasusTheater(ConflictTheater): self.carrier_1.captured = True self.soganlug.captured = True + with open("resources/cau_groundobjects.p", "rb") as f: + self.set_groundobject(pickle.load(f)) + def add_controlpoint(self, point: ControlPoint, connected_to: typing.Collection[ControlPoint] = []): - point.name = " ".join(re.split(r" |-", point.name)[:1]) + point.name = " ".join(re.split(r"[ -]", point.name)[:1]) super(CaucasusTheater, self).add_controlpoint(point, connected_to=connected_to) \ No newline at end of file diff --git a/theater/conflicttheater.py b/theater/conflicttheater.py index ef65b03c..baa3f445 100644 --- a/theater/conflicttheater.py +++ b/theater/conflicttheater.py @@ -6,6 +6,7 @@ from dcs.mapping import Point from .landmap import ray_tracing from .controlpoint import ControlPoint +from .theatergroundobject import TheaterGroundObject SIZE_TINY = 150 SIZE_SMALL = 600 @@ -48,6 +49,7 @@ COAST_DR_W = [135, 180, 225, 315] class ConflictTheater: terrain = None # type: dcs.terrain.Terrain controlpoints = None # type: typing.Collection[ControlPoint] + reference_points = None # type: typing.Dict overview_image = None # type: str landmap_poly = None @@ -55,6 +57,14 @@ class ConflictTheater: def __init__(self): self.controlpoints = [] + self.groundobjects = [] + + def set_groundobject(self, dictionary: typing.Dict[int, typing.Collection[TheaterGroundObject]]): + for id, value in dictionary.items(): + for cp in self.controlpoints: + if cp.id == id: + cp.ground_objects = value + break def add_controlpoint(self, point: ControlPoint, connected_to: typing.Collection[ControlPoint] = []): for connected_point in connected_to: diff --git a/theater/controlpoint.py b/theater/controlpoint.py index dff1deab..f8985244 100644 --- a/theater/controlpoint.py +++ b/theater/controlpoint.py @@ -5,18 +5,23 @@ from dcs.mapping import * from dcs.country import * from dcs.terrain import Airport +from .theatergroundobject import TheaterGroundObject + class ControlPoint: connected_points = [] # type: typing.List[ControlPoint] + ground_objects = None # type: typing.Collection[TheaterGroundObject] position = None # type: Point captured = False has_frontline = True + id = 0 base = None # type: theater.base.Base at = None # type: db.StartPosition - def __init__(self, name: str, position: Point, at, radials: typing.Collection[int], size: int, importance: int, has_frontline=True): + def __init__(self, id: int, name: str, position: Point, at, radials: typing.Collection[int], size: int, importance: int, has_frontline=True): import theater.base + self.id = id self.name = " ".join(re.split(r" |-", name)[:2]) self.full_name = name self.position = position @@ -33,12 +38,12 @@ class ControlPoint: @classmethod def from_airport(cls, airport: Airport, radials: typing.Collection[int], size: int, importance: int, has_frontline=True): assert airport - return cls(airport.name, airport.position, airport, radials, size, importance, has_frontline) + return cls(airport.id, airport.name, airport.position, airport, radials, size, importance, has_frontline) @classmethod def carrier(cls, name: str, at: Point): import theater.conflicttheater - return cls(name, at, at, theater.conflicttheater.LAND, theater.conflicttheater.SIZE_SMALL, 1) + return cls(0, name, at, at, theater.conflicttheater.LAND, theater.conflicttheater.SIZE_SMALL, 1) def __str__(self): return self.name diff --git a/theater/theatergroundobject.py b/theater/theatergroundobject.py new file mode 100644 index 00000000..b0e3a3fa --- /dev/null +++ b/theater/theatergroundobject.py @@ -0,0 +1,54 @@ +import typing + +from dcs.mapping import Point + +NAME_BY_CATEGORY = { + "power": "Power plant", + "ammo": "Ammo depot", + "fuel": "Fuel depot", + "defense": "AA Defense Site", + "warehouse": "Warehouse", +} + +ABBREV_NAME = { + "power": "PLANT", + "ammo": "AMMO", + "fuel": "FUEL", + "defense": "AA", + "warehouse": "WARE", +} + + +class TheaterGroundObject: + object_id = 0 + cp_id = 0 + group_id = 0 + heading = 0 + location = None # type: typing.Collection[int] + category = None # type: str + + def __init__(self, category, cp_id, group_id, object_id, location, heading): + self.category = category + self.cp_id = cp_id + self.group_id = group_id + self.object_id = object_id + self.location = location + self.heading = heading + + @property + def string_identifier(self): + return "{}|{}|{}|{}".format(self.category, self.cp_id, self.group_id, self.object_id) + + @property + def position(self) -> Point: + return Point(*self.location) + + @property + def name_abbrev(self) -> str: + return ABBREV_NAME[self.category] + + def __str__(self): + return NAME_BY_CATEGORY[self.category] + + def matches_string_identifier(self, id): + return self.string_identifier == id diff --git a/ui/eventmenu.py b/ui/eventmenu.py index 26ae3f3d..a7673038 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -4,25 +4,31 @@ from ui.eventresultsmenu import * from game import * from game.event import * -from .styles import STYLES +from .styles import STYLES, RED UNITTYPES_FOR_EVENTS = { FrontlineAttackEvent: [CAS, PinpointStrike], FrontlinePatrolEvent: [CAP, PinpointStrike], BaseAttackEvent: [CAP, CAS, PinpointStrike], + StrikeEvent: [CAP, CAS], InterceptEvent: [CAP], InsurgentAttackEvent: [CAS], NavalInterceptEvent: [CAS], - AntiAAStrikeEvent: [CAS], InfantryTransportEvent: [Embarking], } +AI_BAN_FOR_EVENTS = { + InfantryTransportEvent: [Embarking], + StrikeEvent: [CAS], +} + class EventMenu(Menu): aircraft_scramble_entries = None # type: typing.Dict[PlaneType , Entry] aircraft_client_entries = None # type: typing.Dict[PlaneType, Entry] armor_scramble_entries = None # type: typing.Dict[VehicleType, Entry] + error_label = None # type: Label awacs = None # type: IntVar def __init__(self, window: Window, parent, game: Game, event: event.Event): @@ -54,11 +60,14 @@ class EventMenu(Menu): def label(text, _row=None, _column=None, sticky=None): nonlocal row - Label(self.frame, text=text, **STYLES["widget"]).grid(row=_row and _row or row, column=_column and _column or 0, sticky=sticky) + new_label = Label(self.frame, text=text, **STYLES["widget"]) + new_label.grid(row=_row and _row or row, column=_column and _column or 0, sticky=sticky) if _row is None: row += 1 + return new_label + def scrable_row(unit_type, unit_count): nonlocal row Label(self.frame, text="{} ({})".format(db.unit_type_name(unit_type), unit_count), **STYLES["widget"]).grid(row=row, sticky=W) @@ -138,6 +147,8 @@ class EventMenu(Menu): row += 1 header("Ready ?") + self.error_label = label("") + self.error_label["fg"] = RED Button(self.frame, text="Commit", command=self.start, **STYLES["btn-primary"]).grid(column=0, row=row, sticky=E, padx=5, pady=(10,10)) Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-warning"]).grid(column=3, row=row, sticky=E, padx=5, pady=(10,10)) row += 1 @@ -214,6 +225,16 @@ class EventMenu(Menu): if amount > 0: scrambled_armor[unit_type] = amount + if type(self.event) in AI_BAN_FOR_EVENTS: + banned_tasks_for_ai = AI_BAN_FOR_EVENTS[type(self.event)] + for task in banned_tasks_for_ai: + scrambled_slots = [1 for x in scrambled_aircraft if db.unit_task(x) == task] + scrambled_client_slots = [1 for x in scrambled_clients if db.unit_task(x) == task] + + if scrambled_slots != scrambled_client_slots: + self.error_label["text"] = "AI slots of task {} are not supported for this operation".format(task.name) + return + if type(self.event) is BaseAttackEvent: e = self.event # type: BaseAttackEvent if self.game.is_player_attack(self.event): @@ -263,6 +284,14 @@ class EventMenu(Menu): e.player_attacking(transport=scrambled_aircraft, clients=scrambled_clients) else: assert False + elif type(self.event) is StrikeEvent: + e = self.event # type: StrikeEvent + if self.game.is_player_attack(self.event): + e.player_attacking(strikegroup=scrambled_cas, + escort=scrambled_sweep, + clients=scrambled_clients) + else: + assert False self.game.initiate_event(self.event) EventResultsMenu(self.window, self.parent, self.game, self.event).display() diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index 16db01d2..dc149bed 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -54,12 +54,9 @@ class EventResultsMenu(Menu): pg.start(10) row += 1 - Separator(self.frame, orient=HORIZONTAL).grid(row=row, sticky=EW); - row += 1 - Label(self.frame, text="Cheat operation results: ", **STYLES["strong"]).grid(column=0, row=row, columnspan=2, sticky=NSEW, - pady=5); + pady=5) row += 1 Button(self.frame, text="full enemy losses", command=self.simulate_result(0, 1), @@ -116,7 +113,7 @@ class EventResultsMenu(Menu): def simulate_result(self, player_factor: float, enemy_factor: float): def action(): - debriefing = Debriefing({}) + debriefing = Debriefing({}, []) def count(country: Country) -> typing.Dict[UnitType, int]: result = {} diff --git a/userdata/debriefing.py b/userdata/debriefing.py index 9b641578..4cce6290 100644 --- a/userdata/debriefing.py +++ b/userdata/debriefing.py @@ -59,14 +59,59 @@ def parse_mutliplayer_debriefing(contents: str): class Debriefing: - def __init__(self, dead_units): + def __init__(self, dead_units, dead_objects): self.destroyed_units = {} # type: typing.Dict[str, typing.Dict[UnitType, int]] self.alive_units = {} # type: typing.Dict[str, typing.Dict[UnitType, int]] + self.destroyed_objects = [] # type: typing.List[str] self._dead_units = dead_units + self._dead_objects = dead_objects @classmethod def parse(cls, path: str): + dead_units = {} + dead_objects = [] + + def append_dead_unit(country_id, unit_type): + nonlocal dead_units + if country_id not in dead_units: + dead_units[country_id] = {} + + if unit_type not in dead_units[country_id]: + dead_units[country_id][unit_type] = 0 + + dead_units[country_id][unit_type] += 1 + + def append_dead_object(object_mission_id_str): + nonlocal dead_objects + object_mission_id = int(object_mission_id_str) + if object_mission_id in dead_objects: + logging.info("debriefing: failed to append_dead_object {}: already exists!".format(object_mission_id)) + return + + dead_objects.append(object_mission_id) + + def parse_dead_unit(event): + try: + components = event["initiator"].split("|") + category, country_id, group_id, unit_type = components[0], int(components[1]), int(components[2]), db.unit_type_from_name(components[3]) + if unit_type is None: + logging.info("Skipped {} due to no unit type".format(event)) + return + + if category == "unit": + append_dead_unit(country_id, unit_type) + else: + logging.info("Skipped {} due to category".format(event)) + except Exception as e: + logging.error(e) + + def parse_dead_object(event): + try: + append_dead_object(event["initiatorMissionID"]) + except Exception as e: + logging.error(e) + with open(path, "r") as f: table_string = f.read() try: @@ -75,36 +120,18 @@ class Debriefing: table = parse_mutliplayer_debriefing(table_string) events = table.get("debriefing", {}).get("events", {}) - dead_units = {} - for event in events.values(): event_type = event.get("type", None) - if event_type != "crash" and event_type != "dead": - continue + if event_type in ["crash", "dead"]: + object_initiator = event["initiator"] in ["SKLAD_CRUSH", "SKLADCDESTR", "TEC_A_CRUSH", "BAK_CRUSH"] + defense_initiator = event["initiator"].startswith("defense|") - try: - components = event["initiator"].split("|") - category, country_id, group_id, unit_type = components[0], int(components[1]), int(components[2]), db.unit_type_from_name(components[3]) - if unit_type is None: - logging.info("Skipped due to no unit type") - continue + if object_initiator or defense_initiator: + parse_dead_object(event) + else: + parse_dead_unit(event) - if category != "unit": - logging.info("Skipped due to category") - continue - except Exception as e: - logging.error(e) - continue - - if country_id not in dead_units: - dead_units[country_id] = {} - - if unit_type not in dead_units[country_id]: - dead_units[country_id][unit_type] = 0 - - dead_units[country_id][unit_type] += 1 - - return Debriefing(dead_units) + return Debriefing(dead_units, dead_objects) def calculate_units(self, mission: Mission, player_name: str, enemy_name: str): def count_groups(groups: typing.List[UnitType]) -> typing.Dict[UnitType, int]: @@ -142,6 +169,13 @@ class Debriefing: enemy.name: {k: v - self.destroyed_units[enemy.name].get(k, 0) for k, v in enemy_units.items()}, } + for mission_id in self._dead_objects: + for group in mission.country(enemy.name).static_group + mission.country(enemy.name).vehicle_group: + if group.id == mission_id: + self.destroyed_objects.append(str(group.name)) + + self.destroyed_objects += self._dead_defense + def debriefing_directory_location() -> str: return os.path.join(base_path(), "liberation_debriefings") From 4ba1dd87e8d68a660230d400c09d5625a6863009 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 9 Sep 2018 04:15:44 +0300 Subject: [PATCH 14/63] updates to strike missions; frontline operations invalid units placement fixed; minor UI updates --- __init__.py | 5 +- game/event/baseattack.py | 1 + game/game.py | 11 +-- game/operation/strike.py | 8 +++ gen/armor.py | 4 +- gen/conflictgen.py | 68 +++++++++++-------- gen/groundobjectsgen.py | 5 +- resources/cau_groundobjects.p | Bin 1035 -> 7332 bytes resources/caulandmap.p | Bin 3704 -> 8863 bytes resources/tools/cau_groundobjects.miz | Bin 7636 -> 15096 bytes resources/tools/cau_terrain.miz | Bin 14075 -> 30035 bytes resources/tools/generate_groundobjectsmap.py | 41 ++++++++--- resources/tools/generate_landmap.py | 16 ++--- theater/caucasus.py | 2 +- theater/conflicttheater.py | 21 +++--- theater/controlpoint.py | 3 +- theater/landmap.py | 15 +++- theater/persiangulf.py | 4 +- theater/theatergroundobject.py | 12 ++-- ui/configurationmenu.py | 13 +++- ui/corruptedsavemenu.py | 4 +- ui/eventmenu.py | 25 +++---- ui/eventresultsmenu.py | 4 ++ ui/mainmenu.py | 10 ++- ui/overviewcanvas.py | 1 + 25 files changed, 176 insertions(+), 97 deletions(-) diff --git a/__init__.py b/__init__.py index 0579cdea..0b199404 100755 --- a/__init__.py +++ b/__init__.py @@ -17,7 +17,7 @@ from game.game import Game from theater import start_generator from userdata import persistency, logging as logging_module -assert len(sys.argv) == 3, "__init__.py should be started with two mandatory arguments: %UserProfile% location and application version" +assert len(sys.argv) >= 3, "__init__.py should be started with two mandatory arguments: %UserProfile% location and application version" persistency.setup(sys.argv[1]) dcs.planes.FlyingType.payload_dirs = [os.path.join(os.path.dirname(os.path.realpath(__file__)), "resources\\payloads")] @@ -36,6 +36,9 @@ def is_version_compatible(save_version): current_version = VERSION_STRING.split(".") save_version = save_version.split(".") + if "--ignore-save" in sys.argv: + return False + if current_version[:2] == save_version[:2]: return True diff --git a/game/event/baseattack.py b/game/event/baseattack.py index 0650ec0c..a85b4640 100644 --- a/game/event/baseattack.py +++ b/game/event/baseattack.py @@ -32,6 +32,7 @@ class BaseAttackEvent(Event): if self.is_successfull(debriefing): if self.from_cp.captured: self.to_cp.captured = True + self.to_cp.ground_objects = [] self.to_cp.base.filter_units(db.UNIT_BY_COUNTRY[self.attacker_name]) self.to_cp.base.affect_strength(+self.STRENGTH_RECOVERY) diff --git a/game/game.py b/game/game.py index 7ee777b5..3046b644 100644 --- a/game/game.py +++ b/game/game.py @@ -127,7 +127,10 @@ class Game: if event_class == BaseAttackEvent and enemy_cp.base.strength > PLAYER_BASEATTACK_THRESHOLD: pass else: - self.events.append(event_class(self.player, self.enemy, player_cp, enemy_cp, self)) + if event_class == StrikeEvent and not enemy_cp.ground_objects: + pass + else: + self.events.append(event_class(self.player, self.enemy, player_cp, enemy_cp, self)) elif self._roll(enemy_probability, enemy_cp.base.strength): if event_class in enemy_generated_types: continue @@ -141,15 +144,15 @@ class Game: if event_class == NavalInterceptEvent: if player_cp.radials == LAND: continue + elif event_class == StrikeEvent: + if not player_cp.ground_objects: + continue elif event_class == BaseAttackEvent: if enemy_cap_generated: continue if enemy_cp.base.total_armor == 0: continue enemy_cap_generated = True - elif event_class == AntiAAStrikeEvent: - if player_cp.base.total_aa == 0: - continue enemy_generated_types.append(event_class) self.events.append(event_class(self.enemy, self.player, enemy_cp, player_cp, self)) diff --git a/game/operation/strike.py b/game/operation/strike.py index 85bac18a..430235e0 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -47,7 +47,13 @@ class StrikeOperation(Operation): def generate(self): targets = [] # type: typing.List[typing.Tuple[str, Point]] category_counters = {} # type: typing.Dict[str, int] + processed_groups = [] for object in self.to_cp.ground_objects: + if object.group_id in processed_groups: + continue + + processed_groups.append(object.group_id) + category_counters[object.category] = category_counters.get(object.category, 0) + 1 markpoint_name = "{}{}".format(object.name_abbrev, category_counters[object.category]) targets.append((markpoint_name, object.position)) @@ -68,4 +74,6 @@ class StrikeOperation(Operation): clients={}, at=self.defenders_starting_position) + self.briefinggen.title = "Strike" + self.briefinggen.description = "Destroy infrastructure assets and military supplies in the region. Each building destroyed will lower targets strength." super(StrikeOperation, self).generate() diff --git a/gen/armor.py b/gen/armor.py index 7ba55402..876fa13c 100644 --- a/gen/armor.py +++ b/gen/armor.py @@ -100,8 +100,10 @@ class ArmorConflictGenerator: attacker_groups = list(db.unitdict_split(attackers, single_fight_attackers_count)) for attacker_group_dict, target_group_dict in zip_longest(attacker_groups, defender_groups): + padding = FRONTLINE_CAS_PADDING if FRONTLINE_CAS_PADDING < self.conflict.distance else 0 + position = self.conflict.position.point_from_heading(self.conflict.heading, - random.randint(FRONTLINE_CAS_PADDING, int(self.conflict.distance - FRONTLINE_CAS_PADDING))) + random.randint(padding, int(self.conflict.distance - padding))) self._generate_fight_at(attacker_group_dict, target_group_dict, position) def generate_passengers(self, count: int): diff --git a/gen/conflictgen.py b/gen/conflictgen.py index b7dc71fe..30e4a53a 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -152,36 +152,48 @@ class Conflict: @classmethod def frontline_vector(cls, from_cp: ControlPoint, to_cp: ControlPoint, theater: ConflictTheater) -> typing.Tuple[Point, int, int]: center_position, heading = cls.frontline_position(from_cp, to_cp) + left_position, right_position = None, None - left_position = center_position - - for offset in range(0, int(FRONTLINE_LENGTH / 2), 1000): - pos = center_position.point_from_heading(_heading_sum(heading, -90), offset) - if not theater.is_on_land(pos): - break - else: - left_position = pos - - right_position = center_position - for offset in range(0, int(FRONTLINE_LENGTH / 2), 1000): - pos = center_position.point_from_heading(_heading_sum(heading, 90), offset) - if not theater.is_on_land(pos): - break - else: + if not theater.is_on_land(center_position): + pos = cls._find_ground_position(center_position, FRONTLINE_LENGTH, _heading_sum(heading, -90), theater) + if pos: right_position = pos + center_position = pos + else: + pos = cls._find_ground_position(center_position, FRONTLINE_LENGTH, _heading_sum(heading, +90), theater) + if pos: + left_position = pos + center_position = pos + print("{} - {} {}".format(from_cp, to_cp, center_position)) - return left_position, _heading_sum(heading, 90), right_position.distance_to_point(left_position) + if left_position is None: + left_position = cls._extend_ground_position(center_position, int(FRONTLINE_LENGTH/2), _heading_sum(heading, -90), theater) + + if right_position is None: + right_position = cls._extend_ground_position(center_position, int(FRONTLINE_LENGTH/2), _heading_sum(heading, 90), theater) + + return left_position, _heading_sum(heading, 90), int(right_position.distance_to_point(left_position)) @classmethod - def _find_ground_location(cls, initial: Point, max_distance: int, heading: int, theater: ConflictTheater) -> Point: - for _ in range(0, int(max_distance), 800): - for _ in range(3): - if theater.is_on_land(initial): - return initial + def _extend_ground_position(cls, initial: Point, max_distance: int, heading: int, theater: ConflictTheater) -> Point: + pos = initial + for offset in range(0, int(max_distance), 500): + new_pos = initial.point_from_heading(heading, offset) + if theater.is_on_land(new_pos): + pos = new_pos + else: + return pos - initial = initial.random_point_within(1000, 1000) + return pos - initial = initial.point_from_heading(heading, 800) + @classmethod + def _find_ground_position(cls, initial: Point, max_distance: int, heading: int, theater: ConflictTheater) -> Point: + pos = initial + for _ in range(0, int(max_distance), 500): + if theater.is_on_land(pos): + return pos + + pos = pos.point_from_heading(heading, 500) logging.info("Didn't find ground position!") return None @@ -195,10 +207,10 @@ class Conflict: distance = to_cp.size * GROUND_DISTANCE_FACTOR attackers_location = position.point_from_heading(attack_heading, distance) - attackers_location = Conflict._find_ground_location(attackers_location, distance * 2, _heading_sum(attack_heading, 180), theater) + attackers_location = Conflict._find_ground_position(attackers_location, distance * 2, _heading_sum(attack_heading, 180), theater) defenders_location = position.point_from_heading(defense_heading, distance) - defenders_location = Conflict._find_ground_location(defenders_location, distance * 2, _heading_sum(defense_heading, 180), theater) + defenders_location = Conflict._find_ground_position(defenders_location, distance * 2, _heading_sum(defense_heading, 180), theater) return cls( position=position, @@ -238,7 +250,7 @@ class Conflict: def ground_attack_conflict(cls, attacker: Country, defender: Country, from_cp: ControlPoint, to_cp: ControlPoint, theater: ConflictTheater): heading = random.choice(to_cp.radials) initial_location = to_cp.position.random_point_within(*GROUND_ATTACK_DISTANCE) - position = Conflict._find_ground_location(initial_location, GROUND_INTERCEPT_SPREAD, _heading_sum(heading, 180), theater) + position = Conflict._find_ground_position(initial_location, GROUND_INTERCEPT_SPREAD, _heading_sum(heading, 180), theater) if not position: heading = to_cp.find_radial(to_cp.position.heading_between_point(from_cp.position)) position = to_cp.position.point_from_heading(heading, to_cp.size * GROUND_DISTANCE_FACTOR) @@ -306,7 +318,7 @@ class Conflict: distance = to_cp.size * GROUND_DISTANCE_FACTOR defenders_location = position.point_from_heading(defense_heading, distance) - defenders_location = Conflict._find_ground_location(defenders_location, distance * 2, _heading_sum(defense_heading, 180), theater) + defenders_location = Conflict._find_ground_position(defenders_location, distance * 2, _heading_sum(defense_heading, 180), theater) return cls( position=position, @@ -351,7 +363,7 @@ class Conflict: def transport_conflict(cls, attacker: Country, defender: Country, from_cp: ControlPoint, to_cp: ControlPoint, theater: ConflictTheater): frontline_position, heading = cls.frontline_position(from_cp, to_cp) initial_dest = frontline_position.point_from_heading(heading, TRANSPORT_FRONTLINE_DIST) - dest = cls._find_ground_location(initial_dest, from_cp.position.distance_to_point(to_cp.position) / 3, heading, theater) + dest = cls._find_ground_position(initial_dest, from_cp.position.distance_to_point(to_cp.position) / 3, heading, theater) if not dest: radial = to_cp.find_radial(to_cp.position.heading_between_point(from_cp.position)) dest = to_cp.position.point_from_heading(radial, to_cp.size * GROUND_DISTANCE_FACTOR) diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index b4d9f16b..ccbd4220 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -13,6 +13,7 @@ CATEGORY_MAPPING = { "warehouse": [Warehouse.Warehouse], "fuel": [Warehouse.Tank], "ammo": [Warehouse.Ammunition_depot], + "farp": [Fortification.FARP_Tent], } @@ -40,7 +41,7 @@ class GroundObjectsGenerator: country=side, name=ground_object.string_identifier, _type=unit_type, - position=Point(*ground_object.location), + position=ground_object.position, heading=ground_object.heading ) @@ -50,7 +51,7 @@ class GroundObjectsGenerator: country=side, name=ground_object.string_identifier, _type=random.choice(CATEGORY_MAPPING[ground_object.category]), - position=Point(*ground_object.location), + position=ground_object.position, heading=ground_object.heading ) diff --git a/resources/cau_groundobjects.p b/resources/cau_groundobjects.p index 4a47c810f23ae2ca0a60add36fcdb859acc31ae0..1cf0d8a63764de57843579f3fe077553998cf70e 100644 GIT binary patch literal 7332 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 IE=F_Ezc@Klv;Y7A literal 1035 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 Iy}fn+559ff=l}o! literal 3704 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 diff --git a/resources/tools/cau_groundobjects.miz b/resources/tools/cau_groundobjects.miz index aefc0e55df5af9c4e1810311db1b4e4613b0158d..6f1976f4f218edd3eedca6537a247454a7b31f1f 100644 GIT binary patch delta 12988 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 F{{#2tNnrp0 diff --git a/resources/tools/cau_terrain.miz b/resources/tools/cau_terrain.miz index 6655e5ae7ab76426a0bb574ca0f04048b73530e2..20d0c5dbeb6d7db15f23f92c750ed1e1cff0d859 100644 GIT binary patch literal 30035 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 literal 14075 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 typing.Tuple: - args = str(name).split("|") - if len(args) == 3: - args.append("1") + args = str(name.split()[0]).split("|") - return args[0], int(args[1]), int(args[2]), int(args[3]) + return args[0], int(args[1]), int(args[2]) for group in m.country("Russia").static_group + m.country("Russia").vehicle_group: try: - category, cp_id, group_id, object_id = parse_name(str(group.name)) + category, cp_id, group_id = parse_name(str(group.name)) except: print("Failed to parse {}".format(group.name)) continue - append_group(cp_id, category, group_id, object_id, [group.position.x, group.position.y], group.units[0].heading) + ids_counters_key = "{}_{}".format(cp_id, group_id) + ids_counters[ids_counters_key] = ids_counters.get(ids_counters_key, 0) + 1 + object_id = ids_counters[ids_counters_key] + append_group(cp_id, category, group_id, object_id, group.position, group.units[0].heading) + +GROUP_TRESHOLD = 300 +did_check_pairs = [] +for group_id, objects_in_group in result_by_groups.items(): + for a in objects_in_group: + for b in objects_in_group: + if (a, b) in did_check_pairs: + continue + + did_check_pairs.append((a, b)) + distance = a.position.distance_to_point(b.position) + if distance > GROUP_TRESHOLD: + print("Objects {} and {} in group {} are too far apart ({})!".format(a.string_identifier, b.string_identifier, group_id, distance)) print("Total {} objects".format(sum([len(x) for x in result.values()]))) + + with open("../cau_groundobjects.p", "wb") as f: pickle.dump(result, f) diff --git a/resources/tools/generate_landmap.py b/resources/tools/generate_landmap.py index a758e0ee..5e472aaa 100644 --- a/resources/tools/generate_landmap.py +++ b/resources/tools/generate_landmap.py @@ -1,14 +1,14 @@ import pickle from dcs.mission import Mission -from dcs.terrain import PersianGulf -m = Mission() -m.load_file("./gulf_terrain.miz") +for terrain in ["cau", "gulf"]: + m = Mission() + m.load_file("./{}_terrain.miz".format(terrain)) -landmap = [] -for plane_group in m.country("USA").plane_group: - landmap.append([(x.position.x, x.position.y) for x in plane_group.points]) + landmap = [] + for plane_group in m.country("USA").plane_group: + landmap.append([(x.position.x, x.position.y) for x in plane_group.points]) -with open("../gulflandmap.p", "wb") as f: - pickle.dump(landmap, f) + with open("../{}landmap.p".format(terrain), "wb") as f: + pickle.dump(landmap, f) diff --git a/theater/caucasus.py b/theater/caucasus.py index 82e1c4b6..fd824c4a 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -13,7 +13,7 @@ class CaucasusTheater(ConflictTheater): overview_image = "caumap.gif" reference_points = {(-317948.32727306, 635639.37385346): (282.5, 319), (-355692.3067714, 617269.96285781): (269, 352), } - landmap_poly = load_poly("resources\\caulandmap.p") + landmap = load_landmap("resources\\caulandmap.p") daytime_map = { "dawn": (6, 9), "day": (9, 18), diff --git a/theater/conflicttheater.py b/theater/conflicttheater.py index baa3f445..5f78c198 100644 --- a/theater/conflicttheater.py +++ b/theater/conflicttheater.py @@ -4,7 +4,7 @@ import itertools import dcs from dcs.mapping import Point -from .landmap import ray_tracing +from .landmap import Landmap, poly_contains from .controlpoint import ControlPoint from .theatergroundobject import TheaterGroundObject @@ -52,12 +52,11 @@ class ConflictTheater: reference_points = None # type: typing.Dict overview_image = None # type: str - landmap_poly = None + landmap = None # type: landmap.Landmap daytime_map = None # type: typing.Dict[str, typing.Tuple[int, int]] def __init__(self): self.controlpoints = [] - self.groundobjects = [] def set_groundobject(self, dictionary: typing.Dict[int, typing.Collection[TheaterGroundObject]]): for id, value in dictionary.items(): @@ -73,14 +72,20 @@ class ConflictTheater: self.controlpoints.append(point) def is_on_land(self, point: Point) -> bool: - if not self.landmap_poly: + if not self.landmap: return True - for poly in self.landmap_poly: - if ray_tracing(point.x, point.y, poly): - return True + # check first poly (main land poly) + if not poly_contains(point.x, point.y, self.landmap[0]): + return False - return False + # check others polys (exclusion zones from main) + for poly in self.landmap[1:]: + if poly_contains(point.x, point.y, poly): + # point is in one of the exclusion zones, meaning that it's in the lake or something + return False + + return True def player_points(self) -> typing.Collection[ControlPoint]: return [point for point in self.controlpoints if point.captured] diff --git a/theater/controlpoint.py b/theater/controlpoint.py index f8985244..72e44017 100644 --- a/theater/controlpoint.py +++ b/theater/controlpoint.py @@ -9,7 +9,7 @@ from .theatergroundobject import TheaterGroundObject class ControlPoint: - connected_points = [] # type: typing.List[ControlPoint] + connected_points = None # type: typing.List[ControlPoint] ground_objects = None # type: typing.Collection[TheaterGroundObject] position = None # type: Point captured = False @@ -26,6 +26,7 @@ class ControlPoint: self.full_name = name self.position = position self.at = at + self.ground_objects = [] self.size = size self.importance = importance diff --git a/theater/landmap.py b/theater/landmap.py index ce99252e..a52a00eb 100644 --- a/theater/landmap.py +++ b/theater/landmap.py @@ -1,7 +1,10 @@ import pickle +import typing + +Landmap = typing.Collection[typing.Collection[typing.Tuple[float, float]]] -def load_poly(filename: str): +def load_landmap(filename: str) -> Landmap: try: with open(filename, "rb") as f: return pickle.load(f) @@ -9,7 +12,7 @@ def load_poly(filename: str): return None -def ray_tracing(x, y, poly): +def poly_contains(x, y, poly): n = len(poly) inside = False xints = 0.0 @@ -25,3 +28,11 @@ def ray_tracing(x, y, poly): inside = not inside p1x, p1y = p2x, p2y return inside + +def poly_centroid(poly) -> typing.Tuple[float, float]: + x_list = [vertex[0] for vertex in poly] + y_list = [vertex[1] for vertex in poly] + x = sum(x_list) / len(poly) + y = sum(y_list) / len(poly) + return (x, y) + diff --git a/theater/persiangulf.py b/theater/persiangulf.py index 0cc3e06a..0c06b2f7 100644 --- a/theater/persiangulf.py +++ b/theater/persiangulf.py @@ -3,7 +3,7 @@ from dcs import mapping from .conflicttheater import * from .base import * -from .landmap import load_poly +from .landmap import load_landmap class PersianGulfTheater(ConflictTheater): @@ -11,7 +11,7 @@ class PersianGulfTheater(ConflictTheater): overview_image = "persiangulf.gif" reference_points = {(persiangulf.Sir_Abu_Nuayr.position.x, persiangulf.Sir_Abu_Nuayr.position.y): (321, 145), (persiangulf.Sirri_Island.position.x, persiangulf.Sirri_Island.position.y): (347, 82), } - landmap_poly = load_poly("resources\\gulflandmap.p") + landmap = load_landmap("resources\\gulflandmap.p") daytime_map = { "dawn": (6, 8), "day": (8, 16), diff --git a/theater/theatergroundobject.py b/theater/theatergroundobject.py index b0e3a3fa..83a11fc4 100644 --- a/theater/theatergroundobject.py +++ b/theater/theatergroundobject.py @@ -8,6 +8,7 @@ NAME_BY_CATEGORY = { "fuel": "Fuel depot", "defense": "AA Defense Site", "warehouse": "Warehouse", + "farp": "FARP", } ABBREV_NAME = { @@ -16,6 +17,7 @@ ABBREV_NAME = { "fuel": "FUEL", "defense": "AA", "warehouse": "WARE", + "farp": "FARP", } @@ -24,25 +26,21 @@ class TheaterGroundObject: cp_id = 0 group_id = 0 heading = 0 - location = None # type: typing.Collection[int] + position = None # type: Point category = None # type: str - def __init__(self, category, cp_id, group_id, object_id, location, heading): + def __init__(self, category, cp_id, group_id, object_id, position, heading): self.category = category self.cp_id = cp_id self.group_id = group_id self.object_id = object_id - self.location = location + self.position = position self.heading = heading @property def string_identifier(self): return "{}|{}|{}|{}".format(self.category, self.cp_id, self.group_id, self.object_id) - @property - def position(self) -> Point: - return Point(*self.location) - @property def name_abbrev(self) -> str: return ABBREV_NAME[self.category] diff --git a/ui/configurationmenu.py b/ui/configurationmenu.py index a44a5b05..2a82ba1b 100644 --- a/ui/configurationmenu.py +++ b/ui/configurationmenu.py @@ -1,3 +1,5 @@ +import webbrowser + from tkinter import * from tkinter.ttk import * from .styles import STYLES @@ -64,7 +66,16 @@ class ConfigurationMenu(Menu): Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=4, column=1, sticky=E) Button(body, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(row=5, column=1, sticky=E, pady=30) - Button(body, text="Cheat +200m", command=self.cheat_money, **STYLES["btn-danger"]).grid(row=6, column=1) + + Label(body, text="Contributors: ", **STYLES["widget"]).grid(row=6, column=0, sticky=W) + + Label(body, text="shdwp - author, maintainer", **STYLES["widget"]).grid(row=7, column=0, sticky=W) + Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/shdwp"), **STYLES["widget"]).grid(row=7, column=1, sticky=E) + + Label(body, text="Khopa - contributions", **STYLES["widget"]).grid(row=8, column=0, sticky=W) + Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/Khopa"), **STYLES["widget"]).grid(row=8, column=1, sticky=E) + + Button(body, text="Cheat +200m", command=self.cheat_money, **STYLES["btn-danger"]).grid(row=10, column=1, pady=30) def cheat_money(self): self.game.budget += 200 diff --git a/ui/corruptedsavemenu.py b/ui/corruptedsavemenu.py index 85264011..40f05e69 100644 --- a/ui/corruptedsavemenu.py +++ b/ui/corruptedsavemenu.py @@ -13,6 +13,6 @@ class CorruptedSaveMenu(Menu): def display(self): self.window.clear_right_pane() - Label(text="Your save game was corrupted!", **STYLES["widget"]).grid(row=0, column=0) + Label(text="Your save game is either incompatible or was corrupted!", **STYLES["widget"]).grid(row=0, column=0) Label(text="Please restore it by replacing \"liberation_save\" file with \"liberation_save_tmp\" to restore last saved copy.", **STYLES["widget"]).grid(row=1, column=0) - Label(text="You can find those files under user DCS directory.", **STYLES["widget"]).grid(row=2, column=0) + Label(text="You can find those files under user Saved Games\\DCS directory.", **STYLES["widget"]).grid(row=2, column=0) diff --git a/ui/eventmenu.py b/ui/eventmenu.py index a7673038..55076591 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -8,14 +8,14 @@ from .styles import STYLES, RED UNITTYPES_FOR_EVENTS = { - FrontlineAttackEvent: [CAS, PinpointStrike], - FrontlinePatrolEvent: [CAP, PinpointStrike], - BaseAttackEvent: [CAP, CAS, PinpointStrike], - StrikeEvent: [CAP, CAS], - InterceptEvent: [CAP], - InsurgentAttackEvent: [CAS], - NavalInterceptEvent: [CAS], - InfantryTransportEvent: [Embarking], + FrontlineAttackEvent: [[CAS, PinpointStrike], [CAP]], + FrontlinePatrolEvent: [[CAP, PinpointStrike], [CAP]], + BaseAttackEvent: [[CAP, CAS, PinpointStrike], [CAP, CAS, PinpointStrike]], + StrikeEvent: [[CAP, CAS], [CAP]], + InterceptEvent: [[CAP], [CAP]], + InsurgentAttackEvent: [[CAS], [CAP]], + NavalInterceptEvent: [[CAS], [CAP]], + InfantryTransportEvent: [[Embarking], [CAP]], } AI_BAN_FOR_EVENTS = { @@ -115,7 +115,8 @@ class EventMenu(Menu): Label(self.frame, text="Client slots", **STYLES["widget"]).grid(row=row, column=3, columnspan=2) row += 1 - filter_to = UNITTYPES_FOR_EVENTS[self.event.__class__] + filter_attackers_index = 0 if self.game.is_player_attack(self.event) else 1 + filter_to = UNITTYPES_FOR_EVENTS[self.event.__class__][filter_attackers_index] for unit_type, count in self.base.aircraft.items(): if filter_to and db.unit_task(unit_type) not in filter_to: continue @@ -262,12 +263,6 @@ class EventMenu(Menu): elif type(self.event) is NavalInterceptEvent: e = self.event # type: NavalInterceptEvent - if self.game.is_player_attack(self.event): - e.player_attacking(strikegroup=scrambled_aircraft, clients=scrambled_clients) - else: - e.player_defending(interceptors=scrambled_aircraft, clients=scrambled_clients) - elif type(self.event) is AntiAAStrikeEvent: - e = self.event # type: AntiAAStrikeEvent if self.game.is_player_attack(self.event): e.player_attacking(strikegroup=scrambled_aircraft, clients=scrambled_clients) else: diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index dc149bed..f3341f0e 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -86,6 +86,10 @@ class EventResultsMenu(Menu): header("Enemy losses") + if self.debriefing.destroyed_objects: + Label(self.frame, text="Ground assets", **STYLES["widget"]).grid(row=row) + Label(self.frame, text="{}".format(len(self.debriefing.destroyed_objects)), **STYLES["widget"]).grid(column=1, row=row) + for unit_type, count in self.enemy_losses.items(): if count == 0: continue diff --git a/ui/mainmenu.py b/ui/mainmenu.py index 63106d20..07dac796 100644 --- a/ui/mainmenu.py +++ b/ui/mainmenu.py @@ -51,10 +51,9 @@ class MainMenu(Menu): nonlocal row, body frame = LabelFrame(body, **STYLES["label-frame"]) frame.grid(row=row, sticky=NSEW) - Message(frame, text="{}{} at {}".format( + Message(frame, text="{}{}".format( event.defender_name == self.game.player and "Enemy attacking: " or "", - event, - event.to_cp, + event ), aspect=1600, **STYLES["widget"]).grid(column=0, row=0, sticky=NSEW) Button(body, text=">", command=self.start_event(event), **STYLES["btn-primary"]).grid(column=1, row=row, sticky=E) row += 1 @@ -63,9 +62,8 @@ class MainMenu(Menu): nonlocal row, body Label(body, text=text, **STYLES["strong"]).grid(column=0, columnspan=2, row=row, sticky=N+EW, pady=(pady,0)); row += 1 - #Separator(self.frame, orient='horizontal').grid(row=row, sticky=EW); row += 1 - events = self.game.events + events.sort(key=lambda x: x.to_cp.name) events.sort(key=lambda x: x.from_cp.name) events.sort(key=lambda x: x.informational and 2 or (self.game.is_player_attack(x) and 1 or 0)) @@ -74,7 +72,7 @@ class MainMenu(Menu): for event in events: if not event.informational: if self.game.is_player_attack(event): - new_destination = event.from_cp.name + new_destination = "From {} to {}".format(event.from_cp.name, event.to_cp.name) else: new_destination = "Enemy attack" if destination != new_destination: diff --git a/ui/overviewcanvas.py b/ui/overviewcanvas.py index e3522e35..5a56f101 100644 --- a/ui/overviewcanvas.py +++ b/ui/overviewcanvas.py @@ -81,6 +81,7 @@ class OverviewCanvas: if cp.captured and not connected_cp.captured and Conflict.has_frontline_between(cp, connected_cp): frontline_pos, heading, distance = Conflict.frontline_vector(cp, connected_cp, self.game.theater) + distance = max(distance, 1000) start_coords = self.transform_point(frontline_pos, treshold=10) end_coords = self.transform_point(frontline_pos.point_from_heading(heading, distance), treshold=60) From a918914431f4b181e21c42000a287acfdd6ed110 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 9 Sep 2018 20:21:07 +0300 Subject: [PATCH 15/63] dont limit aircraft to predefined role; better scrambling screen --- game/db.py | 1 + game/event/baseattack.py | 43 +++-- game/event/event.py | 19 +++ game/event/frontlineattack.py | 24 ++- game/event/frontlinepatrol.py | 24 ++- game/event/infantrytransport.py | 18 ++- game/event/insurgentattack.py | 16 +- game/event/intercept.py | 32 ++-- game/event/navalintercept.py | 33 ++-- game/event/strike.py | 31 +++- game/game.py | 4 +- game/operation/baseattack.py | 22 +-- game/operation/frontlineattack.py | 8 +- game/operation/frontlinepatrol.py | 21 ++- game/operation/infantrytransport.py | 12 +- game/operation/insurgentattack.py | 8 +- game/operation/intercept.py | 14 +- game/operation/navalintercept.py | 16 +- game/operation/operation.py | 22 ++- game/operation/strike.py | 29 ++-- game/settings.py | 2 +- gen/aircraft.py | 2 +- gen/heli.py | 5 + theater/theatergroundobject.py | 4 + ui/eventmenu.py | 242 ++++++++-------------------- 25 files changed, 332 insertions(+), 320 deletions(-) create mode 100644 gen/heli.py diff --git a/game/db.py b/game/db.py index 374b58d8..4303bc10 100644 --- a/game/db.py +++ b/game/db.py @@ -1,4 +1,5 @@ import typing +import enum from dcs.vehicles import * from dcs.unitgroup import * diff --git a/game/event/baseattack.py b/game/event/baseattack.py index a85b4640..dc356f0c 100644 --- a/game/event/baseattack.py +++ b/game/event/baseattack.py @@ -1,13 +1,16 @@ +import typing import math import random from dcs.task import * +from dcs.unittype import UnitType from game import db from game.operation.baseattack import BaseAttackOperation from userdata.debriefing import Debriefing -from .event import Event +from .event import * +from ..operation.operation import flight_dict_from class BaseAttackEvent(Event): @@ -18,6 +21,18 @@ class BaseAttackEvent(Event): def __str__(self): return "Base attack" + @property + def tasks(self): + return [CAP, CAS, PinpointStrike] + + def flight_name(self, for_task: typing.Type[Task]) -> str: + if for_task == CAP: + return "Escort flight" + elif for_task == CAS: + return "CAS flight" + elif for_task == PinpointStrike: + return "Ground attack" + def is_successfull(self, debriefing: Debriefing): alive_attackers = sum([v for k, v in debriefing.alive_units[self.attacker_name].items() if db.unit_task(k) == PinpointStrike]) alive_defenders = sum([v for k, v in debriefing.alive_units[self.defender_name].items() if db.unit_task(k) == PinpointStrike]) @@ -45,7 +60,9 @@ class BaseAttackEvent(Event): if not self.is_player_attacking and self.to_cp.captured: self.to_cp.captured = False - def player_defending(self, interceptors: db.PlaneDict, clients: db.PlaneDict): + def player_defending(self, flights: ScrambledFlightsDict): + assert len(flights) == 1 and flights[CAP], "Invalid scrambled flights" + cas = self.from_cp.base.scramble_cas(self.game.settings.multiplier) escort = self.from_cp.base.scramble_sweep(self.game.settings.multiplier) attackers = self.from_cp.base.armor @@ -53,36 +70,34 @@ class BaseAttackEvent(Event): op = BaseAttackOperation(game=self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients={}, - defender_clients=clients, from_cp=self.from_cp, to_cp=self.to_cp) - op.setup(cas=cas, - escort=escort, + op.setup(cas=flight_dict_from(cas), + escort=flight_dict_from(escort), + intercept=flights[CAP], attack=attackers, - intercept=interceptors, defense=self.to_cp.base.armor, aa=self.to_cp.base.aa) self.operation = op - def player_attacking(self, cas: db.PlaneDict, escort: db.PlaneDict, armor: db.ArmorDict, clients: db.PlaneDict): + def player_attacking(self, flights: ScrambledFlightsDict): + assert flights[CAP] and flights[CAS] and flights[PinpointStrike] and len(flights) == 3, "Invalid flights" + op = BaseAttackOperation(game=self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients=clients, - defender_clients={}, from_cp=self.from_cp, to_cp=self.to_cp) defenders = self.to_cp.base.scramble_sweep(self.game.settings.multiplier) defenders.update(self.to_cp.base.scramble_cas(self.game.settings.multiplier)) - op.setup(cas=cas, - escort=escort, - attack=armor, - intercept=defenders, + op.setup(cas=flights[CAS], + escort=flights[CAP], + attack=flights[PinpointStrike], + intercept=flight_dict_from(defenders), defense=self.to_cp.base.armor, aa=self.to_cp.base.assemble_aa()) diff --git a/game/event/event.py b/game/event/event.py index 374d5903..c5bb75b8 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -1,16 +1,22 @@ +import typing import logging +from dcs.unittype import UnitType +from dcs.task import Task from dcs.unittype import UnitType from game import * from theater import * from gen.environmentgen import EnvironmentSettings +from game.operation.operation import flight_dict_from, dict_from_flight from userdata.debriefing import Debriefing from userdata import persistency DIFFICULTY_LOG_BASE = 1.1 +ScrambledFlightsDict = typing.Dict[typing.Type[Task], typing.Dict[typing.Type[UnitType], typing.Tuple[int, int]]] + class Event: silent = False @@ -44,12 +50,25 @@ class Event: def threat_description(self) -> str: return "" + def flight_name(self, for_task: typing.Type[Task]) -> str: + return "Flight" + + @property + def tasks(self) -> typing.Collection[Task]: + return [] + def bonus(self) -> int: return int(math.log(self.to_cp.importance + 1, DIFFICULTY_LOG_BASE) * self.BONUS_BASE) def is_successfull(self, debriefing: Debriefing) -> bool: return self.operation.is_successfull(debriefing) + def player_attacking(self, flights: ScrambledFlightsDict): + pass + + def player_defending(self, flights: ScrambledFlightsDict): + pass + def generate(self): self.operation.is_awacs_enabled = self.is_awacs_enabled diff --git a/game/event/frontlineattack.py b/game/event/frontlineattack.py index 91d4beed..8a32b704 100644 --- a/game/event/frontlineattack.py +++ b/game/event/frontlineattack.py @@ -24,6 +24,21 @@ class FrontlineAttackEvent(Event): def threat_description(self): return "{} vehicles".format(self.to_cp.base.assemble_count()) + @property + def tasks(self) -> typing.Collection[typing.Type[Task]]: + if self.is_player_attacking: + return [CAS, PinpointStrike] + else: + return [CAP, PinpointStrike] + + def flight_name(self, for_task: typing.Type[Task]) -> str: + if for_task == CAS: + return "CAS flight" + elif for_task == CAP: + return "CAP flight" + elif for_task == PinpointStrike: + return "Ground attack" + def __str__(self): return "Frontline attack" @@ -54,20 +69,21 @@ class FrontlineAttackEvent(Event): if self.to_cp.captured: self.to_cp.base.affect_strength(-0.1) - def player_attacking(self, armor: db.ArmorDict, strikegroup: db.PlaneDict, clients: db.PlaneDict): + def player_attacking(self, flights: ScrambledFlightsDict): + assert flights[CAS] and flights[PinpointStrike] and len(flights) == 2, "Invalid flights" + self.defenders = self.to_cp.base.assemble_attack() op = FrontlineAttackOperation(game=self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients=clients, - defender_clients={}, from_cp=self.from_cp, to_cp=self.to_cp) + armor = dict_from_flight(flights[PinpointStrike]) op.setup(target=self.defenders, attackers=db.unitdict_restrict_count(armor, sum(self.defenders.values())), - strikegroup=strikegroup) + strikegroup=flights[CAS]) self.operation = op diff --git a/game/event/frontlinepatrol.py b/game/event/frontlinepatrol.py index 9e0d2a7c..3f1acef0 100644 --- a/game/event/frontlinepatrol.py +++ b/game/event/frontlinepatrol.py @@ -22,6 +22,16 @@ class FrontlinePatrolEvent(Event): def threat_description(self): return "{} aircraft + ? CAS".format(self.to_cp.base.scramble_count(self.game.settings.multiplier * self.ESCORT_FACTOR, CAP)) + @property + def tasks(self): + return [CAP, PinpointStrike] + + def flight_name(self, for_task: typing.Type[Task]) -> str: + if for_task == CAP: + return "CAP flight" + elif for_task == PinpointStrike: + return "Ground attack" + def __str__(self): return "Frontline CAP" @@ -65,23 +75,23 @@ class FrontlinePatrolEvent(Event): def skip(self): pass - def player_attacking(self, interceptors: db.PlaneDict, clients: db.PlaneDict, armor: db.ArmorDict): + def player_attacking(self, flights: ScrambledFlightsDict): + assert flights[CAP] and flights[PinpointStrike] and len(flights) == 2, "Invalid flights" + self.cas = self.to_cp.base.scramble_cas(self.game.settings.multiplier) self.escort = self.to_cp.base.scramble_sweep(self.game.settings.multiplier * self.ESCORT_FACTOR) op = FrontlinePatrolOperation(game=self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients=clients, - defender_clients={}, from_cp=self.from_cp, to_cp=self.to_cp) defenders = self.to_cp.base.assemble_attack() - op.setup(cas=self.cas, - escort=self.escort, - interceptors=interceptors, - armor_attackers=db.unitdict_restrict_count(armor, sum(defenders.values())), + op.setup(cas=flight_dict_from(self.cas), + escort=flight_dict_from(self.escort), + interceptors=flights[CAP], + armor_attackers=db.unitdict_restrict_count(dict_from_flight(flights[PinpointStrike]), sum(defenders.values())), armor_defenders=defenders) self.operation = op diff --git a/game/event/infantrytransport.py b/game/event/infantrytransport.py index fb180513..4ca7ee9a 100644 --- a/game/event/infantrytransport.py +++ b/game/event/infantrytransport.py @@ -9,7 +9,7 @@ from game.operation.infantrytransport import InfantryTransportOperation from theater.conflicttheater import * from userdata.debriefing import Debriefing -from .event import Event +from .event import * class InfantryTransportEvent(Event): @@ -18,6 +18,14 @@ class InfantryTransportEvent(Event): def __str__(self): return "Frontline transport troops" + @property + def tasks(self): + return [Embarking] + + def flight_name(self, for_task: typing.Type[Task]) -> str: + if for_task == Embarking: + return "Transport flight" + def is_successfull(self, debriefing: Debriefing): return True @@ -29,19 +37,19 @@ class InfantryTransportEvent(Event): else: self.from_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) - def player_attacking(self, transport: db.HeliDict, clients: db.HeliDict): + def player_attacking(self, flights: ScrambledFlightsDict): + assert flights[Embarking] and len(flights) == 1, "Invalid flights" + op = InfantryTransportOperation( game=self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients=clients, - defender_clients={}, from_cp=self.from_cp, to_cp=self.to_cp ) air_defense = db.find_unittype(AirDefence, self.defender_name)[0] - op.setup(transport=transport, + op.setup(transport=flights[Embarking], aa={air_defense: 2}) self.operation = op diff --git a/game/event/insurgentattack.py b/game/event/insurgentattack.py index 4353541d..38fe5876 100644 --- a/game/event/insurgentattack.py +++ b/game/event/insurgentattack.py @@ -18,6 +18,14 @@ class InsurgentAttackEvent(Event): def threat_description(self): return "" + @property + def tasks(self): + return [CAS] + + def flight_name(self, for_task: typing.Type[Task]) -> str: + if for_task == CAS: + return "Ground intercept flight" + def __str__(self): return "Destroy insurgents" @@ -30,7 +38,9 @@ class InsurgentAttackEvent(Event): else: return not attackers_success - def player_defending(self, strikegroup: db.PlaneDict, clients: db.PlaneDict): + def player_defending(self, flights: ScrambledFlightsDict): + assert flights[CAS] and len(flights) == 1, "Invalid flights" + suitable_unittypes = db.find_unittype(Reconnaissance, self.attacker_name) random.shuffle(suitable_unittypes) unittypes = suitable_unittypes[:self.TARGET_VARIETY] @@ -40,12 +50,10 @@ class InsurgentAttackEvent(Event): op = InsurgentAttackOperation(game=self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients={}, - defender_clients=clients, from_cp=self.from_cp, to_cp=self.to_cp) op.setup(target=self.targets, - strikegroup=strikegroup) + strikegroup=flights[CAS]) self.operation = op diff --git a/game/event/intercept.py b/game/event/intercept.py index b3d63da1..24f77cc0 100644 --- a/game/event/intercept.py +++ b/game/event/intercept.py @@ -9,7 +9,7 @@ from game.operation.intercept import InterceptOperation from theater.conflicttheater import * from userdata.debriefing import Debriefing -from .event import Event +from .event import * class InterceptEvent(Event): @@ -22,6 +22,17 @@ class InterceptEvent(Event): def __str__(self): return "Air Intercept" + @property + def tasks(self): + return [CAP] + + def flight_name(self, for_task: typing.Type[Task]) -> str: + if for_task == CAP: + if self.is_player_attacking: + return "Intercept flight" + else: + return "Escort flight" + def _enemy_scramble_multiplier(self) -> float: is_global = self.from_cp.is_global or self.to_cp.is_global return self.game.settings.multiplier * is_global and 0.5 or 1 @@ -57,7 +68,9 @@ class InterceptEvent(Event): if self.to_cp.captured: self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) - def player_attacking(self, interceptors: db.PlaneDict, clients: db.PlaneDict): + def player_attacking(self, flights: ScrambledFlightsDict): + assert flights[CAP] and len(flights) == 1, "Invalid flights" + escort = self.to_cp.base.scramble_sweep(self._enemy_scramble_multiplier()) self.transport_unit = random.choice(db.find_unittype(Transport, self.defender_name)) @@ -67,20 +80,17 @@ class InterceptEvent(Event): op = InterceptOperation(game=self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients=clients, - defender_clients={}, from_cp=self.from_cp, to_cp=self.to_cp) - op.setup(escort=escort, + op.setup(escort=flight_dict_from(escort), transport={self.transport_unit: 1}, airdefense={airdefense_unit: self.AIRDEFENSE_COUNT}, - interceptors=interceptors) + interceptors=flights[CAP]) self.operation = op - def player_defending(self, escort: db.PlaneDict, clients: db.PlaneDict): - # TODO: even not quick mission is too quick + def player_defending(self, flights: ScrambledFlightsDict): interceptors = self.from_cp.base.scramble_interceptors(self.game.settings.multiplier) self.transport_unit = random.choice(db.find_unittype(Transport, self.defender_name)) @@ -89,14 +99,12 @@ class InterceptEvent(Event): op = InterceptOperation(game=self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients={}, - defender_clients=clients, from_cp=self.from_cp, to_cp=self.to_cp) - op.setup(escort=escort, + op.setup(escort=flights[CAP], transport={self.transport_unit: 1}, - interceptors=interceptors, + interceptors=flight_dict_from(interceptors), airdefense={}) self.operation = op diff --git a/game/event/navalintercept.py b/game/event/navalintercept.py index 75e253b4..a1366f46 100644 --- a/game/event/navalintercept.py +++ b/game/event/navalintercept.py @@ -9,7 +9,7 @@ from game import db from game.operation.navalintercept import NavalInterceptionOperation from userdata.debriefing import Debriefing -from .event import Event +from .event import * class NavalInterceptEvent(Event): @@ -26,6 +26,19 @@ class NavalInterceptEvent(Event): def __str__(self) -> str: return "Naval intercept" + @property + def tasks(self): + if self.is_player_attacking: + return [CAS] + else: + return [CAP] + + def flight_name(self, for_task: typing.Type[Task]) -> str: + if for_task == CAS: + return "Naval intercept flight" + elif for_task == CAP: + return "CAP flight" + @property def threat_description(self): s = "{} ship(s)".format(self._targets_count()) @@ -64,7 +77,9 @@ class NavalInterceptEvent(Event): if self.to_cp.captured: self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) - def player_attacking(self, strikegroup: db.PlaneDict, clients: db.PlaneDict): + def player_attacking(self, flights: ScrambledFlightsDict): + assert flights[CAS] and len(flights) == 1, "Invalid flights" + self.targets = { random.choice(db.find_unittype(CargoTransportation, self.defender_name)): self._targets_count(), } @@ -73,19 +88,19 @@ class NavalInterceptEvent(Event): self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients=clients, - defender_clients={}, from_cp=self.from_cp, to_cp=self.to_cp ) - op.setup(strikegroup=strikegroup, + op.setup(strikegroup=flights[CAS], interceptors={}, targets=self.targets) self.operation = op - def player_defending(self, interceptors: db.PlaneDict, clients: db.PlaneDict): + def player_defending(self, flights: ScrambledFlightsDict): + assert flights[CAP] and len(flights) == 1, "Invalid flights" + self.targets = { random.choice(db.find_unittype(CargoTransportation, self.defender_name)): self._targets_count(), } @@ -94,15 +109,13 @@ class NavalInterceptEvent(Event): self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients={}, - defender_clients=clients, from_cp=self.from_cp, to_cp=self.to_cp ) strikegroup = self.from_cp.base.scramble_cas(self.game.settings.multiplier) - op.setup(strikegroup=strikegroup, - interceptors=interceptors, + op.setup(strikegroup=flight_dict_from(strikegroup), + interceptors=flights[CAP], targets=self.targets) self.operation = op diff --git a/game/event/strike.py b/game/event/strike.py index 2767b6e3..9c65353d 100644 --- a/game/event/strike.py +++ b/game/event/strike.py @@ -9,7 +9,7 @@ from game.operation.strike import StrikeOperation from theater.conflicttheater import * from userdata.debriefing import Debriefing -from .event import Event +from .event import * class StrikeEvent(Event): @@ -22,25 +22,40 @@ class StrikeEvent(Event): def is_successfull(self, debriefing: Debriefing): return True + @property + def tasks(self): + if self.is_player_attacking: + return [CAP, CAS] + else: + return [CAP] + + def flight_name(self, for_task: typing.Type[Task]) -> str: + if for_task == CAP: + if self.is_player_attacking: + return "Escort flight" + else: + return "CAP flight" + elif for_task == CAS: + return "Strike flight" + def commit(self, debriefing: Debriefing): super(StrikeEvent, self).commit(debriefing) self.to_cp.base.affect_strength(-self.SINGLE_OBJECT_STRENGTH_INFLUENCE * len(debriefing.destroyed_objects)) - def player_attacking(self, strikegroup: db.PlaneDict, escort: db.PlaneDict, clients: db.PlaneDict): + def player_attacking(self, flights: ScrambledFlightsDict): + assert flights[CAP] and flights[CAS] and len(flights) == 2, "Invalid flights" + op = StrikeOperation( self.game, attacker_name=self.attacker_name, defender_name=self.defender_name, - attacker_clients=clients, - defender_clients={}, from_cp=self.from_cp, to_cp=self.to_cp ) interceptors = self.to_cp.base.scramble_interceptors(self.game.settings.multiplier) - - op.setup(strikegroup=strikegroup, - escort=escort, - interceptors=interceptors) + op.setup(strikegroup=flights[CAS], + escort=flights[CAP], + interceptors=flight_dict_from(interceptors)) self.operation = op diff --git a/game/game.py b/game/game.py index 3046b644..9bac3b9f 100644 --- a/game/game.py +++ b/game/game.py @@ -120,7 +120,7 @@ class Game: if not Conflict.has_frontline_between(player_cp, enemy_cp): continue - if self._roll(player_probability, player_cp.base.strength): + if player_probability == 100 or self._roll(player_probability, player_cp.base.strength): if event_class == NavalInterceptEvent and enemy_cp.radials == LAND: pass else: @@ -131,7 +131,7 @@ class Game: pass else: self.events.append(event_class(self.player, self.enemy, player_cp, enemy_cp, self)) - elif self._roll(enemy_probability, enemy_cp.base.strength): + elif enemy_probability == 100 or self._roll(enemy_probability, enemy_cp.base.strength): if event_class in enemy_generated_types: continue diff --git a/game/operation/baseattack.py b/game/operation/baseattack.py index 58bc195e..dcb6d7d9 100644 --- a/game/operation/baseattack.py +++ b/game/operation/baseattack.py @@ -9,13 +9,13 @@ from gen.triggergen import * from gen.airsupportgen import * from gen.visualgen import * -from .operation import Operation +from .operation import * class BaseAttackOperation(Operation): - cas = None # type: db.PlaneDict - escort = None # type: db.PlaneDict - intercept = None # type: db.PlaneDict + cas = None # type: FlightDict + escort = None # type: FlightDict + intercept = None # type: FlightDict attack = None # type: db.ArmorDict defense = None # type: db.ArmorDict aa = None # type: db.AirDefenseDict @@ -23,10 +23,10 @@ class BaseAttackOperation(Operation): trigger_radius = TRIGGER_RADIUS_SMALL def setup(self, - cas: db.PlaneDict, - escort: db.PlaneDict, - attack: db.ArmorDict, - intercept: db.PlaneDict, + cas: FlightDict, + escort: FlightDict, + attack: FlightDict, + intercept: FlightDict, defense: db.ArmorDict, aa: db.AirDefenseDict): self.cas = cas @@ -57,10 +57,10 @@ class BaseAttackOperation(Operation): self.armorgen.generate(self.attack, self.defense) self.aagen.generate(self.aa) - self.airgen.generate_defense(self.intercept, clients=self.defender_clients, at=self.defenders_starting_position) + self.airgen.generate_defense(*flight_arguments(self.intercept), at=self.defenders_starting_position) - self.airgen.generate_cas_strikegroup(self.cas, clients=self.attacker_clients, at=self.attackers_starting_position) - self.airgen.generate_attackers_escort(self.escort, clients=self.attacker_clients, at=self.attackers_starting_position) + self.airgen.generate_cas_strikegroup(*flight_arguments(self.cas), at=self.attackers_starting_position) + self.airgen.generate_attackers_escort(*flight_arguments(self.escort), at=self.attackers_starting_position) self.visualgen.generate_target_smokes(self.to_cp) diff --git a/game/operation/frontlineattack.py b/game/operation/frontlineattack.py index cd43f951..0a2a289b 100644 --- a/game/operation/frontlineattack.py +++ b/game/operation/frontlineattack.py @@ -12,21 +12,21 @@ from gen.airsupportgen import * from gen.visualgen import * from gen.conflictgen import Conflict -from .operation import Operation +from .operation import * MAX_DISTANCE_BETWEEN_GROUPS = 12000 class FrontlineAttackOperation(Operation): + strikegroup = None # type: FlightDict attackers = None # type: db.ArmorDict - strikegroup = None # type: db.PlaneDict target = None # type: db.ArmorDict def setup(self, target: db.ArmorDict, attackers: db.ArmorDict, - strikegroup: db.PlaneDict): + strikegroup: FlightDict): self.strikegroup = strikegroup self.target = target self.attackers = attackers @@ -50,7 +50,7 @@ class FrontlineAttackOperation(Operation): def generate(self): self.armorgen.generate_vec(self.attackers, self.target) - self.airgen.generate_cas_strikegroup(self.strikegroup, clients=self.attacker_clients, at=self.attackers_starting_position) + self.airgen.generate_cas_strikegroup(*flight_arguments(self.strikegroup), at=self.attackers_starting_position) self.briefinggen.title = "Frontline CAS" self.briefinggen.description = "Provide CAS for the ground forces attacking enemy lines. Operation will be considered successful if total number of enemy units will be lower than your own by a factor of 1.5 (i.e. with 12 units from both sides, enemy forces need to be reduced to at least 8), meaning that you (and, probably, your wingmans) should concentrate on destroying the enemy units. Target base strength will be lowered as a result. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." diff --git a/game/operation/frontlinepatrol.py b/game/operation/frontlinepatrol.py index 2aa9c38f..09f2bb1d 100644 --- a/game/operation/frontlinepatrol.py +++ b/game/operation/frontlinepatrol.py @@ -12,21 +12,26 @@ from gen.airsupportgen import * from gen.visualgen import * from gen.conflictgen import Conflict -from .operation import Operation +from .operation import * MAX_DISTANCE_BETWEEN_GROUPS = 12000 class FrontlinePatrolOperation(Operation): - cas = None # type: db.PlaneDict - escort = None # type: db.PlaneDict - interceptors = None # type: db.PlaneDict + cas = None # type: FlightDict + escort = None # type: FlightDict + interceptors = None # type: FlightDict armor_attackers = None # type: db.ArmorDict armor_defenders = None # type: db.ArmorDict - def setup(self, cas: db.PlaneDict, escort: db.PlaneDict, interceptors: db.PlaneDict, armor_attackers: db.ArmorDict, armor_defenders: db.ArmorDict): + def setup(self, + cas: FlightDict, + escort: FlightDict, + interceptors: FlightDict, + armor_attackers: db.ArmorDict, + armor_defenders: db.ArmorDict): self.cas = cas self.escort = escort self.interceptors = interceptors @@ -50,9 +55,9 @@ class FrontlinePatrolOperation(Operation): conflict=conflict) def generate(self): - self.airgen.generate_defenders_cas(self.cas, {}, self.defenders_starting_position) - self.airgen.generate_defenders_escort(self.escort, {}, self.defenders_starting_position) - self.airgen.generate_migcap(self.interceptors, self.attacker_clients, self.attackers_starting_position) + self.airgen.generate_defenders_cas(*flight_arguments(self.cas), at=self.defenders_starting_position) + self.airgen.generate_defenders_escort(*flight_arguments(self.escort), at=self.defenders_starting_position) + self.airgen.generate_migcap(*flight_arguments(self.interceptors), at=self.attackers_starting_position) self.armorgen.generate_vec(self.armor_attackers, self.armor_defenders) diff --git a/game/operation/infantrytransport.py b/game/operation/infantrytransport.py index 32d8da0d..bdf588b0 100644 --- a/game/operation/infantrytransport.py +++ b/game/operation/infantrytransport.py @@ -10,14 +10,14 @@ from gen.airsupportgen import * from gen.visualgen import * from gen.conflictgen import Conflict -from .operation import Operation +from .operation import * class InfantryTransportOperation(Operation): - transport = None # type: db.HeliDict + transport = None # type: FlightDict aa = None # type: db.AirDefenseDict - def setup(self, transport: db.HeliDict, aa: db.AirDefenseDict): + def setup(self, transport: FlightDict, aa: db.AirDefenseDict): self.transport = transport self.aa = aa @@ -36,11 +36,7 @@ class InfantryTransportOperation(Operation): conflict=conflict) def generate(self): - self.airgen.generate_passenger_transport( - helis=self.transport, - clients=self.attacker_clients, - at=self.attackers_starting_position - ) + self.airgen.generate_passenger_transport(*flight_arguments(self.transport), at=self.attackers_starting_position) self.armorgen.generate_passengers(count=6) self.aagen.generate_at_defenders_location(self.aa) diff --git a/game/operation/insurgentattack.py b/game/operation/insurgentattack.py index c528949a..dc4988eb 100644 --- a/game/operation/insurgentattack.py +++ b/game/operation/insurgentattack.py @@ -10,16 +10,16 @@ from gen.airsupportgen import * from gen.visualgen import * from gen.conflictgen import Conflict -from .operation import Operation +from .operation import * class InsurgentAttackOperation(Operation): - strikegroup = None # type: db.PlaneDict + strikegroup = None # type: FlightDict target = None # type: db.ArmorDict def setup(self, target: db.ArmorDict, - strikegroup: db.PlaneDict): + strikegroup: FlightDict): self.strikegroup = strikegroup self.target = target @@ -38,7 +38,7 @@ class InsurgentAttackOperation(Operation): conflict=conflict) def generate(self): - self.airgen.generate_defense(self.strikegroup, self.defender_clients, self.defenders_starting_position) + self.airgen.generate_defense(*flight_arguments(self.strikegroup), at=self.defenders_starting_position) self.armorgen.generate(self.target, {}) self.briefinggen.title = "Destroy insurgents" diff --git a/game/operation/intercept.py b/game/operation/intercept.py index 2985a733..9ff5cd02 100644 --- a/game/operation/intercept.py +++ b/game/operation/intercept.py @@ -1,22 +1,22 @@ from dcs.terrain import Terrain from gen import * -from .operation import Operation +from .operation import * class InterceptOperation(Operation): - escort = None # type: db.PlaneDict + escort = None # type: FlightDict transport = None # type: db.PlaneDict - interceptors = None # type: db.PlaneDict + interceptors = None # type: FlightDict airdefense = None # type: db.AirDefenseDict trigger_radius = TRIGGER_RADIUS_LARGE def setup(self, - escort: db.PlaneDict, + escort: FlightDict, transport: db.PlaneDict, airdefense: db.AirDefenseDict, - interceptors: db.PlaneDict): + interceptors: FlightDict): self.escort = escort self.transport = transport self.airdefense = airdefense @@ -52,9 +52,9 @@ class InterceptOperation(Operation): self.attackers_starting_position = ship self.airgen.generate_transport(self.transport, self.to_cp.at) - self.airgen.generate_defenders_escort(self.escort, clients=self.defender_clients) + self.airgen.generate_defenders_escort(*flight_arguments(self.escort), at=self.defenders_starting_position) - self.airgen.generate_interception(self.interceptors, clients=self.attacker_clients, at=self.attackers_starting_position) + self.airgen.generate_interception(*flight_arguments(self.interceptors), at=self.attackers_starting_position) self.briefinggen.title = "Air Intercept" self.briefinggen.description = "Intercept enemy supply transport aircraft. Escort will also be present if there are available planes on the base. Operation will be considered successful if most of the targets are destroyed, lowering targets strength as a result" diff --git a/game/operation/navalintercept.py b/game/operation/navalintercept.py index aa710a58..6c9e5954 100644 --- a/game/operation/navalintercept.py +++ b/game/operation/navalintercept.py @@ -1,18 +1,18 @@ from dcs.terrain import Terrain from gen import * -from .operation import Operation +from .operation import * class NavalInterceptionOperation(Operation): - strikegroup = None # type: db.PlaneDict - interceptors = None # type: db.PlaneDict + strikegroup = None # type: FlightDict + interceptors = None # type: FlightDict targets = None # type: db.ShipDict trigger_radius = TRIGGER_RADIUS_LARGE def setup(self, - strikegroup: db.PlaneDict, - interceptors: db.PlaneDict, + strikegroup: FlightDict, + interceptors: FlightDict, targets: db.ShipDict): self.strikegroup = strikegroup self.interceptors = interceptors @@ -37,16 +37,14 @@ class NavalInterceptionOperation(Operation): target_groups = self.shipgen.generate_cargo(units=self.targets) self.airgen.generate_ship_strikegroup( - attackers=self.strikegroup, - clients=self.attacker_clients, + *flight_arguments(self.strikegroup), target_groups=target_groups, at=self.attackers_starting_position ) if self.interceptors: self.airgen.generate_defense( - defenders=self.interceptors, - clients=self.defender_clients, + *flight_arguments(self.interceptors), at=self.defenders_starting_position ) diff --git a/game/operation/operation.py b/game/operation/operation.py index 1fd70910..9edb3eae 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -1,11 +1,27 @@ -from dcs.terrain import Terrain +import typing + from dcs.lua.parse import loads +from dcs.unittype import UnitType from userdata.debriefing import * from theater import * from gen import * +FlightDict = typing.Dict[typing.Type[UnitType], typing.Tuple[int, int]] + + +def flight_arguments(fd: FlightDict) -> typing.Tuple[db.PlaneDict, db.PlaneDict]: + return {k: v1 for k, (v1, v2) in fd.items()}, {k: v2 for k, (v1, v2) in fd.items()}, + + +def flight_dict_from(d: db.PlaneDict) -> FlightDict: + return {k: (v, 0) for k, v in d.items()} + + +def dict_from_flight(fd: FlightDict) -> db.Dict: + return {k: v1 for k, (v1, v2) in fd.items()} + class Operation: attackers_starting_position = None # type: db.StartingPosition @@ -33,15 +49,11 @@ class Operation: game, attacker_name: str, defender_name: str, - attacker_clients: db.PlaneDict, - defender_clients: db.PlaneDict, from_cp: ControlPoint, to_cp: ControlPoint = None): self.game = game self.attacker_name = attacker_name self.defender_name = defender_name - self.attacker_clients = attacker_clients - self.defender_clients = defender_clients self.from_cp = from_cp self.to_cp = to_cp self.is_quick = False diff --git a/game/operation/strike.py b/game/operation/strike.py index 430235e0..48252b0c 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -10,18 +10,18 @@ from gen.airsupportgen import * from gen.visualgen import * from gen.conflictgen import Conflict -from .operation import Operation +from .operation import * class StrikeOperation(Operation): - strikegroup = None # type: db.PlaneDict - escort = None # type: db.PlaneDict - interceptors = None # type: db.PlaneDict + strikegroup = None # type: FlightDict + escort = None # type: FlightDict + interceptors = None # type: FlightDict def setup(self, - strikegroup: db.PlaneDict, - escort: db.PlaneDict, - interceptors: db.PlaneDict): + strikegroup: FlightDict, + escort: FlightDict, + interceptors: FlightDict): self.strikegroup = strikegroup self.escort = escort self.interceptors = interceptors @@ -49,10 +49,10 @@ class StrikeOperation(Operation): category_counters = {} # type: typing.Dict[str, int] processed_groups = [] for object in self.to_cp.ground_objects: - if object.group_id in processed_groups: + if object.group_identifier in processed_groups: continue - processed_groups.append(object.group_id) + processed_groups.append(object.group_identifier) category_counters[object.category] = category_counters.get(object.category, 0) + 1 markpoint_name = "{}{}".format(object.name_abbrev, category_counters[object.category]) @@ -61,18 +61,13 @@ class StrikeOperation(Operation): targets.sort(key=lambda x: self.from_cp.position.distance_to_point(x[1])) - self.airgen.generate_ground_attack_strikegroup(strikegroup=self.strikegroup, + self.airgen.generate_ground_attack_strikegroup(*flight_arguments(self.strikegroup), targets=targets, - clients=self.attacker_clients, at=self.attackers_starting_position) - self.airgen.generate_attackers_escort(self.escort, - clients=self.attacker_clients, - at=self.attackers_starting_position) + self.airgen.generate_attackers_escort(*flight_arguments(self.escort), at=self.attackers_starting_position) - self.airgen.generate_barcap(patrol=self.interceptors, - clients={}, - at=self.defenders_starting_position) + self.airgen.generate_barcap(*flight_arguments(self.interceptors), at=self.defenders_starting_position) self.briefinggen.title = "Strike" self.briefinggen.description = "Destroy infrastructure assets and military supplies in the region. Each building destroyed will lower targets strength." diff --git a/game/settings.py b/game/settings.py index ad4fb239..0b91e164 100644 --- a/game/settings.py +++ b/game/settings.py @@ -2,7 +2,7 @@ class Settings: player_skill = "Good" enemy_skill = "Average" - only_player_takeoff = False + only_player_takeoff = True night_disabled = False multiplier = 1 sams = True diff --git a/gen/aircraft.py b/gen/aircraft.py index 12fa911d..e9244f85 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -265,7 +265,7 @@ class AircraftConflictGenerator: self.escort_targets.append((group, group.points.index(waypoint))) self._rtb_for(group, self.conflict.from_cp, at) - def generate_ground_attack_strikegroup(self, strikegroup: db.PlaneDict, targets: typing.List[typing.Tuple[str, Point]], clients: db.PlaneDict, at: db.StartingPosition = None): + def generate_ground_attack_strikegroup(self, strikegroup: db.PlaneDict, clients: db.PlaneDict, targets: typing.List[typing.Tuple[str, Point]], at: db.StartingPosition = None): assert len(self.escort_targets) == 0 for flying_type, count, client_count in self._split_to_groups(strikegroup, clients): diff --git a/gen/heli.py b/gen/heli.py new file mode 100644 index 00000000..dc4968c5 --- /dev/null +++ b/gen/heli.py @@ -0,0 +1,5 @@ +from .aircraft import * + + +class HelicopterConflictGenerator(AircraftConflictGenerator): + pass diff --git a/theater/theatergroundobject.py b/theater/theatergroundobject.py index 83a11fc4..1dc30230 100644 --- a/theater/theatergroundobject.py +++ b/theater/theatergroundobject.py @@ -41,6 +41,10 @@ class TheaterGroundObject: def string_identifier(self): return "{}|{}|{}|{}".format(self.category, self.cp_id, self.group_id, self.object_id) + @property + def group_identifier(self) -> str: + return "{}|{}".format(self.category, self.group_id) + @property def name_abbrev(self) -> str: return ABBREV_NAME[self.category] diff --git a/ui/eventmenu.py b/ui/eventmenu.py index 55076591..a7893cd9 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -7,27 +7,9 @@ from game.event import * from .styles import STYLES, RED -UNITTYPES_FOR_EVENTS = { - FrontlineAttackEvent: [[CAS, PinpointStrike], [CAP]], - FrontlinePatrolEvent: [[CAP, PinpointStrike], [CAP]], - BaseAttackEvent: [[CAP, CAS, PinpointStrike], [CAP, CAS, PinpointStrike]], - StrikeEvent: [[CAP, CAS], [CAP]], - InterceptEvent: [[CAP], [CAP]], - InsurgentAttackEvent: [[CAS], [CAP]], - NavalInterceptEvent: [[CAS], [CAP]], - InfantryTransportEvent: [[Embarking], [CAP]], -} - -AI_BAN_FOR_EVENTS = { - InfantryTransportEvent: [Embarking], - StrikeEvent: [CAS], -} - - class EventMenu(Menu): - aircraft_scramble_entries = None # type: typing.Dict[PlaneType , Entry] - aircraft_client_entries = None # type: typing.Dict[PlaneType, Entry] - armor_scramble_entries = None # type: typing.Dict[VehicleType, Entry] + scramble_entries = None # type: typing.Dict[typing.Type[Task], typing.Dict[typing.Type[UnitType], typing.Tuple[Entry, Entry]]] + error_label = None # type: Label awacs = None # type: IntVar @@ -35,9 +17,7 @@ class EventMenu(Menu): super(EventMenu, self).__init__(window, parent, game) self.event = event - self.aircraft_scramble_entries = {} - self.armor_scramble_entries = {} - self.aircraft_client_entries = {} + self.scramble_entries = {k: {} for k in self.event.tasks} if self.event.attacker_name == self.game.player: self.base = self.event.from_cp.base @@ -68,32 +48,24 @@ class EventMenu(Menu): return new_label - def scrable_row(unit_type, unit_count): + def scrable_row(task_type, unit_type, unit_count, client_slots: bool): nonlocal row Label(self.frame, text="{} ({})".format(db.unit_type_name(unit_type), unit_count), **STYLES["widget"]).grid(row=row, sticky=W) scramble_entry = Entry(self.frame, width=2) scramble_entry.grid(column=1, row=row, sticky=E, padx=5) scramble_entry.insert(0, "0") - self.aircraft_scramble_entries[unit_type] = scramble_entry - Button(self.frame, text="+", command=self.scramble_half(True, unit_type), **STYLES["btn-primary"]).grid(column=2, row=row) + Button(self.frame, text="+", command=self.scramble_half(task_type, unit_type), **STYLES["btn-primary"]).grid(column=2, row=row) - client_entry = Entry(self.frame, width=2) - client_entry.grid(column=3, row=row, sticky=E, padx=5) - client_entry.insert(0, "0") - self.aircraft_client_entries[unit_type] = client_entry - Button(self.frame, text="+", command=self.client_one(unit_type), **STYLES["btn-primary"]).grid(column=4, row=row) + if client_slots: + client_entry = Entry(self.frame, width=2) + client_entry.grid(column=3, row=row, sticky=E, padx=5) + client_entry.insert(0, "0") + Button(self.frame, text="+", command=self.client_one(task_type, unit_type), **STYLES["btn-primary"]).grid(column=4, row=row) + else: + client_entry = None - row += 1 - - def scramble_armor_row(unit_type, unit_count): - nonlocal row - Label(self.frame, text="{} ({})".format(db.unit_type_name(unit_type), unit_count), **STYLES["widget"]).grid(row=row, sticky=W) - scramble_entry = Entry(self.frame, width=2) - scramble_entry.insert(0, "0") - scramble_entry.grid(column=1, row=row, sticky=E, padx=5) - self.armor_scramble_entries[unit_type] = scramble_entry - Button(self.frame, text="+", command=self.scramble_half(False, unit_type),**STYLES["btn-primary"]).grid(column=2, row=row) + self.scramble_entries[task_type][unit_type] = scramble_entry, client_entry row += 1 @@ -108,84 +80,53 @@ class EventMenu(Menu): Label(self.frame, text="{}. {}".format(self.event, threat_descr), **STYLES["mission-preview"]).grid(row=row, column=0, columnspan=5, sticky=S+EW, padx=5, pady=5) row += 1 - header("Aircraft :") + Label(self.frame, text="Amount", **STYLES["widget"]).grid(row=row, column=1, columnspan=2) + Label(self.frame, text="Client slots", **STYLES["widget"]).grid(row=row, column=3, columnspan=2) + row += 1 - if self.base.aircraft: - Label(self.frame, text="Amount", **STYLES["widget"]).grid(row=row, column=1, columnspan=2) - Label(self.frame, text="Client slots", **STYLES["widget"]).grid(row=row, column=3, columnspan=2) - row += 1 + for flight_task in self.event.tasks: + header("{}:".format(self.event.flight_name(flight_task))) + if flight_task == PinpointStrike: + if not self.base.armor: + label("No units") + for t, c in self.base.armor.items(): + scrable_row(flight_task, t, c, client_slots=False) + else: + if not self.base.aircraft: + label("No units") + for t, c in self.base.aircraft.items(): + scrable_row(flight_task, t, c, client_slots=True) - filter_attackers_index = 0 if self.game.is_player_attack(self.event) else 1 - filter_to = UNITTYPES_FOR_EVENTS[self.event.__class__][filter_attackers_index] - for unit_type, count in self.base.aircraft.items(): - if filter_to and db.unit_task(unit_type) not in filter_to: - continue - - if unit_type in helicopter_map and self.event.__class__ != InsurgentAttackEvent: - continue - - scrable_row(unit_type, count) - - if not self.base.total_planes: - label("None", sticky=W) - - header("Armor :") - armor_counter = 0 - for unit_type, count in self.base.armor.items(): - if filter_to and db.unit_task(unit_type) not in filter_to: - continue - scramble_armor_row(unit_type, count) - armor_counter += 1 - - if not self.base.total_armor or armor_counter == 0: - label("None", sticky=W) - - header("Support :") + header("Support:") # Options awacs_enabled = self.game.budget >= AWACS_BUDGET_COST and NORMAL or DISABLED Checkbutton(self.frame, var=self.awacs, state=awacs_enabled, **STYLES["radiobutton"]).grid(row=row, column=0, sticky=E) Label(self.frame, text="AWACS ({}m)".format(AWACS_BUDGET_COST), **STYLES["widget"]).grid(row=row, column=3, sticky=W, padx=5, pady=5) row += 1 - header("Ready ?") + header("Ready?") self.error_label = label("") self.error_label["fg"] = RED Button(self.frame, text="Commit", command=self.start, **STYLES["btn-primary"]).grid(column=0, row=row, sticky=E, padx=5, pady=(10,10)) Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-warning"]).grid(column=3, row=row, sticky=E, padx=5, pady=(10,10)) row += 1 - def _scrambled_aircraft_count(self, unit_type: UnitType) -> int: - value = self.aircraft_scramble_entries[unit_type].get() - if value and int(value) > 0: - return min(int(value), self.base.aircraft[unit_type]) - return 0 - - def _scrambled_armor_count(self, unit_type: UnitType) -> int: - value = self.armor_scramble_entries[unit_type].get() - if value and int(value) > 0: - return min(int(value), self.base.armor[unit_type]) - return 0 - - def scramble_half(self, aircraft: bool, unit_type: UnitType) -> typing.Callable: + def scramble_half(self, task: typing.Type[UnitType], unit_type: UnitType) -> typing.Callable: def action(): - entry = None # type: Entry - total_count = 0 - if aircraft: - entry = self.aircraft_scramble_entries[unit_type] - total_count = self.base.aircraft[unit_type] - else: - entry = self.armor_scramble_entries[unit_type] - total_count = self.base.armor[unit_type] + entry = self.scramble_entries[task][unit_type][0] # type: Entry + value = entry.get() - existing_count = int(entry.get()) + total_units = self.base.total_units_of_type(unit_type) + + amount = int(value and value or "0") entry.delete(0, END) - entry.insert(0, "{}".format(int(existing_count + math.ceil(total_count/2)))) + entry.insert(0, str(amount + int(math.ceil(total_units/2)))) return action - def client_one(self, unit_type: UnitType) -> typing.Callable: + def client_one(self, task: typing.Type[Task], unit_type: UnitType) -> typing.Callable: def action(): - entry = self.aircraft_client_entries[unit_type] # type: Entry + entry = self.scramble_entries[task][unit_type][1] # type: Entry value = entry.get() amount = int(value and value or "0") entry.delete(0, END) @@ -199,94 +140,37 @@ class EventMenu(Menu): else: self.event.is_awacs_enabled = False - scrambled_aircraft = {} - scrambled_sweep = {} - scrambled_cas = {} - for unit_type, field in self.aircraft_scramble_entries.items(): - amount = self._scrambled_aircraft_count(unit_type) - if amount > 0: - task = db.unit_task(unit_type) + flights = {k: {} for k in self.event.tasks} # type: ScrambledFlightsDict + total_counts_scrambled = {} # type: typing.Dict[typing.Type[UnitType], int] - scrambled_aircraft[unit_type] = amount - if task == CAS: - scrambled_cas[unit_type] = amount - elif task == CAP: - scrambled_sweep[unit_type] = amount + def dampen_count(unit_type: typing.Type[UnitType], count: int) -> int: + nonlocal total_counts_scrambled + total_count = self.base.total_units_of_type(unit_type) - scrambled_clients = {} - for unit_type, field in self.aircraft_client_entries.items(): - value = field.get() - if value and int(value) > 0: - amount = int(value) - scrambled_clients[unit_type] = amount + total_scrambled = total_counts_scrambled.get(unit_type, 0) + dampened_value = count if count + total_scrambled < total_count else total_count - total_scrambled + total_counts_scrambled[unit_type] = total_counts_scrambled.get(unit_type, 0) + dampened_value + return dampened_value - scrambled_armor = {} - for unit_type, field in self.armor_scramble_entries.items(): - amount = self._scrambled_armor_count(unit_type) - if amount > 0: - scrambled_armor[unit_type] = amount + for task_type, dict in self.scramble_entries.items(): + for unit_type, (count_entry, clients_entry) in dict.items(): + try: + count = int(count_entry.get()) + except: + count = 0 - if type(self.event) in AI_BAN_FOR_EVENTS: - banned_tasks_for_ai = AI_BAN_FOR_EVENTS[type(self.event)] - for task in banned_tasks_for_ai: - scrambled_slots = [1 for x in scrambled_aircraft if db.unit_task(x) == task] - scrambled_client_slots = [1 for x in scrambled_clients if db.unit_task(x) == task] + try: + clients_count = int(clients_entry and clients_entry.get() or 0) + except: + clients_count = 0 - if scrambled_slots != scrambled_client_slots: - self.error_label["text"] = "AI slots of task {} are not supported for this operation".format(task.name) - return + flights[task_type][unit_type] = dampen_count(unit_type, count), clients_count - if type(self.event) is BaseAttackEvent: - e = self.event # type: BaseAttackEvent - if self.game.is_player_attack(self.event): - e.player_attacking(cas=scrambled_cas, - escort=scrambled_sweep, - armor=scrambled_armor, - clients=scrambled_clients) - else: - e.player_defending(interceptors=scrambled_aircraft, - clients=scrambled_clients) - elif type(self.event) is InterceptEvent: - e = self.event # type: InterceptEvent - if self.game.is_player_attack(self.event): - e.player_attacking(interceptors=scrambled_aircraft, - clients=scrambled_clients) - else: - e.player_defending(escort=scrambled_aircraft, - clients=scrambled_clients) - elif type(self.event) is FrontlineAttackEvent: - e = self.event # type: FrontlineAttackEvent - e.player_attacking(armor=scrambled_armor, strikegroup=scrambled_aircraft, clients=scrambled_clients) - elif type(self.event) is FrontlinePatrolEvent: - e = self.event # type: FrontlinePatrolEvent - e.player_attacking(interceptors=scrambled_aircraft, clients=scrambled_clients, armor=scrambled_armor) - elif type(self.event) is NavalInterceptEvent: - e = self.event # type: NavalInterceptEvent - if self.game.is_player_attack(self.event): - e.player_attacking(strikegroup=scrambled_aircraft, clients=scrambled_clients) - else: - e.player_defending(interceptors=scrambled_aircraft, clients=scrambled_clients) - elif type(self.event) is InsurgentAttackEvent: - e = self.event # type: InsurgentAttackEvent - if self.game.is_player_attack(self.event): - assert False - else: - e.player_defending(strikegroup=scrambled_aircraft, clients=scrambled_clients) - elif type(self.event) is InfantryTransportEvent: - e = self.event # type: InfantryTransportEvent - if self.game.is_player_attack(self.event): - e.player_attacking(transport=scrambled_aircraft, clients=scrambled_clients) - else: - assert False - elif type(self.event) is StrikeEvent: - e = self.event # type: StrikeEvent - if self.game.is_player_attack(self.event): - e.player_attacking(strikegroup=scrambled_cas, - escort=scrambled_sweep, - clients=scrambled_clients) - else: - assert False + if self.game.is_player_attack(self.event): + self.event.player_attacking(flights) + else: + self.event.player_defending(flights) self.game.initiate_event(self.event) EventResultsMenu(self.window, self.parent, self.game, self.event).display() From 67f69d0a7ff78ef1db9aa1847090af241a00e39c Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 9 Sep 2018 20:27:53 +0300 Subject: [PATCH 16/63] updated AA units --- game/db.py | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/game/db.py b/game/db.py index 4303bc10..d90d7ff0 100644 --- a/game/db.py +++ b/game/db.py @@ -100,11 +100,10 @@ PRICES = { Unarmed.Transport_M818: 3, AirDefence.AAA_Vulcan_M163: 5, - AirDefence.SAM_Avenger_M1097: 10, + AirDefence.SAM_Linebacker_M6: 10, - AirDefence.AAA_ZU_23_on_Ural_375: 5, - AirDefence.SAM_SA_18_Igla_S_MANPADS: 8, - AirDefence.SAM_SA_19_Tunguska_2S6: 15, + AirDefence.SPAAA_ZSU_23_4_Shilka: 8, + AirDefence.SAM_SA_9_Strela_1_9P31: 15, AirDefence.SAM_SA_8_Osa_9A33: 13, # ship @@ -181,17 +180,14 @@ UNIT_BY_TASK = { AirDefence: [ # those are listed multiple times here to balance prioritization more into lower tier AAs AirDefence.AAA_Vulcan_M163, - AirDefence.AAA_Vulcan_M163, - AirDefence.SAM_Avenger_M1097, - AirDefence.SAM_Avenger_M1097, - AirDefence.SAM_Avenger_M1097, + AirDefence.SAM_Linebacker_M6, - AirDefence.AAA_ZU_23_on_Ural_375, - AirDefence.AAA_ZU_23_on_Ural_375, - AirDefence.AAA_ZU_23_on_Ural_375, + AirDefence.SPAAA_ZSU_23_4_Shilka, + AirDefence.SPAAA_ZSU_23_4_Shilka, + AirDefence.SPAAA_ZSU_23_4_Shilka, + AirDefence.SAM_SA_9_Strela_1_9P31, + AirDefence.SAM_SA_9_Strela_1_9P31, AirDefence.SAM_SA_8_Osa_9A33, - AirDefence.SAM_SA_8_Osa_9A33, - AirDefence.SAM_SA_19_Tunguska_2S6, ], Reconnaissance: [Unarmed.Transport_M818, Unarmed.Transport_Ural_375, Unarmed.Transport_UAZ_469], @@ -206,9 +202,9 @@ UNIT_BY_TASK = { Units from AirDefense category of UNIT_BY_TASK that will be removed from use if "No SAM" option is checked at the start of the game """ SAM_BAN = [ - AirDefence.SAM_Avenger_M1097, + AirDefence.SAM_Linebacker_M6, - AirDefence.SAM_SA_19_Tunguska_2S6, + AirDefence.SAM_SA_9_Strela_1_9P31, AirDefence.SAM_SA_8_Osa_9A33, ] @@ -230,8 +226,8 @@ CARRIER_TAKEOFF_BAN = [ AirDefense units that will be spawned at control points not related to the current operation """ EXTRA_AA = { - "Russia": AirDefence.SAM_SA_9_Strela_1_9P31, - "USA": AirDefence.SAM_Avenger_M1097, + "Russia": AirDefence.SAM_SA_19_Tunguska_2S6, + "USA": AirDefence.SAM_Linebacker_M6, } """ @@ -273,6 +269,10 @@ UNIT_BY_COUNTRY = { AirDefence.SAM_SA_8_Osa_9A33, AirDefence.SAM_SA_19_Tunguska_2S6, + AirDefence.SPAAA_ZSU_23_4_Shilka, + AirDefence.SAM_SA_9_Strela_1_9P31, + AirDefence.SAM_SA_8_Osa_9A33, + Armor.APC_BTR_80, Armor.MBT_T_90, Armor.MBT_T_80U, @@ -315,7 +315,7 @@ UNIT_BY_COUNTRY = { Infantry.Infantry_M4, AirDefence.AAA_Vulcan_M163, - AirDefence.SAM_Avenger_M1097, + AirDefence.SAM_Linebacker_M6, CVN_74_John_C__Stennis, LHA_1_Tarawa, @@ -340,11 +340,11 @@ Payload will be used for operation of following type, "*" category will be used """ PLANE_PAYLOAD_OVERRIDES = { FA_18C_hornet: { - "*": "AIM-120*4,AIM-9*2,AIM-7*2,Fuel", + CAP: "AIM-120*4,AIM-9*2,AIM-7*2,Fuel", }, Su_33: { - "*": "R-73*4,R-27R*2,R-27ER*6", + CAP: "R-73*4,R-27R*2,R-27ER*6", }, AJS37: { @@ -364,7 +364,7 @@ PLANE_PAYLOAD_OVERRIDES = { }, M_2000C: { - "*": "Combat Air Patrol", + CAP: "Combat Air Patrol", }, MiG_21Bis: { From cf7276b528da4cfd07d6e393fd602c71c8ca64e2 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 9 Sep 2018 20:39:49 +0300 Subject: [PATCH 17/63] updated AA units --- game/db.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/game/db.py b/game/db.py index d90d7ff0..e04e0ee5 100644 --- a/game/db.py +++ b/game/db.py @@ -103,8 +103,8 @@ PRICES = { AirDefence.SAM_Linebacker_M6: 10, AirDefence.SPAAA_ZSU_23_4_Shilka: 8, - AirDefence.SAM_SA_9_Strela_1_9P31: 15, - AirDefence.SAM_SA_8_Osa_9A33: 13, + AirDefence.SAM_SA_9_Strela_1_9P31: 13, + AirDefence.SAM_SA_8_Osa_9A33: 18, # ship CV_1143_5_Admiral_Kuznetsov: 100, @@ -180,6 +180,8 @@ UNIT_BY_TASK = { AirDefence: [ # those are listed multiple times here to balance prioritization more into lower tier AAs AirDefence.AAA_Vulcan_M163, + AirDefence.AAA_Vulcan_M163, + AirDefence.AAA_Vulcan_M163, AirDefence.SAM_Linebacker_M6, AirDefence.SPAAA_ZSU_23_4_Shilka, @@ -264,11 +266,6 @@ UNIT_BY_COUNTRY = { UH_1H, Mi_8MT, - AirDefence.AAA_ZU_23_on_Ural_375, - AirDefence.SAM_SA_18_Igla_S_MANPADS, - AirDefence.SAM_SA_8_Osa_9A33, - AirDefence.SAM_SA_19_Tunguska_2S6, - AirDefence.SPAAA_ZSU_23_4_Shilka, AirDefence.SAM_SA_9_Strela_1_9P31, AirDefence.SAM_SA_8_Osa_9A33, From 61a237d1aee7d6c9f29fe5d3269fe44c4f46fa25 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 9 Sep 2018 20:57:32 +0300 Subject: [PATCH 18/63] proper settings for barcap --- game/operation/strike.py | 2 +- gen/aircraft.py | 11 +++++------ gen/conflictgen.py | 30 ++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/game/operation/strike.py b/game/operation/strike.py index 48252b0c..1ee8d940 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -33,7 +33,7 @@ class StrikeOperation(Operation): if self.game.player == self.defender_name: self.attackers_starting_position = None - conflict = Conflict.capture_conflict( + conflict = Conflict.strike_conflict( attacker=self.mission.country(self.attacker_name), defender=self.mission.country(self.defender_name), from_cp=self.from_cp, diff --git a/gen/aircraft.py b/gen/aircraft.py index e9244f85..52df2c06 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -24,6 +24,7 @@ WARM_START_AIRSPEED = 550 INTERCEPTION_ALT = 3000 INTERCEPTION_AIRSPEED = 1000 +BARCAP_RACETRACK_DISTANCE = 20000 ATTACK_CIRCLE_ALT = 5000 ATTACK_CIRCLE_DURATION = 15 @@ -218,12 +219,6 @@ class AircraftConflictGenerator: at=at) group.task = Escort.name - - """ - heading = group.position.heading_between_point(self.conflict.position) - position = group.position # type: Point - wayp = group.add_waypoint(position.point_from_heading(heading, WORKAROUND_WAYP_DIST), CAS_ALTITUDE, WARM_START_AIRSPEED) - """ self._setup_group(group, CAP, client_count) for escorted_group, waypoint_index in self.escort_targets: @@ -404,6 +399,10 @@ class AircraftConflictGenerator: if self.conflict.is_vector: group.add_waypoint(self.conflict.tail, WARM_START_ALTITUDE, WARM_START_AIRSPEED) else: + heading = group.position.heading_between_point(self.conflict.position) + waypoint = group.add_waypoint(self.conflict.position.point_from_heading(heading, BARCAP_RACETRACK_DISTANCE), + WARM_START_ALTITUDE, + WARM_START_AIRSPEED) waypoint.tasks.append(OrbitAction(WARM_START_ALTITUDE, WARM_START_AIRSPEED)) group.task = CAP.name diff --git a/gen/conflictgen.py b/gen/conflictgen.py index 30e4a53a..a2dc39cb 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -21,6 +21,9 @@ AIR_DISTANCE = 40000 CAPTURE_AIR_ATTACKERS_DISTANCE = 25000 CAPTURE_AIR_DEFENDERS_DISTANCE = 60000 +STRIKE_AIR_ATTACKERS_DISTANCE = 45000 +STRIKE_AIR_DEFENDERS_DISTANCE = 25000 + CAP_CAS_DISTANCE = 10000, 120000 GROUND_INTERCEPT_SPREAD = 5000 @@ -225,6 +228,33 @@ class Conflict: air_defenders_location=position.point_from_heading(_opposite_heading(attack_raw_heading), CAPTURE_AIR_DEFENDERS_DISTANCE) ) + @classmethod + def strike_conflict(cls, attacker: Country, defender: Country, from_cp: ControlPoint, to_cp: ControlPoint, theater: ConflictTheater): + position = to_cp.position + attack_raw_heading = to_cp.position.heading_between_point(from_cp.position) + attack_heading = to_cp.find_radial(attack_raw_heading) + defense_heading = to_cp.find_radial(from_cp.position.heading_between_point(to_cp.position), ignored_radial=attack_heading) + + distance = to_cp.size * GROUND_DISTANCE_FACTOR + attackers_location = position.point_from_heading(attack_heading, distance) + attackers_location = Conflict._find_ground_position(attackers_location, distance * 2, _heading_sum(attack_heading, 180), theater) + + defenders_location = position.point_from_heading(defense_heading, distance) + defenders_location = Conflict._find_ground_position(defenders_location, distance * 2, _heading_sum(defense_heading, 180), theater) + + return cls( + position=position, + theater=theater, + from_cp=from_cp, + to_cp=to_cp, + attackers_side=attacker, + defenders_side=defender, + ground_attackers_location=attackers_location, + ground_defenders_location=defenders_location, + air_attackers_location=position.point_from_heading(attack_raw_heading, STRIKE_AIR_ATTACKERS_DISTANCE), + air_defenders_location=position.point_from_heading(_opposite_heading(attack_raw_heading), STRIKE_AIR_DEFENDERS_DISTANCE) + ) + @classmethod def intercept_conflict(cls, attacker: Country, defender: Country, from_cp: ControlPoint, to_cp: ControlPoint, theater: ConflictTheater): raw_distance = from_cp.position.distance_to_point(to_cp.position) * 1.5 From 40bfb6fa8873368a94cafe7827536202966a20b3 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 9 Sep 2018 23:56:30 +0300 Subject: [PATCH 19/63] strike operations fixes --- game/db.py | 1 + gen/aircraft.py | 14 +++++++++----- submodules/dcs | 2 +- ui/eventresultsmenu.py | 6 +++--- userdata/debriefing.py | 5 ++--- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/game/db.py b/game/db.py index e04e0ee5..392514a1 100644 --- a/game/db.py +++ b/game/db.py @@ -354,6 +354,7 @@ PLANE_PAYLOAD_OVERRIDES = { A_10C: { CAS: "AGM-65D*2,AGM-65H*2,GBU-12*2,GBU-38*2,AIM-9*2,TGP,ECM,MK151*7", + GroundAttack: "AGM-65K*2,GBU-12*8,AIM-9M*2.ECM,TGP", }, Ka_50: { diff --git a/gen/aircraft.py b/gen/aircraft.py index 52df2c06..457688e5 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -84,11 +84,15 @@ class AircraftConflictGenerator: override_loadout = db.PLANE_PAYLOAD_OVERRIDES[unit_type] if type(override_loadout) == dict: if for_task in db.PLANE_PAYLOAD_OVERRIDES[unit_type]: - group.load_loadout(db.PLANE_PAYLOAD_OVERRIDES[unit_type][for_task]) + payload_name = db.PLANE_PAYLOAD_OVERRIDES[unit_type][for_task] + group.load_loadout(payload_name) did_load_loadout = True + logging.info("Loaded overridden payload for {} - {} for task {}".format(unit_type, payload_name, for_task)) elif "*" in db.PLANE_PAYLOAD_OVERRIDES[unit_type]: - group.load_loadout(db.PLANE_PAYLOAD_OVERRIDES[unit_type]["*"]) + payload_name = db.PLANE_PAYLOAD_OVERRIDES[unit_type]["*"] + group.load_loadout(payload_name) did_load_loadout = True + logging.info("Loaded overridden payload for {} - {} for task {}".format(unit_type, payload_name, for_task)) elif issubclass(override_loadout, MainTask): group.load_task_default_loadout(override_loadout) did_load_loadout = True @@ -275,12 +279,12 @@ class AircraftConflictGenerator: escort_until_waypoint = None for name, pos in targets: - waypoint = group.add_waypoint(pos, WARM_START_ALTITUDE, WARM_START_AIRSPEED, self.m.translation.create_string(name)) + waypoint = group.add_waypoint(pos, 0, WARM_START_AIRSPEED, self.m.translation.create_string(name)) if escort_until_waypoint is None: escort_until_waypoint = waypoint - group.task = CAS.name - self._setup_group(group, CAS, client_count) + group.task = GroundAttack.name + self._setup_group(group, GroundAttack, client_count) self.escort_targets.append((group, group.points.index(escort_until_waypoint))) self._rtb_for(group, self.conflict.from_cp, at) diff --git a/submodules/dcs b/submodules/dcs index fae12668..fce769c4 160000 --- a/submodules/dcs +++ b/submodules/dcs @@ -1 +1 @@ -Subproject commit fae126689132d643d317252adfb03184042a0ded +Subproject commit fce769c41d1db9a48d5c264101750510a9db1fcc diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index f3341f0e..b611b594 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -39,9 +39,9 @@ class EventResultsMenu(Menu): if not self.finished: - header("You are clear for takeoff !") + header("You are clear for takeoff!") - label("In DCS, open and play the mission :") + label("In DCS, open and play the mission:") label("liberation_nextturn", "italic") label("or") label("liberation_nextturn_quick", "italic") @@ -78,7 +78,6 @@ class EventResultsMenu(Menu): header("Operation failed", "title-red") header("Player losses") - for unit_type, count in self.player_losses.items(): Label(self.frame, text=db.unit_type_name(unit_type), **STYLES["widget"]).grid(row=row) Label(self.frame, text="{}".format(count), **STYLES["widget"]).grid(column=1, row=row) @@ -89,6 +88,7 @@ class EventResultsMenu(Menu): if self.debriefing.destroyed_objects: Label(self.frame, text="Ground assets", **STYLES["widget"]).grid(row=row) Label(self.frame, text="{}".format(len(self.debriefing.destroyed_objects)), **STYLES["widget"]).grid(column=1, row=row) + row += 1 for unit_type, count in self.enemy_losses.items(): if count == 0: diff --git a/userdata/debriefing.py b/userdata/debriefing.py index 4cce6290..68006696 100644 --- a/userdata/debriefing.py +++ b/userdata/debriefing.py @@ -171,11 +171,10 @@ class Debriefing: for mission_id in self._dead_objects: for group in mission.country(enemy.name).static_group + mission.country(enemy.name).vehicle_group: - if group.id == mission_id: + if mission_id in [x.id for x in group.units]: + logging.info("debriefing: connected id {} to group {}".format(mission_id, str(group.name))) self.destroyed_objects.append(str(group.name)) - self.destroyed_objects += self._dead_defense - def debriefing_directory_location() -> str: return os.path.join(base_path(), "liberation_debriefings") From 7a5361c0577ee7f0fdd5f6914aa81608ab75fca1 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Mon, 10 Sep 2018 01:38:50 +0300 Subject: [PATCH 20/63] minor updates and strike mission objects expand --- game/event/event.py | 8 +++-- game/event/strike.py | 4 +++ gen/briefinggen.py | 4 +-- gen/environmentgen.py | 2 +- gen/groundobjectsgen.py | 2 ++ resources/cau_groundobjects.p | Bin 7332 -> 15162 bytes resources/tools/cau_groundobjects.miz | Bin 15096 -> 22598 bytes resources/tools/generate_groundobjectsmap.py | 19 +++++++++++- theater/theatergroundobject.py | 4 +++ ui/eventmenu.py | 29 +++++++++++++------ ui/eventresultsmenu.py | 1 + ui/newgamemenu.py | 3 ++ ui/overviewcanvas.py | 6 ++-- 13 files changed, 64 insertions(+), 18 deletions(-) diff --git a/game/event/event.py b/game/event/event.py index c5bb75b8..db39a61a 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -50,11 +50,15 @@ class Event: def threat_description(self) -> str: return "" - def flight_name(self, for_task: typing.Type[Task]) -> str: + def flight_name(self, for_task: typing.Type[typing.Type[Task]]) -> str: return "Flight" @property - def tasks(self) -> typing.Collection[Task]: + def tasks(self) -> typing.Collection[typing.Type[Task]]: + return [] + + @property + def ai_banned_tasks(self) -> typing.Collection[typing.Type[Task]]: return [] def bonus(self) -> int: diff --git a/game/event/strike.py b/game/event/strike.py index 9c65353d..50a50152 100644 --- a/game/event/strike.py +++ b/game/event/strike.py @@ -29,6 +29,10 @@ class StrikeEvent(Event): else: return [CAP] + @property + def ai_banned_tasks(self): + return [CAS] + def flight_name(self, for_task: typing.Type[Task]) -> str: if for_task == CAP: if self.is_player_attacking: diff --git a/gen/briefinggen.py b/gen/briefinggen.py index 851fe3fd..468d0d8e 100644 --- a/gen/briefinggen.py +++ b/gen/briefinggen.py @@ -37,12 +37,12 @@ class BriefingGenerator: description += "\n\n" + self.description if self.freqs: - description += "\n\n RADIO:" + description += "\n\nCOMMS:" for name, freq in self.freqs: description += "\n{}: {}".format(name, freq) if self.targets: - description += "\n\n TARGETS:" + description += "\n\nTARGETS:" for name, tp in self.targets: description += "\n{} {}".format(name, "(TP {})".format(tp) if tp else "") diff --git a/gen/environmentgen.py b/gen/environmentgen.py index 6f1a3cdd..4c3db832 100644 --- a/gen/environmentgen.py +++ b/gen/environmentgen.py @@ -49,7 +49,7 @@ class EnviromentGenerator: self.game = game def _gen_random_time(self): - start_time = datetime.combine(datetime.today(), time()) + start_time = datetime.fromtimestamp(1527206400) time_range = None for k, v in RANDOM_TIME.items(): if self.game.settings.night_disabled and k == "night": diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index ccbd4220..558c4c31 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -14,6 +14,8 @@ CATEGORY_MAPPING = { "fuel": [Warehouse.Tank], "ammo": [Warehouse.Ammunition_depot], "farp": [Fortification.FARP_Tent], + "comms": [Fortification.TV_tower], + "oil": [Fortification.Oil_platform], } diff --git a/resources/cau_groundobjects.p b/resources/cau_groundobjects.p index 1cf0d8a63764de57843579f3fe077553998cf70e..54012b234c00f1914abf4c6f96fb2ca2c9547d01 100644 GIT binary patch literal 15162 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 literal 7332 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 IE=F_Ezc@Klv;Y7A diff --git a/resources/tools/cau_groundobjects.miz b/resources/tools/cau_groundobjects.miz index 6f1976f4f218edd3eedca6537a247454a7b31f1f..87eef17a472cb92137d6cff23809faa9a89d104d 100644 GIT binary patch delta 20558 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 delta 13001 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 typing.Tuple: args = str(name.split()[0]).split("|") + if len(args) == 2: + global group_id_counter + group_id_counter += 1 + args.append(str(group_id_counter)) + else: + global previous_group_id + if previous_group_id != args[2]: + group_id_counter += 1 + previous_group_id = args[2] + return args[0], int(args[1]), int(args[2]) @@ -46,9 +59,11 @@ for group in m.country("Russia").static_group + m.country("Russia").vehicle_grou ids_counters_key = "{}_{}".format(cp_id, group_id) ids_counters[ids_counters_key] = ids_counters.get(ids_counters_key, 0) + 1 object_id = ids_counters[ids_counters_key] + cp_counters[cp_id] = cp_counters.get(cp_id, 0) + 1 + append_group(cp_id, category, group_id, object_id, group.position, group.units[0].heading) -GROUP_TRESHOLD = 300 +GROUP_TRESHOLD = 2000 did_check_pairs = [] for group_id, objects_in_group in result_by_groups.items(): for a in objects_in_group: @@ -62,6 +77,8 @@ for group_id, objects_in_group in result_by_groups.items(): print("Objects {} and {} in group {} are too far apart ({})!".format(a.string_identifier, b.string_identifier, group_id, distance)) print("Total {} objects".format(sum([len(x) for x in result.values()]))) +for cp_id, count in cp_counters.items(): + print("{} - {} objects".format(cp_id, count)) with open("../cau_groundobjects.p", "wb") as f: diff --git a/theater/theatergroundobject.py b/theater/theatergroundobject.py index 1dc30230..3e091fa2 100644 --- a/theater/theatergroundobject.py +++ b/theater/theatergroundobject.py @@ -9,6 +9,8 @@ NAME_BY_CATEGORY = { "defense": "AA Defense Site", "warehouse": "Warehouse", "farp": "FARP", + "comms": "Comms. tower", + "oil": "Oil platform" } ABBREV_NAME = { @@ -18,6 +20,8 @@ ABBREV_NAME = { "defense": "AA", "warehouse": "WARE", "farp": "FARP", + "comms": "COMMST", + "oil": "OILP" } diff --git a/ui/eventmenu.py b/ui/eventmenu.py index a7893cd9..d8d4b027 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -38,10 +38,10 @@ class EventMenu(Menu): Label(head, text=text, **STYLES[style]).grid() row += 1 - def label(text, _row=None, _column=None, sticky=None): + def label(text, _row=None, _column=None, columnspan=None, sticky=None): nonlocal row new_label = Label(self.frame, text=text, **STYLES["widget"]) - new_label.grid(row=_row and _row or row, column=_column and _column or 0, sticky=sticky) + new_label.grid(row=_row and _row or row, column=_column and _column or 0, columnspan=columnspan, sticky=sticky) if _row is None: row += 1 @@ -105,7 +105,7 @@ class EventMenu(Menu): row += 1 header("Ready?") - self.error_label = label("") + self.error_label = label("", columnspan=4) self.error_label["fg"] = RED Button(self.frame, text="Commit", command=self.start, **STYLES["btn-primary"]).grid(column=0, row=row, sticky=E, padx=5, pady=(10,10)) Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-warning"]).grid(column=3, row=row, sticky=E, padx=5, pady=(10,10)) @@ -141,15 +141,18 @@ class EventMenu(Menu): self.event.is_awacs_enabled = False flights = {k: {} for k in self.event.tasks} # type: ScrambledFlightsDict - total_counts_scrambled = {} # type: typing.Dict[typing.Type[UnitType], int] + units_scramble_counts = {} # type: typing.Dict[typing.Type[UnitType], int] + tasks_scramble_counts = {} # type: typing.Dict[typing.Type[Task], int] + tasks_clients_counts = {} # type: typing.Dict[typing.Type[Task], int] - def dampen_count(unit_type: typing.Type[UnitType], count: int) -> int: - nonlocal total_counts_scrambled + def dampen_count(for_task: typing.Type[Task], unit_type: typing.Type[UnitType], count: int) -> int: + nonlocal units_scramble_counts total_count = self.base.total_units_of_type(unit_type) - total_scrambled = total_counts_scrambled.get(unit_type, 0) + total_scrambled = units_scramble_counts.get(unit_type, 0) dampened_value = count if count + total_scrambled < total_count else total_count - total_scrambled - total_counts_scrambled[unit_type] = total_counts_scrambled.get(unit_type, 0) + dampened_value + units_scramble_counts[unit_type] = units_scramble_counts.get(unit_type, 0) + dampened_value + return dampened_value for task_type, dict in self.scramble_entries.items(): @@ -164,8 +167,16 @@ class EventMenu(Menu): except: clients_count = 0 - flights[task_type][unit_type] = dampen_count(unit_type, count), clients_count + dampened_count = dampen_count(task_type, unit_type, count) + tasks_clients_counts[task_type] = tasks_clients_counts.get(task_type, 0) + clients_count + tasks_scramble_counts[task_type] = tasks_scramble_counts.get(task_type, 0) + dampened_count + flights[task_type][unit_type] = dampened_count, clients_count + + for task in self.event.ai_banned_tasks: + if tasks_clients_counts.get(task, 0) == 0 and tasks_scramble_counts.get(task, 0) > 0: + self.error_label["text"] = "Need at least one player in flight {}".format(self.event.flight_name(task)) + return if self.game.is_player_attack(self.event): self.event.player_attacking(flights) diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index b611b594..5f4e3ec9 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -78,6 +78,7 @@ class EventResultsMenu(Menu): header("Operation failed", "title-red") header("Player losses") + for unit_type, count in self.player_losses.items(): Label(self.frame, text=db.unit_type_name(unit_type), **STYLES["widget"]).grid(row=row) Label(self.frame, text="{}".format(count), **STYLES["widget"]).grid(column=1, row=row) diff --git a/ui/newgamemenu.py b/ui/newgamemenu.py index 8f34db6d..e30d3df2 100644 --- a/ui/newgamemenu.py +++ b/ui/newgamemenu.py @@ -98,6 +98,9 @@ class NewGameMenu(Menu): Label(terrain, text="Persian Gulf", **STYLES["widget"]).grid(row=2, column=1, sticky=W) self.create_label_image(terrain, "terrain_pg.png").grid(row=2, column=2, padx=5) + Label(terrain, text="Currently strike missions are only\navailable for a number of airports only in Caucasus", **STYLES["widget"]) \ + .grid(row=3, column=0, columnspan=3, sticky=W) + # Misc Options options = LabelFrame(body, text="Misc Options", **STYLES["label-frame"]) options.grid(row=0, column=2, sticky=NE, padx=5) diff --git a/ui/overviewcanvas.py b/ui/overviewcanvas.py index 5a56f101..d1323b06 100644 --- a/ui/overviewcanvas.py +++ b/ui/overviewcanvas.py @@ -99,7 +99,7 @@ class OverviewCanvas: color = self._enemy_color() cp_id = self.canvas.create_arc((coords[0] - arc_size/2, coords[1] - arc_size/2), - (coords[0]+arc_size/2, coords[1]+arc_size/2), + (coords[0] + arc_size/2, coords[1] + arc_size/2), fill=color, style=PIESLICE, start=start, @@ -118,8 +118,8 @@ class OverviewCanvas: self.create_cp_title((coords[0] + arc_size/4, coords[1] + arc_size/4), cp) units_title = "{}/{}/{}".format(cp.base.total_planes, cp.base.total_armor, cp.base.total_aa) - self.canvas.create_text(coords[0]+1, coords[1] - arc_size / 1.5 +1, text=units_title, font=("Helvetica", 10), fill=color) - self.canvas.create_text(coords[0], coords[1] - arc_size / 1.5, text=units_title, font=("Helvetica", 10), fill="white") + self.canvas.create_text(coords[0]+1, coords[1] - arc_size / 1.5 +1, text=units_title, font=("Helvetica", 8), fill=color) + self.canvas.create_text(coords[0], coords[1] - arc_size / 1.5, text=units_title, font=("Helvetica", 8), fill="white") def display(self, cp: ControlPoint): def action(_): From fa5259d1f2ea2247ef4305ed91e6742b7fbb0e2c Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Mon, 10 Sep 2018 01:48:38 +0300 Subject: [PATCH 21/63] minor fixes before rc --- game/event/baseattack.py | 4 ++-- game/event/event.py | 4 ++-- game/event/frontlineattack.py | 2 +- game/event/frontlinepatrol.py | 16 +--------------- game/event/infantrytransport.py | 2 +- game/event/insurgentattack.py | 7 +++---- game/event/intercept.py | 4 +++- game/event/navalintercept.py | 4 ++-- game/event/strike.py | 6 +++++- 9 files changed, 20 insertions(+), 29 deletions(-) diff --git a/game/event/baseattack.py b/game/event/baseattack.py index dc356f0c..98b0bd52 100644 --- a/game/event/baseattack.py +++ b/game/event/baseattack.py @@ -61,7 +61,7 @@ class BaseAttackEvent(Event): self.to_cp.captured = False def player_defending(self, flights: ScrambledFlightsDict): - assert len(flights) == 1 and flights[CAP], "Invalid scrambled flights" + assert CAP in flights and len(flights) == 1, "Invalid scrambled flights" cas = self.from_cp.base.scramble_cas(self.game.settings.multiplier) escort = self.from_cp.base.scramble_sweep(self.game.settings.multiplier) @@ -83,7 +83,7 @@ class BaseAttackEvent(Event): self.operation = op def player_attacking(self, flights: ScrambledFlightsDict): - assert flights[CAP] and flights[CAS] and flights[PinpointStrike] and len(flights) == 3, "Invalid flights" + assert CAP in flights and CAS in flights and PinpointStrike in flights and len(flights) == 3, "Invalid flights" op = BaseAttackOperation(game=self.game, attacker_name=self.attacker_name, diff --git a/game/event/event.py b/game/event/event.py index db39a61a..e771a9f7 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -68,10 +68,10 @@ class Event: return self.operation.is_successfull(debriefing) def player_attacking(self, flights: ScrambledFlightsDict): - pass + assert False def player_defending(self, flights: ScrambledFlightsDict): - pass + assert False def generate(self): self.operation.is_awacs_enabled = self.is_awacs_enabled diff --git a/game/event/frontlineattack.py b/game/event/frontlineattack.py index 8a32b704..90e8ec0f 100644 --- a/game/event/frontlineattack.py +++ b/game/event/frontlineattack.py @@ -70,7 +70,7 @@ class FrontlineAttackEvent(Event): self.to_cp.base.affect_strength(-0.1) def player_attacking(self, flights: ScrambledFlightsDict): - assert flights[CAS] and flights[PinpointStrike] and len(flights) == 2, "Invalid flights" + assert CAS in flights and PinpointStrike in flights and len(flights) == 2, "Invalid flights" self.defenders = self.to_cp.base.assemble_attack() diff --git a/game/event/frontlinepatrol.py b/game/event/frontlinepatrol.py index 3f1acef0..3413dfbc 100644 --- a/game/event/frontlinepatrol.py +++ b/game/event/frontlinepatrol.py @@ -35,20 +35,6 @@ class FrontlinePatrolEvent(Event): def __str__(self): return "Frontline CAP" - """ - def is_successfull(self, debriefing: Debriefing): - total_targets = sum(self.cas.values()) - destroyed_targets = 0 - for unit, count in debriefing.destroyed_units[self.defender_name].items(): - if unit in self.cas: - destroyed_targets += count - - if self.from_cp.captured: - return float(destroyed_targets) / total_targets >= self.SUCCESS_TARGETS_HIT_PERCENTAGE - else: - return float(destroyed_targets) / total_targets < self.SUCCESS_TARGETS_HIT_PERCENTAGE - """ - def is_successfull(self, debriefing: Debriefing): alive_attackers = sum([v for k, v in debriefing.alive_units[self.attacker_name].items() if db.unit_task(k) == PinpointStrike]) alive_defenders = sum([v for k, v in debriefing.alive_units[self.defender_name].items() if db.unit_task(k) == PinpointStrike]) @@ -76,7 +62,7 @@ class FrontlinePatrolEvent(Event): pass def player_attacking(self, flights: ScrambledFlightsDict): - assert flights[CAP] and flights[PinpointStrike] and len(flights) == 2, "Invalid flights" + assert CAP in flights and PinpointStrike in flights and len(flights) == 2, "Invalid flights" self.cas = self.to_cp.base.scramble_cas(self.game.settings.multiplier) self.escort = self.to_cp.base.scramble_sweep(self.game.settings.multiplier * self.ESCORT_FACTOR) diff --git a/game/event/infantrytransport.py b/game/event/infantrytransport.py index 4ca7ee9a..2086c025 100644 --- a/game/event/infantrytransport.py +++ b/game/event/infantrytransport.py @@ -38,7 +38,7 @@ class InfantryTransportEvent(Event): self.from_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) def player_attacking(self, flights: ScrambledFlightsDict): - assert flights[Embarking] and len(flights) == 1, "Invalid flights" + assert Embarking in flights and len(flights) == 1, "Invalid flights" op = InfantryTransportOperation( game=self.game, diff --git a/game/event/insurgentattack.py b/game/event/insurgentattack.py index 38fe5876..de4df51b 100644 --- a/game/event/insurgentattack.py +++ b/game/event/insurgentattack.py @@ -8,6 +8,8 @@ from game.event import * from game.event.frontlineattack import FrontlineAttackEvent from game.operation.insurgentattack import InsurgentAttackOperation +from .event import * + class InsurgentAttackEvent(Event): SUCCESS_FACTOR = 0.7 @@ -39,7 +41,7 @@ class InsurgentAttackEvent(Event): return not attackers_success def player_defending(self, flights: ScrambledFlightsDict): - assert flights[CAS] and len(flights) == 1, "Invalid flights" + assert CAS in flights and len(flights) == 1, "Invalid flights" suitable_unittypes = db.find_unittype(Reconnaissance, self.attacker_name) random.shuffle(suitable_unittypes) @@ -56,6 +58,3 @@ class InsurgentAttackEvent(Event): strikegroup=flights[CAS]) self.operation = op - - def player_attacking(self, interceptors: db.PlaneDict, clients: db.PlaneDict): - assert False diff --git a/game/event/intercept.py b/game/event/intercept.py index 24f77cc0..eca702e2 100644 --- a/game/event/intercept.py +++ b/game/event/intercept.py @@ -69,7 +69,7 @@ class InterceptEvent(Event): self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) def player_attacking(self, flights: ScrambledFlightsDict): - assert flights[CAP] and len(flights) == 1, "Invalid flights" + assert CAP in flights and len(flights) == 1, "Invalid flights" escort = self.to_cp.base.scramble_sweep(self._enemy_scramble_multiplier()) @@ -91,6 +91,8 @@ class InterceptEvent(Event): self.operation = op def player_defending(self, flights: ScrambledFlightsDict): + assert CAP in flights and len(flights) == 1, "Invalid flights" + interceptors = self.from_cp.base.scramble_interceptors(self.game.settings.multiplier) self.transport_unit = random.choice(db.find_unittype(Transport, self.defender_name)) diff --git a/game/event/navalintercept.py b/game/event/navalintercept.py index a1366f46..0f776197 100644 --- a/game/event/navalintercept.py +++ b/game/event/navalintercept.py @@ -78,7 +78,7 @@ class NavalInterceptEvent(Event): self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) def player_attacking(self, flights: ScrambledFlightsDict): - assert flights[CAS] and len(flights) == 1, "Invalid flights" + assert CAS in flights and len(flights) == 1, "Invalid flights" self.targets = { random.choice(db.find_unittype(CargoTransportation, self.defender_name)): self._targets_count(), @@ -99,7 +99,7 @@ class NavalInterceptEvent(Event): self.operation = op def player_defending(self, flights: ScrambledFlightsDict): - assert flights[CAP] and len(flights) == 1, "Invalid flights" + assert CAP in flights and len(flights) == 1, "Invalid flights" self.targets = { random.choice(db.find_unittype(CargoTransportation, self.defender_name)): self._targets_count(), diff --git a/game/event/strike.py b/game/event/strike.py index 50a50152..158da7af 100644 --- a/game/event/strike.py +++ b/game/event/strike.py @@ -22,6 +22,10 @@ class StrikeEvent(Event): def is_successfull(self, debriefing: Debriefing): return True + @property + def threat_description(self): + return "{} aircraft + AA".format(self.to_cp.base.scramble_count(self.game.settings.multiplier, CAP)) + @property def tasks(self): if self.is_player_attacking: @@ -47,7 +51,7 @@ class StrikeEvent(Event): self.to_cp.base.affect_strength(-self.SINGLE_OBJECT_STRENGTH_INFLUENCE * len(debriefing.destroyed_objects)) def player_attacking(self, flights: ScrambledFlightsDict): - assert flights[CAP] and flights[CAS] and len(flights) == 2, "Invalid flights" + assert CAP in flights and CAS in flights and len(flights) == 2, "Invalid flights" op = StrikeOperation( self.game, From f21c515d5c226a7a7178b61cf1ecf3000afa14af Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Mon, 10 Sep 2018 21:46:34 +0300 Subject: [PATCH 22/63] convert resource files to gif --- resources/ui/terrain_caucasus.gif | Bin 0 -> 852 bytes resources/ui/terrain_caucasus.png | Bin 1202 -> 0 bytes resources/ui/terrain_nevada.gif | Bin 0 -> 1454 bytes resources/ui/terrain_nevada.png | Bin 1863 -> 0 bytes resources/ui/terrain_pg.gif | Bin 0 -> 1429 bytes resources/ui/terrain_pg.png | Bin 1690 -> 0 bytes submodules/dcs | 2 +- ui/newgamemenu.py | 6 +++--- 8 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 resources/ui/terrain_caucasus.gif delete mode 100644 resources/ui/terrain_caucasus.png create mode 100644 resources/ui/terrain_nevada.gif delete mode 100644 resources/ui/terrain_nevada.png create mode 100644 resources/ui/terrain_pg.gif delete mode 100644 resources/ui/terrain_pg.png diff --git a/resources/ui/terrain_caucasus.gif b/resources/ui/terrain_caucasus.gif new file mode 100644 index 0000000000000000000000000000000000000000..9fb7935261b0b3c4b594e2ef21e9adbd68917e90 GIT binary patch literal 852 zcmV-a1FQT;Nk%w1VHf}y0QLX?077X1L~spGcM?*108M}ZTb31Plo@E1Gjf^$Zmlbi zvo4djE|s}2n7jgj!3=@I0FTlIkkSB^-2$85I-k}(p~pI?(>Jr+Jhj~bpXC9f&zVTqY1<%k^%~@N&-abkXp9((-}F=7-DZfzj`U)bxwi_Kn%}jMw;$ z*!Yy!^po54n%wo2+W4E@`J>7;#OwRa?)=s9{oC{XP2B~E5&tE{YPt*)wOPF7`Rx45>qXsWHbPg%CQ zyPlz;aBQDxYH4IxUBar%Yiw_6W^Z$A$YEt=XJv@CXv>;zacgpNZe?B|S?pn9V2Wm= zo^WekNk#JVCmlwpnm2~b8D?hIxbfGeLkARH!c=kiu*@QZXU?!O;{}YoG9w&%Py)sS z#fM_Z7);}(qnC(aikut);$(*`D!Xur)G<<*D;zjD3>vh9&@50i0AXT+h>0Q^sz5RF zA_Bp5%9bTtma-&)=g*)+i%tLqM}gC*Q>$KGV22F? zuw%;>AiFl~9V`F@*v-4QZ{GlDqyRv?xbfr20j#JXV1V=I(4RMtEHf-_D)8 e0SpT+Sb$L@$BrIm)2HvzBZrO|FEB6&1OPkjTAoe- literal 0 HcmV?d00001 diff --git a/resources/ui/terrain_caucasus.png b/resources/ui/terrain_caucasus.png deleted file mode 100644 index d27ee1ce24d0144ac3f73ff67f8d8cb186c53606..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1202 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 literal 0 HcmV?d00001 diff --git a/resources/ui/terrain_nevada.png b/resources/ui/terrain_nevada.png deleted file mode 100644 index 682b5644ae2a362f38c807880468c536d83acbec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1863 zcmV-N2e|l&P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00y^7L_t(IPZg5sQ&VXc#_vBdRnt9A_1H9N zvXc-J2)od-FJVi`^5fk0RVXXt6G ztE|%Yi-@m3#+%O&9bQ~9&U!kXr0FkAvp0j|?fIArV zhqv9EF|#)o-#?D*B&48U0tV#P5VW}~27`Q+m%ZkCEVB16SbOFyuoiW0n=d4BM+z+e z1+qD6zRaYydbC!z3G%6JJ}3}%_(FD1(B=t(kPmbP1Cbqt)z4maJX*ALP8n`J*WaJj zPf3k3y;);%1|qRrzH^|IuTvOp2AfN1g8sc=nA@STJJ2G~DfOTRv>I&= ztJ4c7GJC?F(6-F6C9!U8IJVZUVV=s@Be1ql8m>IkFrO;x1~+I=HrggMo=E)lZ@-?r zJek@19k{UsuB)_4twCcj`uzS-I1-9%d4nOD$tO2?L~6&Z4D9Et>xPuHK}GG*7u63d zTE-M6hifwwgyr(M=iR@BxJp^7J1;LPwRcr&bN-Z*!LGbfx0od9>1!Ka)l zu0Z(9$k@Z-(ZTV_3Er$oEKzB+ZZ{N-1R^274T4NotJmi?nn0m=?eVjTha+SCBdiBc z$A2DU4^MEWeEUGxGT7PoaA0WEV6k!M=0U4{U7_0A-rm{SIXylIZ+b(apxJDS@5Wtj z&-|irGZJ-reG4m+$LuMS(=#KITD~qIicPeuZ9Jjq{rmSme_(Gfad31T4u{3! zmBfC+<#xY)`&PQP7K_E+ym_P4sL#*OEe^+CBB8g~y?%c<8mnk+XFGR*yDO&dzMg0- zrZ*TqeE47hP4E8r!(w;vg-eh(@cHv+t-C>n9cI4>j=(pFegMQz~j~@>Y zk6?Pwqenb{;tOb?moAe`v4?+D%4WH&9*tsNEt{KW-&^3`(<=qy+3q>PqIUj{T_;=@ zvDPKC{OOTr!`&lK`uclXW_YZQj%p4R1n!88E8Hu3VVico!?oVGsp{V~PaN4fK{ZDq z7-S81-@W$}2TbxcT5k z-LbItrJza?3Bq?|oE*H<@%N^Zva+gb+O_Lfn_63{XtdJu>hhZEvdT(oc5Z$yIj^uV z?^4m_($dStrDYWr)wQ)HWtUqUil6tD+o#K=;Q;VYkuj&BpsBfu(L^t)s3<5b%+D{( zEhxNHT$)$-12rcHjU(hyQ5o4;Y3XEA1|=)+5;Z#~Gb<-Izo4YFqVR_z9FaJnasq8j z#`5Ya5+#G2NlnkpB&KJiQ>dBQ+2jmrDv^Z5V88h``Okm-7K6j%QVB>5E|mxaDa3RV zF+GhyN+*)i3W|z))gGW}!H`NyPfa6X2}BGYpGqJQ$z(i{1Upku*o#SsuP*%UM$Ok~ z6atOIA&{u=5C{|&i%rF&u{b0KgT~?E&)TIHppvhJ{cy+kC^QO##Sw@oEItK|L?F=@ zlaeodbMa4KUHHp|ui-}u5|x~il7v7cC4Y}VVPFapgMy6+B$B>t1}^b*XgmSVl9ij6 zm7fPMB_k^b4o4)B@q{!Oia=wMVK5e#nwCbPX2Eqr8i_=vP%^0*R4Ro^f$PN!CV)Jl z!r%U-k=e{_X<@dsHZqxw3}!upPOGo4tf3W`RbGZwT2WG7Sw*X@ZJ^iF>D9Eln!38$ zhQ|6vdIOz7sc*^F9RW%0Pbh}d{6$-}*l}eIx+Qn^s$BzWcc&cs*M_58Zts!Xd*$}~ z3daMb^MT4WpmFyqp>74#CI8ZVZ4JuR9ik?6{|6oeseu1>CR_jj002ovPDHLkV1nR7 BiRu6V diff --git a/resources/ui/terrain_pg.gif b/resources/ui/terrain_pg.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d61b078488e122d8314f70adefa661643507e9e GIT binary patch literal 1429 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 diff --git a/submodules/dcs b/submodules/dcs index fce769c4..e2f8478c 160000 --- a/submodules/dcs +++ b/submodules/dcs @@ -1 +1 @@ -Subproject commit fce769c41d1db9a48d5c264101750510a9db1fcc +Subproject commit e2f8478c4ed95588cea5837e62fc982decb7e133 diff --git a/ui/newgamemenu.py b/ui/newgamemenu.py index e30d3df2..4e229806 100644 --- a/ui/newgamemenu.py +++ b/ui/newgamemenu.py @@ -86,17 +86,17 @@ class NewGameMenu(Menu): Radiobutton(terrain, variable=self.selected_terrain, value=0, **STYLES["radiobutton"]) \ .grid(row=0, column=0, sticky=W) Label(terrain, text="Caucasus", **STYLES["widget"]).grid(row=0, column=1, sticky=W) - self.create_label_image(terrain, "terrain_caucasus.png").grid(row=0, column=2, padx=5) + self.create_label_image(terrain, "terrain_caucasus.gif").grid(row=0, column=2, padx=5) Radiobutton(terrain, variable=self.selected_terrain, value=1, **STYLES["radiobutton"]) \ .grid(row=1, column=0, sticky=W) Label(terrain, text="Nevada", **STYLES["widget"]).grid(row=1, column=1, sticky=W) - self.create_label_image(terrain, "terrain_nevada.png").grid(row=1, column=2, padx=5) + self.create_label_image(terrain, "terrain_nevada.gif").grid(row=1, column=2, padx=5) Radiobutton(terrain, variable=self.selected_terrain, value=2, **STYLES["radiobutton"]) \ .grid(row=2, column=0, sticky=W) Label(terrain, text="Persian Gulf", **STYLES["widget"]).grid(row=2, column=1, sticky=W) - self.create_label_image(terrain, "terrain_pg.png").grid(row=2, column=2, padx=5) + self.create_label_image(terrain, "terrain_pg.gif").grid(row=2, column=2, padx=5) Label(terrain, text="Currently strike missions are only\navailable for a number of airports only in Caucasus", **STYLES["widget"]) \ .grid(row=3, column=0, columnspan=3, sticky=W) From ca521e7e511640a37765e492c3ab3b567a37070e Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Mon, 10 Sep 2018 23:12:04 +0300 Subject: [PATCH 23/63] FARPs for heli flights WIP --- game/db.py | 20 ++++++++++++++++-- game/event/baseattack.py | 21 ++++++------------- game/event/event.py | 8 +++----- game/event/frontlineattack.py | 11 ++-------- game/event/frontlinepatrol.py | 13 +++--------- game/event/infantrytransport.py | 2 +- game/event/insurgentattack.py | 2 +- game/event/intercept.py | 17 ++++----------- game/event/navalintercept.py | 17 ++++----------- game/event/strike.py | 13 ++---------- game/operation/baseattack.py | 29 ++++++++++---------------- game/operation/frontlineattack.py | 26 +++++++++-------------- game/operation/frontlinepatrol.py | 32 +++++++++-------------------- game/operation/infantrytransport.py | 18 ++++------------ game/operation/insurgentattack.py | 18 ++++------------ game/operation/intercept.py | 15 +++++++------- game/operation/navalintercept.py | 15 +++++++------- game/operation/operation.py | 19 +---------------- game/operation/strike.py | 30 +++++++++------------------ gen/aircraft.py | 4 ++-- gen/conflictgen.py | 5 ++++- gen/groundobjectsgen.py | 13 ++++++++++++ ui/eventmenu.py | 2 +- 23 files changed, 128 insertions(+), 222 deletions(-) diff --git a/game/db.py b/game/db.py index 392514a1..9d4f714d 100644 --- a/game/db.py +++ b/game/db.py @@ -366,7 +366,7 @@ PLANE_PAYLOAD_OVERRIDES = { }, MiG_21Bis: { - "*": "Patrol, medium range", + CAP: "Patrol, medium range", } } @@ -392,7 +392,11 @@ HeliDict = typing.Dict[HelicopterType, int] ArmorDict = typing.Dict[VehicleType, int] ShipDict = typing.Dict[ShipType, int] AirDefenseDict = typing.Dict[AirDefence, int] -StartingPosition = typing.Optional[typing.Union[ShipGroup, Airport, Point]] + +AssignedUnitsDict = typing.Dict[typing.Type[UnitType], typing.Tuple[int, int]] +TaskForceDict = typing.Dict[typing.Type[Task], AssignedUnitsDict] + +StartingPosition = typing.Optional[typing.Union[ShipGroup, StaticGroup, Airport, Point]] def unit_task(unit: UnitType) -> Task: @@ -471,6 +475,18 @@ def unitdict_restrict_count(unit_dict: UnitsDict, total_count: int) -> UnitsDict return {} +def assigned_units_split(fd: AssignedUnitsDict) -> typing.Tuple[PlaneDict, PlaneDict]: + return {k: v1 for k, (v1, v2) in fd.items()}, {k: v2 for k, (v1, v2) in fd.items()}, + + +def assigned_units_from(d: PlaneDict) -> AssignedUnitsDict: + return {k: (v, 0) for k, v in d.items()} + + +def unitdict_from(fd: AssignedUnitsDict) -> Dict: + return {k: v1 for k, (v1, v2) in fd.items()} + + def _validate_db(): # check unit by task uniquity total_set = set() diff --git a/game/event/baseattack.py b/game/event/baseattack.py index 98b0bd52..e708f5cc 100644 --- a/game/event/baseattack.py +++ b/game/event/baseattack.py @@ -1,16 +1,7 @@ -import typing -import math -import random - -from dcs.task import * -from dcs.unittype import UnitType - -from game import db from game.operation.baseattack import BaseAttackOperation -from userdata.debriefing import Debriefing from .event import * -from ..operation.operation import flight_dict_from +from game.db import assigned_units_from class BaseAttackEvent(Event): @@ -60,7 +51,7 @@ class BaseAttackEvent(Event): if not self.is_player_attacking and self.to_cp.captured: self.to_cp.captured = False - def player_defending(self, flights: ScrambledFlightsDict): + def player_defending(self, flights: db.TaskForceDict): assert CAP in flights and len(flights) == 1, "Invalid scrambled flights" cas = self.from_cp.base.scramble_cas(self.game.settings.multiplier) @@ -73,8 +64,8 @@ class BaseAttackEvent(Event): from_cp=self.from_cp, to_cp=self.to_cp) - op.setup(cas=flight_dict_from(cas), - escort=flight_dict_from(escort), + op.setup(cas=assigned_units_from(cas), + escort=assigned_units_from(escort), intercept=flights[CAP], attack=attackers, defense=self.to_cp.base.armor, @@ -82,7 +73,7 @@ class BaseAttackEvent(Event): self.operation = op - def player_attacking(self, flights: ScrambledFlightsDict): + def player_attacking(self, flights: db.TaskForceDict): assert CAP in flights and CAS in flights and PinpointStrike in flights and len(flights) == 3, "Invalid flights" op = BaseAttackOperation(game=self.game, @@ -97,7 +88,7 @@ class BaseAttackEvent(Event): op.setup(cas=flights[CAS], escort=flights[CAP], attack=flights[PinpointStrike], - intercept=flight_dict_from(defenders), + intercept=assigned_units_from(defenders), defense=self.to_cp.base.armor, aa=self.to_cp.base.assemble_aa()) diff --git a/game/event/event.py b/game/event/event.py index e771a9f7..55439e30 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -8,15 +8,13 @@ from dcs.unittype import UnitType from game import * from theater import * from gen.environmentgen import EnvironmentSettings -from game.operation.operation import flight_dict_from, dict_from_flight +from game.db import assigned_units_from, unitdict_from from userdata.debriefing import Debriefing from userdata import persistency DIFFICULTY_LOG_BASE = 1.1 -ScrambledFlightsDict = typing.Dict[typing.Type[Task], typing.Dict[typing.Type[UnitType], typing.Tuple[int, int]]] - class Event: silent = False @@ -67,10 +65,10 @@ class Event: def is_successfull(self, debriefing: Debriefing) -> bool: return self.operation.is_successfull(debriefing) - def player_attacking(self, flights: ScrambledFlightsDict): + def player_attacking(self, flights: db.TaskForceDict): assert False - def player_defending(self, flights: ScrambledFlightsDict): + def player_defending(self, flights: db.TaskForceDict): assert False def generate(self): diff --git a/game/event/frontlineattack.py b/game/event/frontlineattack.py index 90e8ec0f..5560c714 100644 --- a/game/event/frontlineattack.py +++ b/game/event/frontlineattack.py @@ -1,10 +1,3 @@ -import math -import random - -from dcs.task import * -from dcs.vehicles import AirDefence - -from game import * from game.event import * from game.operation.frontlineattack import FrontlineAttackOperation from userdata.debriefing import Debriefing @@ -69,7 +62,7 @@ class FrontlineAttackEvent(Event): if self.to_cp.captured: self.to_cp.base.affect_strength(-0.1) - def player_attacking(self, flights: ScrambledFlightsDict): + def player_attacking(self, flights: db.TaskForceDict): assert CAS in flights and PinpointStrike in flights and len(flights) == 2, "Invalid flights" self.defenders = self.to_cp.base.assemble_attack() @@ -80,7 +73,7 @@ class FrontlineAttackEvent(Event): from_cp=self.from_cp, to_cp=self.to_cp) - armor = dict_from_flight(flights[PinpointStrike]) + armor = unitdict_from(flights[PinpointStrike]) op.setup(target=self.defenders, attackers=db.unitdict_restrict_count(armor, sum(self.defenders.values())), strikegroup=flights[CAS]) diff --git a/game/event/frontlinepatrol.py b/game/event/frontlinepatrol.py index 3413dfbc..e2ec1603 100644 --- a/game/event/frontlinepatrol.py +++ b/game/event/frontlinepatrol.py @@ -1,10 +1,3 @@ -import math -import random - -from dcs.task import * -from dcs.vehicles import AirDefence - -from game import * from game.event import * from game.operation.frontlinepatrol import FrontlinePatrolOperation from userdata.debriefing import Debriefing @@ -61,7 +54,7 @@ class FrontlinePatrolEvent(Event): def skip(self): pass - def player_attacking(self, flights: ScrambledFlightsDict): + def player_attacking(self, flights: db.TaskForceDict): assert CAP in flights and PinpointStrike in flights and len(flights) == 2, "Invalid flights" self.cas = self.to_cp.base.scramble_cas(self.game.settings.multiplier) @@ -74,8 +67,8 @@ class FrontlinePatrolEvent(Event): to_cp=self.to_cp) defenders = self.to_cp.base.assemble_attack() - op.setup(cas=flight_dict_from(self.cas), - escort=flight_dict_from(self.escort), + op.setup(cas=assigned_units_from(self.cas), + escort=assigned_units_from(self.escort), interceptors=flights[CAP], armor_attackers=db.unitdict_restrict_count(dict_from_flight(flights[PinpointStrike]), sum(defenders.values())), armor_defenders=defenders) diff --git a/game/event/infantrytransport.py b/game/event/infantrytransport.py index 2086c025..59d85abe 100644 --- a/game/event/infantrytransport.py +++ b/game/event/infantrytransport.py @@ -37,7 +37,7 @@ class InfantryTransportEvent(Event): else: self.from_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) - def player_attacking(self, flights: ScrambledFlightsDict): + def player_attacking(self, flights: db.TaskForceDict): assert Embarking in flights and len(flights) == 1, "Invalid flights" op = InfantryTransportOperation( diff --git a/game/event/insurgentattack.py b/game/event/insurgentattack.py index de4df51b..5a5d3f0a 100644 --- a/game/event/insurgentattack.py +++ b/game/event/insurgentattack.py @@ -40,7 +40,7 @@ class InsurgentAttackEvent(Event): else: return not attackers_success - def player_defending(self, flights: ScrambledFlightsDict): + def player_defending(self, flights: db.TaskForceDict): assert CAS in flights and len(flights) == 1, "Invalid flights" suitable_unittypes = db.find_unittype(Reconnaissance, self.attacker_name) diff --git a/game/event/intercept.py b/game/event/intercept.py index eca702e2..a137d9b2 100644 --- a/game/event/intercept.py +++ b/game/event/intercept.py @@ -1,13 +1,4 @@ -import math -import random - -from dcs.task import * -from dcs.vehicles import * - -from game import db from game.operation.intercept import InterceptOperation -from theater.conflicttheater import * -from userdata.debriefing import Debriefing from .event import * @@ -68,7 +59,7 @@ class InterceptEvent(Event): if self.to_cp.captured: self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) - def player_attacking(self, flights: ScrambledFlightsDict): + def player_attacking(self, flights: db.TaskForceDict): assert CAP in flights and len(flights) == 1, "Invalid flights" escort = self.to_cp.base.scramble_sweep(self._enemy_scramble_multiplier()) @@ -83,14 +74,14 @@ class InterceptEvent(Event): from_cp=self.from_cp, to_cp=self.to_cp) - op.setup(escort=flight_dict_from(escort), + op.setup(escort=assigned_units_from(escort), transport={self.transport_unit: 1}, airdefense={airdefense_unit: self.AIRDEFENSE_COUNT}, interceptors=flights[CAP]) self.operation = op - def player_defending(self, flights: ScrambledFlightsDict): + def player_defending(self, flights: db.TaskForceDict): assert CAP in flights and len(flights) == 1, "Invalid flights" interceptors = self.from_cp.base.scramble_interceptors(self.game.settings.multiplier) @@ -106,7 +97,7 @@ class InterceptEvent(Event): op.setup(escort=flights[CAP], transport={self.transport_unit: 1}, - interceptors=flight_dict_from(interceptors), + interceptors=assigned_units_from(interceptors), airdefense={}) self.operation = op diff --git a/game/event/navalintercept.py b/game/event/navalintercept.py index 0f776197..f1049a2d 100644 --- a/game/event/navalintercept.py +++ b/game/event/navalintercept.py @@ -1,13 +1,4 @@ -import typing -import math -import random - -from dcs.task import * -from dcs.vehicles import * - -from game import db from game.operation.navalintercept import NavalInterceptionOperation -from userdata.debriefing import Debriefing from .event import * @@ -19,7 +10,7 @@ class NavalInterceptEvent(Event): targets = None # type: db.ShipDict def _targets_count(self) -> int: - from gen.conflictgen import IMPORTANCE_LOW, IMPORTANCE_HIGH + from gen.conflictgen import IMPORTANCE_LOW factor = (self.to_cp.importance - IMPORTANCE_LOW) * 10 return max(int(factor), 1) @@ -77,7 +68,7 @@ class NavalInterceptEvent(Event): if self.to_cp.captured: self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) - def player_attacking(self, flights: ScrambledFlightsDict): + def player_attacking(self, flights: db.TaskForceDict): assert CAS in flights and len(flights) == 1, "Invalid flights" self.targets = { @@ -98,7 +89,7 @@ class NavalInterceptEvent(Event): self.operation = op - def player_defending(self, flights: ScrambledFlightsDict): + def player_defending(self, flights: db.TaskForceDict): assert CAP in flights and len(flights) == 1, "Invalid flights" self.targets = { @@ -114,7 +105,7 @@ class NavalInterceptEvent(Event): ) strikegroup = self.from_cp.base.scramble_cas(self.game.settings.multiplier) - op.setup(strikegroup=flight_dict_from(strikegroup), + op.setup(strikegroup=assigned_units_from(strikegroup), interceptors=flights[CAP], targets=self.targets) diff --git a/game/event/strike.py b/game/event/strike.py index 158da7af..5785b7cc 100644 --- a/game/event/strike.py +++ b/game/event/strike.py @@ -1,13 +1,4 @@ -import math -import random - -from dcs.task import * -from dcs.vehicles import * - -from game import db from game.operation.strike import StrikeOperation -from theater.conflicttheater import * -from userdata.debriefing import Debriefing from .event import * @@ -50,7 +41,7 @@ class StrikeEvent(Event): super(StrikeEvent, self).commit(debriefing) self.to_cp.base.affect_strength(-self.SINGLE_OBJECT_STRENGTH_INFLUENCE * len(debriefing.destroyed_objects)) - def player_attacking(self, flights: ScrambledFlightsDict): + def player_attacking(self, flights: db.TaskForceDict): assert CAP in flights and CAS in flights and len(flights) == 2, "Invalid flights" op = StrikeOperation( @@ -64,6 +55,6 @@ class StrikeEvent(Event): interceptors = self.to_cp.base.scramble_interceptors(self.game.settings.multiplier) op.setup(strikegroup=flights[CAS], escort=flights[CAP], - interceptors=flight_dict_from(interceptors)) + interceptors=assigned_units_from(interceptors)) self.operation = op diff --git a/game/operation/baseattack.py b/game/operation/baseattack.py index dcb6d7d9..51d887f8 100644 --- a/game/operation/baseattack.py +++ b/game/operation/baseattack.py @@ -1,21 +1,14 @@ -from game import db +from game.db import assigned_units_split -from gen.conflictgen import Conflict -from gen.armor import * -from gen.aircraft import * -from gen.aaa import * -from gen.shipgen import * from gen.triggergen import * -from gen.airsupportgen import * -from gen.visualgen import * from .operation import * class BaseAttackOperation(Operation): - cas = None # type: FlightDict - escort = None # type: FlightDict - intercept = None # type: FlightDict + cas = None # type: db.AssignedUnitsDict + escort = None # type: db.AssignedUnitsDict + intercept = None # type: db.AssignedUnitsDict attack = None # type: db.ArmorDict defense = None # type: db.ArmorDict aa = None # type: db.AirDefenseDict @@ -23,10 +16,10 @@ class BaseAttackOperation(Operation): trigger_radius = TRIGGER_RADIUS_SMALL def setup(self, - cas: FlightDict, - escort: FlightDict, - attack: FlightDict, - intercept: FlightDict, + cas: db.AssignedUnitsDict, + escort: db.AssignedUnitsDict, + attack: db.AssignedUnitsDict, + intercept: db.AssignedUnitsDict, defense: db.ArmorDict, aa: db.AirDefenseDict): self.cas = cas @@ -57,10 +50,10 @@ class BaseAttackOperation(Operation): self.armorgen.generate(self.attack, self.defense) self.aagen.generate(self.aa) - self.airgen.generate_defense(*flight_arguments(self.intercept), at=self.defenders_starting_position) + self.airgen.generate_defense(*assigned_units_split(self.intercept), at=self.defenders_starting_position) - self.airgen.generate_cas_strikegroup(*flight_arguments(self.cas), at=self.attackers_starting_position) - self.airgen.generate_attackers_escort(*flight_arguments(self.escort), at=self.attackers_starting_position) + self.airgen.generate_cas_strikegroup(*assigned_units_split(self.cas), at=self.attackers_starting_position) + self.airgen.generate_attackers_escort(*assigned_units_split(self.escort), at=self.attackers_starting_position) self.visualgen.generate_target_smokes(self.to_cp) diff --git a/game/operation/frontlineattack.py b/game/operation/frontlineattack.py index 0a2a289b..4b80fa39 100644 --- a/game/operation/frontlineattack.py +++ b/game/operation/frontlineattack.py @@ -1,16 +1,4 @@ -from itertools import zip_longest - -from dcs.terrain import Terrain - -from game import db -from gen.armor import * -from gen.aircraft import * -from gen.aaa import * -from gen.shipgen import * -from gen.triggergen import * -from gen.airsupportgen import * -from gen.visualgen import * -from gen.conflictgen import Conflict +from game.db import assigned_units_split from .operation import * @@ -19,14 +7,14 @@ MAX_DISTANCE_BETWEEN_GROUPS = 12000 class FrontlineAttackOperation(Operation): - strikegroup = None # type: FlightDict + strikegroup = None # type: db.AssignedUnitsDict attackers = None # type: db.ArmorDict target = None # type: db.ArmorDict def setup(self, target: db.ArmorDict, attackers: db.ArmorDict, - strikegroup: FlightDict): + strikegroup: db.AssignedUnitsDict): self.strikegroup = strikegroup self.target = target self.attackers = attackers @@ -50,7 +38,13 @@ class FrontlineAttackOperation(Operation): def generate(self): self.armorgen.generate_vec(self.attackers, self.target) - self.airgen.generate_cas_strikegroup(*flight_arguments(self.strikegroup), at=self.attackers_starting_position) + + planes_flights = {k: v for k, v in self.strikegroup.items() if k in plane_map} + self.airgen.generate_cas_strikegroup(*assigned_units_split(planes_flights), at=self.attackers_starting_position) + + heli_flights = {k: v for k, v in self.strikegroup.items() if k in helicopters.helicopter_map} + if heli_flights: + self.airgen.generate_cas_strikegroup(*assigned_units_split(heli_flights), at=self.groundobjectgen.generate_farp()) self.briefinggen.title = "Frontline CAS" self.briefinggen.description = "Provide CAS for the ground forces attacking enemy lines. Operation will be considered successful if total number of enemy units will be lower than your own by a factor of 1.5 (i.e. with 12 units from both sides, enemy forces need to be reduced to at least 8), meaning that you (and, probably, your wingmans) should concentrate on destroying the enemy units. Target base strength will be lowered as a result. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." diff --git a/game/operation/frontlinepatrol.py b/game/operation/frontlinepatrol.py index 09f2bb1d..2bad15f6 100644 --- a/game/operation/frontlinepatrol.py +++ b/game/operation/frontlinepatrol.py @@ -1,16 +1,4 @@ -from itertools import zip_longest - -from dcs.terrain import Terrain - -from game import db -from gen.armor import * -from gen.aircraft import * -from gen.aaa import * -from gen.shipgen import * -from gen.triggergen import * -from gen.airsupportgen import * -from gen.visualgen import * -from gen.conflictgen import Conflict +from game.db import assigned_units_split from .operation import * @@ -19,17 +7,17 @@ MAX_DISTANCE_BETWEEN_GROUPS = 12000 class FrontlinePatrolOperation(Operation): - cas = None # type: FlightDict - escort = None # type: FlightDict - interceptors = None # type: FlightDict + cas = None # type: db.AssignedUnitsDict + escort = None # type: db.AssignedUnitsDict + interceptors = None # type: db.AssignedUnitsDict armor_attackers = None # type: db.ArmorDict armor_defenders = None # type: db.ArmorDict def setup(self, - cas: FlightDict, - escort: FlightDict, - interceptors: FlightDict, + cas: db.AssignedUnitsDict, + escort: db.AssignedUnitsDict, + interceptors: db.AssignedUnitsDict, armor_attackers: db.ArmorDict, armor_defenders: db.ArmorDict): self.cas = cas @@ -55,9 +43,9 @@ class FrontlinePatrolOperation(Operation): conflict=conflict) def generate(self): - self.airgen.generate_defenders_cas(*flight_arguments(self.cas), at=self.defenders_starting_position) - self.airgen.generate_defenders_escort(*flight_arguments(self.escort), at=self.defenders_starting_position) - self.airgen.generate_migcap(*flight_arguments(self.interceptors), at=self.attackers_starting_position) + self.airgen.generate_defenders_cas(*assigned_units_split(self.cas), at=self.defenders_starting_position) + self.airgen.generate_defenders_escort(*assigned_units_split(self.escort), at=self.defenders_starting_position) + self.airgen.generate_migcap(*assigned_units_split(self.interceptors), at=self.attackers_starting_position) self.armorgen.generate_vec(self.armor_attackers, self.armor_defenders) diff --git a/game/operation/infantrytransport.py b/game/operation/infantrytransport.py index bdf588b0..d96bd2cd 100644 --- a/game/operation/infantrytransport.py +++ b/game/operation/infantrytransport.py @@ -1,23 +1,13 @@ -from dcs.terrain import Terrain - -from game import db -from gen.armor import * -from gen.aircraft import * -from gen.aaa import * -from gen.shipgen import * -from gen.triggergen import * -from gen.airsupportgen import * -from gen.visualgen import * -from gen.conflictgen import Conflict +from game.db import assigned_units_split from .operation import * class InfantryTransportOperation(Operation): - transport = None # type: FlightDict + transport = None # type: db.AssignedUnitsDict aa = None # type: db.AirDefenseDict - def setup(self, transport: FlightDict, aa: db.AirDefenseDict): + def setup(self, transport: db.AssignedUnitsDict, aa: db.AirDefenseDict): self.transport = transport self.aa = aa @@ -36,7 +26,7 @@ class InfantryTransportOperation(Operation): conflict=conflict) def generate(self): - self.airgen.generate_passenger_transport(*flight_arguments(self.transport), at=self.attackers_starting_position) + self.airgen.generate_passenger_transport(*assigned_units_split(self.transport), at=self.attackers_starting_position) self.armorgen.generate_passengers(count=6) self.aagen.generate_at_defenders_location(self.aa) diff --git a/game/operation/insurgentattack.py b/game/operation/insurgentattack.py index dc4988eb..410517da 100644 --- a/game/operation/insurgentattack.py +++ b/game/operation/insurgentattack.py @@ -1,25 +1,15 @@ -from dcs.terrain import Terrain - -from game import db -from gen.armor import * -from gen.aircraft import * -from gen.aaa import * -from gen.shipgen import * -from gen.triggergen import * -from gen.airsupportgen import * -from gen.visualgen import * -from gen.conflictgen import Conflict +from game.db import assigned_units_split from .operation import * class InsurgentAttackOperation(Operation): - strikegroup = None # type: FlightDict + strikegroup = None # type: db.AssignedUnitsDict target = None # type: db.ArmorDict def setup(self, target: db.ArmorDict, - strikegroup: FlightDict): + strikegroup: db.AssignedUnitsDict): self.strikegroup = strikegroup self.target = target @@ -38,7 +28,7 @@ class InsurgentAttackOperation(Operation): conflict=conflict) def generate(self): - self.airgen.generate_defense(*flight_arguments(self.strikegroup), at=self.defenders_starting_position) + self.airgen.generate_defense(*assigned_units_split(self.strikegroup), at=self.defenders_starting_position) self.armorgen.generate(self.target, {}) self.briefinggen.title = "Destroy insurgents" diff --git a/game/operation/intercept.py b/game/operation/intercept.py index 9ff5cd02..ba396dbe 100644 --- a/game/operation/intercept.py +++ b/game/operation/intercept.py @@ -1,22 +1,21 @@ -from dcs.terrain import Terrain +from game.db import assigned_units_split -from gen import * from .operation import * class InterceptOperation(Operation): - escort = None # type: FlightDict + escort = None # type: db.AssignedUnitsDict transport = None # type: db.PlaneDict - interceptors = None # type: FlightDict + interceptors = None # type: db.AssignedUnitsDict airdefense = None # type: db.AirDefenseDict trigger_radius = TRIGGER_RADIUS_LARGE def setup(self, - escort: FlightDict, + escort: db.AssignedUnitsDict, transport: db.PlaneDict, airdefense: db.AirDefenseDict, - interceptors: FlightDict): + interceptors: db.AssignedUnitsDict): self.escort = escort self.transport = transport self.airdefense = airdefense @@ -52,9 +51,9 @@ class InterceptOperation(Operation): self.attackers_starting_position = ship self.airgen.generate_transport(self.transport, self.to_cp.at) - self.airgen.generate_defenders_escort(*flight_arguments(self.escort), at=self.defenders_starting_position) + self.airgen.generate_defenders_escort(*assigned_units_split(self.escort), at=self.defenders_starting_position) - self.airgen.generate_interception(*flight_arguments(self.interceptors), at=self.attackers_starting_position) + self.airgen.generate_interception(*assigned_units_split(self.interceptors), at=self.attackers_starting_position) self.briefinggen.title = "Air Intercept" self.briefinggen.description = "Intercept enemy supply transport aircraft. Escort will also be present if there are available planes on the base. Operation will be considered successful if most of the targets are destroyed, lowering targets strength as a result" diff --git a/game/operation/navalintercept.py b/game/operation/navalintercept.py index 6c9e5954..77c5d746 100644 --- a/game/operation/navalintercept.py +++ b/game/operation/navalintercept.py @@ -1,18 +1,17 @@ -from dcs.terrain import Terrain +from game.db import assigned_units_split -from gen import * from .operation import * class NavalInterceptionOperation(Operation): - strikegroup = None # type: FlightDict - interceptors = None # type: FlightDict + strikegroup = None # type: db.AssignedUnitsDict + interceptors = None # type: db.AssignedUnitsDict targets = None # type: db.ShipDict trigger_radius = TRIGGER_RADIUS_LARGE def setup(self, - strikegroup: FlightDict, - interceptors: FlightDict, + strikegroup: db.AssignedUnitsDict, + interceptors: db.AssignedUnitsDict, targets: db.ShipDict): self.strikegroup = strikegroup self.interceptors = interceptors @@ -37,14 +36,14 @@ class NavalInterceptionOperation(Operation): target_groups = self.shipgen.generate_cargo(units=self.targets) self.airgen.generate_ship_strikegroup( - *flight_arguments(self.strikegroup), + *assigned_units_split(self.strikegroup), target_groups=target_groups, at=self.attackers_starting_position ) if self.interceptors: self.airgen.generate_defense( - *flight_arguments(self.interceptors), + *assigned_units_split(self.interceptors), at=self.defenders_starting_position ) diff --git a/game/operation/operation.py b/game/operation/operation.py index 9edb3eae..a87d7e33 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -1,31 +1,14 @@ -import typing - from dcs.lua.parse import loads -from dcs.unittype import UnitType from userdata.debriefing import * -from theater import * from gen import * -FlightDict = typing.Dict[typing.Type[UnitType], typing.Tuple[int, int]] - - -def flight_arguments(fd: FlightDict) -> typing.Tuple[db.PlaneDict, db.PlaneDict]: - return {k: v1 for k, (v1, v2) in fd.items()}, {k: v2 for k, (v1, v2) in fd.items()}, - - -def flight_dict_from(d: db.PlaneDict) -> FlightDict: - return {k: (v, 0) for k, v in d.items()} - - -def dict_from_flight(fd: FlightDict) -> db.Dict: - return {k: v1 for k, (v1, v2) in fd.items()} - class Operation: attackers_starting_position = None # type: db.StartingPosition defenders_starting_position = None # type: db.StartingPosition + mission = None # type: dcs.Mission conflict = None # type: Conflict armorgen = None # type: ArmorConflictGenerator diff --git a/game/operation/strike.py b/game/operation/strike.py index 1ee8d940..20391305 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -1,27 +1,17 @@ -from dcs.terrain import Terrain - -from game import db -from gen.armor import * -from gen.aircraft import * -from gen.aaa import * -from gen.shipgen import * -from gen.triggergen import * -from gen.airsupportgen import * -from gen.visualgen import * -from gen.conflictgen import Conflict +from game.db import assigned_units_split from .operation import * class StrikeOperation(Operation): - strikegroup = None # type: FlightDict - escort = None # type: FlightDict - interceptors = None # type: FlightDict + strikegroup = None # type: db.AssignedUnitsDict + escort = None # type: db.AssignedUnitsDict + interceptors = None # type: db.AssignedUnitsDict def setup(self, - strikegroup: FlightDict, - escort: FlightDict, - interceptors: FlightDict): + strikegroup: db.AssignedUnitsDict, + escort: db.AssignedUnitsDict, + interceptors: db.AssignedUnitsDict): self.strikegroup = strikegroup self.escort = escort self.interceptors = interceptors @@ -61,13 +51,13 @@ class StrikeOperation(Operation): targets.sort(key=lambda x: self.from_cp.position.distance_to_point(x[1])) - self.airgen.generate_ground_attack_strikegroup(*flight_arguments(self.strikegroup), + self.airgen.generate_ground_attack_strikegroup(*assigned_units_split(self.strikegroup), targets=targets, at=self.attackers_starting_position) - self.airgen.generate_attackers_escort(*flight_arguments(self.escort), at=self.attackers_starting_position) + self.airgen.generate_attackers_escort(*assigned_units_split(self.escort), at=self.attackers_starting_position) - self.airgen.generate_barcap(*flight_arguments(self.interceptors), at=self.defenders_starting_position) + self.airgen.generate_barcap(*assigned_units_split(self.interceptors), at=self.defenders_starting_position) self.briefinggen.title = "Strike" self.briefinggen.description = "Destroy infrastructure assets and military supplies in the region. Each building destroyed will lower targets strength." diff --git a/gen/aircraft.py b/gen/aircraft.py index 457688e5..a2c6cb9c 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -42,7 +42,7 @@ GROUP_VERTICAL_OFFSET = 300 class AircraftConflictGenerator: - escort_targets = [] # type: typing.List[typing.Tuple[PlaneGroup, int]] + escort_targets = [] # type: typing.List[typing.Tuple[FlyingGroup, int]] vertical_offset = None # type: int def __init__(self, mission: Mission, conflict: Conflict, settings: Settings): @@ -77,7 +77,7 @@ class AircraftConflictGenerator: count -= group_size client_count -= client_size - def _setup_group(self, group: FlyingGroup, for_task: Task, client_count: int): + def _setup_group(self, group: FlyingGroup, for_task: typing.Type[Task], client_count: int): did_load_loadout = False unit_type = group.units[0].unit_type if unit_type in db.PLANE_PAYLOAD_OVERRIDES: diff --git a/gen/conflictgen.py b/gen/conflictgen.py index a2dc39cb..158e1c94 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -142,6 +142,9 @@ class Conflict: y = lerp * dy + self.tail.y return Point(x, y) + def find_ground_position(self, at: Point, heading: int, max_distance: int = 40000) -> typing.Optional[Point]: + return Conflict._find_ground_position(at, max_distance, heading, self.theater) + @classmethod def has_frontline_between(cls, from_cp: ControlPoint, to_cp: ControlPoint) -> bool: return from_cp.has_frontline and to_cp.has_frontline @@ -190,7 +193,7 @@ class Conflict: return pos @classmethod - def _find_ground_position(cls, initial: Point, max_distance: int, heading: int, theater: ConflictTheater) -> Point: + def _find_ground_position(cls, initial: Point, max_distance: int, heading: int, theater: ConflictTheater) -> typing.Optional[Point]: pos = initial for _ in range(0, int(max_distance), 500): if theater.is_on_land(pos): diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index 558c4c31..33517ab1 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -7,6 +7,8 @@ from .naming import * from dcs.mission import * from dcs.statics import * +FARP_FRONTLINE_DISTANCE = 10000 + CATEGORY_MAPPING = { "power": [Fortification.Workshop_A], @@ -25,6 +27,17 @@ class GroundObjectsGenerator: self.conflict = conflict self.game = game + def generate_farp(self) -> StaticGroup: + assert self.conflict.is_vector, "FARP could be generated only on frontline conflicts!" + + position = self.conflict.find_ground_position(self.conflict.center.point_from_heading(self.conflict.opposite_heading, FARP_FRONTLINE_DISTANCE)) + return self.m.static_group( + country=self.m.country(self.game.player), + name="", + _type=Fortification.FARP_Command_Post, + position=position + ) + def generate(self): side = self.m.country(self.game.enemy) diff --git a/ui/eventmenu.py b/ui/eventmenu.py index d8d4b027..db76176f 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -140,7 +140,7 @@ class EventMenu(Menu): else: self.event.is_awacs_enabled = False - flights = {k: {} for k in self.event.tasks} # type: ScrambledFlightsDict + flights = {k: {} for k in self.event.tasks} # type: db.TaskForceDict units_scramble_counts = {} # type: typing.Dict[typing.Type[UnitType], int] tasks_scramble_counts = {} # type: typing.Dict[typing.Type[Task], int] tasks_clients_counts = {} # type: typing.Dict[typing.Type[Task], int] From d31876b65ef9ccf33912e9859e94e925dea03960 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Tue, 11 Sep 2018 03:12:33 +0300 Subject: [PATCH 24/63] FARP spawn for helis on frontline cas; updated ground object placements --- game/db.py | 24 +++++++++- game/event/event.py | 2 +- game/operation/frontlineattack.py | 9 ++-- gen/aaa.py | 5 ++- gen/aircraft.py | 61 ++++++++++++++------------ gen/groundobjectsgen.py | 21 +++++---- gen/triggergen.py | 29 ++++++------ resources/tools/cau_groundobjects.miz | Bin 22598 -> 26686 bytes 8 files changed, 97 insertions(+), 54 deletions(-) diff --git a/game/db.py b/game/db.py index 9d4f714d..dd29ae0a 100644 --- a/game/db.py +++ b/game/db.py @@ -358,7 +358,8 @@ PLANE_PAYLOAD_OVERRIDES = { }, Ka_50: { - "*": "12x9A4172, 40xS-8", + CAS: "12x9A4172, 40xS-8", + GroundAttack: "12x9A4172, 40xS-8", }, M_2000C: { @@ -483,6 +484,27 @@ def assigned_units_from(d: PlaneDict) -> AssignedUnitsDict: return {k: (v, 0) for k, v in d.items()} +def assignedunits_split_to_count(dict: AssignedUnitsDict, count: int): + buffer_dict = {} + for unit_type, (unit_count, client_count) in dict.items(): + for _ in range(unit_count): + new_count, new_client_count = buffer_dict.get(unit_type, (0, 0)) + + new_count += 1 + + if client_count > 0: + new_client_count += 1 + client_count -= 1 + + buffer_dict[unit_type] = new_count, new_client_count + if new_count >= count: + yield buffer_dict + buffer_dict = {} + + if len(buffer_dict): + yield buffer_dict + + def unitdict_from(fd: AssignedUnitsDict) -> Dict: return {k: v1 for k, (v1, v2) in fd.items()} diff --git a/game/event/event.py b/game/event/event.py index 55439e30..56aba0fb 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -2,7 +2,7 @@ import typing import logging from dcs.unittype import UnitType -from dcs.task import Task +from dcs.task import * from dcs.unittype import UnitType from game import * diff --git a/game/operation/frontlineattack.py b/game/operation/frontlineattack.py index 4b80fa39..3be6ca03 100644 --- a/game/operation/frontlineattack.py +++ b/game/operation/frontlineattack.py @@ -39,12 +39,15 @@ class FrontlineAttackOperation(Operation): def generate(self): self.armorgen.generate_vec(self.attackers, self.target) - planes_flights = {k: v for k, v in self.strikegroup.items() if k in plane_map} + planes_flights = {k: v for k, v in self.strikegroup.items() if k in plane_map.values()} self.airgen.generate_cas_strikegroup(*assigned_units_split(planes_flights), at=self.attackers_starting_position) - heli_flights = {k: v for k, v in self.strikegroup.items() if k in helicopters.helicopter_map} + heli_flights = {k: v for k, v in self.strikegroup.items() if k in helicopters.helicopter_map.values()} if heli_flights: - self.airgen.generate_cas_strikegroup(*assigned_units_split(heli_flights), at=self.groundobjectgen.generate_farp()) + self.briefinggen.append_frequency("FARP", "127.5 MHz AM") + for farp, dict in zip(self.groundobjectgen.generate_farps(sum([x[0] for x in heli_flights.values()])), + db.assignedunits_split_to_count(heli_flights, self.groundobjectgen.FARP_CAPACITY)): + self.airgen.generate_cas_strikegroup(*assigned_units_split(dict), at=farp, escort=False) self.briefinggen.title = "Frontline CAS" self.briefinggen.description = "Provide CAS for the ground forces attacking enemy lines. Operation will be considered successful if total number of enemy units will be lower than your own by a factor of 1.5 (i.e. with 12 units from both sides, enemy forces need to be reduced to at least 8), meaning that you (and, probably, your wingmans) should concentrate on destroying the enemy units. Target base strength will be lowered as a result. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." diff --git a/gen/aaa.py b/gen/aaa.py index d9a46cc1..b2811824 100644 --- a/gen/aaa.py +++ b/gen/aaa.py @@ -5,6 +5,7 @@ from dcs.mission import * DISTANCE_FACTOR = 0.5, 1 EXTRA_AA_MIN_DISTANCE = 35000 +EXTRA_AA_MAX_DISTANCE = 150000 EXTRA_AA_POSITION_FROM_CP = 550 @@ -58,7 +59,9 @@ class ExtraAAConflictGenerator: if cp.position.distance_to_point(self.conflict.from_cp.position) < EXTRA_AA_MIN_DISTANCE: continue - print("generated extra aa for {}".format(cp)) + if cp.position.distance_to_point(self.conflict.position) > EXTRA_AA_MAX_DISTANCE: + continue + country_name = cp.captured and self.player_name or self.enemy_name position = cp.position.point_from_heading(0, EXTRA_AA_POSITION_FROM_CP) diff --git a/gen/aircraft.py b/gen/aircraft.py index a2c6cb9c..b550ba18 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -112,6 +112,7 @@ class AircraftConflictGenerator: group.units[idx].set_client() group.points[0].tasks.append(OptReactOnThreat(OptReactOnThreat.Values.EvadeFire)) + group.set_frequency(251.0) def _generate_at_airport(self, name: str, side: Country, unit_type: FlyingType, count: int, client_count: int, airport: Airport = None) -> FlyingGroup: assert count > 0 @@ -155,11 +156,11 @@ class AircraftConflictGenerator: start_type=self._start_type(), group_size=count) - def _generate_at_carrier(self, name: str, side: Country, unit_type: FlyingType, count: int, client_count: int, at: ShipGroup) -> FlyingGroup: + def _generate_at_group(self, name: str, side: Country, unit_type: FlyingType, count: int, client_count: int, at: typing.Union[ShipGroup, StaticGroup]) -> FlyingGroup: assert count > 0 assert unit is not None - logging.info("airgen: {} for {} at carrier {}".format(unit_type, side.id, at)) + logging.info("airgen: {} for {} at unit {}".format(unit_type, side.id, at)) return self.m.flight_group_from_unit( country=side, name=name, @@ -172,10 +173,10 @@ class AircraftConflictGenerator: def _generate_group(self, name: str, side: Country, unit_type: FlyingType, count: int, client_count: int, at: db.StartingPosition): if isinstance(at, Point): return self._generate_inflight(name, side, unit_type, count, client_count, at) - elif isinstance(at, ShipGroup): + elif isinstance(at, Group): takeoff_ban = unit_type in db.CARRIER_TAKEOFF_BAN if not takeoff_ban: - return self._generate_at_carrier(name, side, unit_type, count, client_count, at) + return self._generate_at_group(name, side, unit_type, count, client_count, at) else: return self._generate_inflight(name, side, unit_type, count, client_count, at.position) elif issubclass(at, Airport): @@ -192,14 +193,16 @@ class AircraftConflictGenerator: assert False def _rtb_for(self, group: FlyingGroup, cp: ControlPoint, at: db.StartingPosition = None): - group.add_waypoint(cp.position, RTB_ALTITUDE) + if not at: + at = cp.at - if isinstance(cp.at, Point): - pass - elif isinstance(cp.at, ShipGroup): - pass - elif issubclass(cp.at, Airport): - group.land_at(cp.at) + if isinstance(at, Point): + group.add_waypoint(at, RTB_ALTITUDE) + elif isinstance(at, Group): + group.add_waypoint(at.position, RTB_ALTITUDE) + elif issubclass(at, Airport): + group.add_waypoint(at.position, RTB_ALTITUDE) + group.land_at(at) def _at_position(self, at) -> Point: if isinstance(at, Point): @@ -243,8 +246,8 @@ class AircraftConflictGenerator: groups.append(group) return groups - def generate_cas_strikegroup(self, attackers: db.PlaneDict, clients: db.PlaneDict, at: db.StartingPosition = None): - assert len(self.escort_targets) == 0 + def generate_cas_strikegroup(self, attackers: db.PlaneDict, clients: db.PlaneDict, at: db.StartingPosition = None, escort=True): + assert not escort or len(self.escort_targets) == 0 for flying_type, count, client_count in self._split_to_groups(attackers, clients): group = self._generate_group( @@ -261,11 +264,12 @@ class AircraftConflictGenerator: group.task = CAS.name self._setup_group(group, CAS, client_count) - self.escort_targets.append((group, group.points.index(waypoint))) + if escort: + self.escort_targets.append((group, group.points.index(waypoint))) self._rtb_for(group, self.conflict.from_cp, at) - def generate_ground_attack_strikegroup(self, strikegroup: db.PlaneDict, clients: db.PlaneDict, targets: typing.List[typing.Tuple[str, Point]], at: db.StartingPosition = None): - assert len(self.escort_targets) == 0 + def generate_ground_attack_strikegroup(self, strikegroup: db.PlaneDict, clients: db.PlaneDict, targets: typing.List[typing.Tuple[str, Point]], at: db.StartingPosition = None, escort=True): + assert not escort or len(self.escort_targets) == 0 for flying_type, count, client_count in self._split_to_groups(strikegroup, clients): group = self._generate_group( @@ -285,11 +289,12 @@ class AircraftConflictGenerator: group.task = GroundAttack.name self._setup_group(group, GroundAttack, client_count) - self.escort_targets.append((group, group.points.index(escort_until_waypoint))) + if escort: + self.escort_targets.append((group, group.points.index(escort_until_waypoint))) self._rtb_for(group, self.conflict.from_cp, at) - def generate_defenders_cas(self, defenders: db.PlaneDict, clients: db.PlaneDict, at: db.StartingPosition = None): - assert len(self.escort_targets) == 0 + def generate_defenders_cas(self, defenders: db.PlaneDict, clients: db.PlaneDict, at: db.StartingPosition = None, escort=True): + assert not escort or len(self.escort_targets) == 0 for flying_type, count, client_count in self._split_to_groups(defenders, clients): group = self._generate_group( @@ -310,11 +315,12 @@ class AircraftConflictGenerator: group.task = CAS.name self._setup_group(group, CAS, client_count) - self.escort_targets.append((group, group.points.index(waypoint))) + if escort: + self.escort_targets.append((group, group.points.index(waypoint))) self._rtb_for(group, self.conflict.to_cp, at) - def generate_ship_strikegroup(self, attackers: db.PlaneDict, clients: db.PlaneDict, target_groups: typing.Collection[ShipGroup], at: db.StartingPosition = None): - assert len(self.escort_targets) == 0 + def generate_ship_strikegroup(self, attackers: db.PlaneDict, clients: db.PlaneDict, target_groups: typing.Collection[ShipGroup], at: db.StartingPosition = None, escort=True): + assert not escort or len(self.escort_targets) == 0 for flying_type, count, client_count in self._split_to_groups(attackers, clients): group = self._generate_group( @@ -331,7 +337,8 @@ class AircraftConflictGenerator: group.task = AntishipStrike.name self._setup_group(group, AntishipStrike, client_count) - self.escort_targets.append((group, group.points.index(wayp))) + if escort: + self.escort_targets.append((group, group.points.index(wayp))) self._rtb_for(group, self.conflict.from_cp, at) def generate_attackers_escort(self, attackers: db.PlaneDict, clients: db.PlaneDict, at: db.StartingPosition = None): @@ -413,8 +420,8 @@ class AircraftConflictGenerator: self._setup_group(group, CAP, client_count) self._rtb_for(group, self.conflict.to_cp, at) - def generate_transport(self, transport: db.PlaneDict, destination: Airport): - assert len(self.escort_targets) == 0 + def generate_transport(self, transport: db.PlaneDict, destination: Airport, escort=True): + assert not escort or len(self.escort_targets) == 0 for flying_type, count, client_count in self._split_to_groups(transport): group = self._generate_group( @@ -426,8 +433,8 @@ class AircraftConflictGenerator: at=self._group_point(self.conflict.air_defenders_location)) waypoint = group.add_waypoint(destination.position.random_point_within(0, 0), TRANSPORT_LANDING_ALT) - self.escort_targets.append((group, group.points.index(waypoint))) - + if escort: + self.escort_targets.append((group, group.points.index(waypoint))) group.task = Transport.name group.land_at(destination) diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index 33517ab1..93f33c4f 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -22,21 +22,26 @@ CATEGORY_MAPPING = { class GroundObjectsGenerator: + FARP_CAPACITY = 4 + def __init__(self, mission: Mission, conflict: Conflict, game): self.m = mission self.conflict = conflict self.game = game - def generate_farp(self) -> StaticGroup: + def generate_farps(self, number_of_units=1) -> typing.Collection[StaticGroup]: assert self.conflict.is_vector, "FARP could be generated only on frontline conflicts!" - position = self.conflict.find_ground_position(self.conflict.center.point_from_heading(self.conflict.opposite_heading, FARP_FRONTLINE_DISTANCE)) - return self.m.static_group( - country=self.m.country(self.game.player), - name="", - _type=Fortification.FARP_Command_Post, - position=position - ) + for i, _ in enumerate(range(0, number_of_units, self.FARP_CAPACITY)): + heading = self.conflict.heading - 90 + position = self.conflict.find_ground_position(self.conflict.center.point_from_heading(heading, FARP_FRONTLINE_DISTANCE), heading) + position = position.point_from_heading(0, i * 275) + + yield self.m.farp( + country=self.m.country(self.game.player), + name="FARP", + position=position, + ) def generate(self): side = self.m.country(self.game.enemy) diff --git a/gen/triggergen.py b/gen/triggergen.py index f797eff4..6377d796 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -72,32 +72,35 @@ class TriggersGenerator: for coalition_name, coalition in self.mission.coalition.items(): for country in coalition.countries.values(): if coalition_name == player_coalition: - for plane_group in country.plane_group + country.helicopter_group: - if plane_group.task == AWACS.name or plane_group.task == Refueling.name: + for group in country.plane_group + country.helicopter_group: + if group.task == AWACS.name or group.task == Refueling.name: + continue + + if player_cp.position.distance_to_point(group.position) > PUSH_TRIGGER_SIZE * 3: continue regroup_heading = self.conflict.to_cp.position.heading_between_point(player_cp.position) - pos1 = plane_group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE) - pos2 = plane_group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE+5000) - w1 = plane_group.add_waypoint(pos1, REGROUP_ALT) - w2 = plane_group.add_waypoint(pos2, REGROUP_ALT) + pos1 = group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE) + pos2 = group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE+5000) + w1 = group.add_waypoint(pos1, REGROUP_ALT) + w2 = group.add_waypoint(pos2, REGROUP_ALT) - plane_group.points.remove(w1) - plane_group.points.remove(w2) + group.points.remove(w1) + group.points.remove(w2) - plane_group.points.insert(1, w2) - plane_group.points.insert(1, w1) + group.points.insert(1, w2) + group.points.insert(1, w1) w1.tasks.append(Silence(True)) switch_waypoint_task = ControlledTask(SwitchWaypoint(from_waypoint=3, to_waypoint=2)) switch_waypoint_task.start_if_user_flag(1, False) w2.tasks.append(switch_waypoint_task) - plane_group.points[3].tasks.append(Silence(False)) + group.points[3].tasks.append(Silence(False)) - plane_group.add_trigger_action(SwitchWaypoint(to_waypoint=4)) - push_by_trigger.append(plane_group) + group.add_trigger_action(SwitchWaypoint(to_waypoint=4)) + push_by_trigger.append(group) push_trigger_zone = self.mission.triggers.add_triggerzone(player_cp.position, PUSH_TRIGGER_SIZE, name="Push zone") push_trigger = TriggerOnce(Event.NoEvent, "Push trigger") diff --git a/resources/tools/cau_groundobjects.miz b/resources/tools/cau_groundobjects.miz index 87eef17a472cb92137d6cff23809faa9a89d104d..17fde93d8c4954d484bce58f2f494d4b624cf5e8 100644 GIT binary patch literal 26686 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 literal 22598 zcmY&W2*e)V#@I8z=Sy7n{7|egf>1?Qzf3qYdEU?5<}1y2F~X=475>swO4$4iw8$9olxe<%=K!iAvL@lR6^YLFdRBL*GIex%ENwQBO1l3pm~Gx zcszW5dh33IeFvO6T6r8>iqsva%t-cfaB$Uev@c>oS*bkDTUl;9M_LyECCn{)c0Hsd z@O!zkbfkOEpPpS=>)zfIb0idKdEQ=@4QI6Bcr0Ajgf`GOxVe5|mqfF^fsDL;T61M> zX>XE>URyL(otC&Ohs`i+j{eM$ZY{*v(bV|4JwD&--j=C}pyF<6w3^TJi2d|auW<@XCcuJi_LD$n>`Ml_}b=l-AH<@4zh%t+x0%Ay@uO4ErodH;(QgX9ffu-OXQWi zuWbmc3^`9NB-6_59U zlX(2`CtX%YgE`xe{F)B2nwl6LtMm2xvhd>_=LqeaDXEbq@n7fd7kfR|hkVW%*Ot7^ z{Ccz7;552kNn;ho0+I6N9lGJf?<+be6TW@<;&6}`yErJ&fyaU10-B7OXRmU;@{3%^ zy8Rqv@fkE8`faa{;!2?Dkh_Jj-?+Pjz@rr>5+;PYwNkd-$Z4Db~~L za@&aihO;SAd*znc*i(DBcq#~ypEz=BYIq2Pb3Ad1tXrih;ZX}@7`^TOqFT`2CIcmnL%xLyX` z)2xOuwA@&K!kOC*QLT~aLLFI}?ABb)@YJGSsfbCN#IRn|xpafl#L4JB(AfE?V@F8q zkUpomYjjQ_uX}W!cT-XEbh58jETrX)8*9fW9RA1E4GVVuw&r$shi~N(vpOGAOs1@{ zhuV(#D|8!M4%7LFmr^6PIL=H3=$lUE*XLWmG(R|ZW1b)74HtB^Ej5B`N6>_4`oqD;s38snX`6QqgLmYFgM=;&ie+bL1F$ z6&R=XP}csTB5<+9Zc`;HG{NA)xY77(CINe?XQm=h^vR~q(PptrT%hSUY2))*ifU1Yi`^F6N$IxRC6~ov@r2#%gx$%6pO>eT!=bth zDzY|{(q}Jp&Ej-T2b;Skp>hi|U6Y}5$upr+D^7MQYHh!BJiiRWAkD} z@iACs-+;*~`C2EV#agGLSxtq3g|qmYC!=<<%fi*$@`Fur5>w4{5(}QWXBw}&XUeX- zqv91ne!?$+j2fL1TDQu?fA6=|B>0f{DcJ19V-^3*?{hOwtYtG^C6hqr^M4Z@I!M(! z785@l*aXd53C?c?HCm`@Q-Mbul>KK@^BcvUCocB_4PP%yb!l!v*L#CQ#PX~2$;LT3 zwa@?ZGrZiemq9r<+jXPro>Re(v#EK`_sTlx_#M939}Kgl_n@0VYBc=%Wr^Q(ZB z+S3(LaP%Hs?_D`+tMFdM`hnHvTuYo_fe^>d&{I<%C#GO|y8#<~$HSqNAHBF&y0+~5 z$jjht%k*Jl_w%$X7<1BR$BFm0rmry7YlsFTYAd=4cNSZ7GSL_%m!;z=ZIyHUCMPyd z)Ny4Xzt%y-A+3-Mt;M=maMD*WIGSLVqb!mW^__~?dg^R)^EYidIyReF_f=5x#id-T2d~KZJU>At_ZtOTK+5CRqKe{YO*+AgHU3sd0DvlYASSc zQ=?Ty7M&-`#Hp>%_`<-|-ox`aa>uGw)Z%mUvJY!V5S^wITe5cl;xua+q`B^#)(8^u zBVI;$gPF=yD{^iyVSQt5#5f4n8g$`n=@C4-K5Ch~?!!80{S6_~+9U&{s-p3H(B`NM6PKd0=nfNmTbCCrryz$*V`T=7jA_s(`okkziG=mbR;$yXoFtCNEYom_>b~tm zU+Yjtoe_o#4xZbfjK-!^D|~+~777=@c>FD7IXyJUos%LGsDz6e^``dB=}&ny)^?GVf&q2;Tf?5_}o z8-N=yKqUqb0C&KYHpc0*G$<>6On@|r9m5r6$=RpOF~iG=>TdA37kyhaFD@n-olI{F zV=m1IFNX8{cg7r4Tv6(^)S^erO2nKWB*L4_sEF^Rw!a$UC^(@jAR;M9OfGWYlbKH+ zy~`q}mR05StEK=G6$k4xg2i~}i=?Pg)b+s}S1lc?Jo7>k3eik(k-0J355Nv(KDSig z*BTwEhQV0z(Pgt|J9Kj1o~-(74}+e?#qMpj>3YcyTbv#S;5q|ov2KDjO)k#W$x z2yu)YULKp*Z-T<5|D#L4$u=&75O!LgTygYlb@Ip*k$bb`1x?rzHK$^?4RAcyE@uPnBWe5!?K`i zi0m7so}G-WB`?S&qm7~A)j38KPSD52H^5EsI+O6v`$(>IpUwsEIya7$bp&BYlQ+3Ull8TiTJGs5K0M`4H2fYKx3`l+fYHZ?-Z zTc-Ndp^t@12f|1j%E%oyMP{{1afYV?lV&Tippq)5OpF2%=OFfkf-^rEycJGW^-0D3 zbAx?^&{iT2XuqElof3R>|M5F4^&154Y4c1E0&BT(u&lmAWkdcC)!8w{ygDZYQVAra z#H3lB+dfGiX8Y@VZjZ5|6raAi#gkLLs|B~@JH?Z`+FwudAlp~k5@d9JTQl*;9+-<3 zI^J~^X-=_?Wqo=h^#)B!L#en0Dc@T#Tqs+i`PR#w=2}t^0fw;D2J;->I5ZW07E92K zu1#n|i8W0mbjy&D$&9-BB$pc2tWe=6KjOO^m3K)x(NhX&(UL0Zn=vEmF-YVm848Ey2cp&921uH4UyvOqPPKV zTi^q162{t&?>1^P9H@8qQuwjEO;g!HU7)&4a$<4GvY(&^mS8*(t$EI4Djw^ z9AX?Y5=y!q!Q+NHP)RzVFb{x$G^1O|UE&*p5=%-GOA-{pRs3T?zIByPR57{#sRBvA z@L$RfW4tFv0)z-Ol_VA8eNL=1#~qpcxLX4<61Bh-!#B1R*T+M(qIs z!VnkLPN)&Jl}(og&JkJop4DH-8}$-iIF~Ea0~Pe0lAeE{&4zC}o zA0Qo*R4u@e?|c~(Jc}lOFUGmwZ9H=GkjS6aZvs_N;;M!0V-n;7tSv3y;`>Un*z8xy zz_ZjJ4B!xj5rw~~`U5zl)SDob;QVs|3(`e&6>yFy!hu3&a3n^zI%wG=;0J!3@##J2 z>S$65uLkA~DDAC^exYs}gPXww#l11E@As|mzV?Q5Ust^%FiP?Z>=dd$dMCW2B)EqY zL2g=+-uou&AmBYhy2$Uh7`cWs-!K`WnV>f{kgL1#@WC8N;foUj9T~Z895;v<2bf@x z!2Ps4hJ|8ZC9nAcF)T#=*B($qW>i%}guV(Vk}_W3rW0L)*OZPZ-ylu zCt-y`J#F(vHAglh?yWlCzasXJjxG3*F0w;Lg7IOjw2_m=50H;Z%1{asD|aVM0tHd4 zs!I)%btpu|2!{mjFWm7#_z!3C@AlsRztYT2^KQ(w5QTAfNj1+&YR|jO;U4?|9v>%s z0h%g82TeqV+ayL5b0T4afJxV{s?l(84H#KDe@_CfnCNfLEZ=ns92M;9wdQjvz%4`s7#N7#3W28ZKA26vt%mbv{A=53H( z`}D4g+Emy4wS|-}lGKNhpUkO?ARz4&H}e$vb{?}#OyTP$8zifLGBZvxPc&y{MDm^% zhNs`iq!?OCZkB z0npYyUPbYcXPlho)$&{@Rex#N2Aggr(QZ4oGI!4pk(w#3BGcC{yS15lbHtDDIgGPt z|N4TTPVJ!!y43uY#131F@=M)y`RVPr`G0#D=c20pD@lk79WJZ#x8tYu5N|+~qRS>K zpMUP%fk52ain-Z(4UNu#J=&575q>}Z3nAHIJxQ%r98_B z>o_i?z4ir_!02|9WC&w|I}kX?#S4xog_ch1f}9l!0F<_~*m;=dXUbqek!3o8{T>2D zovJ|kvdn(z&m3d=iolBk;b+x>^XfF@e15JF1b>|-0gN;(&PD7GXIOs#0&5)UxB7{8 zb)BCdG8<@)eYOvUzDhrn`@7Pe$fUgb+>uxCHtYZ3ewW~4f;t2#j2AE?b!V}GkQU1> zOb_oM*+(+X1!o()E#wWTph!2j7rY~h$lHEkI7$5*m7g6p*mUFVIHGWp;K0|R1gHb! zBuHU?D1%mL224M|Kb2+uQ(1I6CNDVZ|2iy-1q>-n7B7j>9y69=4qJenlx0?)(f~d% z4Hy*@CIs0@^8T)mWC(GB-5*$_Apj01HJMiIjGPuq^6c#_cw!`CnY?ft{xIgg-vi_% zwZIp6iZEFKSBOv}f+G4PzY~1mlmzc^A}CC+ph&2MT$)$8{ON^-s8^XKdVQjQw&~Q3r0nqwx59KRb9S2Nv-8xD7P@2DzOnm13-CaaPd@Gs;vjDOs z7s;_YnW*S>SA`4s{?~_TF+Na*-yldy=VufM3alzW^zvD|SC;p(Co(mMc{n!Y zaF7!iI7iRQh|C%Pc+N$n<4HM%{I)Ovul-=1AzpfCCSx7_f%U{XxB7Ksj zfU#hL6FToLOqj!LlW^*AI<_dDKFr*zr|QlM zr|Rz@G-IpDWQM8EFaToN@w(I7T@F#u>>(IS@d7p2Afxm*Q0ZBLc6aJwMjBK3aV^)Jiv<-b+TIG%`Bu*66zDi0&fMlml!(~g26Fz z!ZY%QVy>n7OdMDRwWsMVW5`Y8&-^dA#0IM%&o(2(o@CN|MErg3lsZ6F1534D;xk91 zj+6(;Pe#zj91oGdc9Lh-W-w`x6q}R?#ON){VT{%-vw~zcA1uTeAb%r|#Tzss%1NpE zsD{6+VHjdA$<%ML6YjlAL8bRA6%h(O3=Td{d=zJjuOFvB5w1VBNntR>!ILz|`tCY( zbEa}!OKPxr>S8R*9?dft^Kd5qCg3KIufzMJkN5W+f8l#W(Mlpd&8>vPn*fCFeX0)i zw;itq;%Tvx+ZcoS|IseaL_E_{Kz2}}s$ghh3v+o^Eqe>EYL&NaW7A{Quj zB_=C36q3%(%Ullh-3(P^tqUw2j2%X+*ofVk2t(O){R|5#PgJWQO2=^qZDteko4%>* z0E|CAq4v;zCLMj~&}RQz+h5PH?~CK(uU1v>vjse0EUORk{k4%?XXf#DeKuer8PqzM ze+^NWOF70AR~J-!1GgAs%gHK;B>24{)!I*fqIXHNQ`XgTW6}YM|17ebwMw{M%7Tiz06h<>P=x@?^_w53Lx7eC}zg0Q)Y^5ibSnr(bsZ0vN&|-?Du=J`BrXTS1%jh z_FQzNwY7*1{m;bV-+1wDI`&p5KKw~X6knh1<_52Pd-!8akeM&0Vlf~?92F%VWir7>U>@d}G8*ng zEGgbGnR=;A2(t`p8hW@vHZH^@&fCce-zE>%{!^F97u+rjTzHC%4Uzro=@)li5tNdz@j;li z>b8T@>p_n?j3tXG^;V2|6_$w)Ggm=~lW;c#B@6YtivnAAGGbIi8n-xJlsl|*m}v-q zh#OXGTdXwEY;2grrs`#>=Y4;u!gjtW_He)#BWk-GSTM_gZ2_S zP^N}6KH*1Trlq2Jh=P5+pIf#kn8px^O=*>Jb=WQx|>4z$1N);;y^{CaETY14ivKh}pvZ{d@zG_SlJ?gf;$7A+`8J5vdGL-gUUnzWWaG21RQ2CPp=@~JRc54U zpqLdMf`yY?3xHE@MMH*k>FYDP1;gygtj@_a{F*8Jb>$KqXE@J*fr~=OqPdqVm(GWp zU3Gd60tgR;M^b8K5r#HSLvBYb@Gk~mZLLX0X*lnENiyQEN#=!hw5-AbX<@Fp>>OuM zy{H6*YUvyeB_<^%O%Z2SD%(s)7GjaQN=5_A*9esIb3vL2Nn>%zJ~YXIx39QIb)%(1 z{sS%QLdRUhScEFsmwil?cflM>irGtZ8xEOw4L-{k6=JG5ub_Cssz?fLa|ah@tke;i z8=cFhvre#pMH;7Wt5cGsoTvRe(u8GHyxQ1mAxG|lWUtt}Xp?ci-s)WbFOO8s7-m--EH z4WJHNkQ}CP$bjm@LAr42S>7se_vqaU%1hyRJEUT4a5yhqGj~cRL@Hjf)mxxFV9Arp)hU2k|Cz; zxl%vk99G90j_Pi7BoKRR1-Of3mh6s!9w&7`iw;)#S$Ff{5RbGj{w<=b@wdnYUbJX% zC~&G0FH5Q#T3}jKR`YJXs~umCj8^PgN~JS_F~J*SGuxm1s6gs?PX;GDVVd6m@?>H# z=B8t`L7)L8!iXT>F(oIpW0EoMgmBi?g(HY@if`oDV}S>mB^`z(m-936*D8#?D`Jzs zjnrGlb;CS2LdF+8%md-&TyknJ@<)acH8E7BDpXu&@B@<^65k-Qv>>tg)DM1qQAHzH zpT!$D6qbK!Ix$$~$}!}Hy|_-Yz7QuxRY>VuM)cA;A)K8w$LNNn<{;cycj+rE!81=~ z9oYoaw+P{X#R*189E#HbRWDU6 zbU-aOaxJ9RM)@I4HrmHyytJ7Jg+ezB2(c`oOw{ub;arVO4;;|j+C?u6DaF^Yo(U-B zubK)I4inY@3{V@C)ki67)4qqNMy-2aT+T&rGX)7x{X!nKiy0tMBY4LcL2edx7bz_H zw={a@&g&GY@Ku2d1)fWxFYB9bF*8-J5LMB{SvG)}++Rl6kA!qT!JjHdaE~e?&(s}) zB$kX<s(*lPi*A1HV zJM9F281T))p}?DeQvm>#D$_id7^zqmEfu)}PB;#&e%4YINi35P_bAmgBs}gP)I0xB zQ~Z9Ob;SOgb!4fx8E@kT-~?1>0x$u{nWq%>&#d1-v|i$PD-^jcmLG>{i zdLhV`TUqP70!8g~PCG%SJWF zG9&J$M>t)<43%ob zP4qvZj|AZV3QYkR0ELLU(PNEL#TFGtVd!-$bcAhrt4BEUnx2o3n%P>5>$ z!ucCi_%T!nd>++nJNv9Miv{~4bFnO$5@8Yy7gOma@rnQ;Sl#?NRzp-N7}C*z{FhdA zMR>~p&oCnT44sN4Et5y*h=3d0CsX~K`M794t}ioTV!3tzAiGz2{@s^9RVR9ofqJ{q=r!ZSp^d!I6pxKAcFQ3Ahq>@n+Ez-ee%(VIpJtE5S zt^kH5!+6HI$3hk;@$wJnU~K7GCL{on778MAgWw=;lv7?O#^Ylxja`2RwEJ(t7_IRWE(F7~q45y?YU_7{Da zwo0kt%%+d>#EdyOCQkS!7;jAeMCf6LmPbe|WK$M{{Xhdx>`y)r@wdDgRda?TcYO1@d-)!^UQrF1Xcp_NRoeTpp zUJBEA;KSp(O!9wqq@%yz0hnp7f|;;vh>5f#t|?3;3w$ZYjM17A)rkZ&KBClG+nlCG z`MaNd&!@8!TkIeIoLwjcoBTHk`_>=*c|5<*?oK}}cYak9Rn|h0MuhcW7RwBdLq#r! z%mmM~Fq$4ST-{76=wbl~G|h5vJHSymrG&+NM{tni8W)^`oj7L6t_M&4HU70a_b&PC zOI5^Ss`;)8dWw82k6Ge>rgn6zt1nZ#YQ}JOVVJ_Os9NJh7(uGMvh(PMR9AhxQ5hDv z{7Ke)(g6EAmoQ_^mM58iJ;n3LPjVGC@s)T|czAUW0)-;6AI3TWWoRza*dTu=-5il+ zlq9i#A~6u-`2>h5-n{3LMfUHw+~3?V&PPZp5HB#97lBPv0=T=qbY}>F)K`$+#I;;@aTM@D8lLLlygKK zC(VPCGnS_zXP%E+gaG01h>EiOU!ZSlo;x4+a0aKg5|IR5Lb02KmV{ z?=8Y?RJ0}aHonL^?ohugWmeP}ymGjD<_&PcQ5K=4l7Zj8Ji!^Rlh4ew`Mb-37TU2E zjk%0UvTnsyv$PftmdZ5O5XwqT=#X(rlT;;*CdE5G7LE7I?8^3h?Km0k1f%1@>h|~J zetSE5>$qta(V0e0UORr|sUT8$$b)sx_?)X&E4`N^x9205z(Dudz*FpZfvz&XA9HGd zo@Qc9O-z`>g)7N6>6BscbUgFVP_puo zxV#s|^~qZ-TxC->WR(4Zimy|1W&-pw0mNvoKrTuYkl9+Q1B?n)HX!;I~fvNM7mc1ct6}C{x=x^I#%t@&!i^FPZsLe;;7EZrM0QFz)t$bvkqP;`9l-1hzb-})BgkkCr?k|^ehdm2l6I!j z1xrUEuw4ZEa_0F=oNJ3n{US4M%dbcKf2U`Gz-&yvF6LKSodnB58PQJRs}CwjaB^Q9 z#+X13<4nn1CgNOTQ=EYqe;QAnga413&9{r`l{!k;vLak1AmWA_Etcbg<^xdX3I~V- zbix24A_1vR7Wu(|O>FxDeYtSYr_ezY#w3)QZ*h1<5JhB&zD^2f7sD)x;D#_!fz^uR zUT4Mf0m6(!<`qJ!K89pLy)>;xY6aW zu4KK?A>VB7>lE`ju4wM5*_P?$Cle_9eQoEDK63od)EhR;CZv^BT2_jDe3C>|34?1H z=*t#s$TI!)GjVj4L(5U0$v?l-N2hx%X}o6elf|lJ@)pjiB{D**6f$is^jyM!-*jz_ zqMw6n6$rte48>miN^N;XWcB?uFEHz)m%)@a;xYQkx>Zh=d+L@{&d#~DK&M-Pky4q8 z+Nkapqam^{`Gp%);==zx-JOhjQ9%FqgLLd%N!33s*|4{4EpO$o(@sQojn4erNbgk$ z7rj;Q@MuM!w^#}=CEi{6Zk1Jt>>}X!(h&HX9~)2xM|WnW>aO(vo@yt6rv;4^Q3kUu|U@`k2g1OTFK@eE^3$GiIolDgU z0L#!SjDnRppc>0Yf?Ji_M z+}BB^aVMpwF;3Iavl1i9sGzn#RIG+^z)P3@ph6NeBc4d?oVjrY!!IA>z^McuQpI4( zUJNp#U267N36WBM?P|S|K2!0ul06xI*L?Rhq_sV#(wR~I<>+Yqksw1}j)C1~==ROF z77P2R&eNU9aIiJL;+;KnhI{K?@9aBAzGSa4_Rxy2o>xm+o6%D{n-^BDwoGIftC!pr z6-T=bD{>X%d*%jvVe%D6RGY3&EcCr~XC;%yPNh2Gev2zEG`VF+gmup^Qzgt8 zI~=!TktSj35fOhcY_PZ;yb`;2a5+EJVA^PFNoepq%|uhxQd{W}*2y@}XWs1gWm3m= zYmRIhH|fyPVX#Yr99m7)mXQ~D-*?Zg2lUst1=Uw!suc5aCaV^)+!VKEK*sPVV5u~8 zur?i>*KAKQ5EpM${h~u4|eyzVH*gt9c|B!@4mM4?Obo&pKbj5<%Ed*L@+Lv(LWAX2Po8N^?m0!2SHjs7`yL>?6T@Io-Adc}YUrTM|($`1+Q?#_G8mc&+!& zdgL(#UPkXks<=$-N47XSxa6*AtRjfVr;*Dzy4{K}T*cWyW3W2`F;XJz!-8c|)HK}9*D#CfBKKa$3lZ1;=k2M!aL zm|E8F4{=B;`96P&B$RLvgQ^_D#~*M5edm1N$)n>X%kQ@T?SN?!SP!y_Y^emrKVPrk zU;eoK969(R-HKUc+po6uOFvQK+~+~a4z*jMyppjM4Yh3OS+vf@J*+B=eq5KkP_N6==pem3w z9y`b?VxC}|1GMAZP|fAZt7K{FhdIPa?0!4-qhoXdj1(?vOg&~2-!Jy%xteF){S4r` z{7cjBWiK=OtBmDZ%=+gq>b^Voa&E`U0l(ULeAtyHjtIW2AJrTt)+5V}kk+O1_zhS6 zI0Q6nb+d5#1Iy}aPemQjzT>;$H_B{oz{~#qaGsNXpEf49_4{Sc^P})0jaEmPmEYk) zH0&T;u~1&Alu@RE!$=hnk^RvR!WteE=bt`2m-`VcjX(r$Wg^r)SfHYF1R5_5#u#+b z^Av4Q_A+r?rH0SMZRD~M!7VKMMa%n_IL6>^GBWE2N-n*`_?IBuz)*e}CcmE#lNQ)a z1L;W5ojd!$4HEO*#?V@19xPq!sT6Kb(PQIn}lLF>G`Ff%TWy+DBd1>p%B=E-VA$E?3Kxj4dvT9tmwI`vU> zJ(uv@uY&j_Sh!kpB>faGi#1;(Y7#nvl|*NUjivE&ow`D{w@k;(72Y7fh8DX2gUl3% z{+6+iw)$Y1Ok{-YL;b+(%FC16Jo6Uin4~|zG^dC?5xb}iIyK><&ghLs3rb&Dn}q%h z5S?`&N~W{(3@t@StKo4YHXGqBi{Ic(q;n0hXX@VBi@6vzAf)08evh zX)OyxoUNE!wP;{wIJR!H#TY0IOXCaubl;zcHt1>XR)uw}zMW}pfI&Nb3pQ`{fL}5D z7Pl>|^IX*M%cRg%pDtnV78BU?l3D%-S0S_%Exa&8jUn!1wdkb~4>(L%y`pLDfRFPZ zMLnYp7TwZ$MnI@;q|!<6IrBd{Y}BPiT;(dv%xnZyEgjEfg3*Nfky>r3%LRCec&h%};VRUY0q< zh<(s1x`lCYk(Vv%`PU8Q7{qF?7#Z1(gP3cRm{O#a4a6Q%;{30Yv(0WXRzS-6s^>*V zD3fGQKPMXjhJ21Sv;EKcR$GGcTSbgN+OSJlk`_pA-F(+Sw z3iPt1*1skH18Q}hzCrK`l%4Nq%s!BktMY$^Zh-_k2n?%7)QT>a6{ z2xSv~%*f02VK+H;Uj+aT(_Sg}fa;15w+cnvX{;TinyLY=D!$YaSp zBF{m9Kx3n%%K^z&1OM#k^I~!`f3BM#WA@?q$bc#}F_D!S&^0!qWd~_SqZcUR)=2g`8)pMUwLU>7}H5jieapKiy6`Sx3u` zkZZl--R2n7t&#j}9UXTCC;U!b!nJk1CwS4-I+jt08eh48cUH`PjsEpfXJB-b4R*=~ zy^P&cK+C{iU9e#v4*iJ>iAGBzYxFI;iI{}gQ)hUDYRk9V*Y0);IJqb*zll25oL4y6 z*yM#)DkUn=+%#5E*5^Tkg+h}-pDbK#&X0V)Q^IN07D+{H!yav&om^naTDoY@9g#@7 zHqk9yI@XJ(=;!g?4#nAUw>7n!X&tjh#^|RpXz#4WHk`TK{}VDDTx_ z`y}z@sbL5qJz{)WXNK_W!|x%tqYeYsrp6?`&nE|Z8N}@_o~OIV7b$v?y6FVOo-T#sDW0t=QvA1z*LF(Fj}P++40Qr}?$;+7s$QS-K#^J<({(pyo_1_a z{ComUI8U~Gr4eQI9z|L~*7C?J1oOw^)`U;Trw2jK;wn#i9b8||PG?Rko1105;+vnY zyxIzvz1$%}8&FD0NHhQ+U0;he@%$#iQ)AUM@5;mh#V6hNhcA^fEen?*u7?L6 z)7*uflh2>2*-9#$To!9}MJ5NWD^?y`#Wg&N4>9)vZ0}u3?;uVfN)zM94XW z?@@Jj@*`*+uQR;79PO@$2PfA;=Z*qL(o=3Hqr9iR(E&ZicV`_D%Sc^H>~$;}LH%R& z!6&z$0!UYuSxT97Kiw%dEUV<+tmzTc^y}UqB;sg3jI0|su&mDvYgbTxDD z!&)J9I2#njSR=2r7jk=^=FhJ7$cdaK=TnAOmk$ry&y}c+XP|JQa5(7~`GJDQOQNnX zuX1`Ch&{h}xZm69OM~M#SG6A6UT1e#?hbi93=gm0*$BA1wZ^Eqx!=57NXaW7m*Za| zWWkqtI!wOLL@$^c76_URU1YBqeoq{M5~(LZY{TAk)OnhFdUj{+MYP;MxjtK=LqVj= zZ)WkNcs16MKAJD0jsIoh_)~quO8echT?R58?S<)?)YI{8Ydt#t&qP*8XJ9CDX{oj+ z;RD;W<8WR+gX3;PLeSAl8)3JUq`h=Zp8C|0t#M1Ys_7Y&AckecrWn}+J?pZ- zxsHD1(gvka!UPXnrAVF{WC*?cy@NFdKgw%sJ{Q*d76As1x){z&CK{q;gXK*p2EF!* zj3;h0l&OiwyhEMTFa`lxdQi{q^pz?@!=cheEw_b>DXV(TCvkOZ(3FCV0kK2_EXdPFiJ0zRw zOGH)E1%aCb2Fq*LZJQ`g*g?PXO=Q~*mIklY?rb}sW_ofeI*>8CiCNu8PaJVZP8(7@}WyPY`A}#4~Aw5{g%ZYS^WCXVJb+i0b z3CO>+hWo{Fluq3KN-`{UtgeDL#x4J#q{iqqW6G)~vz`3PB98EYr z!|qwGaXqoL8x3FY%8QhJQ1Ablp@;H?7C*UTx+w!WG7>iNCLy_PI!W(?4I!^b#X;|> zMy~VGiu=>uT~E&X9FIj?vR1OEOHotLhpU5`3Y7Euw!Hibt>~xCdkrv$35bs6%;b&mk1yNG)+)gyO<2Rdfs!+FAtY}d)qu(6XX%___tN`x_T(h zG8=nw%-@ho79oG4>#T(KOJ%KC_&y$cNqb#0C(W_RdtE;P{=ZL_*F)thwGqL<7)`;z zu%AC!wqj!Z%gQEV;?hMkw{>s2F|Jss;!Eb}@lX_)V;+iFXii<#GLfAt2Rj~=uHEw;$dT?yzs z?C#EZ>FIbpoi)sLJUljZ2;84vR%8$_YkTpw)+y>fJ={T8=snrl_v!I3wQF~etF>~u zx7?ofT=X2YlnC6f>jgQZm^R!WJ|6CEZ@X3VuAD#at@XUyd#Ce2_MBu;tMA==8uspb z1diH0xp=F2zrW)`A+6sO`FFn@KFA=Z5Nt2abf+oewPSBI0P$L8U8A}^gHT5BA- zp%Wb?Kdq7v?`p(hX33)8^Ow(@@qKv|zWBUe|D}J5aR0h;CS1UknB+HP#GV?>f~9I} z?`*>U*74)9kQV zy}_fQe1yxLj_Jr=E^JU6a``aYlyrvj3W=Bj7Dq(ocQXrM`FsVj5m5mXwB}nM>9A z61kf25~Wx-6|;5Wb?kj&I`AKcOZMq9?u|pk&C0NjMWI-(H}&w+eRuu2=mv(+V(DbP zIAN*ry3$cNobzim{YdLiZ%@|~2Qm9b`i{zm1>DYyt7Qy=cB1wp8;B2y0L3Qo&>2&q zRNcqIxWJV5Ll9tt(z}}q0@WW{(GjBCUe>0f=1|4^vjiqS#zuOEZ4usLEu*CZ%QtXWc4=oGiDEPM= zMN{0hyoQ0iFl?hRQinpD(D%`nl^CMH0>}M%#EKlO-+Oxyosf>bE=uHd-mc>!qmC!s zHn#S=D#A8|x>;PPj?zRJd&qhs$36z;MF;o%RKg#aS0s7kuhRh`LHaDGT?J_yE8}m%;<4o*blh zIKw`rzQ^u<4m|te;gcqSj5?aY2#SV@)3L|<@`EE_Jx?#GD=^V zXW`gPBPyFjL`|YUwvrqlb&bBH(=R@k(+5W!FjPCIY@hj2C@hze_7p>Bazf+>8Imhr ztkxD=)WRwZ1AVkVo%CumuF+yI`+)IEOqrmSx9{77*zCjULjVgV5+{bNgYI@Y zf|)ZzZkWDvNSpNjUnI3ZZ-<7C1Rxc$_Bem7ZEWt9fjuNyUfgbKIQp=#M_BQlhJ9yr zPrj}Vxi34cH4{On;UH$iTlTGx0wW2}?;VS!DzuBx>@~{&=A9smd56h=Whn0 z<8@gCv(jVFiv54`sO~hRB)E(|thishUN=<{d!uOQBvTFJoO&ZLXFaecTH3=-2z7;( zVy19PUU>7A9<=s5i@!z3jnxub@Kefxu)8N`?~1Y1+bc&s9@r}3pAq}Z4ZPNeDjgN4*K@{r$H3(!ssb57Pku_E%)mR>mvcL z#z%+7+nbE51M-R5)MXVv7HF&7}{}Hw;qa_)pS!5GU!K0w46hdsUe~{8@Q$tk~oLS7TIk_ zj1A;<*V_!F4D#|Ews`2qy(6}*Ze;$6#qdiul{XmPgs91gBKIGREt zGLh^u__YW$q+33VHKFRKU{x666cN&mwG@7-(|D+hrKZ0*GcD-3rLp3faam`>tvh-O z%{#@xzc~_3@20=I=;RDQh4bZK`m|0j?(Z^z=foYNyhbJLt&DF*N2qdf;`i1{^&sMw z?nj3J;b%|ECseKXNbKWOj2b@{z*4JX3iR14@Xrs(+GeKJuR0&t#=u9zCrS1j(UGTN z{;HDZ3ckWXY1{qwK<1 zVuUOyWS3-*h>)=jCPVgZ%+Pm6bw0mu=Y0S8%{?>ceV_O9yq`of3W>DA1k`>x}Q5*xXPVs#I$T$3wXTRYPo zsFkZiW&I^7HISLhjh4{$cN$`BD>dA2E5ythZ+FS= zF}P>6e=6Y7_v<(x(0F-DetD>f_5&iBS}ZfXzoPOP*7(-o!*6+?z8kg2cVtcbFMg;M zydW6McO3M?V6?lakB%pB5NOrtM2)JK2b(R1AegXw&KHt#-k%%5z(H&C_b~5x*mma< zKkz5QPbXxv^I=GnqL#!a+(Y=fT9IoShOyi)rWxG!;ksdd>G3Dfn`(|I(IkGZa0Szu zShf##bx%Y5LMu}i_U*X`f3k5 zjM6r2490vdR!DZtB5hjOhCSd!02fzerDdUho=qkV4<8)ft7vI_c`q;{CR{IvCSXmQ z^*#Okwdua%p*w&rzS3nblrQ()M`{;y6bM7)!}(Gik?Jc<2|I zjAj_o{-tsXTBp-4L>_2F;JnORvOT$ZXX@-!*xTz?*>8Tob^6&GF&)CNI-v=TEo$X< zOR;=xo=c}&?mBK_Ti-SdDoD5VvsTS%RmKXpMXQX_Ig~5J+P=pW(BzS3Ge66Uc|l*@ zssC;-C6V8quW$;utsJ2uPIn#C$`VoBZZa{nUPdoceXlzCzJJe$iX$B#= z`|Npp`RpFz7xqwd4f~M)Zb+`)v?@DKZbU@LU(UZ9k_Qg%MldfoAJ5yc9zC&>+Tx!i z#kKWKDomz}7m7^=hD|j4bPPM8#+^4bJ&#fSH!v`)?OO*e6&2v=F)Dg8u&;wB?5>-S z7tHGiM#qH*&PF%ghGVBH+o);}H z6KTXJDVzUJbE8cj7l7+M@HUx}s9y5N_>Wy9VoTo=1BSBYO6DEkTGSu|{kCV`c3dD9 zVDNkQtT*;1YlgNRM|zhYnlCM8{NsX@b(6DmT^bAi;fnU+8$tL^`mg7i^p{)3Jg- zb7x(ouxeO!iZP2>y#F(KwPy5iVHh}t^j)tD zs>7o2ee-=gRe>q|atDj$gyH@kc+f48>(p94?dpGjsVi+u~I;D_x*{c1luXzJ=u zv%|xk_|^TbMRwFw6)u29UnJXmV(CN%eEoF#0c-Xz{F3$~1xog~|s;ImdpJ zWiHZkpZ-m5GsPE^3e- zUFMVrAS*4PzjY_?Qu>yUXbJQ#sjdN_%qgT4r zDYj{!De6_<{iDjeQyp@>Moo>V7D*)Do+85iCwRcEOU+Nd-t#3*?>EcVN_Obm7-}4@ zMM9zv!zar^V@WeWv;`u7}sQ~y4MN}9@Kywtlb}O!jpO0P)f*dJQN5y+9+#M{ehVN$V8ex0ddYp zshlAh9*{Lrkcti&olq2Aa|G7c{m19|Db^qkleSS!py(O0imq9-9r%XsRwQ^U7n%)* z{Xk3Z>hkXofb>ua0etmK3}h8h%X#<&;82qyOX}JL2_Zi|flz$eAOVK?^*YwV_(?BJ zkdFOQ`vYX0E^boNS6f#E8W{9FQGN%It_HndNLd&53wc`=kXLG`(o5x6)=M#Tl(kHd zV-1t>%2qBgXz(Mr@+*bNzwfkYJn1IoT~AA45etf#$FR3a{N5R2a#k~5q4>Tr8!?|r z>@4L7UJFBs1#8Tge$|{k@+AY@cp0}ceq{gTi-1l=U{dx`AoS`Z$2VK%IetfRsr+dG zX8o53vzy6px!QoiYl-svBE(qdEC2A5ra^J2f!o2QTfd|7dSm$*2gTNnEfM3$4*!y=CD(8dnbk>kPRWP^JnOONfb{*QAg<;BrTpmCjBXorT%f( zUkQeDlAa#^Dxm(0d->bHMro1>l6 zzr*ja;v)0g#c^`tCk+A?C^fkNT~=IuYWM4}aMc=_#n=1mn!7*aH+d!oET%wY{qM{D zkBAUABk~YF!?RRJv-sTHDUY(e3M>p0XXO}!r|eqS0<8hw0pB9QP9d}_k6@3!RSzvX zsXIo+u)^=dckiNqHquKaFh6H%RQeb%7W53>gLi+jp!dtVWxYS<| zKuvC+IItFO1EieP^P)lTIX{G>H!83d3CJur0Dy)C+1ETpl{ly7;B%p6DvpDXP#6^z zf+$aF(Au2rYvf>MRu=^Z_ON%X%Y`!c-;AS8lfUkB3hn1qCD7Cj^y)Sm=W7T-Ns2s8 z0k3*UP;-X~+M>D{b9gfVMIXaEzTNSV-UBmfmJYmTGDykWxl?e?By(LnE)MQmyB1v| zAY^{tmM_|&Pt!hS&gO!y))&cR;>J%aoGBGHbV(_R4Jtn^Gb2e4dhNsC3N! z6?F#y%o^dsw=5}tK+OGoPgavxX0MQ2?phjk-IxIccF!&T1r7DbgDi`X2P=IOXF{p+ zjSQRT7^pp)A5n!f$sJ*y(Yf z!){aQ!1l77m-Je@fI&#*Gl6GC0$3M&jYXL!wFdr`-0*Tgy6t(I*$4DiStFc%Y{p-x zIvA2gD%!tL9~aU%OQU6Q!s{?Rjag?auKg)Bb$6dm`f(H|CL+b%L`I5Vgq4xWz?xB} zuVK_eI9Xj+Wx4m+VA{PZX84x$Y&|>96g9UAvBO`>^Rmi{39WuJqN)PCi|H%C0pnt72>1cEY|xjRsq2x43UaF`Jwfx zJ15H>8PY9LJ_Ht#{a6o;an1NDYiAh?DYwZ^IQd%Oy%jo1FkfkMMVIL?q>gCQzcS|NdL@pcocIASO$HVw~-?^mGdMBFliYrGjjs0-socrxVz%AsxmA^NrENi&36dIq+mZ59rE&rV~*)n#-7mT?%bQl zlQ~Rq=pEWev~${1Y{Z6@$InqEc!$%wRSg_MonLZBKbzd@<33;2&icXAUU5w}W}Vj5 zR&Sd1(6mr2MKn1X<^bz9aktpMk6D zz*3_6*<6`WWI$lnDT#}lK3_aFR-G1$?kG6b_ErVt%ceKSXBtAM`cy|*FnlC8DD2hR z6R(GL;%P%c-q%$m><1Irx?)dRoy9%vUQ+I>OtJGAJ*QzSyt6GWs80;i+-KKhr&+zd z+${wiJxx;;Z@aQ|DF7Ee>|4QnmL=uOY+63P-GR5s zYk$>UHywvp&oUXay0~6sB~=WTtVg*riuQsuV15PJ3#vNN6aHyswv#VqjQ0)Dd9&3S zAEFd(Xue-I_6loWyTW5ru=9Z1jzNIUEKGenOA#nYn%mKyeZUnF#bIFRqd*_%|7qy+ z;+t~!PL?%CR{TR`UM`XN8z!Jn#`Sk$GiA%%*=%F|=DlFcvEP9)KU z3e8pW$t%nohVyNvrA*e^6DqSF!tjl{C)fL$86&uSi`?B0yFA`uldEn4BNXE;%>L;p zy{t-@fJ5fWp{>=s7pX`%($W`B;#|(6iQBzU%=0dnE4P zLVv%8qVWC_sv^(R{U0x-{s#HGb^I4ZUF$E9|I Date: Tue, 11 Sep 2018 03:35:52 +0300 Subject: [PATCH 25/63] updated version check --- __init__.py | 16 ++++++++++++---- resources/cau_groundobjects.p | Bin 15162 -> 18580 bytes userdata/persistency.py | 7 ++----- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/__init__.py b/__init__.py index 0b199404..c26285f9 100755 --- a/__init__.py +++ b/__init__.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 import os +import re import sys import dcs import logging @@ -33,13 +34,19 @@ def proceed_to_main_menu(game: Game): def is_version_compatible(save_version): - current_version = VERSION_STRING.split(".") - save_version = save_version.split(".") + current_version_components = re.split(r"[\._]", VERSION_STRING) + save_version_components = re.split(r"[\._]", save_version) if "--ignore-save" in sys.argv: return False - if current_version[:2] == save_version[:2]: + if current_version_components == save_version_components: + return True + + if save_version == "1.4_rc1": + return False + + if current_version_components[:2] == save_version_components[:2]: return True return False @@ -80,9 +87,10 @@ try: new_game_menu = ui.newgamemenu.NewGameMenu(w, start_new_game) new_game_menu.display() else: + game.settings.version = VERSION_STRING proceed_to_main_menu(game) except Exception as e: - print(e) + logging.exception(e) ui.corruptedsavemenu.CorruptedSaveMenu(w).display() w.run() diff --git a/resources/cau_groundobjects.p b/resources/cau_groundobjects.p index 54012b234c00f1914abf4c6f96fb2ca2c9547d01..d13e22c5e212aba99870c7d9a898a024ec765819 100644 GIT binary patch delta 7642 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 XboTZ*_w9Dn%q{F8=1ik*Ng4Ye062%G delta 4527 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 K6*)0Y(*FUr`!fpw diff --git a/userdata/persistency.py b/userdata/persistency.py index 7746b087..175fef5c 100644 --- a/userdata/persistency.py +++ b/userdata/persistency.py @@ -44,11 +44,8 @@ def restore_game(): if not _save_file_exists(): return None - try: - with open(_save_file(), "rb") as f: - return pickle.load(f) - except Exception as e: - raise e + with open(_save_file(), "rb") as f: + return pickle.load(f) def save_game(game) -> bool: From afb084ebf8502909a694d5f1c999ce5753d926b1 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Tue, 11 Sep 2018 05:55:05 +0300 Subject: [PATCH 26/63] minor bugfixes --- game/event/event.py | 1 + game/event/frontlinepatrol.py | 2 +- game/operation/operation.py | 8 +++++--- gen/airsupportgen.py | 4 ++-- gen/triggergen.py | 3 +++ 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/game/event/event.py b/game/event/event.py index 56aba0fb..d0a20d9e 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -3,6 +3,7 @@ import logging from dcs.unittype import UnitType from dcs.task import * +from dcs.vehicles import AirDefence from dcs.unittype import UnitType from game import * diff --git a/game/event/frontlinepatrol.py b/game/event/frontlinepatrol.py index e2ec1603..4e137533 100644 --- a/game/event/frontlinepatrol.py +++ b/game/event/frontlinepatrol.py @@ -70,7 +70,7 @@ class FrontlinePatrolEvent(Event): op.setup(cas=assigned_units_from(self.cas), escort=assigned_units_from(self.escort), interceptors=flights[CAP], - armor_attackers=db.unitdict_restrict_count(dict_from_flight(flights[PinpointStrike]), sum(defenders.values())), + armor_attackers=db.unitdict_restrict_count(db.unitdict_from(flights[PinpointStrike]), sum(defenders.values())), armor_defenders=defenders) self.operation = op diff --git a/game/operation/operation.py b/game/operation/operation.py index a87d7e33..96f5d4d1 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -86,9 +86,9 @@ class Operation: # air support self.airsupportgen.generate(self.is_awacs_enabled) - self.briefinggen.append_frequency("Tanker", "10X/240 MHz FM") + self.briefinggen.append_frequency("Tanker", "10X/131 MHz AM") if self.is_awacs_enabled: - self.briefinggen.append_frequency("AWACS", "244 MHz FM") + self.briefinggen.append_frequency("AWACS", "133 MHz AM") # ground infrastructure self.groundobjectgen.generate() @@ -111,8 +111,10 @@ class Operation: else: self.envgen.load(self.environment_settings) + # @TODO: ADD WAYPOINT INFORMATION! + # main frequencies - self.briefinggen.append_frequency("Flight", "251 MHz FM") + self.briefinggen.append_frequency("Flight", "251 MHz AM") if self.conflict.from_cp.is_global or self.conflict.to_cp.is_global: self.briefinggen.append_frequency("Carrier", "20X/ICLS CHAN1") diff --git a/gen/airsupportgen.py b/gen/airsupportgen.py index 6e4650d3..8e89dfc4 100644 --- a/gen/airsupportgen.py +++ b/gen/airsupportgen.py @@ -33,7 +33,7 @@ class AirSupportConflictGenerator: plane_type=tanker_unit, position=tanker_position, altitude=TANKER_ALT, - frequency=240, + frequency=131, start_type=StartType.Warm, tacanchannel="99X", ) @@ -49,6 +49,6 @@ class AirSupportConflictGenerator: altitude=AWACS_ALT, airport=None, position=self.conflict.position.random_point_within(AWACS_DISTANCE, AWACS_DISTANCE), - frequency=244, + frequency=133, start_type=StartType.Warm, ) diff --git a/gen/triggergen.py b/gen/triggergen.py index 6377d796..38db66a1 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -79,6 +79,9 @@ class TriggersGenerator: if player_cp.position.distance_to_point(group.position) > PUSH_TRIGGER_SIZE * 3: continue + if group.units[0].is_human(): + continue + regroup_heading = self.conflict.to_cp.position.heading_between_point(player_cp.position) pos1 = group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE) From 1176b92073082c24c54c24150d9d1c36307e8a8d Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Tue, 11 Sep 2018 17:39:23 +0300 Subject: [PATCH 27/63] capture armor placement tweaks --- gen/conflictgen.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gen/conflictgen.py b/gen/conflictgen.py index 158e1c94..2372c3aa 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -28,6 +28,8 @@ CAP_CAS_DISTANCE = 10000, 120000 GROUND_INTERCEPT_SPREAD = 5000 GROUND_DISTANCE_FACTOR = 1 +GROUND_DISTANCE = 4000 + GROUND_ATTACK_DISTANCE = 25000, 13000 TRANSPORT_FRONTLINE_DIST = 1800 @@ -211,11 +213,11 @@ class Conflict: attack_heading = to_cp.find_radial(attack_raw_heading) defense_heading = to_cp.find_radial(from_cp.position.heading_between_point(to_cp.position), ignored_radial=attack_heading) - distance = to_cp.size * GROUND_DISTANCE_FACTOR + distance = GROUND_DISTANCE attackers_location = position.point_from_heading(attack_heading, distance) attackers_location = Conflict._find_ground_position(attackers_location, distance * 2, _heading_sum(attack_heading, 180), theater) - defenders_location = position.point_from_heading(defense_heading, distance) + defenders_location = position.point_from_heading(defense_heading, 0) defenders_location = Conflict._find_ground_position(defenders_location, distance * 2, _heading_sum(defense_heading, 180), theater) return cls( From 262347f8c8c24e0171f7149e4825189b18378a87 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Tue, 11 Sep 2018 22:46:26 +0300 Subject: [PATCH 28/63] tweaked caucasus start times --- theater/caucasus.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/theater/caucasus.py b/theater/caucasus.py index fd824c4a..a449fce9 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -17,7 +17,7 @@ class CaucasusTheater(ConflictTheater): daytime_map = { "dawn": (6, 9), "day": (9, 18), - "dusk": (18, 21), + "dusk": (18, 20), "night": (0, 5), } @@ -79,4 +79,4 @@ class CaucasusTheater(ConflictTheater): def add_controlpoint(self, point: ControlPoint, connected_to: typing.Collection[ControlPoint] = []): point.name = " ".join(re.split(r"[ -]", point.name)[:1]) - super(CaucasusTheater, self).add_controlpoint(point, connected_to=connected_to) \ No newline at end of file + super(CaucasusTheater, self).add_controlpoint(point, connected_to=connected_to) From 6fb342a42cb13d5841505a73201c228aed060223 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Wed, 12 Sep 2018 00:20:35 +0300 Subject: [PATCH 29/63] updated location argument; updated ground units placement during attack operation --- gen/conflictgen.py | 4 ++-- resources/tools/mkrelease.py | 2 +- userdata/persistency.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gen/conflictgen.py b/gen/conflictgen.py index 2372c3aa..39860aa6 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -215,10 +215,10 @@ class Conflict: distance = GROUND_DISTANCE attackers_location = position.point_from_heading(attack_heading, distance) - attackers_location = Conflict._find_ground_position(attackers_location, distance * 2, _heading_sum(attack_heading, 180), theater) + attackers_location = Conflict._find_ground_position(attackers_location, distance * 2, attack_heading, theater) defenders_location = position.point_from_heading(defense_heading, 0) - defenders_location = Conflict._find_ground_position(defenders_location, distance * 2, _heading_sum(defense_heading, 180), theater) + defenders_location = Conflict._find_ground_position(defenders_location, distance * 2, defense_heading, theater) return cls( position=position, diff --git a/resources/tools/mkrelease.py b/resources/tools/mkrelease.py index c8776e78..2295267b 100644 --- a/resources/tools/mkrelease.py +++ b/resources/tools/mkrelease.py @@ -43,7 +43,7 @@ def _mk_archieve(): return archieve = ZipFile(path, "w") - archieve.writestr("start.bat", "py.exe __init__.py \"%UserProfile%\" \"{}\"".format(VERSION)) + archieve.writestr("start.bat", "py.exe __init__.py \"%UserProfile%\\Saved Games\" \"{}\"".format(VERSION)) _zip_dir(archieve, ".") os.chdir("submodules\\dcs") _zip_dir(archieve, "dcs") diff --git a/userdata/persistency.py b/userdata/persistency.py index 175fef5c..dbb42705 100644 --- a/userdata/persistency.py +++ b/userdata/persistency.py @@ -17,11 +17,11 @@ def base_path() -> str: global _user_folder assert _user_folder - openbeta_path = os.path.join(_user_folder, "Saved Games", "DCS.openbeta") + openbeta_path = os.path.join(_user_folder, "DCS.openbeta") if "--force-stable-DCS" not in sys.argv and os.path.exists(openbeta_path): return openbeta_path else: - return os.path.join(_user_folder, "Saved Games", "DCS") + return os.path.join(_user_folder, "DCS") def _save_file() -> str: From 03fc17fae6133e482f0144203015f8856f9d70f3 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Wed, 12 Sep 2018 05:19:21 +0300 Subject: [PATCH 30/63] new ground objects format & parser; place dead objects instead of removing them completely --- game/event/event.py | 9 +- gen/groundobjectsgen.py | 28 ++--- resources/cau_groundobjects.p | Bin 18580 -> 18698 bytes resources/tools/cau_groundobjects.miz | Bin 26686 -> 26840 bytes resources/tools/generate_groundobjectsmap.py | 125 ++++++++++--------- theater/theatergroundobject.py | 36 ++++-- userdata/debriefing.py | 7 +- 7 files changed, 106 insertions(+), 99 deletions(-) diff --git a/game/event/event.py b/game/event/event.py index d0a20d9e..6a8885be 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -100,18 +100,13 @@ class Event: for object_identifier in debriefing.destroyed_objects: for cp in self.game.theater.controlpoints: - remove_ids = [] if not cp.ground_objects: continue for i, ground_object in enumerate(cp.ground_objects): if ground_object.matches_string_identifier(object_identifier): - logging.info("cp {} removing ground object {}".format(cp, ground_object.string_identifier)) - remove_ids.append(i) - - remove_ids.reverse() - for i in remove_ids: - del cp.ground_objects[i] + logging.info("cp {} killing ground object {}".format(cp, ground_object.string_identifier)) + ground_object.is_dead = True def skip(self): pass diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index 93f33c4f..2264b33a 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -10,17 +10,6 @@ from dcs.statics import * FARP_FRONTLINE_DISTANCE = 10000 -CATEGORY_MAPPING = { - "power": [Fortification.Workshop_A], - "warehouse": [Warehouse.Warehouse], - "fuel": [Warehouse.Tank], - "ammo": [Warehouse.Ammunition_depot], - "farp": [Fortification.FARP_Tent], - "comms": [Fortification.TV_tower], - "oil": [Fortification.Oil_platform], -} - - class GroundObjectsGenerator: FARP_CAPACITY = 4 @@ -53,7 +42,10 @@ class GroundObjectsGenerator: cp = self.conflict.from_cp for ground_object in cp.ground_objects: - if ground_object.category == "defense": + if ground_object.dcs_identifier == "AA": + if ground_object.is_dead: + continue + unit_type = random.choice(self.game.commision_unit_types(cp, AirDefence)) assert unit_type is not None, "Cannot find unit type for GroundObject defense ({})!".format(cp) @@ -62,17 +54,23 @@ class GroundObjectsGenerator: name=ground_object.string_identifier, _type=unit_type, position=ground_object.position, - heading=ground_object.heading + heading=ground_object.heading, ) logging.info("generated defense object identifier {} with mission id {}".format(group.name, group.id)) else: + if ground_object.dcs_identifier in warehouse_map: + static_type = warehouse_map[ground_object.dcs_identifier] + else: + static_type = fortification_map[ground_object.dcs_identifier] + group = self.m.static_group( country=side, name=ground_object.string_identifier, - _type=random.choice(CATEGORY_MAPPING[ground_object.category]), + _type=static_type, position=ground_object.position, - heading=ground_object.heading + heading=ground_object.heading, + dead=ground_object.is_dead, ) logging.info("generated object identifier {} with mission id {}".format(group.name, group.id)) diff --git a/resources/cau_groundobjects.p b/resources/cau_groundobjects.p index d13e22c5e212aba99870c7d9a898a024ec765819..88a38e8f409974946873892a966533b57c4bdc0e 100644 GIT binary patch literal 18698 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%0DO$aTfsm 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 literal 26686 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 diff --git a/resources/tools/generate_groundobjectsmap.py b/resources/tools/generate_groundobjectsmap.py index 6dc50b8e..45130ca4 100644 --- a/resources/tools/generate_groundobjectsmap.py +++ b/resources/tools/generate_groundobjectsmap.py @@ -1,86 +1,87 @@ import pickle import typing -from game import db -from gen.groundobjectsgen import TheaterGroundObject from dcs.mission import Mission from dcs.mapping import Point +from dcs.unitgroup import VehicleGroup, StaticGroup +from dcs.unit import * +from dcs.statics import warehouse_map, fortification_map + +from game import db +from gen.groundobjectsgen import TheaterGroundObject m = Mission() m.load_file("./cau_groundobjects.miz") -result = {} -result_by_groups = {} # type: typing.Dict[int, TheaterGroundObject] -cp_counters = {} -ids_counters = {} -group_id_counter = 0 -previous_group_id = None + +def parse_name(name: str) -> int: + first_part = name.split()[0].split("|") + return int(first_part[0]) if len(first_part) == 1 else int(first_part[1]) -def append_group(cp_id, category, group_id, object_id, position, heading): - global result - global result_by_groups +if __name__ == "__main__": + theater_objects = [] - ground_object = TheaterGroundObject(category, cp_id, group_id, object_id, position, heading) + for group in m.country("Russia").static_group + m.country("Russia").vehicle_group: + for unit in group.units: + theater_object = TheaterGroundObject() + theater_object.object_id = len(theater_objects) + 1 - if cp_id not in result: - result[cp_id] = [] - result[cp_id].append(ground_object) + try: + theater_object.cp_id = parse_name(str(unit.name)) + except Exception as e: + theater_object.cp_id = parse_name(str(group.name)) - result_by_groups_key = "{}_{}_{}".format(cp_id, category, group_id) - if result_by_groups_key not in result_by_groups: - result_by_groups[result_by_groups_key] = [] - result_by_groups[result_by_groups_key].append(ground_object) + theater_object.position = unit.position + theater_object.heading = unit.heading + if isinstance(unit, Vehicle): + theater_object.dcs_identifier = "AA" + else: + theater_object.dcs_identifier = unit.type -def parse_name(name: str) -> typing.Tuple: - args = str(name.split()[0]).split("|") + airport_distance = m.terrain.airport_by_id(theater_object.cp_id).position.distance_to_point(theater_object.position) + if airport_distance > 150000: + print("Object {} {} is placed {}m from airport {}!".format(theater_object.dcs_identifier, + group.name, + airport_distance, + m.terrain.airport_by_id(theater_object.cp_id))) - if len(args) == 2: - global group_id_counter - group_id_counter += 1 - args.append(str(group_id_counter)) - else: - global previous_group_id - if previous_group_id != args[2]: - group_id_counter += 1 - previous_group_id = args[2] + assert theater_object.dcs_identifier + assert theater_object.cp_id + assert theater_object.object_id - return args[0], int(args[1]), int(args[2]) + theater_objects.append(theater_object) + group_ids = 1 + for object_a in theater_objects: + for object_b in theater_objects: + if object_a.position.distance_to_point(object_b.position) < 2000: + if object_a.group_id and object_b.group_id: + continue + elif object_a.group_id: + object_b.group_id = object_a.group_id + elif object_b.group_id: + object_a.group_id = object_b.group_id + else: + object_a.group_id = group_ids + object_b.group_id = group_ids + group_ids += 1 -for group in m.country("Russia").static_group + m.country("Russia").vehicle_group: - try: - category, cp_id, group_id = parse_name(str(group.name)) - except: - print("Failed to parse {}".format(group.name)) - continue + assert object_a.cp_id == object_b.cp_id, "Object {} and {} are placed in group with different airports!".format(object_a.string_identifier, object_b.string_identifier) - ids_counters_key = "{}_{}".format(cp_id, group_id) - ids_counters[ids_counters_key] = ids_counters.get(ids_counters_key, 0) + 1 - object_id = ids_counters[ids_counters_key] - cp_counters[cp_id] = cp_counters.get(cp_id, 0) + 1 + for a in theater_objects: + if not a.group_id: + a.group_id = group_ids + group_ids += 1 - append_group(cp_id, category, group_id, object_id, group.position, group.units[0].heading) + print("Total {} objects".format(len(theater_objects))) + with open("../cau_groundobjects.p", "wb") as f: + result = {} + for theater_object in theater_objects: + if theater_object.cp_id not in result: + result[theater_object.cp_id] = [] + result[theater_object.cp_id].append(theater_object) -GROUP_TRESHOLD = 2000 -did_check_pairs = [] -for group_id, objects_in_group in result_by_groups.items(): - for a in objects_in_group: - for b in objects_in_group: - if (a, b) in did_check_pairs: - continue - - did_check_pairs.append((a, b)) - distance = a.position.distance_to_point(b.position) - if distance > GROUP_TRESHOLD: - print("Objects {} and {} in group {} are too far apart ({})!".format(a.string_identifier, b.string_identifier, group_id, distance)) - -print("Total {} objects".format(sum([len(x) for x in result.values()]))) -for cp_id, count in cp_counters.items(): - print("{} - {} objects".format(cp_id, count)) - - -with open("../cau_groundobjects.p", "wb") as f: - pickle.dump(result, f) + pickle.dump(result, f) diff --git a/theater/theatergroundobject.py b/theater/theatergroundobject.py index 3e091fa2..96557887 100644 --- a/theater/theatergroundobject.py +++ b/theater/theatergroundobject.py @@ -6,7 +6,7 @@ NAME_BY_CATEGORY = { "power": "Power plant", "ammo": "Ammo depot", "fuel": "Fuel depot", - "defense": "AA Defense Site", + "aa": "AA Defense Site", "warehouse": "Warehouse", "farp": "FARP", "comms": "Comms. tower", @@ -17,7 +17,7 @@ ABBREV_NAME = { "power": "PLANT", "ammo": "AMMO", "fuel": "FUEL", - "defense": "AA", + "aa": "AA", "warehouse": "WARE", "farp": "FARP", "comms": "COMMST", @@ -25,21 +25,35 @@ ABBREV_NAME = { } +CATEGORY_MAP = { + "aa": ["AA"], + "power": ["Workshop A"], + "warehouse": ["Warehouse"], + "fuel": ["Tank"], + "ammo": [".Ammunition depot"], + "farp": ["FARP Tent"], + "comms": ["TV tower", "Comms tower"], + "oil": ["Oil platform"], +} + + class TheaterGroundObject: - object_id = 0 cp_id = 0 group_id = 0 + object_id = 0 + + dcs_identifier = None # type: str + is_dead = False + heading = 0 position = None # type: Point - category = None # type: str - def __init__(self, category, cp_id, group_id, object_id, position, heading): - self.category = category - self.cp_id = cp_id - self.group_id = group_id - self.object_id = object_id - self.position = position - self.heading = heading + @property + def category(self) -> str: + for k, v in CATEGORY_MAP.items(): + if self.dcs_identifier in v: + return k + assert False, "Identifier not found in mapping: {}".format(self.dcs_identifier) @property def string_identifier(self): diff --git a/userdata/debriefing.py b/userdata/debriefing.py index 68006696..c3f65d55 100644 --- a/userdata/debriefing.py +++ b/userdata/debriefing.py @@ -17,6 +17,7 @@ from dcs.unit import UnitType from game import db from .persistency import base_path +from theater.theatergroundobject import CATEGORY_MAP DEBRIEFING_LOG_EXTENSION = "log" @@ -123,10 +124,9 @@ class Debriefing: for event in events.values(): event_type = event.get("type", None) if event_type in ["crash", "dead"]: - object_initiator = event["initiator"] in ["SKLAD_CRUSH", "SKLADCDESTR", "TEC_A_CRUSH", "BAK_CRUSH"] - defense_initiator = event["initiator"].startswith("defense|") + initiator_components = event["initiator"].split("|") - if object_initiator or defense_initiator: + if initiator_components[0] in CATEGORY_MAP: parse_dead_object(event) else: parse_dead_unit(event) @@ -138,7 +138,6 @@ class Debriefing: result = {} for group in groups: for unit in group.units: - unit_type = None if isinstance(unit, Vehicle): unit_type = vehicle_map[unit.type] elif isinstance(unit, Ship): From edf9efddf95b3950dd0f88e08349b83d023caf4c Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Thu, 13 Sep 2018 05:09:57 +0300 Subject: [PATCH 31/63] update to ground objects parser; waypoints in briefings & general briefings update; minor fixes --- game/game.py | 6 +- game/operation/baseattack.py | 6 ++ game/operation/frontlineattack.py | 2 + game/operation/frontlinepatrol.py | 2 + game/operation/infantrytransport.py | 1 + game/operation/insurgentattack.py | 3 +- game/operation/intercept.py | 9 ++- game/operation/navalintercept.py | 8 ++- game/operation/operation.py | 2 - game/operation/strike.py | 3 +- gen/aircraft.py | 5 +- gen/briefinggen.py | 18 +++++- resources/cau_groundobjects.p | Bin 18698 -> 18707 bytes resources/tools/generate_groundobjectsmap.py | 58 +++++++++++++------ theater/__init__.py | 2 +- theater/caucasus.py | 7 ++- theater/nevada.py | 2 +- theater/persiangulf.py | 2 +- 18 files changed, 96 insertions(+), 40 deletions(-) diff --git a/game/game.py b/game/game.py index 9bac3b9f..6401a421 100644 --- a/game/game.py +++ b/game/game.py @@ -49,13 +49,13 @@ Events: * InfantryTransportEvent - helicopter infantry transport """ EVENT_PROBABILITIES = { - BaseAttackEvent: [100, 10], + BaseAttackEvent: [100, 15], FrontlineAttackEvent: [100, 0], FrontlinePatrolEvent: [100, 0], StrikeEvent: [100, 0], - InterceptEvent: [25, 10], + InterceptEvent: [25, 15], InsurgentAttackEvent: [0, 10], - NavalInterceptEvent: [25, 10], + NavalInterceptEvent: [25, 15], InfantryTransportEvent: [25, 0], } diff --git a/game/operation/baseattack.py b/game/operation/baseattack.py index 51d887f8..3c11a203 100644 --- a/game/operation/baseattack.py +++ b/game/operation/baseattack.py @@ -59,5 +59,11 @@ class BaseAttackOperation(Operation): self.briefinggen.title = "Base attack" self.briefinggen.description = "The goal of an attacker is to lower defender presence by destroying their armor and aircraft. Base will be considered captured if attackers on the ground overrun the defenders. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." + + if self.game.player == self.attacker_name: + self.briefinggen.append_waypoint("TARGET") + else: + pass + super(BaseAttackOperation, self).generate() diff --git a/game/operation/frontlineattack.py b/game/operation/frontlineattack.py index 3be6ca03..381e542e 100644 --- a/game/operation/frontlineattack.py +++ b/game/operation/frontlineattack.py @@ -51,4 +51,6 @@ class FrontlineAttackOperation(Operation): self.briefinggen.title = "Frontline CAS" self.briefinggen.description = "Provide CAS for the ground forces attacking enemy lines. Operation will be considered successful if total number of enemy units will be lower than your own by a factor of 1.5 (i.e. with 12 units from both sides, enemy forces need to be reduced to at least 8), meaning that you (and, probably, your wingmans) should concentrate on destroying the enemy units. Target base strength will be lowered as a result. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." + self.briefinggen.append_waypoint("CAS AREA IP") + self.briefinggen.append_waypoint("CAS AREA EGRESS") super(FrontlineAttackOperation, self).generate() diff --git a/game/operation/frontlinepatrol.py b/game/operation/frontlinepatrol.py index 2bad15f6..0761aa2a 100644 --- a/game/operation/frontlinepatrol.py +++ b/game/operation/frontlinepatrol.py @@ -51,4 +51,6 @@ class FrontlinePatrolOperation(Operation): self.briefinggen.title = "Frontline CAP" self.briefinggen.description = "Providing CAP support for ground units attacking enemy lines. Enemy will scramble its CAS and your task is to intercept it. Operation will be considered successful if total number of friendly units will be lower than enemy by at least a factor of 0.8 (i.e. with 12 units from both sides, there should be at least 8 friendly units alive), lowering targets strength as a result." + self.briefinggen.append_waypoint("CAP AREA IP") + self.briefinggen.append_waypoint("CAP AREA EGRESS") super(FrontlinePatrolOperation, self).generate() diff --git a/game/operation/infantrytransport.py b/game/operation/infantrytransport.py index d96bd2cd..b35f0973 100644 --- a/game/operation/infantrytransport.py +++ b/game/operation/infantrytransport.py @@ -36,6 +36,7 @@ class InfantryTransportOperation(Operation): self.briefinggen.title = "Infantry transport" self.briefinggen.description = "Helicopter operation to transport infantry troops from the base to the front line. Lowers target strength" + self.briefinggen.append_waypoint("DROP POINT") # TODO: horrible, horrible hack # this will disable vehicle activation triggers, diff --git a/game/operation/insurgentattack.py b/game/operation/insurgentattack.py index 410517da..1f1c1cba 100644 --- a/game/operation/insurgentattack.py +++ b/game/operation/insurgentattack.py @@ -28,10 +28,11 @@ class InsurgentAttackOperation(Operation): conflict=conflict) def generate(self): - self.airgen.generate_defense(*assigned_units_split(self.strikegroup), at=self.defenders_starting_position) + self.airgen.generate_defenders_cas(*assigned_units_split(self.strikegroup), at=self.defenders_starting_position) self.armorgen.generate(self.target, {}) self.briefinggen.title = "Destroy insurgents" self.briefinggen.description = "Destroy vehicles of insurgents in close proximity of the friendly base. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." + self.briefinggen.append_waypoint("TARGET") super(InsurgentAttackOperation, self).generate() diff --git a/game/operation/intercept.py b/game/operation/intercept.py index ba396dbe..1d763113 100644 --- a/game/operation/intercept.py +++ b/game/operation/intercept.py @@ -56,7 +56,14 @@ class InterceptOperation(Operation): self.airgen.generate_interception(*assigned_units_split(self.interceptors), at=self.attackers_starting_position) self.briefinggen.title = "Air Intercept" - self.briefinggen.description = "Intercept enemy supply transport aircraft. Escort will also be present if there are available planes on the base. Operation will be considered successful if most of the targets are destroyed, lowering targets strength as a result" + + if self.game.player == self.attacker_name: + self.briefinggen.description = "Intercept enemy supply transport aircraft. Escort will also be present if there are available planes on the base. Operation will be considered successful if most of the targets are destroyed, lowering targets strength as a result" + self.briefinggen.append_waypoint("TARGET") + for unit_type, count in self.transport.items(): + self.briefinggen.append_target("{} ({})".format(db.unit_type_name(unit_type), count)) + else: + self.briefinggen.description = "Escort friendly supply transport aircraft. Operation will be considered failed if most of the targets are destroyed, lowering CP strength as a result" super(InterceptOperation, self).generate() diff --git a/game/operation/navalintercept.py b/game/operation/navalintercept.py index 77c5d746..94c479e1 100644 --- a/game/operation/navalintercept.py +++ b/game/operation/navalintercept.py @@ -48,7 +48,13 @@ class NavalInterceptionOperation(Operation): ) self.briefinggen.title = "Naval Intercept" - self.briefinggen.description = "Destroy supply transport ships. Lowers target strength. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." + if self.game.player == self.attacker_name: + self.briefinggen.description = "Destroy supply transport ships. Lowers target strength. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." + for unit_type, count in self.targets: + self.briefinggen.append_target("{} ({})".format(db.unit_type_name(unit_type), count)) + else: + self.briefinggen.description = "Protect supply transport ships." + self.briefinggen.append_waypoint("TARGET") super(NavalInterceptionOperation, self).generate() diff --git a/game/operation/operation.py b/game/operation/operation.py index 96f5d4d1..171f97cd 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -111,8 +111,6 @@ class Operation: else: self.envgen.load(self.environment_settings) - # @TODO: ADD WAYPOINT INFORMATION! - # main frequencies self.briefinggen.append_frequency("Flight", "251 MHz AM") if self.conflict.from_cp.is_global or self.conflict.to_cp.is_global: diff --git a/game/operation/strike.py b/game/operation/strike.py index 20391305..6b79dede 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -47,7 +47,8 @@ class StrikeOperation(Operation): category_counters[object.category] = category_counters.get(object.category, 0) + 1 markpoint_name = "{}{}".format(object.name_abbrev, category_counters[object.category]) targets.append((markpoint_name, object.position)) - self.briefinggen.append_target(str(object), markpoint_name) + self.briefinggen.append_target(str(object)) + self.briefinggen.append_waypoint("TARGET {} (TP {})".format(str(object), markpoint_name)) targets.sort(key=lambda x: self.from_cp.position.distance_to_point(x[1])) diff --git a/gen/aircraft.py b/gen/aircraft.py index b550ba18..d5237163 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -449,10 +449,7 @@ class AircraftConflictGenerator: at=at and at or self._group_point(self.conflict.air_attackers_location)) group.task = CAP.name - - heading = group.position.heading_between_point(self.conflict.position) - initial_wayp = group.add_waypoint(group.position.point_from_heading(heading, WORKAROUND_WAYP_DIST), INTERCEPTION_ALT, INTERCEPTION_AIRSPEED) - initial_wayp.tasks.append(EngageTargets(max_distance=INTERCEPT_MAX_DISTANCE)) + group.points[0].tasks.append(EngageTargets(max_distance=INTERCEPT_MAX_DISTANCE)) wayp = group.add_waypoint(self.conflict.position, WARM_START_ALTITUDE, INTERCEPTION_AIRSPEED) wayp.tasks.append(EngageTargets(max_distance=INTERCEPT_MAX_DISTANCE)) diff --git a/gen/briefinggen.py b/gen/briefinggen.py index 468d0d8e..8966f6ff 100644 --- a/gen/briefinggen.py +++ b/gen/briefinggen.py @@ -12,6 +12,7 @@ class BriefingGenerator: title = "" # type: str description = "" # type: str targets = None # type: typing.List[typing.Tuple[str, str]] + waypoints = None # type: typing.List[str] def __init__(self, mission: Mission, conflict: Conflict, game): self.m = mission @@ -20,6 +21,7 @@ class BriefingGenerator: self.freqs = [] self.targets = [] + self.waypoints = [] def append_frequency(self, name: str, frequency: str): self.freqs.append((name, frequency)) @@ -27,7 +29,14 @@ class BriefingGenerator: def append_target(self, description: str, markpoint: str = None): self.targets.append((description, markpoint)) + def append_waypoint(self, description: str): + self.waypoints.append(description) + def generate(self): + self.waypoints.insert(0, "INITIAL") + self.waypoints.append("RTB") + self.waypoints.append("RTB Landing") + description = "" if self.title: @@ -43,7 +52,12 @@ class BriefingGenerator: if self.targets: description += "\n\nTARGETS:" - for name, tp in self.targets: - description += "\n{} {}".format(name, "(TP {})".format(tp) if tp else "") + for i, (name, tp) in enumerate(self.targets): + description += "\n#{} {} {}".format(i+1, name, "(TP {})".format(tp) if tp else "") + + if self.waypoints: + description += "\n\nWAYPOINTS:" + for i, descr in enumerate(self.waypoints): + description += "\n#{}: {}".format(i+1, descr) self.m.set_description_text(description) diff --git a/resources/cau_groundobjects.p b/resources/cau_groundobjects.p index 88a38e8f409974946873892a966533b57c4bdc0e..c7f616e67dc498b213f6b2a0413ff6b6b317b1fb 100644 GIT binary patch literal 18707 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 G2>d^ACQ2Fr literal 18698 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%0DO$aTfsm z6F`LxBC3l>E+G-BgynYA_dSN{!?P1>YnA<>>N2k-sw)6q1yJD!vCL)GH6(u_;VP?X zBc}~D;B@C+YyO7?o^p9ep8d<#tLwa$tK9Tn-2m_=fC?KzRJV}aMk0FEwaBg5_E;&n zKZs>B6Py09S9f?V>DAu=-UU!$KNHnGB=?aB)sO~#-aWpK0sN=LyOK(qAF3YkTB3Rg z;3EJPrV-U+Bu|it0sQ&XlS-;PRE_*!Hyy7ZhRjThr@WR7;4=W91E{bqMD-7nf01yN zrEio^#X2R)T$nD;Z?Fu!0sSm&uo9- z;=3)U*78L}6tj;o0pr90#ODlZVNey8 zLVPYrT#*Q0`hi(*Ulo$R250gVY$p4a>HGeSUxXJDPf^g^KvP&M@wg-LK*Bw*I-Qtt z@R#3($2tA2$I;2hr6<8l?0eaMI%g=x3%N)9s!YrWPtd$TQ`ku2DUQS&3HLnrI~DNH zJA4t~6q;TvV}6G8Bvuff{Q7*zTrvCbLhkX@J-(p%fu^w0#8U!ENhI9!DDCB^-4Agl zb_kwf`~L5X@Cb=`anH9WF8p~7S9s})QUC=2q_8nWQ5s1ZBtkLw*!aO?4~rplsP7+> zv@PpRl1xQeUPBb+04fiV!p0Is1tb-baK+1z_HPacqzi@Jvj&F?&eCs-nK_^b@>;Gk z?x>XjtPG&S#t~H&Bvp}c)%y)Air4&NAt##0Z;z(RuZ@FDO|)vfkb8_fYIV?RfTpnV z#8VSVEhOCY;^3jzg$JC1XXVAH>P^JCn;#G|J>n|O_=6EcZC=MU#r2I-2e7(;DeM=b zsfQ#83D-RL88M;B^QJ=M6w2-w_@sZ)U}~NP^Fr=1&a?WUH2_Uv6NslFl14~`r*z=V zCyw~ZsZ;3h_a+Q&E4yRL)0h_$PY7sDKvUSS#M2Z>GbG&eXl8)zoX9PrKMuh$51!h{ zTN{|nS>`k2HC$nw&&>g90g%Eb5k*TRp-6;ceys-?KKQ2EA$aSo@{@a^D>*4z@fxCN z4Nx0^6gHVC+9GL(ge%@Jjr0EZUOPF-HW#dEJxz{Q_l4r<`8M0xpgk|-9^)kI09qJm z3Y$Va;Yd0n5uWr$i=S=9*MP2$mZ5LD>bLzfC)xK$%}%_Kcshgj6KD#XN<0xrx**}6 zS5e+mW2WFY{Lbl?hd%d=&uQy_`whRLD=*|8<59C4Xx%|m*fiqlfg}dn%jsIv_Ro`h$&9a`nkb8`?ISRC1pebxR@$^O#jRc;uy{~Tj1$#{^_m!z>T2B4R zJUYklLgMKIS}bS^n@K!7@eD!oGZNuR_h=nF z1pkKzu8!TT20he&CTMC_YrK$nhJrQ>G=T6&%t69c?~et{Puq>J zP+jegFI*8cFH3K5kz<_9b5T4`$L=QB`A8Og!>;c$y^GyC(F0ezd+o+~$X}&po^8Iv zE=2Jn9lM8M7b96>#J-At>v!cWo-}e^-|LStZjWBUxd@KCk}p zMCvL0)ZeN32Zuuc1 int: - first_part = name.split()[0].split("|") - return int(first_part[0]) if len(first_part) == 1 else int(first_part[1]) +def closest_cp(location: Point) -> (int, float): + global theater + min_distance, min_cp = None, None + + for cp in theater.controlpoints: + if not min_distance or location.distance_to_point(cp.position) < min_distance: + min_distance = location.distance_to_point(cp.position) + min_cp = cp.id + + assert min_cp is not None + return min_cp if __name__ == "__main__": @@ -27,11 +48,6 @@ if __name__ == "__main__": theater_object = TheaterGroundObject() theater_object.object_id = len(theater_objects) + 1 - try: - theater_object.cp_id = parse_name(str(unit.name)) - except Exception as e: - theater_object.cp_id = parse_name(str(group.name)) - theater_object.position = unit.position theater_object.heading = unit.heading @@ -40,15 +56,7 @@ if __name__ == "__main__": else: theater_object.dcs_identifier = unit.type - airport_distance = m.terrain.airport_by_id(theater_object.cp_id).position.distance_to_point(theater_object.position) - if airport_distance > 150000: - print("Object {} {} is placed {}m from airport {}!".format(theater_object.dcs_identifier, - group.name, - airport_distance, - m.terrain.airport_by_id(theater_object.cp_id))) - assert theater_object.dcs_identifier - assert theater_object.cp_id assert theater_object.object_id theater_objects.append(theater_object) @@ -61,11 +69,15 @@ if __name__ == "__main__": continue elif object_a.group_id: object_b.group_id = object_a.group_id + object_b.cp_id = object_a.cp_id elif object_b.group_id: object_a.group_id = object_b.group_id + object_a.cp_id = object_b.cp_id else: object_a.group_id = group_ids object_b.group_id = group_ids + object_a.cp_id = closest_cp(object_a.position) + object_b.cp_id = object_a.cp_id group_ids += 1 assert object_a.cp_id == object_b.cp_id, "Object {} and {} are placed in group with different airports!".format(object_a.string_identifier, object_b.string_identifier) @@ -73,15 +85,23 @@ if __name__ == "__main__": for a in theater_objects: if not a.group_id: a.group_id = group_ids + a.cp_id = closest_cp(a.position) group_ids += 1 - print("Total {} objects".format(len(theater_objects))) - with open("../cau_groundobjects.p", "wb") as f: + with open("resources/cau_groundobjects.p", "wb") as f: result = {} for theater_object in theater_objects: + assert theater_object.cp_id + assert theater_object.group_id + assert theater_object.object_id + if theater_object.cp_id not in result: result[theater_object.cp_id] = [] result[theater_object.cp_id].append(theater_object) + print("Total {} objects".format(len(theater_objects))) + for cp_id, objects in result.items(): + print("{}: total {} objects".format(m.terrain.airport_by_id(cp_id), len(objects))) + pickle.dump(result, f) diff --git a/theater/__init__.py b/theater/__init__.py index 7e1236e3..282ea4f3 100644 --- a/theater/__init__.py +++ b/theater/__init__.py @@ -1,3 +1,3 @@ from .controlpoint import * from .conflicttheater import * -from .base import * \ No newline at end of file +from .base import * diff --git a/theater/caucasus.py b/theater/caucasus.py index a449fce9..ed91c98c 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -44,7 +44,7 @@ class CaucasusTheater(ConflictTheater): carrier_1 = ControlPoint.carrier("Carrier", mapping.Point(-305810.6875, 406399.1875)) - def __init__(self): + def __init__(self, load_ground_objects=True): super(CaucasusTheater, self).__init__() self.add_controlpoint(self.soganlug, connected_to=[self.kutaisi, self.beslan]) @@ -73,8 +73,9 @@ class CaucasusTheater(ConflictTheater): self.carrier_1.captured = True self.soganlug.captured = True - with open("resources/cau_groundobjects.p", "rb") as f: - self.set_groundobject(pickle.load(f)) + if load_ground_objects: + with open("resources/cau_groundobjects.p", "rb") as f: + self.set_groundobject(pickle.load(f)) def add_controlpoint(self, point: ControlPoint, connected_to: typing.Collection[ControlPoint] = []): point.name = " ".join(re.split(r"[ -]", point.name)[:1]) diff --git a/theater/nevada.py b/theater/nevada.py index a6f4aef5..da04e2de 100644 --- a/theater/nevada.py +++ b/theater/nevada.py @@ -32,7 +32,7 @@ class NevadaTheater(ConflictTheater): jean = ControlPoint.from_airport(nevada.Jean_Airport, LAND, SIZE_REGULAR, 1.2) laughlin = ControlPoint.from_airport(nevada.Laughlin_Airport, LAND, SIZE_LARGE, IMPORTANCE_HIGH) - def __init__(self): + def __init__(self, load_ground_objects=True): super(NevadaTheater, self).__init__() self.add_controlpoint(self.mina, connected_to=[self.tonopah]) diff --git a/theater/persiangulf.py b/theater/persiangulf.py index 0c06b2f7..8041fdd9 100644 --- a/theater/persiangulf.py +++ b/theater/persiangulf.py @@ -45,7 +45,7 @@ class PersianGulfTheater(ConflictTheater): west_carrier = ControlPoint.carrier("East carrier", Point(-100531.972946, 60939.275818)) - def __init__(self): + def __init__(self, load_ground_objects=True): super(PersianGulfTheater, self).__init__() self.add_controlpoint(self.shiraz, connected_to=[self.lar, self.kerman]) From 8431c7745d54fcd1725b8fd86e8350c8289fc6f8 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sat, 15 Sep 2018 00:30:40 +0300 Subject: [PATCH 32/63] fixed base atttack op --- game/event/baseattack.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game/event/baseattack.py b/game/event/baseattack.py index e708f5cc..6a3b8601 100644 --- a/game/event/baseattack.py +++ b/game/event/baseattack.py @@ -87,7 +87,7 @@ class BaseAttackEvent(Event): op.setup(cas=flights[CAS], escort=flights[CAP], - attack=flights[PinpointStrike], + attack=unitdict_from(flights[PinpointStrike]), intercept=assigned_units_from(defenders), defense=self.to_cp.base.armor, aa=self.to_cp.base.assemble_aa()) From 056c397e6862f324405fd45520c0209ba54f6c78 Mon Sep 17 00:00:00 2001 From: Khopa Date: Sat, 11 Aug 2018 12:31:09 +0200 Subject: [PATCH 33/63] [Cherry Picked] Added possibility to add 'DCS: Combined Arms' slots to the generated mission. --- game/event/event.py | 2 ++ game/operation/operation.py | 7 ++++++- gen/armor.py | 3 +++ ui/eventmenu.py | 23 ++++++++++++++++++++--- 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/game/event/event.py b/game/event/event.py index 6a8885be..7b9400c1 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -21,6 +21,7 @@ class Event: silent = False informational = False is_awacs_enabled = False + ca_slots = 0 operation = None # type: Operation difficulty = 1 # type: int game = None # type: Game @@ -74,6 +75,7 @@ class Event: def generate(self): self.operation.is_awacs_enabled = self.is_awacs_enabled + self.operation.ca_slots = self.ca_slots self.operation.prepare(self.game.theater.terrain, is_quick=False) self.operation.generate() diff --git a/game/operation/operation.py b/game/operation/operation.py index 171f97cd..5e873738 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -27,6 +27,7 @@ class Operation: trigger_radius = TRIGGER_RADIUS_MEDIUM is_quick = None is_awacs_enabled = False + ca_slots = 0 def __init__(self, game, @@ -50,7 +51,6 @@ class Operation: def initialize(self, mission: Mission, conflict: Conflict): self.mission = mission self.conflict = conflict - self.armorgen = ArmorConflictGenerator(mission, conflict) self.airgen = AircraftConflictGenerator(mission, conflict, self.game.settings) self.aagen = AAConflictGenerator(mission, conflict) @@ -90,6 +90,11 @@ class Operation: if self.is_awacs_enabled: self.briefinggen.append_frequency("AWACS", "133 MHz AM") + # combined arms + self.mission.groundControl.pilot_can_control_vehicles = self.ca_slots > 0 + self.mission.groundControl.blue_tactical_commander = self.ca_slots + self.mission.groundControl.red_tactical_commander = self.ca_slots + # ground infrastructure self.groundobjectgen.generate() self.extra_aagen.generate() diff --git a/gen/armor.py b/gen/armor.py index 876fa13c..a64cba4b 100644 --- a/gen/armor.py +++ b/gen/armor.py @@ -45,6 +45,9 @@ class ArmorConflictGenerator: group_size=1, move_formation=PointAction.OffRoad) + vehicle: Vehicle = group.units[0] + vehicle.player_can_drive = True + if not to: to = self.conflict.position.point_from_heading(0, 500) diff --git a/ui/eventmenu.py b/ui/eventmenu.py index db76176f..e0656994 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -9,7 +9,7 @@ from .styles import STYLES, RED class EventMenu(Menu): scramble_entries = None # type: typing.Dict[typing.Type[Task], typing.Dict[typing.Type[UnitType], typing.Tuple[Entry, Entry]]] - + ca_slot_entry = None error_label = None # type: Label awacs = None # type: IntVar @@ -100,8 +100,15 @@ class EventMenu(Menu): header("Support:") # Options awacs_enabled = self.game.budget >= AWACS_BUDGET_COST and NORMAL or DISABLED - Checkbutton(self.frame, var=self.awacs, state=awacs_enabled, **STYLES["radiobutton"]).grid(row=row, column=0, sticky=E) - Label(self.frame, text="AWACS ({}m)".format(AWACS_BUDGET_COST), **STYLES["widget"]).grid(row=row, column=3, sticky=W, padx=5, pady=5) + Label(self.frame, text="AWACS ({}m)".format(AWACS_BUDGET_COST), **STYLES["widget"]).grid(row=row, column=0, sticky=W) + Checkbutton(self.frame, var=self.awacs, state=awacs_enabled, **STYLES["radiobutton"]).grid(row=row, column=3, sticky=E) + row += 1 + + Label(self.frame, text="Combined Arms Slots", **STYLES["widget"]).grid(row=row, sticky=W) + self.ca_slot_entry = Entry(self.frame, width=2) + self.ca_slot_entry.insert(0, "0") + self.ca_slot_entry.grid(column=2, row=row, sticky=E, padx=5) + Button(self.frame, text="+", command=self.add_ca_slot, **STYLES["btn-primary"]).grid(column=3, row=row, padx=15) row += 1 header("Ready?") @@ -124,6 +131,12 @@ class EventMenu(Menu): return action + def add_ca_slot(self): + value = self.ca_slot_entry.get() + amount = int(value and value or "0") + self.ca_slot_entry.delete(0, END) + self.ca_slot_entry.insert(0, str(amount+1)) + def client_one(self, task: typing.Type[Task], unit_type: UnitType) -> typing.Callable: def action(): entry = self.scramble_entries[task][unit_type][1] # type: Entry @@ -140,6 +153,10 @@ class EventMenu(Menu): else: self.event.is_awacs_enabled = False + ca_slot_entry_value = self.ca_slot_entry.get() + ca_slots = int(ca_slot_entry_value and ca_slot_entry_value or "0") + self.event.ca_slots = ca_slots + flights = {k: {} for k in self.event.tasks} # type: db.TaskForceDict units_scramble_counts = {} # type: typing.Dict[typing.Type[UnitType], int] tasks_scramble_counts = {} # type: typing.Dict[typing.Type[Task], int] From c699567c7315df7bd987092cfa2061f5881348a4 Mon Sep 17 00:00:00 2001 From: Khopa Date: Sat, 22 Sep 2018 13:33:31 +0200 Subject: [PATCH 34/63] Only generate Combined Arms "Tactical Commander" slots for player side. --- game/operation/operation.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/game/operation/operation.py b/game/operation/operation.py index 5e873738..0e823f07 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -92,8 +92,10 @@ class Operation: # combined arms self.mission.groundControl.pilot_can_control_vehicles = self.ca_slots > 0 - self.mission.groundControl.blue_tactical_commander = self.ca_slots - self.mission.groundControl.red_tactical_commander = self.ca_slots + if self.game.player == "USA": + self.mission.groundControl.blue_tactical_commander = self.ca_slots + else: + self.mission.groundControl.red_tactical_commander = self.ca_slots # ground infrastructure self.groundobjectgen.generate() From 3500c85e8d514e948b005706cdbc0405ef99f456 Mon Sep 17 00:00:00 2001 From: Khopa Date: Sat, 22 Sep 2018 13:42:51 +0200 Subject: [PATCH 35/63] UI for CA slot selection (align with unit count rows) --- ui/eventmenu.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ui/eventmenu.py b/ui/eventmenu.py index e0656994..e97b84be 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -100,15 +100,15 @@ class EventMenu(Menu): header("Support:") # Options awacs_enabled = self.game.budget >= AWACS_BUDGET_COST and NORMAL or DISABLED - Label(self.frame, text="AWACS ({}m)".format(AWACS_BUDGET_COST), **STYLES["widget"]).grid(row=row, column=0, sticky=W) - Checkbutton(self.frame, var=self.awacs, state=awacs_enabled, **STYLES["radiobutton"]).grid(row=row, column=3, sticky=E) + Checkbutton(self.frame, var=self.awacs, state=awacs_enabled, **STYLES["radiobutton"]).grid(row=row, column=2, sticky=E) + Label(self.frame, text="AWACS ({}m)".format(AWACS_BUDGET_COST), **STYLES["widget"]).grid(row=row, column=0, sticky=W, pady=5) row += 1 Label(self.frame, text="Combined Arms Slots", **STYLES["widget"]).grid(row=row, sticky=W) self.ca_slot_entry = Entry(self.frame, width=2) self.ca_slot_entry.insert(0, "0") - self.ca_slot_entry.grid(column=2, row=row, sticky=E, padx=5) - Button(self.frame, text="+", command=self.add_ca_slot, **STYLES["btn-primary"]).grid(column=3, row=row, padx=15) + self.ca_slot_entry.grid(column=1, row=row, sticky=W, padx=5) + Button(self.frame, text="+", command=self.add_ca_slot, **STYLES["btn-primary"]).grid(column=2, row=row, padx=5, sticky=W) row += 1 header("Ready?") From 8cb7c7378f77208373314f5ef04a1b60f298fb73 Mon Sep 17 00:00:00 2001 From: Khopa Date: Sat, 29 Sep 2018 11:34:22 +0200 Subject: [PATCH 36/63] Type for ca_slot_entry --- ui/eventmenu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/eventmenu.py b/ui/eventmenu.py index e97b84be..82ad891e 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -9,7 +9,7 @@ from .styles import STYLES, RED class EventMenu(Menu): scramble_entries = None # type: typing.Dict[typing.Type[Task], typing.Dict[typing.Type[UnitType], typing.Tuple[Entry, Entry]]] - ca_slot_entry = None + ca_slot_entry = None # type: Entry error_label = None # type: Label awacs = None # type: IntVar From 93d0746d3e146e9fcf7ec54f8fc0365ef1ecccb5 Mon Sep 17 00:00:00 2001 From: Khopa Date: Sat, 29 Sep 2018 11:46:15 +0200 Subject: [PATCH 37/63] Replaced with player faction check by coalition check --- game/operation/operation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game/operation/operation.py b/game/operation/operation.py index 0e823f07..06384a79 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -92,7 +92,7 @@ class Operation: # combined arms self.mission.groundControl.pilot_can_control_vehicles = self.ca_slots > 0 - if self.game.player == "USA": + if self.game.player in [country.name for country in self.mission.coalition["blue"].countries.values()]: self.mission.groundControl.blue_tactical_commander = self.ca_slots else: self.mission.groundControl.red_tactical_commander = self.ca_slots From 2cbe63f1628fdd721eed9132525c7492e9503aaf Mon Sep 17 00:00:00 2001 From: Khopa Date: Sat, 29 Sep 2018 11:55:42 +0200 Subject: [PATCH 38/63] Fixed potential exception in start if user enter invalid value inside the combined arms slots entry. --- ui/eventmenu.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ui/eventmenu.py b/ui/eventmenu.py index 82ad891e..80eacf91 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -154,7 +154,10 @@ class EventMenu(Menu): self.event.is_awacs_enabled = False ca_slot_entry_value = self.ca_slot_entry.get() - ca_slots = int(ca_slot_entry_value and ca_slot_entry_value or "0") + try: + ca_slots = int(ca_slot_entry_value and ca_slot_entry_value or "0") + except: + ca_slots = 0 self.event.ca_slots = ca_slots flights = {k: {} for k in self.event.tasks} # type: db.TaskForceDict From e28a24c875d15397808143c66461a9410d64c545 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Thu, 11 Oct 2018 03:45:20 +0300 Subject: [PATCH 39/63] randomized strike objects with templates; forbid ground objects and vehicles placement on mountains and in forests; updated push trigger so it include player group; adjacent CP missions could be initiated from carriers --- __init__.py | 3 +- game/game.py | 8 ++- game/operation/frontlineattack.py | 4 +- game/operation/strike.py | 14 ++++- gen/airsupportgen.py | 4 ++ gen/conflictgen.py | 31 ++++++----- gen/groundobjectsgen.py | 16 ++++-- gen/triggergen.py | 14 +++-- resources/caulandmap.p | Bin 8863 -> 29464 bytes resources/groundobject_templates.p | Bin 0 -> 3501 bytes resources/gulflandmap.p | Bin 31491 -> 42297 bytes resources/tools/cau_groundobjects.miz | Bin 26840 -> 61888 bytes resources/tools/cau_terrain.miz | Bin 30035 -> 78316 bytes .../tools/generate_groundobject_templates.py | 49 +++++++++++++++++ resources/tools/generate_groundobjectsmap.py | 3 +- resources/tools/generate_landmap.py | 18 +++++-- resources/tools/groundobject_templates.miz | Bin 0 -> 12293 bytes resources/tools/gulf_terrain.miz | Bin 73800 -> 104988 bytes theater/caucasus.py | 7 ++- theater/conflicttheater.py | 31 ++++++----- theater/controlpoint.py | 15 ++++-- theater/landmap.py | 3 +- theater/start_generator.py | 51 +++++++++++++++++- theater/theatergroundobject.py | 19 ++++--- 24 files changed, 228 insertions(+), 62 deletions(-) create mode 100644 resources/groundobject_templates.p create mode 100644 resources/tools/generate_groundobject_templates.py create mode 100644 resources/tools/groundobject_templates.miz diff --git a/__init__.py b/__init__.py index c26285f9..8efa047b 100755 --- a/__init__.py +++ b/__init__.py @@ -70,7 +70,8 @@ try: for i in range(0, int(len(conflicttheater.controlpoints) / 2)): conflicttheater.controlpoints[i].captured = True - start_generator.generate_initial(conflicttheater, enemy_name, sams, multiplier) + start_generator.generate_inital_units(conflicttheater, enemy_name, sams, multiplier) + start_generator.generate_groundobjects(conflicttheater) game = Game(player_name=player_name, enemy_name=enemy_name, theater=conflicttheater) diff --git a/game/game.py b/game/game.py index 6401a421..3fee2d3c 100644 --- a/game/game.py +++ b/game/game.py @@ -112,14 +112,18 @@ class Game: enemy_generated_types = [] for player_cp, enemy_cp in self.theater.conflicts(True): - if player_cp.is_global or enemy_cp.is_global: + if enemy_cp.is_global: continue for event_class, (player_probability, enemy_probability) in EVENT_PROBABILITIES.items(): - if event_class == FrontlineAttackEvent or event_class == InfantryTransportEvent or event_class == FrontlinePatrolEvent: + if event_class in [FrontlineAttackEvent, FrontlinePatrolEvent, InfantryTransportEvent]: if not Conflict.has_frontline_between(player_cp, enemy_cp): continue + if player_cp.is_global: + if event_class not in [InterceptEvent, StrikeEvent, NavalInterceptEvent]: + continue + if player_probability == 100 or self._roll(player_probability, player_cp.base.strength): if event_class == NavalInterceptEvent and enemy_cp.radials == LAND: pass diff --git a/game/operation/frontlineattack.py b/game/operation/frontlineattack.py index 381e542e..2d8d8675 100644 --- a/game/operation/frontlineattack.py +++ b/game/operation/frontlineattack.py @@ -47,7 +47,9 @@ class FrontlineAttackOperation(Operation): self.briefinggen.append_frequency("FARP", "127.5 MHz AM") for farp, dict in zip(self.groundobjectgen.generate_farps(sum([x[0] for x in heli_flights.values()])), db.assignedunits_split_to_count(heli_flights, self.groundobjectgen.FARP_CAPACITY)): - self.airgen.generate_cas_strikegroup(*assigned_units_split(dict), at=farp, escort=False) + self.airgen.generate_cas_strikegroup(*assigned_units_split(dict), + at=farp, + escort=len(planes_flights) == 0) self.briefinggen.title = "Frontline CAS" self.briefinggen.description = "Provide CAS for the ground forces attacking enemy lines. Operation will be considered successful if total number of enemy units will be lower than your own by a factor of 1.5 (i.e. with 12 units from both sides, enemy forces need to be reduced to at least 8), meaning that you (and, probably, your wingmans) should concentrate on destroying the enemy units. Target base strength will be lowered as a result. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." diff --git a/game/operation/strike.py b/game/operation/strike.py index 6b79dede..d937e89d 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -52,12 +52,22 @@ class StrikeOperation(Operation): targets.sort(key=lambda x: self.from_cp.position.distance_to_point(x[1])) - self.airgen.generate_ground_attack_strikegroup(*assigned_units_split(self.strikegroup), + planes_flights = {k: v for k, v in self.strikegroup.items() if k in plane_map.values()} + self.airgen.generate_ground_attack_strikegroup(*assigned_units_split(planes_flights), targets=targets, at=self.attackers_starting_position) - self.airgen.generate_attackers_escort(*assigned_units_split(self.escort), at=self.attackers_starting_position) + heli_flights = {k: v for k, v in self.strikegroup.items() if k in helicopters.helicopter_map.values()} + if heli_flights: + self.briefinggen.append_frequency("FARP", "127.5 MHz AM") + for farp, dict in zip(self.groundobjectgen.generate_farps(sum([x[0] for x in heli_flights.values()])), + db.assignedunits_split_to_count(heli_flights, self.groundobjectgen.FARP_CAPACITY)): + self.airgen.generate_ground_attack_strikegroup(*assigned_units_split(dict), + targets=targets, + at=farp, + escort=len(planes_flights) == 0) + self.airgen.generate_attackers_escort(*assigned_units_split(self.escort), at=self.attackers_starting_position) self.airgen.generate_barcap(*assigned_units_split(self.interceptors), at=self.defenders_starting_position) self.briefinggen.title = "Strike" diff --git a/gen/airsupportgen.py b/gen/airsupportgen.py index 8e89dfc4..7b3557cd 100644 --- a/gen/airsupportgen.py +++ b/gen/airsupportgen.py @@ -21,6 +21,10 @@ class AirSupportConflictGenerator: self.conflict = conflict self.game = game + @classmethod + def support_tasks(cls) -> typing.Collection[typing.Type[MainTask]]: + return [Refueling, AWACS] + def generate(self, is_awacs_enabled): player_cp = self.conflict.from_cp if self.conflict.from_cp.captured else self.conflict.to_cp tanker_unit = db.find_unittype(Refueling, self.conflict.attackers_side.name)[0] diff --git a/gen/conflictgen.py b/gen/conflictgen.py index 39860aa6..0718ca9d 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -130,19 +130,22 @@ class Conflict: return self.to_cp.size * GROUND_DISTANCE_FACTOR def find_insertion_point(self, other_point: Point) -> Point: - dx = self.position.x - self.tail.x - dy = self.position.y - self.tail.y - dr2 = float(dx ** 2 + dy ** 2) + if self.is_vector: + dx = self.position.x - self.tail.x + dy = self.position.y - self.tail.y + dr2 = float(dx ** 2 + dy ** 2) - lerp = ((other_point.x - self.tail.x) * dx + (other_point.y - self.tail.y) * dy) / dr2 - if lerp < 0: - lerp = 0 - elif lerp > 1: - lerp = 1 + lerp = ((other_point.x - self.tail.x) * dx + (other_point.y - self.tail.y) * dy) / dr2 + if lerp < 0: + lerp = 0 + elif lerp > 1: + lerp = 1 - x = lerp * dx + self.tail.x - y = lerp * dy + self.tail.y - return Point(x, y) + x = lerp * dx + self.tail.x + y = lerp * dy + self.tail.y + return Point(x, y) + else: + return self.position def find_ground_position(self, at: Point, heading: int, max_distance: int = 40000) -> typing.Optional[Point]: return Conflict._find_ground_position(at, max_distance, heading, self.theater) @@ -153,7 +156,10 @@ class Conflict: @classmethod def frontline_position(cls, from_cp: ControlPoint, to_cp: ControlPoint) -> typing.Tuple[Point, int]: - distance = max(from_cp.position.distance_to_point(to_cp.position) * FRONTLINE_DISTANCE_STRENGTH_FACTOR * to_cp.base.strength, FRONTLINE_MIN_CP_DISTANCE) + cp_distance = from_cp.position.distance_to_point(to_cp.position) + cp_distance -= cp_distance * to_cp.frontline_offset + cp_distance * from_cp.frontline_offset + + distance = max(cp_distance * FRONTLINE_DISTANCE_STRENGTH_FACTOR * to_cp.base.strength, FRONTLINE_MIN_CP_DISTANCE) heading = to_cp.position.heading_between_point(from_cp.position) return to_cp.position.point_from_heading(heading, distance), heading @@ -172,7 +178,6 @@ class Conflict: if pos: left_position = pos center_position = pos - print("{} - {} {}".format(from_cp, to_cp, center_position)) if left_position is None: left_position = cls._extend_ground_position(center_position, int(FRONTLINE_LENGTH/2), _heading_sum(heading, -90), theater) diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index 2264b33a..08354825 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -19,11 +19,15 @@ class GroundObjectsGenerator: self.game = game def generate_farps(self, number_of_units=1) -> typing.Collection[StaticGroup]: - assert self.conflict.is_vector, "FARP could be generated only on frontline conflicts!" - - for i, _ in enumerate(range(0, number_of_units, self.FARP_CAPACITY)): + if self.conflict.is_vector: + center = self.conflict.center heading = self.conflict.heading - 90 - position = self.conflict.find_ground_position(self.conflict.center.point_from_heading(heading, FARP_FRONTLINE_DISTANCE), heading) + else: + center, heading = self.conflict.frontline_position(self.conflict.from_cp, self.conflict.to_cp) + heading -= 90 + + position = self.conflict.find_ground_position(center.point_from_heading(heading, FARP_FRONTLINE_DISTANCE), heading) + for i, _ in enumerate(range(0, number_of_units, self.FARP_CAPACITY)): position = position.point_from_heading(0, i * 275) yield self.m.farp( @@ -64,6 +68,10 @@ class GroundObjectsGenerator: else: static_type = fortification_map[ground_object.dcs_identifier] + if not static_type: + print("Didn't find {} in static _map(s)!".format(ground_object.dcs_identifier)) + continue + group = self.m.static_group( country=side, name=ground_object.string_identifier, diff --git a/gen/triggergen.py b/gen/triggergen.py index 38db66a1..7a916eed 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -12,9 +12,11 @@ from dcs.action import * from game import db from theater import * +from gen.airsupportgen import AirSupportConflictGenerator from gen import * PUSH_TRIGGER_SIZE = 3000 +PUSH_TRIGGER_ACTIVATION_AGL = 100 REGROUP_ZONE_DISTANCE = 12000 REGROUP_ALT = 5000 @@ -51,6 +53,11 @@ class TriggersGenerator: vehicle_group.late_activation = True activate_by_trigger.append(vehicle_group) + for plane_group in country.plane_group: + if plane_group.task in [x.name for x in AirSupportConflictGenerator.support_tasks()]: + plane_group.late_activation = True + activate_by_trigger.append(plane_group) + conflict_distance = player_cp.position.distance_to_point(self.conflict.position) minimum_radius = max(conflict_distance - TRIGGER_MIN_DISTANCE_FROM_START, TRIGGER_RADIUS_MINIMUM) if minimum_radius < 0: @@ -79,9 +86,6 @@ class TriggersGenerator: if player_cp.position.distance_to_point(group.position) > PUSH_TRIGGER_SIZE * 3: continue - if group.units[0].is_human(): - continue - regroup_heading = self.conflict.to_cp.position.heading_between_point(player_cp.position) pos1 = group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE) @@ -109,7 +113,9 @@ class TriggersGenerator: push_trigger = TriggerOnce(Event.NoEvent, "Push trigger") for group in push_by_trigger: - push_trigger.add_condition(AllOfGroupOutsideZone(group.id, push_trigger_zone.id)) + for unit in group.units: + push_trigger.add_condition(UnitAltitudeHigherAGL(unit.id, PUSH_TRIGGER_ACTIVATION_AGL)) + push_trigger.add_action(AITaskPush(group.id, 1)) message_string = self.mission.string("Task force is in the air, proceed with the objective (activate waypoint 3).") diff --git a/resources/caulandmap.p b/resources/caulandmap.p index 14b19f1819dc0735e6c41e6a2b7b73cec7f79bd0..f6e34d8ebe12442f7f9e91f775c514a1c4fe7abe 100644 GIT binary patch literal 29464 zcmZ7ec{o*3|3Chd%o)Qm77-~)14R>sqa7P zny7|wmbrdg$57*d%O041UE9PpQJcMEbl%BUhT`Mqa}>Jv)@d)}noPMdV~17MFNPY= z&6m^tG~{$g3HaQ>vQzN|L-BL-WfQ}LMwdJWzEYRZ_6?{_IA2b1YVTIQ5hGP7n(c1l&V@nxI40uRCVM^E&Tq)4CU^q9H zp~Qi7v6SFZeuDZq8b(E}U(8EO(x)7jUv-5EGs~)o;6&%& zX13)Fr45vyrtNnLvu<*Cs5@`IB|}XIuBrpTIx=9%cCw40%3aPtLIy_Dq^y#-oL zkQ`EY%TPMNYwr#xI(Gn#PS)QR_GGA;z_c$3=UnkPCXZ{{YrORvL+Sp{m6LuB&RF#; znxSR^y$%|0y|s*MGAZ|$Sl$8|hSCFCbCkEMy#wB~43JvBf}v&u4?Xy?wyYLNrDjdO zX~j@;fX}CmUN{{I+!-HQG&_c&<^qFG3~LH&1DA^585fOdGjHtWq9!#em^PE<-7G)- zRh6Oifu`FQABd?33ZDK_m%Egq47mCHbuKaWB8#~uDxYHax%K1a^ML`C-L#?x@MUJ! zo|D52wE*b0VCdn+5@6Kj_#Y9Nb%sC_=j-<(b%8e3j}=AsF_aNd9u=e59!H@Cqpj-l${o>-H&=%-lriw~`Y=h(AE3b;(?fH2GL#9B zZf?oZIRu=%HmUI@3d=H}-U4zzl|?1FJ9S?%)N*b<-xjZr_9=;66Q!o$8*dHfGn6TC z?f_?3BdU#3sd(~}z}pOE_P_X~K)=@F7eko?Wxq`8F9^VuNp=Ub+-5KomzzH>+^$At z89&f~&tHT4k)bSr>!!Acs9SMO6#o^u3LT%yP%F6kyon2^?=|iLzB9OZ|K&7>S_!mm zY^PHQc;EXCK!cJdg*>F&B=%gC%3b&HF9s)+09SPqVe20 z4p|%HbVnJ=7RcvZ_{DGVf6$JbH?Z2T$>r}(;G$WnG5#40wGpTg-(`LVbDlG28@9+q zhT6o<>u;ZVF3smCP=2$QL#)XO|91i2=mj@W&uOAf$`Td}sRfmsWVPxzG1 zP>w*qpLDXCFfh`ZjJXZCeg8ry`|ZF`$2a321Txfipi}VD<6U*Y%R$Bo=P;9ZaP#`w zbKmOM;=#!s97zgFQ(>r`z+0}J$xjM^d&4JMujpVXC!mi`zWm4Qz@54)G_EuTP*@>e&js+@_6pM#y7^+6`3NO%{Tj z#o_rpO@A56m7CZ5eSSuG`9?DRAfPReojZ48m{ov?u^&F*Pi8R`J=(fZHx5{rOefBg{rQo~RbFw_zi0ceFi=av^p<} zsptv3llmh52g{T(TnFx$((QD+xesmNV#8Ex^7~7d_i2j2l?iGge0v>)obJId>XR_x4Uu+fb zVW?xkotsB%c3~mN9)25rmu_OH9oDmW?V8Du?oU}wRtI{~yQ!W6Ov?siyEU?$8^ zCxOeNwwYWQdrRvd9h%dQmwN*Ru3aBII|5v;b|=IgOZyZzucy~)#*Mc+K)v;kTBap2 z)M;SEnNGoKjhJkWR8u&dDwnDJNlb*3~!T>u)L9v3Ye0SsBT`J<#9LtO-N8-4RC zegHQgyEyc)mZAKBS``nH%nO0KQaaBMppo$B=5>$$^K2hy3RD)ViYv5cs7t_2TU{f$ zZCn%S{#9flT;}F=t-D+$IV1r5cth}u3CeE(H?LDA5hczASn)Z^yP=+;0=an|kD_{S z8%+R)K05K?);NX=;^uwxKYHbwh$qlF&2b>ckD;yrS2b94`?>=?_T(&hhstmjxWbpq z^+E}fKCL!YxW|m4u5t6)J4!=zkFE!vcgcu%_{UJeK*#95Uu_?OCvLaR|Cq~A*MX9S zSL(*^85=W1@W!nl40VH>_ch(pd#%C^;C4IbMW+H7Dg^i>>RsRgKA`o3*+pM4=1t(& z&bpQpcpTEptVGPNqSl3COvCWirGDssrA?#)vnM}ds4(DpujDWLjDY4%6%Ukr87dr@ zwe+-T7WPeP%V!NI6XF>v0-uO4L*uFgmZ7wz^2%AZvluE8IQe(VEgJ(MS36_D03O^e zyu4?B*zs#9EYdSw-1b-!!*VTNo+|=n}5>bMDy39H-ao=Gf0r z(cHW??{4ypq~f=b2N%Q5`+Tk5G+!PYpH!*aNWz<&3>C}GYfa2erwjvtkG7FXdxx9X z)T&0-k<=<*uj@PT;NpP$g1vZxGjOG*=i9OpM`zxEJGy#s}*Wg zOt5cCj_zEs|HuV~O62A>Csb()z4(MH#rHfO&YHwfN%-m7KI=HjC_z#>N656f3#>V* zYuHr^RGTFH>*63o-NT#rQZ+i8poK99MJ|p1jR$uhSlD%ON2?z&F=)fnIbRv-0bc$! zXmaZ}9B?GJf7{xz3GLQHTq#qvD`<2EaIs(EnmqJ2$++_V_UD z(Eni0t@BZ*u!XNv@`$spHjWE;`ZeC-``8Zv}Vxa0mw8VJ~mCntp zr{1hzmX^RZ5lh#J-&BQ4o59ViQ;S|&T#cULzxb4!S7~7%l)BLyxU%J0O==WFWpeZ0 zI7X;RoW|l3JJ^2GN#Z3#J>%w;r&Yht2tNySrw(e~(qyPCZeEU^PMx;@Laxb#toVjY z{FfLio13@8oHu`G<6&IspX9$^7o9*3*SKiOzTb*`9{B9;+jbt-4O+b zD&iXdyuSOU#i;iGT={})+~ZU*+|YpYrlk1O?(7)MkYeEIyeZdZvBOFpHq0B!TFOu* zT;tve6G{WV;LS_Mz4a7GeZ^3vz~D&79`!8X_bB7}YZDmiCD(XJXUWdKjhGBlGYd=3 zhTmtXGOqEkO4!-xdsl($)ud@RJBBLf8vn7JYqjRcVxV_%i*_q|unJ&d+giJfVPLWT z&n5NfLtX)$<2x3X;BiQ`jOd21MGbk4F?)>njLe$^{E(7RohZUkZ-7~Lvo!<9R!7$D z&-Z-<8LASv)+hU@)!3EUz0BkX6hl=3r+g81vqcG#s+T<-QuCXks=3C$BO`~Z3T6TG zzwbFT^C3gk0B4>4x1|P6lvH!lrRmcw7^)T@vo=6QI4~MGLY4W(#4uDH#uR(@%i#933Y3qUa4&N%j+6CMe&l#3NseFr1bYM|`g;Eu8<#b19V=UNrT;sp%^4(A0 z9xK!iytT5~Itvr^xINlYhW|3{AZJ`&vC+DyylDA-%(V>7Oru>#iaLF zS6o74X6w)xuZ_yk$~EqrertB+t$G|BX1bp9Z>eIa&$xBM9>KxYUy-pa6SS6ChTX7@ zYdrAOQ|rKK)Z}T&BX%nd9U1Bi*Z2p&+o6D6R$LQpbH1j%R+|~>E7v%iFG{{I)CM>s zec#7|HSuRb4Ld^Uw)~r z&$>M#T$7pY6K)^)g^{4fr85t?&AGhU(dbhbU#!z2F1%~woQ&g|NPXCzoj2Nvy3U@aq1cP zpDUHTU;o`Mg)V3inB#LyzXms1sY}Xn(?7KCL%`V6il-9Lu_)WGEm+&##!$b3uT+(y zFYp2fb_oOxUt_3YVD-8`FAA|ms+2wMbPSJVs6X6%B|-b_*^?gOE?HdpQDnS`q5cBp z2DV02p)H)0e4D=cE1982@bZ=);d76oCQnvruD#NXGr}nF+=_ScOCo`O>I?kdV2k_* z)Ttj_YWxw{Uh+p?cHzE=v!0#oeffwfW`=^8 zbDE<2b%vH;{mG+|jrZ5$T&FPcvrRCQ$^j`m#etzl?c);A>YJHn@jjafc@@VishVuqF*^Sr<)b=Lge$UWKWSj}5A@}&6z*C2c0u0?5TAB6OOZ``d zO~>9(3=D;`uPZ z&{J4{;^Pp1dnMWwd7a>x?@0~}t)}J?RY~L=4V~o7s zwbK0MIt)FP^^#oc@hO9!;WL684w;@}Xie5DUKxEA;va%*a6HbvILXjjtiSFm<~c2e zy;EL1Tu3{`mZ7Jy{_26~%zT%5aGuGN`CLsHTATIqoP!OPr}x7}m5aqIrZDt$)=P8c zy%ZEN&*i0+R+!$n$j~!be=+%^9`gY^uDs&Sqe;hQ8Cr++0@V!r?zI(gWd*H8}nVvF6Dz=a~LU9HL)dKT;Hg^FH|{g|Je-l&q| z&Z`Wq$9m@TLk(B9qEXZD=oJhQ3O;-u10_Y$X|5pB-nHvHO~C zZ4^O{+EL9<%KQv%!20>L+Y`pGxQC5)s39iFF_59>vwnr&G|+Ak&r$CE72%848VtRF z9si=$P$iEVo{L=KX;X#!e;L}4^%FlQA4wR%wjrm#<{|&9D26s-$9brK@tKY1ANVxR zWckgg8w*)acdiZlm~Dbn{m8X`k+)dyi&#(HF;QYZ7n`5#ldSP8;;%9EV%Fmp&C!o+ z$6h5HW+ydnYc)eJ8FS-?yOac9e#+W#XDmaTu>MTd<1k<*XIW&}OU`IDQ$ls>l72cA9 zSij#mar_q*MR?s35h06VhF;71abFpY9UpKXLWF?{tm(Cmg=6jQ& z?O2aJnIv5?EeJj@{IY;>14D0Q{gKDX?K61Mm~z~<=tfCxW#~<;KWT{AF}e<)mlNl{ z`appnL))|d*tNvwKujn6g=)mFA6OTgS${fv@Rm>DUie#e{?+#P7$x_kr%%e1K%J2Ylccr3F|-5g*-iK4gG3&|rw=#fKHy~7R^1%Bh97(rf! zc4ocaW^J)ic`|(VoXtkNQyAKXcr@=$sh3!%3M-ONJ5?@Z=v}NgXdN;s&CZ6e=Ht2P zWyH|C;m%uWSNt;#c~_4d{m1Jf+J3hHp3_n2Ble8FF0XsXE@hEXJb(4QJ46It;eELg z&v|CPx(Rhu{n&!XPCVF$_Y!}ne5mj89C(n|ll^7E484!|>d5(*vv$L;_E!B{FU-*H ztalByY&vNE4IZDBe(XBx$9~p3>mD!LP>#Byp6nDx^=2^i0pczpbAuD|;kmJ8L0QErOJ+!eusNWU(5V&dyLwgXfSuK_>g7jP6qr&m= zt~!Q3NXBvd+qOSd9PXr^R4ufIp*>meCgWHwsK?)Qe-Rr$;DlSuKTrS7x2xxVwJ1f5%zBr@7zGyJ#2Ol>4{PM2w+N zuzr*8$RCpgtSgxX(hk%uJkOJ?dv9B@#Yippf3Ei)b7Pk$`4n}P=80>M9f;+9x+N!O|(5Kn!FZfg@6pEaMN3PrJoG_K4&#)eH-F}|?v0w1#8~WC$ z;l7?_{c@vuXGiJ}cvZ;od^hx+KCB-Sv9z){p$9L^tep0$lr@cdq?Z4F4On(&Ny6hCa{w-K*cf-=0$r z?-g_@Xr~$a0_%w@J}y%0;K1w3cE?onG4w?;PTKSip-o6MWnL5s)jL`-v>)q_T$=_q zPS_5=b;M)wE*XaQhvPY4!asP<@jMPMrLz)o=HF7B72kM*p)a$qi;MKQo#j*u4~YAw zmN9{$16U7L{;eApiG5A_p6#n8eCTfjSr42c_opru>q`2yuZ@BzK6eo7KJq2yEv}OA z7PIx^uAt6e8FS+^S`#v1*iSMIVGC)hhY~wwLQ_7 z{&$=h)*nSS54$(+hnw8;(fjt6p=1A#uM~covmuC~?+{PlQdmek;rjKt^zve?*ErVi zy6m6o@ep-cdXw#uxz%`%@o>z$1pI?}*BWmk>9Dw+YocWn6Ti2ohoKYM*R{@h5ZwL< z=Oir$>XlqC=3Nr&EeD(@YZRNqcb+Tw>E6!JcUf;XouXEJ5cNW9&#R6b#n?~ovEFp` zj0t@J^F_;wCo3y@4nyB3{=I5;_^)*MQqJGIDT56CfQ%nn(j9DvzCg?H%1ELJ`hth7 z|Nq~o<#-9c&E5>149Dkqgn#fA4@sKeGq^E|Yciu@W`O5eoTF04UY9Q!w{P=`8WH%d z1@}cKV82Wy&OZrBHJ-a zZI2|ZVtsPUzDS0CN_&OAkfAMt#wId`x3Tb23A}Amd;Ex8u`A8Mutj zt}Yv#LyC!~r)b~&N^?!7CVt%^5wo44ONfVk<$3UE6WsbwZom{g$5Jx><)`1iBy@63 zH2#TCd@P5${gPbI6a41s;dAi9Irsl9bY$o<*2Q#>hV>X=y=g318xndE@3WkB(Q0A; zm^d-)=ZW>1xg}V)6|7Ha&OIZWiTR_xr$NGwgL(3bjPvuef8ot&_>^-W&YZi)(63n+ zmySHuIs^N=y7ZG&nc1kzZ^-oz-Z}|op%0tV@?&{>>qCaFBtFF^_=3Y{_&a*gcx4|$ zSFt{!Ma@R}=`Hw!GySj6cQAA{ar>)YEw69Fsk2k`kIrN08rDU-r;JPUdI4Xr;WD}m zeNZjyB8_~rHoq2zJ3Y>7|9p<2>xeT+hc493gfk%_ne-Wkt|u-#`N@#-Z211Pt)BH3 z4E>gM;lbE@*DbN%OtIb(-x`cM`;K+d`h=}=Cve`FA``0{@i>*C8;Ix3exUz#IeeV| z@xv~z4E>(CEnm!p{w?_G*>CRB5&l06-N?E~(c{+JGMKkhgam9J94ukz55&#pz0ah1 z;bMYQU1ZZ3`XlSYeG0>S0x=KOem&~-xogSLpUCx7=ws8p(O0N7j5ZmT;hfn-JnZW5 zd{=dNmB`22_E<;Ftc#ATI3$JNpVpq)y<}{h@Z|C=ee}^^ z$n_G^QrTkY-_-19-S)M_`u$3-ADL>hDdQ~M!mZ@}W7L^;;{VdhYi~V-&$Ya$;{BYV zzY)((o|!d%9eiQ2kXH92hVCG4E>^ze^4NV?)K;sjf&K40>q2)etIWD?!=+P>aJbCT5H3-# zx+5ouq5Fx4T?;R>ML#jQHTz-FHuQl5#BZ#+vcD}K9<^O!kx~Fd4-$7UNF66*2lssU z$80+Kl_BEm4b9GopWy zIIsGC9Ughb#6TR+U673PHE-i>eDBvp`KZlH%jGMP*OTkTH{aMIkNik^jotm08&1gU z$@RnO<|2BS=gQOb&hg#GdJ!T1O-Yrq!n{%zTPZ5^94<<{PGhcM7M_>V56ziV17;(y zC*HqGv-n^syk4xtJW3$A{GzDX%3qbOhX7xH@I$p#zeg-XGLa}qatqEC<@ zetBa}wT~M73?)3AA&+9^%D) zmS>%3uy4Ub$=ETUy09t<_f3I#_V)PAu7dE{(~o)Owjr-49@N!UXz>%Sz3SkGNth=} z#IL#Xc@}8E#h&wBxNsVIJ@M+j(~nH3hx6T-9U z-4o>X#Cs1e{(cGTPBB4iKbW{oy;0yJ_vJ~-rrxM@fap~Gr%o9bKbq6I^qp#2;K25BxQ}7RRnLoF0 zFEU2oqQ&|sQ+nyc3-q4~wI}vx*gCg`0U)_tYLhUQc|NTc6sFHE`p;!pJ2*k=GO7y6M{HuPJcDV8K{sEAsmP zjQ@J$HgO@iJ}u6lhWfvl_?7FbANGumuVePvXX-WN^~CRYUh#c|^NxbL!n1KVFi(~e z|2X-F=26Ty1;y&(!rn~e^~CQTUziqk9xfYxNw604#Dut?lY7p@D7etEgZXvV$m@x_ zN5mOFsezC47Z20LKD(T_&7_n~HDlw5FM1=cRDrynxL&Sg`Kvc@LBnaKS~ke*i3{=@ zwbmse-|UUNP+^aGWzPDakI$Y}^aR3NjUVV7;z3?dJi=l{z%lgC@)gA|q&8edUQc}W zAFBp;OL$G|m5O%sT`PziiFO#81jApSvWfP`b6-hZV4d`w2vK;|KJoAxoTn^VAFf-) z<9YS&*f^6eoV>z|yqG#69lM z>*L4#l($JV8jQsG!hyKodFS!vA@C)JJavELk=GO7zicUA^LDt_x44GoGm+O5*HMbi zPjwx0W8Q(qpODuRmrQ^7^OYlfO6>#z`99?J#6|at)20W~v8FpeV_$P4ZW>_~I&&NR*Zr%j&W9quC$1!CR#IIK|6X%l z-r5fNJ@N4>=It_=pPZ(Ra`8VguiRN5%uvlM3cm>d;_E)7j&-`9c)>FX{yyx3oR3q& z9)389{GRxeEe_6?u^u_K=N2gie?)#yJXCIhQ#9r$=k>qy4|la7zbAgQIH120TPeouUogP+GEarm2( zHxJUV9~~k-e&eC;F!WKJdYus7q&LX#Ss!TK^hIJk))A*p^?TlD)PWJr{HzmWX zB!>LuN08?e|D02nnSpxCd3`#e(mDruKJmc~d+$k>z{~Egqq(A5RdMJE9twf&Gq?ZECXeGxE@rWc-o3o{9}W z;aLlUMN|SA+M9TvOp?;RF@G{T|HUHsDdN8qj9)H%1%Gh6Hczksc|P&Bdzmw5-GbkJ zx+>J>4)T2B?>p#Y+%b<)bszMehCH8mQ=npc1nM~_wCQE;&GX3fi4W{LX&BNE51E&3 zaJm?IKI?V*PR={NGwULO;(CS2fzb@iuZ&PUMqicEwW2^NH(N`%Fvqgohc8 zpU$`-&nK=eo*yFF48PVpeCK01@_gcY{W{LVMeu<7&3dbbk>?Yi*8Z?l6a75rw59tc zze42s#3z+TXwAj`%kkXEM08?*^d~;suEVIu2u}Hbx+Z1H(3glG$=|j=8hskaV_RBI zb{_J5;@+nUEX>B{^ZutIuFeOM?-Sp4^@f%M`bo~-6SlK&VBG~0pQn|uVIKAi&aQU_ zoe53I_lXOLHcx2A{?2jj4?49u8Tmfz1MN$~0_85lcQ`EHd*=Z1ec}a^+Pcriz#T7k zim9RAUL$_zuA=MP2>5on;#V)QE`o^%nH1gb9;+wLZnIQ%@jkB;KjI_IM2NuMLL)Vw ziy_}9?#5JKamM+Sv;WpRpBSv`5aO$DCQv88!`*jkKRJhe@FsE7fZ30;Kf(9ZB%A#} z?i%`kuHUt<{Pm=C6*&fHyK`@WRX6f|;(J!A7jm89Tc!LDw4v{cAb!Tx zckm+m4bG;jCB5~D$oGj~n7_JhCi+;8%@2p!4cOOi5kJh`l;OP=zRKW{e2_Wved2RN z^?$Z1!Ivv$J`LE2e4n_$+K01`Be&$}cgJaz;&Vl_-k++o&)nfIe97NFODXi9F~nd0 zZLoZG6h3oBM$9zyjj_aE8V0S*z&Vkla%bC|6ZOdViDxMHjZXUj=SXa5S3$*s-cNj+z>Lkts7rFW+dIF#!@l!?_*%gYCuU87ryX_s80U(-pSVGzo5)7gVY#G` zE&HVfk@vIS_jmW}CpxC^M6HXuRq-%2eX_x2-qCAK;nD#h(!jpNoAVjrbGyXvb8eQh>&frnj@>EDje^^Ex8ngc=ZIM2$3 zBp*0fi}ACFdpt>+@)Pq)?uxbC@fX+^vWfe8rmBqHAMcUU53Prg{}XpkuQC1j7=C<(lgtFvjeO!8{c@8P7Qm^| z-hWk?Ck4cv+NA$nafiFjGu)|ckNltb(WAW@0{7sqLmW?S%!fka!G|N8rlW6{+j~be zW;^O_5%EOB?A*23zvT8c&kS0R`SyZ%s$zxi7cP9y%eOh6IKLMYfB3pYIISJ-EEtgO zh%JUS-z;14&rL&Fyi{@R8vCH`PUAaD0p_-4&hR%Kt1{}V6Boq8(}{h^#)+{-#H z`qeVxm4R6=x=}ynY;SEcN>D-mPrTulNSA>=eC?CvlTM&7svw>d*-p( zQsn={?{sH`s=kC<8(fMTsz&}#-0yn8f$Oqx^Pt;P?Jz&z5I^7+JCdsaU!t~SKnQid zlDJv;4#mZ&Z*p@NG-rZOOFW`1J_# zf8t+?)zrtM|B-E4^df#3>$HRQUqW|o*a}3zKP=5Ml8iw9Ph93^zSw~i zC-MJ&uIdZ+>))YnbP*q)c)?vG5Z9Lnn&4M#$p49tyL-lKF7Bu73%R>4OK=YQ!Fo?l z_jQ?Bm=FKG{wMJW$;r(#o8T{{pRQKLIiiPnh^)BxI-J*J^BWp(eZ;xr7x5sa0d3!> z@Mmi0rUjx;=q2tuwc5FA?0%+wedxaQDDr>er)T6`_=o2ud%ydJya)E9e&XIU)31xm z!Q=W*79r$q@Uxu$9(+C2oCzX z-^71rFaMG`c0aGI7`XLZ8~H!+;Z&ET{j1=YBs3iN;Pd_=K9WqyZ$v*Pd*-J1#|-q( ze~I^Iu3jG#3-@#hdKLB%`9JY@)xAB=W7qHhKKih*2Khhn)ZhE-&Wz2&e zi~OH>XHJIyCO(X#emM2xnYYOQi8sDF)%j+u4#+PnFR;ZvB}BZf=(fQn^h>hiuUjbW znTPzJ_=gG~mlCWynV-{7)$*-H{!cvjyRuT^Yk>7b6}a7VZ83`;pAYMaxVs8Y2HE?l*bodwnzbyHh40iuEY-oTGlO7P*QP@r+-5MITTHWb)rS z&U8pc{!jc%VNCKlOnec`{? z%M#Z+7W-=p>V`~u%OcmrE6D$e&pq;Ro4FPIPVY#a9@Y_uxQ_P?5wAP&^FbU7F%jhd z#5H`689l*sk)h*WmM8Zj|0h1_l8Zy@*ynY~JZEP92>CzjKYu@J%N|4yAmiXw=u(3I zUx|3n)6(v_XW+(fm4`K>k^hr%*!h+RpC7fTvQr89KXIO<(TUH;ey(Ou!S#0Zfs=?! zg&NK@Jp||ERa|NKjQpRB-}aw*A~VrvwEP(IF;#Lsf1HG8B-ZJ~e+u)@%WOyfPp+?g zXa8_Y4ZMBU*DGV+-%_0=O4fa$_gAZN|65(*B|1n;qicv_?#i4S=?;k8j1X$ z_3s6Jmo65j!;4Jhg9Roa|0g~>NM`msOq3;1?hA zf8q&K1!oU-!tW_h59g^u{!iSs-D!80IXpzY{lat9nOVdwe|qIiZ-8IW>P_z$k5>gV+pms!JCAtG>MSXy5Ptc^exE~JlA#UmIwJi z@f*eevKEeqdxhTlG5as_f8zTO>*#e&nSe|1QZ?RtbABWLC)XQWe0q=~1}|#yD4dO-%O&ozt5xO&&IQtWtABiO z-;Dg9_{ticru4(`Co>N2-u)8!KN>W4 zYvljL6&j_IIj`ZTvX}4lFF^j!`j-IhPqSZP-b#DlDhMn0LjF&Df#b-2&tN!h=;r5W ziu|ATwwlfyB}Wmshnrh+atrc*;#>B&gg2p{Nbfx!DN3O)TEqJ1;k1U8>&D)voAkXI zE$BmRhzC5_`%E+*zNLGee`)jm!wq(SkpHvZ(itOiqjo2JsqI|OG1S|w#4C@8uT-{x zFFrOp{0-~Kf%u5xEDa$|xItNnTE7MIe=@#PZLpJcEPT4%=aU=oKDQAMNwx6d+=6SF zT#6NKMgC7b=Zf;xvAjZh(vx2gd@_*#6VK`l`TjH-F7tEVA1?ZhovgR~{_si7&JKTJ zJi5)~P#XFoC*mhJoPHRB{Y9$lnXchd?6c0qO&spq8a#v7d{~sogZl5ndUH!U|5_dF zBT^aH{lKej4>h zDzj|)1s`?f|HMyU{5~@P`-N2Y&42Y-$Sd55H;!nhM%%#CXX(7JppgF)Z(pF;c@FhZ z>S5s8HBsY`{}X@Z|LSiE=7UtiMveZt*rzDsK6&f!`l2tAiv8jAX-hHkf8twWAB_Kj z^Se}}Pf+W=Bgp@W&(Ar~XpQr})V1W%%6Rm92U%~fy4&Aqi}fhQcnqi9#eU>TJovHN znZ7Le@#>rfh0l@y6F1u~v-u|0yA;(ZR@QHT{Gauv#!LQulhKb!9qJ3Z@V>9wRPZ zva?HT9Ng*b$@vDT|HoPXbTgpUbZ~6`IGH)#XYhVb5Z|dky=)QkbE%E$yGspZkpB~3 zv_mG_eQX}C^v_Hxo{0RP_%z)^!t_1(;?pWB6Q(2oXZ_>S#*E#wIq*dSYZccZ?>)`> z2ip`&w|`^rXQ`aD9-WE&pY_Hkf)gKVorKS<%uwY0g#4d)tkb>HWjGH?DOH*}#ZN~5 zPdxjB*XjjR;WGV6H;-IG{!hlATzf+L;@EtXK9l78d?WII;%h2T9vu673#kcBfkpd8 zkpGi$!Y`Xo*Q*=ze;tnB@!Zc7KR;j=?yCS8@!CVum~Xrd7E9Lb-xuGhFLk^htNjjk_u{)G7~`6KL` z-(Gv<|K$3Hs|_pG$-%#LNTdv)9}6NrM|xq`o=$knr!yrz$bYV|-tb1zP+R^sylL;5 z^hH>wSBW2OoMrGY99}i*EwOtV@_*Lf{fTaCNQ{IR7`56=#rVOjzm2OE(A7kpkxbt{ z$fqBS{Gavu3i;4lQ=A7SnFkNGC)k>+w|F8Y};)~iy>4{p)L z{E>9kwNJ59ME*}ad@yI>JLJHU8^x;>C;USGPu$e|_{qRp_zL6Cyt1{(|5<;t>+yO$ zCpOVB4ov0hji zEGoSN>r_&D-+Xfw>=)6j7sR;FTQT;3UrG23uC{;m4*5Up`Tq7LZJD?a66^dv@=ACj z|7Sht(&zZZrfqQZLw!SAa6Y=jdIsMC^)-Q8;FA{^el$aW8^?NDKuYY@c{F^7OjEZ- z1oD5@AKuIQlm8C&N80_=&i5{$E=lg$x}o?H=JNyAEj6U0jm*d9^A%f_nhCR!|Fa(5 z*RWSFY7P9Bn?Peu3i5x}Q^ucLpSa}&JSbeUx#R=#f7YKVYEA1zziuKKR`Npa0L~*R ztmkrjZgwW`gNJCIbD1&;`9JG9j@#W7bdJJP3#lz)%E49;oL}SbxEpkt%5AhB{z0zubL;2l9W`Uv8OSU|nkpclDI* zSv42=KkMaRouv)$8^L34s>RJjfAy60sy93a_aCFLkh-wn`dTsa@J!aL-_uoH`ODzZ zpJY-yYLNev>wmSxDlSTZ|7fT9u3bd_&w8a=fw_l1*0r?J^SI-O(9dME{yM{M(ch~W zN1FO~a`!6Kw;bZ5%ADG$_3#iMoj^6zrCio)Ocj;p+G5^HKQjEBJ$7EpW4)H%ukq>Y z0K8AmuYzwK@_*t>lul)<{KEOdMWxwm0R2?~8RxpDj!(})_`{QPLTNm&=d9Nq6Z8}2 z;=WD16a2*|=_T@iGS1GGv}npl_^W}tZ?4)R|7X3v(LMi8Db}Nmz_*pI$=LT_knzRG z9d=GZ?kA%aCT%$b`(QB{XZ~RcSNSoI21;|Fd4_ zxu5%c@DXyMX+o}Z!`qPmlX1M4=WkqwzFqdBO5R&h1?2za`c=CHKJkshOIGFje8&4M zXZ`IdzZX&=m_M>bS(YC9I>`TtYb^A*){CDjCw6{hha>94E8>S%^uK(M^M#yVnc;@> zD#-uI_--=~ry8AtFH^KA|AO<*8`f*Lom}H1$_qbq_u72-dgTAaizPj{dr_C)N#ueamqiqFCOm;3Z;#su%B z$p6Xs@2^d)`63T5I(N>_Xc+lF>orO@M77d3!UqE`?Rlhu{GatIwfRj$CTaNnBX4=p z`pMbI|5<;1VpeOW4dx+-|J={+>hs9|Sufw%t1u^{5w1q356TT8|7X3dx#CXa@>2N5 zt$$Q|q>%r!UZH(3Mua~b9(pieu?>AiBkPqKLY7VEu@7=;6=r?%K%e%3^_qjdY6+Kc zpE=zN<>n@%&U|FO?rCXix3CbtZ!_`G%O#I#K#_#tW^+$g3roJ-8Fy#NNzX?z{mgac|zC|kB*J&s6f8y<)SM;q= z-{gZ-SG0caME+04|1kH*{2fq#zOr5$&^a-<)eK%DdPyvoANfBSzt?-my9+Du{kp04NB6G4KKPCG z($xD`SFX7MUoEbyInxFCKkJ3f&j&7U8iwEBVRXz0_xU^PMdL+0O0J?GQxuJr{$gu@ z{Gat=ff+CNeLf9e@x1n{3Vv=E>y<}rlYC2G!ksRD&3$?e`9JIRCo>-$&O!gCcwpU> z3gv&u|58;dA3^@ldi9%WMivREV@gV?!Qr{H`&sj|(51h?+V3y z8zwHnqp>I7AKum`e(4zUu0O;F?I!P9nuNboI1-Yn)_n!}KXIOD>wtrJzN&9Ot$1Mj z9r-`;hg0Te_u#pxdD{H?bqddSl=U8ACwrT#>hS)b1{o9IBL64e!lz<&q6L31W3*#i zQCl_g|M6q_|1Tbe>DmrH@PuC1sHsW#{y%YPP3MV^M&R9=s;?wNk^ld{u5Pe-!eIy0 zA3oN5?!Mo9`RpA0ebcUg?#BvoUK>x`=BC+ja}YdCqa$Yv?k7JP$A0sgY#!_v>fO;w zMw77L39#O4-6(o}@nQTOmd=hq?_tbCLDu^x&x&;I#eCM7ak)TpC<^&M@!#R6T2oiS zC)vDL{eXQ?nDs%+nWtavLO-CfkSnuV9`#Cu_1`|bS4|nfIaFgoSt9SmIOPAV57+*- z5=&YDH(0YcO*|0!KkI+K4=u_4EC4r=dTOWPjr^bZ!5Y=oKdRsnS;Aji5|IBB&yJBh ze6AN>k?~sG^eggz;*(028yIiG->FGvtIm9d`zgu#uuTZ}Uidw@<*{vp=E&cqh)e7$ z{5#PAe#-rCdg}kLi#rdeYTy3=j&hSo%2<+(y|wKOrG#=qB%(rWNkylLQbZgiT$z#~ z4JgAULs3+k4AGHF8A>TdB9Wma>Xg&u_ulLCyZ3qS{cAtZtF?#L`hLHk&-eXUD-QWT z<9|0UHd}SX8~4Wvht;`OqJGU_d@MNM)a`i;e11rLgmN+RfATY~U*>a%;hx9m?>UC+ zB}@LE_kR6N)KgAIm+smhpOF7E{#`oGb%nY;{Mu!A2OW$PdGh9i-krtBqc|`2EsG7n zK2d@3pPRD7MP6ck<2*c+?6{>A`9I^oTsXNcuTft({Z6;}CypWiCm+vxm!P*9J|4~w zt{p}G&-nOI|6K1`_i&$}foK@j zT#82i4dnj<|5Hdo!ZFDn`yGwjDSjq=J>>u7>0T})?pU`q27_F(^KpJu7#B8un_YNS z1@~#nhFNKiV?V_rzu0=n?!^wcj{b{YE!0z0#wR#E2;3?y_}*W#wrU?Rp4G^!o?6ZF zl)>>vl51jCh$H_eAIsUn8_t05TqUd{KZ5+9@rm|^!<#um@Y5;#%;&B~{!f0i={ElS z8~()bywFSZQ5xh|Ld0I@qF>@lyC#?Y!w304`SHt{RiEy{kpiT8-a-EV-=EJtU-~3+ z&mi)D^5U!Z=kGV-_`%t?{eNO#z#|{g7LiCfhWlYfiep>TQ5WWsbGj6mXY6Up4MZoU zdLaL2e8ThApOZ~y;rQS3k1)@z&?djez22av1Gk@hOxw```9I?#`Jv_t)3F|EE~&Z1 ziY`a~&$w_|glx77=C7s!yVE4p2KhhZLJvJ_%uk_?Xj+8`cS>TPzJR>sU(T$-ICzY6 z=f=mi$p6U)y!;n<%ffGn9X#4T8Tmhb{hFp(qtWLtB42&n^PvmIo95$M z?h2b-$p6U?JXZ48!aUU+PaN9ZmyZ0O{NKNmClm3y^I#bAe{vVKRzoR#FHgf}bjtD~ zA51q?W8U%X7PgD~U|t(BE@IPH(eo1P3@>$pgLF6cze~u2*z@eY~gMk{@1ro$p0Cim~t}kg}W|%XY+ui z)=}jDjEinedD|0s6VCs1ty*wjo(bbp>IQQf^sM0;cg5`|OCbLzzjsexpW_UVD;rwh z(}et=@oApi87%XaaEo-#`ZHa~|KYfA+Z->rZ(C`!cjx_;otWQqBwksq#`U*g-lybo z=II*EYjAzxMq&MKGpsj#P$cWtv*e(m>u% zK0znG@Yf2=v)^V&>>( zHRH1^ck0@fh~rs=9+`=YE@7X#hK^S^vGj394x!}~w143+_F-!om(NvrP$vEde2I&P zhv2?FJI3XrSFY~qoQ~^n8t~~=`D^6;{x?lf**cQ z-^hN;Q`i@-BR9C+AXVtmHKpuJ-S z*k5WYeD6L}D1*QEC!aG|(Nu{2hvw2hOqMN1|KiN}^faGZJf|K$vrQyo&t~NPuUXMMr|^;YlUw~WyMFg~c+?$3`IN87`^imS=8@2Ai2 zo7!0U{WCm)|1IZ82l9UM&rcr3$z{Pk4}anZOC#^6&ylWj+B-`Q&QF&*Aa?+HKl$Qx zWpPsn#1X%I%x zQ8M1OAMWCz<*k8zum}0vq5S!h)#y8Vr!?w!BH!{P57J&`A-WvCIs5G7edv#Nk$*fA z(3oTj57KWkZZbpOPyQ?GLfa+OJ@w6p9gk)NAn#{<2ETN2^_xiaYvbaVC;Zroyq~=A z**v?$=u_05etk6WfdTS<@{gWrL9G(-LaSys?P}!xjLT@X+!<65c#^$LjkD(g=v>~DO@>$*xy^{`&5ttwWX^d9SjALFu< zgN1zx`{A2RdbNvxL*7rWBJbh1ZW>(A&%7)2GV*@%KtIWVRAabd*v+0;oaX@YVzKWm z8z;Dmq53k@P00Hhms^&%?M;FUeBr0I1pgn%`^oLwAMNtMx~ryschU(5oSz_au}NJ; zYB*lCxn0{icnEnv`IV6@pXN~bvw^S`e0${m54KOHaYHamDY3ErpgcCXbNc|W<*lII--Z{aTkDi&LMBJU@kcj?se zA9nECrEFDm^g+?&>s#^^zM{^s>ZBu^R8S9N$h{V|wCWVV%hifPc3}O9C10y9Y1mc+ zzch8W($Yrc{p6NY4?ZtxgXh--S8IjnMkOv-o>|a$j@3n(StH zx_{dim6yo-$)m(wMEcPmv5xn=sd!w7yq`SdY{P<^*q5;4?T2I!VZJ1i7mG9m8>7y% zVlQ4{y+B`nVfkN@_urYZE|~Uunw@oPP1>7EI{5*zI?YuujoPe z&JykB*XWNZsZ9bHqF}V^WM$840%6!!l74hS=i^X z?50)bNK8cDPo6qe&fn@4+@z?#CUiIQe)7BbgbtQq{<2mNMn`3yK;F;zOvBDgI|{|% zy6l!c8$yux)A46TY`5=5J^GJlkRNt;l;a7;kNT~cOf%H4O!6YHkSf2u@X0$wUrpMG zyr2Br)Tae=W?12FbfxMqQsKxT*VmBQBZQ^;m z-e%hd|pl|>GOj;z3XqGBZKB@~XjP{{b~a$95DcO$453D4GZ z-OnKJCwEG7m~v_->W<7NZjBzU*LgVlxC?keA1Cdl+q-AkKfCI1yE{X5-q(_sKWTES?dMb&Heg^V0OxI^_H0uF7l7-I1qo z&KLMT&pM8LpFH5kg&`eWf6f&Nqd^bsH!8`ueVf2MzkpM{CB#6GE8QdyF644M8*zMd z7Jq&c`lc%K_1p!|I`+Xw&bb}T{fc~_{6D|*ON!CqFyyVb$WzRt9~Yy~;{5y}oNgV6 ze4ji|`nrZ3)_cytN~4St^yxL^chZL2Z?(faeCztMt|Q+k@8Nom%1jh|FK@oQ)HLM# zj7tkwMjINT{%{8FdWu>YBHt(H^7yHWg7e@0x6#FpV&wbejxi!4Pwv25j{9cGXd&Mx z5AQkem4Mue^Wa8xv@7;kb>xL>+E1tE!0%c3UN(zCzE57NquZlC4_@|%`Np=N$oI*M zY>Yf>u^w;=b)y~&`tf@5ye-0smDopdPH!J8QAQuvK%TR^SJj{w{_pYJNFHCNtd@aw zl;ayX)_)H5q=`KEn{RUDINWF4^HN_e@_jhw%_F=B=FP?+U+a81%(rmke6@9H$n)ua zzILG@^YY=z9~~TLPDP$i9>{NJ3Hm>F&Yu(BWU-LvlgD{}kX(p$kX@1x^)EGe3wf%6 z_x&3d@Cu{nT74MrPs!8DCtVgiiJx6RC8ly$EAo8u%<+_NBa9dJGrnKqZ~*dr@~}A~ zh8KUp`#qzB|1w9OPrm!G^VUMlOZI#1uo{1?r!UAijJx?|r%x{fP@t zEg!6#k3RMtdEJKBK~mUfvGc!Fc25&ReotPmBIP!p`G3pgefWibb%?y+3A@=qFiy|E zv{xuZ9sEF^^5xBk0n96Q=0v9%*}ll{$>TPJXB^OgC#6<&e8>6tNFJKR*R?zik9l>r zw|gJ*d-AC6)%q5K>l5Lwlf4!F|0sEU1J|03K8hXnY&OqvIr4k>wr$Ak@v8lQQG<^Q delta 4921 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 Aj{pDw diff --git a/resources/groundobject_templates.p b/resources/groundobject_templates.p new file mode 100644 index 0000000000000000000000000000000000000000..df95b3a1f60698f3d947b7b624b4ed1b8b265dc9 GIT binary patch literal 3501 zcma*pc~BEq90%}l2#R=N6|~iE6>300E2tpVY{J=E6eK99RF{yDlq8#94wdTDsAz31 zp7m@!dWbEy-d4eCwqEt@q12f=(~7Ni>NuULcI+P=Yx~~Y7lCY;>HbB+?&p1fzxT`T zdczQ?)Meo+mCEEXS|J2M=){l;2vZ{nm%n${I*ibTo}w4*H4sr2fzK9ACYR9-k%lUR zE7c}A92R?ZRFP=0yQ83M;$rBAAWB^pg3p`>-Sefy*un?JDi!^r7NYa{Ol^biqDtkd zEQ`eFn2kae2B1ei{y+~8f}Uz~yJdTsBh3Wvji8U(jLD>iCi@(GX>`8k$Rl5hmtf`& zKuiaqF9V)J(2oM@<5j&LQb5XdHt{V=pnnG-mH}}H1`vR619$>l^C}Vy>;OE?fM*a4 zqQLOnh;HRxQiAW++S_VLnP6}S;8_N62%eJ@XwOe>rht^WY0{aSN?-^9$cB-<x#7k!CoymIUS5*NE(84+AfOFcJb{I-qDILQ+3BPH(G&=VaQkn83Bki zq2yBPI+o-Kf~)OZ2{ zg^8gRz$4HSss}zNo2(*hTp{R~myICj|9PIWFsz6cE94@`BSG`=#uN}f8vkRm#mYIX zg4-lIZSWG)Uq&#IcB1&k@%V!MBrUIBTyKx{%6syp69`@j3KcSF5`xJTnzC97KSd#_ zd^g;=Y4|^8(c?10OlDUgc$HS0o?QHE1KngPWkKD2t%})G zz4$s+PdtUQh|+G9wJ@6@0)k2!kRZF{N;@EJqij$hRSYpAFi|9}p&<7zMWk5i&e=SF zk~XATftVR$LGYT4+%4>Pkf*I0cdL019vk}0d@=>BRVKmdfEol=(kdHnmEGT}JnfVs zPH(ikL1eZA0nk>Bo;9}q6190Q`SN`Krps^I&G$mMu!4lY|1+~kSkVx${^ zhmy&4cdCYXY21vz!WvF`S=<`UzxX(WyFW)6Y%WvgA*hvu!HTU*<)YR1hU^`#4EDNG zna`932oO~gj!a+ph-Tq4HTgem^Ji)6|3am*h$&tKi;3d<^NP;Ws-i!`PLw4|WhqnY z5G*5#MEWvRR%l<86)h)9Z-1+^i#VOtVy_aajqnD;Rv>tjVu_)rZ;q#hNn?ImUJw-MA+D`oJSpR?p(eIGQJ;$MzDUnXjipUbMw ztkuj~gJ7*}Ia{_5qq%&K6Fl303$*a8lKY`atb}z4){{|v2aoCo{{pGxek<6kxNJPG z_y)d_EwBl}X1c(DvVq08D)N}pt}->=mK0&P5Gx8Vq7$4>!BFGkM!{Cbyo=yH%8ZDV z^w~5g&p(c8$z=V*SJ4C4yp1qD@uz&jiMN1r*#xTekarijQSA4M~sSlpy6q8aido*U81CR1u3q9F}o3bOpA-@yNt)T8uHlC z=4JTmc)3UI5`7YcX=KbE1fSA0ZLQ{Ms{?z)p2H6Mr2P!RUb36}@NVu8TCWxkuoVs> zI7EZ;o0i*ja?p@y+kH2ymv6gKANB{GCOT_eX3@cE;Rs_sM{txfQRU%H@syEt8T)1i zsrOhXiJBPIjNmw>ILE4u%e}O9Ve{`*j8rE2q7&)_qfR35Q7ZjVW6UoSr9yL(cl+m} zU2zhjV(_-)T8##`(_-LgFS$x_9(>8TQwUBIjwij+w$j;X->WB^igzOte=rFKx9F^e zGYHO-{WypB<14ZbdE3w%4Q39%H&t5fMmWz_xPagy4V)7;=rF!9lCep+YB{h&S^Fgd zk+&iWndR3&EnH^O6$D??tl2;QjzI3B=5kVDkS=}`T>6$t-yygvOUF*+IaM@M{N@c2 df-=*!;8F{dzDIDKN^R9iq`IAflF{W!{SRtY2>Sp4 literal 0 HcmV?d00001 diff --git a/resources/gulflandmap.p b/resources/gulflandmap.p index d64c975adfff8e3180c37e28e64aab525ded94b0..98566550f28941ee7e8a4d611a0d0a229ac2c7f2 100644 GIT binary patch delta 10902 zcmY+KcU;cV8}}R9MuT=CDTe!bq;8Q-(6bDht1dkpfYmI%ZNxN!I4jY52U>U;5~u^+^f zx|wn8Po5>>{PN74UbIz-;LTt_JjwZifp6?KAx`hX?GxNStsr;{<>MRHzmsX0hd5sz z)Zh2d`9$#6|K%TLl{+eo_Y=I0a*4*kp*Q2h5T~Y8&cVus+eGkoY7jp>cTjrVB*dwD zxU*4hs|mq|l#6xQRs|G4MV$PDeMNE+w+J?(T;yZ!7Z=AC)C z&7JOu!wYy9t5eM(cn9SI{}Nv1Obtbxq-CT13qyhkHUZ8>Ji%SU($-rhBPR0l-jU8J z?+G?#D=<~F#|bJTCaWmcyD=6zHe>nX+&4dDv=I|~S7WC9!g~apQ_im=*B@sffH?6- zzt(OmolNjf%K6-+7a#rLi#Q>|vg@Tv8wj=-#M(`x(dRuxb19?FL|IdI(%97l}N9e+{r zcbx=VvgHl4UF;NY!v{489sbnoLhxS7fB(DU_Ciq%aWdU&xGU~7Y7lHi4MXnV$n7W@ z#L2QsS~^#KAHmj?4+Ng^o7LrkIB{wQr_%R?5xkG`A9ZE-lnYiPPV#&k^K=_Mg7;J2 z*CqPEUc3`=66gkl z>r-8{l@AbnnDT+aoeG-`z9S~VDKK-|)!J${NZ| z6uiVPAST0B{d4@Ea)OUhK9pj1{LsTT#3T;xIho?0NAPjVe{Y#mGSvvmhdwTzZh8o2 z?gY!def*Zk4sa-uCSO|S7L_%z#4_-x&|#(NQyThLAXC3*<9r~J?Mm$_Y6 zG@*R4oUJAiBp9>&fR~?xLpfqfmbbj0(=~xh@EO)Hfch5AK8Tpongb`xz8)s{Eam@B z{<`RY{SIPYx2zBwb%A5)K=}w~hwIN3zY+7sOPBk_5RQ{0%kMk6>Q_8R%v%fWY}m7% z;B%CZy3`MQWUmJ9f6eLLpMM0OALCqRG^*QK!^aK`$`;NAP1gx_8Z+?tHnsV}jk-^6w`2KDY-XE{ir(6_}Pvush4ou3m9uk`>I*y7h~0 zztkc463emP0^7eWh^cNC?Bo8q&`q!hYZw?ccouDsm|A|m1XW%U!IvrL=VrS9x+a5| z8sDYT%_Xp8o|Fp&rw6!+y+O>o$K~Hd6892JC>K0xvPMIDH}F(RuMlhaP%p}b4xCpt z&5J@zWBK@Z58^Wkz9PgOn`+_wv{$;iu=XDxO-;Kn;6(6MT0u13pxsWT7cmX5q=sxz z2f^NyO9ZxrY0S)u^F0LLU=0yL)_m(j5GR{|$JxbwN(A3zd9>O~ z+u$6;8Pw|-So!%k!MA|h?8UzDqmGzf#RVcpAIA2EYK@j%%{7Ak#_BOWXEOAXsxHA& zq<_>{-~X84+mv@Hb6tAVog)xaX=Asc{`@3@{i&hz*0rXhJ$=A;r`KiA=ps0P@^*jy zyrtW~QB^*9+;s6&62W&U|2AZBL-zjS}=w7 zbND3q-3Sh%y!ri+7U5eJh$*@(8{#(w?u1~E@rsmyrC|g=r2Ml~nb*mUMKE<_&q#*RRDwe( zZx}R{&W!yDQ~l`-|DN=4f*(;{A6=;37@Y?^@yYt`5_ov(-~9>=Y&7x+tXEakZ=LJsZ2aHO+O{Z{@2*!05#2EiZxcEi1!{BUclgK+iuX z;Yy!~sq|6A#4F9M$}s_-ok%OZI{sZH{t2vQZ2oStqz+td66Mbe^&9&Fz#&E6Nj`EQ zON-!S%ENXV-?h$cM$8la)ZM>qJPCe9`TzT%P_tutkNJS7P);U!ahDocZ2%Yi

H` z37amJ8iF1O4&N+yM2x>~i%#O)_XMX=9^&{^eDJ0rVo2Q*;c*A16P!-DPfpEF=_Y=} zcKr-sL$CG{F3zQfS4E!j4eI=e<2GPr zJlp`jKacW^TUwXb`}rfzzIT5#SM3@gIG=JxBJNtoBbW)dw0piAyblswz;aXaDqk|3&gSa+WbpR5cWhV%lWmp^vUER&W#6t2lzs+ z5?n@k{)9*FKHjqt$4^}Nb@@7QXs;K&X$VeL(e=g;KL~z9c~Sh2 z$RAGL!2RA-J$(zBxJS_-X_a$aGak&tMR#QXqh1SsB%TypN{t~iK?qeju zZ&_|s+xsah8*!M{q))51z&&0=c}ZuYeQ9C|JT$i5&@nJRMQ|A5FZzIY1xd`XTBC)L7bd)gYA6ZVZ`rgg)+&R zYo@7GAWrVW_sTbH)CjJpyzrSO8neXGqrN)!B%^3tfC=egqb;$XN^dP%EuC&7(ug>!wvI{RVM6{<+N z%Kz9*@F&V&uXS_H3xL=n7t*qmE~&+L_Tzf!UxTdBjM)Y>Ate)+yYpcQ zzENHnr!^?Op82mC<+f2n!PSMP=Pu6#Lv_}4zRDQ{w^N>f;lh=kIuDp3p=YgPcVTHd zD9?NLWjNn(2+FrifBU2!9xR=d=eqn{nsLP*mge`e(?|556a1a>oHcSr25CCL9TlqA ze1{qBV#{+Eo;OG{Pl3(#o%vJn-HhOF*3iD}rf9`2;3C`9nVsNRdMMA^(|7)w;yJ`g zGk4z7Ht>PqUbX{U?Wl>bs}bjgsECEkv_XRVDCe!)+4Ir@Iu5-*t@X>+rv&#?&IsD- zacesemlNol{(YsA9Kk=RAxo@uc<*PZ5HMFgcUHPQ!9OWabGX|eauU}5p?dPx)ci99 z4^W=srDj$cF$rlz-D&j<4UGCfT7pCYp<#B5IXWjP7Ax>oCR?|*CRf2~pj|@>+ znb+WgIM=k~>!v?YyZgp3|l9}*d!W(J{7NGq0 zPfPua+?gSW^D3)vD6+DZU_ojK9ZWYJKlmCtuG4biKLVG~ILdtoEL?`?Wg$-3wFUa- zlUETeM7hl>ujSh74Zvegv9;_d7)d>WTr`%?js$ZGRM%dJgpH}tN zZ6$aDcg(;98{Bz3Q_vlRhguoC4p z3oCyeGx7s|@^6f-7{mw4l-Jhl%uP180RFyWe^GKQmtYlYs4Lmin5_+rcz$tuKPPET@q$u8PCnf5aNbulsDKLUC@$+r7Tdo zm}n6yO7L{bKQwMU{(f>Zw4<=Z;PpQUV%5etm#LQu@UA`Z7)I`Nz}q3_A0pAHTjw5Kckwg7g0bAtKUbD?BmW=zKN- zaZ<>k_d@F;2wupRf7G(g<|4S*Braa%at{mt|H!7+&Ig;<{8S!7Ew5P^)?3R(NVXcv>Df1QnJOiX0uIJMkdExsBUd>hrC_gcwumi&6*e_lup2BllkMd5Xe|KV@=!4)m zKSZlu3ZmXMEbmeu$=n1lq!*TvR>g`72XRdBDb zXL*o$smdK^#5|n+eA=Sl5Ud)oe1xB0%vKgL5iZ9Td-5Ps+CX`?fq2JpcM!Yce9UED z>I4ytDChP{Sk+{m9Ft59b~kMEf+^Za4L!f+iGOkeeJ|PZt=5v$umqbZ?{#^v)g$)< z1j;;zd5`l$AwR(K#kHy)v*8t-^QbWMf&j!5TiABurcb|MJ@(p_N$5x^bA z8?t0DHoS84%X1TFOeJf5kBbW^vz1g!Nr=ey!L9!`q(G%j+eGI33&$hx9R_uFTPs;sRO}? z%_#5AH9OHH^d2OZW$q?hK0@$mPI<4)x(luO@t}bC46SQbErtAmFvS0$URi)$9qFs$ zv^JAqYs8ZXn)+1J{U_uD#wzM7Z$5W$t&$+(iQ$IX%A=i-51?G}l>hE>PAB4tI0bg4 zZ#)k90Lm5C_S<&_4Fiw5r+Zu~81ey>%l(uzysG*dc;c>YcgOidK7gKoeK|qRg3CI) z5KpK>c7Lm^0ptT{g(*fS_%-HlN4#;Plbao9|Au@3<¬MH~OLOgz}@?T$f9)NrR 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 QIe)An8ynE?;aBtj0Q1f{pa1{> delta 11 ScmdmaimCY<;|8W`Mm+!@i3p1j(IPsF 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

|H+BY>>|IBLOmffR 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 literal 26840 zcmZU51yq$?u=b%tN<7p73F(mT?r!OpPU-HJ?nXML8|geqm$Y&_Dnr03HAU5CTXoH-pW^0RV(OH~`$!cdX3p?aiz|9emNY$772v zKf0&JZn`9l7WdFef29%I8d^mfC_I|3-Upj2QZExk!73M5ty)v{c(24FQ9MV(3PMoI zF5xn90@n;b0G7TA^U@)TdvLb5@n&k{-(~tAJ#07oZ|S!4q{%%lZ=YSCpC`@jZinq& z)I6F$&OYp3B0t{VcP>9T(YJE*B;PMx95!2XeEBJ@%I9{QgcU~@#@BHrMfYIAnL?+d zjE;Y|nl!gLJhw)7d0W2Re*dMJpfx4)ar{0vE-tMgP3nv5@1O*_`*NQH)|R>R zSBJ|j=htzgGi)_-xLywr!%~@#_h*~^L78oyd#5IJWZsrHbG@2L3p~x-JaVtCuc4xD z9v_Su+pj$mNV;c6ON(MIwNZJ;9myA$xOM$kZq9mTu3DLI@2|qn26sQSH|x~*9W4sC zv9Q^mzam&3l3SD?uh95brSfp2oJ3mo$(SuJtheI(X3>MqNy>%h{azV`6ctN1RoFSj za=KISk!Q~m%yD7AcRM@ZH&@4!EPLmMW$V%MR8_vwLcR=LX|$-@54T?hQQ%S->H$x*hmEjZQnN@9GjM>lVR@;loL%pLP3NvsjN3hS**xlhKL zQ>U9MWy~&@t8Sc+_RRqg(*;v{X~U1HLvm3KRpU_$mxckOZMGW&nJW5+yyzxZW!{|O zM@#lsA?*cmX*EWk_*rYig>x6mXWP3c!$~E(>l+s{*G7g~89!YpH;qqqb!D1iTGn^Y zuF0yLul%Ftvx7bb|N7J?7e>uyDs||6T70{I$w>R=VRNIq_x$(O9KoW{`8`2K%RbvM z;PJ%HZ4pPZo#*!K?&hxhy7zjx>``IsmR#NOGP<*(Fm7+oXrr$%v%KI;BCYf={70Ow z_oL%r`t;A;zQK_`NxIYW;;(W#zYno2w_?vVUT!_-&qe;r0w$++f^-uBFhHSxjQP-EPvS z;H=!yGt`L1*2e-kt8dK_^RUj#ViAa$aupvwk&+TDO3R7cvgyf{TjK^r@ws@hWM*hB zYVkHns8&pCQ#XrFR7Swjbhudi-JockjM? zxoczHz;}uPsA%#&Hk@BFd2IUfVQgBG+E2J59Cew`bmog@!-$kG2+$gn)$V<+{OEjA z-%eQ(&v3xS)0o9+LX8=5bBMo0j#YBp_HzWz^|}}r2J_=Lx0tE5g3bh0+i~2Q)30q) zA2*e2I0fJ9)P-G@dsS$*u$8v_!a7o>t_WIaw%b&W4omuYu_1^SF)!cx&G)7p)`EPFb~e zC(rAgv;kr_1JAEL0zmnJJdBlM2ZRo23W8o{c}KC#@ou*KH3X*^^dt+R&jAR{a@z$^ zV9zaIZO`pAcBazf~U0ypo30!P>!>_0Nj?~DSwXyAL(HVYhIyX|n^f?ITC zqL^`H(=+knfBG-$s0r6_W-+U3?~~7%E7wjT)Mmd#_9mYDqn^H-CnI0Gxh{9=!`1s7 z9*e@z2i|+TmeW21m&=~o@#b2yTxV^*#~a#~D6$!XOiS=-TI9vd7ESAV@K%P}Eyk5K zJGeZmJuRdB{(NycYU+dHT{KxQY7|6Kn)jN053(Pd>Ag`?N?D7M(JNX1!_$OE&tO}K zjbFGbxyO4)<;**Fr`sn}`*-8^IXmgwr*H(G+pPi`@Td2=lq;i2Y-e=15`d_sANOFc zTpOQ)bAkfnMXz1b zGURB<3vItt=1QbGT(g=@da!<*TUpzU6va`@-G`01xjNt2Us*i=bru|U7H7I3Ew(_j z3+{4R(2=I&li4E3ji`PbVHYo&;*#c-PDjS7FJt#s=9J_MYhw_fjL8`vYh#s%ST1C~ z0&bnzgPGkm>3qT1c!4IGgo?R;$<;46-V~jlV7a*|s`*A*Hq)u$jd$fh2jpM;xKqk4 z3Ka|F2)MOhEtKFUD$CiTe;w@W+qr_Qm1jCo@?x~DZ8TdmJ=-|Ae&1U1E)udhBOmdD zmb+o!H>alSf){?UltP(l&ESS3A3dgK$g-I#&orXs`Mzastcx5efU77x2(WMu)9y=~ zVF5##MK2R#;d^Fyr+-3=)HdLbhIM^w{iDJ=imk}PN3|Bh%OBP=U2eXPK>>IGTEVdL zScX*!&Czi<{Gd#F02-;D$H^;04 z;&6!-+cIx2n~!*Pb)7|L{PDR%;3A^gw%o>M=?9lfE)L>a&;A zgw_e4v9syrerDYDx#i`xo7)!~gtX@0mUb*WI;k_69?~~=4FKL$tpd;5DUQ`H;H%}k z-|qDHZddVNwO5^|ct3E0qe+DH*N8-xB+q{?t}b7Yv1qSBPCQ)huic%lr!9N8XE@Qi zx!>3q4(HFFzmb?(K|t*a?+Qnc;x>bZ-6P?>NUkywHPcsR-;1AuNKtSz0UC$aY$b%{vy{bt1|BP57&SS>zdEG}SS7ck~F4(U9(11xSE zvvEz~;t-R;b_!T7fG|&U$o&^0_j-$+hMLtp*|FlngR60HQq>)M+H(4%mlxx=_gk^u z%xsf!>jG1D>XbgyH z)(7~w(TPl>4$_lE_VBug@H@hxD2)t|Q?nG|%fTDr%+m;#;UTXgXErWTneON*VHsx* zHjpq357YR!u)CN@?SR|CA4yt`xs@bk#aQ^s)Lom_VB*Um7-=CH+k%6oSE>}IxGFHH zwvs)QC1dwl_6d6G1?7r1t#_|slkeY&%ORe?^0`*>h z#O|*E_3y`~M}Cc#{(9=rD@CE5ANeIb8;O2^ejuJ7XA&033?VVAs|0IQirKVyM1f-j z%a2ozQ?p2sD?uR?wsuD!PO8>?MiE!=$0${S6g3$g`EbT?MiF_@VlZwkk@}`YtP@&* zGLdOon`*iQS&E?x#;{XdcyF2Xt`b3@XLx1VeV~0*Dc5MQZ7=i^y_%DnbK^bF`X&b7Lqb~JwVx}%=~?>v|jw2c{~Dh zJdud47q%#RY2cz*3d!bfXp(#r;y{l%z~3nTV|>3D&L)Kan2HqASFrjtM2pyJ%Zb2s z2gM}Y0Cum44_ik{L)@0}4g0mPI5Qu9o4dOWb1R8z8bhd(6<9uWSiaBajxaLMgxnb~ zKrx|^T1Rk~iV#Rmh!iRCS)d3W9)?uw3>E&fBmZ}pRl(zFmtn#mT<|Am@VNjYJYayh z0lybo-vrYkFFfgAv-l}ge6YFw(fs98aEN9C^xbz`OCSYhq#LM@!ml!-HV+8`nEl7F z`NdJWh=p;WPW{;vGY;^F;PWY7V0ohV#)kY$4@4nhE$>i*B%+MJR5TxC61?}1{)h&G zf=~Hq5iF&#K!-J`ABIaJCnbBHVzS8DP+9t ztt25dWUY!0C2aPC00ljK1VlhrC6i!010mmM;$4o8|BKnYx*4xkm_QLfk8l`%Kq4N5{Z_K{kXFxN_$v8=}ozE#9_gBWpR5dG8qZG4b zGeml1pC5v-6&@-g_- z?aPB}kQBFd7gOEL-mHKW_vFhKZZFcEr2ow?5ZP)WCcUH?I01;hXoz7t4O_*C@Gz8t zswfape5Jn#0vdbHD4sm`)ypmz?9LrR{BOryQ@0Hs@C1PST1P&nJ{zeQ7KfD2HMvN3U6MO;$(GN%&1M$4F zbFI?%hZtj;7%rXmkAyv>8DbEE{)sLH5fIk`cv7Ryx@#OVPp1%Rd^x0G75eD+XPXCn zqD4Q}O|*SGO;C}t_4dVR(=qhX+Gp1@*mb><;x7E3XkWwm*7M}HL}-jT zC!_-I>L$L?r~=s5ol?DoKltEnL$(!sqVJ z(MJ>X#UMp6u8&ppc&H!*PW+8u8Xz@A#O5nWse(+;ECQRaJhr2_1f?Y>*hAQh!tLkv z2nNL|UT%d1hBqN&qrv@R?{4s9X!&Bz;1GTYB0rUlVVjC>7bf5G(__D~Xs@HstE|SW zwVIp{Q4Ucu%LM!YQrs;x+ zFVbtm(qr@f6WwX3-KNKgD9k+K4mYbu_+ijXKFmqS1!3fMRyKTHmK`K1Y*?y^>P;c$ z=nwSl#62fuqzn1;Te9fY-nf-O%;&>js`4C?t$()&eIW0}Sy<#n`y}!AcqQ@Kl0;w( zO2;KNMN>TaaY80EAVf9c+64Oz0zqFeCE?&@ESUz*BN??;jNhbxOUb~KD`IE*uUvB_ zLvsmwF4wU8tH}ywW%Omgb}<$Imj#q*r@sal#H8Q*Bhf!s3IGH{Q-ySbpepD+Mt(Aex5|Pk z%>SL%RB#rHa04##$nRhs+?Zqyl3KrxRf<-! z)@eTs2_kenz7dZT!gQ|K;2Zk;npa7FbBaz?Bu?3Z)?Rlar(ZvC$a)@q-4(2zEKmCqhwQ0#onA31O@Yq-4i4-gBiS*=uNSFT)DNO~fZsH80 zjgF>4cr4j*Oq6@gB}`xvY}#ufWg=`i!t@JxuqIh@8v@yJ`7i8F%f6T>0d&=F`7RDV zeBzYp$p%&O?R-h;f2HKp8HAuq>|W$v_!{E9BxTtu^0a#=^FfXab!iu2$$kZFVeRW# zW&q7h$Zn=-bjgwxKZ`Z_({W^b3Ke7F#qDu*xnk-jv5nJ}9r;6kB(hgL5;>KQ0vKq23)DYtkqlg;VJsU}5S0>>a2d*d}5bSXRxeTEv$}|)XVa$wd zEMArVHoS_)!a378Hh}z474G2L}Bp^xpZL#$m?l8pzi1EC?CD>;&l^-*vWFWHCcftm>fcN8rl7l9| z&s$DRK9Q~k&Kb5(J=Y43*gB3Rg-M@2O<(F_VG8iYX2iiB#9L4|O*hSl0HacLeEIBR zCbl<%nx6z*NnI&z9%{~Pj2-4n%?`cJxAubQZ>}*oR=n`ZkD!&WVjn^65m$t{DYyJq))-s# zlD{Al)vRBy&)Wg7%s@oE=j)EHG5y)Da#sH7ixbg-( zU7sMjyk}l&p~D=%I2nkh{Qj%7hk6k2Q%?iE@}otw5tcY6@7OXOTgjQ%dElAH?mp~E z#xW33Ccl4H7 z36>b5gZ8SLhn-`GWFBzUG++fw(H{_77uF>OUFUmyjStbi_A0hlgAf_%^kpL+x_B2oDY_oEU{)<#=T$gmI3=_6$p}0~yd&pt&UExtSf8^IbKW~!fNa$e zrRD%-Vh?34U?i$ToK>XGKP$H2Kf%a4CCPsTuLammGd~7!=IJNULm=mTkfyqi3pG%j zQ&hASR?LRB@qz|d7tcv3N{pwL+ag$%L`#;|my3{LkYT(lRs-Va*Xjgu=K0MEx7%g` zt#Lp;O5AY+iLs%DF^H5tXTKLb=g6<|%SqsHwqQPte7uNYs>ILK~cW~C2{BX8figm0+S z*oRrf)fHH12`*6mL@$Z5xGjo$wIY;DZ%+Pxrf>08C!XV&YcnT%9m0>>_GgewIaE9MtU=?MOM&JHaWgIG%}g68i@vCjwI zjsDv2uPN3OU?&~VE~{L^@~dNoCvL5gbt_0&GJ_?R+q2|nu0!RW-{EwW-p7`3%M-zc zIqi1w^qY?L`o(X@S>h-7?+gWoCLGjdD125Zf=4u?!!w0bx#gq?AoQErDcxExh2tmE z1A<@>JF_T+K~F5$6SEc%bLC@S`g@o_eNt~LJ)l02%1=-h!J;lO4+fT0LEP7rN5Ovd z#4HvnD_Z}VyjVctGc)2wuq}yz|4&b#q+&+73qpQLmV9YJWn8#mxS)~z_Yg9ai1XbN ztAVU&*z7#P(Ktb&Xf#HI2)_UuHS`=L$T@|lQnnF}F#a94`Z2oT%nBhEwZ^^=$7hZr zc)0A>^S;4oRPTX|0<(IRA)>tI9|34pM;D^nCx(b2{X}b2>I{yh!K#1L;quT_x~~5DCsRDA_F3ZKsH$x z9{;+OWqzO_I<(6H10Z({K+&V@3-%Rsk_WzvfV}>QCov{@z>D~=WtOK1Y&|6KzRdmy43>Jb~&X7^z?iq}YHJA)26wCIDAKTR9N~{!8{0Kx&Kw zq+GOI`PV={aDsSnQGAKNppT$rMc!q&;1l2`&wyY51Dr1!LR7O&K}iUC=k9a( z=6rhWct}by;#3~h%S@z*Ooeeii4MmKhP|SUK~&-mL@>vWo4ga}M;Koh2)FgLOQ!r2Ynj?KQy#h^0IhESuReS4$;#J z@~tlF}{pvA8HeB2vFj6@0LmmuztF5Rh_L1IE;643*juSV3s1C;g10IZjJ zwyXnYK`Bcg!GP`|mF{o|&`|UmJ0F?><@5pX(7(Z$9+^u09BvR!PzpNzdLGu2<`Ln& z+BhSI* zh71fF2pZm?&V}EC8NR8TI*#>;CdfEK5Npm&m?Mk+#Oow%~D_ zAYk9MFZN)SF{%xjgj>@FXQx&L3fN_L=Bwn2%H_w!sB+F4b@i7OQxTRVVE-IYq zejN#`c+M{Uq!xqerS5qu#G;tYCMHSgh#ZmA5vn-5Aly1|%z&w5u{m?{+TfJ&^>9dP z5hgWu9CN&4J%0hpmMabFLC1jGLYzT3t51S2gY^Vcym^cQSD0_1$)&$Z7SFe7&TR*HmJC)L@_ekF zbh`{+WB9C9rW{s?)L$mT>Jx2b`cE^Z^&4pm5@UK9eVwoV%>M>J1tC+ADBq>Kr9T9i z)xKurHwefp>t+TBQd;FF-F-I$6pRls=jwrE3_yx6W2yN?lhl7{aI!}d5^nf~I2=<0 zb{W&9sFRu1h1x^DjVCcMrNFy@;Sagcf8;^`hnxxuuKStXI79T6nY8=Q)(S8)0JBah z_6QpPD8s z^~1wq5+J>vY$n>t9NCx=gg$b8f<0Jkj58@KHfeXmCsh zORUz3B6LVI0VZ9HQx)hV3K@_opYBu`63y-pnPmPZ(LghOWq*H@f{z81UCfvw7HBOc zLd?^M+oi%GEvd$U90Y0RT*6d-Vvyidk6=JDNHy!3Au;yS%Z*8wn%cliGf6WUsZ10F z^6)b!7@L-2u6!ByH8F)88jrkZ%vB;#^kE;f8p6V>&Vprl!( zSwxD!zGD!rj-X%iGV)!uqA;(M&2I`py-G}oUlo|Y5(PekZTEg)vGCtMqfGI~n>U8j ze~`)EWEO2CE6=O28~C7UGXP%_uB39RatKirGzcH%Z~oaRKw>qWAgW5M8O|sm?q$fs zsg#?e)EyX*Vt!f-);NgAQo)_lxMB0?{@#AWZ#~rYqm1&%*iDyZk&tI>Z@&;gPh5`<_Pt||+}wFfH=R`aVpuj&_=Nm5dJmzzLG-K^ z*0)to%7W~wNi#4#>EH{UQ4$H#!% zekjo{oZJqH^iSojeUEP=9r{wy1sh1m8_?Jz*-IltRzU=^$l@AM4fnaw#n)&E-IUvJ zB|AhS3^8a9F!=T`yfh3>ER|^{71ybnPJrDH0rou3`q!G2f~g~!;@ zGbmT13_6T`mgIdd5*yf(fBKx}UpyFx}%057ZfjC4ufp69RFQ-g{znPp9Z#@_9&0m|b^hmISp9JRsm#9N@ z;I^J#f;TV|D!f{{$E{W)Nr>d{aQOT6Oz?pW}=Q`aMOp~ja`$EZD5Km z6ta8=2;ZEpyamR+;>zl+g^{!|Bo2058D^huUCGzI2PtL$N?3;h20nsxvJl`Fu;)Uogx0Y zrBrjeaPMIFTSUH%48c5uq1_t9``}}c2Wt{w?WX{voe!U37giS5sZs3W_$2#{PgLqp zAEVT?-BHvyZ@JI>XIpn`S*-*MxbaA=zKSwIpz&)W9Ek?6nUem$MU!I(nZ_bkV-uaf z%l!T_iee>P<@(=qn<@+oK}SiQJD7C`%9wMNmH#vshGxz{)n^#X_7(|HJTm@NTg zjzwe|dsvOrbRT38z6uC0)AnC+n&Ieo?xtpy$xpMYz`0xx0o44%SqwTsl2th7!rQ@y zG>eCBRVhj@BR`Z`;jl+YtVg3tN=Q~%dDHl5|58ZSop7w-3iovqtjD(iOJ@IJwGPp^ zjv&lu<)s>&wmbjTFi@=H<{hCW5KOZh{t-?Gu4P>s%e)I^HeVqEveGd+)r-?a>1WST zS%W%_Y4n7O#DpSu?xMr<7v9o|$GxNzRR~;+_o$_f-1N`(n?1ZIYy>Q+s_EtCDP;wS z#CKBZRqhg4(mbmGj(t(#8}FhD>kC{O^MCS7kf_TUpX9G80R7G) zRBgbxflmg+!xGn`no6(y@__O|R^7%$o&{_w02y-5gcuV)Etd0zN-F(1n)iHUYWFMG zs=JX`uk~`%{j)^qH5LFEn5bOEuSIU9IbGn8Sf4l~J##=CIE#5PLFK^3v+aK%7(^*K zH40AX01yf^1+gXQSI$9Ic4pNnL5{KHnnu`X^AD`}@x%Fi-_}HdVD)G-LNYJs(_t23 zi!g0t^^If-Ano4xQ{%>p+{CVK1Smn7#Quec{Y@ELDfi2SP=GwXnnkiDTFWG%Vl6&WG|;V;}Jj<-tF_N%7>~YGfMv*x7K2F=VDk$n4CYhZx{R778$!(+Q#eR!mS3RNfTVm#7Jbd?Rj`9D1in_&@zh(Ab?+XT*# zWCoN1!4l$HjQNA)C4`i-U~_xT$LN31{{Z@e4n*h?!^;#)MIn7K(6tTJ@jeU#l)9CF zvl68}-A{jdzMuZi`tN>vNDn0Sx6UG&(WtwX|9j&;lbyPAsz>7uipLcFn&t0=UOO($ za?8&G&SLB;BK%_C)^(}}rGsdZRs~?iuTC~+EE1K-C<#H6S=^Qlt&B*+d#;ovsw3MX zxHyQEJO7K-5#dpviOp9>IKE*21f3k^P-m_Kn2{_y+Rs~jM0$Z7pf{Fdf>1kz{u^=V zuvs{~kmf*p=1`l5H!P`V-3+m2Jomo~H%gTP&Cs9U8hIMtis$B%UO8NQ$|?qAd1|iW zyq_P&hi9A&Pd7uNF!47nZ-5K{m6&-LSb=iaI$TX~%x{80&>1;%zbHW@z&xV9r{Q7w zXtnIb3~ZrE9*8@RhDZApU2z5?bw`%`gO_8aq2C;op8}B&lAyX3hSKbUA&DChTwmBm zIqaTx1BV@fME~07n*Lh6Cn>joQ;hN3P98be*=^cein_pJ+f0JS7@E@E(Y%es!~%)< zR9agEvl2jLNI8%-2qG9F7@mC|F`CMyObeq6!KzorAOdzngBc19WhQ4%rOUP(9fk7v zjF>GpIAT$xM`Gg7Y;TWV)?u*{K}#h$q)=FW6>RZ&>`>bB!6c%(Yb2Y$Fup2vZwiT@ zJ7`pDHo&buyR;HQQT?OFbHtJ?YP6pj1^zoo^xkL-goie`GR?*pcVh{k>3&sQO$C3g zHNxeG2})hchK(`f45r8{fFJ!4$?NV)zKIAO*q{%rI=p&%`zvwtEuXe}Qvx@`DfMld-qV zwnHjWdK^E>^Q16AfuUK3x&P%1#ZV?TD|{y$k9@3o@wl zkbEw`GR=XRCLEz0pnOx!mY3qOtk3T1%7y&p`pfZBxSwLmv;b6)`c7%ROdgSl0-mJ^ zoc#tom<3d$?Pdc^+1Rey%17iYycFxP7XI^|UnO29V|(%uk%}_cOz#!gnHA07_*K)= zPwhiY)f!=;1u_;OP^hne{&XZX37BE-hAT*gD1yBvEW#dFD%Z+2O|TIE)2PFg01VS5 zWW`x*{=9+obocAeG;Z)dV$E|Ai5}WVfv7fYqLxWiL%q;0LcljGK{WuDz9a8wZ~EDr zit8#gQJX5#Fn?di;FeUZIoaqs|GjH8x&7cUURgE7KE%!phOmLGt}j^ks?%`}q87)em?g#5>ORCG!A^$$`>%636XWA!NO!bxZ)W8Gj1DWl%1w%9;ZMYOongzGASj8SuwHJgG>btlZfspQohN z=R!i@prTq2B`D+Azi~*PyLMq7?d-}l9AB*JFUU#PTH7Sq4~o{wQb5PRTEq1*=06)) zMgCmiH4Ks|RTn~d-gsrDDtGw?GLe`2@tQ#{w;fW>CDdM}I5`$Dg#|QpF;OF;(mGOo z9k|S4o`Uz(4p6jeqPV~#5?5cx$rN6*POl=~d-R*NNNKg-FA1#)Wl(su`A5g|rHG+* zL+@p}7X9?}+yb%=1yoUL<<_>$eRufU*RI^;Yz6U!1sTL=C8iWQ7nc|QjhyC?FnBf; zai4t$U1>evB3#gZSDW6k2sRLwAU;l%Y3f{#MN8WSPib9TN$AxJJp-2W19$%kh|iT}X`s7SHGj0my6~$i>#Cq+vcE8Pw@HOsw|gWO*R^zvb1;8~}so zCpt?~(Z_U3#T>92QN9qRe~D5K7(NPd+*OB)8!&>Mkvj)4`;}D0P>arzXEPGjr?whj zc}r^kuR~FK^TdM3+DHE@r9uuYDXVDq3AWPU3c1sg} z3(Fl8MVyay))w+72ut?{$ft^_2O0SS5({H8q3d`2;iakx=Qqr|IK{AIBvNuoEdf6q zeaPIL@+sSyXAyA#g3-LD)Yr!Y_p{53J+Z(YJaYr{_{F$k8`2J!gR-rB=KJ+8{IbL-y}RKX=PzYFwl)?5;StvE+_Unu^TT%Y<+5`-E@IhcnT{ohc%JmB9S-=FHx{ zb0{quYwF++dT=y78K55HTZG+wAeE7M`s)L8_JchA=k}JyUOK?QJfXO%JF%GPj|)l` zuh1qI|F6^QTjhyXLD19bm6A#r5iMH}!zdHM$%3EYvjSwda*=a>>@gszsF?G4I=$p0 zV)6u8YCn&l_NyUa)STs;|5q{B7_T0O-h~P5AzZ62xp_`P-}S#ax<8o9oUA#E3u8$? zJ@+}Q!`TCuKVH+?uPg-oc;Ig5eYBYgiKzH7ym4btrQjiQ-h8w~k(53}YrRzy7KTs^ z*Kp-YV+zMGxB7$w`;=%l2UyC=&xn#j5mTboal#9{X3%k62O_=# zXTj#(Cf{0Kj+Ue~yIseJ*?TZ>T_*$2U1cf0qC?&ppWmhD(lA68tVJ_VG7$eIWFJ7 zw;%>Du6=JK(EXX89@d|yZ`$YU;%#FAuNiy46$$sA>T8F(j@3cOT!^tvo4zGs8 z*#2iQ$Mo|$iLKAg#a?=N?Hb3Um7{)Y$hIqjzL86|RpYz_s7Wx}%oT}|&hON>A366n z$+<7ui;Q4lT}-IXzc+LrpyFx(bv;+bJc4j6+o1bl1mE4zedsdzfMH>scfZQ$Y2Dbu zQ}4fEV23$6x?*uqrFyr|{-{4rH{s^IpY807$5ouQ16-A~Ulq^+NBv3ojGr>*x9*EzAOWrv@2N=dQySqZ2@OyF1`x*0^rK0WmZ zwp;qXj2DVoRO`rMb#5;IiVHB&anmnItT2z5Y4`ON_bV{jTEu&IgG=y!g!?f#wbizb z4ZI?cP*Eoe5V{06T|3{tNApmy9xC}dhg-vDZ2dEg4P`%K4marv{L#hw3F0{%k1{sc z;#oYbMvaY<+9f>yeQ$NgeR;LM!{kMV=5_p^RVL0_9d9+qvQKrhyt)BPLL-M_?t2a_CvR#`1 zELQj%9~DSNRn^=o71-5usCAD{;x7Q;GpA?1SF2Ii9ZzeX-|L8Q_-|@lykK>$qabGS zw{_p&D2Fy0M7K7tquKTm&f(WQTeO5vOyH{3fiHC~icsQT&l>GakXyeKs31U1Z6)Dt zIs2rj@skFPsNUhv?31qg*jxAt3Qq2T_zd4uk?nj3McSnqg2P+6Hoy>KG>nxZ#$iL4 z-&#br)}~-+s;fkUz;Keg+F#Sq z4m2va`Z{cX_8nHE*7?&Y>U+I+7!pHR>Fm3jKb&2qMxCpN)u;t4A!-W_oEcG&&SLdR(MS&3;374;93E?$Vb)-fz}HMF+R(CWuHKJJy`!r@hY z|Nch@!}{-FD46%vr&>i}Pij6r;;FXL5!f{QE~()= z1QoXk*)s-h)9m*trv3C6QNf^LWQf=IR3DKo)qSl@(z;&=@_Wq zM^pXr4`OzxnCiBz<&gLs{KpjG7gAyTjfQdsgv!@@W zwM6WX*QSTX61Ba3T!)W?F|$WyQ@5jP)+!>(!vBr-P0jbj7Xx|J4820NI*4$Qm*B}0 zUTMT+zLVN)#TW};_Sqe*n^7~gdPeupW}$|)^r!ef!(FIh7~QRDX#Q?gZf%dJnsq0g5ZSXke0ZJ105wP*QI#H zrdx1RWEh{Hy-zk=iX0;Qh8m~!k&lrjW}E!vv&7c@cT!rcd&XYrQ^0ME_7I8tGt)Ve zB)0xLl5d|S>Q!)8t)iER>kP4=OCSQEV8D{PVQ<9-H9lvfg` zq<%k(`|TEI=^|zq^6bB_<1ArkWA+WmI4UKKUv2SV!w-FzSbx7Eb@Nj;MB0V_1IymlgkMH=Qv;zmNA2xhE}i*-#3IaGJ9s+3|q$y23pU)_dol_blTIGpX#~ee!8rDmVo^a5vodw z5w`vj+(H;a_IR`+vN=j?KYpux<`t<_!{I-8Ji*+WY&iI|wnHVGL$Qu64&mkt5tC-D zmUu}&`mt>D!-;0GM8>fg|81aGtk#A^HM0(4F_3u|X;&_GoCS(42b^bi-YDVpyc;!7 z==}_PSzqbJY6p_{_dM%OOg8tAv2m=-Bbj>dv!uUBtAxtf`I7e|@+0haT0{j|#`=q) zN#;62ARdZO`;L0+Kkdhpnsj7yr`K|pvF`N!Dk?6q($X8(5+1D*C>{?V{%#@O4c}w& zNyqEB(icUvmPpRxHW!AdO5qjVEv!1vGQ&3}re9P(>?5%^vtaG_ zOg2>RCYeNc^+MORh>dvq`5%ufW9t{a)SYj7=4?6p$HXVj)Y5G4E#nA~XQo+m%iick zuu7yA<0CD8o}hjYNi~JE+>|9FI?9@2#kgQt-|snVSU5*kBSUK)_XYnaS=^gv5!P|z zRWg6UjvK$Uj*}T8)2#2ejGH4%YUt1M)wXMs`V^$G7kIH#SI_U*Kh3osaIRvuDBbyFT3)`Ez~7m;&vnAu%wGDCH*;O zG~z5{WL{!sPo}yTLb^IE#c=eWOD$N$F1ShM1Ef{W$p^z@3rVJ)>!OF!%1|cw#p^xN-i@yA=(^W$5&MKYEbMuzRZP z6}zE9hhHTT`w#xIPY2jyq@^cot(vQJ-UO%NU<<55>{s4RwqsR4JYR=# zS_fr@-Y^@>f3y%VTWQDfUW7@>ZQXD1&5&ufU%duv>Lz@_gN1zFQiG(U;%Tk?LoJ$T zIwcdhG!1BnI|bU5Aj$x)J%31M0#CUqd*TFnq!F)I$pcNFONWX~bVOfnQs^!!VXU!R zCxnMXS+sm@jvI_HX;hfy+jF#m*>kkxb2K^BlmGQ0f4@tF(ZVL+b2f|}QQ*OIkA+ng*9=jWE(&i35Dx9b9C z$zsp=wle7oq|lD}mL18`D~_6PH~P1)TO`_ttrxvWe_Jm%p}P#+x?{E21d&fpvZ-33 z>bEzYF5Oxur|WuT@O?Tx(Dml^xL=#v%Z&8)x|sCFYvp@5Ii4DAZ*#w<@8@elNFBc` zweT?w+P>cJwmRC#ZI_{&**sm&@VxoqcG(-O`si?^n_>EE-CDzHF;rU4(N!X$|Dyk7 zN+r~0p?ZUN+0nE(3@dJL_wM)M*6ctzujNO(BvsDF9~a#-eZhR~HLCT^;ib z9o5e>^Ulp0+GZSH#T;;m>sZ~cYu#T)FezGHTpWI)WYMf}a*>F=J|S?9iW0T= zJxXo)5wh2RaWZv1+&_16cNbNYX6v}Eu+GI@4yx)?err1$GHq~PzsGqB6l&r0;L~?f ztMw|jFwvFWu33+pE0n7lEW?u|V5a|egxcKTf!gkN^>8qlL>H;s>UHw#dKyyr4pV0` zs;{>8K4V4Xb=vJaV|#Lft?ikF-cxGGtF!U zjeX7YDWyUtCaUB)y7(5?R%@5nX)_Tq=HcD?p#9&O6*`a1UEg+)Z)!=pOJ*X}Z>Xjk zo0{h@3qNn%kFSoGY!e5?-lCLpizZth7z7|3Fm!DQU@f=YT>rjrUm|F|Ga~A-o&0I5 z-93V0$qD_Q;`Vo8Qt*+JDU!yaQYso3D>j|;ui}p-i@9S3r>{}9mYXWMk==jioFojF zRCu|%IwU2b=n_Os>I!q6{h0E+J>0y#I(Wps!tk1n*i4{aPjhW{VLq$3bF|KNQazlC zT%z$`9bMk}<~b_I*Y0+5dOvEt6j?gCcXP5MY2D8D%bff~RP9Xqc$;nXk$1%1BY#(} zR1#;|E~2l@`xNK!cgC!9-QzgkK76Jpx9M-Puoazl*GIdgL{{1hlY9H$Cl}ZKvZc0_ z6X8EQX*nxT4NnI*Dyn#sw9Ic53m>jej}Ovj43a4hKABYmsft9`F9M@j6Ye{<(kh1-(=K=-twQz8{oek3Vta{4fYj?`UomqMP zZZpL{dAICz&>5N^H@BH-pjqv(uvIuC(az;@|B$3ACPud$;Z}EU$ClWzU037Pe)s#X zmz~F6?ElsE6;N$9P1_Wg7Pq3sid!jeg;Ly|;_mKH2vA&$TOmj(#ofKQOK=bF79cnu zw9ogy|NETtB_}z%d(T`mJ3D*soxPJ;2rvbi$S`xq;=yU#_wMwXd;c0#Rwgms&^xTp z5d?*#Z$Hh_o6(By)ik?efj(dFt0RjaqZP?%4-OOqMKi1tt73e_(ppUu<4dL2R|{>n z7ew3n^U}at{loJ##mCK)rIlW?ZK#iC=FXSX{a@R>BE9Pz|%XDN;eZU=O5iad^$`nU~_$w3dM?MRDc?N9rhJI z>M?60C+}G+qpHcoAbRLh=OP?d=c21he8op|4L-4m+%hYe!%#U7>vwz)f^ks@Eh`{@}p0TrM_4u`5W_Oc(J9(jDY14WgxvC1fBt8F7ZY&d% zd^3qqVRe96)JSm&ehDVrwr}DaYvA?z{=IeaQiAwoglW|K50Uw5RpL(6jYu3gW0R>sk%)^m@qGFh0_ifRMkr!3T{Yqz1Dz zTI|dO10*m`72J$GO+o2(!hl=v+p*oLBq60eJIfp8Uq|S|4IW;T-Hg%d;Ti&0>#QN8 zkH%d-O|}mMa4Ys0T|Lk)_l856rJLJ@y4=vwQn$DJV{>zf*NL5^srtN;qh$j1VEw!O z3ovW$a_vJ6(*8DSPvcc}6+s5xO53#C;}IbF;bix&ky-C?=@CisztRzL48Rj;V8Fm! z17KhXp3)K7u(R2*ihU9nQIl0=HL)~ydCE;>=;WE9D;Gl|h1GIgMwrUTX!^x$%O4Io z3~nO801GLwxWg{u#e#8E?`QRwj~Nx-g-wNgjC!iKJf(XB12Lflta@TCE#43h_s7#q z@OHZX(iiB;v0dil{o#~7@bTuhbF>Tqb$HwaVbqbMm+9^owF&E=?Hz)b!0X$cI8*8R z38H1b4UL;+K(e+agNx1J2*!uA)1ysnA-&U1aDKY5@UqZyOT%@i@Pn%dr2aZrZLlXM zQ^Ja+*LvB9w;5pMlT!wFacKDM`ZO45M~?p3{CIZf#H4U8*6}ga_Tih;7fF|p%jD}T zmq!p795#RHSJPUmMoK0?l1 z5t+OsRd_Hj2dn(Kb-L|$N=7d?s(iqw_L*;Mjhl)~88Ieum^of=azn|5zL1e#$14~t zdtCO@aUy9iN#sgUS25V*WaRUS`?c^D6<+otU|$Ca~R;REQ&THc(A zrq&RGQ||{w_TQOgfQpsY2Pb%xnz`v4iSd>N!a9mytBEXRbq!MH99%)p66EXSXecE% zoiqG5TN~1_w6iX&ZH*}9_0)W;@S<1m5eCt&R6pVyN_2TRp`mxk)PUaGKgt^0C=&QN zUB|)SjWOV@)adxq&*-hBQ4g#_4 z;CaL?S~dWJbA(JzLDwm-g5SMlzYs9UqW)syn-=mcV@#4W^gI6{@qKn=dbF-z+SrbISc}YT#j%W^-fh;!~m0qSYZX-lKX^9D(S-E=GEQ%xD z&iDflF>DZ%{S8Sd_K5mcJRk1@+2=&Aat8b{vV`)gPE~c7LTq2cWemFWk;^EYJ} z>t=Z3>eeHHhoN}&l0uZg%MmQxxp=X~04h811{@zeQgA6|Z{&M9q!XSma&(3sS&HBM zWLU*4H#ShG{NSmDI!&MoFGphV1F&Zq5s)MbeyE4iR%70lk zuVV^Ch!ywdDc>{YkYiK%cF_z!B8zmU9Huu8ZCQJNsKP|_se4K}-?DU-m}iAXR%>IS;OI9nk;=aq&|jKq z%m^9=%6VSWV}4~*+%x?p0VYK|XS4kn<|6sD^x8a;`*AYsG#BA&L6Y;g`h? zR}re~K&qQrf6?FY7K}|suyA^8P>_P$=7V<6xB3)+qF&740cU6!;zAu|sr^|b%Ou6k z5e9`^J|%|?0O?WT0{3;U>Uaht*980{VWa|bxQ4QI{m+vsHN?$=iO|)*?-|L6W+Wxt z`%mReP|I#X^EBhrk!!A;on20G!`L|aaw9Ewrp}0%&0s{;i8E4!;Ci;LvJjNq7uSX8861JOKMTfg_CZcK_4(}r)kA3$u)1-cnS+UIeEb#P?T+0R){uTJM9eCR=-#H0d8`(-?SemR9H8Lij z7;Ge;{BWZHT9niu$s&24l6gu?g{o25G}4}t%&iG4LBS0>je;^3NWb!=4Mv>Cxc-unf*b>1Shm1OA?c#9S+pQ##U80@kyA5k>4G+}85a60v$lG1v|?v!p+ z9-S&u`I%|8reGtKp`z&_?7$BBppyU_Nmt!qfBss2OjO@CGA9;J45>q`+4^UYWINjL_sDIwHq4O)_l*HIm}= z{V+27uCMJ3dxhc})iTsp<)l#`GB9smNx2MftiknRPe)Da;(LkH$&f)$O+=%o5KtOZ z5I6T5e90$jtNpOd{1(OyJG47V>AdH(+ZMlk3k;Lmt#obdTwpasgSj+%4h2nL_Rz*t#+e7mRa!ZV zp&CFDZpSdCU0;0~X`GS9Aa#0p>xB}QoK_+f$uu{8zGD=M5#v6394TwkaSxYlAf%e- zf{b~JLYt&EE}`n!HC?(>p2HS4kK;%*^8z`FPYA!^ZMss+@UH^D82k&dwre2=2=hdI zouJp*VEsFmfOXS+Xn6<0MN3!uTilQzm3X}prE+c-EUHMPLUenb;|Q)4JP>}^i(rQ; zT8235{wfXzK93b_Ng`}d5F>oK;OL|D!jOQ(W&yInI|>A$DWRcRMG;+xW8H#6BJY0^$QEsyiFahQ@G&bvRG%UjGQYe#|!Ur{WE$ZwHA885HJlb)JxxF!te(U|O_7FsKW0IVkpmx%vd~=a%L*D*~08q8Tbg z&C>63^iU`nwDA(Uco#bI5h=wM2QrlvKiB%_((%tb=E;t7zeyU=plC)plRv!8VGyuM zlBHV#xk}#;Sw~P>x_1IIcV?8*RQEo;6u`!l_dzrSxCiPe|u^ttw1LxN*AHJ69ToMAF zw_2Gx9;VPRb`6^7$^J&DKAi9otDOK&Ivu3REyi`#w z@^iyii63>4V16PjInrcTtas1_ta;f;pwwEHM?>kEglsV@Bt;=5gupN}ke{lfuTfi) z+zpE^g@z5ZD6dPy8P;W-^IhSZi5!7u!&HJGPaR7aj*fsXcxVz77Aqzdk4udFD!|^% z@S*{?f1!=5bQ+-iGAa<)X+;!kP zT>%xbZyo)>$@wO~;Y)?9c5$kH!5#*5nw``x&l7e9wOntBzW z97(v1foTBh^~q?3oCjt7{BaePZLnzu2@UgghS0&hCE32XA{HSDeE9OzNKqIun-E2}C^oBFl_B6fg3Ksfq0##W8TLL1FP1g^%>7BiG z+|XmYWg&g{zk%@a1IB;H;=B^trBqKbIQ`Ry@ZYhxt)YXmsk6PSldy}Mt^GM z`tTgkpj!iC)9ucym8RoiqlLE59@h(lE4pn? z7gnI<2d*}!`{m?_B`@CM8<5N75>;8ugB9mNo51;CQEvM9jxXQV;e9+3hWyRcb^pyL zzKd~AjH1mGuUY7}J~_(>cd^Edd+Q3>&8k+gJzv$v@ZXY~zZ+OdV2RWjNJ_0Yu zwdo#&ObycBv)-T0yQg0&x=I;jMMY(&SO`m=DzTSQ&r4 zavm|<^qANNXkBpkxpC~=hK_IhB#_YyyR_~h@QGxx`y-3JfmK6&9}VjYPl@S|tV*v) zfRKh6`T?F&G4De>-B`j?3DcheAx+%h>>r9TCe-(|PqboL(*9dYSsbufPvnKTJ50!v z(a&&LzZA33TmnA4`UiYc%-^8qDlW%(iR}AlR%L&qw~dKmZ=Yo{C=Q9$y&Hdq zmqrLr-BEv=_AI~P13S*rfEdmbIs+b^S&nw9#j~h9*lt-DMjW|kL8@6PVPu1UND6T+ zNS=N#`yZNf&HshrPTgr5byFF8`1$)jeW4LbUhKHywl;ZkQ?^#qQV(#rUkQlhm0=#} zBY!x_9|0y9A9RIYb&@|!UdQh-pejQ`gzxAf`BL#D)mFKKwWsT|B|~tLfTROr`Nv2ZrySIM8{D{bnpg=)Az{ zuB$cq)A9Ke=-#{#y{pBj>hlHDo9}sEMbE7}DpQc~RC5IGosZ-<3A^!ow$)T{Ps(HX z7G5>r(q4i31pcwgYZ`z{+dt~x=tn&e{1rQqrXs^~@|FB9Vc4e|kDw$&{`9FbS>rn) zpMN;J^N(_8b_CCuCn{67;rz@BuC34FRChU|e9A1JN>3`O-Mn|)kSOqcHm@s{aKZGK zg*o$YPc~A>5C(0;EK>XxXLRIXwnqAFT|D6`o?{`E)2D7`E2IjoS8s_neEc&w6+oS1 z2cx}=XJ*}la;b+M-_yTCaM@-9iGCWWe7kd6wZ)WKGt6fs-F@044xYL_w7;;B`aNsA zoz%aujvJmVu98n0=F0+g_MaOue8SHyRTd;l{+QU*7N}`$W7oj%v-1)7&S%XE+CcCA z*Tg?wyL*28r`QaZU4I(OC!bh$z}FTwKMVeAV%`YPPVv?M)q(~+y`kpluUkmf^mO?? zn;Z9rL+XLhXY0w5D%%PqK6addXLGBbf__eq_H7XOo_qyXPLI+J`$i4@Z$F>PxQnZQ zIg0DYU*G?+eYZlg1c2|^L|63I_b&b9!~eL^#$`;-Ki-)77GQ#L{l`f;WFF}5o=VR% zMfF-@Ty&Mr#ssE&=gLA6gIE^J|RH>=!$*+9+KU#o{X=!1V}F~O<0ELoh_Rz zLYluwomE%+v=c(5BB|X%#7xi!bRhv7hiDPp?w^b{JiB@;;0IyFEKuk76GaP55^N=l z6JN6(8FIJJ>VIw1A<5p1B{%S7*GleGb-EL`WTO0MwHpsTfHNyBY31O;QsedE>%^N-GO+BC#${9VR)(e5l z^F2h-A(9R&&LdCLfcg?`gUaqKy-qGvCtyMOG}HsAT+6}BOUdr}AT-JPHbp`Vod-Lc z3Q{bJ1F+6ohE8+YIE;>)Y`Z@)q(;wWGTX$Pi5ts3I#jC2aStukA_zFZ3E{B2T@tCs zBXCiEAjU<;;0`sXD!s)^QNUW+=T|fD-4U?t#kZ}6)*17kx8ZoI0Iz2vO9yPM-(YsrYkMUgU;qYL!UiCQxTzT zY*jiZVHdNXr^5!k#9?6bJT6FDo8lwa?nNyNt@xF1EuxTIC z5LF>Rzkbsp_SOgYq?iPa4&-hzwi7_y{v16G&bg4@J-?CGk$`AC$UvJRUR5ZYPIM{? zn~$qK^NqD=O!RKeV0g~QSKH!umo+C%ta%oQ=s64`fyj*+W`>Oi(4u*kn#bTPctH%) z%`CxARalUpSVc&0Upxcce4Ed>!5-+x0Es{vf-?f0!&9ntJz;5jQW4u&`c>`|eWTR3 z43Md6l^PF(Oiq`kZ({7rtW>q#ouZ;ihtl-AUhSQJ$U<0Jr|0b43Ed~II-7e+NjHrZ z5tI!BOXW;mMPgM{twZUBkUSr7d%(6dJIjdYQUqI@`qWoSGBelF3SfbVK~B-H*jM6S z5&G@PRPpUlre1Gk)?{UDq7ldH8N>Ej1(Ep1C|u_o*-O+SF6w?})foX4y#dV+%)E$9UCr_vHGhD-ek z0iJ+t+cFhdY{pITDg)X&Dhn8X4^CO?&=Rd_WO3$ zZ=NG2`3nWs5N-kd-H(aSP)b5He_Jl-{GKsilyVSBJsxG=Zg`QKNs!MMb&ls!TIuQL zz$H2dHQ)BkLeHm|H{v9}UvULyAgD)cL9uuqZyeIiUtQ~@=O+Yv@S}i_A zXjTiH{VA1E!XgS?xL+@R9GuO-kvEg6!}#h+LdsZGLgjg5eR>nwRs3kiWz9$aa%mh0 znF*4E6Z)(q7OQSQX|+SJGAq=?H!q)RZxK0oK*Gke!uB9K5oa!oQN8)}9DA>H}v-YI5w(6I+@2pJlbC#xiAo8Pc#Tpc`7JH23G) zt%&%tNjYTR&ztA7YikE?{9~>8SgSv=oxAtitcLlDO+#7CySphXgY$Xcx6#X* zM_8fX=YG|TvWjHPzY?Qr6YN-Y{3sa|X%$2GjnK8~MR^tB*3_oE5NUhTzQX&X;NLEX zH-Q?x=mtE#!`n>xpwidqG3cy%2p1HVdmkM~;3LyGn$!x;9j(5R!}P6gW9 zAK(sg#ElNUClcW_gn+_Mk+tGxRMf~@U(=xSoI%N~Mlbtu;vvS#Zq)tiU{!Ds=Q6`A zca5+^+j~U@v?)fn+QaiJl_LMc3%yMGpv7y_8n0Jy`^PZ%To=})r;*vFc_As{n&`+O zRcc4L7(lBf$H-uYDwmn!eC?@pkc`NW%*~8-3EY6Z3i~^c0CQG_2D6*GcaeA0CKZj> zZUc2|d)*>+)yChqjQ9@+;11q(%!1nVgiWWYI>)bD?&H=n##LLC+(=qV?WVg5SH9>t zg)3*5RtyrX?taFWl3P)>nVh=nUyaD33t1sy-He%FJYw}4O{s7Q1xL=T!uN_?iXgH# zwE diff --git a/resources/tools/cau_terrain.miz b/resources/tools/cau_terrain.miz index 20d0c5dbeb6d7db15f23f92c750ed1e1cff0d859..65610873a9a4b59130815175f255b5924e29f019 100644 GIT binary patch literal 78316 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 Y4;oWbgh%-G13cuP6;i=cj$gI>f8W!0Gynhq literal 30035 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 diff --git a/resources/tools/generate_groundobject_templates.py b/resources/tools/generate_groundobject_templates.py new file mode 100644 index 00000000..2995a9c4 --- /dev/null +++ b/resources/tools/generate_groundobject_templates.py @@ -0,0 +1,49 @@ +import pickle +import typing + +from dcs.mission import Mission +from dcs.mapping import Point +from dcs.unit import * +from dcs.statics import warehouse_map, fortification_map + + +def load_templates(): + temp_mis = Mission() + temp_mis.load_file("resources/tools/groundobject_templates.miz") + + groups = {} # type: typing.Dict[str, typing.Dict[int, typing.Collection[Static]]] + + for static_group in temp_mis.country("USA").static_group: + for static in static_group.units: + static_name = str(static.name).split()[0] + tpl_name, tpl_idx = static_name[:-1], int(static_name[-1]) + + groups[tpl_name] = groups.get(tpl_name, {}) + groups[tpl_name][tpl_idx] = groups[tpl_name].get(tpl_idx, []) + groups[tpl_name][tpl_idx].append(static) + + tpls = {name: {idx: [] for idx in groups[name].keys()} for name in groups.keys()} + for category_name, category_groups in groups.items(): + for idx, static_groups in category_groups.items(): + dist = -1 + a, b = None, None + for aa in static_groups: + for bb in static_groups: + if aa.position.distance_to_point(bb.position) > dist: + dist = aa.position.distance_to_point(bb.position) + a = aa + b = bb + + center = a.position.point_from_heading(a.position.heading_between_point(b.position), dist / 2) + for static in static_groups: + tpls[category_name][idx].append({ + "type": static.type, + "offset": Point(center.x - static.position.x, center.y - static.position.y), + "heading": static.heading, + }) + + return tpls + + +with open("resources/groundobject_templates.p", "wb") as f: + pickle.dump(load_templates(), f) diff --git a/resources/tools/generate_groundobjectsmap.py b/resources/tools/generate_groundobjectsmap.py index 107ae981..a7962720 100644 --- a/resources/tools/generate_groundobjectsmap.py +++ b/resources/tools/generate_groundobjectsmap.py @@ -5,6 +5,7 @@ from dcs.mission import Mission from dcs.mapping import Point from dcs.terrain import * from dcs.unitgroup import VehicleGroup, StaticGroup +from dcs import vehicles from dcs.unit import * from dcs.statics import warehouse_map, fortification_map @@ -51,7 +52,7 @@ if __name__ == "__main__": theater_object.position = unit.position theater_object.heading = unit.heading - if isinstance(unit, Vehicle): + if isinstance(unit, Vehicle) and unit.type in vehicles.AirDefence.__dict__.values(): theater_object.dcs_identifier = "AA" else: theater_object.dcs_identifier = unit.type diff --git a/resources/tools/generate_landmap.py b/resources/tools/generate_landmap.py index 5e472aaa..e90293b1 100644 --- a/resources/tools/generate_landmap.py +++ b/resources/tools/generate_landmap.py @@ -1,14 +1,26 @@ import pickle from dcs.mission import Mission +from dcs.planes import A_10C for terrain in ["cau", "gulf"]: m = Mission() m.load_file("./{}_terrain.miz".format(terrain)) - landmap = [] + inclusion_zones = [] + exclusion_zones = [] for plane_group in m.country("USA").plane_group: - landmap.append([(x.position.x, x.position.y) for x in plane_group.points]) + zone = [(x.position.x, x.position.y) for x in plane_group.points] + + if terrain == "cau" and inclusion_zones: + # legacy + exclusion_zones.append(zone) + else: + if plane_group.units[0].type == "F-15C": + exclusion_zones.append(zone) + else: + inclusion_zones.append(zone) with open("../{}landmap.p".format(terrain), "wb") as f: - pickle.dump(landmap, f) + print(len(inclusion_zones), len(exclusion_zones)) + pickle.dump((inclusion_zones, exclusion_zones), f) diff --git a/resources/tools/groundobject_templates.miz b/resources/tools/groundobject_templates.miz new file mode 100644 index 0000000000000000000000000000000000000000..486aa817c154d5c24262a770b311e7e06150a849 GIT binary patch literal 12293 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 literal 0 HcmV?d00001 diff --git a/resources/tools/gulf_terrain.miz b/resources/tools/gulf_terrain.miz index a2ee9de200c878647393c069cb5f88b7567c58cc..01a262b0c8c20e8560bc48afdc9b527971dec411 100644 GIT binary patch literal 104988 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

    -rbMtD<4ylRr&ug|0!d%w~mmYGkzU53w@ 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%0AUhPCD- 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 P;4ckufDrh bool: + if not self.landmap: + return False + + return poly_contains(point.x, point.y, self.landmap[0][0]) + def is_on_land(self, point: Point) -> bool: if not self.landmap: return True - # check first poly (main land poly) - if not poly_contains(point.x, point.y, self.landmap[0]): - return False + for inclusion_zone in self.landmap[0]: + if not poly_contains(point.x, point.y, inclusion_zone): + return False - # check others polys (exclusion zones from main) - for poly in self.landmap[1:]: - if poly_contains(point.x, point.y, poly): - # point is in one of the exclusion zones, meaning that it's in the lake or something + for exclusion_zone in self.landmap[1]: + if poly_contains(point.x, point.y, exclusion_zone): return False return True @@ -95,5 +94,9 @@ class ConflictTheater: for connected_point in [x for x in cp.connected_points if x.captured != from_player]: yield (cp, connected_point) + for global_cp in [x for x in self.controlpoints if x.is_global and x.captured == from_player]: + if global_cp.position.distance_to_point(connected_point.position) < GLOBAL_CP_CONFLICT_DISTANCE_MIN: + yield (global_cp, connected_point) + def enemy_points(self) -> typing.Collection[ControlPoint]: return [point for point in self.controlpoints if not point.captured] diff --git a/theater/controlpoint.py b/theater/controlpoint.py index 72e44017..e748aba1 100644 --- a/theater/controlpoint.py +++ b/theater/controlpoint.py @@ -9,15 +9,20 @@ from .theatergroundobject import TheaterGroundObject class ControlPoint: - connected_points = None # type: typing.List[ControlPoint] - ground_objects = None # type: typing.Collection[TheaterGroundObject] - position = None # type: Point - captured = False - has_frontline = True id = 0 + position = None # type: Point + name = None # type: str + full_name = None # type: str base = None # type: theater.base.Base at = None # type: db.StartPosition + connected_points = None # type: typing.List[ControlPoint] + ground_objects = None # type: typing.List[TheaterGroundObject] + + captured = False + has_frontline = True + frontline_offset = 0.0 + def __init__(self, id: int, name: str, position: Point, at, radials: typing.Collection[int], size: int, importance: int, has_frontline=True): import theater.base diff --git a/theater/landmap.py b/theater/landmap.py index a52a00eb..c5384da7 100644 --- a/theater/landmap.py +++ b/theater/landmap.py @@ -1,7 +1,8 @@ import pickle import typing -Landmap = typing.Collection[typing.Collection[typing.Tuple[float, float]]] +Zone = typing.Collection[typing.Tuple[float, float]] +Landmap = typing.Tuple[typing.Collection[Zone], typing.Collection[Zone]] def load_landmap(filename: str) -> Landmap: diff --git a/theater/start_generator.py b/theater/start_generator.py index c7748888..e89a69b8 100644 --- a/theater/start_generator.py +++ b/theater/start_generator.py @@ -1,4 +1,7 @@ import math +import pickle +import random +import typing from theater.base import * from theater.conflicttheater import * @@ -15,7 +18,7 @@ COUNT_BY_TASK = { } -def generate_initial(theater: ConflictTheater, enemy: str, sams: bool, multiplier: float): +def generate_inital_units(theater: ConflictTheater, enemy: str, sams: bool, multiplier: float): for cp in theater.enemy_points(): if cp.captured: continue @@ -37,3 +40,49 @@ def generate_initial(theater: ConflictTheater, enemy: str, sams: bool, multiplie for unit_type in unittypes: logging.info("{} - {} {}".format(cp.name, db.unit_type_name(unit_type), count_per_type)) cp.base.commision_units({unit_type: count_per_type}) + + +def generate_groundobjects(theater: ConflictTheater): + with open("resources/groundobject_templates.p", "rb") as f: + tpls = pickle.load(f) + + def find_ground_location(near, theater, max, min) -> typing.Optional[Point]: + for _ in range(500): + p = near.random_point_within(max, min) + if theater.is_on_land(p): + return p + + return None + + group_id = 0 + for cp in theater.enemy_points(): + for _ in range(0, random.randrange(3, 6)): + point = find_ground_location(cp.position, theater, 120000, 5000) + if point is None: + print("Couldn't find point for {}".format(cp)) + continue + + dist = point.distance_to_point(cp.position) + for another_cp in theater.enemy_points(): + if another_cp.position.distance_to_point(point) < dist: + cp = another_cp + + tpl = random.choice(list(random.choice(list(tpls.values())).values())) + random_heading = random.randrange(0, 360) + + group_id += 1 + object_id = 0 + + for object in tpl: + object_id += 1 + + g = TheaterGroundObject() + g.group_id = group_id + g.object_id = object_id + g.cp_id = cp.id + + g.dcs_identifier = object["type"] + g.heading = object["heading"] + random_heading + g.position = Point(point.x + object["offset"].x, point.y + object["offset"].y) + + cp.ground_objects.append(g) diff --git a/theater/theatergroundobject.py b/theater/theatergroundobject.py index 96557887..6f9e17ca 100644 --- a/theater/theatergroundobject.py +++ b/theater/theatergroundobject.py @@ -1,6 +1,7 @@ import typing from dcs.mapping import Point +from dcs.statics import * NAME_BY_CATEGORY = { "power": "Power plant", @@ -9,6 +10,8 @@ NAME_BY_CATEGORY = { "aa": "AA Defense Site", "warehouse": "Warehouse", "farp": "FARP", + "fob": "FOB", + "factory": "Factory", "comms": "Comms. tower", "oil": "Oil platform" } @@ -20,6 +23,8 @@ ABBREV_NAME = { "aa": "AA", "warehouse": "WARE", "farp": "FARP", + "fob": "FOB", + "factory": "FACTORY", "comms": "COMMST", "oil": "OILP" } @@ -27,12 +32,14 @@ ABBREV_NAME = { CATEGORY_MAP = { "aa": ["AA"], - "power": ["Workshop A"], - "warehouse": ["Warehouse"], - "fuel": ["Tank"], - "ammo": [".Ammunition depot"], - "farp": ["FARP Tent"], - "comms": ["TV tower", "Comms tower"], + "power": ["Workshop A", "Electric power box", "Garage A"], + "warehouse": ["Warehouse", "Hangar A"], + "fuel": ["Tank", "Tank 2", "Fuel tank"], + "ammo": [".Ammunition depot", "Hangar B"], + "farp": ["FARP Tent", "FARP Ammo Dump Coating", "FARP Fuel Depot", "FARP Command Post", "FARP CP Blindage"], + "fob": ["Bunker 2", "Bunker 1", "Garage small B", ".Command Center", "Barracks 2"], + "factory": ["Tech combine", "Tech hangar A"], + "comms": ["TV tower", "Comms tower M"], "oil": ["Oil platform"], } From 5bbf3fc49fa7f0c7e5154bb626bb03d9016bc660 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Thu, 11 Oct 2018 04:12:02 +0300 Subject: [PATCH 40/63] fixed land map for gulf; ability to get logs from settings; minor trigger updates --- gen/triggergen.py | 53 +++++++++---------- .../tools/generate_example_groundobjects.py | 36 +++++++++++++ theater/conflicttheater.py | 10 ++-- theater/persiangulf.py | 13 +---- theater/theatergroundobject.py | 2 +- ui/configurationmenu.py | 5 ++ userdata/logging.py | 11 ++-- 7 files changed, 83 insertions(+), 47 deletions(-) create mode 100644 resources/tools/generate_example_groundobjects.py diff --git a/gen/triggergen.py b/gen/triggergen.py index 7a916eed..0e87630e 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -53,11 +53,6 @@ class TriggersGenerator: vehicle_group.late_activation = True activate_by_trigger.append(vehicle_group) - for plane_group in country.plane_group: - if plane_group.task in [x.name for x in AirSupportConflictGenerator.support_tasks()]: - plane_group.late_activation = True - activate_by_trigger.append(plane_group) - conflict_distance = player_cp.position.distance_to_point(self.conflict.position) minimum_radius = max(conflict_distance - TRIGGER_MIN_DISTANCE_FROM_START, TRIGGER_RADIUS_MINIMUM) if minimum_radius < 0: @@ -86,37 +81,39 @@ class TriggersGenerator: if player_cp.position.distance_to_point(group.position) > PUSH_TRIGGER_SIZE * 3: continue - regroup_heading = self.conflict.to_cp.position.heading_between_point(player_cp.position) - - pos1 = group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE) - pos2 = group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE+5000) - w1 = group.add_waypoint(pos1, REGROUP_ALT) - w2 = group.add_waypoint(pos2, REGROUP_ALT) - - group.points.remove(w1) - group.points.remove(w2) - - group.points.insert(1, w2) - group.points.insert(1, w1) - - w1.tasks.append(Silence(True)) - - switch_waypoint_task = ControlledTask(SwitchWaypoint(from_waypoint=3, to_waypoint=2)) - switch_waypoint_task.start_if_user_flag(1, False) - w2.tasks.append(switch_waypoint_task) - group.points[3].tasks.append(Silence(False)) - - group.add_trigger_action(SwitchWaypoint(to_waypoint=4)) push_by_trigger.append(group) - push_trigger_zone = self.mission.triggers.add_triggerzone(player_cp.position, PUSH_TRIGGER_SIZE, name="Push zone") + if not group.units[0].is_human(): + regroup_heading = self.conflict.to_cp.position.heading_between_point(player_cp.position) + + pos1 = group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE) + pos2 = group.position.point_from_heading(regroup_heading, REGROUP_ZONE_DISTANCE+5000) + w1 = group.add_waypoint(pos1, REGROUP_ALT) + w2 = group.add_waypoint(pos2, REGROUP_ALT) + + group.points.remove(w1) + group.points.remove(w2) + + group.points.insert(1, w2) + group.points.insert(1, w1) + + w1.tasks.append(Silence(True)) + + switch_waypoint_task = ControlledTask(SwitchWaypoint(from_waypoint=3, to_waypoint=2)) + switch_waypoint_task.start_if_user_flag(1, False) + w2.tasks.append(switch_waypoint_task) + group.points[3].tasks.append(Silence(False)) + + group.add_trigger_action(SwitchWaypoint(to_waypoint=4)) + push_trigger = TriggerOnce(Event.NoEvent, "Push trigger") for group in push_by_trigger: for unit in group.units: push_trigger.add_condition(UnitAltitudeHigherAGL(unit.id, PUSH_TRIGGER_ACTIVATION_AGL)) - push_trigger.add_action(AITaskPush(group.id, 1)) + if group.units[0].is_human(): + push_trigger.add_action(AITaskPush(group.id, 1)) message_string = self.mission.string("Task force is in the air, proceed with the objective (activate waypoint 3).") push_trigger.add_action(MessageToAll(message_string, clearview=True)) diff --git a/resources/tools/generate_example_groundobjects.py b/resources/tools/generate_example_groundobjects.py new file mode 100644 index 00000000..1ca30ab7 --- /dev/null +++ b/resources/tools/generate_example_groundobjects.py @@ -0,0 +1,36 @@ +import typing + +from dcs.mission import * +from dcs.terrain import * + +from theater.persiangulf import * +from theater.controlpoint import * + +def find_ground_location(near, theater, max, min) -> typing.Optional[Point]: + for _ in range(500): + p = near.random_point_within(max, min) + if theater.is_on_land(p): + return p + + return None + + +mission = Mission(PersianGulf()) +theater = PersianGulfTheater() + +for cp in theater.enemy_points(): + for _ in range(0, random.randrange(3, 6)): + p = find_ground_location(cp.position, theater, 120000, 5000) + if not p: + print("Didn't find ground location for {}".format(cp)) + continue + + mission.flight_group_inflight( + mission.country("USA"), + "", + A_10C, + p, + 10000 + ) + +mission.save("resources/tools/a.miz") diff --git a/theater/conflicttheater.py b/theater/conflicttheater.py index 8d23956f..03d50e05 100644 --- a/theater/conflicttheater.py +++ b/theater/conflicttheater.py @@ -76,9 +76,13 @@ class ConflictTheater: if not self.landmap: return True - for inclusion_zone in self.landmap[0]: - if not poly_contains(point.x, point.y, inclusion_zone): - return False + is_point_included = False + for i, inclusion_zone in enumerate(self.landmap[0]): + if poly_contains(point.x, point.y, inclusion_zone): + is_point_included = True + + if not is_point_included: + return False for exclusion_zone in self.landmap[1]: if poly_contains(point.x, point.y, exclusion_zone): diff --git a/theater/persiangulf.py b/theater/persiangulf.py index 8041fdd9..6de1fdba 100644 --- a/theater/persiangulf.py +++ b/theater/persiangulf.py @@ -45,7 +45,7 @@ class PersianGulfTheater(ConflictTheater): west_carrier = ControlPoint.carrier("East carrier", Point(-100531.972946, 60939.275818)) - def __init__(self, load_ground_objects=True): + def __init__(self): super(PersianGulfTheater, self).__init__() self.add_controlpoint(self.shiraz, connected_to=[self.lar, self.kerman]) @@ -75,14 +75,3 @@ class PersianGulfTheater(ConflictTheater): self.west_carrier.captured = True self.kerman.captured = True - - """ - Mid game: - self.al_maktoum.captured = True - self.al_minhad.captured = True - self.dubai.captured = True - self.sharjah.captured = True - self.fujairah.captured = True - self.khasab.captured = True - self.sir_abu_nuayr.captured = True - """ diff --git a/theater/theatergroundobject.py b/theater/theatergroundobject.py index 6f9e17ca..28c976fc 100644 --- a/theater/theatergroundobject.py +++ b/theater/theatergroundobject.py @@ -34,7 +34,7 @@ CATEGORY_MAP = { "aa": ["AA"], "power": ["Workshop A", "Electric power box", "Garage A"], "warehouse": ["Warehouse", "Hangar A"], - "fuel": ["Tank", "Tank 2", "Fuel tank"], + "fuel": ["Tank", "Tank 2", "Tank 3", "Fuel tank"], "ammo": [".Ammunition depot", "Hangar B"], "farp": ["FARP Tent", "FARP Ammo Dump Coating", "FARP Fuel Depot", "FARP Command Post", "FARP CP Blindage"], "fob": ["Bunker 2", "Bunker 1", "Garage small B", ".Command Center", "Barracks 2"], diff --git a/ui/configurationmenu.py b/ui/configurationmenu.py index 2a82ba1b..8702222f 100644 --- a/ui/configurationmenu.py +++ b/ui/configurationmenu.py @@ -4,6 +4,7 @@ from tkinter import * from tkinter.ttk import * from .styles import STYLES +from userdata.logging import ShowLogsException from ui.window import * @@ -65,6 +66,7 @@ class ConfigurationMenu(Menu): Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=3, column=1, sticky=E) Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=4, column=1, sticky=E) + Button(body, text="Display logs", command=self.display_logs, **STYLES["btn-primary"]).grid(row=5, column=0, sticky=E, pady=30) Button(body, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(row=5, column=1, sticky=E, pady=30) Label(body, text="Contributors: ", **STYLES["widget"]).grid(row=6, column=0, sticky=W) @@ -77,5 +79,8 @@ class ConfigurationMenu(Menu): Button(body, text="Cheat +200m", command=self.cheat_money, **STYLES["btn-danger"]).grid(row=10, column=1, pady=30) + def display_logs(self): + raise ShowLogsException() + def cheat_money(self): self.game.budget += 200 diff --git a/userdata/logging.py b/userdata/logging.py index 76bfb8a8..8fd944aa 100644 --- a/userdata/logging.py +++ b/userdata/logging.py @@ -9,9 +9,14 @@ from tkinter.scrolledtext import * _version_string = None -def _error_prompt(): +class ShowLogsException(Exception): + pass + + +def _error_prompt(oops=True): tk = Tk() - Label(tk, text="Oops, something went wrong.").grid(row=0) + if oops: + Label(tk, text="Oops, something went wrong.").grid(row=0) Label(tk, text="Please send following text to the developer:").grid(row=1) text = ScrolledText(tk) @@ -22,7 +27,7 @@ def _error_prompt(): def _handle_exception(self, exception: BaseException, *args): logging.exception(exception) - _error_prompt() + _error_prompt(isinstance(exception, ShowLogsException)) def setup_version_string(str): From 35a7da2816d4843c54070f806f37f7b46e505cc7 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Thu, 11 Oct 2018 04:42:38 +0300 Subject: [PATCH 41/63] oil strike objectives correct placement; updated starting point for gulf --- theater/conflicttheater.py | 8 +++++-- theater/controlpoint.py | 4 ++-- theater/persiangulf.py | 41 ++++++++++++++++++---------------- theater/start_generator.py | 19 ++++++++++------ theater/theatergroundobject.py | 2 +- 5 files changed, 43 insertions(+), 31 deletions(-) diff --git a/theater/conflicttheater.py b/theater/conflicttheater.py index 03d50e05..9d7a634a 100644 --- a/theater/conflicttheater.py +++ b/theater/conflicttheater.py @@ -70,14 +70,18 @@ class ConflictTheater: if not self.landmap: return False - return poly_contains(point.x, point.y, self.landmap[0][0]) + for inclusion_zone in self.landmap[0]: + if poly_contains(point.x, point.y, inclusion_zone): + return False + + return True def is_on_land(self, point: Point) -> bool: if not self.landmap: return True is_point_included = False - for i, inclusion_zone in enumerate(self.landmap[0]): + for inclusion_zone in self.landmap[0]: if poly_contains(point.x, point.y, inclusion_zone): is_point_included = True diff --git a/theater/controlpoint.py b/theater/controlpoint.py index e748aba1..b418285a 100644 --- a/theater/controlpoint.py +++ b/theater/controlpoint.py @@ -23,7 +23,7 @@ class ControlPoint: has_frontline = True frontline_offset = 0.0 - def __init__(self, id: int, name: str, position: Point, at, radials: typing.Collection[int], size: int, importance: int, has_frontline=True): + def __init__(self, id: int, name: str, position: Point, at, radials: typing.Collection[int], size: int, importance: float, has_frontline=True): import theater.base self.id = id @@ -42,7 +42,7 @@ class ControlPoint: self.base = theater.base.Base() @classmethod - def from_airport(cls, airport: Airport, radials: typing.Collection[int], size: int, importance: int, has_frontline=True): + def from_airport(cls, airport: Airport, radials: typing.Collection[int], size: int, importance: float, has_frontline=True): assert airport return cls(airport.id, airport.name, airport.position, airport, radials, size, importance, has_frontline) diff --git a/theater/persiangulf.py b/theater/persiangulf.py index 6de1fdba..e9a1caeb 100644 --- a/theater/persiangulf.py +++ b/theater/persiangulf.py @@ -19,31 +19,32 @@ class PersianGulfTheater(ConflictTheater): "night": (0, 5), } - al_dhafra = ControlPoint.from_airport(persiangulf.Al_Dhafra_AB, LAND, SIZE_BIG, IMPORTANCE_HIGH) - al_maktoum = ControlPoint.from_airport(persiangulf.Al_Maktoum_Intl, LAND, SIZE_BIG, IMPORTANCE_HIGH) - al_minhad = ControlPoint.from_airport(persiangulf.Al_Minhad_AB, LAND, SIZE_REGULAR, IMPORTANCE_HIGH) - sir_abu_nuayr = ControlPoint.from_airport(persiangulf.Sir_Abu_Nuayr, [0, 330], SIZE_SMALL, 1.3, has_frontline=False) + al_dhafra = ControlPoint.from_airport(persiangulf.Al_Dhafra_AB, LAND, SIZE_BIG, IMPORTANCE_LOW) + al_maktoum = ControlPoint.from_airport(persiangulf.Al_Maktoum_Intl, LAND, SIZE_BIG, IMPORTANCE_LOW) + al_minhad = ControlPoint.from_airport(persiangulf.Al_Minhad_AB, LAND, SIZE_REGULAR, 1.1) + sir_abu_nuayr = ControlPoint.from_airport(persiangulf.Sir_Abu_Nuayr, [0, 330], SIZE_SMALL, 1.1, has_frontline=False) - dubai = ControlPoint.from_airport(persiangulf.Dubai_Intl, COAST_DL_E, SIZE_LARGE, IMPORTANCE_HIGH) - sharjah = ControlPoint.from_airport(persiangulf.Sharjah_Intl, LAND, SIZE_BIG, 1.3) - fujairah = ControlPoint.from_airport(persiangulf.Fujairah_Intl, COAST_V_W, SIZE_REGULAR, IMPORTANCE_HIGH) - khasab = ControlPoint.from_airport(persiangulf.Khasab, LAND, SIZE_SMALL, IMPORTANCE_HIGH) + dubai = ControlPoint.from_airport(persiangulf.Dubai_Intl, COAST_DL_E, SIZE_LARGE, IMPORTANCE_MEDIUM) + sharjah = ControlPoint.from_airport(persiangulf.Sharjah_Intl, LAND, SIZE_BIG, 1.0) + fujairah = ControlPoint.from_airport(persiangulf.Fujairah_Intl, COAST_V_W, SIZE_REGULAR, 1.0) + khasab = ControlPoint.from_airport(persiangulf.Khasab, LAND, SIZE_SMALL, IMPORTANCE_MEDIUM) sirri = ControlPoint.from_airport(persiangulf.Sirri_Island, COAST_DL_W, SIZE_REGULAR, IMPORTANCE_LOW, has_frontline=False) abu_musa = ControlPoint.from_airport(persiangulf.Abu_Musa_Island_Airport, LAND, SIZE_SMALL, IMPORTANCE_MEDIUM, has_frontline=False) - tunb_island = ControlPoint.from_airport(persiangulf.Tunb_Island_AFB, [0, 270, 330], IMPORTANCE_LOW, 1.1, has_frontline=False) - tunb_kochak = ControlPoint.from_airport(persiangulf.Tunb_Kochak, [135, 180], SIZE_SMALL, 1.2, has_frontline=False) + tunb_island = ControlPoint.from_airport(persiangulf.Tunb_Island_AFB, [0, 270, 330], SIZE_SMALL, IMPORTANCE_MEDIUM, has_frontline=False) + tunb_kochak = ControlPoint.from_airport(persiangulf.Tunb_Kochak, [135, 180], SIZE_SMALL, 1.1, has_frontline=False) - bandar_lengeh = ControlPoint.from_airport(persiangulf.Bandar_Lengeh, [270, 315, 0, 45], SIZE_SMALL, 1.1) - qeshm = ControlPoint.from_airport(persiangulf.Qeshm_Island, [270, 315, 0, 45, 90, 135, 180], SIZE_SMALL, 1.2, has_frontline=False) + bandar_lengeh = ControlPoint.from_airport(persiangulf.Bandar_Lengeh, [270, 315, 0, 45], SIZE_SMALL, IMPORTANCE_HIGH) + qeshm = ControlPoint.from_airport(persiangulf.Qeshm_Island, [270, 315, 0, 45, 90, 135, 180], SIZE_SMALL, 1.1, has_frontline=False) - havadarya = ControlPoint.from_airport(persiangulf.Havadarya, COAST_DL_W, SIZE_REGULAR, 1.1) - bandar_abbas = ControlPoint.from_airport(persiangulf.Bandar_Abbas_Intl, LAND, SIZE_BIG, 1.2) - lar = ControlPoint.from_airport(persiangulf.Lar_Airbase, LAND, SIZE_REGULAR, IMPORTANCE_LOW) - shiraz = ControlPoint.from_airport(persiangulf.Shiraz_International_Airport, LAND, SIZE_BIG, IMPORTANCE_LOW) - kerman = ControlPoint.from_airport(persiangulf.Kerman_Airport, LAND, SIZE_BIG, IMPORTANCE_LOW) + havadarya = ControlPoint.from_airport(persiangulf.Havadarya, COAST_DL_W, SIZE_REGULAR, IMPORTANCE_HIGH) + bandar_abbas = ControlPoint.from_airport(persiangulf.Bandar_Abbas_Intl, LAND, SIZE_BIG, IMPORTANCE_HIGH) + lar = ControlPoint.from_airport(persiangulf.Lar_Airbase, LAND, SIZE_REGULAR, IMPORTANCE_HIGH) + shiraz = ControlPoint.from_airport(persiangulf.Shiraz_International_Airport, LAND, SIZE_BIG, IMPORTANCE_HIGH) + kerman = ControlPoint.from_airport(persiangulf.Kerman_Airport, LAND, SIZE_BIG, IMPORTANCE_HIGH) - west_carrier = ControlPoint.carrier("East carrier", Point(-100531.972946, 60939.275818)) + west_carrier = ControlPoint.carrier("West carrier", Point(-69043.813952358, -159916.65947136)) + east_carrier = ControlPoint.carrier("East carrier", Point(59514.324335475, 28165.517980635)) def __init__(self): super(PersianGulfTheater, self).__init__() @@ -71,7 +72,9 @@ class PersianGulfTheater(ConflictTheater): self.add_controlpoint(self.havadarya, connected_to=[self.lar, self.qeshm, self.bandar_abbas]) self.add_controlpoint(self.bandar_abbas, connected_to=[self.havadarya]) + self.add_controlpoint(self.east_carrier) self.add_controlpoint(self.west_carrier) self.west_carrier.captured = True - self.kerman.captured = True + self.east_carrier.captured = True + self.al_dhafra.captured = True diff --git a/theater/start_generator.py b/theater/start_generator.py index e89a69b8..e3e70b2f 100644 --- a/theater/start_generator.py +++ b/theater/start_generator.py @@ -46,10 +46,12 @@ def generate_groundobjects(theater: ConflictTheater): with open("resources/groundobject_templates.p", "rb") as f: tpls = pickle.load(f) - def find_ground_location(near, theater, max, min) -> typing.Optional[Point]: + def find_location(on_ground, near, theater, min, max) -> typing.Optional[Point]: for _ in range(500): p = near.random_point_within(max, min) - if theater.is_on_land(p): + if on_ground and theater.is_on_land(p): + return p + elif not on_ground and theater.is_in_sea(p): return p return None @@ -57,7 +59,13 @@ def generate_groundobjects(theater: ConflictTheater): group_id = 0 for cp in theater.enemy_points(): for _ in range(0, random.randrange(3, 6)): - point = find_ground_location(cp.position, theater, 120000, 5000) + available_categories = list(tpls) + tpl_category = random.choice(available_categories) + + tpl = random.choice(list(tpls[tpl_category].values())) + + point = find_location(tpl_category != "oil", cp.position, theater, 15000, 80000) + if point is None: print("Couldn't find point for {}".format(cp)) continue @@ -67,9 +75,6 @@ def generate_groundobjects(theater: ConflictTheater): if another_cp.position.distance_to_point(point) < dist: cp = another_cp - tpl = random.choice(list(random.choice(list(tpls.values())).values())) - random_heading = random.randrange(0, 360) - group_id += 1 object_id = 0 @@ -82,7 +87,7 @@ def generate_groundobjects(theater: ConflictTheater): g.cp_id = cp.id g.dcs_identifier = object["type"] - g.heading = object["heading"] + random_heading + g.heading = object["heading"], g.position = Point(point.x + object["offset"].x, point.y + object["offset"].y) cp.ground_objects.append(g) diff --git a/theater/theatergroundobject.py b/theater/theatergroundobject.py index 28c976fc..60a18676 100644 --- a/theater/theatergroundobject.py +++ b/theater/theatergroundobject.py @@ -32,7 +32,7 @@ ABBREV_NAME = { CATEGORY_MAP = { "aa": ["AA"], - "power": ["Workshop A", "Electric power box", "Garage A"], + "power": ["Workshop A", "Electric power box", "Garage small A"], "warehouse": ["Warehouse", "Hangar A"], "fuel": ["Tank", "Tank 2", "Tank 3", "Fuel tank"], "ammo": [".Ammunition depot", "Hangar B"], From 00156678299a44f5663a5d46278558b4bef4ef0a Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 00:12:25 +0300 Subject: [PATCH 42/63] new frontline position finding method; AA for strikes; other minor fixes and adjustments --- game/operation/strike.py | 11 +++++ gen/conflictgen.py | 45 ++++++++++++++++-- gen/visualgen.py | 6 ++- resources/caulandmap.p | Bin 29464 -> 28648 bytes resources/groundobject_templates.p | Bin 3501 -> 3562 bytes resources/tools/cau_terrain.miz | Bin 78316 -> 78986 bytes .../tools/generate_groundobject_templates.py | 3 +- theater/base.py | 16 ++++--- theater/caucasus.py | 9 ++-- theater/controlpoint.py | 2 +- theater/nevada.py | 2 +- theater/start_generator.py | 4 +- ui/overviewcanvas.py | 12 ++++- 13 files changed, 87 insertions(+), 23 deletions(-) diff --git a/game/operation/strike.py b/game/operation/strike.py index d937e89d..586bae14 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -35,6 +35,17 @@ class StrikeOperation(Operation): conflict=conflict) def generate(self): + for global_cp in self.game.theater.controlpoints: + if not global_cp.is_global: + continue + + ship = self.shipgen.generate_carrier(type=db.find_unittype(Carriage, self.game.player)[0], + country=self.game.player, + at=global_cp.at) + + if global_cp == self.from_cp and not self.is_quick: + self.attackers_starting_position = ship + targets = [] # type: typing.List[typing.Tuple[str, Point]] category_counters = {} # type: typing.Dict[str, int] processed_groups = [] diff --git a/gen/conflictgen.py b/gen/conflictgen.py index 0718ca9d..f28f70f3 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -155,7 +155,7 @@ class Conflict: return from_cp.has_frontline and to_cp.has_frontline @classmethod - def frontline_position(cls, from_cp: ControlPoint, to_cp: ControlPoint) -> typing.Tuple[Point, int]: + def frontline_position0(cls, from_cp: ControlPoint, to_cp: ControlPoint) -> typing.Tuple[Point, int]: cp_distance = from_cp.position.distance_to_point(to_cp.position) cp_distance -= cp_distance * to_cp.frontline_offset + cp_distance * from_cp.frontline_offset @@ -164,8 +164,45 @@ class Conflict: return to_cp.position.point_from_heading(heading, distance), heading @classmethod - def frontline_vector(cls, from_cp: ControlPoint, to_cp: ControlPoint, theater: ConflictTheater) -> typing.Tuple[Point, int, int]: - center_position, heading = cls.frontline_position(from_cp, to_cp) + def frontline_position2(cls, theater: ConflictTheater, from_cp: ControlPoint, to_cp: ControlPoint) -> typing.Optional[typing.Tuple[Point, int]]: + attack_heading = from_cp.position.heading_between_point(to_cp.position) + attack_starting_position = cls._find_ground_position(from_cp.position, 200000, attack_heading, theater) + if not attack_starting_position: + return None + + attack_ending_position = cls._find_ground_position(to_cp.position, 200000, _opposite_heading(attack_heading), theater) + if not attack_ending_position: + return None + + attack_distance = attack_ending_position.distance_to_point(attack_starting_position) + strength_delta = (from_cp.base.strength - to_cp.base.strength) / 1.0 + middle_position = attack_starting_position.point_from_heading(attack_heading, attack_distance / 2) + + return middle_position.point_from_heading(attack_heading, strength_delta * attack_distance), _opposite_heading(attack_heading) + + @classmethod + def frontline_position(cls, theater: ConflictTheater, from_cp: ControlPoint, to_cp: ControlPoint) -> typing.Optional[typing.Tuple[Point, int]]: + attack_heading = from_cp.position.heading_between_point(to_cp.position) + attack_distance = from_cp.position.distance_to_point(to_cp.position) + middle_point = from_cp.position.point_from_heading(attack_heading, attack_distance / 2) + + strength_delta = (from_cp.base.strength - to_cp.base.strength) / 1.0 + position = middle_point.point_from_heading(attack_heading, strength_delta * attack_distance / 2 - FRONTLINE_MIN_CP_DISTANCE) + ground_position = cls._find_ground_position(position, attack_distance / 2 - FRONTLINE_MIN_CP_DISTANCE, attack_heading, theater) + if ground_position: + return ground_position, attack_heading + else: + print(from_cp, to_cp) + return None + + + @classmethod + def frontline_vector(cls, from_cp: ControlPoint, to_cp: ControlPoint, theater: ConflictTheater) -> typing.Optional[typing.Tuple[Point, int, int]]: + frontline = cls.frontline_position(theater, from_cp, to_cp) + if not frontline: + return None + + center_position, heading = frontline left_position, right_position = None, None if not theater.is_on_land(center_position): @@ -401,7 +438,7 @@ class Conflict: @classmethod def transport_conflict(cls, attacker: Country, defender: Country, from_cp: ControlPoint, to_cp: ControlPoint, theater: ConflictTheater): - frontline_position, heading = cls.frontline_position(from_cp, to_cp) + frontline_position, heading = cls.frontline_position(theater, from_cp, to_cp) initial_dest = frontline_position.point_from_heading(heading, TRANSPORT_FRONTLINE_DIST) dest = cls._find_ground_position(initial_dest, from_cp.position.distance_to_point(to_cp.position) / 3, heading, theater) if not dest: diff --git a/gen/visualgen.py b/gen/visualgen.py index 175924e6..011765cf 100644 --- a/gen/visualgen.py +++ b/gen/visualgen.py @@ -98,7 +98,11 @@ class VisualGenerator: def _generate_frontline_smokes(self): for from_cp, to_cp in self.game.theater.conflicts(): - point, heading = Conflict.frontline_position(from_cp, to_cp) + frontline = Conflict.frontline_position(self.game.theater, from_cp, to_cp) + if not frontline: + continue + + point, heading = frontline plane_start = point.point_from_heading(turn_heading(heading, 90), FRONTLINE_LENGTH / 2) for offset in range(0, FRONTLINE_LENGTH, FRONT_SMOKE_SPACING): diff --git a/resources/caulandmap.p b/resources/caulandmap.p index f6e34d8ebe12442f7f9e91f775c514a1c4fe7abe..88ba4d3c5d26858790d44014a37fe3fb4fc72b7f 100644 GIT binary patch literal 28648 zcmZ78c{o+y-#>nmAu@(zEFvO_22&G-Q%TaGQfQ!(sJ*2@g9dg3LQ*o7A)!erREA?p z(qxuYhLnVoF_nH#dwqVN?|t8YbzP5ZpXHpr*LtnjdcMzj9~W?<_?#&IsoVm^f%o1X zf77@YYC$ua=7#Gq)EHo7#GQ|aegW$?{&=s(&rkwDZQb2Tx1R%t4Zl9^qZn!|P*9`( z>3nIfh5DrZ(v<_k3?;}dP#8F$`^zu@=p-UN`{4wJ65MY_~OujsAt8L{^ zh7#r$$m@R`a=oq$EONH#RC>x#BHRMG)R?f51rLF*G!(MGgfrAQplknsuIwtAx$1-- zLx}=+t#>XLJBcg*nv*NVfHqsn%Qd7ag5$Xbva2@!2TgqaCfWXCC~WA z>|dAQ7RWSemKaj)Tni0F|NHD8k_4Vzs(qxP6n|)>X3zPgGKP`@?w^w~IXV+p3U!$b z=O;0gG|*whH+gmjuKefjk&>LkP%=QvV}ovkCvc@)UsYTWm!T#ARSo!#`Xm4+-#YqE zc@IO$atoyYsg=)>P9Ob5w+}eRi!qcOu9SIZox0iv*eqqTdJ)Y~@<2Zy_rk|^z+d8* z&V}VO6bCr*TVMI%1;ENx(K*sU1&q1x@S~%r&I5UyKRx#eU?@dyfz;uv(W`&%1%^85 zpWP_JP)gha2}g6&u6Iv>b`ojUFY%U?xdr37frpg4Vt{fQ+mFA(n^)l$i2V}TQLruv zkNC&i-B%~=VklK$!cG{=i4LEzDX~KXTLrvxuj7yq$)Z{<` zP^zS8%2a)Z(f}@U>$3G2^LlY=pHg?;gmzcC&&VCKSx(qc1sQc;HyU7*6 z_H`$ZBw&JR0SzMu);nU>snzC-Wpq0-ls0hp!n$iBWxz^}6{>Z&7z#^foawKgz7}&J zZ-ApRh&ivrEfATz=zz1|1>ot>e!Zgg45bU4dW$`@IyZkW-qJMS!u~J211*6Q z+UQOw45iO45YF&bk)Kx& zv>h)sq*%{TGk_Q09!PcT0Gb`EyEe{;p$vczKBok@<8e$H)3n>%=_^AS{*Nms{urFL z{AU6~%>?@HGk3bWh-)!1|ED<5M3$ju0qr;{Th!kIuh@i0FJ8(}vw{2Xd|y>w1Eex? zCS9>*s5!u*sUv4k!~wV6h$=BmWGEwG*wJCFaXP?-64%EhVA>duzFf?rS{2h~;_NFg zPJB^gC=;ON=J|UQ>wv;1KG)_iWGGW^fne?S#5&RWTnp8YNuD14c)1xcq@tTv(gZ$# zoU`lLFhk7+dYBB|J@*V4fBwezSj@V4Knu4^x8n4H_Eis+L_Ha5K2Y?ymPqO7%e6NM zhDc*FEZ`Q5ee>7Pvfwb+Lgl;W=&WF!AFDeaLOwpRjF3<~_i-M(1unpUP0S zK!;ZT{l~Tf{qBtacv_O7RseN0UM;r4ombjw<!yE@euS4td_5SzH0q3pT5k(!@Q<5J4G7K$NC{%1N-s8?}$e>VP$d;fF~*Fxc& zU_;$EQ-)g2<^4YOuy)^G9x%^(+>Ps4GHbZJU*n1tmYjFxT5!H*wvSoY$53mzyut1b zm*gv#1Ct(+mpcGUqhfb(v5GmTcJ(#CzsXSRfK@?)ZwEI6cik>f_&AB7)&oy%%(P0t zbLTkctWVY-VWY}tWRRjb7pQ{ z8b^u4>L~*z)W`I z^7`8I>*v(q!O8FYn-=y!m7%r+uex`pXBGl?$4szW+QCpefc|;~3Lh>3x9Km{ywJ!{ zJAsat|9SIUC(F;Xa$qQTpuXjQ-qOZZI2}5}Sxsj-Q zxS#UcGnXuG#zNQwl)KE=bZ-DCZNKv0p^gE!Z5*lIfrTJn?e`Y&geiA5j@zUU_zre-n*CV~Kv`=w)J-xQmF4yY;4c6Ri znVQB>{=nEb3xxJO0t#8o?z?QkPyxWr&fZp?H@FtE(QaZR)z}dj;8e>4&c{`Nw&tV= zoCeCY%^jZd4>+fZjClsQWc5lPVJ=Wv=SEVt5JQ~>s$P71YqdDnVnR=W=7ptR40Vpn z`%ym$1;GH=u=#fk^O2zffv1N}yBe*4*?;t3KbB#rAfVZaF$r?9z{o`#KS;?lR4|a+ zc$)X}J8tdk3v|iC(G!h|PUiZj9pY}19Koyb7>1FJJx6P*Ggomn<8tZpcY0QeUKy<${7Sf@)lkPE89Po^9`e#owpmo#BJIbdS z>MAg2;R&%E?3*$+Pa2M;++e6{_(THPn&Hk^hB7uP%Vs#tV5oTDq+j>1+8Y76I@u-z zcyI}LdC#8cBNtIvWTtQT*kyZ!p%Q^HqDCIF_kl948!Db|VyGnG_89davqnGW7=vC9 zmwtx2&gHfFb(3c#ePa`OaLHWWr;Bx#1q#^sq{}@1ro6erP&c@|*3|qg$}|LcZ!?*+ zDO_Gtt2$Xn(#uc#UfPNWmkRWZ@a2oh#+6z=_2uz?43!3SIxp_CN&_gEgMIB3L)`>c zDORgmVBeG)*|v1g!Ltl?i_2?HsnimA`Vm)3?0PtyGm)Wg& zu=<$3X;&Fged4&E=LQ+-F5bMan%SuoZHzf68a(zF9$Y%Gxa-{3)<9rt*xE-kzcAE2 zy!=bpq}H!E;7D!x>eR6T?bdx(R?l zSwP3A|6tzLGx5iNa0$DXX)M8P>D+Wgv+Z{Pgq!5g`VNRn8W2&EO89WSnmg1*7Bq}Bc7ph zxx6cs}nSrYcW3O zMnkY*FhlXUysg&!1=|`A;L4!1pgsEN1PZw3B?~-%DG7MvvwLmcws#xeXCc?TI-E-FP%-TYRs^k`^dSy7+mYxOf zh!GIf4PvM&Zox$Dvhi0v@Rrm#^CznL2QXAMw?L`bhVy<)6wX{-X|pX2g&C>_xGVT% zKj!)WyRsH2eelWI3!i}oj}_LopwiX>)%MCN85sjDHcr{;f;(Ril$f$Aph*X~d1CtW zi{cFR)@_Ru)iBkGdN&o1@VLa$*>jxHF>k5LaJ-KFrjcv@wq5_DUuYljv`wbCvI;}J z=bG0)+dX%88g?ed$R+ait>|4oU|Jl%ugd=tH9|46^mq6rABOtKHLsoedx!aX>`aP* z%igtQpqXpJta`Nc)zMs}7>Y-2>kgwLSGW8LEYA{@kbJ z$v+=?p#F!@!R1F8s+DVAtUXbv<54qEvTa&^S0_V#!qZCkJAcp;os*)t+XE%9OAOV< zHP5{Fcm3^EX!{f=e6o*VFjGHs&F@Vx&|L9G0I0ZaO0>yZhWf%azxCzVHLG3dtraEQ zj)v5zF$iwVZ+}@LcQaTR2ZN3-@n^b~4E2?3o|3ZNbM?CGz!$x=&`hko4zBq{hvD8S{wP_GE^6r z7oj%&*RR@W;QQ~D6~E^&R5zEGw*1L}U=Y@xLWif0_<>f2`p)IupJHpxPyYaZ{O*=h z8pBXOxV)P|2cDG}<6|nk@D8@|!<_EH%g2{R-V(?JW(<{tn4&`cTuaZ6 zMKMy?BD&8{#e<;+xV$@J-@Pn@M?d=#$!8)Ok_)W?Tp-oXRxL8)O zSdXE8b9vA5?Z)08`~;j9(Xik0I79v6@?O3&`ywJZ1k~hs2RuE-P=C3+*IlK2C!}Wp zC1ON$?mIBl2$%Qjj@a~q?X!V=lO_qcqr>}$qM5g^!REvspqNUj#LLMH&BxEj$K{pf zEBGoZVKyqrC@;0Ve2$^{S${g|g8}nC0j_lAP}&hWh91Lup<1?M_bS9g3Mz`)4Hugk zT7dN@Mdo%xerVSeWTSW;@=Xjqmi3I{zNAtQbQlUEv3BmZFBn>o^{iqgUzdK&E>3U! zv(nCRh8AM|anb&U3r=W0IAv*10(4(8v@r2)fh&Tf*23d5KD`u}%FrTY99RAB4JoVO zjH#+rP7Xtl8+G#w>vkkAId&LsYh}?n(!@*o# zf*t>y?N9}uI-ZDp>IqB5+kY5ZlJ%oMCLK%}h=9*oc~|gNJVQ&d3=Wwi`J_#v<&MRTPH{wbBo}aIb)aJxX92GSWlieb52~l z8a#TP^cbfqhL#<5^E12bhfLln!XKZq|2^jtL(8##r%F%!T9qCA{Hw<^%taYmp7pFv zr?Ucr)8LDb+nH`lVrUNQPt?2*2$ar4i=TTnOorLT&p)J>2)M;Xei3A0^gH-PCOcH0$6M4}9IU6Bt^V^+K1=gSK_JKXQT*y1ucx z46VX?Q6{I>^DS15+``^9_viF7v?}X76#?DAMD(L_S49__VV*&y(_4c=0) zh2m{x=*g^SPM+Cde7F+NOHARe)584>t-*S}#`e=)V-4XmYT9EOqZnF~bzX=SPq<_B zx!avFnKbSmLr-D-(PkNoOzUOv^PP1X+uk#@7VGz{w&ne@xeLE3DE;fsI)>I}{dVJo zv7c3y;I#`xMV1UR^i*1U0C)$dl2ja-^M!ufD!qC%M zPdb(+^Kxn!e0I!vp>YiitFJKtQR*I_oe^Bc}!uEh++L1Plh&T{h8|vJKwcF@V%3(MHj>}v5@o4+DyRn!P}muV^@PquI{;3_Xu{0{=GY=UAtTOVdxdR?KDS`K&i+@3$z+&4sTJ;Je~$ z#?TAkZcg+<{4*5?*dBTMx9>UhgdQP$C*s#KwE5`kc->ofsECf>`D^UnDk}5}@5_RC z-V^H;O{k+9hfN;3^1Wl|Ma18#?C(226CUQ9xu-mWp%)Wh5odfpXD2+oxANbbaSUzA zde>0PhJDsw;Wu)!4qrn3uwuQl_Ti$nFHl!B(p{se-fV`pCcZs#RzykxJU^*CEXRSN zxvYOXH2rAdxkc~?O4duw@wu0<-f`eptG5pJ2aTH|??aa_VCbd9t5=9;i6YL@@P6s? za7QgeFC*i4{At^hApv*QNUIWA$sqX@oYokIwqswHuQh9eEpHY)wkO|P<|jk1 zB))E3P^5Jb-1~B&C5?Jv&w5s@@}?Ei=s{&y2adTJi2JvS^;=qd*7=p}fLn6^6kCWh z^lH|x2ps%vk%Dz4Ya-)JUB&ZU!@A$*rJKyu^Z&>7Ye(IDduGAefi-vFF3x>om(Me_ z1AF~B7fGXCuF`PVH91Z?S`598z5c9!MM|+K4pp*ot9QGlOkwEttVdpQob7e^C%kBF z-%54d*A1+nZ?x|0$oLMgj2t%hsAOnI*7u9r*e*G0055-BG4)3qLvI{)-f8LG^{77Xpg`n5LxZL2<(!vBOV^WMLQp`BU38UF3t zwV5yAy~5iI+i8Y&VLf%}hk5E9I6}$RmhVig5@6`fWSj@O9U>bLQOG_m5vg;rW#}!e z-*ayoSU-LX{OUpP`8#A8dMg~yc^m%0bH2gn{9Gm{6*0u7(wrNOM;Y3ceO+>#_q80? z8hA+ZSM}`i4DH5xl*%vt=s4_aGPfLFEf9!d=Fxb$;ilo1fI4u)eN?fp_J#G^C^7aA*CDRY~{!o%q}`f5qZg>hEUg zU987G(R58X);#L34KnQy%e;<#1czi@ym^{ocyZ2U))x zeYR7_2Yu;($2r9My}0IKuf{!ai>v+yU+Wp#_y72^agXxWhB5SE;#r%Di)mL}zb2nv zT#EI2g!P--_e}A=i@Gec!QtSnDm=%daLl`7_y_Z@^@fF%^Za(Mg|>a-jom#x4DH9h zu65>}i1vFp`e-{-ujG3%?~b$Hve#{rW~nuNTR`CtuXct$!FsdhWcAX0s2AG1UUgh9 z#eQ;<^``KX7W7`s7j0XGhr89(Y-cf>mM1=^+; z{-%neF9=}$|GiI}v62EC{TP~o<8z$GKlo3+Qna8?L}NVHVp_xW5T8?$41H$wbp=w% zo*S1|i^8v(+!h;;{qihv!HI~T@I0pN?l=<_u!^D2u`bzuEG9A?hyH0gE830Jelc_) z>(YA-LauWVc&teFpgq9ZcNicALQ=#0)ypJ{$ca zaR1Je@mKnv^f7cqBJy%gdW&ZqLx&LGmF;7v_Xs}y*z9F%T^Tx*b?I51+#_eu2Wx+5 z*_g8x>pYBjg~m{%C;Cq9i?bi>%)!2Xfpr-v;qmiljNb40Ifu3z8Z&e_@r8ztLj~A} zwI{qTNEF0*<|1+9HADV7(THtcx!mIxePZYc;$ymG-ps^4tW{u@)$nuQ0Ka!y@vo4i!dQD~p-oN(t4dot-pE7hLaSiua;jeGuN4tNPjepJ1S6G)kr}Ixe z2s)3xmZ77G8_EnNyheS|dU#lKT5~!>$B^+a z{oDHSoGe^cZ%3Cs&LOeHv+nC$`9gCorlfw^Dw(*2q2q{0f8o1xZv))!cYerZJjbhK z{PT~#eopD+T4?^0nD9^@b^98*o-g9fqXPl(;+ePq&2?euc-F=B4@LJFVZCXZtcr{} zhxeJlx>(h?pu}Wx?B}Uo}MvNo1TKpMr|7B)}&J zygwOmi=nTxE+G?lymcD(cMX}$3|T|eA0`^{v#tv6aDP-pM5E>@S~B!3j=jmfe}`mql)7&@JJ zp5dK2Ulzm11RXiB-JPND5qA(s9N)hQ-zE9QUHDhor--+sPtA_ILI@ zW9SUxRG#jbT;u_LOtJnx5D52 zHF3UU~ppbQU`{9Ok7aZh|X<=ryV`qRE7Qf3G1To?k1|zC*eMy zCr#vF-Q^GuFP?RAehB=){hcdTc{6k_aq%}_#N-i3sfVi;d)8PpbRO&DPUuYUUNHK8 zV$xsa%t1e%Pp+4gk*2?$m6-qP@)rJr={Qf85qF)p(U^n%UR^2fO^oVohJH@mZmIpq z_0jvI^wn1X_63G6C%!EHOwDKzt}b`$TvI6O*bCw&mz^9c2jDXL5BRIl*S#b@t*lQ= z8TpR7eC<))H|VQh5!Z9>vYCr>jJoQ4!y-NGQ?H3DMASM7cf-~ADrTMB#?Wtwi+l{B z?_IiI`)z0h~6-N=e-5{B2ZE&W#|QtBVp%!Y3Xoa?+Ab+w*cpLH=_dpY(gHFN%pUv@e&^jqSl zBPwH#&4DldH)e+?>VE_4LSKwW_KKrEt4&$BW?EMXL%$<_H{?LMiz!^PPHk&m7(+J_ zkG>dF?tngTQfuzrlFc+jzbAfq`Gq}g1@QPSlJk^982SToXQPZUvg_bJZ+~0qqL2JY ze2uBqNeP^vCrvu(_oNZ)w~6?+PI;|V^feR9?Z#~$y+6&wZBh-&4dmeQb5_jstz_sH z;*P5KtwdDeJMLZf;Zcv=((h_3CCtp$`QN z-9}vQ;%QTld+_zW@j35g82U5oV~dL?wcq{+pRuhuegON?7vg4eoqtLm!RLzGov*#lIe6|}#Q7$>E&p~29(TdQ zNCMBjn~d{?xBeQwU}>Rp$o{#_;$;l|om?-m@$x1G3Nx<`-oSo2(QRQKdYRVT~eU-lcD>GryH%G9fkF-9Fdp0-Ut2L0P*wdtE>Fg z;U}qa!`TW9JxF}LPK?P6YSc@gbho0<93rljJ#lb8`UK_6do@(;Vi@`t>-_zFf^i8& z@L=we<1?_o4-}$%wvBUc|avAzJ@hi1I4W?a&dpA!RbWvsKKg3V$YdiHG z>sNW@s;L!wmNN8T;@)#J_T9sIT-of8)8m_{pCiNwJTK zCU>QhMt#cM$~4?JzA>ZyGhgnO8ynq);fA`0ee>Ip*Aoxx>MCCH1Fo}t-`a_oCu4|T zbQka`)P#!{37kE90(m|0s@=K=$JfCHF6%}vH9=laylGXm^`wcTUt61IoLGklWGuR6+ROtE?uo8LwsPp~}Y*LC=#5qvuMeV()x7d$F zi1+TB|1B8nPANru5B*>Sc|Gy)(DG#;@f?*-EAdbH-HyDT_`>DoJ69iuyPRxUvBDF1 zJ#mw98uxr#;ByV4bCmFW#}nV+9ei;L=82N*>U~lx(C>*8pDNzgDf}CG+3#!D=9$|f zuV;OPDGPr86#JKA&CxwM>(F;e5?^z|eVIr$yyB+(r|)l(*At)h+)iAi68^>Yjy;8W zD9!rcvIC}1UpBydJDzTOZh*X=c&m`LwGY;j;-}ipmbdkh*AsvLHBGPc8T=JTN@y|m z3t8d;f5TJx(f2B5hWqI5euBK7xS502?|#%_#o%dK{bqj1>xqwZD70LO`J=eJ@xyUT z5#;r(|LMOw<xnJZp~`lh&W>Uw#14dnI2Q>Gcu^~{G`Py4sg z8GV-$@hg%y!i{y|b}dVH%iumM6Ayde@BMKQzEPyZ?(Kc#^~CA!v`1Zd?ur|~tA!VJ zA+IOya#B9>B=%E9`{Oqi8PxxY#CQ8>j-9v!ZaX9S+A5q=CK31H=nVwC{U5GI{P>mD z5UCotm3LK7&0gg7#CLe~sc&5gH}5NsTkr#UJ#nWE7dL*n4>yevPGX#p*Z*hy*XuV+ zh`{I25`qs<|22tUxTN-e*Xa0qR-gQ*Ttr?^{C4Ms)Aw)=Rn$;?GUhVoi5Bq>lfG*m z!hBOyswyq+eT=-G_^l&zAH<)5%f$o>*I=GZB_8PNl{XHZL9HF~dg5NO$>y2W z@G(IW(fZhDb&135>C`f9d*t=Rg$2!8YtxWB z_r{%l>4^&Yj8naP4wFpYWTb z<4inz>;gaXdg7)2U+fgGz)O3dTLS9e&Nky;Q@6+(C z@+-@9dyv-?4;Wj$aUXIkg`9+1p|&C9^~AllR0)QDf)~u1AtQ)$lL_$!1~Ln#qn}sE zsR(Po8iu@{xK8fJBf~fkDm?Iby}_D;yq>tF@Ohst$b%Jbzugu+eKGQS;u~hC=N>@a zP`D*DzN`y%ejf34c@=lls^D>_a?dUCLS9dN_qX1`Viovh;pA=S@%|SOKUppKv_J_S zqR%W{+l@Xg;{k08G%ZaFj9?3EMT zhZc}}=8OEExbR$?C2!E5C^$J=XZ#yPe$V=^7acL5yN%$>-pns@!#c7g?tOc9pCIO^ zf_S5`9r-{f=4EIqt z=O38=5&1oFsjRy{Ub(<0*NhiZ=tF)_Tx{2wH;F&t@`8(A-nokWp1A5zSiyYsKMGQQ zAzO|oBEKg-rE@uTTn#QDq;4gJd~NyvzMk_dU*$y+&M&sC4~^*D;G2ze6Q}1w%^SaS z484MQ?GFC)?O))%>r4!Sv0m(mCs^G)YKrq0=f^>XH9n|&D~X?4-_vQd4Bqk6wVhju zJfHYsH{-dzsE3?S=Z-Iz!M?VNxMi$u)b!2ppSQ!8pNT@APh45v>RHtb__yjy3U=#| z=Mx{RYTYi2`N?ToFMs0)=G9u(2eZ|9B{ApVpHF)YX<(f?5HEZpDcFa7kn>@3^xgNz zkmnQ6+~n+b9_x`)6EIIX;sf%0;!*M@t_hf*oY()(+}+WFJfHZXj_1d+aZcfsbB-8Z zPC=ee+~JDb@quvo^G3dlzm_AI=x8#v^U7}Ss!TK@L6&!))A*x?HlhC>VOOJw`w;un$qEwl0!iX zf05@C|CCq$I2-kr^ZGeJc54%9tPG5?~` zZ-~>|h^t>+F?KcTIVb&&#zx;5jA{ zqN<_D_lft(rYU=ldgh4n(|Pb6#DArjKcD*we&<>ZPq+~IKJm6&kEhSL3cvYid6fNi zmObq-zRR+uje+d1Rhei(O~&7@_ph{+wXR2p`YiRu<;5GEJnUh zd}3Lw_AKnb9G~?}Y$x_dZ{mjQI?Q^^;8f7Zi_(_J_lX}Y*t{nJeHzDm^Mkxx9`b$S ze#Z-!SdGr-J)-S#2hC%!rSvbHn&NzU%04u+Sp?hX*2t(~%VHuek7j<(7qr#RQ^1CtMlUB*Y_gdCtf(Qt@~6W+~r)SxH{_X zVdB?sD!JFk!neqmzIuvvafEo7Mai}9(R$+MF+)us@AD|}gZ|@~SW&n~RGe0kI71&J z?!i=DaKrhOv*+qt|3s{7KjO=;q)^Ac!M(QWWCma#JWkv)#PDJ6NBFMlbgS>bkoW(e z>vwp*cs(%-c|Y;BO|O1C-Np4=+qLL)6vIr?7ur3Heg?4h#%l?$o5+WUv6|yATq`Ht9R^f8w#l<<)W8Z~+A-^BU%V2=Vi3-rIUF;CmInrPHPj)*}D^kN3{LZI0(9 z-^l*}R|&5@I%6{Y!6AMxaq7U_V*a#_gB8_agc&X|MrOz zLfwufzWI$x=(rTC?D~vyl)xmc0BQDvoFo&+u_j{Wc#<^b0rWzP`x+I3+Gw+$n?GY zYA}8xaqrBu$v-f!A&Gd9`^rZx*r(*reO~sJ!yx}Belh9&rS~cDfOYrH z)<`1%C+;_Y-W1i*`{Vbw?0xHgMA=Pbt8rN`oR2jMH4tR()+Ix z^CXqHYn#mP3tn)K*{0i69FhMMKXj;9Q|K1leTd_ugZXfic*KFYCSCOH^1H8#C2m2z zy+u6LG&g@0_AhzQ=ILQ;FyC$y&ro`)|CtNl^}IgM2j}-Y#P7a-Hts-bKt8o7f(EjzUTq*ym%Kw8T5hj_N^ys49bxI z6TjY_9i{dhZf6vnJXD4JpLpP^+-IvJ|0k}f z9h0Pi{#JhS`W-~(i z(;Cq~$O}0>c_XKX{Ga&CU0TaWzko0IulQcTeVo^dh+pg9TpM)`{&%@&>dPz0|B0V% zpI2#t+*ocvVbxCRE%JZju8oVn*W#Qa_w%LgVsp%sr^L6|zR2}FJ37usFWKlKA$&}O-~RomtIvrG zrUbRCj=}gNlk|HP(eIVB-qTqyXQb{A{7=)as6^a{7sTtUe;n}ife$2KY_dnc@sfCH z+e4?$(f9ddcfJ;15AuKFMPG017d--RpWSjGZ#D9N;$^Kl_V3ZR$hADSTmR)C@_*u= zOVu^TqW_U=n)md^FxF`W>pw-VUv?0Rg}+~zV+hG9p&pCsoA% z`?;#lI<9$(x=~GhZ0cDr%}`wbBGdx^=@a=s@i8|~`p&}rlzS?FbNd3EgKAmt$?Lu( zI|K9Kzt`6hkCmF#JiQ72T;|aVHJl^riATyw_^rlyO|GD!@#+VhJKhoxQy$Pc{RsX< zJz#1m`h*7Jr>9i8RgT`z2Vd@bEj)z$pZJMsd1wFOdCA@GzO3Ml{iu<+-}J0Y67ulm z{$qtHLdgIBkH_Z4MeWA={XjfWz1jA`DO?|EDRwww2>Czp;`X#3W4cFu?6O!6`no3K zKXMm;emr_VFDxCnTBL*gpZIXb_Ow0A;lYxcF1zq~TZsQnrxezsACo(I#qUEl`sY^S zy^mL{Nlb$KY!7=CeHZyZ@wZjIJ#M4d@A)=zx40VlKkkmh z(R%&uZT_fV^%&Fk2>Czp70%-GkBrW%|KHn*PYQCcfAtk1t-Yp&IUr{Qv*>%$@CHWo9A&C*GNt z9kf9J<7gbn_;9iw`9JZ-SI0ZwjMf2#MK1~+uupv_-d1wWC>Z^c+}KM?6nD)={!je< zOaJZ9uXsPXV=3s(WvJ?iRW}n-_A$flWobW_`K5(`9JZx zsy*lWv5sUL{~rB10qebwc&vDW*B$IfvLEIxvN&go{GWK>q;2o!Si#>O@5!5Pi~OH> zz?2pLw&MQCzO)sdI&K{Df8zdHHUaKfkFrG^jer{DDnrDxe+rbmM;(wYsCSv}oPqqG z_~+up^Z?`xvPGA!FRH+~c$oDb(Rj7GgQH$t;~u>P=YrqFXB>$?=!$*ezt{gEZg4p1 z=O)w**{qg%?x`1${}Z2e@a|@7Tln?fzqJNfMWME#6C!X~5O1FFfT;$;6Vyj)q|A|YxSsiO1#yEe3@D2a>$p2aIzWwI# zlwMpv;oId({!{0X|Fhn;aHD{hr9HgP^E6Kb`<)c)op<|PTcdG*COn(pY~&t?{Gau2 zg?+*2inHJ)777tU{@w5o@_*uc_U;b5KMlTfg=62Pg~}6A)w5TzPfg%z>+ly&M*h!w zN9+7qsfG_my}(aj^A_@d;ykO{QEe9RSr1=!Y()K^LR@O@*5P=pQ<=U-qjlDp|5~hn z4ZO0ZcKl@cfbqe(nqJ8NiBFQvy;g@lP^Rme-lEhpC}e5w&;g- zh@aN}`n`WAyjE4r?^UE*_eCvUuo{Ya)>CNbn2p6@i`qP)ju5&iJW!py!QJTE=g zzl>bck_`!lm#OpLn)wU)Ke^s~$;UhQ#o;9_-o=LayZXep?`V~MigSSsZ^ifbUK^4B z6JJ)X*OYYto;hvb&YjPZ|C90WDu!*|J{_K#F{UqJ4f22D+rK^;FgJx?Xq`UY!4CO9 zam7aIbk1w|@!ZARf(nuUv;H|m=cC~(%v%}1tA)`oe3AbXH*xv9$0q_#n|cJgSR(&t zy{)=4PuWEj?(N}`p5B7|pZKOdEip}~Co;Q_#EDVpi;P+SH2k1p+3L~v=^=A#S_}FR z6XGFvc0Uoj0pC%Y)R@$W{GYh#yv}z5qu0B+XGN!%BmXDv(tR>dW&rNo&2N0S1o=Pl zCCzr>+cn`E4&|!Q*f-~~-rE1TZcNlYxYLrOq0;F0<`d7-S*|W&^FMq6@#qn|sx`^* z^#!X>sX8G4C+_}K&9U16zFNWg=V*O4Cw|&}tEOBO+NWfAev1DW$jQ2%AD_Y60z`;Gjc^_I>=(aSa4;0qmQaSo&2S`x1~D6vds34H$H zk>RgcM^?oDD$URo(SjS5N2>QPLH;&~TT!bkH8nTeS{@AzjU|0kZ)8Tsu|0$ldT?B87U8_QU4`St#z`nq-a@$|@M zi~SGK7ugU$w)Vu`NbE1tT~G8)7h<1XPTa!zwu8|Vc=h{vseGvawyZa|WC^a)!#*ON zeJOCv*L>vv#1EKeIV=u>$3ObL#Z3+QKXL6byT-|mhevR3@w;K4T}fO?uUL8x&WX~e z#YcRXT}A#+Jf%Nsf1w*ZQZet#F&*Up#JhS10wpPUy3?)nNgU+=thZ<$9c({=`Xl|g zeDPU-4dnmCPn`QUJp}uObncaZbvei@))H_0tCNvn56_yR_wFTy{GWKciBe|(>Y?=A z&{Zqr#~}YF{wnCzpJ$j4(kbgT`)6UFT2I`cx8~+)^hMH1-(5d$DnCy8t1Yq{uVB4PQ;p)~{YJ?DS#N3#4icDzeoT6QUkGRP`zEQS1s~?;?6Gq4i@;`g!JAW4qE`1FcwCH{}d|A{BL-YQ#!^PseHg{A9_Nyz_+ z=f3w{VKN0S+n;vjU@-E3GXA8RqcZ14=bOyQwA1*%YSEs=S5_R`H~Kpm>G4gWC3{4X z|C4cI&Rgpm)QSH6j*iXhLC`cdP4k-H4}KN;Wb(qgxdn9ow*qrV33 zc0~S9u5So$Sh`vs{<%Z){s8*1gT!ab%vh^pF^xSyiqdMQMd+g+I=!> z9@eQZ@k5O>jQ+*ID@Xh!cTPqA&-&Zn32hCjaqvR3R{JR!{|M{#$u&ayTBtKpSz87L z=0qU>XT9#FLR5_<&Vy1n{yjTbfOE$&)@vXB|0Qo=b)xA|B3c|DChabPle2IPS1nX6y;TV_HEL~ z{E>3kcf4<_g#4d)%wXQ!x5$B|)=N|>jsJ=KpSY#pkz=7X@TKOT_~mMl|FiyP$HO%S zu6T}8nvuTU2~EiVS$|=9C2!%J(fcMZd63^j68S&trTYYaS%yD@D^ID6Uw}U04C}=e z5n?i1u}-CAJdLeYv0t2Jy)e;h_R`V+$&jS~;0niAZ;}7AUJ&H?tnD%GgXHSK5B!oo z$p2Z-3;uK?wP`cldVk;0CY+CgSkD&NtFbb46MT}1=?5$Hx52DG2)UmWKAVPbm2K)? z5{vww^}Dxneiyt&{gJ%1GeBA<0r@}cao1;UDVdD=BYCd$VP_laZ7A#hm&1xXi!Z>d z_7$K1hy6E<_28A$)g=6V@wqss!rFegApd9m+W6$eDO*(G3q;JtOFkq2A9eFXw@)!T zMtyLbIwO%MQpo?=>yMsa<96#T>XOthr?sW`FrOn>x6zbIFtZ+=&len2tH&E6|7Sg+ zuVJ@A{7U#$5241q`^f)Uzdtr$P3oqj@UR%E=4bDb|Fix?NqcH1`gIGb=x0yW_u@Qq zh4p-H&y~(}Pk5wO!1l=#k^i%v=d#5^QST5uqnO$xu7doZ^~al)j8Y%$g1_GCWIu#? z6~lS~U&Vx3ak&3dAFg{EdZV7lvi_7aEkoGW19ia6_=VS6Z{+{1Ki_0rXjfwiclVL& zSw0K-KkF~PxXGB_HiIW#QBR(Z{^}a*m2dcrZa+j{A$@j_-NjPm;qk0jy`w9;3Kqc= zKFVfvR3rZ<*Z*uuQks_n|K3gsTs(*TpY;m$LTm3iSl2RUMaf6@qn}A){dM-bd4Iw& zjtuqh*v{psZ`X;BsBmiH*T5tF^+MHAmy%hpwp3D{<$!rBbI2vC>Q9_6wyQS#4xqnECF5Mu((~`x2fur4W)zL*mBxDQVd21W zT->(_*CRgrr#(mhPsZ7{j26590sd;>=9_Q_)3fYIx~fn@GVPLNvr^>4rQ$+qxu3x@W=%c_0{Mqt+|4(?I z8LZbI4}2;eiTNW}l4IjNM-TZwam~5j7klw{<;BnZ-Rgq+@R0carTx#};d~))P;R>R zj4JYfGQP+30~uz=;fs`(y!edsP8RDmn~$yZ7vqQTzj@Kvs}A`;@lq*o?rzj2`Piq& ztR^Dod_>0o@88Ym9iOrH9`b+U8P#>(OXlMGdX-molsxi(*6Y@B^d)BE{mXxRHEq1# zLgfEs{C5{8RDV{0mjnc?GaE+!&w91;Wijms>*0eT!MpBhBL8Q-Qr);|$l?M1`y>C0 zk~NcZk^i&)`sj?-$M%?q9KnDe-Bo9h|FiyLeXruo>_)gcoi!*wg#4fN^5&P<8yAybwO&-zQ9eTkxix$vlc1xjt`D~edJ&=j$0I)iTJqc{4rV%Dqo^{S@? z<34k`=gQAYN1Z8Qz4lRAM)x=oeBWlm{^tuG(#Zc=ubV7-@a^4$aI43czUU*DEB)W& zDA?+Ct38Qz!C&GXDEnpD)fzgJL zD;n0Io+uQ#$_F{4{=8znCZuyhM5`72nOLxRz98~{GJdb$*0*Pu;`?<|91rbYihb}6 z>tz|Y!hMDE_MGCiam!*576B;9PyU0)GF=L!UHzN~ysb$B+s zxiS8x@n7WstXI96YPKW=bxc_~BVw#^Eb@QWn{>U8SWMdvZ+h0I^B4R0JJy?L&|)uy z-sAh;$4`oHXvY0)Wc{7!PqoG;xc{o^5znM^vA*83{^@SM3wxmV8mTk+hk9=VL zYlh);<>wdiJ%3T9x11LA?H^hHzB1X(*(Ma%$Hl%7KHQJ|pYdfnrvq~ZJj#AUSHCfxfA@77X#B^8DI|9`uN(Z=xyoKb%| z$oMzk?LL2MCVqFe~~$P_u4gzU7CLYzmL<~8tONUdDzW*|D+jl?!B1Ln$yk~N)5#$|0n({=6Gwya`;61 zcWUpk5B^|%&}RCHS3A%TXwK!zu24X|>S6tt|IX!;2XGG6G$~KzpOB3FpY`FIU$)|D zCUB#b^B+irBL8Ro_qU-1`JaT~7SfN_Y5F1mC%&&*ZN>LWcx=wNFD)s^|B2@&${z^m zg}=;xEn)cu`9JZA&lVe*Z@}*drE=A#zry_-WPR8^l6x!W7To6W=0R)ZZ$rc-cNG7b zU<5zz^(QMM5cxmrzg`+IvI*LY-!1YVf3_(H``0k*Lx+O$ICf^dkRf{kL@BCTq=A@XY&LR?omZ86jSA zZ12ZA$fLC0(hJWXz&Y_B>wlf&PmF0qebajFe_`#`4CMb~NAv#?N3EplX6!Fo?G8oj zBEpgX6aRPh+xb~8@P8-P9WMTf{GauIUF}o%DwpE-n+mJX938~p6(F7;&ZnJ=eMfuV z6M+khaDE(1#;N;il-oQ6_YAzOot%yQf7A>36vnR&U4`?GcG2a1=Idr5|0f>f>DaRc zbz8f`*D*dB_eYp@ev8lXX%E%#`&qf;OQ-+Cc}j$MdY!-h+a2&3MsM4uV?Q0ox`4y; zL$1=Je|JRAR-+s9S(JEQ%~IuEvbf$%-0qCEDDr>eLkT;keUF9jwBet@=|TR_`q)*b z-(9r$;L(?9%c(1n{}T^;RfMm9!>deh@in54k|6%zs7P}X`XwFdO&1;sQU6~T_Z|&( z{>O1V;-m{wuB|Yb(U@E+31v%0N@`1&ky2{AQA9*cMJe~BwsOrxp@vAhxJ8LlE+M5Q zk%*Ke-Bz{zUcT?&?m55TUvti5$FSr3{e0e^=V_q-lb^hjTrzkUjtUUxR)PNizpu~D z%6oLgqZj?3Jo}nM*8LhhzjyK--yb*^OduaHlpGiP2R^4PnH}DggneNmIj3E?3;fsgDCX~pD3M?1-l*0Ye!jz$KMYr`K>uf4GCh#5IsxmU z{_L_`R%jvmKjRVw!AdDwxPSG{*lqIy?a}`kAMwzwjGusgM1RqKi8fiB)78jx&N{Ms zBjI6=ZO#ql=>O!e-F>HfD#7z*4jgY8js8!sza`H)wY(T!`b}+8DCT^1@}(!;9y;NA z({Cu}F0kK${!hNILEYB?_o@ERV|^RClhFUk|M@w2ioq}14g{h9lRN1&nakt*^7QOK zjJ3{0|0nlsVo&@3xzQND zz5cbW!Ey9|#-*KOUv>K5gbN0*mkxg}PmghVT{F$<8Fp~JyJH+ik3;__zjx2nl;a4G zEa+R)S&RP9_;@$&L>7M`+$M>$=3G1aKOCQ@=ivdLr`NC)%XeQG!2O+aI`?`3&e>C$ zubW(!P(Rd)b}C>4p7g2IGnjv-GA|V_(uY2(_|O#y(@h_{4_+yS`@N z9Hy`Ot>c_n5xt*Wv$v>Lj5%F@&fa-*XJMZ=Wqd-sS2_N0HhfaEWU$8u^nP;durXr$ z_xQfz2N4RwDd_!-D-1Zrm?Ypj<<6LYLTfM16XxX20}3}>JFy-(mW*g=?LhCR*D-Fc zdV4+_>(Ccb==QM!^nUV1hf=C`euIZpn5)EoLGLHm=C7%4%z^vHuBvKSj^0nN-z`^D z{Ouz=S}>Fv)rx=bPyX>yU8FM3uX=6~g94!fdOy96Ldoh~zbL~6N%H%Y_o4Tb&q~r@ zcg};at9T#of_cP>e61_n^V4;>(WTHerx&63lOG<{cf+|3*U49_b@FET`K`%yUSBw0 z76%VnA;tL{^E;n$g^OW!ZH5ow>@mL&d5X~c$=mXNkLBuNpFE|~8dWWU-cPTi*qZaR zeGlBp)xc8^=S5rcDSheFWJ|F>ca5zvZNv4skUYR}v5mAfd_&5G(YrB6EFym&Cw!DmXf}0FBNBe$9?st&Rg?;G#XWW&!}6y}`ZqW9DDzhn#qveV#Q zN!R4Man9aE&sTDpEbNbgcbmH0Yw|?zCs&{Sv^C=u{Fz_TEL%79e)6fg2`9fVhnLS` zYx6NLY$0FMn5Oy#>oKcR;Yh6(_KmIN?lT*kj56SbI+^>oVg1=gzD!rvytxdXD>qqv zP7QiLxvkuRr#a2=^fFYM~|eLst0ZtE@jU zzj%;e_W0l}h3kP8cqKNt9PiIA@{Et}$Eph9zGp^j$3I8!CqJgyvv~s62iESPI>Y{{ z=>6oLPh}r8W8Gr~%$={y$6UXgeBKu2UG`W9SV4*GTRGG5@BPWGciMDGAAoPqF|2=q zIl_nh_ak$@PSl3G1ub5D9dqa&a$!k+TC*p7v)5Y}egS$vdGz7uuUI$_v6hc7P8}zO z-cKGUr|i23J&ZLkv!^U@Cwf2m-FqVr6nJ z7b*RcK{A~*FpD4*I6e`8|It?)(fXI!nn zhA)!ohu5-|EJLtgAExIAt~h^n*<*MHKOpU3GkQOHYO-pGC8E ztFc~bo-ONCYfVM(XIvv>;~Ddy9y9*B%X#ce(d4!MHo8j`hCRBg(jpdppS;CR>0(#_T-c&mtX$VC;slo{&HrhLzEAEvDSP5ktXrHouV+>XE7AAK*J=F5--zzO$;$A4Dmsb2Pwtn0 zsm}<%f6mo$7QL>R%M-}A42@(y=g%qKwBKyFza)|i#awP1&NG~PkziU3=B6a_HQeb> zT6e<-F1j2z{{?-Y{NJDRbF4)~5V~YCc`QG)AscfR=f`)6Bs+ifeeyJg8+yuE?>Vm* zTAazjdFCv6MSOqDtrmEzcV)Ne2KqjEC)e$RqSWyB9^{vX zuERMbom~7|OJZCq{GN^XmHA=l`{a2>#+|xT;RSp7&dop2_sKKuE!@g?!NtZQ4Y?)g z`{ZexB#ss1yunG_`ZY%bbDWqwb!V5hSr`1D>p7GBXn}^#8LXomZ~w177qOpYkqd{s zPaOFP_xkCU+l~9_5*+tUHXerW8|MITyL4sDX9q3Qbymis=hN4DFAv;5H64E9{fbqS zm#_npz{Cb<*!7$WM+ZUer*Rv}1kLda23s`kV8ki5*CyYYd z6R?lo`S0`l9p0o0;fG2s$F0QuR}RN@QGtiy>*CZqN0YUfTi78U66R*P==bz>**8aY zscFIw#|Qfr>_NXLFNvRjZ~HZPL>?z&6V};E@_U07p@Up_Tw!nJG|aL0$t%~s2$07) zi=FTDy+Pl9ouU3&~JYv_I4PU2O&m2_6*axf0V?V!q_Zs&V zJ6US=#1wDzd-BM&2hZ%&gU7@bwSL3sqa7P zny7|wmbrdg$57*d%O041UE9PpQJcMEbl%BUhT`Mqa}>Jv)@d)}noPMdV~17MFNPY= z&6m^tG~{$g3HaQ>vQzN|L-BL-WfQ}LMwdJWzEYRZ_6?{_IA2b1YVTIQ5hGP7n(c1l&V@nxI40uRCVM^E&Tq)4CU^q9H zp~Qi7v6SFZeuDZq8b(E}U(8EO(x)7jUv-5EGs~)o;6&%& zX13)Fr45vyrtNnLvu<*Cs5@`IB|}XIuBrpTIx=9%cCw40%3aPtLIy_Dq^y#-oL zkQ`EY%TPMNYwr#xI(Gn#PS)QR_GGA;z_c$3=UnkPCXZ{{YrORvL+Sp{m6LuB&RF#; znxSR^y$%|0y|s*MGAZ|$Sl$8|hSCFCbCkEMy#wB~43JvBf}v&u4?Xy?wyYLNrDjdO zX~j@;fX}CmUN{{I+!-HQG&_c&<^qFG3~LH&1DA^585fOdGjHtWq9!#em^PE<-7G)- zRh6Oifu`FQABd?33ZDK_m%Egq47mCHbuKaWB8#~uDxYHax%K1a^ML`C-L#?x@MUJ! zo|D52wE*b0VCdn+5@6Kj_#Y9Nb%sC_=j-<(b%8e3j}=AsF_aNd9u=e59!H@Cqpj-l${o>-H&=%-lriw~`Y=h(AE3b;(?fH2GL#9B zZf?oZIRu=%HmUI@3d=H}-U4zzl|?1FJ9S?%)N*b<-xjZr_9=;66Q!o$8*dHfGn6TC z?f_?3BdU#3sd(~}z}pOE_P_X~K)=@F7eko?Wxq`8F9^VuNp=Ub+-5KomzzH>+^$At z89&f~&tHT4k)bSr>!!Acs9SMO6#o^u3LT%yP%F6kyon2^?=|iLzB9OZ|K&7>S_!mm zY^PHQc;EXCK!cJdg*>F&B=%gC%3b&HF9s)+09SPqVe20 z4p|%HbVnJ=7RcvZ_{DGVf6$JbH?Z2T$>r}(;G$WnG5#40wGpTg-(`LVbDlG28@9+q zhT6o<>u;ZVF3smCP=2$QL#)XO|91i2=mj@W&uOAf$`Td}sRfmsWVPxzG1 zP>w*qpLDXCFfh`ZjJXZCeg8ry`|ZF`$2a321Txfipi}VD<6U*Y%R$Bo=P;9ZaP#`w zbKmOM;=#!s97zgFQ(>r`z+0}J$xjM^d&4JMujpVXC!mi`zWm4Qz@54)G_EuTP*@>e&js+@_6pM#y7^+6`3NO%{Tj z#o_rpO@A56m7CZ5eSSuG`9?DRAfPReojZ48m{ov?u^&F*Pi8R`J=(fZHx5{rOefBg{rQo~RbFw_zi0ceFi=av^p<} zsptv3llmh52g{T(TnFx$((QD+xesmNV#8Ex^7~7d_i2j2l?iGge0v>)obJId>XR_x4Uu+fb zVW?xkotsB%c3~mN9)25rmu_OH9oDmW?V8Du?oU}wRtI{~yQ!W6Ov?siyEU?$8^ zCxOeNwwYWQdrRvd9h%dQmwN*Ru3aBII|5v;b|=IgOZyZzucy~)#*Mc+K)v;kTBap2 z)M;SEnNGoKjhJkWR8u&dDwnDJNlb*3~!T>u)L9v3Ye0SsBT`J<#9LtO-N8-4RC zegHQgyEyc)mZAKBS``nH%nO0KQaaBMppo$B=5>$$^K2hy3RD)ViYv5cs7t_2TU{f$ zZCn%S{#9flT;}F=t-D+$IV1r5cth}u3CeE(H?LDA5hczASn)Z^yP=+;0=an|kD_{S z8%+R)K05K?);NX=;^uwxKYHbwh$qlF&2b>ckD;yrS2b94`?>=?_T(&hhstmjxWbpq z^+E}fKCL!YxW|m4u5t6)J4!=zkFE!vcgcu%_{UJeK*#95Uu_?OCvLaR|Cq~A*MX9S zSL(*^85=W1@W!nl40VH>_ch(pd#%C^;C4IbMW+H7Dg^i>>RsRgKA`o3*+pM4=1t(& z&bpQpcpTEptVGPNqSl3COvCWirGDssrA?#)vnM}ds4(DpujDWLjDY4%6%Ukr87dr@ zwe+-T7WPeP%V!NI6XF>v0-uO4L*uFgmZ7wz^2%AZvluE8IQe(VEgJ(MS36_D03O^e zyu4?B*zs#9EYdSw-1b-!!*VTNo+|=n}5>bMDy39H-ao=Gf0r z(cHW??{4ypq~f=b2N%Q5`+Tk5G+!PYpH!*aNWz<&3>C}GYfa2erwjvtkG7FXdxx9X z)T&0-k<=<*uj@PT;NpP$g1vZxGjOG*=i9OpM`zxEJGy#s}*Wg zOt5cCj_zEs|HuV~O62A>Csb()z4(MH#rHfO&YHwfN%-m7KI=HjC_z#>N656f3#>V* zYuHr^RGTFH>*63o-NT#rQZ+i8poK99MJ|p1jR$uhSlD%ON2?z&F=)fnIbRv-0bc$! zXmaZ}9B?GJf7{xz3GLQHTq#qvD`<2EaIs(EnmqJ2$++_V_UD z(Eni0t@BZ*u!XNv@`$spHjWE;`ZeC-``8Zv}Vxa0mw8VJ~mCntp zr{1hzmX^RZ5lh#J-&BQ4o59ViQ;S|&T#cULzxb4!S7~7%l)BLyxU%J0O==WFWpeZ0 zI7X;RoW|l3JJ^2GN#Z3#J>%w;r&Yht2tNySrw(e~(qyPCZeEU^PMx;@Laxb#toVjY z{FfLio13@8oHu`G<6&IspX9$^7o9*3*SKiOzTb*`9{B9;+jbt-4O+b zD&iXdyuSOU#i;iGT={})+~ZU*+|YpYrlk1O?(7)MkYeEIyeZdZvBOFpHq0B!TFOu* zT;tve6G{WV;LS_Mz4a7GeZ^3vz~D&79`!8X_bB7}YZDmiCD(XJXUWdKjhGBlGYd=3 zhTmtXGOqEkO4!-xdsl($)ud@RJBBLf8vn7JYqjRcVxV_%i*_q|unJ&d+giJfVPLWT z&n5NfLtX)$<2x3X;BiQ`jOd21MGbk4F?)>njLe$^{E(7RohZUkZ-7~Lvo!<9R!7$D z&-Z-<8LASv)+hU@)!3EUz0BkX6hl=3r+g81vqcG#s+T<-QuCXks=3C$BO`~Z3T6TG zzwbFT^C3gk0B4>4x1|P6lvH!lrRmcw7^)T@vo=6QI4~MGLY4W(#4uDH#uR(@%i#933Y3qUa4&N%j+6CMe&l#3NseFr1bYM|`g;Eu8<#b19V=UNrT;sp%^4(A0 z9xK!iytT5~Itvr^xINlYhW|3{AZJ`&vC+DyylDA-%(V>7Oru>#iaLF zS6o74X6w)xuZ_yk$~EqrertB+t$G|BX1bp9Z>eIa&$xBM9>KxYUy-pa6SS6ChTX7@ zYdrAOQ|rKK)Z}T&BX%nd9U1Bi*Z2p&+o6D6R$LQpbH1j%R+|~>E7v%iFG{{I)CM>s zec#7|HSuRb4Ld^Uw)~r z&$>M#T$7pY6K)^)g^{4fr85t?&AGhU(dbhbU#!z2F1%~woQ&g|NPXCzoj2Nvy3U@aq1cP zpDUHTU;o`Mg)V3inB#LyzXms1sY}Xn(?7KCL%`V6il-9Lu_)WGEm+&##!$b3uT+(y zFYp2fb_oOxUt_3YVD-8`FAA|ms+2wMbPSJVs6X6%B|-b_*^?gOE?HdpQDnS`q5cBp z2DV02p)H)0e4D=cE1982@bZ=);d76oCQnvruD#NXGr}nF+=_ScOCo`O>I?kdV2k_* z)Ttj_YWxw{Uh+p?cHzE=v!0#oeffwfW`=^8 zbDE<2b%vH;{mG+|jrZ5$T&FPcvrRCQ$^j`m#etzl?c);A>YJHn@jjafc@@VishVuqF*^Sr<)b=Lge$UWKWSj}5A@}&6z*C2c0u0?5TAB6OOZ``d zO~>9(3=D;`uPZ z&{J4{;^Pp1dnMWwd7a>x?@0~}t)}J?RY~L=4V~o7s zwbK0MIt)FP^^#oc@hO9!;WL684w;@}Xie5DUKxEA;va%*a6HbvILXjjtiSFm<~c2e zy;EL1Tu3{`mZ7Jy{_26~%zT%5aGuGN`CLsHTATIqoP!OPr}x7}m5aqIrZDt$)=P8c zy%ZEN&*i0+R+!$n$j~!be=+%^9`gY^uDs&Sqe;hQ8Cr++0@V!r?zI(gWd*H8}nVvF6Dz=a~LU9HL)dKT;Hg^FH|{g|Je-l&q| z&Z`Wq$9m@TLk(B9qEXZD=oJhQ3O;-u10_Y$X|5pB-nHvHO~C zZ4^O{+EL9<%KQv%!20>L+Y`pGxQC5)s39iFF_59>vwnr&G|+Ak&r$CE72%848VtRF z9si=$P$iEVo{L=KX;X#!e;L}4^%FlQA4wR%wjrm#<{|&9D26s-$9brK@tKY1ANVxR zWckgg8w*)acdiZlm~Dbn{m8X`k+)dyi&#(HF;QYZ7n`5#ldSP8;;%9EV%Fmp&C!o+ z$6h5HW+ydnYc)eJ8FS-?yOac9e#+W#XDmaTu>MTd<1k<*XIW&}OU`IDQ$ls>l72cA9 zSij#mar_q*MR?s35h06VhF;71abFpY9UpKXLWF?{tm(Cmg=6jQ& z?O2aJnIv5?EeJj@{IY;>14D0Q{gKDX?K61Mm~z~<=tfCxW#~<;KWT{AF}e<)mlNl{ z`appnL))|d*tNvwKujn6g=)mFA6OTgS${fv@Rm>DUie#e{?+#P7$x_kr%%e1K%J2Ylccr3F|-5g*-iK4gG3&|rw=#fKHy~7R^1%Bh97(rf! zc4ocaW^J)ic`|(VoXtkNQyAKXcr@=$sh3!%3M-ONJ5?@Z=v}NgXdN;s&CZ6e=Ht2P zWyH|C;m%uWSNt;#c~_4d{m1Jf+J3hHp3_n2Ble8FF0XsXE@hEXJb(4QJ46It;eELg z&v|CPx(Rhu{n&!XPCVF$_Y!}ne5mj89C(n|ll^7E484!|>d5(*vv$L;_E!B{FU-*H ztalByY&vNE4IZDBe(XBx$9~p3>mD!LP>#Byp6nDx^=2^i0pczpbAuD|;kmJ8L0QErOJ+!eusNWU(5V&dyLwgXfSuK_>g7jP6qr&m= zt~!Q3NXBvd+qOSd9PXr^R4ufIp*>meCgWHwsK?)Qe-Rr$;DlSuKTrS7x2xxVwJ1f5%zBr@7zGyJ#2Ol>4{PM2w+N zuzr*8$RCpgtSgxX(hk%uJkOJ?dv9B@#Yippf3Ei)b7Pk$`4n}P=80>M9f;+9x+N!O|(5Kn!FZfg@6pEaMN3PrJoG_K4&#)eH-F}|?v0w1#8~WC$ z;l7?_{c@vuXGiJ}cvZ;od^hx+KCB-Sv9z){p$9L^tep0$lr@cdq?Z4F4On(&Ny6hCa{w-K*cf-=0$r z?-g_@Xr~$a0_%w@J}y%0;K1w3cE?onG4w?;PTKSip-o6MWnL5s)jL`-v>)q_T$=_q zPS_5=b;M)wE*XaQhvPY4!asP<@jMPMrLz)o=HF7B72kM*p)a$qi;MKQo#j*u4~YAw zmN9{$16U7L{;eApiG5A_p6#n8eCTfjSr42c_opru>q`2yuZ@BzK6eo7KJq2yEv}OA z7PIx^uAt6e8FS+^S`#v1*iSMIVGC)hhY~wwLQ_7 z{&$=h)*nSS54$(+hnw8;(fjt6p=1A#uM~covmuC~?+{PlQdmek;rjKt^zve?*ErVi zy6m6o@ep-cdXw#uxz%`%@o>z$1pI?}*BWmk>9Dw+YocWn6Ti2ohoKYM*R{@h5ZwL< z=Oir$>XlqC=3Nr&EeD(@YZRNqcb+Tw>E6!JcUf;XouXEJ5cNW9&#R6b#n?~ovEFp` zj0t@J^F_;wCo3y@4nyB3{=I5;_^)*MQqJGIDT56CfQ%nn(j9DvzCg?H%1ELJ`hth7 z|Nq~o<#-9c&E5>149Dkqgn#fA4@sKeGq^E|Yciu@W`O5eoTF04UY9Q!w{P=`8WH%d z1@}cKV82Wy&OZrBHJ-a zZI2|ZVtsPUzDS0CN_&OAkfAMt#wId`x3Tb23A}Amd;Ex8u`A8Mutj zt}Yv#LyC!~r)b~&N^?!7CVt%^5wo44ONfVk<$3UE6WsbwZom{g$5Jx><)`1iBy@63 zH2#TCd@P5${gPbI6a41s;dAi9Irsl9bY$o<*2Q#>hV>X=y=g318xndE@3WkB(Q0A; zm^d-)=ZW>1xg}V)6|7Ha&OIZWiTR_xr$NGwgL(3bjPvuef8ot&_>^-W&YZi)(63n+ zmySHuIs^N=y7ZG&nc1kzZ^-oz-Z}|op%0tV@?&{>>qCaFBtFF^_=3Y{_&a*gcx4|$ zSFt{!Ma@R}=`Hw!GySj6cQAA{ar>)YEw69Fsk2k`kIrN08rDU-r;JPUdI4Xr;WD}m zeNZjyB8_~rHoq2zJ3Y>7|9p<2>xeT+hc493gfk%_ne-Wkt|u-#`N@#-Z211Pt)BH3 z4E>gM;lbE@*DbN%OtIb(-x`cM`;K+d`h=}=Cve`FA``0{@i>*C8;Ix3exUz#IeeV| z@xv~z4E>(CEnm!p{w?_G*>CRB5&l06-N?E~(c{+JGMKkhgam9J94ukz55&#pz0ah1 z;bMYQU1ZZ3`XlSYeG0>S0x=KOem&~-xogSLpUCx7=ws8p(O0N7j5ZmT;hfn-JnZW5 zd{=dNmB`22_E<;Ftc#ATI3$JNpVpq)y<}{h@Z|C=ee}^^ z$n_G^QrTkY-_-19-S)M_`u$3-ADL>hDdQ~M!mZ@}W7L^;;{VdhYi~V-&$Ya$;{BYV zzY)((o|!d%9eiQ2kXH92hVCG4E>^ze^4NV?)K;sjf&K40>q2)etIWD?!=+P>aJbCT5H3-# zx+5ouq5Fx4T?;R>ML#jQHTz-FHuQl5#BZ#+vcD}K9<^O!kx~Fd4-$7UNF66*2lssU z$80+Kl_BEm4b9GopWy zIIsGC9Ughb#6TR+U673PHE-i>eDBvp`KZlH%jGMP*OTkTH{aMIkNik^jotm08&1gU z$@RnO<|2BS=gQOb&hg#GdJ!T1O-Yrq!n{%zTPZ5^94<<{PGhcM7M_>V56ziV17;(y zC*HqGv-n^syk4xtJW3$A{GzDX%3qbOhX7xH@I$p#zeg-XGLa}qatqEC<@ zetBa}wT~M73?)3AA&+9^%D) zmS>%3uy4Ub$=ETUy09t<_f3I#_V)PAu7dE{(~o)Owjr-49@N!UXz>%Sz3SkGNth=} z#IL#Xc@}8E#h&wBxNsVIJ@M+j(~nH3hx6T-9U z-4o>X#Cs1e{(cGTPBB4iKbW{oy;0yJ_vJ~-rrxM@fap~Gr%o9bKbq6I^qp#2;K25BxQ}7RRnLoF0 zFEU2oqQ&|sQ+nyc3-q4~wI}vx*gCg`0U)_tYLhUQc|NTc6sFHE`p;!pJ2*k=GO7y6M{HuPJcDV8K{sEAsmP zjQ@J$HgO@iJ}u6lhWfvl_?7FbANGumuVePvXX-WN^~CRYUh#c|^NxbL!n1KVFi(~e z|2X-F=26Ty1;y&(!rn~e^~CQTUziqk9xfYxNw604#Dut?lY7p@D7etEgZXvV$m@x_ zN5mOFsezC47Z20LKD(T_&7_n~HDlw5FM1=cRDrynxL&Sg`Kvc@LBnaKS~ke*i3{=@ zwbmse-|UUNP+^aGWzPDakI$Y}^aR3NjUVV7;z3?dJi=l{z%lgC@)gA|q&8edUQc}W zAFBp;OL$G|m5O%sT`PziiFO#81jApSvWfP`b6-hZV4d`w2vK;|KJoAxoTn^VAFf-) z<9YS&*f^6eoV>z|yqG#69lM z>*L4#l($JV8jQsG!hyKodFS!vA@C)JJavELk=GO7zicUA^LDt_x44GoGm+O5*HMbi zPjwx0W8Q(qpODuRmrQ^7^OYlfO6>#z`99?J#6|at)20W~v8FpeV_$P4ZW>_~I&&NR*Zr%j&W9quC$1!CR#IIK|6X%l z-r5fNJ@N4>=It_=pPZ(Ra`8VguiRN5%uvlM3cm>d;_E)7j&-`9c)>FX{yyx3oR3q& z9)389{GRxeEe_6?u^u_K=N2gie?)#yJXCIhQ#9r$=k>qy4|la7zbAgQIH120TPeouUogP+GEarm2( zHxJUV9~~k-e&eC;F!WKJdYus7q&LX#Ss!TK^hIJk))A*p^?TlD)PWJr{HzmWX zB!>LuN08?e|D02nnSpxCd3`#e(mDruKJmc~d+$k>z{~Egqq(A5RdMJE9twf&Gq?ZECXeGxE@rWc-o3o{9}W z;aLlUMN|SA+M9TvOp?;RF@G{T|HUHsDdN8qj9)H%1%Gh6Hczksc|P&Bdzmw5-GbkJ zx+>J>4)T2B?>p#Y+%b<)bszMehCH8mQ=npc1nM~_wCQE;&GX3fi4W{LX&BNE51E&3 zaJm?IKI?V*PR={NGwULO;(CS2fzb@iuZ&PUMqicEwW2^NH(N`%Fvqgohc8 zpU$`-&nK=eo*yFF48PVpeCK01@_gcY{W{LVMeu<7&3dbbk>?Yi*8Z?l6a75rw59tc zze42s#3z+TXwAj`%kkXEM08?*^d~;suEVIu2u}Hbx+Z1H(3glG$=|j=8hskaV_RBI zb{_J5;@+nUEX>B{^ZutIuFeOM?-Sp4^@f%M`bo~-6SlK&VBG~0pQn|uVIKAi&aQU_ zoe53I_lXOLHcx2A{?2jj4?49u8Tmfz1MN$~0_85lcQ`EHd*=Z1ec}a^+Pcriz#T7k zim9RAUL$_zuA=MP2>5on;#V)QE`o^%nH1gb9;+wLZnIQ%@jkB;KjI_IM2NuMLL)Vw ziy_}9?#5JKamM+Sv;WpRpBSv`5aO$DCQv88!`*jkKRJhe@FsE7fZ30;Kf(9ZB%A#} z?i%`kuHUt<{Pm=C6*&fHyK`@WRX6f|;(J!A7jm89Tc!LDw4v{cAb!Tx zckm+m4bG;jCB5~D$oGj~n7_JhCi+;8%@2p!4cOOi5kJh`l;OP=zRKW{e2_Wved2RN z^?$Z1!Ivv$J`LE2e4n_$+K01`Be&$}cgJaz;&Vl_-k++o&)nfIe97NFODXi9F~nd0 zZLoZG6h3oBM$9zyjj_aE8V0S*z&Vkla%bC|6ZOdViDxMHjZXUj=SXa5S3$*s-cNj+z>Lkts7rFW+dIF#!@l!?_*%gYCuU87ryX_s80U(-pSVGzo5)7gVY#G` zE&HVfk@vIS_jmW}CpxC^M6HXuRq-%2eX_x2-qCAK;nD#h(!jpNoAVjrbGyXvb8eQh>&frnj@>EDje^^Ex8ngc=ZIM2$3 zBp*0fi}ACFdpt>+@)Pq)?uxbC@fX+^vWfe8rmBqHAMcUU53Prg{}XpkuQC1j7=C<(lgtFvjeO!8{c@8P7Qm^| z-hWk?Ck4cv+NA$nafiFjGu)|ckNltb(WAW@0{7sqLmW?S%!fka!G|N8rlW6{+j~be zW;^O_5%EOB?A*23zvT8c&kS0R`SyZ%s$zxi7cP9y%eOh6IKLMYfB3pYIISJ-EEtgO zh%JUS-z;14&rL&Fyi{@R8vCH`PUAaD0p_-4&hR%Kt1{}V6Boq8(}{h^#)+{-#H z`qeVxm4R6=x=}ynY;SEcN>D-mPrTulNSA>=eC?CvlTM&7svw>d*-p( zQsn={?{sH`s=kC<8(fMTsz&}#-0yn8f$Oqx^Pt;P?Jz&z5I^7+JCdsaU!t~SKnQid zlDJv;4#mZ&Z*p@NG-rZOOFW`1J_# zf8t+?)zrtM|B-E4^df#3>$HRQUqW|o*a}3zKP=5Ml8iw9Ph93^zSw~i zC-MJ&uIdZ+>))YnbP*q)c)?vG5Z9Lnn&4M#$p49tyL-lKF7Bu73%R>4OK=YQ!Fo?l z_jQ?Bm=FKG{wMJW$;r(#o8T{{pRQKLIiiPnh^)BxI-J*J^BWp(eZ;xr7x5sa0d3!> z@Mmi0rUjx;=q2tuwc5FA?0%+wedxaQDDr>er)T6`_=o2ud%ydJya)E9e&XIU)31xm z!Q=W*79r$q@Uxu$9(+C2oCzX z-^71rFaMG`c0aGI7`XLZ8~H!+;Z&ET{j1=YBs3iN;Pd_=K9WqyZ$v*Pd*-J1#|-q( ze~I^Iu3jG#3-@#hdKLB%`9JY@)xAB=W7qHhKKih*2Khhn)ZhE-&Wz2&e zi~OH>XHJIyCO(X#emM2xnYYOQi8sDF)%j+u4#+PnFR;ZvB}BZf=(fQn^h>hiuUjbW znTPzJ_=gG~mlCWynV-{7)$*-H{!cvjyRuT^Yk>7b6}a7VZ83`;pAYMaxVs8Y2HE?l*bodwnzbyHh40iuEY-oTGlO7P*QP@r+-5MITTHWb)rS z&U8pc{!jc%VNCKlOnec`{? z%M#Z+7W-=p>V`~u%OcmrE6D$e&pq;Ro4FPIPVY#a9@Y_uxQ_P?5wAP&^FbU7F%jhd z#5H`689l*sk)h*WmM8Zj|0h1_l8Zy@*ynY~JZEP92>CzjKYu@J%N|4yAmiXw=u(3I zUx|3n)6(v_XW+(fm4`K>k^hr%*!h+RpC7fTvQr89KXIO<(TUH;ey(Ou!S#0Zfs=?! zg&NK@Jp||ERa|NKjQpRB-}aw*A~VrvwEP(IF;#Lsf1HG8B-ZJ~e+u)@%WOyfPp+?g zXa8_Y4ZMBU*DGV+-%_0=O4fa$_gAZN|65(*B|1n;qicv_?#i4S=?;k8j1X$ z_3s6Jmo65j!;4Jhg9Roa|0g~>NM`msOq3;1?hA zf8q&K1!oU-!tW_h59g^u{!iSs-D!80IXpzY{lat9nOVdwe|qIiZ-8IW>P_z$k5>gV+pms!JCAtG>MSXy5Ptc^exE~JlA#UmIwJi z@f*eevKEeqdxhTlG5as_f8zTO>*#e&nSe|1QZ?RtbABWLC)XQWe0q=~1}|#yD4dO-%O&ozt5xO&&IQtWtABiO z-;Dg9_{ticru4(`Co>N2-u)8!KN>W4 zYvljL6&j_IIj`ZTvX}4lFF^j!`j-IhPqSZP-b#DlDhMn0LjF&Df#b-2&tN!h=;r5W ziu|ATwwlfyB}Wmshnrh+atrc*;#>B&gg2p{Nbfx!DN3O)TEqJ1;k1U8>&D)voAkXI zE$BmRhzC5_`%E+*zNLGee`)jm!wq(SkpHvZ(itOiqjo2JsqI|OG1S|w#4C@8uT-{x zFFrOp{0-~Kf%u5xEDa$|xItNnTE7MIe=@#PZLpJcEPT4%=aU=oKDQAMNwx6d+=6SF zT#6NKMgC7b=Zf;xvAjZh(vx2gd@_*#6VK`l`TjH-F7tEVA1?ZhovgR~{_si7&JKTJ zJi5)~P#XFoC*mhJoPHRB{Y9$lnXchd?6c0qO&spq8a#v7d{~sogZl5ndUH!U|5_dF zBT^aH{lKej4>h zDzj|)1s`?f|HMyU{5~@P`-N2Y&42Y-$Sd55H;!nhM%%#CXX(7JppgF)Z(pF;c@FhZ z>S5s8HBsY`{}X@Z|LSiE=7UtiMveZt*rzDsK6&f!`l2tAiv8jAX-hHkf8twWAB_Kj z^Se}}Pf+W=Bgp@W&(Ar~XpQr})V1W%%6Rm92U%~fy4&Aqi}fhQcnqi9#eU>TJovHN znZ7Le@#>rfh0l@y6F1u~v-u|0yA;(ZR@QHT{Gauv#!LQulhKb!9qJ3Z@V>9wRPZ zva?HT9Ng*b$@vDT|HoPXbTgpUbZ~6`IGH)#XYhVb5Z|dky=)QkbE%E$yGspZkpB~3 zv_mG_eQX}C^v_Hxo{0RP_%z)^!t_1(;?pWB6Q(2oXZ_>S#*E#wIq*dSYZccZ?>)`> z2ip`&w|`^rXQ`aD9-WE&pY_Hkf)gKVorKS<%uwY0g#4d)tkb>HWjGH?DOH*}#ZN~5 zPdxjB*XjjR;WGV6H;-IG{!hlATzf+L;@EtXK9l78d?WII;%h2T9vu673#kcBfkpd8 zkpGi$!Y`Xo*Q*=ze;tnB@!Zc7KR;j=?yCS8@!CVum~Xrd7E9Lb-xuGhFLk^htNjjk_u{)G7~`6KL` z-(Gv<|K$3Hs|_pG$-%#LNTdv)9}6NrM|xq`o=$knr!yrz$bYV|-tb1zP+R^sylL;5 z^hH>wSBW2OoMrGY99}i*EwOtV@_*Lf{fTaCNQ{IR7`56=#rVOjzm2OE(A7kpkxbt{ z$fqBS{Gavu3i;4lQ=A7SnFkNGC)k>+w|F8Y};)~iy>4{p)L z{E>9kwNJ59ME*}ad@yI>JLJHU8^x;>C;USGPu$e|_{qRp_zL6Cyt1{(|5<;t>+yO$ zCpOVB4ov0hji zEGoSN>r_&D-+Xfw>=)6j7sR;FTQT;3UrG23uC{;m4*5Up`Tq7LZJD?a66^dv@=ACj z|7Sht(&zZZrfqQZLw!SAa6Y=jdIsMC^)-Q8;FA{^el$aW8^?NDKuYY@c{F^7OjEZ- z1oD5@AKuIQlm8C&N80_=&i5{$E=lg$x}o?H=JNyAEj6U0jm*d9^A%f_nhCR!|Fa(5 z*RWSFY7P9Bn?Peu3i5x}Q^ucLpSa}&JSbeUx#R=#f7YKVYEA1zziuKKR`Npa0L~*R ztmkrjZgwW`gNJCIbD1&;`9JG9j@#W7bdJJP3#lz)%E49;oL}SbxEpkt%5AhB{z0zubL;2l9W`Uv8OSU|nkpclDI* zSv42=KkMaRouv)$8^L34s>RJjfAy60sy93a_aCFLkh-wn`dTsa@J!aL-_uoH`ODzZ zpJY-yYLNev>wmSxDlSTZ|7fT9u3bd_&w8a=fw_l1*0r?J^SI-O(9dME{yM{M(ch~W zN1FO~a`!6Kw;bZ5%ADG$_3#iMoj^6zrCio)Ocj;p+G5^HKQjEBJ$7EpW4)H%ukq>Y z0K8AmuYzwK@_*t>lul)<{KEOdMWxwm0R2?~8RxpDj!(})_`{QPLTNm&=d9Nq6Z8}2 z;=WD16a2*|=_T@iGS1GGv}npl_^W}tZ?4)R|7X3v(LMi8Db}Nmz_*pI$=LT_knzRG z9d=GZ?kA%aCT%$b`(QB{XZ~RcSNSoI21;|Fd4_ zxu5%c@DXyMX+o}Z!`qPmlX1M4=WkqwzFqdBO5R&h1?2za`c=CHKJkshOIGFje8&4M zXZ`IdzZX&=m_M>bS(YC9I>`TtYb^A*){CDjCw6{hha>94E8>S%^uK(M^M#yVnc;@> zD#-uI_--=~ry8AtFH^KA|AO<*8`f*Lom}H1$_qbq_u72-dgTAaizPj{dr_C)N#ueamqiqFCOm;3Z;#su%B z$p6Xs@2^d)`63T5I(N>_Xc+lF>orO@M77d3!UqE`?Rlhu{GatIwfRj$CTaNnBX4=p z`pMbI|5<;1VpeOW4dx+-|J={+>hs9|Sufw%t1u^{5w1q356TT8|7X3dx#CXa@>2N5 zt$$Q|q>%r!UZH(3Mua~b9(pieu?>AiBkPqKLY7VEu@7=;6=r?%K%e%3^_qjdY6+Kc zpE=zN<>n@%&U|FO?rCXix3CbtZ!_`G%O#I#K#_#tW^+$g3roJ-8Fy#NNzX?z{mgac|zC|kB*J&s6f8y<)SM;q= z-{gZ-SG0caME+04|1kH*{2fq#zOr5$&^a-<)eK%DdPyvoANfBSzt?-my9+Du{kp04NB6G4KKPCG z($xD`SFX7MUoEbyInxFCKkJ3f&j&7U8iwEBVRXz0_xU^PMdL+0O0J?GQxuJr{$gu@ z{Gat=ff+CNeLf9e@x1n{3Vv=E>y<}rlYC2G!ksRD&3$?e`9JIRCo>-$&O!gCcwpU> z3gv&u|58;dA3^@ldi9%WMivREV@gV?!Qr{H`&sj|(51h?+V3y z8zwHnqp>I7AKum`e(4zUu0O;F?I!P9nuNboI1-Yn)_n!}KXIOD>wtrJzN&9Ot$1Mj z9r-`;hg0Te_u#pxdD{H?bqddSl=U8ACwrT#>hS)b1{o9IBL64e!lz<&q6L31W3*#i zQCl_g|M6q_|1Tbe>DmrH@PuC1sHsW#{y%YPP3MV^M&R9=s;?wNk^ld{u5Pe-!eIy0 zA3oN5?!Mo9`RpA0ebcUg?#BvoUK>x`=BC+ja}YdCqa$Yv?k7JP$A0sgY#!_v>fO;w zMw77L39#O4-6(o}@nQTOmd=hq?_tbCLDu^x&x&;I#eCM7ak)TpC<^&M@!#R6T2oiS zC)vDL{eXQ?nDs%+nWtavLO-CfkSnuV9`#Cu_1`|bS4|nfIaFgoSt9SmIOPAV57+*- z5=&YDH(0YcO*|0!KkI+K4=u_4EC4r=dTOWPjr^bZ!5Y=oKdRsnS;Aji5|IBB&yJBh ze6AN>k?~sG^eggz;*(028yIiG->FGvtIm9d`zgu#uuTZ}Uidw@<*{vp=E&cqh)e7$ z{5#PAe#-rCdg}kLi#rdeYTy3=j&hSo%2<+(y|wKOrG#=qB%(rWNkylLQbZgiT$z#~ z4JgAULs3+k4AGHF8A>TdB9Wma>Xg&u_ulLCyZ3qS{cAtZtF?#L`hLHk&-eXUD-QWT z<9|0UHd}SX8~4Wvht;`OqJGU_d@MNM)a`i;e11rLgmN+RfATY~U*>a%;hx9m?>UC+ zB}@LE_kR6N)KgAIm+smhpOF7E{#`oGb%nY;{Mu!A2OW$PdGh9i-krtBqc|`2EsG7n zK2d@3pPRD7MP6ck<2*c+?6{>A`9I^oTsXNcuTft({Z6;}CypWiCm+vxm!P*9J|4~w zt{p}G&-nOI|6K1`_i&$}foK@j zT#82i4dnj<|5Hdo!ZFDn`yGwjDSjq=J>>u7>0T})?pU`q27_F(^KpJu7#B8un_YNS z1@~#nhFNKiV?V_rzu0=n?!^wcj{b{YE!0z0#wR#E2;3?y_}*W#wrU?Rp4G^!o?6ZF zl)>>vl51jCh$H_eAIsUn8_t05TqUd{KZ5+9@rm|^!<#um@Y5;#%;&B~{!f0i={ElS z8~()bywFSZQ5xh|Ld0I@qF>@lyC#?Y!w304`SHt{RiEy{kpiT8-a-EV-=EJtU-~3+ z&mi)D^5U!Z=kGV-_`%t?{eNO#z#|{g7LiCfhWlYfiep>TQ5WWsbGj6mXY6Up4MZoU zdLaL2e8ThApOZ~y;rQS3k1)@z&?djez22av1Gk@hOxw```9I?#`Jv_t)3F|EE~&Z1 ziY`a~&$w_|glx77=C7s!yVE4p2KhhZLJvJ_%uk_?Xj+8`cS>TPzJR>sU(T$-ICzY6 z=f=mi$p6U)y!;n<%ffGn9X#4T8Tmhb{hFp(qtWLtB42&n^PvmIo95$M z?h2b-$p6U?JXZ48!aUU+PaN9ZmyZ0O{NKNmClm3y^I#bAe{vVKRzoR#FHgf}bjtD~ zA51q?W8U%X7PgD~U|t(BE@IPH(eo1P3@>$pgLF6cze~u2*z@eY~gMk{@1ro$p0Cim~t}kg}W|%XY+ui z)=}jDjEinedD|0s6VCs1ty*wjo(bbp>IQQf^sM0;cg5`|OCbLzzjsexpW_UVD;rwh z(}et=@oApi87%XaaEo-#`ZHa~|KYfA+Z->rZ(C`!cjx_;otWQqBwksq#`U*g-lybo z=II*EYjAzxMq&MKGpsj#P$cWtv*e(m>u% zK0znG@Yf2=v)^V&>>( zHRH1^ck0@fh~rs=9+`=YE@7X#hK^S^vGj394x!}~w143+_F-!om(NvrP$vEde2I&P zhv2?FJI3XrSFY~qoQ~^n8t~~=`D^6;{x?lf**cQ z-^hN;Q`i@-BR9C+AXVtmHKpuJ-S z*k5WYeD6L}D1*QEC!aG|(Nu{2hvw2hOqMN1|KiN}^faGZJf|K$vrQyo&t~NPuUXMMr|^;YlUw~WyMFg~c+?$3`IN87`^imS=8@2Ai2 zo7!0U{WCm)|1IZ82l9UM&rcr3$z{Pk4}anZOC#^6&ylWj+B-`Q&QF&*Aa?+HKl$Qx zWpPsn#1X%I%x zQ8M1OAMWCz<*k8zum}0vq5S!h)#y8Vr!?w!BH!{P57J&`A-WvCIs5G7edv#Nk$*fA z(3oTj57KWkZZbpOPyQ?GLfa+OJ@w6p9gk)NAn#{<2ETN2^_xiaYvbaVC;Zroyq~=A z**v?$=u_05etk6WfdTS<@{gWrL9G(-LaSys?P}!xjLT@X+!<65c#^$LjkD(g=v>~DO@>$*xy^{`&5ttwWX^d9SjALFu< zgN1zx`{A2RdbNvxL*7rWBJbh1ZW>(A&%7)2GV*@%KtIWVRAabd*v+0;oaX@YVzKWm z8z;Dmq53k@P00Hhms^&%?M;FUeBr0I1pgn%`^oLwAMNtMx~ryschU(5oSz_au}NJ; zYB*lCxn0{icnEnv`IV6@pXN~bvw^S`e0${m54KOHaYHamDY3ErpgcCXbNc|W<*lII--Z{aTkDi&LMBJU@kcj?se zA9nECrEFDm^g+?&>s#^^zM{^s>ZBu^R8S9N$h{V|wCWVV%hifPc3}O9C10y9Y1mc+ zzch8W($Yrc{p6NY4?ZtxgXh--S8IjnMkOv-o>|a$j@3n(StH zx_{dim6yo-$)m(wMEcPmv5xn=sd!w7yq`SdY{P<^*q5;4?T2I!VZJ1i7mG9m8>7y% zVlQ4{y+B`nVfkN@_urYZE|~Uunw@oPP1>7EI{5*zI?YuujoPe z&JykB*XWNZsZ9bHqF}V^WM$840%6!!l74hS=i^X z?50)bNK8cDPo6qe&fn@4+@z?#CUiIQe)7BbgbtQq{<2mNMn`3yK;F;zOvBDgI|{|% zy6l!c8$yux)A46TY`5=5J^GJlkRNt;l;a7;kNT~cOf%H4O!6YHkSf2u@X0$wUrpMG zyr2Br)Tae=W?12FbfxMqQsKxT*VmBQBZQ^;m z-e%hd|pl|>GOj;z3XqGBZKB@~XjP{{b~a$95DcO$453D4GZ z-OnKJCwEG7m~v_->W<7NZjBzU*LgVlxC?keA1Cdl+q-AkKfCI1yE{X5-q(_sKWTES?dMb&Heg^V0OxI^_H0uF7l7-I1qo z&KLMT&pM8LpFH5kg&`eWf6f&Nqd^bsH!8`ueVf2MzkpM{CB#6GE8QdyF644M8*zMd z7Jq&c`lc%K_1p!|I`+Xw&bb}T{fc~_{6D|*ON!CqFyyVb$WzRt9~Yy~;{5y}oNgV6 ze4ji|`nrZ3)_cytN~4St^yxL^chZL2Z?(faeCztMt|Q+k@8Nom%1jh|FK@oQ)HLM# zj7tkwMjINT{%{8FdWu>YBHt(H^7yHWg7e@0x6#FpV&wbejxi!4Pwv25j{9cGXd&Mx z5AQkem4Mue^Wa8xv@7;kb>xL>+E1tE!0%c3UN(zCzE57NquZlC4_@|%`Np=N$oI*M zY>Yf>u^w;=b)y~&`tf@5ye-0smDopdPH!J8QAQuvK%TR^SJj{w{_pYJNFHCNtd@aw zl;ayX)_)H5q=`KEn{RUDINWF4^HN_e@_jhw%_F=B=FP?+U+a81%(rmke6@9H$n)ua zzILG@^YY=z9~~TLPDP$i9>{NJ3Hm>F&Yu(BWU-LvlgD{}kX(p$kX@1x^)EGe3wf%6 z_x&3d@Cu{nT74MrPs!8DCtVgiiJx6RC8ly$EAo8u%<+_NBa9dJGrnKqZ~*dr@~}A~ zh8KUp`#qzB|1w9OPrm!G^VUMlOZI#1uo{1?r!UAijJx?|r%x{fP@t zEg!6#k3RMtdEJKBK~mUfvGc!Fc25&ReotPmBIP!p`G3pgefWibb%?y+3A@=qFiy|E zv{xuZ9sEF^^5xBk0n96Q=0v9%*}ll{$>TPJXB^OgC#6<&e8>6tNFJKR*R?zik9l>r zw|gJ*d-AC6)%q5K>l5Lwlf4!F|0sEU1J|03K8hXnY&OqvIr4k>wr$Ak@v8lQQG<^Q diff --git a/resources/groundobject_templates.p b/resources/groundobject_templates.p index df95b3a1f60698f3d947b7b624b4ed1b8b265dc9..779eaef92d1ad683b1c51d42511db072e2d1ebfa 100644 GIT binary patch delta 71 zcmZ20{YrYnYF_&YCI$wE#KgkuwS_ml8Da}>))wB<$Y2EvJ31EL&S1~r&}=NcQ(Jgf XBZJ$UA%n-8p)@Ij7f2=+m+AokgT@!% delta 10 RcmaDQy;gd|YF?&NJpdUG1KR)q diff --git a/resources/tools/cau_terrain.miz b/resources/tools/cau_terrain.miz index 65610873a9a4b59130815175f255b5924e29f019..e2373b5e474108b4ca273355024003f0dd10870d 100644 GIT binary patch literal 78986 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%0DTcmd$xPr9%H;Hto-w^-5nPt(skUc{rs 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 literal 78316 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 Y4;oWbgh%-G13cuP6;i=cj$gI>f8W!0Gynhq diff --git a/resources/tools/generate_groundobject_templates.py b/resources/tools/generate_groundobject_templates.py index 2995a9c4..78f2cd3b 100644 --- a/resources/tools/generate_groundobject_templates.py +++ b/resources/tools/generate_groundobject_templates.py @@ -11,7 +11,7 @@ def load_templates(): temp_mis = Mission() temp_mis.load_file("resources/tools/groundobject_templates.miz") - groups = {} # type: typing.Dict[str, typing.Dict[int, typing.Collection[Static]]] + groups = {} # type: typing.Dict[str, typing.Dict[int, typing.List[Static]]] for static_group in temp_mis.country("USA").static_group: for static in static_group.units: @@ -42,6 +42,7 @@ def load_templates(): "heading": static.heading, }) + tpls["aa"] = {0: [{"type": "AA", "offset": Point(0, 0), "heading": 0}]} return tpls diff --git a/theater/base.py b/theater/base.py index 46850300..d88f3995 100644 --- a/theater/base.py +++ b/theater/base.py @@ -3,18 +3,20 @@ import typing import math import itertools -from game import db -from theater.controlpoint import ControlPoint - from dcs.planes import * from dcs.vehicles import * from dcs.task import * +from game import db + STRENGTH_AA_ASSEMBLE_MIN = 0.2 PLANES_SCRAMBLE_MIN_BASE = 4 PLANES_SCRAMBLE_MAX_BASE = 8 PLANES_SCRAMBLE_FACTOR = 0.6 +BASE_MAX_STRENGTH = 1 +BASE_MIN_STRENGTH = 0 + class Base: aircraft = {} # type: typing.Dict[PlaneType, int] @@ -136,10 +138,10 @@ class Base: def affect_strength(self, amount): self.strength += amount - if self.strength > 1: - self.strength = 1 - elif self.strength < 0: - self.strength = 0.001 + if self.strength > BASE_MAX_STRENGTH: + self.strength = BASE_MAX_STRENGTH + elif self.strength <= 0: + self.strength = BASE_MIN_STRENGTH def scramble_count(self, multiplier: float, task: Task = None) -> int: if task: diff --git a/theater/caucasus.py b/theater/caucasus.py index ca5bb3f6..0db76aec 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -25,12 +25,12 @@ class CaucasusTheater(ConflictTheater): kutaisi = ControlPoint.from_airport(caucasus.Kutaisi, LAND, SIZE_SMALL, IMPORTANCE_LOW) senaki = ControlPoint.from_airport(caucasus.Senaki_Kolkhi, LAND, SIZE_REGULAR, IMPORTANCE_LOW) kobuleti = ControlPoint.from_airport(caucasus.Kobuleti, COAST_A_E, SIZE_SMALL, 1.1) - batumi = ControlPoint.from_airport(caucasus.Batumi, COAST_DL_E, SIZE_SMALL, 1.3) + batumi = ControlPoint.from_airport(caucasus.Batumi, COAST_DL_E, SIZE_SMALL, 1.3, has_frontline=False) sukhumi = ControlPoint.from_airport(caucasus.Sukhumi_Babushara, COAST_DR_E, SIZE_REGULAR, 1.2) - gudauta = ControlPoint.from_airport(caucasus.Gudauta, COAST_DR_E, SIZE_REGULAR, 1.2) - sochi = ControlPoint.from_airport(caucasus.Sochi_Adler, COAST_DR_E, SIZE_BIG, IMPORTANCE_HIGH) + gudauta = ControlPoint.from_airport(caucasus.Gudauta, COAST_DR_E, SIZE_REGULAR, 1.2, has_frontline=False) + sochi = ControlPoint.from_airport(caucasus.Sochi_Adler, COAST_DR_E, SIZE_BIG, IMPORTANCE_HIGH, has_frontline=False) - gelendzhik = ControlPoint.from_airport(caucasus.Gelendzhik, COAST_DR_E, SIZE_BIG, 1.1) + gelendzhik = ControlPoint.from_airport(caucasus.Gelendzhik, COAST_DR_E, SIZE_BIG, 1.1, has_frontline=False) maykop = ControlPoint.from_airport(caucasus.Maykop_Khanskaya, LAND, SIZE_LARGE, IMPORTANCE_HIGH) krasnodar = ControlPoint.from_airport(caucasus.Krasnodar_Center, LAND, SIZE_LARGE, IMPORTANCE_HIGH) novorossiysk = ControlPoint.from_airport(caucasus.Novorossiysk, COAST_DR_E, SIZE_BIG, 1.2) @@ -75,6 +75,7 @@ class CaucasusTheater(ConflictTheater): self.carrier_1.captured = True self.soganlug.captured = True + self.gudauta.captured = True def add_controlpoint(self, point: ControlPoint, connected_to: typing.Collection[ControlPoint] = []): point.name = " ".join(re.split(r"[ -]", point.name)[:1]) diff --git a/theater/controlpoint.py b/theater/controlpoint.py index b418285a..25865e42 100644 --- a/theater/controlpoint.py +++ b/theater/controlpoint.py @@ -49,7 +49,7 @@ class ControlPoint: @classmethod def carrier(cls, name: str, at: Point): import theater.conflicttheater - return cls(0, name, at, at, theater.conflicttheater.LAND, theater.conflicttheater.SIZE_SMALL, 1) + return cls(0, name, at, at, theater.conflicttheater.LAND, theater.conflicttheater.SIZE_SMALL, 1, has_frontline=False) def __str__(self): return self.name diff --git a/theater/nevada.py b/theater/nevada.py index da04e2de..566ca762 100644 --- a/theater/nevada.py +++ b/theater/nevada.py @@ -13,7 +13,7 @@ class NevadaTheater(ConflictTheater): daytime_map = { "dawn": (4, 6), "day": (6, 17), - "dusk": (17, 19), + "dusk": (17, 18), "night": (0, 5), } diff --git a/theater/start_generator.py b/theater/start_generator.py index e3e70b2f..bf5d8a75 100644 --- a/theater/start_generator.py +++ b/theater/start_generator.py @@ -59,7 +59,7 @@ def generate_groundobjects(theater: ConflictTheater): group_id = 0 for cp in theater.enemy_points(): for _ in range(0, random.randrange(3, 6)): - available_categories = list(tpls) + available_categories = list(tpls) + ["aa", "aa", "aa"] tpl_category = random.choice(available_categories) tpl = random.choice(list(tpls[tpl_category].values())) @@ -87,7 +87,7 @@ def generate_groundobjects(theater: ConflictTheater): g.cp_id = cp.id g.dcs_identifier = object["type"] - g.heading = object["heading"], + g.heading = object["heading"] g.position = Point(point.x + object["offset"].x, point.y + object["offset"].y) cp.ground_objects.append(g) diff --git a/ui/overviewcanvas.py b/ui/overviewcanvas.py index d1323b06..ff88a217 100644 --- a/ui/overviewcanvas.py +++ b/ui/overviewcanvas.py @@ -80,8 +80,16 @@ class OverviewCanvas: self.canvas.create_line((coords[0], coords[1], connected_coords[0], connected_coords[1]), width=2, fill=color) if cp.captured and not connected_cp.captured and Conflict.has_frontline_between(cp, connected_cp): - frontline_pos, heading, distance = Conflict.frontline_vector(cp, connected_cp, self.game.theater) - distance = max(distance, 1000) + frontline = Conflict.frontline_vector(cp, connected_cp, self.game.theater) + if not frontline: + print(cp, connected_cp) + continue + + frontline_pos, heading, distance = frontline + if distance < 10000: + frontline_pos = frontline_pos.point_from_heading(heading + 180, 5000) + distance = 10000 + start_coords = self.transform_point(frontline_pos, treshold=10) end_coords = self.transform_point(frontline_pos.point_from_heading(heading, distance), treshold=60) From 520a0f91fd5d3199644eb7ce9a164c52cef929bf Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 03:13:33 +0300 Subject: [PATCH 43/63] UI update; enemy vehicle difficulty settings; minor adjustments --- game/db.py | 3 ++ game/operation/operation.py | 4 +- game/settings.py | 1 + gen/aaa.py | 5 +- gen/airsupportgen.py | 36 ++++++++------ gen/conflictgen.py | 32 ++---------- gen/groundobjectsgen.py | 4 ++ gen/triggergen.py | 8 +-- gen/visualgen.py | 3 ++ resources/caulandmap.p | Bin 28648 -> 42488 bytes resources/gulflandmap.p | Bin 42297 -> 66937 bytes resources/nevlandmap.p | Bin 0 -> 15544 bytes resources/tools/cau_terrain.miz | Bin 78986 -> 120764 bytes resources/tools/generate_landmap.py | 2 +- resources/tools/gulf_terrain.miz | Bin 104988 -> 176108 bytes theater/caucasus.py | 8 +-- theater/nevada.py | 4 +- theater/start_generator.py | 20 ++++++-- ui/basemenu.py | 74 +++++++++++++++------------- ui/configurationmenu.py | 37 ++++++++------ ui/mainmenu.py | 39 ++++++++++----- ui/styles.py | 5 +- 22 files changed, 165 insertions(+), 120 deletions(-) create mode 100644 resources/nevlandmap.p diff --git a/game/db.py b/game/db.py index dd29ae0a..6b4b863a 100644 --- a/game/db.py +++ b/game/db.py @@ -76,6 +76,7 @@ PRICES = { S_3B_Tanker: 13, IL_78M: 13, KC_135: 13, + KC130: 13, A_50: 8, E_3A: 8, @@ -172,6 +173,7 @@ UNIT_BY_TASK = { Refueling: [ IL_78M, KC_135, + KC130, ], AWACS: [E_3A, A_50, ], @@ -297,6 +299,7 @@ UNIT_BY_COUNTRY = { AV8BNA, KC_135, + KC130, S_3B_Tanker, C_130, E_3A, diff --git a/game/operation/operation.py b/game/operation/operation.py index 06384a79..fe7a898f 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -86,7 +86,9 @@ class Operation: # air support self.airsupportgen.generate(self.is_awacs_enabled) - self.briefinggen.append_frequency("Tanker", "10X/131 MHz AM") + for i, tanker_type in enumerate(self.airsupportgen.generated_tankers): + self.briefinggen.append_frequency("{} Tanker".format(tanker_type), "{}X/{} MHz AM".format(97+i, 130+i)) + if self.is_awacs_enabled: self.briefinggen.append_frequency("AWACS", "133 MHz AM") diff --git a/game/settings.py b/game/settings.py index 0b91e164..2014d1f4 100644 --- a/game/settings.py +++ b/game/settings.py @@ -2,6 +2,7 @@ class Settings: player_skill = "Good" enemy_skill = "Average" + enemy_vehicle_skill = "Average" only_player_takeoff = True night_disabled = False multiplier = 1 diff --git a/gen/aaa.py b/gen/aaa.py index b2811824..3aaf999a 100644 --- a/gen/aaa.py +++ b/gen/aaa.py @@ -4,7 +4,7 @@ from .naming import * from dcs.mission import * DISTANCE_FACTOR = 0.5, 1 -EXTRA_AA_MIN_DISTANCE = 35000 +EXTRA_AA_MIN_DISTANCE = 50000 EXTRA_AA_MAX_DISTANCE = 150000 EXTRA_AA_POSITION_FROM_CP = 550 @@ -59,6 +59,9 @@ class ExtraAAConflictGenerator: if cp.position.distance_to_point(self.conflict.from_cp.position) < EXTRA_AA_MIN_DISTANCE: continue + if cp.position.distance_to_point(self.conflict.to_cp.position) < EXTRA_AA_MIN_DISTANCE: + continue + if cp.position.distance_to_point(self.conflict.position) > EXTRA_AA_MAX_DISTANCE: continue diff --git a/gen/airsupportgen.py b/gen/airsupportgen.py index 7b3557cd..fb18d01f 100644 --- a/gen/airsupportgen.py +++ b/gen/airsupportgen.py @@ -10,16 +10,20 @@ from dcs.terrain.terrain import NoParkingSlotError TANKER_DISTANCE = 15000 TANKER_ALT = 10000 +TANKER_HEADING_OFFSET = 45 AWACS_DISTANCE = 150000 AWACS_ALT = 10000 class AirSupportConflictGenerator: + generated_tankers = None # type: typing.List[str] + def __init__(self, mission: Mission, conflict: Conflict, game): self.mission = mission self.conflict = conflict self.game = game + self.generated_tankers = [] @classmethod def support_tasks(cls) -> typing.Collection[typing.Type[MainTask]]: @@ -27,22 +31,24 @@ class AirSupportConflictGenerator: def generate(self, is_awacs_enabled): player_cp = self.conflict.from_cp if self.conflict.from_cp.captured else self.conflict.to_cp - tanker_unit = db.find_unittype(Refueling, self.conflict.attackers_side.name)[0] - tanker_heading = self.conflict.to_cp.position.heading_between_point(self.conflict.from_cp.position) - tanker_position = player_cp.position.point_from_heading(tanker_heading, TANKER_DISTANCE) - tanker_group = self.mission.refuel_flight( - country=self.mission.country(self.game.player), - name=namegen.next_tanker_name(self.mission.country(self.game.player)), - airport=None, - plane_type=tanker_unit, - position=tanker_position, - altitude=TANKER_ALT, - frequency=131, - start_type=StartType.Warm, - tacanchannel="99X", - ) - tanker_group.points[0].tasks.append(ActivateBeaconCommand(channel=10, unit_id=tanker_group.id, aa=False)) + for i, tanker_unit_type in enumerate(db.find_unittype(Refueling, self.conflict.attackers_side.name)): + self.generated_tankers.append(db.unit_type_name(tanker_unit_type)) + tanker_heading = self.conflict.to_cp.position.heading_between_point(self.conflict.from_cp.position) + TANKER_HEADING_OFFSET * i + tanker_position = player_cp.position.point_from_heading(tanker_heading, TANKER_DISTANCE) + tanker_group = self.mission.refuel_flight( + country=self.mission.country(self.game.player), + name=namegen.next_tanker_name(self.mission.country(self.game.player)), + airport=None, + plane_type=tanker_unit_type, + position=tanker_position, + altitude=TANKER_ALT, + frequency=130 + i, + start_type=StartType.Warm, + tacanchannel="{}X".format(97 + i), + ) + + tanker_group.points[0].tasks.append(ActivateBeaconCommand(channel=97 + i, unit_id=tanker_group.id, aa=False)) if is_awacs_enabled: awacs_unit = db.find_unittype(AWACS, self.conflict.attackers_side.name)[0] diff --git a/gen/conflictgen.py b/gen/conflictgen.py index f28f70f3..93744958 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -154,32 +154,6 @@ class Conflict: def has_frontline_between(cls, from_cp: ControlPoint, to_cp: ControlPoint) -> bool: return from_cp.has_frontline and to_cp.has_frontline - @classmethod - def frontline_position0(cls, from_cp: ControlPoint, to_cp: ControlPoint) -> typing.Tuple[Point, int]: - cp_distance = from_cp.position.distance_to_point(to_cp.position) - cp_distance -= cp_distance * to_cp.frontline_offset + cp_distance * from_cp.frontline_offset - - distance = max(cp_distance * FRONTLINE_DISTANCE_STRENGTH_FACTOR * to_cp.base.strength, FRONTLINE_MIN_CP_DISTANCE) - heading = to_cp.position.heading_between_point(from_cp.position) - return to_cp.position.point_from_heading(heading, distance), heading - - @classmethod - def frontline_position2(cls, theater: ConflictTheater, from_cp: ControlPoint, to_cp: ControlPoint) -> typing.Optional[typing.Tuple[Point, int]]: - attack_heading = from_cp.position.heading_between_point(to_cp.position) - attack_starting_position = cls._find_ground_position(from_cp.position, 200000, attack_heading, theater) - if not attack_starting_position: - return None - - attack_ending_position = cls._find_ground_position(to_cp.position, 200000, _opposite_heading(attack_heading), theater) - if not attack_ending_position: - return None - - attack_distance = attack_ending_position.distance_to_point(attack_starting_position) - strength_delta = (from_cp.base.strength - to_cp.base.strength) / 1.0 - middle_position = attack_starting_position.point_from_heading(attack_heading, attack_distance / 2) - - return middle_position.point_from_heading(attack_heading, strength_delta * attack_distance), _opposite_heading(attack_heading) - @classmethod def frontline_position(cls, theater: ConflictTheater, from_cp: ControlPoint, to_cp: ControlPoint) -> typing.Optional[typing.Tuple[Point, int]]: attack_heading = from_cp.position.heading_between_point(to_cp.position) @@ -190,10 +164,10 @@ class Conflict: position = middle_point.point_from_heading(attack_heading, strength_delta * attack_distance / 2 - FRONTLINE_MIN_CP_DISTANCE) ground_position = cls._find_ground_position(position, attack_distance / 2 - FRONTLINE_MIN_CP_DISTANCE, attack_heading, theater) if ground_position: - return ground_position, attack_heading + return ground_position, _opposite_heading(attack_heading) else: - print(from_cp, to_cp) - return None + print("Coudn't find frontline position between {} and {}!".format(from_cp, to_cp)) + return position, _opposite_heading(attack_heading) @classmethod diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index 08354825..871a18f6 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -8,6 +8,7 @@ from dcs.mission import * from dcs.statics import * FARP_FRONTLINE_DISTANCE = 10000 +AA_CP_MIN_DISTANCE = 40000 class GroundObjectsGenerator: @@ -47,6 +48,9 @@ class GroundObjectsGenerator: for ground_object in cp.ground_objects: if ground_object.dcs_identifier == "AA": + if ground_object.position.distance_to_point(self.conflict.from_cp.position) < AA_CP_MIN_DISTANCE: + continue + if ground_object.is_dead: continue diff --git a/gen/triggergen.py b/gen/triggergen.py index 0e87630e..d551d429 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -130,9 +130,9 @@ class TriggersGenerator: def _set_skill(self, player_coalition: str, enemy_coalition: str): for coalition_name, coalition in self.mission.coalition.items(): if coalition_name == player_coalition: - skill_level = self.game.settings.player_skill + skill_level = self.game.settings.player_skill, self.game.settings.player_skill elif coalition_name == enemy_coalition: - skill_level = self.game.settings.enemy_skill + skill_level = self.game.settings.enemy_skill, self.game.settings.enemy_vehicle_skill else: continue @@ -140,10 +140,10 @@ class TriggersGenerator: for plane_group in country.plane_group: for plane_unit in plane_group.units: if plane_unit.skill != Skill.Client and plane_unit.skill != Skill.Player: - plane_unit.skill = Skill(skill_level) + plane_unit.skill = Skill(skill_level[0]) for vehicle_group in country.vehicle_group: - vehicle_group.set_skill(Skill(skill_level)) + vehicle_group.set_skill(Skill(skill_level[1])) def generate(self, player_cp: ControlPoint, is_quick: bool, activation_trigger_radius: int, awacs_enabled: bool): player_coalition = self.game.player == "USA" and "blue" or "red" diff --git a/gen/visualgen.py b/gen/visualgen.py index 011765cf..227af12f 100644 --- a/gen/visualgen.py +++ b/gen/visualgen.py @@ -98,6 +98,9 @@ class VisualGenerator: def _generate_frontline_smokes(self): for from_cp, to_cp in self.game.theater.conflicts(): + if from_cp.is_global or to_cp.is_global: + continue + frontline = Conflict.frontline_position(self.game.theater, from_cp, to_cp) if not frontline: continue diff --git a/resources/caulandmap.p b/resources/caulandmap.p index 88ba4d3c5d26858790d44014a37fe3fb4fc72b7f..6edba188cdcc2e15852a7fb74c49228fac476da9 100644 GIT binary patch literal 42488 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 literal 28648 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 UZZ`W`Qzi0xcnP*p@%T*q4In=1vj6}9 delta 1169 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

    lQ=jy0=+@_k44<7QA6^x_ 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 UD1htd1mK`U4mKFp_j8y30O}15lmGw# literal 78986 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%0DTcmd$xPr9%H;Hto-w^-5nPt(skUc{rs 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 diff --git a/resources/tools/generate_landmap.py b/resources/tools/generate_landmap.py index e90293b1..fab94132 100644 --- a/resources/tools/generate_landmap.py +++ b/resources/tools/generate_landmap.py @@ -3,7 +3,7 @@ import pickle from dcs.mission import Mission from dcs.planes import A_10C -for terrain in ["cau", "gulf"]: +for terrain in ["cau", "gulf", "nev"]: m = Mission() m.load_file("./{}_terrain.miz".format(terrain)) diff --git a/resources/tools/gulf_terrain.miz b/resources/tools/gulf_terrain.miz index 01a262b0c8c20e8560bc48afdc9b527971dec411..6b5d6de7f72ff754a491a40aeeb1ac078baedc09 100644 GIT binary patch delta 152703 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ν{*FTkoFY3e=MyR6r#e@ai5ymm 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�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

    Yt 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 diff --git a/theater/caucasus.py b/theater/caucasus.py index 0db76aec..2e5b9bc4 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -25,12 +25,12 @@ class CaucasusTheater(ConflictTheater): kutaisi = ControlPoint.from_airport(caucasus.Kutaisi, LAND, SIZE_SMALL, IMPORTANCE_LOW) senaki = ControlPoint.from_airport(caucasus.Senaki_Kolkhi, LAND, SIZE_REGULAR, IMPORTANCE_LOW) kobuleti = ControlPoint.from_airport(caucasus.Kobuleti, COAST_A_E, SIZE_SMALL, 1.1) - batumi = ControlPoint.from_airport(caucasus.Batumi, COAST_DL_E, SIZE_SMALL, 1.3, has_frontline=False) + batumi = ControlPoint.from_airport(caucasus.Batumi, COAST_DL_E, SIZE_SMALL, 1.3) sukhumi = ControlPoint.from_airport(caucasus.Sukhumi_Babushara, COAST_DR_E, SIZE_REGULAR, 1.2) - gudauta = ControlPoint.from_airport(caucasus.Gudauta, COAST_DR_E, SIZE_REGULAR, 1.2, has_frontline=False) - sochi = ControlPoint.from_airport(caucasus.Sochi_Adler, COAST_DR_E, SIZE_BIG, IMPORTANCE_HIGH, has_frontline=False) + gudauta = ControlPoint.from_airport(caucasus.Gudauta, COAST_DR_E, SIZE_REGULAR, 1.2) + sochi = ControlPoint.from_airport(caucasus.Sochi_Adler, COAST_DR_E, SIZE_BIG, IMPORTANCE_HIGH) - gelendzhik = ControlPoint.from_airport(caucasus.Gelendzhik, COAST_DR_E, SIZE_BIG, 1.1, has_frontline=False) + gelendzhik = ControlPoint.from_airport(caucasus.Gelendzhik, COAST_DR_E, SIZE_BIG, 1.1) maykop = ControlPoint.from_airport(caucasus.Maykop_Khanskaya, LAND, SIZE_LARGE, IMPORTANCE_HIGH) krasnodar = ControlPoint.from_airport(caucasus.Krasnodar_Center, LAND, SIZE_LARGE, IMPORTANCE_HIGH) novorossiysk = ControlPoint.from_airport(caucasus.Novorossiysk, COAST_DR_E, SIZE_BIG, 1.2) diff --git a/theater/nevada.py b/theater/nevada.py index 566ca762..66b8b350 100644 --- a/theater/nevada.py +++ b/theater/nevada.py @@ -1,6 +1,7 @@ from dcs.terrain import nevada from dcs import mapping +from .landmap import * from .conflicttheater import * from .base import * @@ -10,6 +11,7 @@ class NevadaTheater(ConflictTheater): overview_image = "nevada.gif" reference_points = {(nevada.Mina_Airport_3Q0.position.x, nevada.Mina_Airport_3Q0.position.y): (45, -360), (nevada.Laughlin_Airport.position.x, nevada.Laughlin_Airport.position.y): (440, 80), } + landmap = load_landmap("resources\\nev_landmap.p") daytime_map = { "dawn": (4, 6), "day": (6, 17), @@ -32,7 +34,7 @@ class NevadaTheater(ConflictTheater): jean = ControlPoint.from_airport(nevada.Jean_Airport, LAND, SIZE_REGULAR, 1.2) laughlin = ControlPoint.from_airport(nevada.Laughlin_Airport, LAND, SIZE_LARGE, IMPORTANCE_HIGH) - def __init__(self, load_ground_objects=True): + def __init__(self): super(NevadaTheater, self).__init__() self.add_controlpoint(self.mina, connected_to=[self.tonopah]) diff --git a/theater/start_generator.py b/theater/start_generator.py index bf5d8a75..25c84412 100644 --- a/theater/start_generator.py +++ b/theater/start_generator.py @@ -47,12 +47,26 @@ def generate_groundobjects(theater: ConflictTheater): tpls = pickle.load(f) def find_location(on_ground, near, theater, min, max) -> typing.Optional[Point]: - for _ in range(500): + point = None + for _ in range(1000): p = near.random_point_within(max, min) if on_ground and theater.is_on_land(p): - return p + point = p elif not on_ground and theater.is_in_sea(p): - return p + point = p + + if point: + for angle in range(0, 360, 45): + p = point.point_from_heading(angle, 1000) + if on_ground and not theater.is_on_land(p): + point = None + break + elif not on_ground and not theater.is_in_sea(p): + point = None + break + + if point: + return point return None diff --git a/ui/basemenu.py b/ui/basemenu.py index 1e2e86f2..9fc1df79 100644 --- a/ui/basemenu.py +++ b/ui/basemenu.py @@ -18,53 +18,61 @@ class BaseMenu(Menu): def display(self): self.window.clear_right_pane() - row = 0 - - def purchase_row(unit_type, unit_price): - nonlocal row - - existing_units = self.base.total_units_of_type(unit_type) - scheduled_units = self.event.units.get(unit_type, 0) - - Label(self.frame, text="{}".format(db.unit_type_name(unit_type)), **STYLES["widget"]).grid(row=row, sticky=W) - - label = Label(self.frame, text="({})".format(existing_units), **STYLES["widget"]) - label.grid(column=1, row=row) - self.bought_amount_labels[unit_type] = label - - Label(self.frame, text="{}m".format(unit_price), **STYLES["widget"]).grid(column=2, row=row, sticky=E) - Button(self.frame, text="+", command=self.buy(unit_type), **STYLES["btn-primary"]).grid(column=3, row=row, padx=(10,0)) - Button(self.frame, text="-", command=self.sell(unit_type), **STYLES["btn-warning"]).grid(column=4, row=row, padx=(10,5)) - row += 1 - units = { - PinpointStrike: db.find_unittype(PinpointStrike, self.game.player), - Embarking: db.find_unittype(Embarking, self.game.player), - CAS: db.find_unittype(CAS, self.game.player), CAP: db.find_unittype(CAP, self.game.player), + Embarking: db.find_unittype(Embarking, self.game.player), AirDefence: db.find_unittype(AirDefence, self.game.player), + CAS: db.find_unittype(CAS, self.game.player), + PinpointStrike: db.find_unittype(PinpointStrike, self.game.player), } # Header head = Frame(self.frame, **STYLES["header"]) - head.grid(row=row, column=0, columnspan=5, sticky=NSEW, pady=5) + head.grid(row=0, column=0, columnspan=99, sticky=NSEW, pady=5) Label(head, text=self.cp.name, **STYLES["title"]).grid(row=0, column=0, sticky=NW+S) units_title = "{}/{}/{}".format(self.cp.base.total_planes, self.cp.base.total_armor, self.cp.base.total_aa) Label(head, text=units_title, **STYLES["strong-grey"]).grid(row=0, column=1, sticky=NE+S) - row += 1 self.budget_label = Label(self.frame, text="Budget: {}m".format(self.game.budget), **STYLES["widget"]) - self.budget_label.grid(row=row, sticky=W) - Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(column=4, row=row, padx=(0,15), pady=(0,5)) - row += 1 + self.budget_label.grid(row=1, sticky=W) + Button(self.frame, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(column=9, row=1, padx=(0,15), pady=(0,5)) - for task_type, units in units.items(): - Label(self.frame, text="{}".format(db.task_name(task_type)), **STYLES["strong"]).grid(row=row, columnspan=5, sticky=NSEW); row += 1 + tasks = list(units.keys()) + tasks_per_column = 3 - units = list(set(units)) - units.sort(key=lambda x: db.PRICES[x]) - for unit_type in units: - purchase_row(unit_type, db.PRICES[unit_type]) + column = 0 + for i, tasks_column in [(i, tasks[idx:idx+tasks_per_column]) for i, idx in enumerate(range(0, len(tasks), tasks_per_column))]: + row = 2 + + + def purchase_row(unit_type, unit_price): + nonlocal row + nonlocal column + + existing_units = self.base.total_units_of_type(unit_type) + scheduled_units = self.event.units.get(unit_type, 0) + + Label(self.frame, text="{}".format(db.unit_type_name(unit_type)), **STYLES["widget"]).grid(row=row, column=column, sticky=W) + + label = Label(self.frame, text="({})".format(existing_units), **STYLES["widget"]) + label.grid(column=column + 1, row=row) + self.bought_amount_labels[unit_type] = label + + Label(self.frame, text="{}m".format(unit_price), **STYLES["widget"]).grid(column=column + 2, row=row, sticky=E) + Button(self.frame, text="+", command=self.buy(unit_type), **STYLES["btn-primary"]).grid(column=column + 3, row=row, padx=(10,0)) + Button(self.frame, text="-", command=self.sell(unit_type), **STYLES["btn-warning"]).grid(column=column + 4, row=row, padx=(10,5)) + row += 1 + + for task_type in tasks_column: + Label(self.frame, text="{}".format(db.task_name(task_type)), **STYLES["strong"]).grid(row=row, column=column, columnspan=5, sticky=NSEW) + row += 1 + + units_column = list(set(units[task_type])) + units_column.sort(key=lambda x: db.PRICES[x]) + for unit_type in units_column: + purchase_row(unit_type, db.PRICES[unit_type]) + + column += 5 def dismiss(self): if sum([x for x in self.event.units.values()]) == 0: diff --git a/ui/configurationmenu.py b/ui/configurationmenu.py index 8702222f..e94ee4c1 100644 --- a/ui/configurationmenu.py +++ b/ui/configurationmenu.py @@ -18,6 +18,9 @@ class ConfigurationMenu(Menu): self.enemy_skill_var = StringVar() self.enemy_skill_var.set(self.game.settings.enemy_skill) + self.enemy_vehicle_var = StringVar() + self.enemy_vehicle_var.set(self.game.settings.enemy_vehicle_skill) + self.takeoff_var = BooleanVar() self.takeoff_var.set(self.game.settings.only_player_takeoff) @@ -30,6 +33,7 @@ class ConfigurationMenu(Menu): def dismiss(self): self.game.settings.player_skill = self.player_skill_var.get() self.game.settings.enemy_skill = self.enemy_skill_var.get() + self.game.settings.enemy_vehicle_skill = self.enemy_vehicle_var.get() self.game.settings.only_player_takeoff = self.takeoff_var.get() self.game.settings.night_disabled = self.night_var.get() self.game.settings.cold_start = self.cold_start_var.get() @@ -49,6 +53,7 @@ class ConfigurationMenu(Menu): Label(body, text="Player coalition skill", **STYLES["widget"]).grid(row=0, column=0, sticky=W) Label(body, text="Enemy coalition skill", **STYLES["widget"]).grid(row=1, column=0, sticky=W) + Label(body, text="Enemy AA and vehicle skill", **STYLES["widget"]).grid(row=2, column=0, sticky=W) p_skill = OptionMenu(body, self.player_skill_var, "Average", "Good", "High", "Excellent") p_skill.grid(row=0, column=1, sticky=E, pady=5) @@ -58,26 +63,30 @@ class ConfigurationMenu(Menu): e_skill.grid(row=1, column=1, sticky=E) e_skill.configure(**STYLES["btn-primary"]) - Label(body, text="Aircraft cold start", **STYLES["widget"]).grid(row=2, column=0, sticky=W) - Label(body, text="Takeoff only for player group", **STYLES["widget"]).grid(row=3, column=0, sticky=W) - Label(body, text="Disable night missions", **STYLES["widget"]).grid(row=4, column=0, sticky=W) + e_skill = OptionMenu(body, self.enemy_vehicle_var, "Average", "Good", "High", "Excellent") + e_skill.grid(row=2, column=1, sticky=E) + e_skill.configure(**STYLES["btn-primary"]) - Checkbutton(body, variable=self.cold_start_var, **STYLES["radiobutton"]).grid(row=2, column=1, sticky=E) - Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=3, column=1, sticky=E) - Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=4, column=1, sticky=E) + Label(body, text="Aircraft cold start", **STYLES["widget"]).grid(row=3, column=0, sticky=W) + Label(body, text="Takeoff only for player group", **STYLES["widget"]).grid(row=4, column=0, sticky=W) + Label(body, text="Disable night missions", **STYLES["widget"]).grid(row=5, column=0, sticky=W) - Button(body, text="Display logs", command=self.display_logs, **STYLES["btn-primary"]).grid(row=5, column=0, sticky=E, pady=30) - Button(body, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(row=5, column=1, sticky=E, pady=30) + Checkbutton(body, variable=self.cold_start_var, **STYLES["radiobutton"]).grid(row=3, column=1, sticky=E) + Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=5, column=1, sticky=E) + Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=5, column=1, sticky=E) - Label(body, text="Contributors: ", **STYLES["widget"]).grid(row=6, column=0, sticky=W) + Button(body, text="Display logs", command=self.display_logs, **STYLES["btn-primary"]).grid(row=6, column=0, sticky=E, pady=30) + Button(body, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(row=6, column=1, sticky=E, pady=30) - Label(body, text="shdwp - author, maintainer", **STYLES["widget"]).grid(row=7, column=0, sticky=W) - Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/shdwp"), **STYLES["widget"]).grid(row=7, column=1, sticky=E) + Label(body, text="Contributors: ", **STYLES["widget"]).grid(row=7, column=0, sticky=W) - Label(body, text="Khopa - contributions", **STYLES["widget"]).grid(row=8, column=0, sticky=W) - Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/Khopa"), **STYLES["widget"]).grid(row=8, column=1, sticky=E) + Label(body, text="shdwp - author, maintainer", **STYLES["widget"]).grid(row=8, column=0, sticky=W) + Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/shdwp"), **STYLES["widget"]).grid(row=9, column=1, sticky=E) - Button(body, text="Cheat +200m", command=self.cheat_money, **STYLES["btn-danger"]).grid(row=10, column=1, pady=30) + Label(body, text="Khopa - contributions", **STYLES["widget"]).grid(row=9, column=0, sticky=W) + Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/Khopa"), **STYLES["widget"]).grid(row=9, column=1, sticky=E) + + Button(body, text="Cheat +200m", command=self.cheat_money, **STYLES["btn-danger"]).grid(row=11, column=1, pady=30) def display_logs(self): raise ShowLogsException() diff --git a/ui/mainmenu.py b/ui/mainmenu.py index 07dac796..ed0f1721 100644 --- a/ui/mainmenu.py +++ b/ui/mainmenu.py @@ -28,17 +28,21 @@ class MainMenu(Menu): self.window.clear_right_pane() self.upd.update() - row = 0 # Header : header = Frame(self.frame, **STYLES["header"]) - Button(header, text="Configuration", command=self.configuration_menu, **STYLES["btn-primary"]).grid(column=0, row=0, sticky=NE) + Button(header, text="Configuration", command=self.configuration_menu, **STYLES["btn-primary"]).grid(column=0, row=0, sticky=NW) Label(header, text="Budget: {}m (+{}m)".format(self.game.budget, self.game.budget_reward_amount), **STYLES["strong"]).grid(column=1, row=0, sticky=NSEW, padx=50) - Button(header, text="Pass turn", command=self.pass_turn, **STYLES["btn-primary"]).grid(column=2, row=0, sticky=NW) - header.grid(column=0, row=0, sticky=N+EW) + Button(header, text="Pass turn", command=self.pass_turn, **STYLES["btn-primary"]).grid(column=2, row=0, sticky=NE) + header.grid(column=0, columnspan=99, row=0, sticky=N+EW) - body = LabelFrame(self.frame, **STYLES["body"]) - body.grid(column=0, row=1, sticky=NSEW) + events = self.game.events + events.sort(key=lambda x: x.to_cp.name) + events.sort(key=lambda x: x.from_cp.name) + events.sort(key=lambda x: x.informational and 2 or (self.game.is_player_attack(x) and 1 or 0)) + + column = 0 + row = 0 def label(text): nonlocal row, body @@ -58,21 +62,30 @@ class MainMenu(Menu): Button(body, text=">", command=self.start_event(event), **STYLES["btn-primary"]).grid(column=1, row=row, sticky=E) row += 1 + def departure_header(text): + nonlocal row, body + Label(body, text=text, **STYLES["strong"]).grid(column=0, columnspan=2, row=row, sticky=N+EW, pady=(0, 5)); row += 1 + def destination_header(text, pady=0): nonlocal row, body - Label(body, text=text, **STYLES["strong"]).grid(column=0, columnspan=2, row=row, sticky=N+EW, pady=(pady,0)); row += 1 - - events = self.game.events - events.sort(key=lambda x: x.to_cp.name) - events.sort(key=lambda x: x.from_cp.name) - events.sort(key=lambda x: x.informational and 2 or (self.game.is_player_attack(x) and 1 or 0)) + Label(body, text=text, **STYLES["substrong"]).grid(column=0, columnspan=2, row=row, sticky=N+EW, pady=(pady,0)); row += 1 destination = None + departure = None deliveries = False for event in events: if not event.informational: + if event.from_cp.name != departure: + body = LabelFrame(self.frame, **STYLES["body"]) + body.grid(column=column, row=1, sticky=NSEW) + row = 0 + column += 1 + + departure = event.from_cp.name + departure_header(event.from_cp.name) + if self.game.is_player_attack(event): - new_destination = "From {} to {}".format(event.from_cp.name, event.to_cp.name) + new_destination = "At {}".format(event.to_cp.name) else: new_destination = "Enemy attack" if destination != new_destination: diff --git a/ui/styles.py b/ui/styles.py index 10a2d48d..bd5911ec 100644 --- a/ui/styles.py +++ b/ui/styles.py @@ -12,6 +12,7 @@ GREEN = "#699245" YELLOW = "#BF9A46" RED = "#D0232E" BG_TITLE_COLOR = "#2D3E50" +BG_SUBTITLE_COLOR = "#3E4F61" # Fonts FONT_FAMILY = "Trebuchet MS" @@ -25,8 +26,9 @@ STYLES = {} STYLES["label-frame"] = {"font": BOLD_FONT, "bg": BG_COLOR, "fg": FG_COLOR} STYLES["frame-wrapper"] = {"bg": BG_COLOR, "relief":"sunken"} -STYLES["body"] = {"bg": BG_COLOR, "padx": 25, "pady": 35} +STYLES["body"] = {"bg": BG_COLOR, "padx": 10, "pady": 10} STYLES["strong"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR} +STYLES["substrong"] = {"font": BOLD_FONT, "bg": BG_SUBTITLE_COLOR, "fg": FG_COLOR} STYLES["strong-grey"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR_LIGHT} STYLES["mission-preview"] = {"font": BOLD_FONT, "bg": YELLOW, "fg": FG_COLOR} @@ -39,6 +41,7 @@ STYLES["title"] = {"bg": BG_TITLE_COLOR, "fg": FG_COLOR, "padx": PADDING_X, "pad STYLES["title-green"] = {"bg": GREEN, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": TITLE_FONT} STYLES["title-red"] = {"bg": RED, "fg": FG_COLOR, "padx": PADDING_X, "pady": PADDING_Y, "font": TITLE_FONT} STYLES["header"] = {"bg": BG_TITLE_COLOR} +STYLES["subheader"] = {"bg": BG_SUBTITLE_COLOR} STYLES["btn-primary"] = {"bg": GREEN, "fg": FG_COLOR, "padx": PADDING_X, "pady": 2, "font": DEFAULT_FONT} STYLES["btn-danger"] = {"bg": RED, "fg": FG_COLOR, "padx": PADDING_X, "pady": 2, "font": DEFAULT_FONT} From 64bd3e6a5243b1d46afac604ada5ad3002f0f185 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 03:17:41 +0300 Subject: [PATCH 44/63] removed debugging code --- theater/caucasus.py | 1 - 1 file changed, 1 deletion(-) diff --git a/theater/caucasus.py b/theater/caucasus.py index 2e5b9bc4..ca5bb3f6 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -75,7 +75,6 @@ class CaucasusTheater(ConflictTheater): self.carrier_1.captured = True self.soganlug.captured = True - self.gudauta.captured = True def add_controlpoint(self, point: ControlPoint, connected_to: typing.Collection[ControlPoint] = []): point.name = " ".join(re.split(r"[ -]", point.name)[:1]) From d6b1b8665d1fe1290d2673519fccca1e969b1727 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 03:37:32 +0300 Subject: [PATCH 45/63] minor fixes --- gen/armor.py | 4 +--- resources/caulandmap.p | Bin 42488 -> 47960 bytes resources/tools/cau_terrain.miz | Bin 120764 -> 136760 bytes theater/base.py | 2 ++ ui/basemenu.py | 3 +-- ui/eventmenu.py | 6 +----- ui/mainmenu.py | 18 +++++++++--------- ui/window.py | 2 +- 8 files changed, 15 insertions(+), 20 deletions(-) diff --git a/gen/armor.py b/gen/armor.py index a64cba4b..35fb049c 100644 --- a/gen/armor.py +++ b/gen/armor.py @@ -103,10 +103,8 @@ class ArmorConflictGenerator: attacker_groups = list(db.unitdict_split(attackers, single_fight_attackers_count)) for attacker_group_dict, target_group_dict in zip_longest(attacker_groups, defender_groups): - padding = FRONTLINE_CAS_PADDING if FRONTLINE_CAS_PADDING < self.conflict.distance else 0 - position = self.conflict.position.point_from_heading(self.conflict.heading, - random.randint(padding, int(self.conflict.distance - padding))) + random.randint(0, self.conflict.distance)) self._generate_fight_at(attacker_group_dict, target_group_dict, position) def generate_passengers(self, count: int): diff --git a/resources/caulandmap.p b/resources/caulandmap.p index 6edba188cdcc2e15852a7fb74c49228fac476da9..8fc89015f4bb5a03aeb6ddfdef9ed4c389a208bd 100644 GIT binary patch delta 11679 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 diff --git a/resources/tools/cau_terrain.miz b/resources/tools/cau_terrain.miz index b113c0b7ae754b596a0eeb6fa884a2ad5efba33a..cfd7c7df83908ca7e1d04753657a890027524e3b 100644 GIT binary patch literal 136760 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 UD1htd1mK`U4mKFp_j8y30O}15lmGw# diff --git a/theater/base.py b/theater/base.py index d88f3995..c9e020f9 100644 --- a/theater/base.py +++ b/theater/base.py @@ -127,9 +127,11 @@ class Base: elif unit_type in self.aa: target_array = self.aa else: + print("Base didn't find event type {}".format(unit_type)) continue if unit_type not in target_array: + print("Base didn't find event type {}".format(unit_type)) continue target_array[unit_type] = max(target_array[unit_type] - count, 0) diff --git a/ui/basemenu.py b/ui/basemenu.py index 9fc1df79..f2f76248 100644 --- a/ui/basemenu.py +++ b/ui/basemenu.py @@ -44,7 +44,6 @@ class BaseMenu(Menu): for i, tasks_column in [(i, tasks[idx:idx+tasks_per_column]) for i, idx in enumerate(range(0, len(tasks), tasks_per_column))]: row = 2 - def purchase_row(unit_type, unit_price): nonlocal row nonlocal column @@ -54,7 +53,7 @@ class BaseMenu(Menu): Label(self.frame, text="{}".format(db.unit_type_name(unit_type)), **STYLES["widget"]).grid(row=row, column=column, sticky=W) - label = Label(self.frame, text="({})".format(existing_units), **STYLES["widget"]) + label = Label(self.frame, text="({}) ".format(existing_units), **STYLES["widget"]) label.grid(column=column + 1, row=row) self.bought_amount_labels[unit_type] = label diff --git a/ui/eventmenu.py b/ui/eventmenu.py index 80eacf91..86e4a3b8 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -69,15 +69,11 @@ class EventMenu(Menu): row += 1 - threat_descr = self.event.threat_description - if threat_descr: - threat_descr = "Approx. {}".format(threat_descr) - # Header header("Mission Menu", "title") # Mission Description - Label(self.frame, text="{}. {}".format(self.event, threat_descr), **STYLES["mission-preview"]).grid(row=row, column=0, columnspan=5, sticky=S+EW, padx=5, pady=5) + Label(self.frame, text="{}".format(self.event), **STYLES["mission-preview"]).grid(row=row, column=0, columnspan=5, sticky=S+EW, padx=5, pady=5) row += 1 Label(self.frame, text="Amount", **STYLES["widget"]).grid(row=row, column=1, columnspan=2) diff --git a/ui/mainmenu.py b/ui/mainmenu.py index ed0f1721..f4917fa5 100644 --- a/ui/mainmenu.py +++ b/ui/mainmenu.py @@ -74,16 +74,16 @@ class MainMenu(Menu): departure = None deliveries = False for event in events: + if event.from_cp.name != departure: + body = LabelFrame(self.frame, **STYLES["body"]) + body.grid(column=column, row=1, sticky=NSEW) + row = 0 + column += 1 + + departure = event.from_cp.name + departure_header(event.from_cp.name) + if not event.informational: - if event.from_cp.name != departure: - body = LabelFrame(self.frame, **STYLES["body"]) - body.grid(column=column, row=1, sticky=NSEW) - row = 0 - column += 1 - - departure = event.from_cp.name - departure_header(event.from_cp.name) - if self.game.is_player_attack(event): new_destination = "At {}".format(event.to_cp.name) else: diff --git a/ui/window.py b/ui/window.py index a71c83cb..1feff330 100644 --- a/ui/window.py +++ b/ui/window.py @@ -11,7 +11,7 @@ class Window: self.tk = Tk() self.tk.title("DCS Liberation") self.tk.iconbitmap("icon.ico") - self.tk.resizable(True, True) + self.tk.resizable(False, False) self.tk.grid_columnconfigure(0, weight=1) self.tk.grid_rowconfigure(0, weight=1) From b81bf903191b1cb8903d786815aff19309343c22 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 03:46:53 +0300 Subject: [PATCH 46/63] few minor fixes --- ui/configurationmenu.py | 2 +- ui/mainmenu.py | 23 +++++++++++------------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/ui/configurationmenu.py b/ui/configurationmenu.py index e94ee4c1..d8b80140 100644 --- a/ui/configurationmenu.py +++ b/ui/configurationmenu.py @@ -72,7 +72,7 @@ class ConfigurationMenu(Menu): Label(body, text="Disable night missions", **STYLES["widget"]).grid(row=5, column=0, sticky=W) Checkbutton(body, variable=self.cold_start_var, **STYLES["radiobutton"]).grid(row=3, column=1, sticky=E) - Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=5, column=1, sticky=E) + Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=4, column=1, sticky=E) Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=5, column=1, sticky=E) Button(body, text="Display logs", command=self.display_logs, **STYLES["btn-primary"]).grid(row=6, column=0, sticky=E, pady=30) diff --git a/ui/mainmenu.py b/ui/mainmenu.py index f4917fa5..88f13bd8 100644 --- a/ui/mainmenu.py +++ b/ui/mainmenu.py @@ -36,11 +36,6 @@ class MainMenu(Menu): Button(header, text="Pass turn", command=self.pass_turn, **STYLES["btn-primary"]).grid(column=2, row=0, sticky=NE) header.grid(column=0, columnspan=99, row=0, sticky=N+EW) - events = self.game.events - events.sort(key=lambda x: x.to_cp.name) - events.sort(key=lambda x: x.from_cp.name) - events.sort(key=lambda x: x.informational and 2 or (self.game.is_player_attack(x) and 1 or 0)) - column = 0 row = 0 @@ -70,18 +65,25 @@ class MainMenu(Menu): nonlocal row, body Label(body, text=text, **STYLES["substrong"]).grid(column=0, columnspan=2, row=row, sticky=N+EW, pady=(pady,0)); row += 1 + events = self.game.events + events.sort(key=lambda x: x.to_cp.name) + events.sort(key=lambda x: x.from_cp.name) + events.sort(key=lambda x: x.informational and 1 or (self.game.is_player_attack(x) and 2 or 0)) + destination = None departure = None - deliveries = False + for event in events: - if event.from_cp.name != departure: + new_departure = event.from_cp.name if not event.informational else "Deliveries" + if new_departure != departure: body = LabelFrame(self.frame, **STYLES["body"]) body.grid(column=column, row=1, sticky=NSEW) row = 0 column += 1 - departure = event.from_cp.name - departure_header(event.from_cp.name) + departure = new_departure + departure_header(new_departure) + destination = None if not event.informational: if self.game.is_player_attack(event): @@ -93,9 +95,6 @@ class MainMenu(Menu): destination = new_destination if event.informational: - if not deliveries: - deliveries = True - destination_header("Deliveries", 15) label(str(event)) else: event_button(event) From 251435ae0b994572ef726bbd5e875cc89940d294 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 05:41:52 +0300 Subject: [PATCH 47/63] debriefing results based only on IDs; fixes in strike ops --- game/event/event.py | 5 ++- gen/groundobjectsgen.py | 2 +- userdata/debriefing.py | 78 +++++++++++++++++++---------------------- 3 files changed, 42 insertions(+), 43 deletions(-) diff --git a/game/event/event.py b/game/event/event.py index 7b9400c1..ea377e1c 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -106,9 +106,12 @@ class Event: continue for i, ground_object in enumerate(cp.ground_objects): + if ground_object.is_dead: + continue + if ground_object.matches_string_identifier(object_identifier): logging.info("cp {} killing ground object {}".format(cp, ground_object.string_identifier)) - ground_object.is_dead = True + cp.ground_objects[i].is_dead = True def skip(self): pass diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index 871a18f6..1ea5520f 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -85,4 +85,4 @@ class GroundObjectsGenerator: dead=ground_object.is_dead, ) - logging.info("generated object identifier {} with mission id {}".format(group.name, group.id)) + logging.info("generated {}object identifier {} with mission id {}".format("dead " if ground_object.is_dead else "", group.name, group.id)) diff --git a/userdata/debriefing.py b/userdata/debriefing.py index c3f65d55..71379164 100644 --- a/userdata/debriefing.py +++ b/userdata/debriefing.py @@ -60,52 +60,25 @@ def parse_mutliplayer_debriefing(contents: str): class Debriefing: - def __init__(self, dead_units, dead_objects): + def __init__(self, dead_units): self.destroyed_units = {} # type: typing.Dict[str, typing.Dict[UnitType, int]] self.alive_units = {} # type: typing.Dict[str, typing.Dict[UnitType, int]] self.destroyed_objects = [] # type: typing.List[str] self._dead_units = dead_units - self._dead_objects = dead_objects @classmethod def parse(cls, path: str): - dead_units = {} - dead_objects = [] - - def append_dead_unit(country_id, unit_type): - nonlocal dead_units - if country_id not in dead_units: - dead_units[country_id] = {} - - if unit_type not in dead_units[country_id]: - dead_units[country_id][unit_type] = 0 - - dead_units[country_id][unit_type] += 1 + dead_units = [] def append_dead_object(object_mission_id_str): - nonlocal dead_objects + nonlocal dead_units object_mission_id = int(object_mission_id_str) - if object_mission_id in dead_objects: + if object_mission_id in dead_units: logging.info("debriefing: failed to append_dead_object {}: already exists!".format(object_mission_id)) return - dead_objects.append(object_mission_id) - - def parse_dead_unit(event): - try: - components = event["initiator"].split("|") - category, country_id, group_id, unit_type = components[0], int(components[1]), int(components[2]), db.unit_type_from_name(components[3]) - if unit_type is None: - logging.info("Skipped {} due to no unit type".format(event)) - return - - if category == "unit": - append_dead_unit(country_id, unit_type) - else: - logging.info("Skipped {} due to category".format(event)) - except Exception as e: - logging.error(e) + dead_units.append(object_mission_id) def parse_dead_object(event): try: @@ -124,14 +97,18 @@ class Debriefing: for event in events.values(): event_type = event.get("type", None) if event_type in ["crash", "dead"]: + parse_dead_object(event) + + """ initiator_components = event["initiator"].split("|") if initiator_components[0] in CATEGORY_MAP: parse_dead_object(event) else: parse_dead_unit(event) + """ - return Debriefing(dead_units, dead_objects) + return Debriefing(dead_units) def calculate_units(self, mission: Mission, player_name: str, enemy_name: str): def count_groups(groups: typing.List[UnitType]) -> typing.Dict[UnitType, int]: @@ -159,21 +136,40 @@ class Debriefing: enemy_units = count_groups(enemy.plane_group + enemy.vehicle_group + enemy.ship_group) self.destroyed_units = { - player.name: self._dead_units.get(player.id, {}), - enemy.name: self._dead_units.get(enemy.id, {}), + player.name: {}, + enemy.name: {}, } + all_groups = { + player.name: player.plane_group + player.helicopter_group + player.vehicle_group + player.ship_group, + enemy.name: enemy.plane_group + enemy.helicopter_group + enemy.vehicle_group + enemy.ship_group, + } + + static_groups = enemy.static_group + + for country_name, country_groups in all_groups.items(): + for group in country_groups: + for unit in group.units: + if unit.id in self._dead_units: + logging.info("debriefing: found dead unit {} ({})".format(str(unit.name), unit.id)) + unit_klass = db.unit_type_from_name(unit.type) + self.destroyed_units[country_name][unit_klass] = self.destroyed_units[country_name].get(unit_klass, 0) + 1 + self._dead_units.remove(unit.id) + + for group in static_groups: + identifier = group.units[0].id + if identifier in self._dead_units: + logging.info("debriefing: found dead static {} ({})".format(str(group.name), identifier)) + self.destroyed_objects.append(str(group.name)) + self._dead_units.remove(identifier) + + print("debriefing: unsatistied ids: {}".format(self._dead_units)) + self.alive_units = { player.name: {k: v - self.destroyed_units[player.name].get(k, 0) for k, v in player_units.items()}, enemy.name: {k: v - self.destroyed_units[enemy.name].get(k, 0) for k, v in enemy_units.items()}, } - for mission_id in self._dead_objects: - for group in mission.country(enemy.name).static_group + mission.country(enemy.name).vehicle_group: - if mission_id in [x.id for x in group.units]: - logging.info("debriefing: connected id {} to group {}".format(mission_id, str(group.name))) - self.destroyed_objects.append(str(group.name)) - def debriefing_directory_location() -> str: return os.path.join(base_path(), "liberation_debriefings") From 07b35f8ee1d325da0f5dfcc320bf4c5e794629b2 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 05:45:28 +0300 Subject: [PATCH 48/63] specify tanker callsign in briefing --- game/operation/operation.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/game/operation/operation.py b/game/operation/operation.py index fe7a898f..e04b40d9 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -4,6 +4,8 @@ from userdata.debriefing import * from gen import * +TANKER_CALLSIGNS = ["Texaco", "Arco", "Shell"] + class Operation: attackers_starting_position = None # type: db.StartingPosition @@ -87,7 +89,7 @@ class Operation: # air support self.airsupportgen.generate(self.is_awacs_enabled) for i, tanker_type in enumerate(self.airsupportgen.generated_tankers): - self.briefinggen.append_frequency("{} Tanker".format(tanker_type), "{}X/{} MHz AM".format(97+i, 130+i)) + self.briefinggen.append_frequency("Tanker {} ({})".format(TANKER_CALLSIGNS[i], tanker_type), "{}X/{} MHz AM".format(97+i, 130+i)) if self.is_awacs_enabled: self.briefinggen.append_frequency("AWACS", "133 MHz AM") From f21bd10f09b426f13db8081aa58677b2762e1a05 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 21:32:43 +0300 Subject: [PATCH 49/63] number of minor bugfixes and UI improvements --- game/db.py | 4 +++ game/event/frontlineattack.py | 2 +- game/event/frontlinepatrol.py | 2 +- game/event/strike.py | 3 ++- game/game.py | 44 ++++++++++++++++++++++++-------- gen/triggergen.py | 2 +- resources/caulandmap.p | Bin 47960 -> 67280 bytes resources/tools/cau_terrain.miz | Bin 136760 -> 180806 bytes submodules/dcs | 2 +- ui/eventmenu.py | 6 ++--- ui/eventresultsmenu.py | 2 +- ui/mainmenu.py | 30 ++++++++++++---------- ui/styles.py | 1 + 13 files changed, 66 insertions(+), 32 deletions(-) diff --git a/game/db.py b/game/db.py index 6b4b863a..88de9284 100644 --- a/game/db.py +++ b/game/db.py @@ -343,6 +343,10 @@ PLANE_PAYLOAD_OVERRIDES = { CAP: "AIM-120*4,AIM-9*2,AIM-7*2,Fuel", }, + Su_25T: { + CAS: "APU-8 Vikhr-M*2,Kh-25ML,R-73*2,SPPU-22*2,Mercury LLTV Pod,MPS-410", + }, + Su_33: { CAP: "R-73*4,R-27R*2,R-27ER*6", }, diff --git a/game/event/frontlineattack.py b/game/event/frontlineattack.py index 5560c714..a4a923b0 100644 --- a/game/event/frontlineattack.py +++ b/game/event/frontlineattack.py @@ -8,7 +8,7 @@ class FrontlineAttackEvent(Event): TARGET_AMOUNT_FACTOR = 0.5 ATTACKER_AMOUNT_FACTOR = 0.4 ATTACKER_DEFENDER_FACTOR = 0.7 - STRENGTH_INFLUENCE = 0.2 + STRENGTH_INFLUENCE = 0.3 SUCCESS_FACTOR = 1.5 defenders = None # type: db.ArmorDict diff --git a/game/event/frontlinepatrol.py b/game/event/frontlinepatrol.py index 4e137533..ef891c3e 100644 --- a/game/event/frontlinepatrol.py +++ b/game/event/frontlinepatrol.py @@ -5,7 +5,7 @@ from userdata.debriefing import Debriefing class FrontlinePatrolEvent(Event): ESCORT_FACTOR = 0.5 - STRENGTH_INFLUENCE = 0.2 + STRENGTH_INFLUENCE = 0.3 SUCCESS_FACTOR = 0.8 cas = None # type: db.PlaneDict diff --git a/game/event/strike.py b/game/event/strike.py index 5785b7cc..e8bea076 100644 --- a/game/event/strike.py +++ b/game/event/strike.py @@ -5,7 +5,7 @@ from .event import * class StrikeEvent(Event): STRENGTH_INFLUENCE = 0.0 - SINGLE_OBJECT_STRENGTH_INFLUENCE = 0.03 + SINGLE_OBJECT_STRENGTH_INFLUENCE = 0.05 def __str__(self): return "Strike" @@ -39,6 +39,7 @@ class StrikeEvent(Event): def commit(self, debriefing: Debriefing): super(StrikeEvent, self).commit(debriefing) + self.to_cp.base.affect_strength(-self.SINGLE_OBJECT_STRENGTH_INFLUENCE * len(debriefing.destroyed_objects)) def player_attacking(self, flights: db.TaskForceDict): diff --git a/game/game.py b/game/game.py index 3fee2d3c..c73f519c 100644 --- a/game/game.py +++ b/game/game.py @@ -25,7 +25,7 @@ COMMISION_LIMITS_FACTORS = { COMMISION_AMOUNTS_SCALE = 1.5 COMMISION_AMOUNTS_FACTORS = { - PinpointStrike: 6, + PinpointStrike: 3, CAS: 1, CAP: 2, AirDefence: 0.3, @@ -33,30 +33,39 @@ COMMISION_AMOUNTS_FACTORS = { PLAYER_INTERCEPT_GLOBAL_PROBABILITY_BASE = 30 PLAYER_INTERCEPT_GLOBAL_PROBABILITY_LOG = 2 -PLAYER_BASEATTACK_THRESHOLD = 0.2 +PLAYER_BASEATTACK_THRESHOLD = 0.4 """ Various events probabilities. First key is player probabilty, second is enemy probability. For the enemy events, only 1 event of each type could be generated for a turn. Events: -* CaptureEvent - capture base +* BaseAttackEvent - capture base * InterceptEvent - air intercept -* FrontlineAttack - frontline attack -* GroundAttackEvent - destroy insurgents +* FrontlineAttackEvent - frontline attack +* FrontlineCAPEvent - frontline attack * NavalInterceptEvent - naval intercept -* AntiAAStrikeEvent - anti-AA strike +* StrikeEvent - strike event * InfantryTransportEvent - helicopter infantry transport """ EVENT_PROBABILITIES = { - BaseAttackEvent: [100, 15], + # events always present; only for the player FrontlineAttackEvent: [100, 0], FrontlinePatrolEvent: [100, 0], StrikeEvent: [100, 0], - InterceptEvent: [25, 15], - InsurgentAttackEvent: [0, 10], - NavalInterceptEvent: [25, 15], + + # events randomly present; only for the player InfantryTransportEvent: [25, 0], + + # events conditionally present; for both enemy and player + BaseAttackEvent: [100, 15], + + # events randomly present; for both enemy and player + InterceptEvent: [25, 15], + NavalInterceptEvent: [25, 15], + + # events randomly present; only for the enemy + InsurgentAttackEvent: [0, 10], } # amount of strength player bases recover for the turn @@ -117,47 +126,62 @@ class Game: for event_class, (player_probability, enemy_probability) in EVENT_PROBABILITIES.items(): if event_class in [FrontlineAttackEvent, FrontlinePatrolEvent, InfantryTransportEvent]: + # skip events requiring frontline if not Conflict.has_frontline_between(player_cp, enemy_cp): continue if player_cp.is_global: + # skip events requiring ground CP if event_class not in [InterceptEvent, StrikeEvent, NavalInterceptEvent]: continue if player_probability == 100 or self._roll(player_probability, player_cp.base.strength): if event_class == NavalInterceptEvent and enemy_cp.radials == LAND: + # skip naval events for non-coastal CPs pass else: if event_class == BaseAttackEvent and enemy_cp.base.strength > PLAYER_BASEATTACK_THRESHOLD: + # skip base attack events for CPs yet too strong pass else: if event_class == StrikeEvent and not enemy_cp.ground_objects: + # skip strikes in case of no targets pass else: + # finally append the event self.events.append(event_class(self.player, self.enemy, player_cp, enemy_cp, self)) elif enemy_probability == 100 or self._roll(enemy_probability, enemy_cp.base.strength): if event_class in enemy_generated_types: + # skip already generated event types continue if player_cp in self.ignored_cps: + # skip attacks against ignored CPs (for example just captured ones) continue if enemy_cp.base.total_planes == 0: + # skip event if there's no planes on the base continue if event_class == NavalInterceptEvent: if player_cp.radials == LAND: + # skip naval events for non-coastal CPs continue elif event_class == StrikeEvent: if not player_cp.ground_objects: + # skip strikes if there's no ground objects continue elif event_class == BaseAttackEvent: if enemy_cap_generated: + # skip base attack event if there's another one going on continue if enemy_cp.base.total_armor == 0: + # skip base attack if there's no armor continue + enemy_cap_generated = True + # finally append the event enemy_generated_types.append(event_class) self.events.append(event_class(self.enemy, self.player, enemy_cp, player_cp, self)) diff --git a/gen/triggergen.py b/gen/triggergen.py index d551d429..aa3f06c0 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -23,7 +23,7 @@ REGROUP_ALT = 5000 TRIGGER_WAYPOINT_OFFSET = 2 TRIGGER_MIN_DISTANCE_FROM_START = 10000 -TRIGGER_RADIUS_MINIMUM = 25000 +TRIGGER_RADIUS_MINIMUM = 20000 TRIGGER_RADIUS_SMALL = 30000 TRIGGER_RADIUS_MEDIUM = 100000 diff --git a/resources/caulandmap.p b/resources/caulandmap.p index 8fc89015f4bb5a03aeb6ddfdef9ed4c389a208bd..f07d541f9aeecaee0c096ae22b1aa0fde9b35e57 100644 GIT binary patch literal 67280 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 R281Kuhuhg9&&Q+O{{cT+u}J^` literal 47960 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 diff --git a/resources/tools/cau_terrain.miz b/resources/tools/cau_terrain.miz index cfd7c7df83908ca7e1d04753657a890027524e3b..036747699a023809ab69e180dd4a2fd71a9ebf40 100644 GIT binary patch literal 180806 zcmZsCbzD?k*EXesN`rLH00IKiT@pixq;v?<-Q6OcLrDnIDqTZ^64KH!G$J4|G(!%2 z<1KhU&-c9lp5NMQU3;x-uYH}p&rwlC#~?yML%~ErL7_#_v8o)52BV>zzA-?#hkRmZ z<>F%HV81=D=Rzs(&UAWmMP%kX!&~eweA3?`=DKB1e%v!&`kpE=COJn=gSbRK5KU5^ z0qTEpj3W1l;yKrH!q-^JMRf+Zx&#SYF8qx)f#oaltIf^9jN*(fhpTc2|6`-J^TO*x zjv;%F>tomiY&9yN-fJJex|(5eZFAPYT29@%bd7*#7+s%d^lyfSL;fk-%sGb2s3+i^lI7*P%RH ze7}jN^=M_+&uf20z3t>mQCw^{V~a!!;IPoWxYxUNjhOF(&CgCrIdp{WdL7wEQ*9}? zt_&w1Iqv(O;x&6+9PI4Xx*m4ma+H^Gh@ZH$T|)fMYn8n&S{?CeM3;(44%gW~=7o8? z8jGIK;_mi?b|>Zs=eznZve9S)KDPy&K^EG&11|OoeUI3WjcXV3m7BesPFF6j2rqWf zFE@XPUma|o%`b{Jzj-*Y*m{vMg@{{RFuXdR=8MMTu}Th6+RQ~5o1Ti32zFE=*Nd{hJKJ4hPIMhd_0PWEg>~>78nw1G!Nm9W@9lrNcd)eB+J;AiSY5GM8r~4~#?qQ{*s)&} zYiklL=Dt2Hp?<$Nc;dkBa1Co-_+|8cW4{Qt24Cc`H}ds}WkPH;_`w1Ghy5`>^V+cq$5srr|%XH^5ZB&SzuGQm=;-+lz7M2Bl!{&yDs{=PDkF(9=Rah5VUlYNv z*`fFI7ae}S+!N*BcEwszpG;p)a&Uuf5(!uREul(U`%saq;U4>+-w~HMx?we#q{F z-RyIk=BC1IL|51BI*G$Vs}~#wGCPY)t#iP^t-BU&>(PDvPVb4e z>6a~EdtIltQwI&op$nePiVK!|tO{8lwY^Q5Ya3skRmM5Ko(q7M;}6t-dPASP`n8+* zgz32W#ABC)gJ!YidP*)Ku2H7%!NduNvX~$ovDM!l z;C+4mGx4w~An3F=XV>V*3P1X;QLf09-H9z7g@IMN~_*a{#`4 z;m*BK{~{nj-;;wMbU7UU4Pn_H7 zZ0!s-v9*eO?RZ9mTNgEyVj&X{aCYbscXc4_3s38oz2<>W|H{TeoG!LpyuDifF-Rls zLrxPg;&HI-Ds~>Z=+4sW8Gd54M@4fE4`}q=@7nc0IawT8Ux-|cZ6R($9No2CMGRH@ zb1XU>2DJL>>YO=p+aVs|tg0CNj_8zx8P~SN`JKjpCy%hP^|Wr+a8cinOV#x#XT5vz zw3l;{#OTDKr!HFr-QUO0IdjWM8yk5OqV#F`M<)+Nn&J%WtRH@FWT*VRpPqbJcI!zcm!FmD+}QklZ(hyJvs@l}?i9 zeop)400=fRr%>*;C?b5mlI?y!Zv8QJEFz@3zQxnY?eL=iO`?vG*og=KP}>=zy2!VC zc559saf4$~6y$v{wAuEfslRlg$U|$+f@OUy_M&skYCdRD$)Qb;MGi%|{u@qd-TBib zLnDLh(?M}|ht6t;?x7#4cODG+Ut|QF?{9S5P;IX0DFvFu#b+I)4h z5U|z$;≠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 E05(QX7ytkO literal 136760 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 AWACS_BUDGET_COST and NORMAL or DISABLED - Checkbutton(self.frame, var=self.awacs, state=awacs_enabled, **STYLES["radiobutton"]).grid(row=row, column=2, sticky=E) Label(self.frame, text="AWACS ({}m)".format(AWACS_BUDGET_COST), **STYLES["widget"]).grid(row=row, column=0, sticky=W, pady=5) + Checkbutton(self.frame, var=self.awacs, state=awacs_enabled, **STYLES["radiobutton"]).grid(row=row, column=4, sticky=E) row += 1 Label(self.frame, text="Combined Arms Slots", **STYLES["widget"]).grid(row=row, sticky=W) self.ca_slot_entry = Entry(self.frame, width=2) self.ca_slot_entry.insert(0, "0") - self.ca_slot_entry.grid(column=1, row=row, sticky=W, padx=5) - Button(self.frame, text="+", command=self.add_ca_slot, **STYLES["btn-primary"]).grid(column=2, row=row, padx=5, sticky=W) + self.ca_slot_entry.grid(column=3, row=row, sticky=E, padx=5) + Button(self.frame, text="+", command=self.add_ca_slot, **STYLES["btn-primary"]).grid(column=4, row=row, padx=5, sticky=W) row += 1 header("Ready?") diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index 5f4e3ec9..40d7ef05 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -118,7 +118,7 @@ class EventResultsMenu(Menu): def simulate_result(self, player_factor: float, enemy_factor: float): def action(): - debriefing = Debriefing({}, []) + debriefing = Debriefing({}) def count(country: Country) -> typing.Dict[UnitType, int]: result = {} diff --git a/ui/mainmenu.py b/ui/mainmenu.py index 88f13bd8..dd828da1 100644 --- a/ui/mainmenu.py +++ b/ui/mainmenu.py @@ -50,20 +50,21 @@ class MainMenu(Menu): nonlocal row, body frame = LabelFrame(body, **STYLES["label-frame"]) frame.grid(row=row, sticky=NSEW) - Message(frame, text="{}{}".format( - event.defender_name == self.game.player and "Enemy attacking: " or "", + Message(frame, text="{}".format( event ), aspect=1600, **STYLES["widget"]).grid(column=0, row=0, sticky=NSEW) Button(body, text=">", command=self.start_event(event), **STYLES["btn-primary"]).grid(column=1, row=row, sticky=E) row += 1 - def departure_header(text): + def departure_header(text, style="strong"): nonlocal row, body - Label(body, text=text, **STYLES["strong"]).grid(column=0, columnspan=2, row=row, sticky=N+EW, pady=(0, 5)); row += 1 + Label(body, text=text, **STYLES[style]).grid(column=0, columnspan=2, row=row, sticky=N+EW, pady=(0, 5)) + row += 1 - def destination_header(text, pady=0): + def destination_header(text): nonlocal row, body - Label(body, text=text, **STYLES["substrong"]).grid(column=0, columnspan=2, row=row, sticky=N+EW, pady=(pady,0)); row += 1 + Label(body, text=text, **STYLES["substrong"]).grid(column=0, columnspan=2, row=row, sticky=N+EW) + row += 1 events = self.game.events events.sort(key=lambda x: x.to_cp.name) @@ -74,22 +75,25 @@ class MainMenu(Menu): departure = None for event in events: - new_departure = event.from_cp.name if not event.informational else "Deliveries" + if event.informational: + new_departure = "Deliveries" + elif not self.game.is_player_attack(event): + new_departure = "Enemy attack" + else: + new_departure = event.from_cp.name + if new_departure != departure: body = LabelFrame(self.frame, **STYLES["body"]) - body.grid(column=column, row=1, sticky=NSEW) + body.grid(column=column, row=1, sticky=N+EW) row = 0 column += 1 departure = new_departure - departure_header(new_departure) + departure_header(new_departure, style="strong" if self.game.is_player_attack(event) else "supstrong") destination = None if not event.informational: - if self.game.is_player_attack(event): - new_destination = "At {}".format(event.to_cp.name) - else: - new_destination = "Enemy attack" + new_destination = "At {}".format(event.to_cp.name) if destination != new_destination: destination_header(new_destination) destination = new_destination diff --git a/ui/styles.py b/ui/styles.py index bd5911ec..66aab755 100644 --- a/ui/styles.py +++ b/ui/styles.py @@ -29,6 +29,7 @@ STYLES["frame-wrapper"] = {"bg": BG_COLOR, "relief":"sunken"} STYLES["body"] = {"bg": BG_COLOR, "padx": 10, "pady": 10} STYLES["strong"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR} STYLES["substrong"] = {"font": BOLD_FONT, "bg": BG_SUBTITLE_COLOR, "fg": FG_COLOR} +STYLES["supstrong"] = {"font": BOLD_FONT, "bg": RED, "fg": FG_COLOR} STYLES["strong-grey"] = {"font": BOLD_FONT, "bg": BG_TITLE_COLOR, "fg": FG_COLOR_LIGHT} STYLES["mission-preview"] = {"font": BOLD_FONT, "bg": YELLOW, "fg": FG_COLOR} From 6b96410ea4e4609ff47cf63c461acfd70ddaee19 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 22:29:37 +0300 Subject: [PATCH 50/63] updated config menu --- ui/configurationmenu.py | 58 +++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/ui/configurationmenu.py b/ui/configurationmenu.py index d8b80140..f43fdc36 100644 --- a/ui/configurationmenu.py +++ b/ui/configurationmenu.py @@ -44,49 +44,61 @@ class ConfigurationMenu(Menu): # Header head = Frame(self.frame, **STYLES["header"]) - head.grid(row=0, column=0, columnspan=2, sticky=NSEW) - Label(head, text="Configuration", **STYLES["title"]).grid() + head.grid(row=0, column=0, sticky=NSEW) + head.grid_columnconfigure(0, weight=100) + Label(head, text="Configuration", **STYLES["title"]).grid(row=0, sticky=W) + Button(head, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(row=0, column=1, sticky=E) # Body body = Frame(self.frame, **STYLES["body"]) body.grid(row=1, column=0, sticky=NSEW) + row = 0 - Label(body, text="Player coalition skill", **STYLES["widget"]).grid(row=0, column=0, sticky=W) - Label(body, text="Enemy coalition skill", **STYLES["widget"]).grid(row=1, column=0, sticky=W) - Label(body, text="Enemy AA and vehicle skill", **STYLES["widget"]).grid(row=2, column=0, sticky=W) - + Label(body, text="Player coalition skill", **STYLES["widget"]).grid(row=row, column=0, sticky=W) p_skill = OptionMenu(body, self.player_skill_var, "Average", "Good", "High", "Excellent") - p_skill.grid(row=0, column=1, sticky=E, pady=5) + p_skill.grid(row=row, column=1, sticky=E, pady=5) p_skill.configure(**STYLES["btn-primary"]) + row += 1 + Label(body, text="Enemy coalition skill", **STYLES["widget"]).grid(row=row, column=0, sticky=W) e_skill = OptionMenu(body, self.enemy_skill_var, "Average", "Good", "High", "Excellent") - e_skill.grid(row=1, column=1, sticky=E) + e_skill.grid(row=row, column=1, sticky=E) e_skill.configure(**STYLES["btn-primary"]) + row += 1 + Label(body, text="Enemy AA and vehicle skill", **STYLES["widget"]).grid(row=row, column=0, sticky=W) e_skill = OptionMenu(body, self.enemy_vehicle_var, "Average", "Good", "High", "Excellent") - e_skill.grid(row=2, column=1, sticky=E) + e_skill.grid(row=row, column=1, sticky=E) e_skill.configure(**STYLES["btn-primary"]) + row += 1 - Label(body, text="Aircraft cold start", **STYLES["widget"]).grid(row=3, column=0, sticky=W) - Label(body, text="Takeoff only for player group", **STYLES["widget"]).grid(row=4, column=0, sticky=W) - Label(body, text="Disable night missions", **STYLES["widget"]).grid(row=5, column=0, sticky=W) + Label(body, text="Aircraft cold start", **STYLES["widget"]).grid(row=row, column=0, sticky=W) + Checkbutton(body, variable=self.cold_start_var, **STYLES["radiobutton"]).grid(row=row, column=1, sticky=E) + row += 1 - Checkbutton(body, variable=self.cold_start_var, **STYLES["radiobutton"]).grid(row=3, column=1, sticky=E) - Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=4, column=1, sticky=E) - Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=5, column=1, sticky=E) + Label(body, text="Takeoff only for player group", **STYLES["widget"]).grid(row=row, column=0, sticky=W) + Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=row, column=1, sticky=E) + row += 1 - Button(body, text="Display logs", command=self.display_logs, **STYLES["btn-primary"]).grid(row=6, column=0, sticky=E, pady=30) - Button(body, text="Back", command=self.dismiss, **STYLES["btn-primary"]).grid(row=6, column=1, sticky=E, pady=30) + Label(body, text="Disable night missions", **STYLES["widget"]).grid(row=row, column=0, sticky=W) + Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=row, column=1, sticky=E) + row += 1 - Label(body, text="Contributors: ", **STYLES["widget"]).grid(row=7, column=0, sticky=W) + Button(body, text="Display logs", command=self.display_logs, **STYLES["btn-primary"]).grid(row=row, column=1, sticky=E, pady=30) + row += 1 - Label(body, text="shdwp - author, maintainer", **STYLES["widget"]).grid(row=8, column=0, sticky=W) - Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/shdwp"), **STYLES["widget"]).grid(row=9, column=1, sticky=E) + Label(body, text="Contributors: ", **STYLES["strong"]).grid(row=row, column=0, columnspan=2, sticky=EW) + row += 1 - Label(body, text="Khopa - contributions", **STYLES["widget"]).grid(row=9, column=0, sticky=W) - Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/Khopa"), **STYLES["widget"]).grid(row=9, column=1, sticky=E) + Label(body, text="shdwp - author, maintainer", **STYLES["widget"]).grid(row=row, column=0, sticky=W) + Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/shdwp"), **STYLES["widget"]).grid(row=row, column=1, sticky=E) + row += 1 - Button(body, text="Cheat +200m", command=self.cheat_money, **STYLES["btn-danger"]).grid(row=11, column=1, pady=30) + Label(body, text="Khopa - contributions", **STYLES["widget"]).grid(row=row, column=0, sticky=W) + Button(body, text="[github]", command=lambda: webbrowser.open_new_tab("http://github.com/Khopa"), **STYLES["widget"]).grid(row=row, column=1, sticky=E) + row += 1 + + Button(body, text="Cheat +200m", command=self.cheat_money, **STYLES["btn-danger"]).grid(row=row, column=1, pady=30) def display_logs(self): raise ShowLogsException() From ff08888385fd0361045786703d6f528b0f543a23 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 22:38:26 +0300 Subject: [PATCH 51/63] minor adjustment in strike objectives generation --- resources/tools/generate_example_groundobjects.py | 8 +++++--- theater/start_generator.py | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/resources/tools/generate_example_groundobjects.py b/resources/tools/generate_example_groundobjects.py index 1ca30ab7..0189dc6b 100644 --- a/resources/tools/generate_example_groundobjects.py +++ b/resources/tools/generate_example_groundobjects.py @@ -3,7 +3,9 @@ import typing from dcs.mission import * from dcs.terrain import * +from theater.nevada import * from theater.persiangulf import * +from theater.caucasus import * from theater.controlpoint import * def find_ground_location(near, theater, max, min) -> typing.Optional[Point]: @@ -15,8 +17,8 @@ def find_ground_location(near, theater, max, min) -> typing.Optional[Point]: return None -mission = Mission(PersianGulf()) -theater = PersianGulfTheater() +mission = Mission(Nevada()) +theater = NevadaTheater() for cp in theater.enemy_points(): for _ in range(0, random.randrange(3, 6)): @@ -33,4 +35,4 @@ for cp in theater.enemy_points(): 10000 ) -mission.save("resources/tools/a.miz") +mission.save("resources/tools/ground_objects_example.miz") diff --git a/theater/start_generator.py b/theater/start_generator.py index 25c84412..6f598cec 100644 --- a/theater/start_generator.py +++ b/theater/start_generator.py @@ -57,7 +57,7 @@ def generate_groundobjects(theater: ConflictTheater): if point: for angle in range(0, 360, 45): - p = point.point_from_heading(angle, 1000) + p = point.point_from_heading(angle, 2500) if on_ground and not theater.is_on_land(p): point = None break From ce43be0d67df1c9bb65a3f7322745ed7a745c49e Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 23:31:00 +0300 Subject: [PATCH 52/63] display strike objectives on map; minor fixes --- __init__.py | 2 +- game/game.py | 116 +++++++++++++++++++++++-------------------- theater/caucasus.py | 4 +- ui/mainmenu.py | 18 ++++--- ui/overviewcanvas.py | 8 +++ 5 files changed, 83 insertions(+), 65 deletions(-) diff --git a/__init__.py b/__init__.py index 8efa047b..a098a56c 100755 --- a/__init__.py +++ b/__init__.py @@ -43,7 +43,7 @@ def is_version_compatible(save_version): if current_version_components == save_version_components: return True - if save_version == "1.4_rc1": + if save_version in ["1.4_rc1", "1.4_rc2", "1.4_rc3"]: return False if current_version_components[:2] == save_version_components[:2]: diff --git a/game/game.py b/game/game.py index c73f519c..ba54dc8d 100644 --- a/game/game.py +++ b/game/game.py @@ -58,14 +58,14 @@ EVENT_PROBABILITIES = { InfantryTransportEvent: [25, 0], # events conditionally present; for both enemy and player - BaseAttackEvent: [100, 15], + BaseAttackEvent: [100, 5], # events randomly present; for both enemy and player - InterceptEvent: [25, 15], - NavalInterceptEvent: [25, 15], + InterceptEvent: [25, 5], + NavalInterceptEvent: [25, 5], # events randomly present; only for the enemy - InsurgentAttackEvent: [0, 10], + InsurgentAttackEvent: [0, 4], } # amount of strength player bases recover for the turn @@ -116,10 +116,62 @@ class Game: game=self)) break - def _generate_events(self): - enemy_cap_generated = False - enemy_generated_types = [] + def _generate_player_event(self, event_class, player_cp, enemy_cp): + if event_class == NavalInterceptEvent and enemy_cp.radials == LAND: + # skip naval events for non-coastal CPs + return + if event_class == BaseAttackEvent and enemy_cp.base.strength > PLAYER_BASEATTACK_THRESHOLD: + # skip base attack events for CPs yet too strong + return + + if event_class == StrikeEvent and not enemy_cp.ground_objects: + # skip strikes in case of no targets + return + + self.events.append(event_class(self.player, self.enemy, player_cp, enemy_cp, self)) + + def _generate_enemy_event(self, event_class, player_cp, enemy_cp): + if event_class in [type(x) for x in self.events if not self.is_player_attack(x)]: + # skip already generated enemy event types + return + + if player_cp in self.ignored_cps: + # skip attacks against ignored CPs (for example just captured ones) + return + + if enemy_cp.base.total_planes == 0: + # skip event if there's no planes on the base + return + + if player_cp.is_global: + # skip carriers + return + + if event_class == NavalInterceptEvent: + if player_cp.radials == LAND: + # skip naval events for non-coastal CPs + return + elif event_class == StrikeEvent: + if not player_cp.ground_objects: + # skip strikes if there's no ground objects + return + elif event_class == BaseAttackEvent: + if BaseAttackEvent in [type(x) for x in self.events]: + # skip base attack event if there's another one going on + return + + if enemy_cp.base.total_armor == 0: + # skip base attack if there's no armor + return + + if player_cp.base.strength > PLAYER_BASEATTACK_THRESHOLD: + # skip base attack if strength is too high + return + + self.events.append(event_class(self.enemy, self.player, enemy_cp, player_cp, self)) + + def _generate_events(self): for player_cp, enemy_cp in self.theater.conflicts(True): if enemy_cp.is_global: continue @@ -136,54 +188,10 @@ class Game: continue if player_probability == 100 or self._roll(player_probability, player_cp.base.strength): - if event_class == NavalInterceptEvent and enemy_cp.radials == LAND: - # skip naval events for non-coastal CPs - pass - else: - if event_class == BaseAttackEvent and enemy_cp.base.strength > PLAYER_BASEATTACK_THRESHOLD: - # skip base attack events for CPs yet too strong - pass - else: - if event_class == StrikeEvent and not enemy_cp.ground_objects: - # skip strikes in case of no targets - pass - else: - # finally append the event - self.events.append(event_class(self.player, self.enemy, player_cp, enemy_cp, self)) - elif enemy_probability == 100 or self._roll(enemy_probability, enemy_cp.base.strength): - if event_class in enemy_generated_types: - # skip already generated event types - continue + self._generate_player_event(event_class, player_cp, enemy_cp) - if player_cp in self.ignored_cps: - # skip attacks against ignored CPs (for example just captured ones) - continue - - if enemy_cp.base.total_planes == 0: - # skip event if there's no planes on the base - continue - - if event_class == NavalInterceptEvent: - if player_cp.radials == LAND: - # skip naval events for non-coastal CPs - continue - elif event_class == StrikeEvent: - if not player_cp.ground_objects: - # skip strikes if there's no ground objects - continue - elif event_class == BaseAttackEvent: - if enemy_cap_generated: - # skip base attack event if there's another one going on - continue - if enemy_cp.base.total_armor == 0: - # skip base attack if there's no armor - continue - - enemy_cap_generated = True - - # finally append the event - enemy_generated_types.append(event_class) - self.events.append(event_class(self.enemy, self.player, enemy_cp, player_cp, self)) + if enemy_probability == 100 or self._roll(enemy_probability, enemy_cp.base.strength): + self._generate_enemy_event(event_class, player_cp, enemy_cp) def commision_unit_types(self, cp: ControlPoint, for_task: Task) -> typing.Collection[UnitType]: importance_factor = (cp.importance - IMPORTANCE_LOW) / (IMPORTANCE_HIGH - IMPORTANCE_LOW) diff --git a/theater/caucasus.py b/theater/caucasus.py index ca5bb3f6..cf1b98d1 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -11,8 +11,8 @@ from .base import * class CaucasusTheater(ConflictTheater): terrain = caucasus.Caucasus() overview_image = "caumap.gif" - reference_points = {(-317948.32727306, 635639.37385346): (282.5, 319), - (-355692.3067714, 617269.96285781): (269, 352), } + reference_points = {(-317948.32727306, 635639.37385346): (278.5, 319), + (-355692.3067714, 617269.96285781): (263, 352), } landmap = load_landmap("resources\\caulandmap.p") daytime_map = { "dawn": (6, 9), diff --git a/ui/mainmenu.py b/ui/mainmenu.py index dd828da1..9117e9b6 100644 --- a/ui/mainmenu.py +++ b/ui/mainmenu.py @@ -20,8 +20,8 @@ class MainMenu(Menu): self.upd.update() self.frame = self.window.right_pane - self.frame.columnconfigure(0, weight=1) - self.frame.rowconfigure(0, weight=1) + self.frame.rowconfigure(0, weight=0) + self.frame.rowconfigure(1, weight=1) def display(self): persistency.save_game(self.game) @@ -32,27 +32,29 @@ class MainMenu(Menu): # Header : header = Frame(self.frame, **STYLES["header"]) Button(header, text="Configuration", command=self.configuration_menu, **STYLES["btn-primary"]).grid(column=0, row=0, sticky=NW) - Label(header, text="Budget: {}m (+{}m)".format(self.game.budget, self.game.budget_reward_amount), **STYLES["strong"]).grid(column=1, row=0, sticky=NSEW, padx=50) + Label(header, text="Budget: {}m (+{}m)".format(self.game.budget, self.game.budget_reward_amount), **STYLES["strong"]).grid(column=1, row=0, sticky=N+EW, padx=50) Button(header, text="Pass turn", command=self.pass_turn, **STYLES["btn-primary"]).grid(column=2, row=0, sticky=NE) - header.grid(column=0, columnspan=99, row=0, sticky=N+EW) + header.grid(column=0, row=0, sticky=N+EW) + content = Frame(self.frame, **STYLES["body"]) + content.grid(column=0, row=1, sticky=NSEW) column = 0 row = 0 def label(text): nonlocal row, body frame = LabelFrame(body, **STYLES["label-frame"]) - frame.grid(row=row, sticky=NSEW, columnspan=2) + frame.grid(row=row, sticky=N+EW, columnspan=2) Label(frame, text=text, **STYLES["widget"]).grid(row=row, sticky=NS) row += 1 def event_button(event): nonlocal row, body frame = LabelFrame(body, **STYLES["label-frame"]) - frame.grid(row=row, sticky=NSEW) + frame.grid(row=row, sticky=N+EW) Message(frame, text="{}".format( event - ), aspect=1600, **STYLES["widget"]).grid(column=0, row=0, sticky=NSEW) + ), aspect=1600, **STYLES["widget"]).grid(column=0, row=0, sticky=N+EW) Button(body, text=">", command=self.start_event(event), **STYLES["btn-primary"]).grid(column=1, row=row, sticky=E) row += 1 @@ -83,7 +85,7 @@ class MainMenu(Menu): new_departure = event.from_cp.name if new_departure != departure: - body = LabelFrame(self.frame, **STYLES["body"]) + body = Frame(content, **STYLES["body"]) body.grid(column=column, row=1, sticky=N+EW) row = 0 column += 1 diff --git a/ui/overviewcanvas.py b/ui/overviewcanvas.py index ff88a217..ae5d1495 100644 --- a/ui/overviewcanvas.py +++ b/ui/overviewcanvas.py @@ -67,6 +67,14 @@ class OverviewCanvas: self.canvas.create_image((self.image.width()/2, self.image.height()/2), image=self.image) for cp in self.game.theater.controlpoints: + for ground_object in cp.ground_objects: + x, y = self.transform_point(ground_object.position) + self.canvas.create_text(x, + y, + text=".", + fill="black" if ground_object.is_dead else self._enemy_color(), + font=("Helvetica", 18)) + coords = self.transform_point(cp.position) for connected_cp in cp.connected_points: connected_coords = self.transform_point(connected_cp.position) From 3f8b5c6c00c8e28842584418abc3073333b1fae2 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 12 Oct 2018 23:33:10 +0300 Subject: [PATCH 53/63] minor UI fix --- ui/window.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ui/window.py b/ui/window.py index 1feff330..f7766013 100644 --- a/ui/window.py +++ b/ui/window.py @@ -32,6 +32,10 @@ class Window: self.tk.focus() def clear_right_pane(self): + for i in range(100): + self.right_pane.grid_columnconfigure(1, weight=0) + self.right_pane.grid_rowconfigure(1, weight=0) + for x in self.right_pane.winfo_children(): x.grid_remove() From 4fc766a5244ef694744e8861f75197ba18433aad Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sat, 13 Oct 2018 02:36:25 +0300 Subject: [PATCH 54/63] trigger fixes; strike waypoint fixes; m2k strike payload update --- game/db.py | 1 + game/operation/strike.py | 6 +++--- gen/airsupportgen.py | 4 ++-- gen/environmentgen.py | 2 +- gen/groundobjectsgen.py | 2 +- gen/triggergen.py | 4 ++-- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/game/db.py b/game/db.py index 88de9284..5275e4f7 100644 --- a/game/db.py +++ b/game/db.py @@ -371,6 +371,7 @@ PLANE_PAYLOAD_OVERRIDES = { M_2000C: { CAP: "Combat Air Patrol", + GroundAttack: "MK-82 Heavy Strike", }, MiG_21Bis: { diff --git a/game/operation/strike.py b/game/operation/strike.py index 586bae14..ff605ccf 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -54,15 +54,15 @@ class StrikeOperation(Operation): continue processed_groups.append(object.group_identifier) - category_counters[object.category] = category_counters.get(object.category, 0) + 1 markpoint_name = "{}{}".format(object.name_abbrev, category_counters[object.category]) targets.append((markpoint_name, object.position)) - self.briefinggen.append_target(str(object)) - self.briefinggen.append_waypoint("TARGET {} (TP {})".format(str(object), markpoint_name)) targets.sort(key=lambda x: self.from_cp.position.distance_to_point(x[1])) + for (name, markpoint_name) in targets: + self.briefinggen.append_waypoint("TARGET {} (TP {})".format(str(name), markpoint_name)) + planes_flights = {k: v for k, v in self.strikegroup.items() if k in plane_map.values()} self.airgen.generate_ground_attack_strikegroup(*assigned_units_split(planes_flights), targets=targets, diff --git a/gen/airsupportgen.py b/gen/airsupportgen.py index fb18d01f..68ee9af9 100644 --- a/gen/airsupportgen.py +++ b/gen/airsupportgen.py @@ -9,11 +9,11 @@ from dcs.task import * from dcs.terrain.terrain import NoParkingSlotError TANKER_DISTANCE = 15000 -TANKER_ALT = 10000 +TANKER_ALT = 6000 TANKER_HEADING_OFFSET = 45 AWACS_DISTANCE = 150000 -AWACS_ALT = 10000 +AWACS_ALT = 15000 class AirSupportConflictGenerator: diff --git a/gen/environmentgen.py b/gen/environmentgen.py index 4c3db832..c007b107 100644 --- a/gen/environmentgen.py +++ b/gen/environmentgen.py @@ -85,7 +85,7 @@ class EnviromentGenerator: self.mission.weather.clouds_thickness = random.randint(*WEATHER_CLOUD_THICKNESS) wind_direction = random.randint(0, 360) - wind_speed = random.randint(0, 13) + wind_speed = random.randint(0, 4) self.mission.weather.wind_at_ground = Wind(wind_direction, wind_speed) self.mission.weather.wind_at_2000 = Wind(wind_direction, wind_speed * 2) self.mission.weather.wind_at_8000 = Wind(wind_direction, wind_speed * 3) diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index 1ea5520f..b21a3116 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -24,7 +24,7 @@ class GroundObjectsGenerator: center = self.conflict.center heading = self.conflict.heading - 90 else: - center, heading = self.conflict.frontline_position(self.conflict.from_cp, self.conflict.to_cp) + center, heading = self.conflict.frontline_position(self.conflict.theater, self.conflict.from_cp, self.conflict.to_cp) heading -= 90 position = self.conflict.find_ground_position(center.point_from_heading(heading, FARP_FRONTLINE_DISTANCE), heading) diff --git a/gen/triggergen.py b/gen/triggergen.py index aa3f06c0..3bf77a0b 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -112,10 +112,10 @@ class TriggersGenerator: for unit in group.units: push_trigger.add_condition(UnitAltitudeHigherAGL(unit.id, PUSH_TRIGGER_ACTIVATION_AGL)) - if group.units[0].is_human(): + if not group.units[0].is_human(): push_trigger.add_action(AITaskPush(group.id, 1)) - message_string = self.mission.string("Task force is in the air, proceed with the objective (activate waypoint 3).") + message_string = self.mission.string("Task force is in the air, proceed with the objective.") push_trigger.add_action(MessageToAll(message_string, clearview=True)) push_trigger.add_action(SetFlagValue()) From 397f9a58cb030d0d715a03a7c12c2257536d5bc4 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sat, 13 Oct 2018 04:41:18 +0300 Subject: [PATCH 55/63] fixed naval intercept crash; fixed wrong targets order; fixed initial waypoint being WP #1; m2k a2g ccip; fixed time being time zone offset ahead; lowered rain weather chance --- game/db.py | 2 +- game/operation/navalintercept.py | 2 +- game/operation/strike.py | 12 ++++++------ gen/briefinggen.py | 2 +- gen/conflictgen.py | 2 +- gen/environmentgen.py | 14 ++++++++++---- resources/tools/nev_terrain.miz | Bin 0 -> 53791 bytes ui/overviewcanvas.py | 1 - userdata/debriefing.py | 2 +- 9 files changed, 21 insertions(+), 16 deletions(-) create mode 100644 resources/tools/nev_terrain.miz diff --git a/game/db.py b/game/db.py index 5275e4f7..de3cc37b 100644 --- a/game/db.py +++ b/game/db.py @@ -371,7 +371,7 @@ PLANE_PAYLOAD_OVERRIDES = { M_2000C: { CAP: "Combat Air Patrol", - GroundAttack: "MK-82 Heavy Strike", + GroundAttack: "MK-82S Heavy Strike", }, MiG_21Bis: { diff --git a/game/operation/navalintercept.py b/game/operation/navalintercept.py index 94c479e1..e782c759 100644 --- a/game/operation/navalintercept.py +++ b/game/operation/navalintercept.py @@ -50,7 +50,7 @@ class NavalInterceptionOperation(Operation): self.briefinggen.title = "Naval Intercept" if self.game.player == self.attacker_name: self.briefinggen.description = "Destroy supply transport ships. Lowers target strength. Be advised that your flight will not attack anything until you explicitly tell them so by comms menu." - for unit_type, count in self.targets: + for unit_type, count in self.targets.items(): self.briefinggen.append_target("{} ({})".format(db.unit_type_name(unit_type), count)) else: self.briefinggen.description = "Protect supply transport ships." diff --git a/game/operation/strike.py b/game/operation/strike.py index ff605ccf..eaf5ee4b 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -46,7 +46,7 @@ class StrikeOperation(Operation): if global_cp == self.from_cp and not self.is_quick: self.attackers_starting_position = ship - targets = [] # type: typing.List[typing.Tuple[str, Point]] + targets = [] # type: typing.List[typing.Tuple[str, str, Point]] category_counters = {} # type: typing.Dict[str, int] processed_groups = [] for object in self.to_cp.ground_objects: @@ -56,16 +56,16 @@ class StrikeOperation(Operation): processed_groups.append(object.group_identifier) category_counters[object.category] = category_counters.get(object.category, 0) + 1 markpoint_name = "{}{}".format(object.name_abbrev, category_counters[object.category]) - targets.append((markpoint_name, object.position)) + targets.append((str(object), markpoint_name, object.position)) - targets.sort(key=lambda x: self.from_cp.position.distance_to_point(x[1])) + targets.sort(key=lambda x: self.from_cp.position.distance_to_point(x[2])) - for (name, markpoint_name) in targets: + for (name, markpoint_name, _) in targets: self.briefinggen.append_waypoint("TARGET {} (TP {})".format(str(name), markpoint_name)) planes_flights = {k: v for k, v in self.strikegroup.items() if k in plane_map.values()} self.airgen.generate_ground_attack_strikegroup(*assigned_units_split(planes_flights), - targets=targets, + targets=[(mp, pos) for (n, mp, pos) in targets], at=self.attackers_starting_position) heli_flights = {k: v for k, v in self.strikegroup.items() if k in helicopters.helicopter_map.values()} @@ -74,7 +74,7 @@ class StrikeOperation(Operation): for farp, dict in zip(self.groundobjectgen.generate_farps(sum([x[0] for x in heli_flights.values()])), db.assignedunits_split_to_count(heli_flights, self.groundobjectgen.FARP_CAPACITY)): self.airgen.generate_ground_attack_strikegroup(*assigned_units_split(dict), - targets=targets, + targets=[(mp, pos) for (n, mp, pos) in targets], at=farp, escort=len(planes_flights) == 0) diff --git a/gen/briefinggen.py b/gen/briefinggen.py index 8966f6ff..edff117f 100644 --- a/gen/briefinggen.py +++ b/gen/briefinggen.py @@ -58,6 +58,6 @@ class BriefingGenerator: if self.waypoints: description += "\n\nWAYPOINTS:" for i, descr in enumerate(self.waypoints): - description += "\n#{}: {}".format(i+1, descr) + description += "\n#{}: {}".format(i, descr) self.m.set_description_text(description) diff --git a/gen/conflictgen.py b/gen/conflictgen.py index 93744958..f1f4f70e 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -166,7 +166,7 @@ class Conflict: if ground_position: return ground_position, _opposite_heading(attack_heading) else: - print("Coudn't find frontline position between {} and {}!".format(from_cp, to_cp)) + logging.warning("Coudn't find frontline position between {} and {}!".format(from_cp, to_cp)) return position, _opposite_heading(attack_heading) diff --git a/gen/environmentgen.py b/gen/environmentgen.py index c007b107..9deadb8d 100644 --- a/gen/environmentgen.py +++ b/gen/environmentgen.py @@ -30,9 +30,9 @@ RANDOM_TIME = { RANDOM_WEATHER = { 1: 0, # heavy rain - 2: 10, # rain - 3: 20, # dynamic - 4: 30, # clear + 2: 5, # rain + 3: 15, # dynamic + 4: 40, # clear 5: 100, # random } @@ -49,7 +49,8 @@ class EnviromentGenerator: self.game = game def _gen_random_time(self): - start_time = datetime.fromtimestamp(1527206400) + start_time = datetime.strptime('May 25 2018 12:00AM', '%b %d %Y %I:%M%p') + time_range = None for k, v in RANDOM_TIME.items(): if self.game.settings.night_disabled and k == "night": @@ -60,6 +61,11 @@ class EnviromentGenerator: break start_time += timedelta(hours=random.randint(*time_range)) + logging.info("time - {}, slot - {}, night skipped - {}".format( + str(start_time), + str(time_range), + self.game.settings.night_disabled)) + self.mission.start_time = start_time def _gen_random_weather(self): diff --git a/resources/tools/nev_terrain.miz b/resources/tools/nev_terrain.miz new file mode 100644 index 0000000000000000000000000000000000000000..ce6ad6698f684e0cdbf03497d982f338b4cc2dfd GIT binary patch literal 53791 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 Date: Sat, 13 Oct 2018 04:44:59 +0300 Subject: [PATCH 56/63] updated version compatibility check --- __init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__init__.py b/__init__.py index a098a56c..0d6339e2 100755 --- a/__init__.py +++ b/__init__.py @@ -43,7 +43,7 @@ def is_version_compatible(save_version): if current_version_components == save_version_components: return True - if save_version in ["1.4_rc1", "1.4_rc2", "1.4_rc3"]: + if save_version in ["1.4_rc1", "1.4_rc2", "1.4_rc3", "1.4_rc4", "1.4_rc5"]: return False if current_version_components[:2] == save_version_components[:2]: From e2306ba0f367da9ceba573dd2efbcb60a251f352 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sat, 13 Oct 2018 22:28:30 +0300 Subject: [PATCH 57/63] new weather, strike objectives placement fixes & tarawa for av8b --- __init__.py | 2 +- game/db.py | 31 ++++++++++---- game/event/navalintercept.py | 2 +- game/operation/intercept.py | 11 +---- game/operation/navalintercept.py | 2 + game/operation/operation.py | 12 ++++++ game/operation/strike.py | 11 +---- game/settings.py | 1 + gen/airsupportgen.py | 4 +- gen/environmentgen.py | 71 ++++++++++++++++++++++---------- gen/shipgen.py | 12 +++++- theater/base.py | 4 +- theater/persiangulf.py | 2 +- theater/start_generator.py | 10 +++-- ui/configurationmenu.py | 4 ++ ui/newgamemenu.py | 3 -- 16 files changed, 119 insertions(+), 63 deletions(-) diff --git a/__init__.py b/__init__.py index 0d6339e2..e297774b 100755 --- a/__init__.py +++ b/__init__.py @@ -43,7 +43,7 @@ def is_version_compatible(save_version): if current_version_components == save_version_components: return True - if save_version in ["1.4_rc1", "1.4_rc2", "1.4_rc3", "1.4_rc4", "1.4_rc5"]: + if save_version in ["1.4_rc1", "1.4_rc2", "1.4_rc3", "1.4_rc4", "1.4_rc5", "1.4_rc6"]: return False if current_version_components[:2] == save_version_components[:2]: diff --git a/game/db.py b/game/db.py index de3cc37b..a7951994 100644 --- a/game/db.py +++ b/game/db.py @@ -76,7 +76,6 @@ PRICES = { S_3B_Tanker: 13, IL_78M: 13, KC_135: 13, - KC130: 13, A_50: 8, E_3A: 8, @@ -110,9 +109,10 @@ PRICES = { # ship CV_1143_5_Admiral_Kuznetsov: 100, CVN_74_John_C__Stennis: 100, + LHA_1_Tarawa: 50, - LHA_1_Tarawa: 30, Bulk_cargo_ship_Yakushev: 10, + Armed_speedboat: 10, Dry_cargo_ship_Ivanov: 10, Tanker_Elnya_160: 10, } @@ -166,14 +166,13 @@ UNIT_BY_TASK = { An_30M, Yak_40, - S_3B_Tanker, C_130, ], Refueling: [ IL_78M, KC_135, - KC130, + S_3B_Tanker, ], AWACS: [E_3A, A_50, ], @@ -198,8 +197,8 @@ UNIT_BY_TASK = { Nothing: [Infantry.Infantry_M4, Infantry.Soldier_AK, ], Embarking: [UH_1H, Mi_8MT, ], - Carriage: [CVN_74_John_C__Stennis, CV_1143_5_Admiral_Kuznetsov, ], - CargoTransportation: [Dry_cargo_ship_Ivanov, Bulk_cargo_ship_Yakushev, Tanker_Elnya_160, LHA_1_Tarawa], + Carriage: [CVN_74_John_C__Stennis, LHA_1_Tarawa, CV_1143_5_Admiral_Kuznetsov, ], + CargoTransportation: [Dry_cargo_ship_Ivanov, Bulk_cargo_ship_Yakushev, Tanker_Elnya_160, Armed_speedboat, ], } """ @@ -299,7 +298,6 @@ UNIT_BY_COUNTRY = { AV8BNA, KC_135, - KC130, S_3B_Tanker, C_130, E_3A, @@ -319,9 +317,18 @@ UNIT_BY_COUNTRY = { CVN_74_John_C__Stennis, LHA_1_Tarawa, + Armed_speedboat, ], } +CARRIER_TYPE_BY_PLANE = { + FA_18C_hornet: CVN_74_John_C__Stennis, + Ka_50: LHA_1_Tarawa, + UH_1H: LHA_1_Tarawa, + Mi_8MT: LHA_1_Tarawa, + AV8BNA: LHA_1_Tarawa, +} + """ Aircraft payload overrides. Usually default loadout for the task is loaded during the mission generation. Syntax goes as follows: @@ -341,6 +348,8 @@ Payload will be used for operation of following type, "*" category will be used PLANE_PAYLOAD_OVERRIDES = { FA_18C_hornet: { CAP: "AIM-120*4,AIM-9*2,AIM-7*2,Fuel", + PinpointStrike: "MK-82*8,AIM-9*2,AIM-7,FLIR Pod,Fuel", + AntishipStrike: "MK-82*8,AIM-9*2,AIM-7,FLIR Pod,Fuel", }, Su_25T: { @@ -460,6 +469,14 @@ def unitdict_append(unit_dict: UnitsDict, unit_type: UnitType, count: int): unit_dict[unit_type] = unit_dict.get(unit_type, 0) + 1 +def unitdict_merge(a: UnitsDict, b: UnitsDict) -> UnitsDict: + b = b.copy() + for k, v in a.items(): + b[k] = b.get(k, 0) + v + + return b + + def unitdict_split(unit_dict: UnitsDict, count: int): buffer_dict = {} for unit_type, unit_count in unit_dict.items(): diff --git a/game/event/navalintercept.py b/game/event/navalintercept.py index f1049a2d..df425415 100644 --- a/game/event/navalintercept.py +++ b/game/event/navalintercept.py @@ -11,7 +11,7 @@ class NavalInterceptEvent(Event): def _targets_count(self) -> int: from gen.conflictgen import IMPORTANCE_LOW - factor = (self.to_cp.importance - IMPORTANCE_LOW) * 10 + factor = (self.to_cp.importance - IMPORTANCE_LOW + 0.1) * 20 return max(int(factor), 1) def __str__(self) -> str: diff --git a/game/operation/intercept.py b/game/operation/intercept.py index 1d763113..27dabcda 100644 --- a/game/operation/intercept.py +++ b/game/operation/intercept.py @@ -39,16 +39,7 @@ class InterceptOperation(Operation): conflict=conflict) def generate(self): - for global_cp in self.game.theater.controlpoints: - if not global_cp.is_global: - continue - - ship = self.shipgen.generate_carrier(type=db.find_unittype(Carriage, self.game.player)[0], - country=self.game.player, - at=global_cp.at) - - if global_cp == self.from_cp and not self.is_quick: - self.attackers_starting_position = ship + self.prepare_carriers(self.interceptors.keys()) self.airgen.generate_transport(self.transport, self.to_cp.at) self.airgen.generate_defenders_escort(*assigned_units_split(self.escort), at=self.defenders_starting_position) diff --git a/game/operation/navalintercept.py b/game/operation/navalintercept.py index e782c759..fb373d23 100644 --- a/game/operation/navalintercept.py +++ b/game/operation/navalintercept.py @@ -33,6 +33,8 @@ class NavalInterceptionOperation(Operation): self.initialize(self.mission, conflict) def generate(self): + self.prepare_carriers(db.unitdict_from(self.strikegroup)) + target_groups = self.shipgen.generate_cargo(units=self.targets) self.airgen.generate_ship_strikegroup( diff --git a/game/operation/operation.py b/game/operation/operation.py index e04b40d9..19ff9611 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -83,6 +83,18 @@ class Operation: self.attackers_starting_position = self.from_cp.at self.defenders_starting_position = self.to_cp.at + def prepare_carriers(self, for_units: db.UnitsDict): + for global_cp in self.game.theater.controlpoints: + if not global_cp.is_global: + continue + + ship = self.shipgen.generate_carrier(for_units=for_units, + country=self.game.player, + at=global_cp.at) + + if global_cp == self.from_cp and not self.is_quick: + self.attackers_starting_position = ship + def generate(self): self.visualgen.generate() diff --git a/game/operation/strike.py b/game/operation/strike.py index eaf5ee4b..647434bd 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -35,16 +35,7 @@ class StrikeOperation(Operation): conflict=conflict) def generate(self): - for global_cp in self.game.theater.controlpoints: - if not global_cp.is_global: - continue - - ship = self.shipgen.generate_carrier(type=db.find_unittype(Carriage, self.game.player)[0], - country=self.game.player, - at=global_cp.at) - - if global_cp == self.from_cp and not self.is_quick: - self.attackers_starting_position = ship + self.prepare_carriers(db.unitdict_merge(db.unitdict_from(self.strikegroup), db.unitdict_from(self.escort))) targets = [] # type: typing.List[typing.Tuple[str, str, Point]] category_counters = {} # type: typing.Dict[str, int] diff --git a/game/settings.py b/game/settings.py index 2014d1f4..36edefd1 100644 --- a/game/settings.py +++ b/game/settings.py @@ -5,6 +5,7 @@ class Settings: enemy_vehicle_skill = "Average" only_player_takeoff = True night_disabled = False + multiplier = 1 sams = True cold_start = False diff --git a/gen/airsupportgen.py b/gen/airsupportgen.py index 68ee9af9..595e4fc7 100644 --- a/gen/airsupportgen.py +++ b/gen/airsupportgen.py @@ -9,11 +9,11 @@ from dcs.task import * from dcs.terrain.terrain import NoParkingSlotError TANKER_DISTANCE = 15000 -TANKER_ALT = 6000 +TANKER_ALT = 4572 TANKER_HEADING_OFFSET = 45 AWACS_DISTANCE = 150000 -AWACS_ALT = 15000 +AWACS_ALT = 13000 class AirSupportConflictGenerator: diff --git a/gen/environmentgen.py b/gen/environmentgen.py index 9deadb8d..abfc0cf0 100644 --- a/gen/environmentgen.py +++ b/gen/environmentgen.py @@ -21,6 +21,10 @@ WEATHER_CLOUD_DENSITY = 1, 8 WEATHER_CLOUD_THICKNESS = 100, 400 WEATHER_CLOUD_BASE_MIN = 1600 +WEATHER_FOG_CHANCE = 20 +WEATHER_FOG_VISIBILITY = 2500, 5000 +WEATHER_FOG_THICKNESS = 100, 500 + RANDOM_TIME = { "night": 5, "dusk": 30, @@ -29,11 +33,10 @@ RANDOM_TIME = { } RANDOM_WEATHER = { - 1: 0, # heavy rain - 2: 5, # rain - 3: 15, # dynamic - 4: 40, # clear - 5: 100, # random + 1: 0, # thunderstorm + 2: 20, # rain + 3: 80, # clouds + 4: 100, # clear } @@ -68,6 +71,29 @@ class EnviromentGenerator: self.mission.start_time = start_time + def _generate_wind(self, wind_speed, wind_direction=None): + # wind + if not wind_direction: + wind_direction = random.randint(0, 360) + + self.mission.weather.wind_at_ground = Wind(wind_direction, wind_speed) + self.mission.weather.wind_at_2000 = Wind(wind_direction, wind_speed * 2) + self.mission.weather.wind_at_8000 = Wind(wind_direction, wind_speed * 3) + + def _generate_base_weather(self): + # clouds + self.mission.weather.clouds_base = random.randint(*WEATHER_CLOUD_BASE) + self.mission.weather.clouds_density = random.randint(*WEATHER_CLOUD_DENSITY) + self.mission.weather.clouds_thickness = random.randint(*WEATHER_CLOUD_THICKNESS) + + # wind + self._generate_wind(random.randint(0, 4)) + + # fog + if random.randint(0, 100) < WEATHER_FOG_CHANCE: + self.mission.weather.fog_visibility = random.randint(*WEATHER_FOG_VISIBILITY) + self.mission.weather.fog_thickness = random.randint(*WEATHER_FOG_THICKNESS) + def _gen_random_weather(self): weather_type = None for k, v in RANDOM_WEATHER.items(): @@ -77,24 +103,25 @@ class EnviromentGenerator: logging.info("generated weather {}".format(weather_type)) if weather_type == 1: - self.mission.weather.heavy_rain() - elif weather_type == 2: - self.mission.weather.heavy_rain() - self.mission.weather.enable_fog = False - elif weather_type == 3: - self.mission.weather.random(self.mission.start_time, self.conflict.theater.terrain) - elif weather_type == 4: - pass - elif weather_type == 5: - self.mission.weather.clouds_base = random.randint(*WEATHER_CLOUD_BASE) - self.mission.weather.clouds_density = random.randint(*WEATHER_CLOUD_DENSITY) - self.mission.weather.clouds_thickness = random.randint(*WEATHER_CLOUD_THICKNESS) + # thunderstorm + self._generate_base_weather() + self._generate_wind(random.randint(8, 12)) - wind_direction = random.randint(0, 360) - wind_speed = random.randint(0, 4) - self.mission.weather.wind_at_ground = Wind(wind_direction, wind_speed) - self.mission.weather.wind_at_2000 = Wind(wind_direction, wind_speed * 2) - self.mission.weather.wind_at_8000 = Wind(wind_direction, wind_speed * 3) + self.mission.weather.clouds_density = random.randint(9, 10) + self.mission.weather.clouds_iprecptns = Weather.Preceptions.Thunderstorm + elif weather_type == 2: + # rain + self._generate_base_weather() + self.mission.weather.clouds_density = random.randint(5, 8) + self.mission.weather.clouds_iprecptns = Weather.Preceptions.Rain + + self._generate_wind(random.randint(4, 8)) + elif weather_type == 3: + # clouds + self._generate_base_weather() + elif weather_type == 4: + # clear + pass if self.mission.weather.clouds_density > 0: # sometimes clouds are randomized way too low and need to be fixed diff --git a/gen/shipgen.py b/gen/shipgen.py index 5103d187..bdff7234 100644 --- a/gen/shipgen.py +++ b/gen/shipgen.py @@ -16,7 +16,17 @@ class ShipGenerator: self.m = mission self.conflict = conflict - def generate_carrier(self, type: ShipType, country: str, at: Point) -> ShipGroup: + def generate_carrier(self, for_units: db.UnitsDict, country: str, at: Point) -> ShipGroup: + type = db.find_unittype(Carriage, country)[0] + print(for_units) + for unit_type, unit_count in for_units.items(): + if unit_count == 0: + continue + + if unit_type in db.CARRIER_TYPE_BY_PLANE: + type = db.CARRIER_TYPE_BY_PLANE[unit_type] + break + group = self.m.ship_group( country=self.m.country(country), name=namegen.next_carrier_name(self.m.country(country)), diff --git a/theater/base.py b/theater/base.py index c9e020f9..c62c1474 100644 --- a/theater/base.py +++ b/theater/base.py @@ -10,9 +10,9 @@ from dcs.task import * from game import db STRENGTH_AA_ASSEMBLE_MIN = 0.2 -PLANES_SCRAMBLE_MIN_BASE = 4 +PLANES_SCRAMBLE_MIN_BASE = 2 PLANES_SCRAMBLE_MAX_BASE = 8 -PLANES_SCRAMBLE_FACTOR = 0.6 +PLANES_SCRAMBLE_FACTOR = 0.3 BASE_MAX_STRENGTH = 1 BASE_MIN_STRENGTH = 0 diff --git a/theater/persiangulf.py b/theater/persiangulf.py index e9a1caeb..ec55045f 100644 --- a/theater/persiangulf.py +++ b/theater/persiangulf.py @@ -72,8 +72,8 @@ class PersianGulfTheater(ConflictTheater): self.add_controlpoint(self.havadarya, connected_to=[self.lar, self.qeshm, self.bandar_abbas]) self.add_controlpoint(self.bandar_abbas, connected_to=[self.havadarya]) - self.add_controlpoint(self.east_carrier) self.add_controlpoint(self.west_carrier) + self.add_controlpoint(self.east_carrier) self.west_carrier.captured = True self.east_carrier.captured = True diff --git a/theater/start_generator.py b/theater/start_generator.py index 6f598cec..2c4d9c87 100644 --- a/theater/start_generator.py +++ b/theater/start_generator.py @@ -2,6 +2,7 @@ import math import pickle import random import typing +import logging from theater.base import * from theater.conflicttheater import * @@ -72,8 +73,8 @@ def generate_groundobjects(theater: ConflictTheater): group_id = 0 for cp in theater.enemy_points(): - for _ in range(0, random.randrange(3, 6)): - available_categories = list(tpls) + ["aa", "aa", "aa"] + for _ in range(0, random.randrange(2, 4)): + available_categories = list(tpls) + ["aa", "aa"] tpl_category = random.choice(available_categories) tpl = random.choice(list(tpls[tpl_category].values())) @@ -84,14 +85,17 @@ def generate_groundobjects(theater: ConflictTheater): print("Couldn't find point for {}".format(cp)) continue - dist = point.distance_to_point(cp.position) + """ + dist = point.distance_to_point(cp.position) - 15000 for another_cp in theater.enemy_points(): if another_cp.position.distance_to_point(point) < dist: cp = another_cp + """ group_id += 1 object_id = 0 + logging.info("generated {} for {}".format(tpl_category, cp)) for object in tpl: object_id += 1 diff --git a/ui/configurationmenu.py b/ui/configurationmenu.py index f43fdc36..f32b00cf 100644 --- a/ui/configurationmenu.py +++ b/ui/configurationmenu.py @@ -79,10 +79,14 @@ class ConfigurationMenu(Menu): Label(body, text="Takeoff only for player group", **STYLES["widget"]).grid(row=row, column=0, sticky=W) Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=row, column=1, sticky=E) row += 1 + Label(body, text="Only player group will start on the ground. AI units will be circling in the air until player takes off.", **STYLES["widget"]).grid(row=row, column=0, columnspan=2) + row += 1 Label(body, text="Disable night missions", **STYLES["widget"]).grid(row=row, column=0, sticky=W) Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=row, column=1, sticky=E) row += 1 + Label(body, text="No night missions. Dawns and dusks will still be present.", **STYLES["widget"]).grid(row=row, column=0, columnspan=2) + row += 1 Button(body, text="Display logs", command=self.display_logs, **STYLES["btn-primary"]).grid(row=row, column=1, sticky=E, pady=30) row += 1 diff --git a/ui/newgamemenu.py b/ui/newgamemenu.py index 4e229806..5688aae2 100644 --- a/ui/newgamemenu.py +++ b/ui/newgamemenu.py @@ -98,9 +98,6 @@ class NewGameMenu(Menu): Label(terrain, text="Persian Gulf", **STYLES["widget"]).grid(row=2, column=1, sticky=W) self.create_label_image(terrain, "terrain_pg.gif").grid(row=2, column=2, padx=5) - Label(terrain, text="Currently strike missions are only\navailable for a number of airports only in Caucasus", **STYLES["widget"]) \ - .grid(row=3, column=0, columnspan=3, sticky=W) - # Misc Options options = LabelFrame(body, text="Misc Options", **STYLES["label-frame"]) options.grid(row=0, column=2, sticky=NE, padx=5) From e049a97bec5b2bb7d76c944fc4ca482084b6334d Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sat, 13 Oct 2018 22:30:43 +0300 Subject: [PATCH 58/63] minor text update --- ui/configurationmenu.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ui/configurationmenu.py b/ui/configurationmenu.py index f32b00cf..f43fdc36 100644 --- a/ui/configurationmenu.py +++ b/ui/configurationmenu.py @@ -79,14 +79,10 @@ class ConfigurationMenu(Menu): Label(body, text="Takeoff only for player group", **STYLES["widget"]).grid(row=row, column=0, sticky=W) Checkbutton(body, variable=self.takeoff_var, **STYLES["radiobutton"]).grid(row=row, column=1, sticky=E) row += 1 - Label(body, text="Only player group will start on the ground. AI units will be circling in the air until player takes off.", **STYLES["widget"]).grid(row=row, column=0, columnspan=2) - row += 1 Label(body, text="Disable night missions", **STYLES["widget"]).grid(row=row, column=0, sticky=W) Checkbutton(body, variable=self.night_var, **STYLES["radiobutton"]).grid(row=row, column=1, sticky=E) row += 1 - Label(body, text="No night missions. Dawns and dusks will still be present.", **STYLES["widget"]).grid(row=row, column=0, columnspan=2) - row += 1 Button(body, text="Display logs", command=self.display_logs, **STYLES["btn-primary"]).grid(row=row, column=1, sticky=E, pady=30) row += 1 From 270820de0b26bfac4e162dc832d9788c531cd633 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sat, 13 Oct 2018 22:50:26 +0300 Subject: [PATCH 59/63] added Gazelle as CAS aircraft --- game/db.py | 7 ++++++- game/game.py | 8 ++++---- game/operation/frontlineattack.py | 2 +- gen/aircraft.py | 7 ++++++- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/game/db.py b/game/db.py index a7951994..17648057 100644 --- a/game/db.py +++ b/game/db.py @@ -65,7 +65,8 @@ PRICES = { # heli Ka_50: 13, - UH_1H: 5, + SA342M: 8, + UH_1H: 4, Mi_8MT: 5, # special @@ -158,6 +159,7 @@ UNIT_BY_TASK = { Su_25T, Su_34, Ka_50, + SA342M, ], Transport: [ @@ -264,6 +266,7 @@ UNIT_BY_COUNTRY = { A_50, Ka_50, + SA342M, UH_1H, Mi_8MT, @@ -303,6 +306,7 @@ UNIT_BY_COUNTRY = { E_3A, Ka_50, + SA342M, UH_1H, Mi_8MT, @@ -324,6 +328,7 @@ UNIT_BY_COUNTRY = { CARRIER_TYPE_BY_PLANE = { FA_18C_hornet: CVN_74_John_C__Stennis, Ka_50: LHA_1_Tarawa, + SA342M: LHA_1_Tarawa, UH_1H: LHA_1_Tarawa, Mi_8MT: LHA_1_Tarawa, AV8BNA: LHA_1_Tarawa, diff --git a/game/game.py b/game/game.py index ba54dc8d..7de3101d 100644 --- a/game/game.py +++ b/game/game.py @@ -58,14 +58,14 @@ EVENT_PROBABILITIES = { InfantryTransportEvent: [25, 0], # events conditionally present; for both enemy and player - BaseAttackEvent: [100, 5], + BaseAttackEvent: [100, 8], # events randomly present; for both enemy and player - InterceptEvent: [25, 5], - NavalInterceptEvent: [25, 5], + InterceptEvent: [25, 8], + NavalInterceptEvent: [25, 8], # events randomly present; only for the enemy - InsurgentAttackEvent: [0, 4], + InsurgentAttackEvent: [0, 5], } # amount of strength player bases recover for the turn diff --git a/game/operation/frontlineattack.py b/game/operation/frontlineattack.py index 2d8d8675..d8b11c86 100644 --- a/game/operation/frontlineattack.py +++ b/game/operation/frontlineattack.py @@ -44,7 +44,7 @@ class FrontlineAttackOperation(Operation): heli_flights = {k: v for k, v in self.strikegroup.items() if k in helicopters.helicopter_map.values()} if heli_flights: - self.briefinggen.append_frequency("FARP", "127.5 MHz AM") + self.briefinggen.append_frequency("FARP + Heli flights", "127.5 MHz AM") for farp, dict in zip(self.groundobjectgen.generate_farps(sum([x[0] for x in heli_flights.values()])), db.assignedunits_split_to_count(heli_flights, self.groundobjectgen.FARP_CAPACITY)): self.airgen.generate_cas_strikegroup(*assigned_units_split(dict), diff --git a/gen/aircraft.py b/gen/aircraft.py index d5237163..70aed59e 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -112,7 +112,12 @@ class AircraftConflictGenerator: group.units[idx].set_client() group.points[0].tasks.append(OptReactOnThreat(OptReactOnThreat.Values.EvadeFire)) - group.set_frequency(251.0) + + if unit_type in helicopters.helicopter_map.values(): + print(unit_type) + group.set_frequency(127.5) + else: + group.set_frequency(251.0) def _generate_at_airport(self, name: str, side: Country, unit_type: FlyingType, count: int, client_count: int, airport: Airport = None) -> FlyingGroup: assert count > 0 From 05c968edc2358a379b7164bcbb58eca1a44f1168 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sat, 13 Oct 2018 23:38:26 +0300 Subject: [PATCH 60/63] added Gazelle as CAS aircraft + minor fixes --- game/db.py | 10 +++++----- game/event/insurgentattack.py | 4 ++++ game/game.py | 8 ++++---- game/operation/intercept.py | 2 +- game/operation/operation.py | 2 +- gen/heli.py | 5 ----- gen/shipgen.py | 8 ++------ 7 files changed, 17 insertions(+), 22 deletions(-) delete mode 100644 gen/heli.py diff --git a/game/db.py b/game/db.py index 17648057..7253d4d2 100644 --- a/game/db.py +++ b/game/db.py @@ -39,10 +39,10 @@ PRICES = { # fighter C_101CC: 8, MiG_23MLD: 18, - Su_27: 24, - Su_33: 25, - MiG_29A: 24, - MiG_29S: 26, + Su_27: 20, + Su_33: 22, + MiG_29A: 23, + MiG_29S: 25, F_5E_3: 6, MiG_15bis: 5, @@ -52,7 +52,7 @@ PRICES = { AV8BNA: 13, M_2000C: 13, FA_18C_hornet: 18, - F_15C: 24, + F_15C: 20, # bomber Su_25: 15, diff --git a/game/event/insurgentattack.py b/game/event/insurgentattack.py index 5a5d3f0a..a04d2168 100644 --- a/game/event/insurgentattack.py +++ b/game/event/insurgentattack.py @@ -15,6 +15,7 @@ class InsurgentAttackEvent(Event): SUCCESS_FACTOR = 0.7 TARGET_VARIETY = 2 TARGET_AMOUNT_FACTOR = 0.5 + STRENGTH_INFLUENCE = 0.1 @property def threat_description(self): @@ -31,6 +32,9 @@ class InsurgentAttackEvent(Event): def __str__(self): return "Destroy insurgents" + def skip(self): + self.to_cp.base.affect_strength(-self.STRENGTH_INFLUENCE) + def is_successfull(self, debriefing: Debriefing): killed_units = sum([v for k, v in debriefing.destroyed_units[self.attacker_name].items() if db.unit_task(k) == PinpointStrike]) all_units = sum(self.targets.values()) diff --git a/game/game.py b/game/game.py index 7de3101d..3215202f 100644 --- a/game/game.py +++ b/game/game.py @@ -58,14 +58,14 @@ EVENT_PROBABILITIES = { InfantryTransportEvent: [25, 0], # events conditionally present; for both enemy and player - BaseAttackEvent: [100, 8], + BaseAttackEvent: [100, 9], # events randomly present; for both enemy and player - InterceptEvent: [25, 8], - NavalInterceptEvent: [25, 8], + InterceptEvent: [25, 9], + NavalInterceptEvent: [25, 9], # events randomly present; only for the enemy - InsurgentAttackEvent: [0, 5], + InsurgentAttackEvent: [0, 6], } # amount of strength player bases recover for the turn diff --git a/game/operation/intercept.py b/game/operation/intercept.py index 27dabcda..b1ad1ee2 100644 --- a/game/operation/intercept.py +++ b/game/operation/intercept.py @@ -39,7 +39,7 @@ class InterceptOperation(Operation): conflict=conflict) def generate(self): - self.prepare_carriers(self.interceptors.keys()) + self.prepare_carriers(db.unitdict_from(self.interceptors)) self.airgen.generate_transport(self.transport, self.to_cp.at) self.airgen.generate_defenders_escort(*assigned_units_split(self.escort), at=self.defenders_starting_position) diff --git a/game/operation/operation.py b/game/operation/operation.py index 19ff9611..2631da4e 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -88,7 +88,7 @@ class Operation: if not global_cp.is_global: continue - ship = self.shipgen.generate_carrier(for_units=for_units, + ship = self.shipgen.generate_carrier(for_units=[t for t, c in for_units.items() if c > 0], country=self.game.player, at=global_cp.at) diff --git a/gen/heli.py b/gen/heli.py deleted file mode 100644 index dc4968c5..00000000 --- a/gen/heli.py +++ /dev/null @@ -1,5 +0,0 @@ -from .aircraft import * - - -class HelicopterConflictGenerator(AircraftConflictGenerator): - pass diff --git a/gen/shipgen.py b/gen/shipgen.py index bdff7234..47808961 100644 --- a/gen/shipgen.py +++ b/gen/shipgen.py @@ -16,13 +16,9 @@ class ShipGenerator: self.m = mission self.conflict = conflict - def generate_carrier(self, for_units: db.UnitsDict, country: str, at: Point) -> ShipGroup: + def generate_carrier(self, for_units: typing.Collection[UnitType], country: str, at: Point) -> ShipGroup: type = db.find_unittype(Carriage, country)[0] - print(for_units) - for unit_type, unit_count in for_units.items(): - if unit_count == 0: - continue - + for unit_type in for_units: if unit_type in db.CARRIER_TYPE_BY_PLANE: type = db.CARRIER_TYPE_BY_PLANE[unit_type] break From 274e08dd8b0a6c573e02814b219d21a684357649 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 14 Oct 2018 04:09:05 +0300 Subject: [PATCH 61/63] quick mission debriefing fixed; adjusted constants --- game/event/event.py | 4 ++-- game/game.py | 2 +- game/operation/baseattack.py | 6 +++--- game/operation/frontlineattack.py | 6 +++--- game/operation/frontlinepatrol.py | 6 +++--- game/operation/infantrytransport.py | 6 +++--- game/operation/insurgentattack.py | 6 +++--- game/operation/intercept.py | 6 +++--- game/operation/navalintercept.py | 6 +++--- game/operation/operation.py | 23 +++++++++++++++-------- game/operation/strike.py | 6 +++--- gen/triggergen.py | 4 ++-- ui/eventmenu.py | 6 ++++++ ui/eventresultsmenu.py | 6 ++++-- userdata/debriefing.py | 18 +++++++----------- 15 files changed, 61 insertions(+), 50 deletions(-) diff --git a/game/event/event.py b/game/event/event.py index ea377e1c..39692148 100644 --- a/game/event/event.py +++ b/game/event/event.py @@ -79,7 +79,7 @@ class Event: self.operation.prepare(self.game.theater.terrain, is_quick=False) self.operation.generate() - self.operation.mission.save(persistency.mission_path_for("liberation_nextturn.miz")) + self.operation.current_mission.save(persistency.mission_path_for("liberation_nextturn.miz")) self.environment_settings = self.operation.environment_settings def generate_quick(self): @@ -88,7 +88,7 @@ class Event: self.operation.prepare(self.game.theater.terrain, is_quick=True) self.operation.generate() - self.operation.mission.save(persistency.mission_path_for("liberation_nextturn_quick.miz")) + self.operation.current_mission.save(persistency.mission_path_for("liberation_nextturn_quick.miz")) def commit(self, debriefing: Debriefing): for country, losses in debriefing.destroyed_units.items(): diff --git a/game/game.py b/game/game.py index 3215202f..f3f003a8 100644 --- a/game/game.py +++ b/game/game.py @@ -80,7 +80,7 @@ AWACS_BUDGET_COST = 4 # Initial budget value PLAYER_BUDGET_INITIAL = 170 # Base post-turn bonus value -PLAYER_BUDGET_BASE = 17 +PLAYER_BUDGET_BASE = 14 # Bonus multiplier logarithm base PLAYER_BUDGET_IMPORTANCE_LOG = 2 diff --git a/game/operation/baseattack.py b/game/operation/baseattack.py index 3c11a203..f87ced61 100644 --- a/game/operation/baseattack.py +++ b/game/operation/baseattack.py @@ -37,13 +37,13 @@ class BaseAttackOperation(Operation): self.attackers_starting_position = None conflict = Conflict.capture_conflict( - attacker=self.mission.country(self.attacker_name), - defender=self.mission.country(self.defender_name), + attacker=self.current_mission.country(self.attacker_name), + defender=self.current_mission.country(self.defender_name), from_cp=self.from_cp, to_cp=self.to_cp, theater=self.game.theater ) - self.initialize(mission=self.mission, + self.initialize(mission=self.current_mission, conflict=conflict) def generate(self): diff --git a/game/operation/frontlineattack.py b/game/operation/frontlineattack.py index d8b11c86..bc131a22 100644 --- a/game/operation/frontlineattack.py +++ b/game/operation/frontlineattack.py @@ -26,14 +26,14 @@ class FrontlineAttackOperation(Operation): self.defenders_starting_position = None conflict = Conflict.frontline_cas_conflict( - attacker=self.mission.country(self.attacker_name), - defender=self.mission.country(self.defender_name), + attacker=self.current_mission.country(self.attacker_name), + defender=self.current_mission.country(self.defender_name), from_cp=self.from_cp, to_cp=self.to_cp, theater=self.game.theater ) - self.initialize(mission=self.mission, + self.initialize(mission=self.current_mission, conflict=conflict) def generate(self): diff --git a/game/operation/frontlinepatrol.py b/game/operation/frontlinepatrol.py index 0761aa2a..877b8299 100644 --- a/game/operation/frontlinepatrol.py +++ b/game/operation/frontlinepatrol.py @@ -32,14 +32,14 @@ class FrontlinePatrolOperation(Operation): self.defenders_starting_position = None conflict = Conflict.frontline_cap_conflict( - attacker=self.mission.country(self.attacker_name), - defender=self.mission.country(self.defender_name), + attacker=self.current_mission.country(self.attacker_name), + defender=self.current_mission.country(self.defender_name), from_cp=self.from_cp, to_cp=self.to_cp, theater=self.game.theater ) - self.initialize(mission=self.mission, + self.initialize(mission=self.current_mission, conflict=conflict) def generate(self): diff --git a/game/operation/infantrytransport.py b/game/operation/infantrytransport.py index b35f0973..4ff4128d 100644 --- a/game/operation/infantrytransport.py +++ b/game/operation/infantrytransport.py @@ -15,14 +15,14 @@ class InfantryTransportOperation(Operation): super(InfantryTransportOperation, self).prepare(terrain, is_quick) conflict = Conflict.transport_conflict( - attacker=self.mission.country(self.attacker_name), - defender=self.mission.country(self.defender_name), + attacker=self.current_mission.country(self.attacker_name), + defender=self.current_mission.country(self.defender_name), from_cp=self.from_cp, to_cp=self.to_cp, theater=self.game.theater ) - self.initialize(mission=self.mission, + self.initialize(mission=self.current_mission, conflict=conflict) def generate(self): diff --git a/game/operation/insurgentattack.py b/game/operation/insurgentattack.py index 1f1c1cba..0afe950c 100644 --- a/game/operation/insurgentattack.py +++ b/game/operation/insurgentattack.py @@ -17,14 +17,14 @@ class InsurgentAttackOperation(Operation): super(InsurgentAttackOperation, self).prepare(terrain, is_quick) conflict = Conflict.ground_attack_conflict( - attacker=self.mission.country(self.attacker_name), - defender=self.mission.country(self.defender_name), + attacker=self.current_mission.country(self.attacker_name), + defender=self.current_mission.country(self.defender_name), from_cp=self.from_cp, to_cp=self.to_cp, theater=self.game.theater ) - self.initialize(mission=self.mission, + self.initialize(mission=self.current_mission, conflict=conflict) def generate(self): diff --git a/game/operation/intercept.py b/game/operation/intercept.py index b1ad1ee2..14d4e344 100644 --- a/game/operation/intercept.py +++ b/game/operation/intercept.py @@ -28,14 +28,14 @@ class InterceptOperation(Operation): self.attackers_starting_position = None conflict = Conflict.intercept_conflict( - attacker=self.mission.country(self.attacker_name), - defender=self.mission.country(self.defender_name), + attacker=self.current_mission.country(self.attacker_name), + defender=self.current_mission.country(self.defender_name), from_cp=self.from_cp, to_cp=self.to_cp, theater=self.game.theater ) - self.initialize(mission=self.mission, + self.initialize(mission=self.current_mission, conflict=conflict) def generate(self): diff --git a/game/operation/navalintercept.py b/game/operation/navalintercept.py index fb373d23..b4ab9157 100644 --- a/game/operation/navalintercept.py +++ b/game/operation/navalintercept.py @@ -23,14 +23,14 @@ class NavalInterceptionOperation(Operation): self.attackers_starting_position = None conflict = Conflict.naval_intercept_conflict( - attacker=self.mission.country(self.attacker_name), - defender=self.mission.country(self.defender_name), + attacker=self.current_mission.country(self.attacker_name), + defender=self.current_mission.country(self.defender_name), from_cp=self.from_cp, to_cp=self.to_cp, theater=self.game.theater ) - self.initialize(self.mission, conflict) + self.initialize(self.current_mission, conflict) def generate(self): self.prepare_carriers(db.unitdict_from(self.strikegroup)) diff --git a/game/operation/operation.py b/game/operation/operation.py index 2631da4e..509228da 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -11,7 +11,9 @@ class Operation: attackers_starting_position = None # type: db.StartingPosition defenders_starting_position = None # type: db.StartingPosition - mission = None # type: dcs.Mission + current_mission = None # type: dcs.Mission + regular_mission = None # type: dcs.Mission + quick_mission = None # type: dcs.Mission conflict = None # type: Conflict armorgen = None # type: ArmorConflictGenerator airgen = None # type: AircraftConflictGenerator @@ -51,7 +53,7 @@ class Operation: return True def initialize(self, mission: Mission, conflict: Conflict): - self.mission = mission + self.current_mission = mission self.conflict = conflict self.armorgen = ArmorConflictGenerator(mission, conflict) self.airgen = AircraftConflictGenerator(mission, conflict, self.game.settings) @@ -72,8 +74,13 @@ class Operation: with open("resources/default_options.lua", "r") as f: options_dict = loads(f.read())["options"] - self.mission = dcs.Mission(terrain) - self.mission.options.load_from_dict(options_dict) + self.current_mission = dcs.Mission(terrain) + if is_quick: + self.quick_mission = self.current_mission + else: + self.regular_mission = self.current_mission + + self.current_mission.options.load_from_dict(options_dict) self.is_quick = is_quick if is_quick: @@ -107,11 +114,11 @@ class Operation: self.briefinggen.append_frequency("AWACS", "133 MHz AM") # combined arms - self.mission.groundControl.pilot_can_control_vehicles = self.ca_slots > 0 - if self.game.player in [country.name for country in self.mission.coalition["blue"].countries.values()]: - self.mission.groundControl.blue_tactical_commander = self.ca_slots + self.current_mission.groundControl.pilot_can_control_vehicles = self.ca_slots > 0 + if self.game.player in [country.name for country in self.current_mission.coalition["blue"].countries.values()]: + self.current_mission.groundControl.blue_tactical_commander = self.ca_slots else: - self.mission.groundControl.red_tactical_commander = self.ca_slots + self.current_mission.groundControl.red_tactical_commander = self.ca_slots # ground infrastructure self.groundobjectgen.generate() diff --git a/game/operation/strike.py b/game/operation/strike.py index 647434bd..b368ed8a 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -24,14 +24,14 @@ class StrikeOperation(Operation): self.attackers_starting_position = None conflict = Conflict.strike_conflict( - attacker=self.mission.country(self.attacker_name), - defender=self.mission.country(self.defender_name), + attacker=self.current_mission.country(self.attacker_name), + defender=self.current_mission.country(self.defender_name), from_cp=self.from_cp, to_cp=self.to_cp, theater=self.game.theater ) - self.initialize(mission=self.mission, + self.initialize(mission=self.current_mission, conflict=conflict) def generate(self): diff --git a/gen/triggergen.py b/gen/triggergen.py index 3bf77a0b..d01b2fdb 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -16,7 +16,7 @@ from gen.airsupportgen import AirSupportConflictGenerator from gen import * PUSH_TRIGGER_SIZE = 3000 -PUSH_TRIGGER_ACTIVATION_AGL = 100 +PUSH_TRIGGER_ACTIVATION_AGL = 25 REGROUP_ZONE_DISTANCE = 12000 REGROUP_ALT = 5000 @@ -25,7 +25,7 @@ TRIGGER_WAYPOINT_OFFSET = 2 TRIGGER_MIN_DISTANCE_FROM_START = 10000 TRIGGER_RADIUS_MINIMUM = 20000 -TRIGGER_RADIUS_SMALL = 30000 +TRIGGER_RADIUS_SMALL = 50000 TRIGGER_RADIUS_MEDIUM = 100000 TRIGGER_RADIUS_LARGE = 150000 diff --git a/ui/eventmenu.py b/ui/eventmenu.py index 4cb7335b..64b9c580 100644 --- a/ui/eventmenu.py +++ b/ui/eventmenu.py @@ -194,6 +194,12 @@ class EventMenu(Menu): self.error_label["text"] = "Need at least one player in flight {}".format(self.event.flight_name(task)) return + if isinstance(self.event, FrontlineAttackEvent) or isinstance(self.event, FrontlinePatrolEvent): + if tasks_scramble_counts.get(PinpointStrike, 0) == 0: + self.error_label["text"] = "No ground vehicles assigned to attack!" + return + + if self.game.is_player_attack(self.event): self.event.player_attacking(flights) else: diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index 40d7ef05..2424f9f5 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -99,12 +99,14 @@ class EventResultsMenu(Menu): Label(self.frame, text="{}".format(count), **STYLES["widget"]).grid(column=1, row=row) row += 1 - Button(self.frame, text="Okay", command=self.dismiss, **STYLES["btn-primary"]).grid(columnspan=1, row=row); + Button(self.frame, text="Okay", command=self.dismiss, **STYLES["btn-primary"]).grid(columnspan=1, row=row) row += 1 def process_debriefing(self, debriefing: Debriefing): self.debriefing = debriefing - debriefing.calculate_units(mission=self.event.operation.mission, + + debriefing.calculate_units(regular_mission=self.event.operation.regular_mission, + quick_mission=self.event.operation.quick_mission, player_name=self.game.player, enemy_name=self.game.enemy) diff --git a/userdata/debriefing.py b/userdata/debriefing.py index 895b8dac..5a5cabb7 100644 --- a/userdata/debriefing.py +++ b/userdata/debriefing.py @@ -60,11 +60,12 @@ def parse_mutliplayer_debriefing(contents: str): class Debriefing: - def __init__(self, dead_units): + def __init__(self, dead_units, trigger_state): self.destroyed_units = {} # type: typing.Dict[str, typing.Dict[UnitType, int]] self.alive_units = {} # type: typing.Dict[str, typing.Dict[UnitType, int]] self.destroyed_objects = [] # type: typing.List[str] + self._trigger_state = trigger_state self._dead_units = dead_units @classmethod @@ -99,18 +100,11 @@ class Debriefing: if event_type in ["crash", "dead"]: parse_dead_object(event) - """ - initiator_components = event["initiator"].split("|") + trigger_state = table.get("debriefing", {}).get("triggers_state", {}) - if initiator_components[0] in CATEGORY_MAP: - parse_dead_object(event) - else: - parse_dead_unit(event) - """ + return Debriefing(dead_units, trigger_state) - return Debriefing(dead_units) - - def calculate_units(self, mission: Mission, player_name: str, enemy_name: str): + def calculate_units(self, regular_mission: Mission, quick_mission: Mission, player_name: str, enemy_name: str): def count_groups(groups: typing.List[UnitType]) -> typing.Dict[UnitType, int]: result = {} for group in groups: @@ -129,6 +123,8 @@ class Debriefing: return result + mission = regular_mission if len(self._trigger_state) else quick_mission + player = mission.country(player_name) enemy = mission.country(enemy_name) From 933e064079f9e3618eb1f3dab8283effe216fdc5 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 14 Oct 2018 04:30:46 +0300 Subject: [PATCH 62/63] fixed debriefing crash --- game/db.py | 13 ++++++++++++- userdata/debriefing.py | 19 +++++++++---------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/game/db.py b/game/db.py index 7253d4d2..ecfbea3f 100644 --- a/game/db.py +++ b/game/db.py @@ -2,12 +2,14 @@ import typing import enum from dcs.vehicles import * -from dcs.unitgroup import * from dcs.ships import * from dcs.planes import * from dcs.helicopters import * + from dcs.task import * +from dcs.unit import * from dcs.unittype import * +from dcs.unitgroup import * """ ---------- BEGINNING OF CONFIGURATION SECTION @@ -449,6 +451,15 @@ def unit_type_from_name(name: str) -> UnitType: return None +def unit_type_of(unit: Unit) -> UnitType: + if isinstance(unit, Vehicle): + return vehicle_map[unit.type] + elif isinstance(unit, Ship): + return ship_map[unit.type] + else: + return unit.unit_type + + def task_name(task) -> str: if task == AirDefence: return "AirDefence" diff --git a/userdata/debriefing.py b/userdata/debriefing.py index 5a5cabb7..f4f6251f 100644 --- a/userdata/debriefing.py +++ b/userdata/debriefing.py @@ -109,13 +109,7 @@ class Debriefing: result = {} for group in groups: for unit in group.units: - if isinstance(unit, Vehicle): - unit_type = vehicle_map[unit.type] - elif isinstance(unit, Ship): - unit_type = ship_map[unit.type] - else: - unit_type = unit.unit_type - + unit_type = db.unit_type_of(unit) if unit_type in db.EXTRA_AA.values(): continue @@ -147,15 +141,20 @@ class Debriefing: for group in country_groups: for unit in group.units: if unit.id in self._dead_units: - logging.info("debriefing: found dead unit {} ({})".format(str(unit.name), unit.id)) - unit_klass = db.unit_type_from_name(unit.type) - self.destroyed_units[country_name][unit_klass] = self.destroyed_units[country_name].get(unit_klass, 0) + 1 + unit_type = db.unit_type_of(unit) + logging.info("debriefing: found dead unit {} ({}, {})".format(str(unit.name), unit.id, unit_type)) + + assert country_name + assert unit_type + self.destroyed_units[country_name][unit_type] = self.destroyed_units[country_name].get(unit_type, 0) + 1 self._dead_units.remove(unit.id) for group in static_groups: identifier = group.units[0].id if identifier in self._dead_units: logging.info("debriefing: found dead static {} ({})".format(str(group.name), identifier)) + + assert str(group.name) self.destroyed_objects.append(str(group.name)) self._dead_units.remove(identifier) From 8f4094ee9874ade6918ea668ecc8de1ccf6c48ce Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Mon, 22 Oct 2018 02:13:38 +0300 Subject: [PATCH 63/63] number of fixes --- game/operation/strike.py | 2 ++ gen/armor.py | 10 ++++++---- gen/environmentgen.py | 4 ++-- gen/groundobjectsgen.py | 3 +++ gen/triggergen.py | 5 ++++- theater/caucasus.py | 1 - ui/eventresultsmenu.py | 2 ++ 7 files changed, 19 insertions(+), 8 deletions(-) diff --git a/game/operation/strike.py b/game/operation/strike.py index b368ed8a..9c158f13 100644 --- a/game/operation/strike.py +++ b/game/operation/strike.py @@ -8,6 +8,8 @@ class StrikeOperation(Operation): escort = None # type: db.AssignedUnitsDict interceptors = None # type: db.AssignedUnitsDict + trigger_radius = TRIGGER_RADIUS_ALL_MAP + def setup(self, strikegroup: db.AssignedUnitsDict, escort: db.AssignedUnitsDict, diff --git a/gen/armor.py b/gen/armor.py index 35fb049c..de547111 100644 --- a/gen/armor.py +++ b/gen/armor.py @@ -20,6 +20,8 @@ FRONTLINE_CAS_FIGHTS_COUNT = 4, 8 FRONTLINE_CAS_GROUP_MIN = 1, 2 FRONTLINE_CAS_PADDING = 12000 +FIGHT_DISTANCE = 1500 + class ArmorConflictGenerator: def __init__(self, mission: Mission, conflict: Conflict): @@ -56,8 +58,8 @@ class ArmorConflictGenerator: def _generate_fight_at(self, attackers: db.ArmorDict, defenders: db.ArmorDict, position: Point): if attackers: - attack_pos = position.point_from_heading(self.conflict.heading - 90, 8000) - attack_dest = position.point_from_heading(self.conflict.heading + 90, 25000) + attack_pos = position.point_from_heading(self.conflict.heading - 90, FIGHT_DISTANCE) + attack_dest = position.point_from_heading(self.conflict.heading + 90, FIGHT_DISTANCE * 2) for type, count in attackers.items(): self._generate_group( side=self.conflict.attackers_side, @@ -68,8 +70,8 @@ class ArmorConflictGenerator: ) if defenders: - def_pos = position.point_from_heading(self.conflict.heading + 90, 4000) - def_dest = position.point_from_heading(self.conflict.heading - 90, 25000) + def_pos = position.point_from_heading(self.conflict.heading + 90, FIGHT_DISTANCE) + def_dest = position.point_from_heading(self.conflict.heading - 90, FIGHT_DISTANCE * 2) for type, count in defenders.items(): self._generate_group( side=self.conflict.defenders_side, diff --git a/gen/environmentgen.py b/gen/environmentgen.py index abfc0cf0..fb0600ef 100644 --- a/gen/environmentgen.py +++ b/gen/environmentgen.py @@ -127,9 +127,9 @@ class EnviromentGenerator: # sometimes clouds are randomized way too low and need to be fixed self.mission.weather.clouds_base = max(self.mission.weather.clouds_base, WEATHER_CLOUD_BASE_MIN) - if self.mission.weather.wind_at_ground == 0: + if self.mission.weather.wind_at_ground.speed == 0: # frontline smokes look silly w/o any wind - self.mission.weather.wind_at_ground = random.randint(1, 2) + self._generate_wind(1) def generate(self) -> EnvironmentSettings: self._gen_random_time() diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index b21a3116..dfb27b7f 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -28,6 +28,9 @@ class GroundObjectsGenerator: heading -= 90 position = self.conflict.find_ground_position(center.point_from_heading(heading, FARP_FRONTLINE_DISTANCE), heading) + if not position: + return + for i, _ in enumerate(range(0, number_of_units, self.FARP_CAPACITY)): position = position.point_from_heading(0, i * 275) diff --git a/gen/triggergen.py b/gen/triggergen.py index d01b2fdb..d22b0fa1 100644 --- a/gen/triggergen.py +++ b/gen/triggergen.py @@ -28,6 +28,7 @@ TRIGGER_RADIUS_MINIMUM = 20000 TRIGGER_RADIUS_SMALL = 50000 TRIGGER_RADIUS_MEDIUM = 100000 TRIGGER_RADIUS_LARGE = 150000 +TRIGGER_RADIUS_ALL_MAP = 3000000 class Silence(Option): @@ -53,14 +54,16 @@ class TriggersGenerator: vehicle_group.late_activation = True activate_by_trigger.append(vehicle_group) + """ conflict_distance = player_cp.position.distance_to_point(self.conflict.position) minimum_radius = max(conflict_distance - TRIGGER_MIN_DISTANCE_FROM_START, TRIGGER_RADIUS_MINIMUM) if minimum_radius < 0: minimum_radius = 0 result_radius = min(minimum_radius, radius) + """ - activation_trigger_zone = self.mission.triggers.add_triggerzone(self.conflict.position, result_radius, name="Activation zone") + activation_trigger_zone = self.mission.triggers.add_triggerzone(self.conflict.position, radius, name="Activation zone") activation_trigger = TriggerOnce(Event.NoEvent, "Activation trigger") activation_trigger.add_condition(PartOfCoalitionInZone(player_coalition, activation_trigger_zone.id)) activation_trigger.add_condition(FlagIsTrue()) diff --git a/theater/caucasus.py b/theater/caucasus.py index cf1b98d1..51922926 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -33,7 +33,6 @@ class CaucasusTheater(ConflictTheater): gelendzhik = ControlPoint.from_airport(caucasus.Gelendzhik, COAST_DR_E, SIZE_BIG, 1.1) maykop = ControlPoint.from_airport(caucasus.Maykop_Khanskaya, LAND, SIZE_LARGE, IMPORTANCE_HIGH) krasnodar = ControlPoint.from_airport(caucasus.Krasnodar_Center, LAND, SIZE_LARGE, IMPORTANCE_HIGH) - novorossiysk = ControlPoint.from_airport(caucasus.Novorossiysk, COAST_DR_E, SIZE_BIG, 1.2) krymsk = ControlPoint.from_airport(caucasus.Krymsk, LAND, SIZE_LARGE, 1.2) anapa = ControlPoint.from_airport(caucasus.Anapa_Vityazevo, LAND, SIZE_LARGE, IMPORTANCE_HIGH) diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index 2424f9f5..68c25c21 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -54,6 +54,7 @@ class EventResultsMenu(Menu): pg.start(10) row += 1 + """ Label(self.frame, text="Cheat operation results: ", **STYLES["strong"]).grid(column=0, row=row, columnspan=2, sticky=NSEW, pady=5) @@ -69,6 +70,7 @@ class EventResultsMenu(Menu): Button(self.frame, text="some player losses", command=self.simulate_result(0.8, 0), **STYLES["btn-warning"]).grid(column=1, row=row, padx=5, pady=5) row += 1 + """ else: row = 0