40oz Posted September 23, 2011 as in can they accidentally bite something they aren't supposed to? Like with a Partial Invisibility or something? 0 Share this post Link to post
Koko Ricky Posted September 23, 2011 I could have sworn I saw it happen on PSX Final Doom. 0 Share this post Link to post
Sigvatr Posted September 23, 2011 This will be the longest thread ever. 0 Share this post Link to post
Face23785 Posted September 23, 2011 It can happen if you have the partial invisibility sphere. When they bite to the side instead of straight at you they may hit an imp or something. I've seen it happen, I don't remember which version though so it may not be present in all of them. 0 Share this post Link to post
PRIMEVAL Posted September 23, 2011 I guess in theory it would be possible. Unless the coding for melee is similar to that of Unreal's coding for melee where it doesn't matter where they face, as long as you're their "Target" they'll hit you at the right distance. 0 Share this post Link to post
Gez Posted September 23, 2011 Yes and no. Yes if you play with Doom v1.0 (aka 0.99), v1.1, v1.2, v1.3 or v1.4; or with GL/PrBoom+ v2.5.0.8+ in complevel 0. No if you play with Doom v1.5, v1.6, v1.666, v1.7, v1.7a, v1.8, v1.9 or AFAIK any other source port, barring the use of mods. 0 Share this post Link to post
Reisal Posted September 23, 2011 I've seen it happen in BrutalDoom towards other monsters. 0 Share this post Link to post
Mithran Denizen Posted September 23, 2011 Version 1.5 changes the Demon's attack from being a short-ranged hitscan to just using a simple distance check to their target instead. Since the partial invisibility effect isn't taken into account at all in that distance check, the blur sphere provides no benefit against demons or spectres. 0 Share this post Link to post
Quasar Posted September 23, 2011 I did once hear two demons or spectres infighting in v1.9, in E4M2. I have, however, never been able to explain it satisfactorily. It was a one-time glitch and I figure it might have been related to heap corruption, somehow. There are, after all, many Lost Souls on that map, and Lost Souls are the single most buggy feature in the entire game engine :P 0 Share this post Link to post
Megamur Posted September 24, 2011 Mithran Denizen said:Version 1.5 changes the Demon's attack from being a short-ranged hitscan to just using a simple distance check to their target instead. Since the partial invisibility effect isn't taken into account at all in that distance check, the blur sphere provides no benefit against demons or spectres. Once again proving that blur spheres are one of the worst power-ups ever. 0 Share this post Link to post
scalliano Posted September 24, 2011 I've seen it happen in ZDoom, dunno if that counts. 0 Share this post Link to post
Blastfrog Posted September 24, 2011 scalliano said:I've seen it happen in ZDoom, dunno if that counts. ZDoom uses the pre-1.5 behavior for monster melee. Speaking of which, why did id change that? 0 Share this post Link to post
Daiyu_Xiaoxiang Posted September 24, 2011 I havn't seen this happens before. But I do once see barons infight! 0 Share this post Link to post
Megamur Posted September 24, 2011 I've seen demons infight, but it was in v1.2. 0 Share this post Link to post
Technician Posted September 24, 2011 I've never seen it 'CAUSE THEY'RE DEAD! /Doom boner 0 Share this post Link to post
GreyGhost Posted September 24, 2011 Daiyu_Xiaoxiang said:But I do once see barons infight! Same here, I've also seen cacodemons infight and in both cases barrels were involved. 0 Share this post Link to post
Vermil Posted September 24, 2011 GreyGhost said:Same here, I've also seen cacodemons infight and in both cases barrels were involved. That would be this: http://doomwiki.org/wiki/Monster_infighting#Difficulties In the earliest versions of Doom v1.0-1.1, a barrel could also cause a monster to attack itself. http://doomwiki.org/wiki/Barrel_suicide I've also observed a Maulotaur in Heretic attacking itself (which is strangely, based off Doom v1.2). 0 Share this post Link to post
neubejiita Posted September 24, 2011 Vermil said:That would be this: http://doomwiki.org/wiki/Monster_infighting#Difficulties In the earliest versions of Doom v1.0-1.1, a barrel could also cause a monster to attack itself. http://doomwiki.org/wiki/Barrel_suicide I've also observed a Maulotaur in Heretic attacking itself (which is strangely, based off Doom v1.2). What would happen if a maulotaur hit one of those exploding green seed things and that hurt another maulotaur, would it turn on the first monster and fight, like the two barons in E1M8? Another question, I have seen a lost soul crash into a window frame and detonate a barrel nearby, was that splash damage from the impact? This was prboom 2.5.0. 0 Share this post Link to post
Gez Posted September 24, 2011 scalliano said:I've seen it happen in ZDoom, dunno if that counts. You were seeing the result of a some HateTarget script, or maybe some DEHACKED or DECORATE modification was in play. With the standard actors unchanged and without scripting involved, it simply cannot and will not happen. Sodaholic said:ZDoom uses the pre-1.5 behavior for monster melee. Stop smoking pot. It's not good for your neurons. DEFINE_ACTION_FUNCTION(AActor, A_SargAttack) { if (!self->target) return; A_FaceTarget (self); if (self->CheckMeleeRange ()) { int damage = ((pr_sargattack()%10)+1)*4; P_DamageMobj (self->target, self, self, damage, NAME_Melee); P_TraceBleed (damage, self->target, self); } } See? FaceTarget, CheckMeleeRange, P_DamageMobj. No line being traced except for the blood decals. It's not a hitscan, just a range check. 0 Share this post Link to post
Gez Posted September 24, 2011 Yeah, blasted monsters hurt each others if they collide. You can trigger infighting this way. You can also kill them by repeatedly sending them against each others or against the floor. Of course, Doom, whether pre- or post1.5, did not feature the disc of repulsion. :p 0 Share this post Link to post
Hellbent Posted September 26, 2011 40oz said:as in can they accidentally bite something they aren't supposed to? Like with a Partial Invisibility or something? I thought you were trying to be cheeky in the 'just learned' thread, but this is actually a really good question. Sigvatr said:This will be the longest thread ever. deservedly so 0 Share this post Link to post
Megamur Posted September 26, 2011 Hellbent said:I thought you were trying to be cheeky in the 'just learned' thread, but this is actually a really good question. And I think Mithran Denizen answered that a few posts up. The short answer: no. 0 Share this post Link to post
Blastfrog Posted September 27, 2011 Gez said:Stop smoking pot. It's not good for your neurons. Huh, must've gotten bad info. I know ZDoom does a few things more similarly to earlier versions of Doom, can't remember what though. (I think one of the things had to do with monster sight checks or something) GoatLord said:I could have sworn I saw it happen on PSX Final Doom. That would be because PSX Doom is based on Jaguar Doom, which in turn is based on version 1.2. 0 Share this post Link to post
Graf Zahl Posted September 27, 2011 Sodaholic said:Huh, must've gotten bad info. I know ZDoom does a few things more similarly to earlier versions of Doom, Only the sight checking - but only because the old method is a lot faster. 0 Share this post Link to post
Encryptic Posted September 27, 2011 Technician said:I've never seen it 'CAUSE THEY'RE DEAD! /Doom boner Schrodinger's Demon: There's no way to know if the demons are infighting or not unless you open the box. 0 Share this post Link to post
Leo Sosnine Posted October 2, 2011 Saw that once in whole my life, about 15 years ago demons fighting each other on map23 "barrels o' fun". Never i was able to reproduce that and don't remember which version I played 0 Share this post Link to post
fraggle Posted October 2, 2011 This is the source of the action function that demons/spectres use when attacking:void A_SargAttack (mobj_t* actor) { int damage; if (!actor->target) return; A_FaceTarget (actor); if (P_CheckMeleeRange (actor)) { damage = ((P_Random()%10)+1)*4; P_DamageMobj (actor->target, actor, actor, damage); } }For those of you who can't read C, the key line is the one that says "P_DamageMobj". The demon attacks the other player / monster that it has registered as its "target" - this typically happens when it sees or hears a player, or another monster attacks it. Therefore, by this reasoning, it shouldn't ever be possible for demons or spectres to instigate in-fighting. Even if you're using an invisibility sphere, the direction the demon is facing doesn't matter - it isn't taken into account when the attack is made. I'm happy to be proven wrong though. 0 Share this post Link to post
Quasar Posted October 2, 2011 For those who are curious, here is the decompiled version of Doom 0.99's A_SargAttack:void __fastcall A_SargAttack(void *actor) { signed __int64 v1; // qax@2 if ( *((_DWORD *)actor + 30) ) { A_FaceTarget(); *(_DWORD *)&v1 = P_Random(); *((_DWORD *)&v1 + 1) = (_DWORD)v1 >> 31; P_LineAttack(4 * v1 % 10 + 4); } } The junk with the >> 31 is due to the modulus operator (%) causing an idiv instruction to appear in the assembly code, requiring setup of edx:eax as such:cseg01:0002A1E1 mov edx, eax cseg01:0002A1E3 mov ecx, 0Ah cseg01:0002A1E8 sar edx, 1Fh cseg01:0002A1EB idiv ecx 0 Share this post Link to post