Продолжи откуда этот чат закончился:
Давай раз уж начали добавим еще историческую статистику
Прикинем, сколько всего ап было получеено от задач
сколько от ретро
сколько от кэшбека (с учетом, и без учета стоимости покупки в виде 3 ап за уровень)
и все остальное потенциально должно быть премии, в плане заработанного, а сумму заработоного мы уже считаем, из баланса + исторических трат
2:03 AM
Worked for 2m 17s
Добавил историческую статистику заработка в терминал.
Теперь выводит блок:
Исторический заработок: 283.4 AP
задачи 95.335
ретро 5.7
скидка 20 / чистыми 17
премии/прочее 165.365
Логика такая:
всего заработано = текущий баланс + исторические траты
Потом расклад:
задачи = все task_reward
ретро = все retro_bonus
скидка gross = 20
скидка net = 20 - 3 = 17, с учетом покупки первого уровня за 3 AP
премии/прочее = все остальное заработанное
В Discord-панели этот блок тоже появится как Исторический заработок.
Проверка прошла: 24 tests OK.
4 files changed
+146
-19
Undo
Review
src/yellka/service.py
src/yellka/cli.py
src/yellka/discord_bot.py
tests/test_economy.py
2:05 AM
учти что я начинал имея 24 АП
и вообще на
Баланс: 24 АП
SenchaPencha — 09.05.2026 1:10
-19.6 [Ядро Вычислений] [Код/Движок] (0.2 -> 0.55)
-4.5 [Директивы Приоритета] [Код/Движок] (+40%)
Баланс: 0.9 :Cry:
Сдал
ИИ врагов
Базовое поведение
поиск игрока
движение к игроку
Атаки
ближний бой
(3*0.77 = 2.31)
Баланс 3,21
SenchaPencha — 09.05.2026 1:17
-2.5 [Директивы Приоритета] [Код/Движок] (+40->+50%)
Баланс: 0,71 (ебать я легенда, на глазок прикидывал, ровно попал)
SenchaPencha — 09.05.2026 1:30
Сдал
ИИ врагов
Способности
специальные атаки
призывы
Реакции
получение урона
оглушение
страх
0,825*5=4,125
баланс: 4,835
Это закрыло
ИИ врагов
2.31+4.125=6,435*0.5=3,2175 (я ебал сколько цифр)
баланс: 8,0525
-0.0025 на благотворительность
баланс: 8,05
-4.4 [Ядро Вычислений] [Код/Движок] (0.55 -> 0.6)
-3 [Директивы Приоритета] [Код/Движок] (+60%)
Баланс: 0.6 :Cry:
Взаимодействие эффектов
Система стаков
наложение эффектов +0.96
обновление длительности +0.96
Баланс 2,52
Плюс вайб, 0.96 нравится :Rave:
SenchaPencha — 09.05.2026 1:39
Контроль:
Притягивание +0.96
Расталкивание +0.96
Баланс: 4,44 (хихи)
-3.5 [Директивы Приоритета] [Код/Движок] (+70%)
баланс: 0,94
SenchaPencha — 09.05.2026 1:57
Урон:
Удар 1,02
Снаряд 1,02
Взрыв в точке 1,02
Баланс 4 (ЛЕГЕНДАРНО)
-4 [Директивы Приоритета] [Код/Движок] (+80%)
баланс: 0 (ОХУЕТЬ)
Урон:
Волна по земле +1,08
Луч +1,08
Орб +1,08
Дождь +1,08
Область +1,08
Баланс
5,4
-4.5 [Директивы Приоритета] [Код/Движок] (+90%)
баланс: 0,9
1.02x3=3.06
1.08x5=5.4
8.46
Премия, Урон
+4,23
Баланс 5,13
-5 [Директивы Приоритета] [Код/Движок] (+100%)
баланс: 0,13
SenchaPencha — 09.05.2026 2:28
+Модификаторы:
Огонь
Лёд
Молния
Яд
по 1.2
-Ядро Вычислений] [Код/Движок] (0.6 -> 0.65)
баланс: 0,13
Кислота
Тьма
Свет
Ветер
по 1.3
-Ядро Вычислений] [Код/Движок] (0.65 -> 0.7)
баланс: 0,13
Камень
Кровь
= + 2.8
Баланс 2,93
Модификаторы премия
4,8+5,2+2.8 =12,8
Премия +6.4
Баланс 9,33
SenchaPencha — 09.05.2026 2:44
-5.6 Ядро Вычислений] [Код/Движок] (0.7 -> 0.75)
баланс: 3,7
Котроль
Замедление
Связывание
Замешательство
1.5*3=4.5
Баланс 8,2
-6 Ядро Вычислений] [Код/Движок] (0.75 -> 0.8)
баланс: 2,2
Котроль
Стан +1.6
Страх+1.6
Баланс: 5,4
[Кэшбек-Шина Терминала]
-3
+3.655
[Кэшбек-Шина Терминала]
-3
+3.655
[Кэшбек-Шина Терминала]
-3
+3.655
[Кэшбек-Шина Терминала]
-3
+3.655
[Кэшбек-Шина Терминала]
-3
+3.655
Баланс: 8,675
SenchaPencha — 09.05.2026 2:54
-4.8 Ядро Вычислений] [Код/Движок] (0.8 -> 0.85)
баланс: 3,875
Премия
Котроль
Замедление
Связывание
Замешательство
1.5*3=4.5
Притягивание +0.96
Расталкивание +0.96
Котроль
Стан +1.6
Замешательство +1.6
9,62/2=4,81
Премия +4,81
Баланс 8,685
-5.1 Ядро Вычислений] [Код/Движок] (0.85 -> 0.9)
баланс: 3,585
SenchaPencha — 09.05.2026 3:05
Ловушки:
Мина +1.8
Баланс = 5,385
(сука ебанные 0.015)
Ловушки:
Зона +1.8
Баланс: 7,185
-5.4 Ядро Вычислений] [Код/Движок] (0.9 -> 0.95)
Баланс: 1,785
Лечение:
Ицеление
Регенерация
Вампиризм*
1,9*3=4,9
Премия лечение
+2,45
Баланс = 9,135
-5.7 Ядро Вычислений] [Код/Движок] (0.95 ->1)
Баланс: 3,435
SenchaPencha — 09.05.2026 3:12
Поведенческие модификаторы:
Пробитие насквозь +2 (нихуя себе)
Замедление времени +2
Баланс: 7,435
-6 Ядро Вычислений] [Код/Движок] (1 ->1.05)
Баланс: 1,435
SenchaPencha — Вчера, в 2:21
(идея с артефактами в которые вставляются карты,
Елка сказал записать 0.2, но тссс, посмотрим)
SenchaPencha — Вчера, в 2:36
Поведенческие модификаторы:
Цепь (Несколько целей)
Разделение
Возвращение
3x2.1
Ядро Вычислений] [Код/Движок] (1.05 ->1.1)
Баланс: 1,435
Орбита
Персонаж как цель
Автонаведение
3x2.2
ПРЕМИЯ
3x2.1=6,3
3x2.2=6,6
1x2 (Пробитие насквозь +2)=2
+7.45
Баланс: 15,485
SenchaPencha — Вчера, в 3:05
Призыв +2.2
Туррель +2.2
Тотем +2.2
Баланс: 22,085
[Протокол: Ретроспективная Индексация]
2) Единоразовый скидочный купон 20% на любой товар кроме подписочных
Баланс: 2.085
Клон +2.2
SenchaPencha — Вчера, в 3:15
Ретроспективная Индексация +42,065
Баланс: 46,35
:catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT:
Премия (Призывы)
+4.4
Баланс: 50,75
SenchaPencha — Вчера, в 3:33
(+0.2 за то что камень падает)
SenchaPencha — Вчера, в 21:23
-44,1 Ядро Вычислений] [Код/Движок] (1.1 ->1.4)
Баланс: 6,65
Сдать
Щит +2.8
Премия 0.3x2x51=30,6
баланс: 37,25
-35.4 Ядро Вычислений] [Код/Движок] (1.4 ->1.6)
Баланс: 1,85
Барьер +3.2
Премия 0.2x2x52=20,8
Баланс: 25,85
-19.5 Ядро Вычислений] [Код/Движок] (1.6 ->1.7)
Баланс: 6,35
Отражение +3.4
Премия 0.1x2x53=10,6
SenchaPencha — Вчера, в 21:32
Баланс: 20,35
-10.2 Ядро Вычислений] [Код/Движок] (1.7 ->1.75)
Баланс: 10,15
Поглощение +3.5
Премия 0.05x2x54=5,4
Баланс: 19,05
-10.5 Ядро Вычислений] [Код/Движок] (1.75 ->1.8)
Баланс: 8,55
вот тебе все досоздания бота
Show more
2:06 AM
Worked for 1m 8s
Учел стартовые 24 AP.
Теперь исторический заработок считается так:
заработано = текущий баланс + исторические траты - стартовый капитал
Для твоей базы сейчас:
Баланс: 15.4 AP
Исторические траты: 268 AP
Стартовый капитал: 24 AP
Заработано: 15.4 + 268 - 24 = 259.4 AP
Терминал теперь показывает:
Исторический заработок: 259.4 AP
старт 24
задачи 95.335
ретро 5.7
скидка 20 / чистыми 17
премии/прочее 141.365
То есть 24 AP, с которыми ты начинал, больше не попадают в “заработано”.
Добавил настройку:
python -m yellka --db ./balance.sqlite3 history-settings --starting-balance 24
И уже применил ее к текущей БД. Проверка прошла: 24 tests OK.
4 files changed
+25
-5
Undo
Review
src/yellka/service.py
src/yellka/cli.py
src/yellka/discord_bot.py
tests/test_economy.py
2:07 AM
ретро должно быть сиииильно больше,
там явно десятки поинтов, ты как-то неправильно его считаешь
2:08 AM
Worked for 1m 17s
Да, ретро было сильно занижено. Я считал только новые retro_bonus транзакции бота:
2.75 + 2.95 = 5.7 AP
А историческое ретро из таблицы было отдельно:
M19 = SUM(M5:M18) = 42.065 AP
Добавил это как историческую настройку и уже применил к БД:
python -m yellka --db ./balance.sqlite3 history-settings --historical-retro 42.065
Теперь статистика такая:
Исторический заработок: 259.4 AP
старт 24
задачи 95.335
ретро 47.765 (историческое 42.065)
скидка 20 / чистыми 17
премии/прочее 99.3
Общий заработок не меняется, просто расклад стал правильным: ретро выросло, “премии/прочее” уменьшилось.
Проверка прошла: 24 tests OK.
4 files changed
+25
-5
Undo
Review
src/yellka/service.py
src/yellka/cli.py
src/yellka/discord_bot.py
tests/test_economy.py
2:09 AM
ты можешь считать ретро, по разнице между сумме всех rewar и всех retro_paid
2:10 AM
Да, это лучше: не хранить историческое ретро отдельной ручной цифрой, а считать его из задач как разницу между “текущая цена после ретро” и “исходная награда”. Я проверю, что в задачах сейчас лежит reward/current_reward, и переключу статистику ретро на этот расчет.
Explored 1 search, ran 1 command
Сейчас sum(current_reward - reward) по задачам дает только 5.7, потому что импортированные исторические задачи были занесены уже как “финальные”, без старой цены до ретро. Чтобы получить десятки, надо восстановить reward как исходную цену до ретро, а current_reward оставить финальной. Сначала переключу статистику на разницу задач, потом поднимем данные из таблицы для исторического импорта.
Edited 3 files
Логика статистики переключена на sum(current_reward) - sum(reward). Теперь исправлю тесты и затем обновлю текущие исторические задачи, чтобы их reward стало исходной ценой до ретро по таблице.
Edited 1 file, ran 2 commands
Да, уже переключил формулу на sum(current_reward) - sum(reward). Но текущие данные задач еще не отражают старое большое ретро: у импортированных задач current_reward почти равен reward, поэтому разница дает только новые 5.7. Сейчас восстановлю current_reward по таблице: для старых групп оно должно включать дельту из столбца L, чтобы сумма ретро получалась из самих задач.
Ran 1 command
4 files changed
+17
-24
Undo
Review
src/yellka/service.py
retro_earned: Decimal
historical_retro_bonus: Decimal
discount_gross: Decimal
task_earned = self._sum_transactions(conn, "task_reward")
historical_retro_bonus = self._get_decimal(conn, "historical_retro_bonus")
retro_earned = parse_ap(
self._sum_transactions(conn, "retro_bonus") + historical_retro_bonus
)
retro_earned = self._task_retro_earned(conn)
total_earned = parse_ap(
retro_earned=retro_earned,
historical_retro_bonus=historical_retro_bonus,
discount_gross=discount_gross,
historical_starting_balance: Decimal | int | str | None = None,
historical_retro_bonus: Decimal | int | str | None = None,
) -> None:
)
if historical_retro_bonus is not None:
self._set_meta(
conn,
"historical_retro_bonus",
db_ap(historical_retro_bonus),
)
"historical_starting_balance": db_ap(DEFAULT_HISTORICAL_STARTING_BALANCE),
"historical_retro_bonus": db_ap(DEFAULT_HISTORICAL_RETRO_BONUS),
}
def _task_retro_earned(self, conn: sqlite3.Connection) -> Decimal:
rows = conn.execute("SELECT reward, current_reward FROM tasks").fetchall()
total = sum(
(
parse_ap(row["current_reward"] or row["reward"])
- parse_ap(row["reward"])
for row in rows
),
Decimal("0.000"),
)
return parse_ap(total)
def _connect(self) -> sqlite3.Connection:
src/yellka/cli.py
src/yellka/discord_bot.py
tests/test_economy.py
Гемплей Партии Елки (Секретно).xlsx
Вот таблица если она тебе необходима
Продолжи откуда этот чат закончился:
Давай раз уж начали добавим еще историческую статистику
Прикинем, сколько всего ап было получеено от задач
сколько от ретро
сколько от кэшбека (с учетом, и без учета стоимости покупки в виде 3 ап за уровень)
и все остальное потенциально должно быть премии, в плане заработанного, а сумму заработоного мы уже считаем, из баланса + исторических трат
2:03 AM
Worked for 2m 17s
Добавил историческую статистику заработка в терминал.
Теперь выводит блок:
Исторический заработок: 283.4 AP
задачи 95.335
ретро 5.7
скидка 20 / чистыми 17
премии/прочее 165.365
Логика такая:
всего заработано = текущий баланс + исторические траты
Потом расклад:
задачи = все task_reward
ретро = все retro_bonus
скидка gross = 20
скидка net = 20 - 3 = 17, с учетом покупки первого уровня за 3 AP
премии/прочее = все остальное заработанное
В Discord-панели этот блок тоже появится как Исторический заработок.
Проверка прошла: 24 tests OK.
4 files changed
+146
-19
Undo
Review
src/yellka/service.py
src/yellka/cli.py
src/yellka/discord_bot.py
tests/test_economy.py
2:05 AM
учти что я начинал имея 24 АП
и вообще на
Баланс: 24 АП
SenchaPencha — 09.05.2026 1:10
-19.6 [Ядро Вычислений] [Код/Движок] (0.2 -> 0.55)
-4.5 [Директивы Приоритета] [Код/Движок] (+40%)
Баланс: 0.9 :Cry:
Сдал
ИИ врагов
Базовое поведение
поиск игрока
движение к игроку
Атаки
ближний бой
(3*0.77 = 2.31)
Баланс 3,21
SenchaPencha — 09.05.2026 1:17
-2.5 [Директивы Приоритета] [Код/Движок] (+40->+50%)
Баланс: 0,71 (ебать я легенда, на глазок прикидывал, ровно попал)
SenchaPencha — 09.05.2026 1:30
Сдал
ИИ врагов
Способности
специальные атаки
призывы
Реакции
получение урона
оглушение
страх
0,825*5=4,125
баланс: 4,835
Это закрыло
ИИ врагов
2.31+4.125=6,435*0.5=3,2175 (я ебал сколько цифр)
баланс: 8,0525
-0.0025 на благотворительность
баланс: 8,05
-4.4 [Ядро Вычислений] [Код/Движок] (0.55 -> 0.6)
-3 [Директивы Приоритета] [Код/Движок] (+60%)
Баланс: 0.6 :Cry:
Взаимодействие эффектов
Система стаков
наложение эффектов +0.96
обновление длительности +0.96
Баланс 2,52
Плюс вайб, 0.96 нравится :Rave:
SenchaPencha — 09.05.2026 1:39
Контроль:
Притягивание +0.96
Расталкивание +0.96
Баланс: 4,44 (хихи)
-3.5 [Директивы Приоритета] [Код/Движок] (+70%)
баланс: 0,94
SenchaPencha — 09.05.2026 1:57
Урон:
Удар 1,02
Снаряд 1,02
Взрыв в точке 1,02
Баланс 4 (ЛЕГЕНДАРНО)
-4 [Директивы Приоритета] [Код/Движок] (+80%)
баланс: 0 (ОХУЕТЬ)
Урон:
Волна по земле +1,08
Луч +1,08
Орб +1,08
Дождь +1,08
Область +1,08
Баланс
5,4
-4.5 [Директивы Приоритета] [Код/Движок] (+90%)
баланс: 0,9
1.02x3=3.06
1.08x5=5.4
8.46
Премия, Урон
+4,23
Баланс 5,13
-5 [Директивы Приоритета] [Код/Движок] (+100%)
баланс: 0,13
SenchaPencha — 09.05.2026 2:28
+Модификаторы:
Огонь
Лёд
Молния
Яд
по 1.2
-Ядро Вычислений] [Код/Движок] (0.6 -> 0.65)
баланс: 0,13
Кислота
Тьма
Свет
Ветер
по 1.3
-Ядро Вычислений] [Код/Движок] (0.65 -> 0.7)
баланс: 0,13
Камень
Кровь
= + 2.8
Баланс 2,93
Модификаторы премия
4,8+5,2+2.8 =12,8
Премия +6.4
Баланс 9,33
SenchaPencha — 09.05.2026 2:44
-5.6 Ядро Вычислений] [Код/Движок] (0.7 -> 0.75)
баланс: 3,7
Котроль
Замедление
Связывание
Замешательство
1.5*3=4.5
Баланс 8,2
-6 Ядро Вычислений] [Код/Движок] (0.75 -> 0.8)
баланс: 2,2
Котроль
Стан +1.6
Страх+1.6
Баланс: 5,4
[Кэшбек-Шина Терминала]
-3
+3.655
[Кэшбек-Шина Терминала]
-3
+3.655
[Кэшбек-Шина Терминала]
-3
+3.655
[Кэшбек-Шина Терминала]
-3
+3.655
[Кэшбек-Шина Терминала]
-3
+3.655
Баланс: 8,675
SenchaPencha — 09.05.2026 2:54
-4.8 Ядро Вычислений] [Код/Движок] (0.8 -> 0.85)
баланс: 3,875
Премия
Котроль
Замедление
Связывание
Замешательство
1.5*3=4.5
Притягивание +0.96
Расталкивание +0.96
Котроль
Стан +1.6
Замешательство +1.6
9,62/2=4,81
Премия +4,81
Баланс 8,685
-5.1 Ядро Вычислений] [Код/Движок] (0.85 -> 0.9)
баланс: 3,585
SenchaPencha — 09.05.2026 3:05
Ловушки:
Мина +1.8
Баланс = 5,385
(сука ебанные 0.015)
Ловушки:
Зона +1.8
Баланс: 7,185
-5.4 Ядро Вычислений] [Код/Движок] (0.9 -> 0.95)
Баланс: 1,785
Лечение:
Ицеление
Регенерация
Вампиризм*
1,9*3=4,9
Премия лечение
+2,45
Баланс = 9,135
-5.7 Ядро Вычислений] [Код/Движок] (0.95 ->1)
Баланс: 3,435
SenchaPencha — 09.05.2026 3:12
Поведенческие модификаторы:
Пробитие насквозь +2 (нихуя себе)
Замедление времени +2
Баланс: 7,435
-6 Ядро Вычислений] [Код/Движок] (1 ->1.05)
Баланс: 1,435
SenchaPencha — Вчера, в 2:21
(идея с артефактами в которые вставляются карты,
Елка сказал записать 0.2, но тссс, посмотрим)
SenchaPencha — Вчера, в 2:36
Поведенческие модификаторы:
Цепь (Несколько целей)
Разделение
Возвращение
3x2.1
Ядро Вычислений] [Код/Движок] (1.05 ->1.1)
Баланс: 1,435
Орбита
Персонаж как цель
Автонаведение
3x2.2
ПРЕМИЯ
3x2.1=6,3
3x2.2=6,6
1x2 (Пробитие насквозь +2)=2
+7.45
Баланс: 15,485
SenchaPencha — Вчера, в 3:05
Призыв +2.2
Туррель +2.2
Тотем +2.2
Баланс: 22,085
[Протокол: Ретроспективная Индексация]
2) Единоразовый скидочный купон 20% на любой товар кроме подписочных
Баланс: 2.085
Клон +2.2
SenchaPencha — Вчера, в 3:15
Ретроспективная Индексация +42,065
Баланс: 46,35
:catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT: :catBongosEXTREMEROCKCONCERT:
Премия (Призывы)
+4.4
Баланс: 50,75
SenchaPencha — Вчера, в 3:33
(+0.2 за то что камень падает)
SenchaPencha — Вчера, в 21:23
-44,1 Ядро Вычислений] [Код/Движок] (1.1 ->1.4)
Баланс: 6,65
Сдать
Щит +2.8
Премия 0.3x2x51=30,6
баланс: 37,25
-35.4 Ядро Вычислений] [Код/Движок] (1.4 ->1.6)
Баланс: 1,85
Барьер +3.2
Премия 0.2x2x52=20,8
Баланс: 25,85
-19.5 Ядро Вычислений] [Код/Движок] (1.6 ->1.7)
Баланс: 6,35
Отражение +3.4
Премия 0.1x2x53=10,6
SenchaPencha — Вчера, в 21:32
Баланс: 20,35
-10.2 Ядро Вычислений] [Код/Движок] (1.7 ->1.75)
Баланс: 10,15
Поглощение +3.5
Премия 0.05x2x54=5,4
Баланс: 19,05
-10.5 Ядро Вычислений] [Код/Движок] (1.75 ->1.8)
Баланс: 8,55
вот тебе все досоздания бота
Show more
2:06 AM
Worked for 1m 8s
Учел стартовые 24 AP.
Теперь исторический заработок считается так:
заработано = текущий баланс + исторические траты - стартовый капитал
Для твоей базы сейчас:
Баланс: 15.4 AP
Исторические траты: 268 AP
Стартовый капитал: 24 AP
Заработано: 15.4 + 268 - 24 = 259.4 AP
Терминал теперь показывает:
Исторический заработок: 259.4 AP
старт 24
задачи 95.335
ретро 5.7
скидка 20 / чистыми 17
премии/прочее 141.365
То есть 24 AP, с которыми ты начинал, больше не попадают в “заработано”.
Добавил настройку:
python -m yellka --db ./balance.sqlite3 history-settings --starting-balance 24
И уже применил ее к текущей БД. Проверка прошла: 24 tests OK.
4 files changed
+25
-5
Undo
Review
src/yellka/service.py
src/yellka/cli.py
src/yellka/discord_bot.py
tests/test_economy.py
2:07 AM
ретро должно быть сиииильно больше,
там явно десятки поинтов, ты как-то неправильно его считаешь
2:08 AM
Worked for 1m 17s
Да, ретро было сильно занижено. Я считал только новые retro_bonus транзакции бота:
2.75 + 2.95 = 5.7 AP
А историческое ретро из таблицы было отдельно:
M19 = SUM(M5:M18) = 42.065 AP
Добавил это как историческую настройку и уже применил к БД:
python -m yellka --db ./balance.sqlite3 history-settings --historical-retro 42.065
Теперь статистика такая:
Исторический заработок: 259.4 AP
старт 24
задачи 95.335
ретро 47.765 (историческое 42.065)
скидка 20 / чистыми 17
премии/прочее 99.3
Общий заработок не меняется, просто расклад стал правильным: ретро выросло, “премии/прочее” уменьшилось.
Проверка прошла: 24 tests OK.
4 files changed
+25
-5
Undo
Review
src/yellka/service.py
src/yellka/cli.py
src/yellka/discord_bot.py
tests/test_economy.py
2:09 AM
ты можешь считать ретро, по разнице между сумме всех rewar и всех retro_paid
2:10 AM
Да, это лучше: не хранить историческое ретро отдельной ручной цифрой, а считать его из задач как разницу между “текущая цена после ретро” и “исходная награда”. Я проверю, что в задачах сейчас лежит reward/current_reward, и переключу статистику ретро на этот расчет.
Explored 1 search, ran 1 command
Сейчас sum(current_reward - reward) по задачам дает только 5.7, потому что импортированные исторические задачи были занесены уже как “финальные”, без старой цены до ретро. Чтобы получить десятки, надо восстановить reward как исходную цену до ретро, а current_reward оставить финальной. Сначала переключу статистику на разницу задач, потом поднимем данные из таблицы для исторического импорта.
Edited 3 files
Логика статистики переключена на sum(current_reward) - sum(reward). Теперь исправлю тесты и затем обновлю текущие исторические задачи, чтобы их reward стало исходной ценой до ретро по таблице.
Edited 1 file, ran 2 commands
Да, уже переключил формулу на sum(current_reward) - sum(reward). Но текущие данные задач еще не отражают старое большое ретро: у импортированных задач current_reward почти равен reward, поэтому разница дает только новые 5.7. Сейчас восстановлю current_reward по таблице: для старых групп оно должно включать дельту из столбца L, чтобы сумма ретро получалась из самих задач.
Ran 1 command
4 files changed
+17
-24
Undo
Review
src/yellka/service.py
retro_earned: Decimal
historical_retro_bonus: Decimal
discount_gross: Decimal
task_earned = self._sum_transactions(conn, "task_reward")
historical_retro_bonus = self._get_decimal(conn, "historical_retro_bonus")
retro_earned = parse_ap(
self._sum_transactions(conn, "retro_bonus") + historical_retro_bonus
)
retro_earned = self._task_retro_earned(conn)
total_earned = parse_ap(
retro_earned=retro_earned,
historical_retro_bonus=historical_retro_bonus,
discount_gross=discount_gross,
historical_starting_balance: Decimal | int | str | None = None,
historical_retro_bonus: Decimal | int | str | None = None,
) -> None:
)
if historical_retro_bonus is not None:
self._set_meta(
conn,
"historical_retro_bonus",
db_ap(historical_retro_bonus),
)
src/yellka/cli.py
src/yellka/discord_bot.py
tests/test_economy.py
Гемплей Партии Елки (Секретно).xlsx
Вот таблица если она тебе необходима