# Каталог размещаемых сущностей — граница между движком и игрой. # # Редактор комнат читает ТОЛЬКО этот файл: он не знает, что такое SHAMBLER и # чем тот бьёт, он знает id, класс, цвет, глубину и цену. Игра переводит id в # свои EnemyKind и ItemId одной таблицей (src/sim/spawn_catalog.cpp). # # entity ключ=значение ... # # class monster | prop | loot # depth N — с этажа N и глубже # N..M — с N по M включительно # danger цена в бюджете опасности этажа. Не урон и не HP, а «сколько места # в голове игрока эта тварь занимает». Бюджет — то, чем этаж # отличается по СЛОЖНОСТИ, а не по числу тел # tier качество предмета: этаж выдаёт свой тир и всё, что ниже # color чем редактор рисует сущность, пока для неё нет спрайта # # Порядок ключей не важен, лишние ключи — ошибка, а не молчаливый пропуск. # Порядок СТРОК важен: это порядок палитры в редакторе. # --- твари ------------------------------------------------------------------- # Кривая простая и читается сверху вниз: первые этажи — бредущие и бегуны, # дальше подключаются плевки, громилы и хваты. Верхняя граница у мелочи есть # намеренно: на двадцатом этаже одиночный бредущий занимал бы место, которое # должно достаться чему-то, чего игрок ещё не видел. entity larva class=monster depth=1..4 danger=0.7 radius=0.28 color=132,120,78 sprite=shambler_walk name=LARVA entity shambler class=monster depth=3 danger=1.0 radius=0.34 color=116,52,52 sprite=shambler_walk name=SHAMBLER entity rusher class=monster depth=4 danger=1.3 radius=0.27 color=158,74,44 sprite=rusher_walk name=RUSHER entity spitter class=monster depth=3 danger=2.0 radius=0.31 color=96,132,72 sprite=spitter_walk name=SPITTER entity lurker class=monster depth=5 danger=2.6 radius=0.30 color=88,62,118 sprite=lurker_walk name=LURKER entity brute class=monster depth=7 danger=4.5 radius=0.46 color=142,60,78 sprite=brute_walk name=BRUTE # Акты II-VI. До этого каталог кончался громилой на седьмом этаже, и глубже # бюджет опасности выбирался теми же пятью видами — то есть спуск переставал # показывать новое ровно там, где обязан был начать. entity cinder class=monster depth=9 danger=2.8 radius=0.32 color=178,92,40 sprite=shambler_walk name=CINDER entity stinger class=monster depth=21 danger=2.2 radius=0.26 color=104,120,132 sprite=spitter_walk name=STINGER entity swarm class=monster depth=36 danger=1.6 radius=0.30 color=138,132,56 sprite=rusher_walk name=SWARM entity husk class=monster depth=36 danger=7.0 radius=0.44 color=128,122,104 sprite=brute_walk name=HUSK entity sleeper class=monster depth=44 danger=6.0 radius=0.50 color=96,88,74 sprite=brute_walk name=SLEEPER entity wailer class=monster depth=53 danger=8.0 radius=0.33 color=158,150,176 sprite=spitter_walk name=WAILER entity voidling class=monster depth=73 danger=11.0 radius=0.32 color=52,48,86 sprite=lurker_walk name=VOIDLING # Мишень приёмки: не ходит и не бьёт. Опасности не несёт, поэтому и бюджета # не тратит — ею ставят неподвижную цель, когда нужна именно цель. entity dummy class=monster depth=1 danger=0.0 radius=0.34 color=120,44,44 sprite=- name=TARGET # --- обстановка -------------------------------------------------------------- # Ломается, не отрастает обратно и не участвует в зачистке. entity crate class=prop depth=1 radius=0.38 color=104,76,46 sprite=prop_crate name=CRATE entity barrel class=prop depth=1 radius=0.33 color=92,84,58 sprite=prop_barrel name=BARREL entity locker class=prop depth=2 radius=0.36 color=78,88,96 sprite=prop_locker name=LOCKER # --- лут --------------------------------------------------------------------- # Тир — это «с какой глубины вещь становится находкой». Нижние тиры с глубиной # не исчезают: бинт нужен всегда, он просто перестаёт быть удачей. entity ammo class=loot tier=0 depth=1 radius=0.22 color=200,176,96 sprite=item_icon_ammo name=AMMO entity bandage class=loot tier=0 depth=1 radius=0.22 color=216,208,196 sprite=item_icon_bandage name=BANDAGE # Батарея — второй расходник первой необходимости после бинта: свет садится сам # и на всех, поэтому нижним тиром и с первого этажа. Иконки пока нет. entity battery class=loot tier=0 depth=1 radius=0.22 color=150,210,200 sprite=- name=BATTERY entity pistol class=loot tier=0 depth=1 radius=0.24 color=190,180,168 sprite=item_icon_pistol name=PISTOL entity knife class=loot tier=0 depth=1 radius=0.22 color=214,222,232 sprite=item_icon_knife name=KNIFE entity jacket class=loot tier=0 depth=1 radius=0.26 color=122,112,96 sprite=item_icon_jacket name=JACKET entity rifle class=loot tier=1 depth=2 radius=0.26 color=208,196,150 sprite=item_icon_rifle name=CARBINE entity saber class=loot tier=1 depth=2 radius=0.26 color=200,212,228 sprite=item_icon_saber name=SABER entity vest class=loot tier=1 depth=3 radius=0.26 color=108,118,108 sprite=item_icon_vest name=VEST entity stimpack class=loot tier=1 depth=3 radius=0.22 color=130,220,170 sprite=item_icon_stimpack name=STIM entity smg class=loot tier=2 depth=5 radius=0.26 color=176,200,220 sprite=item_icon_smg name=SMG entity shotgun class=loot tier=2 depth=6 radius=0.28 color=214,158,104 sprite=item_icon_shotgun name=SHOTGUN entity cleaver class=loot tier=2 depth=6 radius=0.28 color=196,174,160 sprite=item_icon_cleaver name=CLEAVER entity spurs class=loot tier=2 depth=5 radius=0.22 color=198,184,120 sprite=item_icon_spurs name=SPURS entity lantern class=loot tier=2 depth=4 radius=0.24 color=240,206,130 sprite=item_icon_lantern name=LANTERN entity magnum class=loot tier=3 depth=9 radius=0.28 color=226,210,176 sprite=item_icon_magnum name=MAGNUM entity bow class=loot tier=3 depth=10 radius=0.26 color=154,190,164 sprite=item_icon_bow name=BOW entity plate class=loot tier=3 depth=9 radius=0.30 color=140,146,156 sprite=item_icon_plate name=PLATE entity shroud class=loot tier=3 depth=11 radius=0.26 color=88,84,100 sprite=item_icon_shroud name=SHROUD entity charm class=loot tier=3 depth=8 radius=0.22 color=196,130,190 sprite=item_icon_charm name=CHARM # --- оружие и снаряжение актов II-VI ------------------------------------------- # Тир — «с какой глубины вещь становится находкой». Роли разные, и каждая вещь # чем-то хуже соседней: гвоздомёт дешёвый и слабый, пулемёт тяжёлый, рельса # бьёт далеко и редко (docs/13-combat.md). entity nailer class=loot tier=1 depth=3 radius=0.24 color=170,170,150 sprite=- name=NAILER entity recon class=loot tier=1 depth=4 radius=0.26 color=120,140,120 sprite=- name=RECON entity harness class=loot tier=1 depth=5 radius=0.22 color=150,140,120 sprite=- name=HARNESS entity acid class=loot tier=2 depth=7 radius=0.26 color=120,170,90 sprite=- name=ACID entity stiletto class=loot tier=2 depth=7 radius=0.22 color=200,200,220 sprite=- name=STILETTO entity weave class=loot tier=2 depth=8 radius=0.26 color=110,120,140 sprite=- name=WEAVE entity clamp class=loot tier=2 depth=8 radius=0.22 color=170,150,110 sprite=- name=CLAMP entity plasma class=loot tier=3 depth=11 radius=0.26 color=150,190,230 sprite=- name=PLASMA entity ripper class=loot tier=3 depth=12 radius=0.26 color=160,190,120 sprite=- name=RIPPER entity helm class=loot tier=3 depth=12 radius=0.28 color=130,130,140 sprite=- name=HELM entity adrenal class=loot tier=3 depth=13 radius=0.22 color=210,140,120 sprite=- name=ADRENAL entity thermal class=loot tier=3 depth=14 radius=0.22 color=200,120,90 sprite=- name=THERMAL entity flamer class=loot tier=4 depth=17 radius=0.28 color=230,140,60 sprite=- name=FLAMER entity cryoedge class=loot tier=4 depth=18 radius=0.26 color=140,200,230 sprite=- name=CRYOEDGE entity pauldron class=loot tier=4 depth=19 radius=0.24 color=140,140,150 sprite=- name=PAULDRON entity carapace class=loot tier=4 depth=20 radius=0.30 color=120,110,90 sprite=- name=CARAPACE entity hmg class=loot tier=5 depth=24 radius=0.30 color=90,100,110 sprite=- name=HMG entity maul class=loot tier=5 depth=26 radius=0.30 color=150,130,110 sprite=- name=MAUL entity rail class=loot tier=6 depth=31 radius=0.28 color=180,180,210 sprite=- name=RAIL