I have a level that I want to do that to myself, as soon as I have the time!
There's a technique for generating randomness
- whether it be random targetting via trigger_changetarget, or anything else you want to trigger randomly - using, I think, an
env_beam with multiple targets, and multiple
func_buttons.
I thought there was a tutorial on TWHL I could link you to, but a quick glance through the list didn't reveal it to me...
Basically, you place an env_beam entity, place a single
info_target (with name "beam_source" or whatever) as starting point and multiple info_targets (name "beam_target") as ending points, arranged in a rough circle around the source. Use as many ending points as you have events
- or, in your case, info_teleport_destinations - and set the beam to cause damage. Between the source and each target, place a func_button with a damage value of 1 (so it will trigger its target when it takes damage.)
The env_beam, when triggered, will randomly select from its available start and/or end points
- in this case, randomly firing at one of your "beam_target" entities. The beam does damage, so it triggers the func_button between the two - which can then change the target of your trigger_teleport appropriately (or, of course, trigger any other random event you like...)
I don't remember who originally came up with this method
- but I'd like to thank them! It's really rather brilliant! ;)