пенис пенис елда

This commit is contained in:
root
2026-07-05 17:40:52 +00:00
parent f23a79d618
commit 6638ab99f3
12 changed files with 2732 additions and 123 deletions
+19 -10
View File
@@ -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]: