ChamesyGaming Posted August 1, 2018 (edited) Hey all Can someone please refer me to a way of making a custom monster, basically I want to make a Cyberdemon that shoots BFG rounds is slightly different colored and twice as large and twice as strong (though I do know how to do simple stuff like height and health via basic DECORATE modifications) Im very new to all this so I apologize im probably one of many that ask this a lot. Thank you! Edited August 5, 2018 by ChamesyGaming 0 Share this post Link to post
Aquila Chrysaetos Posted August 1, 2018 https://zdoom.org/wiki/Creating_new_monsters_or_other_complex_items It would also be easy enough to make this monster in DECORATE using inheritance and changing his missile state. I also assuming you want him twice as large with twice the health. actor BFGCyberdemon : Cyberdemon 10000 { Health 8000 Height 220 Radius 80 Speed 24 //50% faster than base cyberdemon Scale 2 //This will make the sprite twice as large +DONTTHRUST //This will prevent your projectiles from making him move states: { Missile: CYBR E 6 A_FaceTarget CYBR F 20 A_SpawnProjectile ("BFGBall") //This is the action to call for custom missile attacks. goto See } } 2 Share this post Link to post
ChamesyGaming Posted August 1, 2018 GREAT! thank you Aquila that should be perfect ill let you know if i get stuck or anything, really appreciate it! 0 Share this post Link to post
ChamesyGaming Posted August 1, 2018 Success! I used the DECORATE method. Now I just might need to figure out how to move the projectile sprite up a bit so it doesnt look like he is shooting BFG rounds out from his groin 1 Share this post Link to post
Aquila Chrysaetos Posted August 1, 2018 (edited) This function should fix that: CYBR F 20 A_SpawnProjectile ("BFGBall", 96) Change that number 96 until the projectile height looks proper. It should appear 96 units above the floor with the function above. 2 Share this post Link to post
ChamesyGaming Posted August 1, 2018 Is there any way to reduce the 3 shot burst to just 1 shot? Im kinda liking the challenge of dodging 3 BFG rounds but kinda not as well. Just curious if that is infact possible as well 1 Share this post Link to post
Aquila Chrysaetos Posted August 1, 2018 The original code I wrote above makes the cyberdemon shoot only once. Just copy that Missile state and replace the one you have and he'll shoot once. 0 Share this post Link to post
ChamesyGaming Posted August 1, 2018 Okay yeah I see that solved it now I know how to add more or less attacks now, this has made it so much easier to just ask the specifics instead of rooting around trying to find the answer and I have learnt a lot already. COOL! 2 Share this post Link to post
Zord Posted August 1, 2018 32 minutes ago, Aquila Chrysaetos said: The original code I wrote above makes the cyberdemon shoot only once. Just copy that Missile state and replace the one you have and he'll shoot once. Also he can made something like this: ... Missile: TNT1 A 0 A_Jump(128,"See") CYBR E 6 A_FaceTarget CYBR F 20 A_SpawnProjectile ("BFGBall",96,-25) Loop ... For ChamesyGaming, that will made your BFG Cyberdemon attack loop. And he have chance to stop attack loop 1 Share this post Link to post
Aquila Chrysaetos Posted August 1, 2018 About half the time he'll shoot again, and Chamesy made it clear he wanted it to shoot one shot. 0 Share this post Link to post
Zord Posted August 1, 2018 2 minutes ago, Aquila Chrysaetos said: About half the time he'll shoot again, and Chamesy made it clear he wanted it to shoot one shot. Oh... Dont read topic, sorry >< 0 Share this post Link to post
Scypek2 Posted August 1, 2018 1 hour ago, Zord said: Also he can made something like this: ... Missile: TNT1 A 0 A_Jump(128,"See") CYBR E 6 A_FaceTarget CYBR F 20 A_SpawnProjectile ("BFGBall",96,-25) Loop ... For ChamesyGaming, that will made your BFG Cyberdemon attack loop. And he have chance to stop attack loop A more appropriate way to implement a looping monster attack would be A_MonsterRefire. It makes the monster check if you're still within reach before shooting, and variations of this function is what all continuously shooting enemies (Spider Mastermind, Arachnotron, Chaingunner...) use. 2 Share this post Link to post
ChamesyGaming Posted August 2, 2018 12 hours ago, Scypek2 said: A more appropriate way to implement a looping monster attack would be A_MonsterRefire. It makes the monster check if you're still within reach before shooting, and variations of this function is what all continuously shooting enemies (Spider Mastermind, Arachnotron, Chaingunner...) use. Okay so would I wright it out like this -> TNT1 A 0 A_MonsterRefire (128, "See") been having a bit of a play around and I think im liking this behavior the best so far -> Missile: CYBR E 6 A_FaceTarget CYBR F 20 A_SpawnProjectile ("BFGBall", 96, -25) TNT1 A 0 A_MonsterRefire (128, "See") Goto See Im not having it loop as it is too much to deal with I think. This setup seems to make it so that he is slightly more aggressive than having it setup like this -> Missile: CYBR E 6 A_FaceTarget CYBR F 20 A_SpawnProjectile ("BFGBall") Goto See Which im liking, might just be having a placebo on me though and im just thinking he is slightly more aggressive not entirely sure haha Thanks everyone for your input! 0 Share this post Link to post
Scypek2 Posted August 2, 2018 4 hours ago, ChamesyGaming said: Okay so would I wright it out like this -> TNT1 A 0 A_MonsterRefire (128, "See") been having a bit of a play around and I think im liking this behavior the best so far -> Missile: CYBR E 6 A_FaceTarget CYBR F 20 A_SpawnProjectile ("BFGBall", 96, -25) TNT1 A 0 A_MonsterRefire (128, "See") Goto See Im not having it loop as it is too much to deal with I think. This setup seems to make it so that he is slightly more aggressive than having it setup like this -> Missile: CYBR E 6 A_FaceTarget CYBR F 20 A_SpawnProjectile ("BFGBall") Goto See Which im liking, might just be having a placebo on me though and im just thinking he is slightly more aggressive not entirely sure haha Thanks everyone for your input! Haha, yeah, I'm pretty sure that's placebo effect! A_MonsterRefire function already goes to See, so if you wanted a looped attack, you'd have to end the state with "goto missile" instead. But that would've made the cyberdemon a lot more aggressive, shooting constantly until you hide and then some! You mentioned you just want him to shoot once, so I was mostly replying to @Zord. 2 Share this post Link to post
ChamesyGaming Posted August 2, 2018 Haha okay yeah had a feeling, might clean that back up then if its no use being there. Still good to know though! But yeah just wanting him to shoot once each time he goes to attack. Is there a way to make him shoot a little more frequently when he sees you without it being a burst of shots? 1 Share this post Link to post
Scypek2 Posted August 2, 2018 According to https://zdoom.org/wiki/Actor_properties, you can do that with MinMissileChance property. "MinMissileChance 200" is the default attack frequency, and lower values mean more frequent attacks. 2 Share this post Link to post
ChamesyGaming Posted August 2, 2018 Legend thank you! I was actually having a play around with that at one point but didnt try using a lower number instead of a higher number 1 Share this post Link to post