Buy Sell
This commit is contained in:
83
game_balance/test_balance/tournament.py
Normal file
83
game_balance/test_balance/tournament.py
Normal file
@@ -0,0 +1,83 @@
|
||||
"""
|
||||
ТУРНИРНЫЙ РЕЖИМ БАЛАНСА
|
||||
Для соревнований
|
||||
"""
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user