Свойства объектов

Открываем Whacked, создаём новый файл. У вас есть выбор - создать ли файл с конфигурацией BooM или Deh. Чем они различаются смотрите в конце темы. Пока выбираем deh, его поддерживает обычный DooM и Legacy. Bex поддерживают порты Boom, Zdoom и производные.

Свойства объектов

Нажимаем кнопку «Things». Далее смотрим: У каждого объекта должен быть свой порядковый номер. Этот номер изменять нельзя. А вот имя - запросто. Но желательно на английском. Объект «Player» вообще лучше не трогать! Новые объкты создавать нельзя! Смотрим в меню Properties. Здесь мы задаём главные свойсва объектов.

Название Описание
ID «Карточный» номер. Под таким номером данный объект будет в редакторе карт
Speed На сколько объект переместится во время обновления стэйтов (подробнее в следующей теме)
Status Каждый объект объёмный. Его объём - цилиндр с данным радиусом
Height Каждый объект объёмный. Его объём - цилиндр с данной высотой
Missle Damage Повреждения, наносимые другим объектам, если данный объект - снаряд
Reaction Time Реакция монстров. В 1/35 секунды. Если монстр вас завидел, то монстр всё ещё стоит, но спустя данное время, если он всё ещё вас видит, то он «просыпается»
Pain Chance Шанс боли. 255 = 100%. Вероятность прехода на стэйт боли (вы в него стреляйте, а он издаёт вопль и корчится)
Mass Масса данного объекта. Чем меньше масса, тем больше расстояние, на которое объект отлетает при повреждениях.
Bits Биты - второстепенные свойства объектов (см. ниже)

Стейты объектов

Какие стейты использует объект для разных ситуаций

Название Описание
Spawn State Какой стэйт использует сразу после того, как появился на карте
Move State Какой стэйт использует монстр, после того, как просыпается (стейты движения)
Pain State Какой стэйт использует монстр, когда ему больно
Melee State Какой стэйт использует монстр при атаке вблизи
Attack State Какой стэйт использует монстр при атаке на расстоянии
Death State Какой стэйт использует монстр, когда он умирает
Exploding State Какой стэйт использует монстр, когда его разрывает на куски (ракетой, бфг)
Respawn State Какой стэйт использует монстр, когда его воскрешает ArchVile

Звуки объекта

Звуки, который издаёт объект в разных ситуациях.

Название Описание
Alert Sound Звук, издаваемый монстром, когда он просыпается
Attack Sound Звук, издаваемый монстром, когда он атакует на расстоянии или вблизи
Pain Sound Звук, издаваемый монстром, когда ему больно
Death Sound Звук, издаваемый монстром, когда он умирает
Action Sound Звук, издаваемый монстром, когда он ищет момент для атаки (например, хрюканье импа)

Биты объекта

Биты - второстепенные свойства объекта. По ним можно определить, будет ли объект летать, будет ли он монстром или итемом и т. д. Bits - главное свойство объекта, его значение - цифра. Каждый бит имеет свою цифру. Если вы хотите одному объекту приписать несколько битов, то надо в опцию Bits приписать сумму номеров этих битов. Есть в описании бита строка «активируется движком». Это значит, что если вы поставите этот бит объекту, он не подействует. Данный бит активируется и будет действовать, когда движку необходимо.

Название Номер Описание
Can Be Picked Up 1 Объект можно подобрать (не рекомендуется включать/выключать этот бит у объектов!)
Obstacle 2 Объект объёмный, блокирует другие объекты
Shootable 4 Объект получает повреждения от стрельбы
Invisible And Touchable 8 Полностью невидимый, но блокирует объекты (лучше не использовать, а просто нарисовать невидимый спрайт или см. ниже)
Visible And untouchable 16 Видимый, но неблокирует объекты
Deaf (Ambush) 32 Представте ситуацию: доносится до монстра звук выстрела из сектора вне зоны видимости. Что сделает обычный монстр? Пойдёт в тот сектор. А монстр с таким битом не пойдёт
Attack Right Back 64 Как только проснётся, сразу выстрелит в игрока
Steps Before Attack 128 Отойдёт как минимум на шаг назад прежде, чем стрелять
Spawned on Ceiling 256 Появится на потолке сектора
No Gravity 512 На объект не действует гравитация
Travels Over Cliffs 1024 Может спрыгивать со ступенек больше 24.
Picks Up Items 2048 Может подбирать итемы (не рекомендуется включать данный бит у объектов, только игрок обязан иметь этот бит)
No clipping 4096 Может проходить сквозь стены и объекты
Keep Wall Slide Info 8192 Объект может скользить по стенам (активируется движком)
Floating 16384 Может летать, т. е. изменять свою z координату (если также поставлен бит No Gravity)
Semi No Clipping 32768 Может проходит сквозь другие объекты, но не сквозь стены
Projectile 65536 Данный объект ведёт себя как снаряд - когда достигает стены или объекта, взрывается (используя Death State) нанося повреждения, используя Missile Damage
Dropped By An Enemy 131072 Данный объект брошен монстром (активируется движком)
Draw As Shadow 262144 Сделать прозрачным (в Legacy) или рисовать точками (в DooM и других портах)
Puffs Vs. Bleeds 524288 У объекта вместо крови - дымок идёт (как от пуль при попадании в стену)
Corpse Slides Of Steps 1048576 Дохлый монстр будет скользить по ступенькам вниз
No Auto Leveling 2097152 Высота объекта всегда будет больше высоты пола сектора
Affects Kill % 4194304 Этот объект - монстр. Он может получать повреждения, издаёт разные звуки. И в конце уровня, когда идёт подсчёт убитых, данный объект тоже считают
Affects Item % 8388608 Этот объект - итем. Когда в конце уровня идёт подсчёт итемов, данный объект тоже считают
Flying Skull 16777216 Объект приобретает способность парить в воздухе
Not In Deathmatch 33554432 Данный объект не появляется при игре в DeathMatch
Color 1 67108864 Все цвета зелёного отеенка приобретают серый оттенок
Color 2 134217788 Все цвета зелёного отеенка приобретают коричневый оттенок

Фичи Legacy

У Legacy есть ещё 2 бита для цветов. Два предыдущих бита - серый и коричневый. Если их включить вместе, то в итоге они дают красный цвет. Так что DooM поддерживает 3 дополнительных цвета. В Legacy из четырёх цветов можно сделать 13 комбинаций! Далее представляю таблицу таких комбинаций (в скобках биты). Иногда из этих битов получается то, что я назвал контраст. Все цвета картинки (не только зелёные) приобретают немыслимые оттенки. Всего 4 типа контраста, все цвета там меняются по разному.

 
Цвета (1) Серый (67108864) (2) Коричневый (134217728) (1 + 2) Красный (201326592)
(3) Светло Серый (268435456) (1 + 3) Оранжевый (335544320) (2 + 3) Ярко красный (402653184) (1 + 2 + 3) Светло Синий (469762048)
(4) Синий (536870912) (1 + 4) Жёлтый (603979776) (2 + 4) Бежевый (671088640) (1 + 2 + 4) Синий (738197504)
(3 + 4) Контраст_1 (805306368) (1 + 3 + 4) Контраст_2 (872415232) (2 + 3 + 4) Контраст_3 (536870912) (1 + 2 + 3 + 4) Контраст_3 (1006632960)

Но Whacked не может вставлять эти новые биты Legacy в deh. Поэтому сначала в Whacked включаем нужные вам обычные биты, затем открываем deh в блокноте. На эти обычные биты прибавляем к нужным вам новым на каркуляторе (или в уме, но я так не умею). Но вдруг у вас там ошибка (ни тот стэйт прописали, например)? Исправлять ошибку вручную в Блокноте трудно, но если вы откройте этот файл в Whacked, то новые биты сотруться. Поэтому совет: прежде, чем прописывать новые биты, удостоверьтесь, что у вас нет ошибок. Теперь откройте ваш deh в whacked, но выберите конфигурацию BooM. Сохраните его как bex. Откройте в блокноте. Чувствуйте разницу? Bex гораздо проще редактировать вручную, но и занимает bex места больше раза в 4 (deh занимает мала места, bex будет занимать мало, умноженное на 4. Что будет? Правильно, мало). Лажа в том, что Legacy не поддерживает bex. Но данные знания могут пригодиться любителям zdoom и производных портов. У Legacy есть ещё 2 бита: No Clip Thing (1073741824) - честно говоря, не понял чем он отличается от бита Semi No Clipping (32768) Floor Hugger (2147483648) - снаряд будет двигаться только по полу (пушку рекомендуется держать выше 90 градусов по y оси, выше середины экрана, иначе снаряд взорвётся сразу после вылета).

Фичи Heretic

Legacy уже давно заручилась поддержкой Еретика, теперь можно использовать некоторые его фичи. Я научился пока использовать только биты объектов. Теоретически можно использовать и кодепоинтеры, но в deh это почти невозможно, а bex Legacy пока не поддерживает. Биты прописывать надо пока только в блокноте: создаёте новую строку «Bits2», а дальше дейсвуйте так же, как обычно. Вот список новых битов.

Название Номер Описание
Low Gravity 1 Сила гравитации, воздействующая на данный объект будет в 3 раза ниже
Wind Thrust 2 Сила ветра может действовать на данный объект
Floor Bounce 4 Данный снаряд отскакивает от пола и потолка (но не от стен)
Through Ghost 8 Данный снаряд будет проходить сквозь объекты с битом Draw As Shadow (262144)
Fly 16 Включить у этого объекта режим полёта (можно приписать игроку)
Foot Clip 32 Чего то там про ноги… каюсь, не знаю :)…
Spawn Float 64 Объект появляется в случайной z координате
No Teleport 128 Данный объект не телепортируется
Rip 256 Данный снаряд, попадая в другой объект, не взрывается, а летит дальше
Pushable 512 Другие объекты могут двигать данный объект
Slide Against Walls 1024 Объект может скользить против стен
On Object 2048 Объект остаётся стоять на другом объекте
Pass Object 4096 Разрешить проверку z координаты (помните, ещё в первом думе нельзя было пройти под летящим на большой высоте какодемоном? Данный бит устраняет это)
Cannot Push 8192 Объект не может двигать другие объкты, даже если они с битом Pushable (512)
Feet Clipped 16384 Опять чего - то с ногами… И опять я не знаю :)…
Boss 32768 Звуки просыпания и смерти этого объекта проигрываются на полную громкость, независимо от расстояния от объекта до игрока
Fire Damage 32768 Звуки просыпания и смерти этого объекта проигрываются на полную громкость, независимо от расстояния от объекта до игрока
No Damage Thrust 65536 Наносит урон огнём (нужна ещё сгорающая анимация монстров, специальное свойство, которого я не знаю)
Telestomp 262144 Объект, телепортируясь, может разнести на куски другой объект, стоящий в телепорте
Float Bobbing 524288 Объект летает вверх - вниз по синусойде (как некоторые итемы в Еретике и Хексене)
Don’t Draw 1048576 Не рендерить спрайты объекта, объект невидим (всё же рекомендуется рисовать прозрачный спрайт)
Predicting Shots 2097152 Монстр умеет предсказывать траекторию цели, и выпускает снаряд в предпологаемую позицию
Teleporting Missile 4194304 Данный снаряд может телепортироваться