83 lines
2.4 KiB
Python
83 lines
2.4 KiB
Python
"""
|
|
ТУРНИРНЫЙ РЕЖИМ БАЛАНСА
|
|
Для соревнований
|
|
"""
|
|
|
|
from game_balance.test_balance.standard_mode import StandardBalance
|
|
|
|
|
|
class TournamentBalance(StandardBalance):
|
|
"""Турнирный режим"""
|
|
|
|
@classmethod
|
|
def get_assets_config(cls):
|
|
config = super().get_assets_config()
|
|
|
|
# Балансировка цен
|
|
price_adjustments = {
|
|
'gov_bonds': 1.0,
|
|
'stock_gazprom': 0.8,
|
|
'stock_sberbank': 0.8,
|
|
'apartment_small': 0.7,
|
|
'apartment_elite': 0.6,
|
|
'bitcoin': 1.2,
|
|
'oil': 1.0,
|
|
'coffee_shop': 0.8,
|
|
'it_startup': 1.0,
|
|
'shopping_mall': 0.5,
|
|
'oil_field': 0.4,
|
|
}
|
|
|
|
for asset_id, multiplier in price_adjustments.items():
|
|
if asset_id in config and config[asset_id].get('base_price'):
|
|
config[asset_id]['base_price'] *= multiplier
|
|
|
|
return config
|
|
|
|
@classmethod
|
|
def get_players_config(cls):
|
|
config = super().get_players_config()
|
|
config['STARTING_CAPITAL'] = 500000
|
|
config['TARGET_CAPITAL'] = 100000000
|
|
|
|
# Жесткие ограничения против монополий
|
|
config['MAX_ASSETS_PER_TYPE'] = {
|
|
'bonds': 0.5,
|
|
'stocks': 0.3,
|
|
'real_estate': 0.4,
|
|
'crypto': 0.5,
|
|
'commodities': 0.3,
|
|
'business': 0.4,
|
|
'unique': 0.5,
|
|
}
|
|
|
|
# Быстрый старт
|
|
config['PURCHASE_LIMITS_BY_MONTH'] = {
|
|
1: 0.5,
|
|
2: 1.0,
|
|
}
|
|
|
|
return config
|
|
|
|
@classmethod
|
|
def get_economy_config(cls):
|
|
config = super().get_economy_config()
|
|
|
|
# Высокие налоги
|
|
config['TAX_SYSTEM']['income_tax'] = [
|
|
{'threshold': 0, 'rate': 0.00},
|
|
{'threshold': 100000, 'rate': 0.15},
|
|
{'threshold': 500000, 'rate': 0.25},
|
|
{'threshold': 2000000, 'rate': 0.35},
|
|
{'threshold': 5000000, 'rate': 0.45},
|
|
]
|
|
config['TAX_SYSTEM']['wealth_tax']['rate'] = 0.02
|
|
config['TAX_SYSTEM']['transaction_fee'] = 0.02
|
|
|
|
# Высокие ставки
|
|
config['LOAN_SYSTEM']['interest_rates']['standard'] = 0.08
|
|
|
|
# Высокая инфляция
|
|
config['MACROECONOMICS']['base_inflation'] = 0.01
|
|
|
|
return config |