The mansion has been an idea floating around in my head for a very long time. I was toying with the idea of making a map that could be generated at runtime but there was no way to overcome the obstacle of the BSP needing to be compiled before loading the map (and trust me I tried every way I could). The next best thing given the limitations was to take an empty map and at runtime add everything at once. I wasn't sure if this was feasible or even possible so I set out testing. Some things I wanted:
-Actors that interacted with the world in such a way that they would not be distinguishable from more normal methods
-Actors that could be dynamically added or removed quickly and cleanly
-Actors that replicated correctly so that they performed the same online and off
-There are other, more esoteric desires for these to meet but they don't really matter for this more general discussion.
In a nutshell we were able to accomplish everything I wanted and the results are what you see in the mansion. If you open the map you see empty rooms and you have to trust me that there are no hidden actors and no tricks. The 'magic' of this mod is that the rooms are divided and controlled by actors called "RoomControllers". These are ZoneInfo actors with added code that function as a sort of funnel that allows the mod to load configurations of actors into the room at will. For pretty much 90% of the things you see in the map they all have a base class of Decoration. Deco is the most overlooked class in scripting because most people never get past switching off the bStatic setting. Once you do that then it becomes a VERY powerful base class and you can do a ton of things with it. Each of the reactive decos in the mansion was made to highlight some of the things you can do, with the bonus that they are all dynamic and can be moved/created/destroyed at will with no real penalty. That's partly why there is a bit of a disjointed feeling within the mansion. I made each deco to show a unique behavior so they don't congeal together into such a way that it has any sort of uniformity. That's partly due to the time constraints and partly to my lack of being talented enough to pull it off.
So let's take a look at what was done. Major spoilers ahead, this will ruin the map for you so read on knowing that. BTW, care was taken so that you never really see any of these changes happen. That was all by choice and doesn't need to be done that way, it just was added spookiness. Oh, and I coded it in such a way that if you try to cheat and watch things it stops. If you want I'll release a version that will allow you to see the room changes, etc. It's interesting to see behind the scenes on this. Now the items in the mansion...
Artwork and pictures
Spoiler
The artwork is dynamic. It has code in it to check to see if you are facing it. If you are not then it will change and give you a small audio clue (the warlord growl). When you look back you'll see it has changed. The people go from normal to zombie, the murals change, and the nail in the nose guy...well you should just see that one yourself
Spoiler
He knows when you are nearby and calls to you. When you get closer he calls and moves. Get too close and he...
Spoiler
He knows when you aren't looking at him and he fires a rocket at you. It can't hurt you.
Spoiler
Bump them. They all do different stuff, some do multiple things depending on number of times bumped
Spoiler
Growls when you run over it
Spoiler
If you bump it you hear a clue. Do what it says. If you don't you get the sad trombone sound so try again
Now this is how the map functions overall
Spoiler
Each room controller is in turn controlled by the mod. Each room has several 'layouts' and those are cycled every 15-20 seconds provided that 1) no one is in the room 2) no one in the map is in a cheating state. If those criteria are met then several times a minute the room is entirely turned over and a 'new' room is loaded. You can kind of see this in action by standing in the stairwells and grabbing both health pickups. Stand to one side and watch for the other health pickup to respawn. As soon as it does then the room above/below it has reloaded. Go look and you'll see a new layout or the one that was in there has refreshed (it's random choice).
So in closing if this map/mod appeal to you please feel free to use anything within it and I'm happy to help you set your map up to use it. I'll provide all the source code to anyone that wants it, and don't be afraid of it being complex or hard to use. Implementing my base class will let you make decorations do just about everything you need in ways you have never thought they could. I hope that's found to be useful.
Whew....Thanks for hanging in there to the end.