Community
Product
Solutions
Academia
Resources
Pricing
Company

graph TD %% --- STYLE...

Trần Ngọc Anh

About

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 < 33"| P_Coll_T1
        Conv_Chest1 -->|"Else If T2 < 22"| P_Coll_T2
        
        Conv_Chest2 -->|"If T3 < 20"| P_Coll_T3
        Conv_Chest2 -->|"Else If T4 < 11"| P_Coll_T4
    end

Tags

This diagram doesn’t have any tags yet
Edited 2 days ago
0
6

Enjoying what you see?
Show your appreciation by saving it with a click!

Be the first to this diagram