Jump to content

Creating an infighting exception (like the Arch-Vile)


Amaruψ

Recommended Posts

So currently, I'm trying to create a boss-rush map, and one of the key things I think would improve the boss fights is to include a bunch of their cohorts to lead. I mean, these are mighty demons who lead the invasions after all. One problem is, Cybie's splash damage and Mastermind's haphazard spread often turns their friends immediately against them, and it's just sort of problematic. 

 

I want to know if there's any way to edit them in order to make an exception for enemies not to retaliate against these boss monster's attacks, which in the first place is a tad bit silly if you think about it. Can it be done the vanilla way with DECORATE, without any fancy zscripting or if it can be done with zscripting, what exactly should I be doing? Do note that I'm not quite experience with zscripting so, it's a bit hard for me to grasp on.

 

Thanks in advance for any assistance!

Share this post


Link to post

Your options depend partially on what map format you are using. Doom/Doom 2 format (AKA Vanilla), Heretic, Boom, GzDoom, UDMF. The more advanced the format the more options you have available.

 

So, what map format are you using?

Share this post


Link to post
2 minutes ago, Stabbey said:

Your options depend partially on what map format you are using. Doom/Doom 2 format (AKA Vanilla), Heretic, Boom, GzDoom, UDMF. The more advanced the format the more options you have available.

 

So, what map format are you using?

 

GZDoom UDMF, of course.

Share this post


Link to post

I think the +NOTARGET flag should do what you want. Probably something like this (untested):

 

ACTOR CyberdemonNotarget : Cyberdemon replaces Cyberdemon
{
    +NOTARGET
}

 

Edited by plums

Share this post


Link to post

Haven't tried it yet, but given how notarget works in GZDoom, it might not work as attacking a monster with notarget on still causes them to retaliate. I should test it out xD

Share this post


Link to post

Oh right, also add the +NOINFIGHTING flag then.

 

Also, obligatory "you should learn to do this in zscript if you plan on doing more complex stuff in the future." This should be extremely simple to implement as zscript instead of decorate, so maybe it would be a good way to dip your toes into zscript?

Edited by plums

Share this post


Link to post
2 minutes ago, Amaruψ said:

attacking a monster with notarget on still causes them to retaliate

There's a different flag for that - NOINFIGHT, NOINFIGHTING or something in this vein, I believe. Zdoom wiki page on Actor Flags to the resque.

Share this post


Link to post

Just to explicitly sum up what other people have touched on, you can independently toggle whether a monster will attack other monsters as part of infighting (+NOTARGET) and whether other monsters will attack it as part of infighting (+NOINFIGHTING). So in other words, you can have a few different behaviors:

A monster that has +NOTARGET but doesn't have +NOINFIGHTING will behave like the Arch-Vile or Maulotaur -- it will retaliate against any monster that hits it accidentally, but they won't fight back.

 

A monster that has +NOINFIGHTING but doesn't have +NOTARGET will do the opposite (monsters will retaliate against it, but it won't fight back). I've never seen this done and don't think any stock monster behaves this way in any iwad, but you could use it to create a very lowly or timid minion monster, for instance.

 

A monster with both flags will not participate in infighting at all. A monster with neither flag will behave like normal monsters.

 

It's actually a pretty cool way to differentiate different monster "personalities" -- some are chaotic while others are relentless and focused, some are fearful of their overlords while others are feared by their minions.

Edited by Not Jabba

Share this post


Link to post
3 hours ago, Stabbey said:

Your options depend partially on what map format you are using.

 

Map format has nothing to do with modifying monster behavior. The target source port is the bigger factor as to what options OP has available. Either way, something like this is only doable in the ZDoom family of source ports with either DECORATE or ZScript to the best of my knowledge. Maybe also DeHackEd depending on the compatibility target.

Share this post


Link to post
14 minutes ago, MFG38 said:

Either way, something like this is only doable in the ZDoom family of source ports with either DECORATE or ZScript to the best of my knowledge. Maybe also DeHackEd depending on the compatibility target. 

Very doable in MBF21 with thing groups.

Edited by plums

Share this post


Link to post
20 minutes ago, MFG38 said:

 

Map format has nothing to do with modifying monster behavior.

 

So you can make a no-infighting Cyberdemon in a Boom or Vanilla map?

Share this post


Link to post

If you run that map in a ZDoom based port, yes. Gameplay mods do such things regularly. Of course that monster won't do what you intend on ports not supporting the feature being used.

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...