Facebook
From Mustard Duck, 2 Years ago, written in Python.
This paste is a reply to C6 Limited 5* Character from kettletoro - go back
Embed
Viewing differences between C6 Limited 5* Character and Re: C6 Limited 5* Character
import random
from collections import defaultdict

 
history = []
last_seen_4 = 0
last_seen_5 = 0
last_roll_not_feature = True
 
def get5star():
    #if the last 5 star is not promo, get promo
    global last_roll_not_feature
    if last_roll_not_feature:
        last_roll_not_feature = False
        return "featured"
 
    if random.random() < 0.5:
        last_roll_not_feature = False
        return "featured"
 
    else:
        last_roll_not_feature = True
        return "non-featured"
 
 

def gacha():
    global last_seen_5
    global last_seen_4
    GACHA = random.random()

    if GACHA <= 0.006 or last_seen_5 == 89:
        last_seen_5 = 0
        last_seen_4 = 0
        return get5star()
    
    elif GACHA <= 0.057 or last_seen_4 == 9:
        last_seen_4 = 0
        last_seen_5 += 1
        return "some 4 star character"
    else:
        last_seen_5 +=1
        last_seen_4 +=1
        return "nice 3 star sword"
 
history_5_star = defaultdict(int)
history_total = []
 
for i in range(10000):
    history = []
    total_pull = 0
    featured_count = 0
    while(featured_count < 7):
        PULL = gacha()
        total_pull += 1
        history += [PULL]
        if PULL == "featured":
            featured_count += 1
    history_total += [total_pull]

 
 
 
print("Average pulls required for C6 featured 5 star" ,sum(history_total)/len(history_total))