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

102 lines
4.0 KiB
Python

"""
СОБЫТИЯ И КРИЗИСЫ
"""
class EventsConfig:
# Типы событий
EVENT_TYPES = {
'economic': {'name': 'Экономические', 'frequency': 0.4, 'color': '#FF9800'},
'political': {'name': 'Политические', 'frequency': 0.3, 'color': '#F44336'},
'natural': {'name': 'Природные', 'frequency': 0.15, 'color': '#4CAF50'},
'technological': {'name': 'Технологические', 'frequency': 0.15, 'color': '#2196F3'}
}
# События
EVENTS = {
'oil_boom': {
'name': 'Бум нефти',
'type': 'economic',
'probability': 0.08,
'effects': {
'oil': {'price_change': 0.30, 'duration': 2},
'stock_gazprom': {'price_change': 0.15, 'duration': 2},
},
'description': 'Цены на нефть взлетели на 30%'
},
'financial_crisis': {
'name': 'Финансовый кризис',
'type': 'economic',
'probability': 0.10,
'effects': {
'ALL': {'price_change': -0.20, 'duration': 2},
'gov_bonds': {'price_change': 0.05, 'duration': 2},
},
'description': 'Кризис ликвидности на рынках'
},
'sanctions': {
'name': 'Международные санкции',
'type': 'political',
'probability': 0.07,
'effects': {
'stock_gazprom': {'price_change': -0.35, 'duration': 3},
'stock_sberbank': {'price_change': -0.25, 'duration': 3},
},
'description': 'Новые санкции против российских компаний'
},
'tech_revolution': {
'name': 'Технологическая революция',
'type': 'technological',
'probability': 0.05,
'effects': {
'it_startup': {'price_change': 0.50, 'duration': 3},
'stock_yandex': {'price_change': 0.25, 'duration': 2},
'bitcoin': {'price_change': 0.20, 'duration': 1},
},
'description': 'Прорыв в IT-технологиях'
},
'elections': {
'name': 'Президентские выборы',
'type': 'political',
'probability': 0.06,
'effects': {
'ALL': {'price_change': -0.10, 'duration': 1},
'gov_bonds': {'price_change': 0.05, 'duration': 1},
},
'description': 'Неопределенность перед выборами'
},
'earthquake': {
'name': 'Землетрясение',
'type': 'natural',
'probability': 0.03,
'effects': {
'real_estate': {'price_change': -0.25, 'duration': 3},
},
'description': 'Разрушена инфраструктура в ключевом регионе'
}
}
# Кризисы
CRISES = {
'hyperinflation': {
'name': 'Гиперинфляция',
'probability': 0.02,
'conditions': ['month > 6'],
'effects': {
'ALL': {'price_change': 0.50, 'duration': 3},
'cash': {'value_change': -0.30, 'duration': 3},
},
'description': 'Гиперинфляция! Цены растут на 50% в месяц'
},
'market_crash': {
'name': 'Обвал рынка',
'probability': 0.025,
'conditions': ['month > 4'],
'effects': {
'stocks': {'price_change': -0.60, 'duration': 4},
'real_estate': {'price_change': -0.40, 'duration': 6},
'crypto': {'price_change': -0.80, 'duration': 2},
},
'description': 'Лопнул финансовый пузырь. Рынки рухнули'
}
}