# 자산(엔진) 시스템 작업지시서 — 그레이박스 v1 > **목적**: 발라트로형 엔진 빌딩 검증. 자산 8종을 데이터로 구현하고, 자산 정보 UI 블로커를 해결하여 실제 플레이 테스트가 가능한 상태를 만든다. > **원칙**: Greybox First. 수치는 전부 가안이며 튜닝 대상. 비주얼 연출 금지(텍스트/기본 도형만). > **주의**: `update_csv_tags.js`, `update_csv.js` 등 파이프라인 스크립트는 수정 금지. 본 작업은 신규 데이터 파일 + 신규 로직 모듈로만 구성한다. --- ## Part A. 자산 데이터 스키마 신규 파일 `src/data/assets.json` 생성. 자산 1장의 문법은 **트리거 → 효과 → (선택) 성장**. ```json { "id": "asset_purge_001", "name": "문서 파쇄실", "grade": "C", // C | B | A | S "archetype": "purge", // purge | convert | quarantine | skip "trigger": { "type": "every_n_approvals", // 트리거 enum (아래 표) "params": { "n": 5 } }, "effect": { "type": "purge_lowest", // 효과 enum (아래 표) "params": { "count": 1 } }, "growth": null, // A급 이상만 사용. { "stackOn": "...", "per": 3, "bonus": {...} } "risk": null, // 부작용. { "param": "risk_tolerance", "amount": 5, "when": "council_end" } "faction_link": "scavengers", // 우호도 연동 파벌 (nullable) "description": "결재 5건마다 덱에서 최하 등급 오염 카드 1장을 영구 소각한다.", "flavor": "파쇄 용량: 일일 1건. 증설 요청은 3회 반려됨." } ``` ### 트리거 enum (v1 범위) | type | 의미 | params | |---|---|---| | `on_pollution_draw` | 오염 카드 드로우 시 | `category`(신화/저항/공황/압박, nullable), `minGrade`(nullable) | | `on_swipe_left` | 좌 스와이프 시 | — | | `on_token_spend` | 토큰 소모 시 | `tokenType`(nullable) | | `every_n_approvals` | 결재 N건마다 | `n` | | `on_council_end` | 의회 종료 시 | — | | `on_purge` | 오염 카드 소각 시 (연쇄용) | — | | `on_convert` | 오염 카드 변환 시 (연쇄용) | — | | `on_quarantine_fail` | 격리 실패 복귀 시 (연쇄용) | — | | `manual_charge` | 충전식 수동/자동 방패 | `chargeEvery` | ### 효과 enum (v1 범위) | type | 의미 | params | |---|---|---| | `purge_lowest` | 최하 등급 오염 소각 | `count` | | `convert_to_token` | 오염 → 토큰 환전 | `tokenType`, `amount` | | `quarantine` | 오염 격리 (조건 실패 시 강화 복귀) | `failCondition` | | `negate_penalty` | 페널티 1회 무효 | `category`(nullable) | | `gain_token` | 토큰 생성 | `tokenType`, `amount` | | `gain_tag` | 자원 태그 생성 | `tagType`, `amount` | | `convert_multiplier` | 변환 산출 배수 (상시) | `multiplier` | | `quarantine_fail_to_purge` | 격리 실패 → 영구 소각으로 치환 (규칙 왜곡) | `bonusTag`(nullable) | > 구현 노트: 트리거는 게임 이벤트 버스에 리스너로 등록. `on_purge`/`on_convert`/`on_quarantine_fail`은 다른 자산의 효과가 발생시키는 이벤트를 구독하므로, **효과 실행부가 반드시 이벤트를 발행**해야 연쇄가 성립한다. 무한 루프 방지를 위해 결재 1건당 연쇄 깊이 상한 10회. --- ## Part B. 자산 8종 데이터 (확정 배치 1차) ### ① 소각 특화 (faction: scavengers) 1. **문서 파쇄실** — C급 - 트리거: `every_n_approvals(5)` / 효과: `purge_lowest(1)` 2. **소각 처리 대장** — A급 - 트리거: `on_purge` / 성장: 스택 +1, 스택 3마다 `purge_lowest(1)` 추가 발동 ### ② 변환 경제 (faction: nexus_traders) 3. **폐기물 재활용 규정** — C급 - 트리거: `on_pollution_draw(category: 신화)` / 효과: `gain_token(예산, 2)` (페널티는 정상 적용 후) 4. **부산물 매각 계약** — B급 - 효과: `convert_multiplier(2)` 상시 / 리스크: 의회 종료 시마다 위험 수용 계수 +5% ### ③ 격리 도박 (faction: occult_collectors) 5. **임시 격리 컨테이너** — C급 - 트리거: `on_swipe_left`(발동 선택 가능) / 효과: `quarantine(failCondition: 다음 의회까지 대중 공황 1단계 상승)` 6. **심연 보관 조례** — S급 - 트리거: `on_quarantine_fail` / 효과: `quarantine_fail_to_purge(bonusTag: 감시 +1)` ### ④ 무효 회피 (faction: field_agents_union — 우호도 **하락** 연동) 7. **결재 반려 도장** — C급 - 트리거: `manual_charge(chargeEvery: 10)` / 효과: `negate_penalty(전체)` 8. **책임 소재 불명 처리** — B급 - 트리거: 조직 저항 계열 `negate_penalty` 발동 시 / 효과: 인력 토큰 소모 없이 통과 / 리스크: 내부 저항 +3% > 수치(5건, 토큰 2, 스택 3, 5%, 3% 등)는 전부 가안. 플레이 테스트 후 일괄 튜닝. --- ## Part C. UX 블로커 해결 (최우선 선행 작업) **현재 문제**: 자산 클릭 시 아무 정보도 표시되지 않음 → 덱압축 시스템 평가 자체가 불가능. 1. 하단 자산 슬롯의 `Icon_Asset` 탭/클릭 시 정보 팝업 표시: - 이름, 등급, 아키타입 아이콘 - **트리거 조건 → 효과** 를 한 문장으로 (description 필드 그대로) - 성장형이면 현재 스택 수치 표시 2. **자산 발동 시 가시 피드백 (텍스트 로그로 충분)**: 화면 한쪽에 "『문서 파쇄실』 발동 — [하급 신화] 소각됨" 식의 1줄 로그. 발라트로의 조커 점멸에 해당하는 최소 구현. 연쇄 발동 시 순서대로 줄줄이 출력되어야 "엔진이 돌아간다"는 감각이 생긴다. 3. 그레이박스 기준이므로 애니메이션 불필요. 텍스트 로그 + 팝업만. --- ## Part D. 플레이 테스트 체크리스트 구현 완료 후 아래를 검증한다. - [ ] **역전 엔진 성립**: 3번(재활용 규정) + 1번(파쇄실) 조합 시, 오염이 늘수록 자원이 돌고 덱이 정화되는 체감이 있는가? - [ ] **연쇄 가시성**: 2번(소각 처리 대장) 보유 시 소각→스택→추가 소각 연쇄가 로그로 읽히는가? - [ ] **S급 킹핀**: 6번(심연 보관 조례) 획득 전후로 격리 자산의 가치 평가가 뒤집히는가? (획득 전: 격리 기피 / 획득 후: 격리 남발) - [ ] **무효 빌드의 풍자 체감**: 7+8번 조합으로 "덱은 더럽지만 아무 일도 안 일어나는" 상태가 만들어지는가? - [ ] **오버파워 확인**: 페이즈 3에서 엔진이 오염 주입 속도를 이기는 순간이 오는가? (이겨야 정상 — 발라트로 모델) - [ ] 연쇄 깊이 상한(10회)에 걸리는 케이스가 있는가? ## 범위 외 (다음 배치) - 의회 압박 강화(안건 예고제, 표차 가시화) — 별도 작업지시서로 분리 예정 - 하이브리드 아키타입 자산 및 A/S급 보강 (2차 배치) - 자산 획득 경로(극비 프로젝트 보상 테이블) 튜닝