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




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



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


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

Название

Описание

ID"Карточный" номер. Под таким номером данный объект будет в редакторе карт
SpeedНа сколько объект переместится во время обновления стэйтов (подробнее в следующей теме)
RadiusКаждый объект объёмный. Его объём - цилиндр с данным радиусом
HeightКаждый объект объёмный. Его объём - цилиндр с данной высотой
Missile 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 Up1Объект можно подобрать (не рекомендуется включать/выключать этот бит у объектов!)
Obstacle2Объект объёмный, блокирует другие объекты
Shootable4Объект получает повреждения от стрельбы
Invisible And Touchable8Полностью невидимый, но блокирует объекты (лучше не использовать, а просто нарисовать невидимый спрайт или см. ниже)
Visible And untouchable16Видимый, но неблокирует объекты
Deaf (Ambush)32Представте ситуацию: доносится до монстра звук выстрела из сектора вне зоны видимости. Что сделает обычный монстр? Пойдёт в тот сектор. А монстр с таким битом не пойдёт
Attack Right Back64Как только проснётся, сразу выстрелит в игрока
Steps Before Attack128Отойдёт как минимум на шаг назад прежде, чем стрелять
Spawned on Ceiling256Появится на потолке сектора
No Gravity512На объект не действует гравитация
Travels Over Cliffs1024Может спрыгивать со ступенек больше 24.
Picks Up Items2048Может подбирать итемы (не рекомендуется включать данный бит у объектов, только игрок обязан иметь этот бит)
No clipping4096Может проходить сквозь стены и объекты
Keep Wall Slide Info8192Объект может скользить по стенам (активируется движком)
Floating16384Может летать, т. е. изменять свою z координату (если также поставлен бит No Gravity)
Semi No Clipping32768Может проходит сквозь другие объекты, но не сквозь стены
Projectile65536Данный объект ведёт себя как снаряд - когда достигает стены или объекта, взрывается (используя Death State) нанося повреждения, используя Missile Damage
Dropped By An Enemy131072Данный объект брошен монстром (активируется движком)
Draw As Shadow262144Сделать прозрачным (в Legacy) или рисовать точками (в DooM и других портах)
Puffs Vs. Bleeds524288У объекта вместо крови - дымок идёт (как от пуль при попадании в стену)
Corpse Slides Of Steps1048576Дохлый монстр будет скользить по ступенькам вниз
No Auto Leveling2097152Высота объекта всегда будет больше высоты пола сектора
Affects Kill %4194304Этот объект - монстр. Он может получать повреждения, издаёт разные звуки. И в конце уровня, когда идёт подсчёт убитых, данный объект тоже считают
Affects Item %8388608Этот объект - итем. Когда в конце уровня идёт подсчёт итемов, данный объект тоже считают
Flying Skull16777216Объект приобретает
Not In Deathmatch33554432Данный объект не появляется при игре в DeathMatch
Color 167108864Все цвета зелёного отеенка приобретают серый оттенок
Color 2134217788Все цвета зелёного отеенка приобретают коричневый оттенок



Фичи 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)
Контраст_4
(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/td>1Сила гравитации, воздействующая на данный объект будет в 3 раза ниже
Wind Thrust2Сила ветра может действовать на данный объект
Floor Bounce4Данный снаряд отскакивает от пола и потолка (но не от стен)
Through Ghost8Данный снаряд будет проходить сквозь объекты с битом Draw As Shadow (262144)
Fly16Включить у этого объекта режим полёта (можно приписать игроку)
Foot Clip32Чего то там про ноги... каюсь, не знаю :)...
Spawn Float64Объект появляется в случайной z координате
No Teleport128Данный объект не телепортируется
Rip256Данный снаряд, попадая в другой объект, не взрывается, а летит дальше
Pushable512Другие объекты могут двигать данный объект
Slide Against Walls1024Объект может скользить против стен
On Object2048Объект остаётся стоять на другом объекте
Pass Object4096Разрешить проверку z координаты (помните, ещё в первом думе нельзя было пройти под летящим на большой высоте какодемоном? Данный бит устраняет это)
Cannot Push8192Объект не может двигать другие объкты, даже если они с битом Pushable (512)
Feet Clipped16384Опять чего - то с ногами... И опять я не знаю :)...
Boss32768Звуки просыпания и смерти этого объекта проигрываются на полную громкость, независимо от расстояния от объекта до игрока
Fire Damage65536Наносит урон огнём (нужна ещё сгорающая анимация монстров, специальное свойство, которого я не знаю)
No Damage Thrust131072Нанося урон, снаряд не двигает объект
Telestomp262144Объект, телепортируясь, может разнести на куски другой объект, стоящий в телепорте
Float Bobbing524288Объект летает вверх - вниз по синусойде (как некоторые итемы в Еретике и Хексене)
Don't Draw1048576Не рендерить спрайты объекта, объект невидим (всё же рекомендуется рисовать прозрачный спрайт)
Predicting Shots2097152Монстр умеет предсказывать траекторию цели, и выпускает снаряд в предпологаемую позицию
Teleporting Missile4194304Данный снаряд может телепортироваться



Следующая тема: Свойства стэйтов.


На главную страницу dehacked.
На главную страницу.