Files
cm/game_balance/economy_config.py
2026-02-11 17:44:26 +03:00

74 lines
2.2 KiB
Python

"""
ЭКОНОМИЧЕСКИЕ ПАРАМЕТРЫ
"""
class EconomyConfig:
# Налоговая система
TAX_SYSTEM = {
'income_tax': [
{'threshold': 0, 'rate': 0.00},
{'threshold': 50000, 'rate': 0.10},
{'threshold': 200000, 'rate': 0.15},
{'threshold': 500000, 'rate': 0.20},
{'threshold': 1000000, 'rate': 0.25}
],
'wealth_tax': {
'threshold': 5000000,
'rate': 0.01
},
'monopoly_tax': {
'threshold': 0.4,
'rate': 0.03
},
'transaction_fee': 0.01,
'auction_fee': 0.02,
}
# Кредитная система
LOAN_SYSTEM = {
'max_loan_multiplier': 10.0,
'interest_rates': {
'standard': 0.05,
'crisis': 0.10,
'black_market': 0.15,
},
'repayment_periods': [3, 6, 12, 24],
'late_fee': 0.02,
'default_threshold': 3,
}
# Макроэкономика
MACROECONOMICS = {
'base_inflation': 0.005,
'inflation_multipliers': {
'crisis': 1.5,
'boom': 0.7,
'default': 2.0,
},
'central_bank_rate': 0.04,
}
# Корреляции активов - ИСПРАВЛЕНО: ключи-строки вместо кортежей
ASSET_CORRELATIONS = {
'stock_gazprom:oil': 0.6,
'stock_sberbank:stock_gazprom': 0.4,
'oil:natural_gas': 0.7,
'apartment_small:apartment_elite': 0.5,
'gold:bitcoin': -0.3,
'gov_bonds:stock_gazprom': -0.2,
}
@staticmethod
def get_correlation(asset1, asset2):
"""Получить корреляцию между активами"""
# Пробуем прямой ключ
key1 = f"{asset1}:{asset2}"
if key1 in EconomyConfig.ASSET_CORRELATIONS:
return EconomyConfig.ASSET_CORRELATIONS[key1]
# Пробуем обратный ключ
key2 = f"{asset2}:{asset1}"
if key2 in EconomyConfig.ASSET_CORRELATIONS:
return EconomyConfig.ASSET_CORRELATIONS[key2]
return 0 # Нет корреляции