mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
take off silencing WIP; fixes for blufor; fixed SAMs commision on samless campaigns
This commit is contained in:
@@ -25,8 +25,8 @@ class BaseMenu(Menu):
|
||||
Label(self.frame, text="{}".format(db.unit_type_name(unit_type))).grid(row=row, sticky=W)
|
||||
Label(self.frame, text="({})".format(existing_units)).grid(column=1, row=row)
|
||||
Label(self.frame, text="{}m {}".format(unit_price, scheduled_units and "(bought {})".format(scheduled_units) or "")).grid(column=2, row=row)
|
||||
Button(self.frame, text="Buy", command=self.buy(unit_type)).grid(column=3, row=row)
|
||||
Button(self.frame, text="Sell", command=self.sell(unit_type)).grid(column=4, 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)
|
||||
row += 1
|
||||
|
||||
units = {
|
||||
@@ -38,7 +38,7 @@ class BaseMenu(Menu):
|
||||
}
|
||||
|
||||
Label(self.frame, text="Budget: {}m".format(self.game.budget)).grid(row=row, sticky=W)
|
||||
Button(self.frame, text="Back", command=self.dismiss).grid(column=2, row=row)
|
||||
Button(self.frame, text="Back", command=self.dismiss).grid(column=4, row=row)
|
||||
row += 1
|
||||
|
||||
for task_type, units in units.items():
|
||||
@@ -62,7 +62,7 @@ class BaseMenu(Menu):
|
||||
self.event.deliver({unit_type: 1})
|
||||
self.game.budget -= price
|
||||
|
||||
self.display()
|
||||
#self.display()
|
||||
|
||||
return action
|
||||
|
||||
@@ -76,6 +76,6 @@ class BaseMenu(Menu):
|
||||
price = db.PRICES[unit_type]
|
||||
self.game.budget += price
|
||||
self.base.commit_losses({unit_type: 1})
|
||||
self.display()
|
||||
#self.display()
|
||||
|
||||
return action
|
||||
@@ -8,6 +8,7 @@ class NewGameMenu(Menu):
|
||||
selected_country = None # type: IntVar
|
||||
selected_terrain = None # type: IntVar
|
||||
sams = None
|
||||
midgame = None
|
||||
multiplier = None
|
||||
|
||||
def __init__(self, window: Window, callback: typing.Callable):
|
||||
@@ -27,6 +28,9 @@ class NewGameMenu(Menu):
|
||||
self.multiplier = StringVar()
|
||||
self.multiplier.set("1")
|
||||
|
||||
self.midgame = BooleanVar()
|
||||
self.midgame.set(0)
|
||||
|
||||
@property
|
||||
def player_country_name(self):
|
||||
if self.selected_country.get() == 0:
|
||||
@@ -64,6 +68,7 @@ class NewGameMenu(Menu):
|
||||
|
||||
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)
|
||||
|
||||
Label(self.frame, text="Multiplier").grid(row=0, column=3)
|
||||
Entry(self.frame, textvariable=self.multiplier).grid(row=1, column=3)
|
||||
@@ -75,4 +80,5 @@ class NewGameMenu(Menu):
|
||||
self.enemy_country_name,
|
||||
self.terrain_name,
|
||||
bool(self.sams.get()),
|
||||
bool(self.midgame.get()),
|
||||
float(self.multiplier.get()))
|
||||
|
||||
@@ -51,6 +51,12 @@ class OverviewCanvas:
|
||||
id = self.canvas.create_text(coords[0], coords[1], text=title, font=font)
|
||||
self.canvas.tag_bind(id, "<Button-1>", self.display(cp))
|
||||
|
||||
def _player_color(self):
|
||||
return self.game.player == "USA" and "blue" or "red"
|
||||
|
||||
def _enemy_color(self):
|
||||
return self.game.player == "USA" and "red" or "blue"
|
||||
|
||||
def update(self):
|
||||
self.canvas.delete(ALL)
|
||||
self.canvas.create_image((self.image.width()/2, self.image.height()/2), image=self.image)
|
||||
@@ -60,9 +66,9 @@ class OverviewCanvas:
|
||||
for connected_cp in cp.connected_points:
|
||||
connected_coords = self.transform_point(connected_cp.position)
|
||||
if connected_cp.captured != cp.captured:
|
||||
color = "red"
|
||||
color = self._enemy_color()
|
||||
elif connected_cp.captured and cp.captured:
|
||||
color = "blue"
|
||||
color = self._player_color()
|
||||
else:
|
||||
color = "black"
|
||||
|
||||
@@ -73,7 +79,11 @@ class OverviewCanvas:
|
||||
arc_size = 22 * math.pow(cp.importance, 1)
|
||||
extent = max(cp.base.strength * 180, 10)
|
||||
start = (180 - extent) / 2
|
||||
color = cp.captured and 'blue' or 'red'
|
||||
|
||||
if cp.captured:
|
||||
color = self._player_color()
|
||||
else:
|
||||
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),
|
||||
|
||||
Reference in New Issue
Block a user