graph TD %% --- STYLE...
About this model
graph TD %% --- STYLE DEFINITIONS --- classDef pool fill:#fff,stroke:#333,stroke-width:2px,shape:cylinder; classDef source fill:#dfd,stroke:#333,stroke-width:1px,shape:trapezoid; classDef conv fill:#ddf,stroke:#333,stroke-width:1px,shape:rect; classDef gate fill:#f9f,stroke:#333,stroke-width:1px,shape:rhombus; classDef register fill:#ff9,stroke:#333,stroke-width:1px,shape:rect,stroke-dasharray: 5 5;
%% --- 1. GAMEPLAY INPUT & TOKENS --- subgraph INPUT ["1. Gameplay Loop & Input"] Src_Play[/"Source: Play Levels"/]:::source -- |Step| P_Level[("Pool: Current Level")]:::pool P_Level -.- |L| Cond_Unlock{"Check: L = 15?"}:::gate Cond_Unlock -- |Yes: Gen 3| Src_Token[/"Source: Earn Tokens"/]:::source Src_Token -- P_Token[("Pool: User Tokens")]:::pool end
%% --- 2. THE GACHA ENGINE --- subgraph ENGINE ["2. Gacha Engine & Rarity Logic"] P_Token -- |"Pull (Cost 5)"| Conv_Pull["Converter: Pull Action"]:::conv Conv_Pull -- |"Count +1"| P_Counter[("Pool: Total Pulls (P)")]:::pool
Conv_Pull -- Gate_Rarity{"Gate: Pack Rarity"}:::gate
%% Dynamic Probability Logic based on P P_Counter -.- |"Reads P"| Gate_Rarity
Gate_Rarity --"Rate(P)"-- Conv_Brown["Brown Pack"]:::conv Gate_Rarity --"Rate(P)"-- Conv_Green["Green Pack"]:::conv Gate_Rarity --"Rate(P)"-- Conv_Pink["Pink Pack"]:::conv Gate_Rarity --"Rate(P)"-- Conv_Blue["Blue Pack"]:::conv Gate_Rarity --"Rate(P)"-- Conv_Purple["Purple Pack"]:::conv end
%% --- 3. PACK EXPLOSION (GUARANTEED + RANDOM) --- subgraph PACKS ["3. Pack Content Logic"] %% Brown: 1 Guaranteed Tier 1 Conv_Brown -- |"Guaranteed (x1)"| Gate_Dup_T1
%% Green: 1 Guar T2 + 1 Random Conv_Green -- |"Guaranteed (x1)"| Gate_Dup_T2 Conv_Green -- |"Random Slot (x1)"| Gate_Rand_Green{"Rand Green"}:::gate Gate_Rand_Green -- |45%| Gate_Dup_T1 Gate_Rand_Green -- |30%| Gate_Dup_T2 Gate_Rand_Green -- |14%| Gate_Dup_T3
%% Pink: 1 Guar T3 + 1 Random Conv_Pink -- |"Guaranteed (x1)"| Gate_Dup_T3 Conv_Pink -- |"Random Slot (x1)"| Gate_Rand_Pink{"Rand Pink"}:::gate Gate_Rand_Pink -- |40%| Gate_Dup_T1 Gate_Rand_Pink -- |28%| Gate_Dup_T2 Gate_Rand_Pink -- |18%| Gate_Dup_T3 Gate_Rand_Pink -- |7%| Gate_Dup_T4
%% Blue: 1 Guar T4 + 3 Random Conv_Blue -- |"Guaranteed (x1)"| Gate_Dup_T4 Conv_Blue -- |"Random Slot (x3)"| Gate_Rand_Blue{"Rand Blue"}:::gate Gate_Rand_Blue -- |35%| Gate_Dup_T1 Gate_Rand_Blue -- |28%| Gate_Dup_T2 Gate_Rand_Blue -- |20%| Gate_Dup_T3 Gate_Rand_Blue -- |8%| Gate_Dup_T4 Gate_Rand_Blue -- |3%| Gate_Dup_T5
%% Purple: 1 Guar T5 + 4 Random Conv_Purple -- |"Guaranteed (x1)"| Gate_Dup_T5 Conv_Purple -- |"Random Slot (x4)"| Gate_Rand_Purple{"Rand Purple"}:::gate Gate_Rand_Purple -- |31%| Gate_Dup_T1 Gate_Rand_Purple -- |25%| Gate_Dup_T2 Gate_Rand_Purple -- |25%| Gate_Dup_T3 Gate_Rand_Purple -- |8%| Gate_Dup_T4 Gate_Rand_Purple -- |4%| Gate_Dup_T5 end
%% --- 4. COLLECTION & DUPLICATE LOGIC --- subgraph COLLECTION ["4. Collection & Star Conversion"] %% Tier 1 Logic Gate_Dup_T1{"Check Dup T1"}:::gate Gate_Dup_T1 -- |"New (1-a/Cap)"| P_Coll_T1[("Pool: T1 Collection (Cap 33)")]:::pool Gate_Dup_T1 -- |"Dup (a/Cap)"| Conv_Star["Conv: To Stars"]:::conv P_Coll_T1 -.- |"State (a)"| Gate_Dup_T1
%% Tier 2 Logic Gate_Dup_T2{"Check Dup T2"}:::gate Gate_Dup_T2 -- |"New"| P_Coll_T2[("Pool: T2 Collection (Cap 22)")]:::pool Gate_Dup_T2 -- |"Dup"| Conv_Star P_Coll_T2 -.- |"State (b)"| Gate_Dup_T2
%% Tier 3 Logic Gate_Dup_T3{"Check Dup T3"}:::gate Gate_Dup_T3 -- |"New"| P_Coll_T3[("Pool: T3 Collection (Cap 20)")]:::pool Gate_Dup_T3 -- |"Dup"| Conv_Star P_Coll_T3 -.- |"State (c)"| Gate_Dup_T3
%% Tier 4 Logic Gate_Dup_T4{"Check Dup T4"}:::gate Gate_Dup_T4 -- |"New"| P_Coll_T4[("Pool: T4 Collection (Cap 11)")]:::pool Gate_Dup_T4 -- |"Dup"| Conv_Star P_Coll_T4 -.- |"State (d)"| Gate_Dup_T4
%% Tier 5 Logic Gate_Dup_T5{"Check Dup T5"}:::gate Gate_Dup_T5 -- |"New"| P_Coll_T5[("Pool: T5 Collection (Cap 9)")]:::pool Gate_Dup_T5 -- |"Dup"| Conv_Star P_Coll_T5 -.- |"State (e)"| Gate_Dup_T5 end
%% --- 5. STAR SHOP & SMART SLOTS --- subgraph SHOP ["5. Star Shop (Smart Luck)"] Conv_Star -- |"Accumulate"| P_Stars[("Pool: Star Wallet")]:::pool
P_Stars -- |"Buy Chest 1 (150)"| Conv_Chest1["Chest 1"]:::conv P_Stars -- |"Buy Chest 2 (250)"| Conv_Chest2["Chest 2"]:::conv
%% Smart Slot Logic: Connects directly to Pools, bypassing Dup Gate Conv_Chest1 -- |"If T1 |"Else If T2 |"If T3 |"Else If T4 11"| P_Coll_T4 end
"graph TD %% --- STYLE..." is a public Machinations diagram shared in the Community by Trần Ngọc Anh, with 52 components.
It was created in March 2026 and last edited in March 2026.
Open the diagram in the Machinations app and press Play to watch the resources move, adjust its values to test how the system responds, or remix it to make an editable copy in My diagrams.