Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
traversd

Boom script - kill monsters (non-boss on any map) to perform action

Recommended Posts

EDIT 25/05/11 (a simpler way)
I had a rethink about this setup earlier in the week and came up with a much simpler setup using linedef tag 3 (to close the door sector), 247 (to move the voodoo doll by sector height change) and 242 (to hide the effect in the level).

Here is a demo map --> http://t.underworldgamers.com/wp-content/uploads/td-monsterkilltest3.zip

It still has the same limits as before in that monsters must remain within the sector and in most cases the player cannot enter the sector until after the effect has occurred and you then re-open the door/raise the ceiling. I suppose besides some mini-boss type scenarios you could use it in place of having to find a number of shoot-able switches for a secret and instead have the player need to kill particular monsters to perform an action like open a secret etc.

******************************************************************




Since getting back into mapping I've seen quite a few "how to make something happen after I kill a monster" threads, mostly for zdoom or other advanced port features, or how to use some dehacked tricks to do the same.

I had a thought tonight how it might be possible in boom using a couple of voodoo scripts. Here is the result test map --> http://t.underworldgamers.com/wp-content/uploads/td-monsterkilltest1.zip

Phml surmises how it works well below:

- voodoo activates a closing door action immediately, that is stopped as long as monsters are alive as they're in the door (merged) sector.
- once that door is closed, it changes the path of another voodoo doll triggering the wanted action.


It's possibly been done before (and better) but was cool to get it going under my own steam. It has it's limits. Ideally you need to prevent the monster(s) leaving the "trigger" sector completely. If it hasn't hopefully it can make for some interesting mini boss situations in maps away from the standard boss maps.

I've tested it on prboom+ and GZDoom so hopefully it works on others.

EDIT:I'd recommend a sky area because monsters like AVs and Revenants are much taller in sprite than actual height so they lose there heads if you have a non-sky ceiling ;)

Here is a 2nd test map, this time using a self-referencing sector for a non-sky ceiling and it's been made to be accessible to the player before and after the script. Note: if the player is in the sector when the last monster is killed the script will activate once the player leaves the sector.

http://t.underworldgamers.com/wp-content/uploads/td-monsterkilltest2.zip

cheers,
Travers

Share this post


Link to post

Pretty clever. Seems hard to use in normal maps because you'd want the monsters to be in an area unaccessible from the player, wouldn't you ?

Unless I misunderstood the way it works. Correct me if I'm wrong :
- voodoo activates a closing door action immediately, that is stopped as long as monsters are alive as they're in the door (merged) sector.
- once that door is closed, it changes the path of another voodoo doll triggering the wanted action.

Share this post


Link to post

Nice idea and you can always raise monster heights using a dehacked / bex patch.

Share this post


Link to post

You can also do this by adding the KeenDeath codepointer to the relevant monsters in dehacked, to cause door tag 666 (or was it 667?) to turbo open upon the death of all monsters of their type in the map. It's limited in its usage, but then, so is your method, so it evens out I guess :P

Share this post


Link to post

In freak4.wad map07 you'd kill a cyberdemon in a blood pool and its corpse would float out under a bridge and trigger a linedef. It was a neat idea, but naturally I managed to get the corpse caught on a wall, which broke the level...

Share this post


Link to post

The test map is pretty basic to check the concept. Your description of how it works is right Phml. I can see it fitting into normal maps as lots of map have monsters to kill in inaccessible areas. Plus from what I worked out last night the player can enter the 'trigger' sector and fight the monsters, but will delay the action until they too leave the sector. You'd then want to raise the ceiling again to allow the player to re-enter the sector.

Essel - I guess a benefit of this setup is you can be specific about what must be killed (ie: it doesn't have to be the last of a particular type to execute the script via tag 666 & 667. And being a boom map trick can be used in mappacks where dehacked changes might break other maps in the set.

I've had some more thoughts about it this morning and I'll look to use it in the 1994 tune-up project. Also using a sky ceiling might not be required if a self-referencing sector is used.

cheers,
travers

Share this post


Link to post

Wonderful. This is almost perfect for a boss fight I wanted to make in one of my maps. Thank you very much.

Share this post


Link to post

Here is a 2nd test map, this time using a self-referencing sector for a non-sky ceiling and it's been made to be accessible to the player before and after the script. Note: if the player is in the sector when the last monster is killed the script will activate once the player leaves the sector.

http://t.underworldgamers.com/wp-content/uploads/td-monsterkilltest2.zip

Cheers,
travers

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×