odysseyofnoises Posted December 30, 2013 So I'm trying to add a new monster into my wad. It's an orange cacodemon that shoots arachnotron plasma (I'm using the cacolantern sprites). I'm replacing the SS nazi and I've already renamed the sprites to SSWV. I'll use pain elemental resurrection sprites or something like that for the attack sprites but for now I'm just trying to figure out how to get the sprites working like a regular orange cacodemon. So can someone finish defining the sprites so that what I have works like a regular cacodemon? And I'll be able to figure out how to change the attack later. Here's a link to the wad: http://speedy.sh/YmuMb/resonance.zip 0 Share this post Link to post
Foxpup Posted December 30, 2013 I'm going to answer your second question first, since a) it's harder; and b) I don't have time at the moment to download the WAD, so I can't see what you're doing with the sprites anyway. You can't use the pain elemental resurrection frames for a new attack because they don't have code pointers (the things that tell the game what to actually "do" on each frame) and you can't add a code pointer to a frame that doesn't already have one (or remove a code pointer from one that does). In order to create a new attack, you need to replace frames that have code pointers. Since you're already replacing the SS guy, why not use his attack frames for the new attack? I've whipped up a DEH patch to demonstrate how it's done (warp to MAP31 or MAP32 to see the new monster in action). Patch File for DeHackEd v3.0 # Note: Use the pound sign ('#') to start comment lines. Doom version = 20 Patch format = 6 Thing 24 (Cacotron) #I'm using the original cacodemon frames here, just to demonstrate the new attack Initial frame = 502 Hit points = 400 First moving frame = 503 Alert sound = 42 Injury frame = 507 Pain chance = 128 Pain sound = 26 #We don't need to change the far attack frame, since we're re-using the SS guy's frames for the new attack Death frame = 510 Exploding frame = 0 Death sound = 65 Width = 2031616 Mass = 400 Action sound = 77 Bits = 4211206 Respawn frame = 516 #These frames replace the SS guy's frames to use the original cacodemon attack sprites; if you've already replaced the original SS guy sprites, change the sprite numbers to 51 (SS guy) #Change the Duration of these frames to change the rate of fire (lower = faster) Frame 736 Sprite number = 40 Sprite subnumber = 32770 Duration = 3 Frame 737 Sprite number = 40 Sprite subnumber = 32771 Duration = 4 Frame 738 Sprite number = 40 Sprite subnumber = 32770 Duration = 1 Next frame = 736 #Now to change the code pointers for the attacks frames, to replace the SS guy's attack with the arachnotron attack #There is no need to change the code pointer for Frame 736, since the original one (which makes monsters aim at you before attacking) is what we want anyway #This code pointer is from the arachnotron attack frames, and is the one that shoots the actual plasma ball Pointer 414 (Frame 737) Codep Frame = 648 #This code pointer is from the spider mastermind attack frames and reused for the arachnotron, as makes the monster stop shooting and start chasing you again if you break the line of sight (I think? Whatever, it works anyway) Pointer 415 (Frame 738) Codep Frame = 618 0 Share this post Link to post
odysseyofnoises Posted December 30, 2013 Oh yeah and I also forgot to mention that I am working in limit removing compatibility, NOT vanilla. So I don't have the same restrictions. Look at the green cacodemon, I used some of the pain elemental resurrection sprites to do his attack. Although you may be right about me not having to do that again with the orange cacodemon. Also I'd like the cacodemon to just shoot 5 arachnotron plasma cells and then go back to chase. 0 Share this post Link to post
Foxpup Posted December 30, 2013 odysseyofnoises said:Oh yeah and I also forgot to mention that I am working in limit removing compatibility, NOT vanilla. So I don't have the same restrictions. Look at the green cacodemon, I used some of the pain elemental resurrection sprites to do his attack. Oh yeah, another good reason to not reuse the resurrection sprites is that pain elementals can in fact be resurrected, if its corpse is crushed before it finishes exploding. odysseyofnoises said:Also I'd like the cacodemon to just shoot 5 arachnotron plasma cells and then go back to chase. Done.Patch File for DeHackEd v3.0 # Note: Use the pound sign ('#') to start comment lines. Doom version = 20 Patch format = 6 Thing 24 (Cacotron) Initial frame = 502 Hit points = 400 First moving frame = 503 Alert sound = 42 Injury frame = 507 Pain chance = 128 Pain sound = 26 Death frame = 510 Exploding frame = 0 Death sound = 65 Width = 2031616 Mass = 400 Action sound = 77 Bits = 4211206 Respawn frame = 516 Frame 736 Sprite number = 40 Sprite subnumber = 32770 Duration = 4 Frame 737 Sprite number = 40 Sprite subnumber = 32771 Duration = 4 Frame 738 Sprite number = 40 Sprite subnumber = 32771 Duration = 4 Frame 739 Sprite number = 40 Sprite subnumber = 32771 Duration = 4 Frame 740 Sprite number = 40 Sprite subnumber = 32771 Duration = 4 Frame 741 Sprite number = 40 Sprite subnumber = 32771 Duration = 4 Next frame = 503 #This is the cacodemon's chase frame; don't forget to change it to whatever you use for your monster's chase frame, or it'll turn into a cacodemon between shots Pointer 414 (Frame 737) Codep Frame = 648 Pointer 415 (Frame 738) Codep Frame = 648 Pointer 416 (Frame 739) Codep Frame = 648 Pointer 417 (Frame 740) Codep Frame = 648 Pointer 418 (Frame 741) Codep Frame = 648 0 Share this post Link to post
odysseyofnoises Posted December 30, 2013 The pain elemental actually being resurrected is one of the rarest phenomena in all of the doom universe. I only saw it happen for the first time in my life just recently. The cacotron seems to be working, except that it's not using the orange cacolantern sprites I provided. How do I change that? 0 Share this post Link to post
odysseyofnoises Posted December 30, 2013 aaaahhhh nevermind, I can't get it to work. This is a mess. I think someone's going to have to actually open the wad file and work on this. 0 Share this post Link to post
Foxpup Posted December 30, 2013 I still haven't seen your WAD, but assuming your SSWV* sprites correspond exactly with HEAD* sprites, this works:Patch File for DeHackEd v3.0 # Note: Use the pound sign ('#') to start comment lines. Doom version = 20 Patch format = 6 Thing 24 (Green Armor) ID # = 2018 Initial frame = 802 Hit points = 1000 First moving frame = 0 Alert sound = 0 Injury frame = 0 Pain chance = 0 Pain sound = 0 Far attack frame = 0 Death frame = 0 Exploding frame = 0 Death sound = 0 Speed = 0 Height = 1048576 Action sound = 0 Bits = 1 Respawn frame = 0 Thing 44 (Cacotron) ID # = 84 Initial frame = 726 Hit points = 400 First moving frame = 727 Alert sound = 42 Injury frame = 742 Pain chance = 128 Pain sound = 26 Far attack frame = 736 Death frame = 752 Death sound = 65 Speed = 8 Width = 2031616 Height = 3670016 Mass = 400 Action sound = 77 Bits = 4211206 Respawn frame = 756 Frame 726 Next frame = 726 Frame 727 Sprite subnumber = 0 Duration = 3 Next frame = 727 Frame 736 Sprite subnumber = 32770 Duration = 3 Frame 737 Sprite subnumber = 32771 Duration = 4 Frame 738 Sprite subnumber = 32771 Frame 739 Sprite subnumber = 32771 Duration = 4 Frame 740 Sprite subnumber = 32771 Frame 741 Sprite subnumber = 32771 Duration = 4 Next frame = 727 Frame 742 Sprite subnumber = 4 Frame 743 Sprite subnumber = 4 Next frame = 744 Frame 744 Sprite subnumber = 5 Duration = 6 Next frame = 727 Frame 745 Sprite subnumber = 7 Next frame = 749 Frame 746 Next frame = 748 Frame 747 Sprite subnumber = 9 Next frame = 746 Frame 748 Sprite subnumber = 11 Frame 749 Sprite subnumber = 8 Next frame = 747 Frame 752 Sprite subnumber = 6 Next frame = 745 Frame 756 Sprite subnumber = 11 Next frame = 758 Frame 758 Sprite subnumber = 10 Frame 759 Sprite subnumber = 9 Frame 760 Sprite subnumber = 8 Frame 761 Sprite subnumber = 7 Frame 762 Sprite subnumber = 6 Next frame = 727 Pointer 404 (Frame 727) Codep Frame = 176 Pointer 414 (Frame 737) Codep Frame = 648 Pointer 415 (Frame 738) Codep Frame = 648 Pointer 416 (Frame 739) Codep Frame = 648 Pointer 417 (Frame 740) Codep Frame = 648 Pointer 418 (Frame 741) Codep Frame = 648 You'll notice that the Cacotron now replaces the Green Armor, and the Green Armor replaces the SS guy (in the Thing table, not the Frame table; Cacotron still uses SS guy frames). This is because I just realised that if you replace an SS guy with another enemy, it'll still drop a clip when killed, and there is no way around this. The Cacotron still has the same Map ID as the SS guy, and the Armor still has its original Map ID, so from a mapping perspective everything is the same, the only difference is that Armor now drops clips when killed (a non-issue because Armor can't be killed). Aside from that, all I've done is change the Sprite subnumbers and Next frames to match the cacodemon's animation (and changed the thing to use these frames). 0 Share this post Link to post
odysseyofnoises Posted December 30, 2013 Aha! Now it works. I didn't have the sprites correspond to the HEAD sprites at first, so I renamed them and it seems to work now without conflicting with any of my other stuff, just have to test it a little more to be 100% sure. hahaha that'd be funny: an armor monster that drops clips. 0 Share this post Link to post
odysseyofnoises Posted December 30, 2013 I only see one minor issue: The death and attack sequences look like they are skipping a sprite. Like for the attack, it looks like the cacotron is opening its mouth too quickly and without the first mouth opening sprite, and for the death frame it just looks too quick. They're both pretty small issues though, or it could just be me. EDIT: just found that the resurrection frames look weird 0 Share this post Link to post
Foxpup Posted December 30, 2013 odysseyofnoises said:I only see one minor issue: The death and attack sequences look like they are skipping a sprite. Like for the attack, it looks like the cacotron is opening its mouth too quickly and without the first mouth opening sprite, and for the death frame it just looks too quick. They're both pretty small issues though, or it could just be me. EDIT: just found that the resurrection frames look weird Oops. You're right, I skipped a frame on the attack animation. And I forgot to change the duration on the death/resurrection frames. This should work perfectly now:Patch File for DeHackEd v3.0 # Note: Use the pound sign ('#') to start comment lines. Doom version = 20 Patch format = 6 Thing 24 (Green Armor) ID # = 2018 Initial frame = 802 Hit points = 1000 First moving frame = 0 Alert sound = 0 Injury frame = 0 Pain chance = 0 Pain sound = 0 Far attack frame = 0 Death frame = 0 Exploding frame = 0 Death sound = 0 Speed = 0 Height = 1048576 Action sound = 0 Bits = 1 Respawn frame = 0 Thing 44 (Cacotron) ID # = 84 Initial frame = 726 Hit points = 400 First moving frame = 727 Alert sound = 42 Injury frame = 742 Pain chance = 128 Pain sound = 26 Far attack frame = 736 Death frame = 752 Death sound = 65 Speed = 8 Width = 2031616 Height = 3670016 Mass = 400 Action sound = 77 Bits = 4211206 Respawn frame = 756 Frame 726 Next frame = 726 Frame 727 Sprite subnumber = 0 Duration = 3 Next frame = 727 Frame 736 Sprite subnumber = 1 Duration = 4 Next frame = 753 Frame 737 Sprite subnumber = 32771 Duration = 4 Frame 738 Sprite subnumber = 32771 Frame 739 Sprite subnumber = 32771 Duration = 4 Frame 740 Sprite subnumber = 32771 Frame 741 Sprite subnumber = 32771 Duration = 4 Next frame = 727 Frame 742 Sprite subnumber = 4 Frame 743 Sprite subnumber = 4 Next frame = 744 Frame 744 Sprite subnumber = 5 Duration = 6 Next frame = 727 Frame 745 Sprite subnumber = 7 Duration = 8 Next frame = 749 Frame 746 Duration = 8 Next frame = 748 Frame 747 Sprite subnumber = 9 Duration = 8 Next frame = 746 Frame 748 Sprite subnumber = 11 Frame 749 Sprite subnumber = 8 Duration = 8 Next frame = 747 Frame 752 Sprite subnumber = 6 Duration = 8 Next frame = 745 Frame 753 Sprite subnumber = 2 Duration = 4 Next frame = 737 Frame 756 Sprite subnumber = 11 Duration = 8 Next frame = 758 Frame 758 Sprite subnumber = 10 Duration = 8 Frame 759 Sprite subnumber = 9 Duration = 8 Frame 760 Sprite subnumber = 8 Duration = 8 Frame 761 Sprite subnumber = 7 Duration = 8 Frame 762 Sprite subnumber = 6 Duration = 8 Next frame = 727 Pointer 404 (Frame 727) Codep Frame = 176 Pointer 414 (Frame 737) Codep Frame = 648 Pointer 415 (Frame 738) Codep Frame = 648 Pointer 416 (Frame 739) Codep Frame = 648 Pointer 417 (Frame 740) Codep Frame = 648 Pointer 418 (Frame 741) Codep Frame = 648 0 Share this post Link to post
odysseyofnoises Posted December 30, 2013 There we go. It works perfectly now. Thanks for your patience. I'll be sure to mention you in my text file/credits lump 0 Share this post Link to post
GreyGhost Posted January 5, 2014 For editing DeHackEd patches it's probably no easier than using Notepad, unless Gez snuck something in I haven't noticed. 0 Share this post Link to post