пенис пенис елда
This commit is contained in:
+19
-10
@@ -105,27 +105,36 @@ def load_custom_items() -> List[dict]:
|
||||
|
||||
# ─── Генерация sub-вариаций цен и float ───────────────────────────────────
|
||||
def generate_item_variants(num_variants: int = 6):
|
||||
"""Для каждого предмета генерирует sub-вариации с разными ценами и float"""
|
||||
"""Для каждого предмета генерирует sub-вариации с разными ценами и float.
|
||||
|
||||
Оригиналы остаются на своих местах (индексы 0..N-1 не меняются),
|
||||
sub-вариации добавляются в конец списка (индексы N..N+N*5-1),
|
||||
чтобы не ломать ссылки по индексам (cases.json, база данных).
|
||||
"""
|
||||
global ALL_ITEMS
|
||||
new_all = []
|
||||
for item in ALL_ITEMS:
|
||||
n_originals = len(ALL_ITEMS)
|
||||
sub_variants = []
|
||||
|
||||
for idx, item in enumerate(ALL_ITEMS):
|
||||
base_price = item.get("price_rub", 0)
|
||||
wr = item.get("wear_range", [0, 1])
|
||||
mid = item.get("mid_float_used", 0.5)
|
||||
wr_min, wr_max = wr
|
||||
f_range = max(wr_max - wr_min, 0.001)
|
||||
|
||||
for v in range(num_variants):
|
||||
# v=0 — сам оригинал (оставляем как есть)
|
||||
# v=1..num_variants-1 — sub-вариации (добавляем в конец)
|
||||
for v in range(1, num_variants):
|
||||
variant = dict(item)
|
||||
variant["is_subvariant"] = True
|
||||
t = v / (num_variants - 1) if num_variants > 1 else 0
|
||||
|
||||
# price factor: 0.55 to 1.40 across variants
|
||||
factor = 0.55 + t * 0.85
|
||||
# add small random jitter
|
||||
factor += random.uniform(-0.05, 0.05)
|
||||
factor = max(0.30, min(1.50, factor))
|
||||
|
||||
p = int(base_price * factor)
|
||||
# scramble last digits
|
||||
if p >= 1_000_000:
|
||||
prefix = p // 1000
|
||||
suffix = random.randint(100, 999)
|
||||
@@ -148,11 +157,11 @@ def generate_item_variants(num_variants: int = 6):
|
||||
new_mid = max(wr_min + 0.001, min(wr_max - 0.001, new_mid))
|
||||
variant["mid_float_used"] = round(new_mid, 4)
|
||||
|
||||
new_all.append(variant)
|
||||
sub_variants.append(variant)
|
||||
|
||||
count_before = len(ALL_ITEMS)
|
||||
ALL_ITEMS = new_all
|
||||
print(f"Сгенерировано {len(ALL_ITEMS)} sub-вариаций из {count_before} предметов (x{num_variants})")
|
||||
ALL_ITEMS = ALL_ITEMS + sub_variants
|
||||
print(f"Сгенерировано {len(sub_variants)} sub-вариаций для {n_originals} предметов (x{num_variants})")
|
||||
print(f"Оригиналы: индексы 0..{n_originals - 1}, sub-вариации: {n_originals}..{len(ALL_ITEMS) - 1}")
|
||||
|
||||
# ─── Загрузка основных данных ─────────────────────────────────────────────
|
||||
def load_base_items() -> List[dict]:
|
||||
|
||||
Reference in New Issue
Block a user