# 이벤트/알림 시스템

> 메인 문서: [game-system-overhaul-index.md](game-system-overhaul-index.md)

---

## 1. 이벤트 시스템

### 1.1 이벤트 종류

| 이벤트 타입 | 주기 | 지속 시간 |
|------------|------|----------|
| **일일 보너스** | 매일 | 접속 시 |
| **주간 보스** | 매주 일요일 | 24시간 |
| **시즌 이벤트** | 시즌별 | 2-4주 |
| **기념일 이벤트** | 특정 날짜 | 1-7일 |
| **돌발 이벤트** | 랜덤 | 1-2시간 |

### 1.2 이벤트 구조

```dart
class GameEvent {
  final String id;
  final String name;
  final EventType type;
  final DateTime startTime;
  final DateTime endTime;
  final List<EventReward> rewards;
  final List<EventQuest> quests;
  final EventBonuses? bonuses;
}

class EventBonuses {
  final double expMultiplier;     // 경험치 배율
  final double goldMultiplier;    // 골드 배율
  final double dropRateBonus;     // 드롭률 보너스
}
```

### 1.3 시즌 이벤트 예시

| 시즌 | 테마 | 특별 콘텐츠 |
|------|------|------------|
| **봄** | 버그 헌팅 시즌 | 특별 몬스터, 봄 한정 장비 |
| **여름** | 핫픽스 페스티벌 | 경험치 2배, 여름 코스튬 |
| **가을** | 수확의 코드 | 골드 2배, 가을 한정 펫 |
| **겨울** | 시스템 동면 | 특별 던전, 겨울 한정 세트 |

### 1.4 이벤트 보상 구조

```
┌─ 신년 이벤트 ───────────────────────┐
│                                     │
│ 🎉 2025 신년 맞이 특별 이벤트       │
│    기간: 1/1 ~ 1/7                  │
│                                     │
│ ─────────────────────────────────── │
│ 📋 이벤트 미션                      │
│                                     │
│ ☑ 몬스터 100마리 처치 [100/100]    │
│   보상: 신년 무기 상자              │
│                                     │
│ ☐ 던전 5회 클리어 [3/5]            │
│   보상: 전설 물약 세트              │
│                                     │
│ ☐ 보스 처치 [0/1]                  │
│   보상: 신년 한정 칭호              │
│                                     │
│ ─────────────────────────────────── │
│ 🎁 출석 보상 (7일)                  │
│ [✓][✓][✓][✓][ ][ ][ ]             │
│  1  2  3  4  5  6  7               │
│                                     │
│ 7일 완료 보상: 신년 한정 세트       │
│                                     │
└─────────────────────────────────────┘
```

### 1.5 돌발 이벤트

| 이벤트 | 발생 확률 | 효과 |
|--------|----------|------|
| **골드 러시** | 5% | 1시간 골드 3배 |
| **경험치 폭풍** | 5% | 1시간 경험치 2배 |
| **보물 사냥** | 3% | 희귀 아이템 드롭률 +100% |
| **엘리트 침공** | 3% | 정예 몬스터 대량 등장 |
| **행운의 시간** | 2% | 모든 보너스 적용 |

---

## 2. 알림/푸시 시스템

### 2.1 알림 종류

| 카테고리 | 알림 | 기본 설정 |
|----------|------|----------|
| **게임 진행** | 레벨업 | 켜기 |
| | 퀘스트 완료 | 켜기 |
| | 보스 해금 | 켜기 |
| | 업적 달성 | 켜기 |
| **전투** | 사망 | 켜기 |
| | 희귀 아이템 획득 | 켜기 |
| | HP 위험 (20% 이하) | 끄기 |
| **시스템** | 오프라인 보상 준비 | 켜기 |
| | 일일 미션 갱신 | 켜기 |
| | 이벤트 시작/종료 | 켜기 |
| | 상점 갱신 | 끄기 |
| **소셜 (향후)** | 친구 요청 | 켜기 |
| | 길드 알림 | 켜기 |

### 2.2 푸시 알림 (모바일)

```dart
class PushNotificationService {
  /// 로컬 푸시 알림 예약
  Future<void> scheduleNotification({
    required String title,
    required String body,
    required DateTime scheduledTime,
    String? payload,
  });

  /// 반복 알림 설정
  Future<void> scheduleRepeating({
    required String title,
    required String body,
    required RepeatInterval interval,
  });
}

enum RepeatInterval {
  hourly,
  daily,
  weekly,
}
```

### 2.3 푸시 알림 시나리오

| 시나리오 | 트리거 | 메시지 예시 |
|----------|--------|------------|
| **복귀 유도** | 24시간 미접속 | "⚔️ 버그들이 기다리고 있어요!" |
| **오프라인 보상** | 8시간 경과 | "🎁 오프라인 보상이 가득 찼어요!" |
| **일일 미션** | 매일 오전 9시 | "📋 새로운 일일 미션이 도착했어요!" |
| **이벤트** | 이벤트 시작 | "🎉 신년 이벤트가 시작되었어요!" |
| **이벤트 종료** | 이벤트 종료 1시간 전 | "⏰ 이벤트가 1시간 후 종료됩니다!" |

### 2.4 인앱 알림

```
┌─ 알림 센터 ─────────────────────────┐
│                                     │
│ 오늘                                │
│ ─────────────────────────────────── │
│ 🎮 레벨 26 달성!           14:32   │
│                                     │
│ ⚔️ 디버거의 검 획득 (Epic)  14:15   │
│                                     │
│ 📋 일일 미션 완료          13:45   │
│    보상: 골드 500, 경험치 물약      │
│                                     │
│ 어제                                │
│ ─────────────────────────────────── │
│ 🏆 업적 달성: 백전용사      23:12   │
│                                     │
│ 💀 사망: 메모리 누수에 의해  21:30   │
│                                     │
│           [ 모두 읽음 ]             │
│                                     │
└─────────────────────────────────────┘
```

### 2.5 알림 설정 UI

```
┌─ 알림 설정 ─────────────────────────┐
│                                     │
│ 🔔 푸시 알림                        │
│    마스터 스위치    [● 켜기]        │
│                                     │
│ ─────────────────────────────────── │
│ 게임 진행                           │
│    레벨업          [● 켜기]         │
│    퀘스트 완료     [● 켜기]         │
│    업적 달성       [● 켜기]         │
│                                     │
│ 시스템                              │
│    오프라인 보상   [● 켜기]         │
│    일일 미션 갱신  [● 켜기]         │
│    이벤트          [● 켜기]         │
│                                     │
│ 방해 금지 시간                      │
│    [22:00] ~ [08:00]               │
│                                     │
└─────────────────────────────────────┘
```

---
