drygnfyre Posted April 24, 2017 In an early Doom 2 beta, the pain elementals were capable of attacking the player with fireballs, just like the cacodemons. Is there any way for modern WADs to bring back this behavior, and if so, do any notable WADs make use of this? 0 Share this post Link to post
Nevander Posted April 24, 2017 A good idea might be to do a JumpIfCloser distance check to see if they should fire a fireball if close range or spit out a Lost Soul if medium to long range. This would also stop the Pain Elemental from becoming helpless at very close range. 0 Share this post Link to post
silentzorah Posted April 24, 2017 13 minutes ago, drygnfyre said: In an early Doom 2 beta, the pain elementals were capable of attacking the player with fireballs, just like the cacodemons. Is there any way for modern WADs to bring back this behavior, and if so, do any notable WADs make use of this? Huh, I might have to implement this sometime. Could be fun. Do you recall what kind of fireball it was? Or was it simply the Caco's fireball? 0 Share this post Link to post
drygnfyre Posted April 24, 2017 3 minutes ago, silentzorah said: Huh, I might have to implement this sometime. Could be fun. Do you recall what kind of fireball it was? Or was it simply the Caco's fireball? Quote Early screenshots of the game show the pain elemental firing the same fireball as the cacodemon, although the lost soul is still visible inside of it. If Doom II is loaded into the Doom 1.4 beta executable, pain elementals use the exact same attack sequence as cacodemons, including the ability to bite at melee range. 0 Share this post Link to post
scifista42 Posted April 25, 2017 The change would be so simple that it could be done even in vanilla compatible DEHACKED, by replacing "PainAttack" with "HeadAttack" on the Pain Elemental's attack state. 1 Share this post Link to post
Unholypimp1n Posted April 25, 2017 Oh wow I didnt know that pain elementals use to have an actual attack, so glad that was changed though. 0 Share this post Link to post
Grain of Salt Posted April 25, 2017 Well, since it's fun to speculate... Presumably reusing HeadAttack was only ever a placeholder, since, as mentioned above, the emerging lost soul is drawn in the frames of the attack. On the other [unlikely] hand, maybe the PE was originally intended as a straightforward counterpart of the cacodemon with slightly different stats? Perhaps offering a variation with higher HP in the same way the HK offers a baron variation with lower? (In reality the PE has the same stats as the caco, but I can dream.) 1 Share this post Link to post
SFoZ911 Posted April 25, 2017 I still think it should have a biting attack to prevent players from cheesing the fight. Would be more interesting. 3 Share this post Link to post
drygnfyre Posted April 26, 2017 16 hours ago, Sky said: I still think it should have a biting attack to prevent players from cheesing the fight. Would be more interesting. I like this idea, or the one about having the pain elemental spit a fireball if it's within close range (otherwise it spits out a lost soul when farther away). 0 Share this post Link to post
scifista42 Posted April 26, 2017 (edited) Biting attack would be cheese-able too, as there would be a range in which the PE's target would be too far to bite, but too close to successfully spawn a Lost Soul between the PE and the target. I'd rather make the Lost Soul that gets spawned, and immediately dies when the space in front of the PE is blocked by the player's or some monster's body, hurt the respective player and/or monster in the process - I mean, this dying Lost Soul's mere touch would be the thing that causes damage, not another attack. 0 Share this post Link to post
Not Jabba Posted April 26, 2017 (edited) 9 hours ago, scifista42 said: Biting attack would be cheese-able too, as there would be a range in which the PE's target would be too far to bite, but too close to successfully spawn a Lost Soul between the PE and the target. Is this inherently true, or could you just change the range of the attacks? I guess the minimum range for the Lost Soul attack would be slightly greater than the Lost Soul's diameter, but that diameter is pretty small. 0 Share this post Link to post
40oz Posted April 27, 2017 I think it's more than likely that the programming for firing lost souls as an attack was still in development, so to create this monster they simply duplicated the cacodemon with a new thing ID and started plopping them around the maps. Its even possible that the pain elemental didn't even work as intended until late into Doom 2's development, considering how haphazardly they are used in the game, and in some of the maps they don't even fucking work. MAP09: The Pit for example. 4 Share this post Link to post
Doomkid Posted April 27, 2017 The PEs not working on some maps is one of the most annoying things about what is otherwise my favorite iwad. Also if the PE bit at close range (the range for melee attacks is hardcoded) the fight would most certainly be more threatening, the effect would be identical to standing in a Caco's face which is of course very deadly. It's extremely rare for a monster to enter it's melee state in a position where it can't hit you. 0 Share this post Link to post
NaturalTvventy Posted April 28, 2017 (edited) On 4/25/2017 at 4:41 AM, Sky said: I still think it should have a biting attack to prevent players from cheesing the fight. Would be more interesting. For my next map I've actually given pain elementals a biting attack, as well as made them cause explosive damage when they die, right before they spawn the lost souls. The code: actor PElExplodeDamage { Radius 4 Height 2 Speed 0 Projectile States { Spawn: TNT1 A 1 TNT1 A 1 A_Explode (50, 96) stop } } actor PainElementalNEIS2 : PainElemental Replaces PainElemental { States { Melee: PAIN D 5 A_FaceTarget PAIN E 5 A_FaceTarget PAIN F 5 A_FaceTarget PAIN F 0 A_CustomMeleeAttack(random(1, 10) * 6) Goto See Death: PAIN H 8 Bright PAIN I 8 Bright A_Scream PAIN J 8 Bright PAIN K 8 Bright A_SpawnItem ("PElExplodeDamage", 0, 40) PAIN L 8 Bright A_PainDie PAIN M 8 Bright Stop } } Edited April 28, 2017 by NaturalTvventy 0 Share this post Link to post
scifista42 Posted April 28, 2017 (edited) On 26. dubna 2017 at 6:33 PM, Not Jabba said: Is this inherently true, or could you just change the range of the attacks? I guess the minimum range for the Lost Soul attack would be slightly greater than the Lost Soul's diameter, but that diameter is pretty small. It's not inherently true, but a truly safe melee range would have to be a lot greater than you assume, to the point that I'd consider it unnaturally big. Firstly, melee range is measured from the monster's center to the target's center. Secondly, PE spawns its Lost Soul in a fixed distance in front of itself (again measured from its center), and here is the formula for the distance: prestep = 4*FRACUNIT + 3*(actor->info->radius + mobjinfo[MT_SKULL].radius)/2; PE's radius is 31 map units, Lost Soul's radius is 16 map units, so the distance is 4+3*(31+16)/2 = 74.5 map units. A safe melee range would have to be this number + the Lost Soul's radius at angle 45° (which is 22,65) + the target's radius at angle 45° (which is unpredictable, as the target can be anything, but if it's the player, it'd be also 22.65), so in case of the player being the target, the (almost) safe range would have to be 119,8 map units. For comparison, the default melee range is 60, and once again note that this is the distance from the monster's center to the target's center, not from the edge of their hitbox. Also, the abovementioned (almost) safe range would still fail if the Lost Soul couldn't make a step in any direction from the place where it was spawned, in which case it'd die just as if it was physically blocked. That's why I'd prefer the dying Lost Soul to be damaging itself, rather than changing the PE's attack depending on distance from its target. Edited April 28, 2017 by scifista42 1 Share this post Link to post
Molestingcyberdemons Posted August 7, 2018 On 4/27/2017 at 7:41 PM, 40oz said: I think it's more than likely that the programming for firing lost souls as an attack was still in development, so to create this monster they simply duplicated the cacodemon with a new thing ID and started plopping them around the maps. Its even possible that the pain elemental didn't even work as intended until late into Doom 2's development, considering how haphazardly they are used in the game, and in some of the maps they don't even fucking work. MAP09: The Pit for example. The reason for them not firing in the pit is because if you go a certain route and avoid the room with the stairs and the shit ton of lost souls or the courtyard area with the secret full of lost souls due to hardware limitations of the time and no to completely overwhelm the player there is a 21 lost soul per map limit therefore pain elementals cant spawn lost souls unless the number is less that 20. 0 Share this post Link to post
kb1 Posted August 8, 2018 On 4/28/2017 at 5:22 AM, scifista42 said: ...That's why I'd prefer the dying Lost Soul to be damaging itself, rather than changing the PE's attack depending on distance from its target. You read my mind. Also, if the lost souls must be limited to 21, I would have gone with max_lost_souls = 21 + lost_souls_at_map_start The code changes for Doom2 caused a lot of problems: PEs: Lost souls are no longer counted as monsters PEs: Lost souls flying outside the map Revenants: Messing up demos Archvile: Making 0-height ghosts Mancubus: Missiles flying through walls Doom 2 missiles: Activating linedefs I'm sure I missed some. They blazed through the new code, at id's normal "write it once and let it roll" speed. 0 Share this post Link to post
scifista42 Posted August 8, 2018 4 hours ago, kb1 said: The code changes for Doom2 caused a lot of problems: Mancubus: Missiles flying through walls Technically, 1) Baron projectiles did this in Doom 1 already, Mancubus ones are just more likely to do it because they're even faster, and 2) it's not a result of any code change, but of the high speed + low radius stats of the projectile type. 0 Share this post Link to post
kb1 Posted August 9, 2018 14 hours ago, scifista42 said: Technically, 1) Baron projectiles did this in Doom 1 already, Mancubus ones are just more likely to do it because they're even faster, and 2) it's not a result of any code change, but of the high speed + low radius stats of the projectile type. 1. Didn't know that. 2. It's the *lack* of code changes on the Mancubus. At one time, all of these effects were known, and care was taken to prevent issues. But, by the time it came to write Doom 2, I think they just slapped the new monsters in, and, instead of going back a doing thorough checks against the rest of the game, they just did some testing, and released it, totally forgetting out previous issues and quick fixes. And, I don't really blame them all that much: We're still finding bugs decades later, after all. I'm just making observations, and, as usual, trying to gain better understandings of how id operated, and what it was like to work on this iconic game. Everything I study screams "code marathon" and "bust it out as quick as possible" mentality. 0 Share this post Link to post