← Deepstair GDD💎 Chương 09 · Kiếm tiền

09 — Kiếm tiền (Monetization)

Kế thừa 00-Deepstair-Master.md (INV-08/09/10/13, §6.1 roster & nguồn anh hùng, §9 điểm chạm, §14 MoneyTypes), 03-Heroes.md §5–§6 (sao, mảnh, nguồn), 06-Echoes.md §5 (Đổi thẻ, Phước Lành). Pass, sự kiện, đăng nhập, nhiệm vụ, Remote Config: 10-LiveOps.md. Kinh tế nguồn/chi và mô phỏng phân khúc: 08-Economy.md. Dữ liệu: GDD/Tools/data/monetization.py → GDD/Config/IapCatalog.csv, HeroSummon.csv, SummonBanners.csv, FeaturedRotation.csv, RelicChestRates.csv, AdPlacements.csv, InterstitialRules.csv, DailyAds.csv, DailyDeals.csv, OfferTriggers.csv, GrowthFund.csv, DepthPacks.csv, PiggyBank.csv, CardPacks.csv, SkinSkus.csv, RegionalPricing.csv, ValueTable.csv. Sửa số ở file data, không sửa tay bảng.

16 mục 30 bảng ~43 phút đọc Nguồn: 09-Monetization.md DERIVED công thức/mô phỏng · ASSUMED khởi điểm · BENCHMARK thị trường

1Mục tiêu & nguyên tắc

Mô hình lai: quảng cáo thưởng (IAA) + IAP, mục tiêu doanh thu IAA ~40% / IAP ~60%. Ba trụ doanh thu: gói định kỳ (Thẻ Tuần/Tháng, Lantern Pass), Triệu Hồi Anh Hùng (sưu tầm + sao), gói đúng khoảnh khắc (Khởi Đầu, Mốc Độ Sâu, Quỹ Xuống Vực).

# Nguyên tắc Hệ quả kiểm chứng được
M1 Mọi nội dung đạt được F2P: 100 tầng, 10 Boss, Bậc Kinh Hoàng, Vực Không Đáy, mọi anh hùng (bảng §1.1) Mô phỏng 08 §6: F2P hạ Vua Rỗng D45–50
M2 Tiền mua thời gian, tiện ích, sưu tầm, độ sâu sao — không mua quyết định trong run INV-08: không bán Hồi Âm; không IAP trong run; KC trong run chỉ cho hồi sinh (≤ 1), Đổi thẻ (≤ 3)
M3 Không bán: Tro Hồn (80), XP Thông Thạo, Hồi Âm riêng, Than Hồng. Các trục roguelite giữ nguyên nghĩa "chơi mới có" IapCatalog.csv không có khóa ash/mastery; validator chặn
M4 Ưu đãi có lý do, không spam: ≤ 1 popup ưu đãi tự động mỗi lần về Home, không popup trước run 3 (A11), không popup trên màn Gục/Kết Quả; gói tường Boss chỉ ở Home sau Kết Quả, 1 lần/Boss (A12) OfferDirector §8
M5 Minh bạch: tỉ lệ Triệu Hồi/Rương công bố đầy đủ (gốc + tổng hợp có bảo hiểm), bộ đếm bảo hiểm hiển thị, không đồng hồ giả, không "chỉ còn 1" giả §10
M6 Offline-first (INV-09): mọi giao hàng IAP chạy local theo pack pattern (CSV + PackageManager + RewardManager + TimeManager); hoá đơn kiểm local (LocalTangle) ở v1.0 §13
M7 Quảng cáo thưởng luôn tùy chọn; xen kẽ chỉ ở 2 điểm nghỉ (INV-10), không banner §6
M8 Không PvP — chi tiêu không làm ai thua; bảng xếp hạng v1.1 tách theo Bậc Kinh Hoàng & anh hùng §11
M9 Tốc độ không đổi kinh tế (INV-13): x3 của Thẻ Tháng chỉ rút ngắn thời gian thực §3.3

1.1 Đường xác định (không ngẫu nhiên, không trả tiền) tới từng anh hùng

Id Anh hùng Đường F2P xác định Đường trả tiền xác định Ngẫu nhiên
H01 Kaito Mặc định — Triệu Hồi (mảnh)
H02 Aldric Hạ B10 lần đầu (10 mảnh) — Triệu Hồi
H03 Vex Hạ B20 lần đầu (20 mảnh) — Triệu Hồi
H04 Brann Đăng nhập tân thủ ngày 7 (10 mảnh — 10 §2.1) — Triệu Hồi
H05 Lyra Mốc độ sâu B40 (20 mảnh) Quà Nạp Đầu (20 mảnh, mở sớm) Triệu Hồi
H06 Rook Thành tựu "tổng Thông Thạo 50" (20 mảnh, ~D14 — 10 §4) Gói Khởi Đầu $0.99 (20 mảnh, D0) Triệu Hồi
H07 Mora Mùa lẻ: Anh Hùng Tiêu Điểm (10 mảnh) + Săn Điểm mốc 3 (5 mảnh/cửa sổ) — 10 §7 Lantern Pass Premium (10/mùa lẻ), Gói Anh Hùng Nổi Bật Triệu Hồi Nổi Bật (mùa lẻ)
H08 Sable Thành tựu (30 mảnh: kỷ lục B100, tổng Thông Thạo 100, Kinh Hoàng 5 — 10 §4) + Anh Hùng Tiêu Điểm mùa chẵn Quỹ Xuống Vực (30 mảnh ở B40/B70/B100) Triệu Hồi Nổi Bật (mùa chẵn)
H09–H21 (sau ra mắt) Zerran, Feng, Momo, Isolde, Aurelle, Sorin, Tsubaki, Juno, Ignis, Elowen, Kazane, Taurok, Vulkar R (Feng, Ignis, Elowen, Taurok): sự kiện Anh Hùng Tiêu Điểm mùa ra mắt (10 mảnh = mở khóa) · E: Anh Hùng Tiêu Điểm mùa ra mắt (20 mảnh = mở khóa) · L (Zerran, Isolde, Vulkar): Tiêu Điểm (10 mảnh) + Săn Điểm + mùa tái xuất (đủ 30 mảnh sau ≤ 2 mùa F2P) Lantern Pass Premium mùa ra mắt (≤ 30 mảnh/mùa, A10), Gói Anh Hùng Nổi Bật Triệu Hồi Nổi Bật mùa ra mắt (E/L), sau đó Triệu Hồi Thường

Đường xác định cho mọi anh hùng là cơ sở tuân thủ ở quốc gia cấm loot box trả phí (§10) và là cam kết "không anh hùng nào chỉ mua được bằng gacha".

2Tỷ giá, định giá & giá khu vực

2.1 Tỷ giá gốc

  • Base = 80 KC / $0.99 = 80.8 KC/$ (gói gem_80). Mọi "giá trị/giá" (×base) = giá trị quy đổi KC của gói ÷ (giá USD × 80.8).
  • Doanh thu ròng tính 85% giá bán (chương trình small-business của hai store).
  • Thang giá USD dùng đúng 10 tier: $0.99, $1.99, $2.99, $4.99, $6.99, $9.99, $14.99, $19.99, $49.99, $99.99. Không SKU nào trên $99.99 (00 D7).

2.2 Bảng định giá (KC-tương đương của một đơn vị)

Mảnh anh hùng được định giá từ tỉ lệ Triệu Hồi công bố (lượt trung bình có bảo hiểm × 270 KC/lượt ÷ số mảnh của thẻ), nên khi đổi tỉ lệ ở §4.2, giá trị mọi gói tự cập nhật.

Khóa Đơn vị Giá trị (KC) Cơ sở Nhãn
gem KC 1 1 KC đơn vị
sigil Ấn Triệu Hồi (13) 270 giá 1 lượt khi mua ×10 (2,700/10) DERIVED
relic_key Chìa Di Vật (12) 180 giá 1 lượt Rương Di Vật khi mua ×10 DERIVED
scroll Quyển Chiến (5) 6 ≈ 1/45 lượt Triệu Hồi; 08 chốt nguồn ASSUMED
gold Vàng (1) 0.04 theo giá Túi Vàng của 08 ASSUMED
revive Vé Hồi Sinh (16) 100 = REVIVE_GEM_COST DERIVED
shard_R Mảnh anh hùng R 40 Mảnh E / 3 (R được tặng, mảnh chỉ nâng sao) DERIVED
shard_E Mảnh anh hùng E 120 270 × lượt/Thẻ E (có bảo hiểm) / 20 DERIVED
shard_L Mảnh anh hùng L 390 270 × lượt/Thẻ L (có bảo hiểm) / 30 DERIVED
shard_feat Mảnh anh hùng L nổi bật 580 × 1.5 (50/50 + bảo đảm) DERIVED
uni_R Mảnh Vạn Năng R (720) 30 75% mảnh R (chỉ nâng sao) DERIVED
uni_E Mảnh Vạn Năng E (721) 90 75% mảnh E DERIVED
uni_L Mảnh Vạn Năng L (722) 290 75% mảnh L DERIVED
skin Trang Phục (Pass/sự kiện) 800 giá KC của Trang Phục thường ở 07 §6 ASSUMED
pass_level 1 cấp Lantern Pass 100 giá mua cấp bằng KC (10 §6) DERIVED

2.3 Giá khu vực

16 thị trường mới nổi (VN, ID, TH, PH, IN, PK, BD, BR, MX, CO, PE, AR, TR, EG, UA, NG) trả 65% quy đổi của giá USD cho mọi SKU (một hệ số chung giữ nguyên thang giá trị và nhãn % trong từng vùng); vùng khác dùng quy đổi mặc định của store. Đặt bằng play_convert_price + play_upsert_product (bf-store) và App Store Connect price tier tương ứng. price_vnd trong IapCatalog.csv = giá store VN (dự phòng khi store chưa trả giá local).

USD VND (Play VN, 65%) KC base ở giá này
$0.99 17,000₫ 80
$1.99 33,000₫ 161
$2.99 50,000₫ 242
$4.99 84,000₫ 403
$6.99 117,000₫ 565
$9.99 168,000₫ 807
$14.99 252,000₫ 1,211
$19.99 336,000₫ 1,615
$49.99 840,000₫ 4,040
$99.99 1,700,000₫ 8,080

3Danh mục IAP

Product id: com.blackface.deepstair.<sku>. Nhãn tiếng Anh/khác: #pack_<sku>_name, #pack_<sku>_desc (Localization.csv, 11). Cột luật mở gói của IapCatalog.csv: min_install_day, min_record, min_payer_tier + payer_waiver_day, requires_sku, season_day_min/max, rule_key — không ai bật/tắt SKU bằng tay (LiveOps Auto, 10 §1). IapCatalog.IsOnSale(sku) = trạng thái live · không nằm trong Remote Config iap_hidden_skus · mọi luật đạt (iap_rules_disabled = true bỏ qua cột luật; iap_min_day_disabled chỉ bỏ cột ngày cài). SKU chưa mở không hiện ở Shop, rail, popup hay trigger nào; mua / khôi phục / giao hàng treo không bao giờ hỏi luật.

SKU Gói Giá Loại Nội dung Giá trị (KC) ×base Luật mở / hiển thị Feature template
gem_80 Túi Kim Cương $0.99 consumable · convenience 80 KC (lần đầu ×2) 80 1.00× Luôn có Shop (ShopRaw)
gem_440 Hộp Kim Cương $4.99 consumable · convenience 440 KC (lần đầu ×2) 440 1.09× Luôn có Shop (ShopRaw)
gem_920 Rương Kim Cương $9.99 consumable · convenience 920 KC (lần đầu ×2) 920 1.14× Luôn có Shop (ShopRaw)
gem_1950 Két Kim Cương $19.99 consumable · convenience 1,950 KC (lần đầu ×2) 1,950 1.21× Luôn có Shop (ShopRaw)
gem_5100 Kho Kim Cương $49.99 consumable · convenience 5,100 KC (lần đầu ×2) 5,100 1.26× Luôn có Shop (ShopRaw)
gem_10800 Mạch Kim Cương $99.99 consumable · convenience 10,800 KC (lần đầu ×2) 10,800 1.34× Luôn có Shop (ShopRaw)
starter_pack Gói Khởi Đầu $0.99 consumable · conversion Rook (20 mảnh = mở khóa ★1; đã có → 20 mảnh Rook) + 150 KC + 2 Ấn Triệu Hồi + 3,000 Vàng + 20 Quyển Chiến 3,330 41.62× Icon sau run 1 (hoặc cấp TK 3); popup từ run 3; 72 giờ; quay lại 1 lần sau 7 ngày StarterPack
first_purchase Quà Nạp Đầu Miễn phí gift · free Lyra (20 mảnh = mở khóa sớm; đã có → 20 mảnh Lyra) + 200 KC + 3 Ấn Triệu Hồi + 5 Chìa Di Vật 4,310 — Sau giao dịch tiền thật đầu tiên (mọi SKU) FirstPurchase
remove_ads Gỡ Quảng Cáo $4.99 non_consumable · convenience Tắt quảng cáo xen kẽ vĩnh viễn + 300 KC cảm ơn 300 0.74× Shop › Ưu Đãi; gợi ý sau QC xen kẽ thứ 3 trong ngày RemoveAds
vip_adfree VIP Không Quảng Cáo $9.99 non_consumable · convenience Gồm Gỡ Quảng Cáo + mọi quảng cáo thưởng nhận ngay (vẫn tính trần) + khung hồ sơ VIP; đã có Gỡ Quảng Cáo → +500 KC bù 0 0.00× 1 lần; Shop › Ưu Đãi SkipAds
weekly_card Thẻ Tuần $0.99 consumable · commitment 60 KC ngay + 100 KC/ngày × 7 (tổng 760); không đặc quyền 760 9.50× Shop › Ưu Đãi; gia hạn khi còn ≤ 1 ngày; không popup (trừ quay lại) Vip30Day (clone WeeklyCard)
monthly_card Thẻ Tháng $4.99 consumable · commitment 300 KC ngay + 120 KC/ngày × 30 (tổng 3,900); tốc độ x3 mọi run; +1 Đổi thẻ/run; trần Lửa Trại +4 giờ; chuỗi Auto-Rerun 10 3,900 9.67× Shop › Ưu Đãi; nhắc khi còn ≤ 3 ngày; chip x3 ở RunPrep Vip30Day
lantern_pass Lantern Pass $6.99 consumable · engagement Mở nhánh Premium mùa hiện tại (KC, Ấn, Chìa, 10 mảnh nổi bật, Trang Phục mùa) + 20% điểm từ tầng & nhiệm vụ 12,690 22.47× Mỗi mùa; nhận hồi tố GloryPass / GloryPassPack
lantern_pass_plus Lantern Pass+ $14.99 consumable · engagement Premium + nhảy 15 cấp + Vệt Đèn mùa (màu VFX chém cho mọi anh hùng, INV-04) + khung hồ sơ mùa 14,190 11.71× Ngày 1–7 của mùa; chưa Premium mùa này GloryPassPack
growth_fund Quỹ Xuống Vực $9.99 non_consumable · engagement Nhận khi kỷ lục chạm B10/20/…/100: 200 → 1,200 KC (tổng 6,600) + 30 Mảnh Sable (B40/B70/B100) — nhận hồi tố 18,300 22.67× Kỷ lục B10 + ngày cài ≥ 1 Package (mới: GrowthFundPack)
depth_pack_1 Gói Mốc Độ Sâu I $2.99 consumable · situational B20: 20 Mảnh Vạn Năng Sử Thi (Vex ★2 ngay) + 30 Quyển Chiến + 200 KC 2,180 9.02× Hạ lần đầu / thua 2 lần Boss B20; 48 giờ; ngày cài ≥ 1 (bù 72 giờ) Package (mới: DepthPackOffer)
depth_pack_2 Gói Mốc Độ Sâu II $4.99 consumable · situational B30: 20 Mảnh Vạn Năng Sử Thi + 3 Ấn Triệu Hồi + 40 Quyển Chiến + 200 KC 3,050 7.56× Như I, ở Boss B30 Package (mới: DepthPackOffer)
depth_pack_3 Gói Mốc Độ Sâu III $9.99 consumable · situational B40/B50/B60: 30 Mảnh Vạn Năng Sử Thi + 5 Ấn Triệu Hồi + 5 Chìa Di Vật + 600 KC 5,550 6.88× Như I; đã nạp từ ngày 1, chưa nạp từ ngày 7 Package (mới: DepthPackOffer)
depth_pack_4 Gói Mốc Độ Sâu IV $19.99 consumable · situational B70–B100: 30 Mảnh Vạn Năng Huyền Thoại (chưa có anh hùng L → 60 Mảnh Vạn Năng Sử Thi) + 10 Ấn Triệu Hồi + 1,500 KC 12,900 7.99× Như I; đã nạp từ ngày 1, chưa nạp từ ngày 14 Package (mới: DepthPackOffer)
piggy_1 Heo Đất I $2.99 consumable · situational Đập heo: tối đa 600 KC tích lũy (+2 KC mỗi tầng clear) 600 2.48× Icon khi ≥ 300 KC; ngày cài ≥ 1 PiggyBank
piggy_2 Heo Đất II $4.99 consumable · situational Đập heo: tối đa 1,200 KC 1,200 2.98× Sau khi đập Heo I; ngày cài ≥ 14 (trước đó vẫn bán Heo I) PiggyBank
piggy_3 Heo Đất III $9.99 consumable · situational Đập heo: tối đa 2,500 KC (lặp lại) 2,500 3.10× Sau Heo II; ngày cài ≥ 30 PiggyBank
gem_refill_s Tiếp Tế KC Nhỏ $1.99 consumable · situational 340 KC 340 2.11× Thiếu < 500 KC ngoài run; 1/ngày; ngày cài ≥ 1 GemRefillPack
gem_refill_m Tiếp Tế KC $4.99 consumable · situational 850 KC 850 2.11× Thiếu ≥ 500 KC; 1/ngày; ngày cài ≥ 3 GemRefillPack
weekend_pack Gói Cuối Tuần $4.99 consumable · situational 600 KC + 3 Ấn Triệu Hồi + 3 Chìa Di Vật + 20 Quyển Chiến 2,070 5.13× T7–CN; 1/tuần; ngày cài ≥ 3 Package (DailyShop weekly)
hero_pack_featured Gói Anh Hùng Nổi Bật $19.99 consumable · situational 15 mảnh anh hùng L nổi bật đang chọn (xác định, không ngẫu nhiên) + 10 Ấn Triệu Hồi + 300 KC 11,700 7.24× 2/mùa; ngày 8–28 của mùa; ngày cài ≥ 14; đã nạp (miễn từ ngày 30) Package
hero_pack_select Gói Tâm Đắc $9.99 consumable · situational Chọn 1 anh hùng R/E đã sở hữu: 40 mảnh (E) hoặc 120 mảnh (R) của anh hùng đó + 20 Quyển Chiến 4,920 6.09× 1/tuần; ngày cài ≥ 7 Package
event_pass Gói Sự Kiện $2.99 consumable · engagement Nhánh Cao Cấp của sự kiện điểm hiện tại (650 KC + 6 Ấn + 4 Chìa Di Vật) 2,990 12.38× Đạt mốc 2 miễn phí, chưa Cao Cấp; 1/sự kiện Events (EventsHub) + Package
skin_kai_bloodmoon Trang Phục Kaito — Huyết Nguyệt $4.99 non_consumable · cosmetic Trang Phục SKKAI2 (Kaito — Huyết Nguyệt) 0 0.00× Đã sở hữu Kaito Shop (non-consumable)
skin_ald_sunward Trang Phục Aldric — Thánh Thuẫn Bình Minh $4.99 non_consumable · cosmetic Trang Phục SKALD2 (Aldric — Thánh Thuẫn Bình Minh) 0 0.00× Đã sở hữu Aldric Shop (non-consumable)
skin_vex_nightorchid Trang Phục Vex — Lan Đêm $4.99 non_consumable · cosmetic Trang Phục SKVEX2 (Vex — Lan Đêm) 0 0.00× Đã sở hữu Vex Shop (non-consumable)
skin_brn_ashwolf Trang Phục Brann — Sói Tro $4.99 non_consumable · cosmetic Trang Phục SKBRN2 (Brann — Sói Tro) 0 0.00× Đã sở hữu Brann Shop (non-consumable)
skin_mor_gravebloom Trang Phục Mora — Hoa Mộ $9.99 non_consumable · cosmetic Trang Phục SKMOR2 (Mora — Hoa Mộ) + 500 KC (KC không khôi phục) 500 0.62× Đã sở hữu Mora Shop (non-consumable)
skin_sab_crimsonlink Trang Phục Sable — Xích Huyết $9.99 non_consumable · cosmetic Trang Phục SKSAB2 (Sable — Xích Huyết) + 500 KC (KC không khôi phục) 500 0.62× Đã sở hữu Sable Shop (non-consumable)

3.1 Loại sản phẩm (store)

Loại SKU
Consumable gem_80, gem_440, gem_920, gem_1950, gem_5100, gem_10800, starter_pack, weekly_card, monthly_card, lantern_pass, lantern_pass_plus, depth_pack_1, depth_pack_2, depth_pack_3, depth_pack_4, piggy_1, piggy_2, piggy_3, gem_refill_s, gem_refill_m, weekend_pack, hero_pack_featured, hero_pack_select, event_pass
Non-consumable (Khôi phục được) remove_ads, vip_adfree, growth_fund, skin_kai_bloodmoon, skin_ald_sunward, skin_vex_nightorchid, skin_brn_ashwolf, skin_mor_gravebloom, skin_sab_crimsonlink
Quà (không phải sản phẩm store) first_purchase

Thẻ Tuần/Tháng là consumable gia hạn thủ công (không phải subscription tự động) — tránh luồng hủy/grace period của subscription và giữ offline-first. Lantern Pass là consumable gắn season_id khi mua.

3.2 Thang giá trị & nhãn profit

Dải giá trị theo mục đích (cột ×base ở bảng §3): tiện ích 1–1.75 · tình huống 2–12 · chuyển đổi 4–20 · gắn kết 8–25 · cam kết 8–30; cosmetic và quà không có dải. Gói ngoài dải phải có lý do chấp nhận trong monetization.py (validator dừng build nếu thiếu) — hiện chỉ starter_pack, remove_ads, vip_adfree (lý do ở §3.3). Nhãn profit trong Shop (cột profit_label của IapCatalog.csv): thang KC = % thưởng so với base; gói khác = ×base ×100, trần hiển thị 1000%; Gỡ QC/VIP/Trang Phục không hiện nhãn.

Quy tắc thang: (1) % thưởng thang KC tăng nghiêm ngặt theo giá; (2) Thẻ Tháng cho nhiều KC/$ hơn Thẻ Tuần (gói lời hơn luôn là gói dài hơn); (3) gói tình huống luôn dưới Thẻ Tháng ở cùng giá trị/ngày để người chơi định kỳ không bị thiệt; (4) Pass Premium < 25× (A10: Pass không thay thế banner — chỉ 10 mảnh L nổi bật/mùa).

3.3 Chi tiết từng họ gói

Thang Kim Cương (gem_*, Shop › Kim Cương). Lần mua đầu mỗi tier ×2 KC (một lần/tier/tài khoản, cờ firstBuyDone[sku]). Bên dưới thang là Túi Vàng mua bằng KC (08 quyết định số lượng/giá). Nút "+" KC ở Home mở thẳng tab này.

Gói Khởi Đầu (starter_pack, $0.99, 1 lần/tài khoản). Móc câu: Rook — anh hùng E quyền sư, phong cách khác hẳn Kaito/Aldric, mở khóa ★1 ngay (đã có Rook từ Triệu Hồi → 20 mảnh Rook). Icon cạnh phải Home xuất hiện ngay khi run 1 kết thúc (run 1 luôn gục ở B13–15 theo FTUE 00 §7.1) hoặc cấp tài khoản 3; popup tự động chỉ từ run 3 (A11); hạn 72 giờ kể từ lúc icon xuất hiện; chưa mua → quay lại đúng 1 lần sau 7 ngày (72 giờ). Màn mua cho xem trước Rook bằng hoạt ảnh Thạch Vũ Quyền (act pixelfx, 02) — người chơi thấy phong cách trước khi mua. Giá trị ~42× nằm ngoài dải chuyển đổi 4–20×, chấp nhận: nhiệm vụ của gói là giao dịch đầu, không phải doanh thu; móc câu là một anh hùng E định giá theo EV Triệu Hồi nên không nội dung giữ được móc câu nào lọt dưới 20× ở $0.99; doanh thu rủi ro ≤ $0.99/người.

Quà Nạp Đầu (first_purchase, miễn phí). Tặng ngay sau giao dịch tiền thật đầu tiên (mọi SKU, kể cả $0.99): Lyra (20 mảnh — mở sớm phong cách giáo dài/trên không thay vì chờ B40) + 200 KC + 3 Ấn + 5 Chìa Di Vật. Mốc B40 vẫn trao 20 mảnh Lyra (đã có → ★2). Banner thường trực ở Shop › Ưu Đãi + rail tới khi nhận. Hai gói ($0.99 Khởi Đầu → Quà Nạp Đầu) là bậc thang D0 → D1 có chủ đích: một giao dịch, hai anh hùng mới.

Thẻ Tuần / Thẻ Tháng (weekly_card, monthly_card). KC nhận mỗi ngày ở lần mở game đầu ngày (popup nhận, hoặc Hộp thư nếu đang Auto-Rerun); ngày lỡ không cộng dồn. Mua lại khi đang hiệu lực → cộng thêm số ngày (gia hạn chồng). Thẻ Tháng đem +58% KC/ngày so với F2P không xem quảng cáo (A09 — 10 §15) và 4 đặc quyền tiện ích; x3 chỉ rút thời gian thực (INV-13); +1 Đổi thẻ/run theo 06 §5; trần Lửa Trại +4 giờ (07); Auto-Rerun dừng sau 10 run không chạm thay vì 5 (A07, 05 §12). Lượt x3 thử miễn phí 1 run/ngày (kỷ lục ≥ 20, ngày cài ≥ 1, Remote Config speed_x3_trial_*) cho người chưa có thẻ — Kết Quả của lượt đó hiện chip x3 khóa ở RunPrep mở thẳng gói.

SKU Giá KC ngay KC/ngày Ngày Tổng KC KC/$ Gia hạn Đặc quyền
weekly_card $0.99 60 100 7 760 768 còn ≤ 1 ngày Không đặc quyền
monthly_card $4.99 300 120 30 3,900 782 còn ≤ 3 ngày Tốc độ x3 mọi run · +1 Đổi thẻ/run · trần Lửa Trại +4 giờ · chuỗi Auto-Rerun 10 run (thường 5)

Lantern Pass / Lantern Pass+ (lantern_pass $6.99, lantern_pass_plus $14.99). Track 50 cấp, mùa 28 ngày — đặc tả ở 10 §6. Premium mua bất kỳ ngày nào và nhận hồi tố mọi cấp đã đạt; Premium+ chỉ bán ngày 1–7 của mùa cho người chưa Premium mùa đó (nhảy 15 cấp có giá trị thật khi còn cả mùa phía trước). Mảnh L nổi bật trên Premium: 10/mùa (cấp 25, 50) — trần A10; tổng mảnh L nổi bật ngoài Triệu Hồi ≤ 30/mùa/người (10 §6).

Quỹ Xuống Vực (growth_fund, $9.99, non-consumable). Mua một lần, nhận KC ở mỗi mốc kỷ lục B10…B100 và 30 mảnh Sable (B40/B70/B100 — đủ mở khóa ở B100, sớm hơn đường thành tựu). Mua muộn → nhận hồi tố mọi mốc đã đạt. Icon rail từ kỷ lục B10 + ngày cài ≥ 1. Khôi phục trên máy mới trả lại trạng thái "đã mua" (các mốc đã nhận không trả lại lần hai — cờ nhận lưu theo tài khoản store khi có cloud save v1.2; trước đó theo máy).

Kỷ lục KC Thêm KC lũy kế
B10 200 — 200
B20 300 — 500
B30 400 — 900
B40 500 10 Mảnh Sable 1,400
B50 600 — 2,000
B60 700 — 2,700
B70 800 10 Mảnh Sable 3,500
B80 900 — 4,400
B90 1,000 — 5,400
B100 1,200 10 Mảnh Sable (đủ mở khóa) 6,600

Gói Mốc Độ Sâu (depth_pack_1..4, "tường Boss"; DepthPacks.csv: B20 → I, B30 → II, B40/50/60 → III, B70/80/90/100 → IV). Kích hoạt khi hạ lần đầu Boss mốc hoặc thua 2 run ở cùng Boss mốc (depth_pack_defeat_count; không tính "Bỏ cuộc" < 60 s; chỉ đếm khi gói đang bán). B10 không có gói (run 1 hạ B10 ở ngày 0, nhận Aldric). Hiện ở Home sau Kết Quả, 1 lần/Boss (A12), cửa sổ 48 giờ. Mốc vượt khi gói chưa mở bán → bù 1 lần 72 giờ cho mốc cao nhất khi gói mở bán (depth_pack_catchup_hours). Nội dung giúp vượt bức tường kế tiếp bằng sao (Mảnh Vạn Năng chỉ nâng sao anh hùng đã có), không bán sức mạnh trong run.

Heo Đất (piggy_1..3). +2 KC mỗi tầng clear (trừ Thử Thách Ngày); icon từ 300 KC; đầy trần thì ngừng tích. Đập heo = mua, nhận toàn bộ KC đang có. Tier kế mở theo requires_sku + ngày cài; trước đó heo bán tiếp tier hiện tại.

Tiếp Tế KC (gem_refill_s/m). Khi một giao dịch KC ngoài run thất bại: popup trong ngữ cảnh đề nghị gói nhỏ nhất đủ bù (thiếu < 500 → S, ≥ 500 → M), 1 lần/ngày/gói. Thiếu KC trong run (hồi sinh/Đổi thẻ) → chỉ hiện nút quảng cáo (nếu còn lượt) và ghi nhận gem_shortfall_run để popup ở lần về Home kế (INV-08).

Gói Cuối Tuần (weekend_pack). T7 00:00 → CN 23:59 giờ đã xác thực, 1 lần/tuần, ngày cài ≥ 3. Popup tự động tối đa 1 lần mỗi cuối tuần (ưu tiên 4).

Gói anh hùng — mảnh xác định (không ngẫu nhiên), đường trả tiền hợp lệ ở mọi quốc gia (§10). hero_pack_featured trao mảnh cho anh hùng L nổi bật đang chọn (§4.6); 2 gói = 30 mảnh = mở khóa. hero_pack_select: chọn anh hùng R/E đã sở hữu lúc mua (danh sách sắp theo anh hùng chơi nhiều nhất).

Gói Sự Kiện (event_pass, $2.99). Nhánh Cao Cấp của sự kiện điểm hiện tại (10 §7.3) — chỉ hiện khi đã đạt mốc miễn phí 2 và chưa Cao Cấp (rule event_pass_eligible, Remote Config event_pass_enabled); 1/cửa sổ 14 ngày; mua qua lúc đổi sự kiện → Hộp thư 400 KC.

Trang Phục (non-consumable, Sảnh Anh Hùng › Trang Phục). Chỉ đổi phụ kiện + ramp phụ + màu VFX (INV-04); mỗi Trang Phục sở hữu +1% ATK tài khoản (trần +10%, 00 §10). Chỉ bán cho anh hùng đã sở hữu. KC kèm không khôi phục. Trang Phục còn đến từ Pass (mùa), sự kiện, lễ hội, Thông Thạo (07 §6).

SKU Trang Phục Anh hùng Giá Kèm
skin_kai_bloodmoon SKKAI2 — Kaito — Huyết Nguyệt Kaito $4.99 —
skin_ald_sunward SKALD2 — Aldric — Thánh Thuẫn Bình Minh Aldric $4.99 —
skin_vex_nightorchid SKVEX2 — Vex — Lan Đêm Vex $4.99 —
skin_brn_ashwolf SKBRN2 — Brann — Sói Tro Brann $4.99 —
skin_mor_gravebloom SKMOR2 — Mora — Hoa Mộ Mora $9.99 500 KC
skin_sab_crimsonlink SKSAB2 — Sable — Xích Huyết Sable $9.99 500 KC

Gỡ Quảng Cáo / VIP Không Quảng Cáo (remove_ads $4.99, vip_adfree $9.99). Gỡ QC tắt mọi quảng cáo xen kẽ vĩnh viễn (+300 KC cảm ơn). VIP gồm Gỡ QC + mọi vị trí quảng cáo thưởng nhận ngay không cần xem (vẫn tính trần từng vị trí và trần ngày, INV-08 giữ nguyên) + khung hồ sơ VIP; người đã có Gỡ QC mua VIP → +500 KC bù. Gợi ý Gỡ QC chỉ sau quảng cáo xen kẽ thứ 3 trong ngày (§6.3 luật 7). Cả hai ngoài dải tiện ích, chấp nhận: thứ được bán là thời gian (hết quảng cáo), định giá 0 có chủ đích vì không có đường KC tương đương; VIP giữ mọi trần nên không cho tài nguyên vượt người F2P chịu xem; $9.99 = trung vị sản phẩm ad-skip thị trường.

4Triệu Hồi Anh Hùng (gacha mảnh anh hùng)

Mở ở lần về Home sau khi Sảnh Anh Hùng được phát (FTUE bước 13, 00 §7.1): hướng dẫn mở 1 lượt bằng Ấn Triệu Hồi tặng kèm Aldric, theo đúng tỉ lệ công bố (không lượt mở kịch bản). Cờ summonTutorialDone.

4.1 Banner

Id Banner Thời hạn Giá Miễn phí Pool Nổi bật Bảo hiểm
BN_STD Triệu Hồi Thường Thường trực 1 Ấn hoặc 300 KC; ×10: 10 Ấn hoặc 2,700 KC 1 lượt miễn phí/ngày + 1 lượt QC/ngày Mọi anh hùng đã phát hành (R/E/L), đều nhau trong cùng độ hiếm — Bộ đếm riêng (≥ E mỗi 10, L ở lượt 60)
BN_FEAT Triệu Hồi Nổi Bật 1 mùa Lantern Pass (28 ngày) 1 Ấn hoặc 300 KC; ×10: 10 Ấn hoặc 2,700 KC Không có lượt miễn phí/QC Như Thường + anh hùng nổi bật của mùa (FeaturedRotation.csv) L: 50% là anh hùng L nổi bật, thua → lượt L kế chắc chắn nổi bật · E: 50% là anh hùng E nổi bật Bộ đếm riêng, chuyển sang mùa sau cùng cờ bảo đảm 50/50

4.2 Kết quả mỗi lượt & tỉ lệ

Mỗi lượt cho một kết quả. Thẻ Anh Hùng = gói mảnh bằng đúng số mảnh mở khóa của độ hiếm (R 10 · E 20 · L 30 — 03 §5.2): chưa sở hữu → mở khóa ★1 ngay; đã sở hữu → cộng mảnh. Anh hùng trong một độ hiếm được chọn đều nhau trong pool banner (banner Nổi Bật áp §4.3). "Mảnh ×N (ngẫu nhiên)" chọn 1 anh hùng đã phát hành của độ hiếm đó (đều nhau, kể cả chưa sở hữu — mảnh tích lũy tới khi đủ mở khóa). Vàng tính theo Gold(kỷ lục) = Vàng 1 tầng ở độ sâu kỷ lục (08).

Id Bậc Kết quả mỗi lượt Tỉ lệ gốc Tỉ lệ tổng hợp (có bảo hiểm) Payload
SM_GOLD item Vàng = 3 × Gold(kỷ lục) 12.00% 11.04% gold:3xGR
SM_SCROLL item Quyển Chiến ×6 28.00% 25.77% money:5:6
SM_UNI_R item Mảnh Vạn Năng Hiếm ×2 10.00% 9.20% money:720:2
SM_R4 R Mảnh Hiếm ×4 (1 anh hùng R ngẫu nhiên) 21.00% 19.33% shards:R:4
SM_RCARD R Thẻ Anh Hùng Hiếm (10 mảnh) 14.00% 12.88% card:R
SM_E5 E Mảnh Sử Thi ×5 (1 anh hùng E ngẫu nhiên) 8.80% 8.10% shards:E:5
SM_ECARD E Thẻ Anh Hùng Sử Thi (20 mảnh) 5.00% 11.35% card:E
SM_LCARD L Thẻ Anh Hùng Huyền Thoại (30 mảnh) 1.20% 2.33% card:L

"Tỉ lệ tổng hợp" = tần suất dài hạn đã tính bảo hiểm, tính chính xác bằng chuỗi Markov hai bộ đếm (consolidated() trong monetization.py), và được công bố song song với tỉ lệ gốc.

4.3 Bảo hiểm (pity) & 50/50

Chỉ số Giá trị
Thẻ ≥ Sử Thi bảo đảm lượt thứ 10 không có Thẻ E/L → Thẻ E (L nếu roll L)
Thẻ Huyền Thoại bảo đảm lượt thứ 60 không có Thẻ L → Thẻ L
Tỉ lệ tổng hợp Thẻ L 2.33%
Tỉ lệ tổng hợp Thẻ ≥ E 13.67%
Lượt trung bình / Thẻ L 42.9
Lượt trung bình / Thẻ L nổi bật (banner Nổi Bật) 64.4
Lượt tối đa / Thẻ L nổi bật 120
KC trung bình / Thẻ L nổi bật (giá ×10) 17,393
Lượt trung bình / Thẻ E 8.8

Thuật toán một lượt (mỗi banner có bộ đếm riêng, lưu bền, chuyển sang mùa sau):

roll = WeightedPick(rates)                          # RNG mật mã (không seed theo run)
if pityLegend == 59:            roll = max(roll, LCARD)      # lượt thứ 60
elif pityEpic == 9:             roll = max(roll, ECARD)      # lượt thứ 10 (L vẫn có thể ra)
pityEpic   = 0 if roll >= ECARD else pityEpic + 1
pityLegend = 0 if roll == LCARD else pityLegend + 1
if roll == LCARD and banner == FEATURED:
    hero = featuredL if (guaranteed or Rand() < 0.5) else RandomOther(L pool)
    guaranteed = (hero != featuredL)
elif roll in (ECARD, E5) and banner == FEATURED and featuredE:
    hero = featuredE if Rand() < 0.5 else RandomOther(E pool)
Save(result, counters) → rồi mới phát hoạt ảnh       # thoát app giữa chừng không đổi kết quả
  • ×10 = 10 lượt đơn liên tiếp theo đúng luật trên (bảo hiểm ≥ E tự đảm bảo ≥ 1 Thẻ E/L mỗi ×10 nếu bộ đếm bắt đầu từ 0).
  • Lượt miễn phí/quảng cáo tính vào bộ đếm của banner Thường.
  • Đổi Tiêu Điểm (§4.6) không reset bộ đếm hay cờ bảo đảm: cờ áp cho anh hùng L đang chọn lúc ra Thẻ L.
  • Màn banner luôn hiện "Còn N lượt tới Thẻ Huyền Thoại bảo đảm" và trạng thái 50/50 ("Lượt L kế: chắc chắn <tên>").

4.4 Trùng lặp → mảnh → sao → Mảnh Vạn Năng

  1. Thẻ/mảnh của anh hùng chưa sở hữu: mảnh vào kho của anh hùng đó; đủ mảnh mở khóa (R 10/E 20/L 30) → mở ★1 tự động, hoạt ảnh "Anh hùng mới".
  2. Anh hùng đã sở hữu, < ★6: mảnh vào kho; nâng sao bằng tay ở Sảnh Anh Hùng (03 §5.2, có badge khi đủ).
  3. Anh hùng ★6: mảnh tự đổi 5 : 1 thành Mảnh Vạn Năng cùng độ hiếm (720/721/722); phần dư < 5 giữ lại chờ đủ (03 §5.2). Mảnh Vạn Năng chỉ dùng nâng sao anh hùng cùng độ hiếm đã sở hữu, không mở khóa.
  4. Kết quả hiển thị rõ đường đi: "+20 mảnh Vex (★3 → còn 12 tới ★4)" hoặc "+4 Mảnh Vạn Năng Sử Thi (Vex ★6)".

4.5 Giá, lượt miễn phí, ×10

Cách mở Giá Ghi chú
×1 1 Ấn Triệu Hồi hoặc 300 KC Dùng Ấn trước nếu có
×10 10 Ấn hoặc 2,700 KC (−10%) Không trộn Ấn + KC trong một ×10
Miễn phí 1 lượt/ngày (banner Thường) Reset theo ngày đã xác thực (TimeManager)
Quảng cáo 1 lượt/ngày (banner Thường) AD_SUMMON, summon_ad_daily
Ưu Đãi Ngày 1 Ấn = 250 KC (1/ngày) §7.3

Ấn Triệu Hồi lưu thành hai bộ đếm theo nguồn: sigilFree (đăng nhập, nhiệm vụ, Pass miễn phí, sự kiện, thành tựu, mã quà) và sigilPaid (IAP, Thẻ, Pass/Gói Sự Kiện Cao Cấp, mua bằng KC). UI hiện tổng; tiêu sigilFree trước. Tách nguồn là bắt buộc cho §10.

4.6 Xoay vòng nổi bật & Tiêu Điểm

  • L nổi bật mặc định: Mora mùa lẻ, Sable mùa chẵn (khóa).
  • E nổi bật: một anh hùng E mỗi mùa (50% kết quả E ở banner Nổi Bật, không có bảo đảm).
  • Tiêu Điểm (chọn L nổi bật): từ S2, mọi mùa có anh hùng L mới (Zerran S2, Isolde S5, Vulkar S14) hoặc tái xuất, người chơi được đổi L nổi bật giữa anh hùng mặc định và anh hùng L được liệt kê; mặc định = anh hùng ra mắt. Đổi tối đa 1 lần/24 giờ; hero_pack_featured và mảnh nổi bật của Pass/sự kiện trao cho anh hùng đang chọn tại lúc nhận.
  • Hàng có anh hùng chưa có trong bản build (cập nhật chưa tới) bị bỏ qua: không E nổi bật / không Tiêu Điểm. Remote Config featured_l_override chỉ dùng khẩn cấp.
Mùa L nổi bật mặc định L chọn thay (Tiêu Điểm) E nổi bật Anh hùng ra mắt
S1 Mora — Lyra —
S2 Sable Zerran Vex Zerran
S3 Mora Zerran Rook Feng
S4 Sable Zerran Momo Momo
S5 Mora Isolde Lyra Isolde
S6 Sable Isolde Aurelle Aurelle
S7 Mora Zerran Sorin Sorin
S8 Sable Isolde Tsubaki Tsubaki
S9 Mora Zerran Juno Juno
S10 Sable Isolde Momo Ignis
S11 Mora Zerran Aurelle Elowen
S12 Sable Isolde Kazane Kazane
S13 Mora Zerran Sorin Taurok
S14 Sable Vulkar Tsubaki Vulkar
S15 Mora Vulkar Juno —
S16 Sable Isolde Kazane —

4.7 Trình bày

  • Shop › Triệu Hồi: carousel 2 banner (Nổi Bật trước), nút ×1/×10 ở 45% dưới, nút "Tỉ lệ" (SummonRateInfo: bảng §4.2 + bộ đếm hiện tại + pool từng độ hiếm), nút "Tiêu Điểm" khi có.
  • Hoạt ảnh: một Đèn Hồn rơi theo trục cầu thang xoắn, vỡ thành thẻ; thẻ lật theo màu độ hiếm (ramp 06 §3: R water, E arcane, L gold), L có tia sáng vàng trước khi lật (≤ 0.6 s, không lừa: ánh vàng chỉ khi là L). Anh hùng mới → màn trình diễn 2.5 s bằng act intro + đòn chữ ký của anh hùng (02), chạm để bỏ qua từ 0.5 s. ×10: lưới 5×2, nút "Bỏ qua tất cả" → bảng tổng hợp.
  • Tốc độ hoạt ảnh không ảnh hưởng kết quả (đã lưu trước khi phát).

4.8 Nhịp Triệu Hồi theo phân khúc DERIVED

Phân khúc Lượt/tháng Thẻ L/tháng Thẻ E/tháng Ghi chú
F2P (xem QC) ~94 = 30 miễn phí + 30 QC + ~22 Ấn (10 §15) + ~12 từ KC ~2.2 ~10.7 Mỗi anh hùng L mở trong ~1 tháng; ★6 một anh hùng L cần ~13 Thẻ L
Dolphin (~$30/tháng) ~150 ~3.5 ~17 Thẻ Tháng + Pass + Quỹ + Mốc Độ Sâu
Whale ($300+/tháng) ~600+ ~14 (~9 nổi bật) ~68 ★6 một L nổi bật ≈ 13 Thẻ nổi bật ≈ 840 lượt ≈ 226,000 KC

5Rương Di Vật

Di Vật là phụ kiện 4 ô (Bùa/Nhẫn/Phù/Ấn), 24 mẫu, 6 độ hiếm, 6 bộ (07). Mỗi lượt = 1 Di Vật: mẫu chọn đều trong 24 mẫu, độ hiếm theo bảng dưới. Di Vật trùng mẫu + độ hiếm → xử lý theo 07 (nguyên liệu nâng cấp / Bụi Di Vật 14).

Cách mở Giá
×1 1 Chìa Di Vật (12) hoặc 200 KC
×10 10 Chìa hoặc 1,800 KC (−10%)
Miễn phí 1 lượt/ngày
Quảng cáo 2 lượt/ngày, cách nhau 4 giờ (AD_RELIC_CHEST)

Bảo hiểm: ≥ Hiếm mỗi 10 lượt; ≥ Huyền Thoại ở lượt 100 (đếm reset khi ra ≥ Huyền Thoại); Thần Thoại không có bảo hiểm. Thuật toán và lưu trữ như §4.3 (bộ đếm relic.pityR, relic.pityL; Chìa tách relicKeyFree/relicKeyPaid).

Mã Độ hiếm Di Vật Tỉ lệ gốc Tỉ lệ tổng hợp (có bảo hiểm)
C Thường 52.00% 50.26%
U Tốt 28.00% 27.06%
R Hiếm 13.00% 15.27%
E Sử Thi 5.50% 5.48%
L Huyền Thoại 1.30% 1.72%
M Thần Thoại 0.20% 0.20%

Tên 6 độ hiếm Di Vật (Thường/Tốt/Hiếm/Sử Thi/Huyền Thoại/Thần Thoại, mã C/U/R/E/L/M) dùng chung với 07; nếu 07 đổi tên, chỉ đổi cột tên ở RELIC_TABLE.

6Quảng cáo

Mediation: Unity LevelPlay qua com.blackface.ads (UMP consent, ATT trên iOS). Không banner (dải chiến đấu dọc cần trọn màn hình). Mất mạng/không fill → nút quảng cáo xám "Không có quảng cáo" (00 G4), không trừ lượt.

6.1 Quảng cáo thưởng

Id Quảng cáo thưởng Giới hạn Màn hình Thưởng
AD_REVIVE Hồi sinh 1/run Màn Gục Hồi 50% HP + bất tử 2 s (05 §8)
AD_RESULT_X2 Nhân đôi Vàng + Tro Hồn 1/run, ≤ 10/ngày Kết Quả (run đạt ≥ B5) ×2 Vàng + Tro Hồn của run
AD_REROLL Đổi thẻ thêm 1/run Chọn Hồi Âm +1 lượt Đổi thẻ (06 §5)
AD_BLESSING Phước Lành: thẻ thứ 4 1/run Chọn Hồi Âm ở tầng Boss (x0) Lượt chọn đó 4 thẻ (INV-02)
AD_QUICK_AFK Lửa Trại nhanh 2/ngày Home › Lửa Trại Thưởng 2 giờ AFK ngay
AD_SUMMON Triệu Hồi quảng cáo 1/ngày Cửa Hàng › Triệu Hồi Thường 1 lượt Triệu Hồi Thường
AD_RELIC_CHEST Rương Di Vật quảng cáo 2/ngày, cách 4 giờ Cửa Hàng › Rương Di Vật 1 lượt Rương Di Vật
AD_DAILY_DEAL Món quảng cáo Ưu Đãi Ngày 3/ngày Cửa Hàng › Ưu Đãi Ngày Món nhỏ (§7.3)
AD_SPIN Vòng Quay thêm 3/ngày Vòng Quay May Mắn +1 lượt quay
AD_OFFLINE_X2 Nhân đôi Lửa Trại khi mở game 1/ngày Popup chào mừng (vắng ≥ 4 giờ) ×2 lần nhận đó
AD_EVENT_BOOST Tăng tốc sự kiện 2/ngày Hub Sự Kiện ×2 điểm sự kiện của run kế
AD_LOGIN_RECOVER Bù ngày đăng nhập 2/vòng 28 ngày Đăng Nhập 28 ngày Nhận ngày đã lỡ
AD_DAILY_CHALLENGE Thêm lượt Thử Thách Ngày 1/ngày Thử Thách Ngày (05) +1 lượt
  • Trần tổng 25 quảng cáo thưởng/ngày (ads_rewarded_daily_cap) cộng mọi vị trí; vị trí trong run (hồi sinh, Đổi thẻ, Phước Lành) vẫn hiện khi chạm trần tổng để không phá INV-08 nhưng không vượt trần riêng 1/run.
  • Thưởng chỉ trao khi xem hết (callback rewarded); hủy giữa chừng → không thưởng, không trừ lượt.
  • VIP: mọi vị trí nhận ngay (nút ghi "Nhận ngay — VIP"), vẫn trừ lượt và trần.
  • Phước Lành chỉ ở lượt chọn tầng Boss (x0), 1/run, cộng thẻ thứ 4 theo 06 §4.2 ô D; không cộng với E10 thành 5 thẻ (đã có 4 thẻ → nút ẩn).

6.2 DailyAds (mốc quảng cáo trong ngày)

Đếm mọi quảng cáo thưởng đã xem hết trong ngày (template DailyAds):

Số QC thưởng trong ngày Mốc thưởng
3 20 KC
6 1 Chìa Di Vật
10 30 KC + 10 Quyển Chiến
15 30 KC + 1 Chìa Di Vật

6.3 Quảng cáo xen kẽ (interstitial)

  1. Chỉ 2 điểm nghỉ: (a) nút Tiếp ở màn Kết Quả khi run kéo dài ≥ 180 s thực và không vừa lập kỷ lục (ads_interstitial_skip_new_record); (b) rời tầng Boss (x0) sau khi đã chọn Hồi Âm, lúc anh hùng bắt đầu đi xuống (placement boss_break, ads_interstitial_boss_enabled) — INV-10
  2. Khoảng cách tối thiểu 180 s kể từ quảng cáo gần nhất (xen kẽ hoặc thưởng); điểm boss_break 300 s
  3. Không hiện ở ngày cài D0–D1 (ads_interstitial_min_install_day = 2), trước cấp tài khoản 6 và trước run thứ 3
  4. Trần 8/ngày, hai điểm nghỉ tính chung; lần bị bỏ qua không tính trần và không đặt lại đồng hồ
  5. Không hiện khi Auto-Rerun đang chạy mà người chơi không chạm màn hình trong 60 s gần nhất; ở boss_break cần Auto-Pick tắt và có lần chạm trong 30 s gần nhất (không quảng cáo cho máy để tự chạy)
  6. Không bao giờ trong trận, màn chọn thẻ, Chiếu Nghỉ, màn Gục; không với người sở hữu Gỡ Quảng Cáo/VIP; không trong 7 ngày sau giao dịch ≥ $4.99. Ở boss_break mô phỏng tạm dừng trong lúc quảng cáo chạy (INV-14)
  7. Sau quảng cáo xen kẽ thứ 3 trong ngày → lần về Home kế gợi ý Gỡ Quảng Cáo (tối đa 1/ngày)

Lý do hai điểm nghỉ: run dài 8–40 phút, một quảng cáo ở Kết Quả là quá ít, nhưng quảng cáo mỗi vài tầng phá nhịp và chạy cả khi máy tự chơi. Boss (mỗi 10 tầng, ~5–8 phút) là nhịp nghỉ tự nhiên; quảng cáo đặt sau khi đã chọn Hồi Âm, lúc anh hùng bắt đầu đi xuống — không bao giờ ở màn chọn thẻ (INV-10). Placement LevelPlay: results_continue, boss_break. Mọi số ở InterstitialRules.csv và Remote Config ads_interstitial_* (10 §13): chỉnh không cần build.

7Cửa hàng

7.1 Bố cục tab

Tab Nội dung Mở khi
Ưu Đãi Thẻ Tuần, Thẻ Tháng, gói đang hiệu lực (Khởi Đầu, Mốc Độ Sâu, Cuối Tuần, Heo Đất, Gói Anh Hùng, Gói Sự Kiện), Gỡ QC, VIP, Quà Nạp Đầu Cửa Hàng mở (sau FTUE bước 11)
Triệu Hồi §4 Như trên
Rương Di Vật §5 Di Vật mở (07)
Kim Cương Thang KC + Túi Vàng (08) Luôn
Ưu Đãi Ngày §7.3 Cửa Hàng mở

Trang Phục bán ở Sảnh Anh Hùng (tab Trang Phục của từng anh hùng), không ở Shop. Rail cạnh phải Home: tối đa 4 icon gói có đồng hồ (ưu tiên theo §8), còn lại gom vào icon "Ưu Đãi".

7.2 Không có điểm mua trong run

Trong state Run không có nút mua IAP, không popup ưu đãi, không mở Shop (INV-08). Thiếu KC trong run chỉ hiện quảng cáo (nếu còn) — xem §3.3 Tiếp Tế.

7.3 Ưu Đãi Ngày (DailyShop)

Làm mới 00:00 giờ đã xác thực. Hai món mua bằng KC ra Ấn/Chìa bị ẩn ở quốc gia trong paid_gacha_disabled_countries (§10).

Ô Giá Món Lượt/ngày Ẩn ở BE/BR
DD1 Miễn phí Vàng = 3 × Gold(kỷ lục) 1 —
DD2 Quảng cáo 20 KC 1 —
DD3 Quảng cáo 1 Chìa Di Vật 1 —
DD4 Quảng cáo 10 Quyển Chiến 1 —
DD5 250 KC 1 Ấn Triệu Hồi 1 có
DD6 800 KC 5 Chìa Di Vật 1 có
DD7 300 KC 30 Quyển Chiến 1 —

8Luật kích hoạt ưu đãi (OfferDirector)

Trigger Loại Sự kiện Bề mặt Trình bày Không trước Cửa sổ h Hồi h Tối đa Ưu tiên SKU
starter_offer state Run 1 kết thúc (gục) hoặc cấp TK 3 home icon ngay; auto_popup từ run 3 run 3 72 168 1 lần quay lại 2 starter_pack
first_purchase purchase Giao dịch tiền thật đầu tiên shop + rail banner — — — 1 — first_purchase
depth_milestone_clear milestone Hạ lần đầu Boss B20…B100 (B10 không có gói) home_after_result auto_popup run 3 48 — 1/Boss 1 depth_pack_1..4
depth_wall_break failure 2 run gục ở cùng Boss mốc (không tính Bỏ cuộc < 60 s); chỉ đếm khi gói đang bán home_after_result auto_popup run 3 48 — 1/Boss 1 depth_pack_1..4
fund_unlock milestone Kỷ lục B10 + ngày cài ≥ 1 rail_icon icon ngày 1 — — — — growth_fund
piggy_ready state Heo Đất ≥ 300 KC rail_icon icon ngày 1 — — — — piggy_*
gem_shortfall shortage Giao dịch KC ngoài run thất bại in_context in_context ngày 1 — 24 — — gem_refill_s/m
gem_shortfall_run shortage Thiếu KC trong run (hồi sinh/đổi thẻ) → xếp hàng tới Home home auto_popup run 3 — 24 — 3 gem_refill_s/m
weekend schedule T7 00:00 → CN 23:59 home auto_popup (1/cuối tuần) run 3 48 120 — 4 weekend_pack
season_start schedule Mùa Lantern Pass bắt đầu pass_screen banner — — — — — lantern_pass, lantern_pass_plus
featured_season schedule Ngày 8–28 của mùa shop shop_slot ngày 14 — — 2/mùa — hero_pack_featured
hero_select_weekly schedule Mỗi thứ Hai shop shop_slot ngày 7 — — 1/tuần — hero_pack_select
remove_ads_suggestion state Quảng cáo xen kẽ thứ 3 trong ngày home auto_popup run 3 — 24 1/ngày 0 remove_ads
event_milestone_2 milestone Đạt mốc miễn phí 2 của sự kiện điểm, chưa Cao Cấp events_hub in_context — — — 1/sự kiện — event_pass
comeback_weekly state Về Home đầu tiên sau ≥ 7 ngày vắng, không có Thẻ Tuần/Tháng home auto_popup run 3 48 720 1 5 weekly_card
card_renewal state Thẻ Tháng còn ≤ 3 ngày / Thẻ Tuần còn ≤ 1 ngày rail_icon icon — — — — — monthly_card, weekly_card
x3_trial_end state Kết Quả của lượt x3 thử miễn phí trong ngày in_context chip x3 khóa ở RunPrep kỷ lục 20 — 24 — — monthly_card

Luật chung:

  1. Popup tự động chỉ ở Home, tối đa offer_popup_max_per_session = 1 mỗi lần về Home, không trước run 3 (offer_popup_min_runs). Lần về Home có phát tính năng mới hoặc quà FTUE (00 §8) → không popup ưu đãi.
  2. Nhiều trigger cùng đủ điều kiện → ưu tiên số nhỏ: Gợi ý Gỡ QC (0) > Mốc Độ Sâu (1) > Khởi Đầu (2) > Thiếu KC trong run (3) > Cuối Tuần (4) > Quay lại (5). Trigger thua vẫn giữ icon rail (nếu có cửa sổ) và được xét lại ở lần về Home sau.
  3. Chống "ép mua lúc bực": gói tường Boss không hiện nếu run vừa kết thúc bằng "Bỏ cuộc" < 60 s; không hiện trên màn Gục/Kết Quả; mỗi Boss tối đa 1 lần (dù kích hoạt bởi hạ hay thua).
  4. Mọi đồng hồ là thật (TimeManager, giờ đã xác thực); hết hạn là hết, không "gia hạn bất ngờ".
  5. Cửa sổ trigger của SKU chưa mở bán (luật cột) không bắt đầu; ngoại lệ duy nhất là bù 72 giờ của Mốc Độ Sâu (§3.3).
  6. Mỗi lần hiện/đóng/mua ghi analytics offer_show / offer_dismiss / iap_purchase với trigger_id (§13).

9Phễu & bao phủ D0–D30

Ngày cài SKU ngoài thang KC đang mở/được đẩy
D0 starter_pack
D1 starter_pack, first_purchase, weekly_card, monthly_card, growth_fund, depth_pack_1, depth_pack_2, gem_refill_s
D3 first_purchase, remove_ads, weekly_card, monthly_card, lantern_pass, lantern_pass_plus, growth_fund, depth_pack_1, depth_pack_2, depth_pack_3, piggy_1, gem_refill_s, gem_refill_m
D7 remove_ads, vip_adfree, weekly_card, monthly_card, lantern_pass, lantern_pass_plus, growth_fund, depth_pack_3, depth_pack_4, piggy_1, gem_refill_s, gem_refill_m, weekend_pack, hero_pack_select, event_pass
D14 remove_ads, vip_adfree, monthly_card, lantern_pass, lantern_pass_plus, depth_pack_3, depth_pack_4, piggy_2, gem_refill_m, weekend_pack, hero_pack_featured, hero_pack_select, event_pass
D30 remove_ads, vip_adfree, monthly_card, lantern_pass, lantern_pass_plus, depth_pack_4, piggy_2, piggy_3, weekend_pack, hero_pack_featured, hero_pack_select, event_pass
Giai đoạn Mục tiêu Công cụ Khoảnh khắc
D0 Giao dịch đầu ($0.99) Gói Khởi Đầu (Rook) Run 1 gục ở Thủ Vệ B15 — "cần mạnh hơn"; popup từ run 3
D1 Giao dịch thứ 2 Quà Nạp Đầu (Lyra), Thẻ Tuần $0.99, Mốc Độ Sâu I (B20 ~D1), Quỹ Xuống Vực Hạ Valcor B20, nhận Vex
D3 Người chơi định kỳ Thẻ Tháng (x3 thử → mua), Lantern Pass, Heo Đất, Gói Sự Kiện Thử Thách Ngày, Auto-Rerun mở (~B32)
D7 Thói quen + tường Mốc Độ Sâu III (B40–B60), Gói Cuối Tuần, Gói Tâm Đắc Nereth B40, Lyra
D14 Sưu tầm Gói Anh Hùng Nổi Bật, Heo II, Mốc Độ Sâu IV Tiến Hóa/Cộng Hưởng thường xuyên
D30 Chiều sâu Banner Nổi Bật ★, Trang Phục, VIP, Heo III Skarn B80 / Bóng Gương B90

Giỏ phân khúc 30 ngày (đầu vào mô phỏng 08 §6): Dolphin ≈ $31 = Khởi Đầu $0.99 + Thẻ Tháng $4.99 + Lantern Pass $6.99 + Quỹ $9.99 + Mốc Độ Sâu I $2.99 + II $4.99. Whale ≈ $310 = Dolphin + Pass+ $14.99 + 2 × Gói Anh Hùng Nổi Bật $39.98 + Mốc Độ Sâu III/IV $29.98 + ~$190 KC vào banner Nổi Bật. Minnow ≈ $6 = Khởi Đầu + Thẻ Tuần ×1 + Thẻ Tháng.

10Tuân thủ & sự cố

Hạng mục Xử lý
Công bố tỉ lệ Màn SummonRateInfo / Rương: tỉ lệ gốc + tổng hợp từng kết quả, pool theo độ hiếm, luật bảo hiểm và bộ đếm hiện tại; mô tả store ghi "Có vật phẩm ngẫu nhiên trả phí (tỉ lệ công bố trong game)" (Apple 3.1.1, Google Play Payments policy)
Tỉ lệ không chỉnh từ xa HeroSummon.csv/RelicChestRates.csv chỉ đổi theo bản build; Remote Config chỉ có công tắc khẩn summon_enabled / relic_chest_enabled (tắt → banner "Đang bảo trì", trả Hộp thư nếu giao dịch dở)
Khôi phục (iOS/Android) Nút "Khôi phục giao dịch" ở Cài đặt: trả lại non-consumable (remove_ads, vip_adfree, growth_fund, skin_*); KC kèm theo không trả lại
Giao dịch treo/pending Giao hàng khi store xác nhận; xác nhận lúc đang run → Hộp thư (00 G5); mua/khôi phục/giao hàng treo bỏ qua mọi luật mở gói
Hoàn tiền Không thu hồi tự động (offline); log iap_refund_detected khi store báo (Play voided purchases); lạm dụng lặp lại xử lý thủ công
Loot box theo quốc gia Remote Config paid_gacha_disabled_countries (mặc định ["BE","BR"] — BE: luật cờ bạc; BR: Lei 15.211/2025 cấm loot box trả phí trong game trẻ vị thành niên truy cập được). Quốc gia = locale hoặc SIM hoặc mạng (một trong ba thuộc danh sách là khóa). Ở các nước này: (1) Triệu Hồi/Rương không mở bằng KC; (2) chỉ mở bằng sigilFree/relicKeyFree + lượt miễn phí/quảng cáo; (3) Ấn/Chìa từ nguồn trả tiền được quy đổi thành KC theo giá ×1 (Ấn 300 KC, Chìa 200 KC) ngay lúc nhận và ở mọi màn xem trước gói; (4) Ưu Đãi Ngày ẩn DD5/DD6; (5) đường trả tiền tới anh hùng = gói mảnh xác định (hero_pack_featured, hero_pack_select, starter_pack, growth_fund); (6) Vòng Quay chỉ dùng lượt miễn phí/quảng cáo (Xu Vòng Quay 17 không bao giờ bán). Khi quốc gia đổi sang bị khóa, sigilPaid/relicKeyPaid đang có được đổi KC một lần (thư giải thích). [] tắt khóa
Complete gacha (JP) Không có phần thưởng độc quyền cho việc "gom đủ" vật phẩm ngẫu nhiên: thành tựu Sảnh Anh Hùng chỉ trả KC, và mọi anh hùng có đường xác định (§1.1)
Trẻ em Rating 12+ (bạo lực hoạt hình pixel); không quảng cáo cá nhân hóa khi chưa đồng ý (UMP/ATT); không nhắm quảng cáo theo tuổi chưa xác minh
Chi tiêu Cài đặt › "Giới hạn chi tiêu tháng" tùy chọn (người chơi tự đặt $; chặn mua khi chạm, reset ngày 1) — ghi analytics, không bắt buộc

11Áp lực whale & công bằng

Cơ chế trả tiền Giới hạn
Tốc độ x3 (Thẻ Tháng) Chỉ thời gian thực (INV-13); F2P có x3 thử 1 run/ngày
Anh hùng ★6 / L Chênh chỉ số theo độ hiếm ≤ 12% (03 §1); không PvP; bảng xếp hạng v1.1 tách theo Bậc Kinh Hoàng & anh hùng, chỉ danh dự
KC trong run Hồi sinh KC ≤ 1/run (100 KC), Đổi thẻ KC ≤ 3/run (30/60/90) — 06 §5, INV-08
Mảnh L nổi bật ngoài Triệu Hồi ≤ 30/mùa (Pass 10 + sự kiện ≤ 15) + Gói Anh Hùng Nổi Bật ≤ 2/mùa
Tro Hồn / Thông Thạo / Hồi Âm Không bán (M3)
Mua cấp Pass ≤ 10 cấp/mùa, không trước ngày 21 của mùa
Gói tình huống Mỗi Boss mốc ≤ 1 gói; Gói Tâm Đắc 1/tuần; Tiếp Tế 1/ngày

12KPI BENCHMARK idle roguelite / hero collector mobile

KPI Mục tiêu Nguồn đo
Tỉ lệ người trả tiền D30 3–4% iap_purchase
ARPDAU $0.10–0.15 (IAA ~40% / IAP ~60%) bf-ads irs_report + store
Quảng cáo thưởng / DAU 5–7 ad_rewarded
Quảng cáo xen kẽ / DAU ≤ 2.5 (trần 8) ad_interstitial
Gói Khởi Đầu: tỉ lệ mua / người thấy popup 5–8% offer_show → iap_purchase
Mua thứ 2 trong 7 ngày sau mua đầu ≥ 35%
Thẻ Tháng gia hạn ≥ 45%
Lantern Pass Premium / người hoạt động trong mùa 4–6%
Gói Mốc Độ Sâu: hiển thị cho ≥ 80% người hạ Boss mốc khi gói đang bán ≥ 80% offer_show theo boss_id
KC tiêu vào Triệu Hồi / tổng KC tiêu 45–60% currency_spend
x3 thử → Thẻ Tháng trong 48 giờ đo ở soft launch (holdout 10% speed_x3_trial_enabled = false)
Hoàn tiền / doanh thu < 1% iap_refund_detected
Chuyển đổi theo vùng (65% vs còn lại) ARPPU × chuyển đổi vùng 65% ≥ vùng giá đủ

13Triển khai

13.1 Tái dùng feature template

Feature template Tái dùng Phục vụ
Monetization/Shop ShopRaw.csv + MiniShopConversion; tab KC, Ưu Đãi, Trang Phục gem_, skin_, vip_adfree, remove_ads (hàng Shop)
Monetization/StarterPack Popup + icon đếm giờ starter_pack
Monetization/FirstPurchase FirstPurchase.csv (Package/CsvConfig) first_purchase
Monetization/RemoveAds Cờ ad-free + gợi ý remove_ads
Monetization/SkipAds SkipAds.csv — nhận thưởng QC ngay vip_adfree
Monetization/GloryPass Track 50 cấp, điểm, nhận hồi tố Lantern Pass (10 §6)
Monetization/GloryPassPack SKU Premium/Premium+ lantern_pass, lantern_pass_plus
Monetization/Package Pack pattern (PackageManager + RewardManager); DailyShop.csv growth_fund, depth_pack_, weekend_pack, hero_pack_, event_pass, Ưu Đãi Ngày
Monetization/PiggyBank PiggyBank.csv piggy_1..3
Monetization/GemRefillPack Popup thiếu KC gem_refill_s/m
LiveOps/Vip30Day Vip30Day.csv — nhận KC/ngày + đặc quyền; clone cho Thẻ Tuần monthly_card, weekly_card
LiveOps/DailyAds Mốc số quảng cáo/ngày DailyAds (§6.2)
LiveOps/LuckySpin Vòng quay 8 ô 10 §5
LiveOps/SevenDayLogin Tân thủ 7 ngày 10 §2.1 (Brann ngày 7)
LiveOps/DailyLogin Vòng 28 ngày + bù QC 10 §2.2
LiveOps/Quest DailyQuest.csv, WeeklyQuest.csv, QuestRewards.csv 10 §3
LiveOps/Events EventsHub, lịch LiveOps Auto 10 §7, event_pass
Social/MailBox · Social/GiftCode Hộp thư, mã quà 10 §10
(mới) Features/Monetization/Summon Banner, bảng tỉ lệ, pity, màn tỉ lệ SummonRateInfo Triệu Hồi Anh Hùng §4
(mới) Features/Monetization/RelicChest Rương + tỉ lệ + pity (cùng khung Summon) Rương Di Vật §5
(mới) Features/Monetization/OfferDirector Hàng đợi popup ưu đãi, luật mở gói, rail §8

13.2 Dữ liệu người chơi (PlayerDataManager.Monetization)

Trường Kiểu Ghi chú
firstBuyDone set ×2 thang KC
payerTier int 0 chưa nạp · 1 đã nạp · 2 ≥ $20 · 3 ≥ $100 (tổng đời)
firstPurchaseClaimed bool
purchases list<{sku, utc, txId, usd}> Chống giao trùng theo txId
summon.std / summon.feat {pityEpic, pityLegend, guaranteed} Lưu bền, chuyển mùa
summon.featuredChoice, featuredChoiceUtc heroId, long Tiêu Điểm, khóa 24 giờ
summon.freeDayKey, adDayKey, adCount string, string, int Ngày đã xác thực
relic {pityR, pityL, freeDayKey, adCount, lastAdUtc}
sigilFree, sigilPaid, relicKeyFree, relicKeyPaid int Tách nguồn (§10)
cards.weekly/monthly {expiryDayKey, lastClaimDayKey}
piggy {tier, stored}
depthPack[bossId] {state: none/active/bought/expired, expiresUtc, defeats, catchupUsed}
offers[triggerId] {firstShownUtc, lastShownUtc, count, expiresUtc}
ads {dayKey, rewardedCount, perPlacement{}, interstitialCount, lastAdUtc, dailyAdsTierClaimed}
adFree, vip bool Khôi phục được

13.3 Analytics

iap_offer_show{sku, trigger_id}, iap_purchase{sku, usd, local_price, currency, trigger_id, payer_tier}, iap_restore, iap_refund_detected, summon_pull{banner, count, results[], pity_epic_hit, pity_legend_hit, featured_won, currency}, relic_open{count, rarities[], pity_hit}, ad_rewarded{placement, result}, ad_interstitial{placement, shown | skip_reason}, paid_gacha_blocked{country_source}, offer_dismiss{trigger_id}, currency_spend{currency, sink, amount} (13 §9 sở hữu schema chung).

14Edge cases

# Tình huống Xử lý
X1 Giao dịch xác nhận khi đang run Phần thưởng vào Hộp thư; không popup trong run
X2 App bị kill giữa hoạt ảnh Triệu Hồi ×10 Kết quả + bộ đếm đã lưu trước hoạt ảnh → mở lại hiện bảng tổng hợp chưa xem
X3 Đổi giờ máy để lấy lượt miễn phí Ngày theo giờ đã xác thực (TimeManager, trusted_time_*); giờ lùi không mở lượt mới
X4 Mua Gói Khởi Đầu khi đã có Rook từ Triệu Hồi 20 mảnh Rook; mô tả gói ghi rõ trước khi mua
X5 Quà Nạp Đầu khi Lyra đã mở (B40 trước giao dịch đầu) 20 mảnh Lyra (★2)
X6 depth_pack_4 khi chưa có anh hùng L 60 Mảnh Vạn Năng Sử Thi thay 30 Mảnh Vạn Năng Huyền Thoại (hiện đúng nội dung trên popup)
X7 Hai Boss mốc cùng kích hoạt trong một run (Xuống Nhanh qua nhiều mốc) Chỉ mốc cao nhất kích hoạt; mốc thấp hơn đánh dấu đã dùng
X8 Gói Anh Hùng Nổi Bật khi anh hùng nổi bật đã ★6 Mảnh → Mảnh Vạn Năng 5:1 như §4.4; popup cảnh báo trước khi mua
X9 Anh hùng trong FeaturedRotation chưa có trong build Bỏ qua hàng đó (không E nổi bật/Tiêu Điểm); L mặc định luôn có
X10 Quốc gia đổi giữa phiên (SIM/mạng) Đánh giá lại khi mở Shop; khóa áp ngay, đổi *Paid sang KC một lần
X11 Mua Thẻ Tháng khi đang còn hạn Cộng thêm 30 ngày; KC ngay vẫn nhận
X12 Heo Đất đầy khi đang Auto-Rerun Ngừng tích; icon rung ở Home; không popup
X13 Quảng cáo thưởng đóng sớm / lỗi Không thưởng, không trừ lượt; lỗi SDK → nút xám 60 s
X14 VIP + vị trí trong run (hồi sinh) Nhận ngay nhưng vẫn ≤ 1/run
X15 Pass mua trong ngày cuối mùa Store vẫn bán tới 23:59 ngày 28; thưởng chưa nhận khi mùa kết thúc → Hộp thư (10 §10)
X16 Hoàn tiền growth_fund sau khi đã nhận mốc Không thu hồi (offline); log + cờ refunded chặn mốc tiếp theo

15QA

  • [ ] Mọi SKU trong IapCatalog.csv có trong IAP catalog Unity + Play Console + App Store Connect; product id đúng com.blackface.deepstair.<sku>; loại consumable/non-consumable khớp §3.1.
  • [ ] Không có điểm mua IAP hay popup ưu đãi nào trong state Run (test UI tự động duyệt mọi màn trong run).
  • [ ] Giá trị/giá mọi gói nằm trong dải hoặc có lý do (validator monetization.py); thang KC tăng nghiêm ngặt.
  • [ ] Triệu Hồi: 1,000,000 lượt mô phỏng khớp tỉ lệ tổng hợp ±0.05 điểm %; bảo hiểm 10/60 đúng biên; 50/50 + bảo đảm đúng; bộ đếm chuyển mùa; Tiêu Điểm không reset bộ đếm.
  • [ ] Rương Di Vật: bảo hiểm 10/100 đúng; tỉ lệ tổng hợp khớp.
  • [ ] Kill app giữa ×10 → kết quả không đổi.
  • [ ] Quảng cáo xen kẽ tuân thủ 7 luật §6.3 (unit test InterstitialPolicy với đồng hồ giả: D0–D1, run < 180 s, kỷ lục mới, Auto-Rerun không chạm, sau IAP ≥ $4.99, trần 8, khoảng cách 180/300 s).
  • [ ] Trần quảng cáo thưởng 25/ngày và trần từng vị trí; INV-08 (hồi sinh ≤ 1 QC + 1 KC, Đổi thẻ 1 QC + ≤ 3 KC, Phước Lành 1/run).
  • [ ] Gói Khởi Đầu: icon sau run 1, popup chỉ từ run 3, 72 giờ, quay lại 1 lần sau 7 ngày.
  • [ ] Gói Mốc Độ Sâu: kích hoạt khi hạ lần đầu hoặc sau đúng 2 lần thua cùng Boss; chỉ ở Home sau Kết Quả; 1/Boss; bù 72 giờ 1 lần; không có ở B10.
  • [ ] paid_gacha_disabled_countries: với locale BE/BR — không mở bằng KC, Ấn/Chìa trả phí quy đổi KC ở lúc nhận và ở màn xem trước, DD5/DD6 ẩn, gói mảnh xác định vẫn bán.
  • [ ] Khôi phục trả lại Gỡ QC/VIP/Quỹ/Trang Phục trên thiết bị mới, không trả lại KC kèm.
  • [ ] Giá VN hiển thị đúng bảng §2.3 khi store chưa trả giá local.

HANDOFF — giả định module khác phải giữ

  • 08 Economy: thu nhập KC F2P ổn định ≈ 225/ngày (không xem QC) / ≈ 320/ngày (xem QC); Ấn Triệu Hồi ≈ 0.74/ngày + 2 lượt Triệu Hồi miễn phí/QC mỗi ngày (bảng 10 §15). Định giá Vàng 0.04 KC và Quyển Chiến 6 KC là [ASSUMED] — 08 chốt giá Túi Vàng thì sửa VAL trong monetization.py. Tỉ lệ Triệu Hồi §4.2 (Thẻ L tổng hợp 2.33%, ≥ E 13.67%) là đầu vào mô phỏng sao anh hùng. Gold(kỷ lục) = GOLD_FLOOR(max(10, kỷ lục)).
  • 07 Meta: Di Vật 6 độ hiếm mã C/U/R/E/L/M; Trang Phục IAP dùng id SK<CODE>2 (SKKAI2, SKALD2, SKVEX2, SKBRN2, SKMOR2, SKSAB2); nhóm Trang Phục pass và festival cho 10; trần Lửa Trại +4 giờ cho Thẻ Tháng; cấp tài khoản 3 (icon Khởi Đầu) và 6 (quảng cáo xen kẽ).
  • 05 Descent: Auto-Rerun dừng sau 5 run không chạm (Thẻ Tháng 10); hồi sinh QC/KC 1 + 1/run; điểm nghỉ boss_break sau khi chọn thẻ ở tầng x0; Thử Thách Ngày nhận thêm 1 lượt QC.
  • 03 Heroes: Quà Nạp Đầu là nguồn mở Lyra thứ hai (bảng 03 §6 nên thêm); roster sau ra mắt H09–H21 (mỗi mùa 1, S2–S14) theo 03 §9; độ hiếm khóa ở HERO_RARITY (monetization.py) = 03 §9.
  • 11 UI: màn SummonRateInfo, nút Tiêu Điểm, rail ≤ 4 icon, nút quảng cáo xám khi không fill, cài đặt Khôi phục + Giới hạn chi tiêu.