area
A grouping of tiles into a logical space, mostly used by map editors
Vars | |
active_alarms | Alarm type to count of sources. Not usable for ^ because we handle fires differently |
---|---|
airalarms | A list of all air alarms in this area |
airlock_wires | Wire assignment for airlocks in this area |
always_unpowered | This gets overridden to 1 for space in area/. |
ambient_buzz | The background droning loop that plays 24/7 |
ambient_buzz_vol | The volume of the ambient buzz |
ambientsounds | A list of sounds to pick from every so often to play to clients. |
area_has_base_lighting | Whether this area has a currently active base lighting, bool |
area_lighting | What type of lighting this area uses |
area_limited_icon_smoothing | Typepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles. |
areasize | Size of the area in open turfs, only calculated for indoors areas. |
base_lighting_alpha | alpha 1-255 of lighting_effect and thus baselighting intensity. If you want this to be zero, use AREA_LIGHTING_NONE instead! |
base_lighting_color | The colour of the light acting on this area |
beauty | Beauty average per open turf in the area |
beauty_threshold | If a room is too big it doesn't have beauty. |
contained_turfs | List of all turfs currently inside this area. Acts as a filtered bersion of area.contents For faster lookup (area.contents is actually a filtered loop over world) Semi fragile, but it prevents stupid so I think it's worth it |
fire_detect | A var for whether the area allows for detecting fires/etc. Disabled or enabled at a fire alarm. |
firealarms | A list of all fire alarms in this area OR ADJACENT TO IT |
firedoors | A list of all fire locks in this area and on the border of this area. |
forced_ambience | Does this area immediately play an ambience track upon enter? |
lighting_effect | The mutable appearance we underlay to show light |
lights | All the lights in this area |
map_generator | This datum, if set, allows terrain generation behavior to be ran on Initialize() |
max_ambience_cooldown | Used to decide what the maximum time between ambience is |
min_ambience_cooldown | Used to decide what the minimum time between ambience is |
outdoors | For space, the asteroid, etc. Used with blueprints or with weather to determine if we are adding a new area (vs editing a station room) |
requires_power | Will objects this area be needing power? |
sound_environment | Used to decide what kind of reverb the area makes sound have |
spook_level | Used by ghosts to grant new powers. See /datum/component/spook_factor |
totalbeauty | All beauty in this area combined, only includes indoor area. |
turfs_to_uncontain | Contained turfs is a MASSIVE list, so rather then adding/removing from it each time we have a problem turf We should instead store a list of turfs to REMOVE from it, then hook into a getter for it There is a risk of this and contained_turfs leaking, so a subsystem will run it down to 0 incrementally if it gets too large |
Procs | |
AllowDrop | Causes a runtime error |
Destroy | Destroy an area and clean it up |
Entered | Call back when an atom enters an area |
Exited | Called when an atom exits an area |
LateInitialize | Sets machine power levels in the area |
New | Called when an area loads |
PlaceOnTopReact | A hook so areas can modify the incoming args (of what??) |
addStaticPower | Add a static amount of power load to an area |
adjust_spook_level | Adjusts the spook level and sends out a signal |
burglaralert | Raise a burglar alert for this area |
cannonize_contained_turfs | Ensures that the contained_turfs list properly represents the turfs actually inside us |
clear_usage | Clear all non-static power usage in area |
close_and_lock_door | Close and lock a door passed into this proc |
communicate_fire_alert | Called by airalarms and firealarms to communicate the status of the area to relevant machines |
create_area_lighting_objects | regenerates lighting objects for turfs in this area, primary use is VV changes |
drop_location | Causes a runtime error |
has_contained_turfs | Returns TRUE if we have contained turfs, FALSE otherwise |
on_joining_game | Called when a living mob that spawned here, joining the round, receives the player client. |
play_ambience | Attempts to play an ambient sound to a mob, returning the cooldown in deciseconds |
power_change | Called when the area power status changes |
powered | Returns int 1 or 0 if the area has power for the given channel |
reg_in_areas_in_z | Register this area as belonging to a z level |
removeStaticPower | Remove a static amount of power load to an area |
remove_area_lighting_objects | Removes lighting objects from turfs in this area if we have them, primary use is VV changes |
setup | Setup an area (with the given name) |
update_areasize | Set the area size of the area |
update_beauty | Divides total beauty in the room by roomsize to allow us to get an average beauty per tile. |
use_power | Add a power value amount to the stored used_x variables |
Var Details
active_alarms
Alarm type to count of sources. Not usable for ^ because we handle fires differently
airalarms
A list of all air alarms in this area
airlock_wires
Wire assignment for airlocks in this area
always_unpowered
This gets overridden to 1 for space in area/.
ambient_buzz
The background droning loop that plays 24/7
ambient_buzz_vol
The volume of the ambient buzz
ambientsounds
A list of sounds to pick from every so often to play to clients.
area_has_base_lighting
Whether this area has a currently active base lighting, bool
area_lighting
What type of lighting this area uses
area_limited_icon_smoothing
Typepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles.
areasize
Size of the area in open turfs, only calculated for indoors areas.
base_lighting_alpha
alpha 1-255 of lighting_effect and thus baselighting intensity. If you want this to be zero, use AREA_LIGHTING_NONE instead!
base_lighting_color
The colour of the light acting on this area
beauty
Beauty average per open turf in the area
beauty_threshold
If a room is too big it doesn't have beauty.
contained_turfs
List of all turfs currently inside this area. Acts as a filtered bersion of area.contents For faster lookup (area.contents is actually a filtered loop over world) Semi fragile, but it prevents stupid so I think it's worth it
fire_detect
A var for whether the area allows for detecting fires/etc. Disabled or enabled at a fire alarm.
firealarms
A list of all fire alarms in this area OR ADJACENT TO IT
firedoors
A list of all fire locks in this area and on the border of this area.
forced_ambience
Does this area immediately play an ambience track upon enter?
lighting_effect
The mutable appearance we underlay to show light
lights
All the lights in this area
map_generator
This datum, if set, allows terrain generation behavior to be ran on Initialize()
max_ambience_cooldown
Used to decide what the maximum time between ambience is
min_ambience_cooldown
Used to decide what the minimum time between ambience is
outdoors
For space, the asteroid, etc. Used with blueprints or with weather to determine if we are adding a new area (vs editing a station room)
requires_power
Will objects this area be needing power?
sound_environment
Used to decide what kind of reverb the area makes sound have
spook_level
Used by ghosts to grant new powers. See /datum/component/spook_factor
totalbeauty
All beauty in this area combined, only includes indoor area.
turfs_to_uncontain
Contained turfs is a MASSIVE list, so rather then adding/removing from it each time we have a problem turf We should instead store a list of turfs to REMOVE from it, then hook into a getter for it There is a risk of this and contained_turfs leaking, so a subsystem will run it down to 0 incrementally if it gets too large
Proc Details
AllowDrop
Causes a runtime error
Destroy
Destroy an area and clean it up
Removes the area from GLOB.areas_by_type and also stops it processing on SSobj
This is despite the fact that no code appears to put it on SSobj, but who am I to argue with old coders
Entered
Call back when an atom enters an area
Sends signals COMSIG_AREA_ENTERED and COMSIG_ENTER_AREA (to a list of atoms)
If the area has ambience, then it plays some ambience music to the ambience channel
Exited
Called when an atom exits an area
Sends signals COMSIG_AREA_EXITED and COMSIG_EXIT_AREA (to a list of atoms)
LateInitialize
Sets machine power levels in the area
New
Called when an area loads
Adds the item to the GLOB.areas_by_type list based on area type
PlaceOnTopReact
A hook so areas can modify the incoming args (of what??)
addStaticPower
Add a static amount of power load to an area
Possible channels *AREA_USAGE_STATIC_EQUIP *AREA_USAGE_STATIC_LIGHT *AREA_USAGE_STATIC_ENVIRON
adjust_spook_level
Adjusts the spook level and sends out a signal
burglaralert
Raise a burglar alert for this area
Close and locks all doors in the area and alerts silicon mobs of a break in
Alarm auto resets after 600 ticks
cannonize_contained_turfs
Ensures that the contained_turfs list properly represents the turfs actually inside us
clear_usage
Clear all non-static power usage in area
Clears all power used for the dynamic equipment, light and environment channels
close_and_lock_door
Close and lock a door passed into this proc
Does this need to exist on area? probably not
communicate_fire_alert
Called by airalarms and firealarms to communicate the status of the area to relevant machines
create_area_lighting_objects
regenerates lighting objects for turfs in this area, primary use is VV changes
drop_location
Causes a runtime error
has_contained_turfs
Returns TRUE if we have contained turfs, FALSE otherwise
on_joining_game
Called when a living mob that spawned here, joining the round, receives the player client.
play_ambience
Attempts to play an ambient sound to a mob, returning the cooldown in deciseconds
power_change
Called when the area power status changes
Updates the area icon, calls power change on all machinees in the area, and sends the COMSIG_AREA_POWER_CHANGE
signal.
powered
Returns int 1 or 0 if the area has power for the given channel
evalutes a mixture of variables mappers can set, requires_power, always_unpowered and then per channel power_equip, power_light, power_environ
reg_in_areas_in_z
Register this area as belonging to a z level
Ensures the item is added to the SSmapping.areas_in_z list for this z
removeStaticPower
Remove a static amount of power load to an area
Possible channels *AREA_USAGE_STATIC_EQUIP *AREA_USAGE_STATIC_LIGHT *AREA_USAGE_STATIC_ENVIRON
remove_area_lighting_objects
Removes lighting objects from turfs in this area if we have them, primary use is VV changes
setup
Setup an area (with the given name)
Sets the area name, sets all status var's to false and adds the area to the sorted area list
update_areasize
Set the area size of the area
This is the number of open turfs in the area contents, or FALSE if the outdoors var is set
update_beauty
Divides total beauty in the room by roomsize to allow us to get an average beauty per tile.
use_power
Add a power value amount to the stored used_x variables