Hey guys, been a while since I’ve visited but I’m getting back into mapping and ran into an interesting problem on one of the projects I’m working on, and I was hoping I could get some second opinions on it.
I’m playing around with an idea for a map that uses a system of func_movelinears and logic entities to create a smallish level whose layout randomly shifts throughout the round. The idea being that the sudden and unpredictable appearance/disappearance/modification of hallways, crawlspaces, walls, defendable areas, etc will keep players on their toes and ensure that no two rounds are identical.
I’ve been doing some playing around with small scale tests using only a few… lets call them pillars in lieu of a better term. I wanted to optimize things a fair bit (as opposed to having to work out the I/O chains for 100+ entities) and my original idea was to break up the map into zones and subzones and pillars selected randomly from a small hierarchy of logic_cases. A logic_timer would trigger the selection process, the end of the hierarchy would trigger a FireUser## output from the selected pillar and another logic_case would use a pickrandom and a !caller tag to output one of several possible SetPosition commands to the pillar.
The idea was that the selector hierarchy would optimize the process of randomly selecting pillars or groups of pillars and the use of the !caller tag with the logic_case determining the SetPosition value would mean I could use just one instance of the entity to output to any/all of the pillars.
Unfortunately the logic seems to be getting confused. Using the !caller tag causes the SetPosition output to go to the logic_case itself (like a !self tag) rather than the pillar which called it.
I realize it’s a rather unusual and specific problem, but if anyone has some ideas to solve the issue or suggestions to work around it, I’d love to discuss them with you.