Away sites
What exactly is an away site?It's a kind of map template which:
Er, what's a map template?It's a datum you can define in the code ( How do I make away sites?tl;dr you make your .dmm files, then you write a new map template datum ( BUT HEED MY RUMINATIONS While mappingDon't use map-specific typesAway maps are expected to work whether you're on a specific main map. That means your map mustn't use areas, turfs, objects, mobs or datums that are specific to any main map. You can use content packages to define content that is only included for particular maps, as the away sites are tested with all packages enabled. e.g. you can use To make life easier, you can uncheck your main map definition then recompile, to make sure these types aren't available while you're mapping. Don't re-use area types from other mapsExcept for, like, (Now that's just areas! Other stuff might be ok. Except very map-specific stuff as noted!) Re-using areas is a shortcut, but it's bad for testability, and you can't guarantee that the area you re-use isn't loaded up and in active use on the server - in which case it'll hideously merge together with its brother in terms of stuff like air alarms, APCs, etc. Suddenly your derelict starship is randomly receiving power from another zlevel. Not good. Avoid. Make your own area types! If in doubt, ask #codershuttle on IRC/#coding on Discord. If you're doing multi-z, make a different .dmm file for each zlevelNot exactly a technical requirement, but it makes things easier in terms of collaboration. See how it's done with Afterwards (or during, I'm not a cop)Make sure you've got a .dm file for all your stuffLike Make a map template datum thereThe game will read this to learn about your new shiny away sites, including what .dmm files it needs to load, how much it 'costs' to spawn (usually 1, increase for more performance-heavy away sites). Ask devs or read code if unsure. Include your .dm file in any main map file, and away sites testingThat's Don't include it, or the .dmms, in the .dmeThat means don't have any of your away map stuff checked in Dream Maker. It'll get included, as if by magic, via the work you did in the previous step! That's it! You're probably done! Unless the unit tests explode on you. Some of the stuff I put in my map isn't behaving properly!The map loader works best when everything it's spawning does all its initialisation work in |