Автор | Сообщение |
Michael63 Lieutenant Colonel
| 3856 |
Doom Rate: 2 Posts quality: +842 |
Отправлено: 02.06.23 00:20:06 | | | Хоть и много лет я играю в Дум, но вот прямо всех деталей не помню. А вопросы вылезают, когда начинаю сам планировать что-то в своих уровнях.
Так вот: хотелось бы иметь полный список или таблицу, какие монстры в Doom 2 атакуют друг друга (стравливаются, впадают в infighting) в нормальном режиме, без хаков типа задевания монстров взрывом от бочки (например, баронов в E1M8). Наверняка ведь такая таблица или картинка типа графа уже кем-то сделана. Если знаете такую, дайте ссылку, плиз. Полная таблица, желательно, должна содержать как разнотипных, так и однотипных монстров, которые начинают атаковать друг друга при попадании одного в другого.
Добавлено спустя 2 минуты 39 секунд:
Про однотипных вроде бы нашёл некое подобие списка:
Monsters capable of infighting amongst themselves
All former humans (Zombiemen, Shotgun Guys and Chaingunners) can and frequently will damage and kill each other due to the hitscan nature of their attacks and the ease at which they can be made to accidentally hit each other.
Lost Souls, being projectiles themselves, are prone to attacking other Lost Souls if one of them stands in the other's line of attack.
https://doom.fandom.com/wiki/Monster_infighting
Spiderdemons, like former humans, rely on hitscan attacks from their chaingun. Thus they are prone to attacking another Spiderdemon if they are caught within each other's crossfire. | |
|
1 |
1 |
2 |
|
|
| |
N00b Chief Petty Officer
| 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 02.06.23 01:09:11 | | | Список монстров с огнестрельным оружием неполный, есть ещё один.
Вообще doomwiki.org чаще обновляется и пишется обычно "профессиональными игроками" в Doom с думворлда. Технические детали они знают очень хорошо, этого у них не отнять.
Там несложно на самом деле, таблица избыточна. В параграфе https://doomwiki.org/wiki/Monster_infighting#Monsters_unable_to_cause_infighting об этом написано.
Огнестрельные атаки монстров могут наносить урон кому угодно.
Атаки монстров проджектайлами --- всем монстрам, кроме своего же типа. Исключения: бароны не наносят урон рыцарям и наоборот; лостсоулы наносят урон в том числе и по своим.
Урон по области от ракеты кибера/огня арчвайла наносится по всем, кроме боссов, т. е. собственно кибера и паука (напомню, что обе эти атаки состоят из двух частей, у арчвайла из хитскана и взрыва, у кибера из попадания снаряда и взрыва).
Рукопашная атака монстра с версии 1.5 всегда попадает по цели либо не производится вообще, стравить двух монстров только ей невозможно.
Арчвайлам монстры не мстят, как и элементалям. У арчвайлов так специально сделано, потому что это медики, а в случае элементалей источником урона считается лостсоул. |
|
|
| |
Michael63 Lieutenant Colonel
| 3856 |
Doom Rate: 2 Posts quality: +842 |
Отправлено: 02.06.23 12:21:18 | | | Спасибо, чуть-чуть ещё уточнить хочу:
N00b пишет: | Огнестрельные атаки монстров могут наносить урон кому угодно.
Атаки монстров проджектайлами --- всем монстрам, кроме своего же типа. |
А нанесение урона во всех этих случаях вызывает ответную атаку, или не во всех? |
|
|
1 |
1 |
2 |
|
|
| |
JSO x - 2nd Lieutenant -
| 1334 |
Doom Rate: 2.26 Posts quality: +726 |
Отправлено: 02.06.23 12:51:15 | | | Michael63 пишет: | А нанесение урона во всех этих случаях вызывает ответную атаку, или не во всех? |
Нет. У каждого монстра, за исключением арч-вайла, есть собственный "порог ненависти при получении урона" (в Decorate -- свойство "Threshold", в оригинале этот же порог был зашит в код). Упрощённо -- сколько времени должно пройти, прежде чем монстр сможет переключиться на другую цель.
Арч-вайл в Decorate использует флаг +QUICKTORETALIATE, который аналогичен установке свойства "Threshold" в ноль. Поэтому он переключается на обидчиков мгновенно. |
|
|
2 |
7 |
1 |
|
|
| |
TheTaintedSlav = 2nd Lieutenant =
| 1495 |
Doom Rate: 1.3 Posts quality: +328 |
Отправлено: 02.06.23 14:38:26 | | | Mlichael63 пишет: | хотелось бы иметь полный список или таблицу, какие монстры в Doom 2 атакуют друг друга |
Так все друг друга ненавидят.
Есть нюансы однако:
зомби и демоны имеют несколько разный принцип возникновения причин для инфайта. Обычно причиной инфайта служит нападение одного ВИДА на другой (поясняю, имп никогда не атакует импа в ответ на залетный фаер от сородича, рев - на рева, и т.д.). То бишь, сородич сородича не атакует. Да, даже мастермайнд мастермайнда несмотря на то что их атака это та же хитскан-атака которую делят между собой шотганнер и чайник.
С зомби же чуточку по-другому, как и демоны они ответят огнем на огонь, НО, как и в реальности, стоит одному кожаному ублюдку атаковать другого кожаного ублюдка - начнется замес. зомби с зомби, шотганнер с шотганнером, и т.д.
то бишь, одержимые люди будут отвечать на огонь в себя со стороны таких же одержимых вне зависимости от оружие которое они имеют, даже после становления рабами епучих чертил - люди есть люди, люди ненавидят людей и все тут. | |
|
5 |
1 |
|
|
| |
N00b Chief Petty Officer
| 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 02.06.23 16:21:17 | | | Как пишут на вики, Threshold для всех монстров, кроме арчвайла, равен 100. Это значит, что монстр должен сделать 100 шагов, прежде чем переключаться на другого.
Wereknight
Well ackchyually инфайт мастермайндов можно видеть на MAP28 Doom II, как в портах, так и в doom2.exe.
Тут важно, что инфайт может начаться только при нанесении урона, а проджектайлы не наносят урон монстрам "своего" типа. Хитскан может нанести урон кому угодно. |
|
|
| |
theleo_ua = Colonel =
| 4794 |
Doom Rate: 1.8 Posts quality: +1032 |
Отправлено: 03.06.23 10:01:48 | | | JSO x пишет: | Нет. У каждого монстра, за исключением арч-вайла, есть собственный "порог ненависти при получении урона" (в Decorate -- свойство "Threshold", в оригинале этот же порог был зашит в код). Упрощённо -- сколько времени должно пройти, прежде чем монстр сможет переключиться на другую цель.
Арч-вайл в Decorate использует флаг +QUICKTORETALIATE, который аналогичен установке свойства "Threshold" в ноль. Поэтому он переключается на обидчиков мгновенно. |
есть еще момент: стравливание работает только если атакуемого ввели в painchance, ибо часто бывает, когда урон нанесен, а монстр не заагрился
Wereknight пишет: | Да, даже мастермайнд мастермайнда |
мастермайнд мастермайнда атакует, проверял на map32 hell revealed 2
N00b пишет: | Тут важно, что инфайт может начаться только при нанесении урона |
и только при painchance у продамаженного монстра
З.Ы. Народ, вопрос в зрительный зал (я уже задавал его в дискорде и получил ответ, но мне интересно, шарит ли здесь кто-то, это раз, и правильный ли ответ дали в дискорде, это два). Вопрос следующий: где в коде прописано то, что кибер не агрится на кибера и не атакует кибера? Ведь напомню, у ракеты есть и НЕсплеш атака, но даже она не заагрит кибера на кибера
З.Ы.2. Если вдруг кто не в курсе, в еретике и хексене добавили механизм, когда после смерти игрока все монстры агрятся на других монстров (в коопе вроде отключено, но не проверял) |
|
|
3 |
1 |
|
|
| |
N00b Chief Petty Officer
| 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 03.06.23 11:29:29 | | | theleo_ua
По поводу вопроса в зрительный зал. Причина та же, по которой имп не атакует импа.
theleo_ua пишет: | часто бывает, когда урон нанесен, а монстр не заагрился |
Вроде бы это от pain chance не зависит, объясняется threshold. Создай в билдере вот такую карту:
сразу выстрели в барана, скройся за углом, подожди 10 секунд, снова выгляни и дождись атаки импа. У барона низкий pain chance, поэтому с вероятностью около 80% при попадании импа по барону барон не перейдёт в стейт боли. И тем не менее он после этого в любом случае будет бить импа. |
|
|
| |
Mikle = Warrant Officer =
| 1223 |
Doom Rate: 1.95 Posts quality: +548 |
Отправлено: 03.06.23 11:30:49 | | | А Lost Soul разве иногда не кидается на кого попало без причины? Я в код не смотрел, но по игре есть такое впечатление. | |
|
1 |
3 |
|
|
| |
N00b Chief Petty Officer
| 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 03.06.23 12:08:14 | | | Mikle
Он забывает своего обидчика после успешной атаки. Это был баг, но в GZDoom он сохранён в виде флага +RETARGETAFTERSLAM.
Вообще смутно помню, что были и какие-то отличия между инфайтом в ванили и портах. Может быть, это было связано с пробуждением монстров от атак, тогда это не совсем к инфайту относится. Точно сказать не могу. | |
|
| |
JSO x - 2nd Lieutenant -
| 1334 |
Doom Rate: 2.26 Posts quality: +726 |
Отправлено: 03.06.23 12:09:36 | | | Mikle, не должен. Ни один монстр оригинальной игры без причины ни на какого другого не нападает.
N00b пишет: | Вообще смутно помню, что были и какие-то отличия между инфайтом в ванили и портах. |
И в оригинале, и в портах -- ну, как минимум, большинстве из них -- точно можно было заставить противника забыть о себе, заставив дважды сменить цель и при этом не выстрелив в зоне его слышимости. Происходило это из-за того, что был только один указатель "thing->LastEnemy" -- с помощью него восстанавливалась ненависть монстра к последнему запомненному врагу после смерти "thing->target". То есть при исчезновении/смерти и "thing->target", и "thing->LastEnemy", а также отсутствии "thing->LastHeard" (последний актор, которого монстр слышал) объект просто терял цель. |
|
|
2 |
7 |
1 |
|
|
| |
BeeWen Lieutenant Colonel
| | 3456 |
Doom Rate: 1.61 Posts quality: +858 |
Отправлено: 03.06.23 13:12:19 | | | В недавно вышедшей конверсии "Гриниан" в мар 22 некоторые монстры нейтральны к игроку и сразу атакуют других монстров, только их завидев. К тому же эти дружественые монстры не отображаются в статистике карты. Каким образом это было сделано не совсем понятно, причём в самом ВАД-е нет каких либо файлов, обуславливающих командами подобный эффект. | |
|
1 |
1 |
1 |
|
|
| |
Michael63 Lieutenant Colonel
| 3856 |
Doom Rate: 2 Posts quality: +842 |
Отправлено: 03.06.23 14:06:43 | | | BeeWen пишет: | Каким образом это было сделано не совсем понятно |
Так вроде ведь "Гриниан" - твоя работа. Или нет? Или у тебя случайно получился такой эффект с монстрами, а как это получилось - не совсем понятно? |
Рейтинг сообщения: +1, отметил(и): N00b |
|
1 |
1 |
2 |
|
|
| |
N00b Chief Petty Officer
| 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 03.06.23 14:25:35 | | | BeeWen
У первого манкубуса надет флаг +FRIENDLY.
Если открыть карту как под Boom-формат, то он не будет виден, потому что флаг появился в MBF.
---
Другой вопрос --- это откуда у соседних thing-ов такие большие числа стоят во флагах (да и у этого самого манкубуса)... Возможно, специфика ещё какого-то порта.
---
Эффект вряд ли получился случайно, просто карты делались давно и в другом редакторе, в котором скорее всего не было разделения флагов в бинарном формате на ванильные, Boom-овские, флаги из MBF и т. п. А теперь в UDB оно есть. |
Рейтинг сообщения: +1, отметил(и): JSO x |
|
| |
BeeWen Lieutenant Colonel
| | 3456 |
Doom Rate: 1.61 Posts quality: +858 |
Отправлено: 03.06.23 23:54:07 | | | Michael63 пишет: | Или у тебя случайно получился такой эффект с монстрами, а как это получилось - не совсем понятно? |
Этот проект конверсия оригинального "Гериан 2", древней попытки сделать нечто среднее между Еретиком и Думом, используя продвинутые для того времени портовые фишки. Моя работа заключалась большей частью в переработке геометрии карт, внешнего оформления и более разнообразного игрового процесса. А этот эффект дружественых монстров старался обыграть более качественно, как и всё остальное.
N00b
Благодарю за разъяснение этого феномена, у меня в редакторе подобных опций не было. |
Рейтинг сообщения: +1, отметил(и): N00b |
|
1 |
1 |
1 |
|
|
| |
theleo_ua = Colonel =
| 4794 |
Doom Rate: 1.8 Posts quality: +1032 |
Отправлено: 04.06.23 14:23:18 | | | N00b пишет: | Причина та же, по которой имп не атакует импа. |
вопрос именно в том, где в коде это прописано (где в коде зскрипта, если это зскрипт, или с++ если это с++), т.е. кинуть ссылку на сам код либо скинуть этот код копипастой
ведь в зскрипт коде импа и кибера нет такой строки как "species cyberdemon" / "species doomimp"
N00b пишет: | Вроде бы это от pain chance не зависит, объясняется threshold. Создай в билдере вот такую карту:
сразу выстрели в барана, скройся за углом, подожди 10 секунд, снова выгляни и дождись атаки импа. У барона низкий pain chance, поэтому с вероятностью около 80% при попадании импа по барону барон не перейдёт в стейт боли. И тем не менее он после этого в любом случае будет бить импа. |
проверил на гздуме - да, барон агрится на импа без painchance, но я точно помню что в думе/еретике/хексене встречал случаи когда урон нанесен но монстр не агрился в принципе, если такие случаи повторятся, тогда я сделаю видеодемонстрацию этого момента
Добавлено спустя 1 час 2 минуты 29 секунд:
Про painchance с дискорда
theleo_ua — Сегодня, в 14:20
@Dasperal тот факт, заагрится на монстр А на монстра Б при уроне монстра А от монстра Б, зависит от того, был ли монстр А в painchance в момент урона или нет?
real_kmeaw — Сегодня, в 15:20
Зависит от того, в каком состоянии находится threshold timer. Изначально (в idle state) там 0, и монстр сразу меняет свою цель на атакующего. Затем туда записывается 100 и таймер тикает до нуля - в это время монстр не может сменить свою цель. Есть исключения из этого правила - монстры не восстают против боссов, на некоторых (Arch-vile) не действует threshold timer, а в Heretic все бьют всех после смерти игрока.
Painchance тут по-другому работает - если монстра кто-то ударил, и рандом выпал меньше painchance, то монстру ставится флаг JUSTHIT. Когда монстр будет проверять, в кого можно пустить projectile, то при этом флаге ему будет достаточно видеть противника. А при обычной проверки цели он помимо видимости будет проверять reactiontime и расстояние.
theleo_ua — Сегодня, в 15:24
в каких случаях в таймер пишется 100?
real_kmeaw — Сегодня, в 15:25
В тот момент, когда там был 0 и мы сменили цель.
Это защита от слишком частого переключения цели - то есть не переключать цель чаще, чем раз в 100 тиков. | |
|
3 |
1 |
|
|
| |
N00b Chief Petty Officer
| 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 04.06.23 15:29:11 | | | theleo_ua
В моём сообщении (на словах "в зрительный зал") ссылка на это место в коде Linux Doom, максимально близкого к оригиналу. Я думал, речь идёт о старом Doom.
В GZDoom эта функция PIT_CheckThing служит для той же цели и находится вот в этом файле. Как можно видеть, к инфайту там относятся строки 1573 (функция GetSpecies) и 1639 (функция CanAttackHurt).
Перед определением GetSpecies есть комментарий, разъясняющий, что значение по умолчанию свойства Species для монстра --- это самый "старший" класс монстров, от которых он наследуется (т. е. у этого класса родительский монстром уже не является). Кибер или имп наследуются от класса Actor, который монстром не является, и по умолчанию у них будут Species "Cyberdemon" и Species "DoomImp" соответственно. А вот рыцарь наследуется от барона, у них обоих Species "BaronOfHell".
---
Кстати, по последнему сообщению --- как это
| монстры не восстают против боссов |
? А что же тогда происходит в комнате с баронами на MAP08? Или под боссами имеется в виду не +BOSS, а что-то специфичное для Heretic/Hexen? |
|
|
| |
siealex = Sergeant Major =
| 642 |
Doom Rate: 1.86 Posts quality: +52 |
Отправлено: 04.06.23 17:31:31 | | | | мастермайнд мастермайнда атакует, проверял на map32 hell revealed 2 |
Согласен, регулярно стравливаю их друг с другом в известном месте в оригинальном Doom II. Кто хорошо помнит карты, во всём думе такое место только одно. |
|
|
| |
theleo_ua = Colonel =
| 4794 |
Doom Rate: 1.8 Posts quality: +1032 |
Отправлено: 04.06.23 18:22:31 | | | N00b пишет: | А что же тогда происходит в комнате с баронами на MAP08? Или под боссами имеется в виду не +BOSS, а что-то специфичное для Heretic/Hexen? |
кстати, в еретике монстры не агрятся на дспарила и он не агрится на монстров, и я пока не понял почему
по киберу в гздуме и ванили понял, большое спасибо | |
|
3 |
1 |
|
|
| |