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

boom multiple switches

Recommended Posts

i know it can be done in zdoom but what cunning* ways are there for forcing the player to press three switches to achieve something? in this case i want to start a crusher to kill a bad guy


* fakery, dummy sectors, pretend switches behind doors that look like other switches..

Share this post


Link to post

In Boom I like to do it using a voodoo doll for that. Just put the doll on a conveyor belt and put some doors on it. The switches open those doors. When all doors are opened the conveyor belt will push the voodoo doll over a line that will trigger the desired action.

Share this post


Link to post

oooh voodoo.. i've never done voodooo dolls before, where do i find out how? i've seen maps with them in before, just lots of player starts or something but how do you choose the actual player start etc?

Share this post


Link to post
cycloid said:

oooh voodoo.. i've never done voodooo dolls before, where do i find out how? i've seen maps with them in before, just lots of player starts or something but how do you choose the actual player start etc?



The actual player start is the latest (highest numbered one.) For some really good voodoo doll 'scripting' you can take a look at Phobos:Anomaly Reborn. It's doing incredible things with that.

Share this post


Link to post

You could also have a look at my Freedoom map02. In that map you are required to press 4 switches to open some bars at the exit door.

However, I'm not actually using a voodoo doll there, but a monster that triggers an generalized line action after all switches (and so all doors have opened) have been pressed. I did this to make the map playable in Legacy, although I'm thinking to remove it, after all Freedoom is supposed to be Boom compatible, and not Legacy compatible ;)

Using a voodoo doll gives you way more possibilities than using a monster and geleralized line actions though, since the player can activate any line action.

Share this post


Link to post
boris said:

You could also have a look at my Freedoom map02. In that map you are required to press 4 switches to open some bars at the exit door.

However, I'm not actually using a voodoo doll there, but a monster that triggers an generalized line action after all switches (and so all doors have opened) have been pressed. I did this to make the map playable in Legacy, although I'm thinking to remove it, after all Freedoom is supposed to be Boom compatible, and not Legacy compatible ;)

Using a voodoo doll gives you way more possibilities than using a monster and geleralized line actions though, since the player can activate any line action.



Another solution zo circumvent the voodoo doll problem in Legacy is to use a decoration object instead your monster. It's limited to generalized linedefs only (because it requires 'monsters can activate') so you cannot do everything that's possible with a voodoo doll but for simple things it solves the Legacy-compatibility problem. On the other hand: Why is this BUG still not fixed?!?

Share this post


Link to post

Like, dead bodies or lamps can trigger those lines too? What I did was to teleport the activating monster into the level after it triggered the line, but of course it's more comfortable if you don't have to do that. However, it's still even mroe comfortable if you can use voodoo dolls ;)

Share this post


Link to post

ok, got it working, nice, endless possibilities of multiple switching things, hehe. cheers you lot!

Share this post


Link to post

boris said:
Like, dead bodies or lamps can trigger those lines too?


Normal inanimate objects (like barrels, torches) can activate triggers when moved along a conveyor. I dubbed this "conveyor scripting" a while ago :) Some notable exceptions: only the player can activate light, type and texture change triggers.

Share this post


Link to post

hmz, how does the game determine if something's on a trigger or not? surely my door/switch/trigger line sectors take the voodoo doll out of the sector. i mean it works i'm just confused, oh and how do you control the speed of the conveyor. i'm using the line type "scroll and push contents" or something.


and as an aside, arent voodoo dolls technically a bug, i can imagine how, a player start is found -> ingame player is spawned and linked to master player object... new player start -> new ingame player obj -> original player master object thing, forget to delete old object and pointer. or someting. i find it strange that the voodoo doesnt mimick the player's movement etc.

it's all a bit, er, freaky, but fun too :-)

Share this post


Link to post
cycloid said:

and as an aside, arent voodoo dolls technically a bug, i can imagine how, a player start is found -> ingame player is spawned and linked to master player object... new player start -> new ingame player obj -> original player master object thing, forget to delete old object and pointer. or someting.


Strictly speaking, the voodoo doll is indeed a bug. But there are so many levels that use it is some way that any serious source port can't afford to remove it. (Why do you think so many people complain about Legacy because it removed them!)

i find it strange that the voodoo doesnt mimick the player's movement etc.


It's rather simple (though technical). In Doom a player consists of two objects: the thing that controls the position in the game (A) and the sprite being used if seen from another perspective and a separate object which among other things controls the player's movement (B). For this to work each must in some way have a reference of the other one.
It looks like:
A -> B
B -> A

If A is taking damage it's transferred to B
and if B is performing some movement it's transferred to A.

In case there's a voodoo doll (C) you get the following:
A -> B
B -> A
C -> B
but not: B -> C, which would be required to move the voodoo doll!)
But since the voodoo doll has a reference to B any damage it takes is transferred to the player (hence the name!)

Share this post


Link to post

yeah, that's what i was thinking when i was rambling just then. from a c coder's point of view the pointerage makes perfect sense now. so my map is going to be boom compatible, should i try not to use the player specifically to make it legacy compatible?

Share this post


Link to post
cycloid said:

yeah, that's what i was thinking when i was rambling just then. from a c coder's point of view the pointerage makes perfect sense now. so my map is going to be boom compatible, should i try not to use the player specifically to make it legacy compatible?



I think most of the people around here don't care. Who cares about those few who insist on limiting themselves to only one source port?

Share this post


Link to post

well i've done it so that it works without using the player now. the only conveyor script that i use the player for is a funky lighting thing, and that wont matter if it doesnt work too much

Share this post


Link to post

cycloid said:
hmz, how does the game determine if something's on a trigger or not? surely my door/switch/trigger line sectors take the voodoo doll out of the sector. i mean it works i'm just confused,

Rephrase your question(s), because I don't understand what you mean.

oh and how do you control the speed of the conveyor. i'm using the line type "scroll and push contents" or something.

RTFM :)

Share this post


Link to post

that manual things a bit confusing and clearly very old (use a utiility to change the tag number!?)


i have my scrolly sector and in it mini island sectors, 16 by 16, these house the linedefs that i use to trigger things as the voodoo doll passes over, and are also used for the scrolly blocking doors.

question: when does the voodoo dolll stop being *in* the scrolling sector, it seems to work ok though. is it because the player is wider than my mini sectors?

Share this post


Link to post

cycloid said:
that manual things a bit confusing and clearly very old (use a utiility to change the tag number!?)


Heh. With CLED, you can still use any old doom editor of choice instead of being confined to those few editors that in some way have support for these new triggers/tags. If you have such an editor it only makes things easier.

question: when does the voodoo dolll stop being *in* the scrolling sector, it seems to work ok though. is it because the player is wider than my mini sectors?


Player sprite needs at least a 40 units width to pass through. Pretty easy to check... just turn on the automap during playtesting and see if the voodoo doll is moving.

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
×