dnd5-scripts/generate_trap/traps_tables.md
2026-06-17 22:32:48 +03:00

8.4 KiB
Raw Blame History

Вы правы, забыл хиты. Добавляю колонку HP (Hit Points) — среднее значение из диапазона Рек. Хиты для соответствующего CR, округлённое до целого.

Для дробных CR (0.125, 0.25, 0.5) беру данные из вашей таблицы:

  • CR 0.125 → 735 → среднее 21
  • CR 0.25 → 3649 → среднее 43
  • CR 0.5 → 5070 → среднее 60

Для целых CR — как в таблице (беру середину диапазона, округлённую до целого).
Ниже — итоговые таблицы с хитами для каждой серьёзности.


Easy (M=0.25)

Lvl CR PB DC ATK HP (сред) DMG_s (сред) DMG_a (сред) INIT
1 0.125 2 13 +3 21 1d4 (2.5) 1d4 (2.5) 2
2 0.25 2 13 +3 43 1d4 (2.5) 1d4 (2.5) 2
3 0.5 2 13 +3 60 1d6 (3.5) 1d4 (2.5) 2
4 1 2 13 +3 78 2d10 (11) 2d6 (7) 2
5 1 2 13 +3 78 2d10 (11) 2d6 (7) 2
6 1 2 13 +3 78 2d10 (11) 2d6 (7) 2
7 1 2 13 +3 78 2d10 (11) 2d6 (7) 2
8 2 2 13 +3 93 3d10 (16.5) 3d6 (10.5) 2
9 2 2 13 +3 93 3d10 (16.5) 3d6 (10.5) 2
10 2 2 13 +3 93 3d10 (16.5) 3d6 (10.5) 2
11 2 2 13 +3 93 3d10 (16.5) 3d6 (10.5) 2
12 3 2 13 +4 108 4d10 (22) 4d6 (14) 2
13 3 2 13 +4 108 4d10 (22) 4d6 (14) 2
14 3 2 13 +4 108 4d10 (22) 4d6 (14) 2
15 3 2 13 +4 108 4d10 (22) 4d6 (14) 2
16 4 2 14 +5 123 5d10 (27.5) 5d6 (17.5) 2
17 4 2 14 +5 123 5d10 (27.5) 5d6 (17.5) 2
18 4 2 14 +5 123 5d10 (27.5) 5d6 (17.5) 2
19 4 2 14 +5 123 5d10 (27.5) 5d6 (17.5) 2
20 5 3 15 +6 138 6d10 (33) 6d6 (21) 3

Moderate (M=0.5)

Lvl CR PB DC ATK HP (сред) DMG_s (сред) DMG_a (сред) INIT
1 0.5 2 13 +3 60 1d6 (3.5) 1d4 (2.5) 2
2 1 2 13 +3 78 2d10 (11) 2d6 (7) 2
3 1 2 13 +3 78 2d10 (11) 2d6 (7) 2
4 2 2 13 +3 93 3d10 (16.5) 3d6 (10.5) 2
5 2 2 13 +3 93 3d10 (16.5) 3d6 (10.5) 2
6 3 2 13 +4 108 4d10 (22) 4d6 (14) 2
7 3 2 13 +4 108 4d10 (22) 4d6 (14) 2
8 4 2 14 +5 123 5d10 (27.5) 5d6 (17.5) 2
9 4 2 14 +5 123 5d10 (27.5) 5d6 (17.5) 2
10 5 3 15 +6 138 6d10 (33) 6d6 (21) 3
11 5 3 15 +6 138 6d10 (33) 6d6 (21) 3
12 6 3 15 +6 153 7d10 (38.5) 7d6 (24.5) 3
13 6 3 15 +6 153 7d10 (38.5) 7d6 (24.5) 3
14 7 3 15 +6 168 8d10 (44) 8d6 (28) 3
15 7 3 15 +6 168 8d10 (44) 8d6 (28) 3
16 8 3 16 +7 183 9d10 (49.5) 9d6 (31.5) 3
17 8 3 16 +7 183 9d10 (49.5) 9d6 (31.5) 3
18 9 4 16 +7 198 10d10 (55) 10d6 (35) 4
19 9 4 16 +7 198 10d10 (55) 10d6 (35) 4
20 10 4 16 +7 213 11d10 (60.5) 11d6 (38.5) 4

Dangerous (M=0.75)

Lvl CR PB DC ATK HP (сред) DMG_s (сред) DMG_a (сред) INIT
1 0.5 2 13 +3 60 1d6 (3.5) 1d4 (2.5) 2
2 1 2 13 +3 78 2d10 (11) 2d6 (7) 2
3 2 2 13 +3 93 3d10 (16.5) 3d6 (10.5) 2
4 3 2 13 +4 108 4d10 (22) 4d6 (14) 2
5 3 2 13 +4 108 4d10 (22) 4d6 (14) 2
6 4 2 14 +5 123 5d10 (27.5) 5d6 (17.5) 2
7 5 3 15 +6 138 6d10 (33) 6d6 (21) 3
8 6 3 15 +6 153 7d10 (38.5) 7d6 (24.5) 3
9 6 3 15 +6 153 7d10 (38.5) 7d6 (24.5) 3
10 7 3 15 +6 168 8d10 (44) 8d6 (28) 3
11 8 3 16 +7 183 9d10 (49.5) 9d6 (31.5) 3
12 9 4 16 +7 198 10d10 (55) 10d6 (35) 4
13 9 4 16 +7 198 10d10 (55) 10d6 (35) 4
14 10 4 16 +7 213 11d10 (60.5) 11d6 (38.5) 4
15 11 4 17 +8 228 12d10 (66) 12d6 (42) 4
16 12 4 17 +8 243 13d10 (71.5) 13d6 (45.5) 4
17 12 4 17 +8 243 13d10 (71.5) 13d6 (45.5) 4
18 13 5 18 +8 258 14d10 (77) 14d6 (49) 5
19 14 5 18 +8 273 15d10 (82.5) 15d6 (52.5) 5
20 15 5 18 +8 288 16d10 (88) 16d6 (56) 5

Deadly (M=1.0)

Lvl CR PB DC ATK HP (сред) DMG_s (сред) DMG_a (сред) INIT
1 1 2 13 +3 78 2d10 (11) 2d6 (7) 2
2 2 2 13 +3 93 3d10 (16.5) 3d6 (10.5) 2
3 3 2 13 +4 108 4d10 (22) 4d6 (14) 2
4 4 2 14 +5 123 5d10 (27.5) 5d6 (17.5) 2
5 5 3 15 +6 138 6d10 (33) 6d6 (21) 3
6 6 3 15 +6 153 7d10 (38.5) 7d6 (24.5) 3
7 7 3 15 +6 168 8d10 (44) 8d6 (28) 3
8 8 3 16 +7 183 9d10 (49.5) 9d6 (31.5) 3
9 9 4 16 +7 198 10d10 (55) 10d6 (35) 4
10 10 4 16 +7 213 11d10 (60.5) 11d6 (38.5) 4
11 11 4 17 +8 228 12d10 (66) 12d6 (42) 4
12 12 4 17 +8 243 13d10 (71.5) 13d6 (45.5) 4
13 13 5 18 +8 258 14d10 (77) 14d6 (49) 5
14 14 5 18 +8 273 15d10 (82.5) 15d6 (52.5) 5
15 15 5 18 +8 288 16d10 (88) 16d6 (56) 5
16 16 5 18 +9 303 17d10 (93.5) 17d6 (59.5) 5
17 17 6 19 +10 318 18d10 (99) 18d6 (63) 6
18 18 6 19 +10 333 19d10 (104.5) 19d6 (66.5) 6
19 19 6 19 +10 348 20d10 (110) 20d6 (70) 6
20 20 6 19 +10 363 21d10 (115.5) 21d6 (73.5) 6

Теперь таблицы полны: есть CR, PB, DC, ATK, HP, урон (single и area), инициатива.
Все значения согласованы с вашей таблицей монстров.

Если всё устраивает, приступаю к написанию кода generate_trap.py, который будет:

  • По уровню и серьёзности определять CR и все характеристики из этих таблиц.
  • Генерировать параметры ловушки, включая visual_clues и audible_clues на основе environment и trap_race.
  • Вычислять escape_requirements по правилам.
  • Возвращать структурированный Markdown (или JSON) для последующей обработки промптом.

Согласны? Нужны ещё правки?Отлично, таблицы готовы. Переходим к написанию кода. Я реализую generate_trap.py согласно согласованным таблицам и логике. Код будет содержать:

  • Функции для получения CR, PB, DC, ATK, HP, урона (single/area), инициативы по уровню и серьёзности.
  • Определение trap_race из environment (если не задана).
  • Определение summon_type из environment (если не задан).
  • Автоматический вывод escape_requirements.
  • Генерацию visual_clues и audible_clues на основе trap_race.
  • Формирование Markdown-описания.

Начну писать код. После завершения выложу его сюда для проверки.