Buy Sell
This commit is contained in:
102
game_balance/events_config.py
Normal file
102
game_balance/events_config.py
Normal file
@@ -0,0 +1,102 @@
|
||||
"""
|
||||
СОБЫТИЯ И КРИЗИСЫ
|
||||
"""
|
||||
|
||||
|
||||
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': 'Лопнул финансовый пузырь. Рынки рухнули'
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user