# 이벤트/알림 시스템 > 메인 문서: [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 rewards; final List 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 scheduleNotification({ required String title, required String body, required DateTime scheduledTime, String? payload, }); /// 반복 알림 설정 Future 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] │ │ │ └─────────────────────────────────────┘ ``` ---