World
Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke
The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visiblity
The world /New() is the root of where a round itself begins
Procs | |
ImmediateInvokeAsync | Immediately Invoke proctocall on thingtocall, with waitfor set to false |
---|---|
New | World creation |
send_cross_comms | Sends a message to a given cross comms server by name (by name for security). |
Proc Details
ImmediateInvokeAsync
Immediately Invoke proctocall on thingtocall, with waitfor set to false
Arguments:
- thingtocall Object to call on
- proctocall Proc to call on that object
- ... optional list of arguments to pass as arguments to the proc being called
New
World creation
Here is where a round itself is actually begun and setup.
- db connection setup
- config loaded from files
- loads admins
- Sets up the dynamic menu system
- and most importantly, calls initialize on the master subsystem, starting the game loop that causes the rest of the game to begin processing and setting up
Nothing happens until something moves. ~Albert Einstein
For clarity, this proc gets triggered later in the initialization pipeline, it is not the first thing to happen, as it might seem.
Initialization Pipeline: Global vars are new()'ed, (including config, glob, and the master controller will also new and preinit all subsystems when it gets new()ed) Compiled in maps are loaded (mainly centcom). all areas/turfs/objs/mobs(ATOMs) in these maps will be new()ed world/New() (You are here) Once world/New() returns, client's can connect. 1 second sleep Master Controller initialization. Subsystem initialization. Non-compiled-in maps are maploaded, all atoms are new()ed All atoms in both compiled and uncompiled maps are initialized()
send_cross_comms
Sends a message to a given cross comms server by name (by name for security).