Mechadon Posted January 21, 2013 I've got some more dehacked inquiries that maybe someone can help me out with :) Now that I've got a working projectile replacing the Lost Soul, I'm looking to rework the behavior of the boss monster for Supplice (which will use this new projectile). I'm trying my best to think of ways to make him interesting and challenging. The RandomJump codepointer that MBF gives me is definitely giving me some interesting ideas (which I've put to use in some other monsters already). But I really want to make this new projectile for the boss a bit different from the stock projectiles. So I decided to see if it would be possible to create a projectile that acts somewhat like the trailing fireballs that the Motherdemon fires in Doom 64. Not so much to create trailing fireballs per se, but the effect they have when they hit the player; they cause you to jump into the air much like an Archvile attack. I tried a couple of things like tossing the Archvile attack codepointer in the death states of test projectiles and then also making a melee state and doing a similar thing there. But those didn't work, which didn't surprise me. Interestingly one of those methods actually hurt the attacker instead of the player (which doesn't help me, but was funny to see). Here's a test I threw together: http://mekworx.the-powerhouse.net/mekastuff/wads/archprojtest.zip I'm not sure if this is possible because the attack is a targeted attack (like a hitscan perhaps?) and not really an effect that can be applied willy-nilly. Perhaps there is a way to hack around that and get it to work on the death of a projectile, but I'm not sure what else to try. If I can't get it to work though, I've got some other ideas I should be able to get working without any problems. Anyways, thanks in advance for any insight anyone can shed! 0 Share this post Link to post
Obsidian Posted January 21, 2013 What about replacing the Spawn Cubes with a monster that dies when it hits you and has VileAttack in it's death states? From what I see the VileAttack codepointer only works with enemies. I recall a boss monster in 32 Inch Nails that uses VileAttack in it's pain frames, which might be a good place to start. I wish I could be a little more help, but I'm still getting to grips with DeHackEd myself. ;) 0 Share this post Link to post
Vermil Posted January 21, 2013 IIRC, the spawn cubes must have the NOCLIP flag in Vanilla Doom, or else the game will crash on spawning one. I don't know if MBF and all ports (some ports do fix it) fix that. 0 Share this post Link to post
Gez Posted January 21, 2013 Mechadon said:Interestingly one of those methods actually hurt the attacker instead of the player (which doesn't help me, but was funny to see). It's because it was a monster codepointer, not a projectile codepointer. Mobjs have a "target" pointer which monsters use to store their enemy, but missiles use it to store their shooter. So the arch-vile has an attack codepointer that directly inflicts damage on its target, and if you put that on the projectile, it'll directly inflict damage on the monster that shot it. 0 Share this post Link to post
Mechadon Posted January 22, 2013 Obsidian said:What about replacing the Spawn Cubes with a monster that dies when it hits you and has VileAttack in it's death states? From what I see the VileAttack codepointer only works with enemies. I recall a boss monster in 32 Inch Nails that uses VileAttack in it's pain frames, which might be a good place to start. Actually this works! My tests were using a regular projectile (the Imp fireball) but I forgot that my new projectile is actually a monster-turned projectile (the Lost Soul in this case). So in this particular case it works! Well sort of...there's a tiny oversight with this entire idea that I didn't realize until after I tried it out. I was hoping for the projectile to only do the VileAttack when it hits the player/other monsters. In fact, it will do it anytime it enters its death state, regardless of it hitting the player or a wall. So if it hits a wall, your going to get tossed up in the air and take damage seemingly out of nowhere. I kind of forgot about that...oops :P. I'm pretty sure there is no way to get around that. I have another idea I'm hoping to try involving the VileAttack codepointer that should work, thankfully. It would have been neat to see if this idea would have been possible in dehacked (well, I guess it kind of is!), but this was still an interesting thing to experiment with. Thanks for the help again guys! 0 Share this post Link to post
Obsidian Posted January 22, 2013 Just another idea...what about having it like this: First meelee attack frame: VileAttack Second meelee attack frame: Explode As soon as it gets to you it'll launch you into the air and hit you with explosion damage while simultaneously killing itself. Try that out. :) 0 Share this post Link to post
printz Posted January 22, 2013 Indeed, melee… I haven't tested it out, but what about it? In order to enter melee, monsters would have to be using Chase states. Normally this is useless on projectiles, because chases use different scales to projectile movement. But in case of this particular setup, the Lost Soul speed is independent of monster speed. Maybe you can set speed to 0 and make this "projectile" call Chase every moment, and enter a melee sequence on enemy proximity? Do note that vanilla Doom is particularly sensitive about this and may crash. MBF (vanilla) might be more robust, but modern ports are even more robust and tend to fix bugs that would crash vanilla MBF. 0 Share this post Link to post
Obsidian Posted January 22, 2013 printz said:Indeed, melee… I haven't tested it out, but what about it? In order to enter melee, monsters would have to be using Chase states. Normally this is useless on projectiles, because chases use different scales to projectile movement. But in case of this particular setup, the Lost Soul speed is independent of monster speed. Maybe you can set speed to 0 and make this "projectile" call Chase every moment, and enter a melee sequence on enemy proximity? Do note that vanilla Doom is particularly sensitive about this and may crash. MBF (vanilla) might be more robust, but modern ports are even more robust and tend to fix bugs that would crash vanilla MBF. It's fortunate that Supplice is for Boom then. :) I was also thinking something else: monsters usually follow a somewhat zigzag pattern while in Chase, but maybe you could substitute every second Chase parameter with FaceTarget. It's probably a similar setup to the Doom64 Lost Soul, come to think of it. The result would be a "projectile" that tracks the player, launches them up in the air and hits them with an explosion. *Evil scientist laugh* 0 Share this post Link to post
Obsidian Posted January 23, 2013 I'm getting quite good at this DeHackEd foolery. =D http://www.mediafire.com/?ps43ki2hh03w0db This compiles some of the ideas I've had. The constant FaceTarget one didn't work how I planned, but the other ideas seem to work nicely. You can still shoot the projectile ATM, I was too lazy to set the Shootable flag off. Hopefully this helps. 0 Share this post Link to post
Mechadon Posted January 24, 2013 I was ready to write this off, but good idea on using the melee state for this! I can't seem to get it to work using the code printz sent me (it seems to be set up different), but your method seems to work very well. I wonder if it's possible to get this to work with this code - http://www.doomworld.com/vb/showthread.php?s=&postid=1138056#post1138056. Your hack is like a kamakazie Lost Soul, which is cool in itself, but it doesn't act like a projectile once it hits a wall. In my fallback idea, I actually ran into another problem where the projectile wouldn't always explode in certain situations. The most prominent being if it hit a weird spot like the top of a stair. This just seems to be a side effect of using the Lost Soul as a projectile unfortunately. I thought this might be another deal breaker, but I was able to get around it by setting up a RandomJump codepointer and having it go to it's death state eventually. This has lead me to create a sort of bomb projectile that will die when it hits a wall or a target OR go off a bit prematurely while in flight (or if it gets stuck). Now I'm not so sure how this setup will work with the VileAttack codepointer, although I guess I could set the RandomJump to skip that frame so it doesn't deal out-of-nowhere damage in those instances (only at melee). At any rate, yea I guess I'm stuck since I can't get it to work with my current projectile dehacked :P 0 Share this post Link to post
Gez Posted January 24, 2013 Obsidian said:It's fortunate that Supplice is for Boom then. :) Nope, it's for MBF. Mechadon said: Supplice is a Boom-compatible megawad for Doom II with the base port compatibility being MBF. MBF features aren't included in Boom, therefore it's an MBF mod. The RandomJump codepointer certainly won't work in Boom! Fortunately, PrBoom[+], [G]ZDoom, and Eternity (maybe Risen3D too?) are all compatible with the MBF dehacked features, so it shouldn't be a problem for most people. 0 Share this post Link to post
Mechadon Posted January 24, 2013 Yea, I escalated the base compatibility to MBF recently. Since we were already using MBF sky transfers, I didn't see much of a reason to stay with pure Boom. Some bonuses were new MBF dehacked features :) I haven't updated the project thread saying this yet because of lazy :P 0 Share this post Link to post
Obsidian Posted January 25, 2013 ^ See, it's his fault. :P There is one way you could use this idea decently: resprite the Lost Soul so it looks like a missile and call it a "Smart Missile". Heck, you could make a map where you're followed by a swarm of missiles and you have to get to the end before you're blown to smithereens. =D 0 Share this post Link to post
esselfortium Posted January 25, 2013 I just thought of a problem with the lost soul projectile: it'll be stopped by impassible and block monster lines. 0 Share this post Link to post
Obsidian Posted January 25, 2013 esselfortium said:I just thought of a problem with the lost soul projectile: it'll be stopped by impassible and block monster lines. Good point. Are there any flags in DeHackEd that can alter it decently? All I can think of is the "No clipping" flag or maybe the "Projectile" flag(although I suspect that'd wreck the rest of the DeHackEd stuff). Argh... 0 Share this post Link to post
Mechadon Posted January 25, 2013 esselfortium said:I just thought of a problem with the lost soul projectile: it'll be stopped by impassible and block monster lines. Yea that is true. There are also other issues with it like how they will get stuck on items, they can hurt their owner, they won't cause infighting, and there might be more limitations (like how they tend to get stuck on short ledges...something I noticed in my last few tests). This makes it really impracticable to use in anything other than controlled situations (ie. it would cause a ton of problems in more general situations if you used it on a monster like an Imp, etc). I was going to attempt to use this on a normal monster, but it would create a bunch of problems just for those reasons. So that's why I'm going to limit it to the boss only and craft the map and encounter around it the best I can. I guess my usage is more of a special case in this instance. It wouldn't work very well at all on normal monsters (although Obsidian's method is interesting and would be sort of a kamikaze monster, which I like and wouldn't suffer as bad from the limitations I think). Anyways, I'll have to keep on tweaking the monster to see what sort of projectile behavior I'm ultimately interested in. I still really like the VileAttack idea, but the other behavior I'm working on right now also seems to be pretty damn cool (it would be awesome if I could merge the two though...). I appreciate your help Obsidian! 0 Share this post Link to post
Obsidian Posted January 25, 2013 Welcome. :) By the way, how's Supplice progressing? It sounds like you're doing some awesome stuff with it. Let me know if you need a helping hand. 0 Share this post Link to post