Daedalus Dock - Modules - TypesVar Details - Proc Details

area

A grouping of tiles into a logical space, mostly used by map editors

Vars

active_alarmsAlarm type to count of sources. Not usable for ^ because we handle fires differently
airalarmsA list of all air alarms in this area
airlock_wiresWire assignment for airlocks in this area
always_unpoweredThis gets overridden to 1 for space in area/.
ambient_buzzThe background droning loop that plays 24/7
ambient_buzz_volThe volume of the ambient buzz
ambientsoundsA list of sounds to pick from every so often to play to clients.
area_has_base_lightingWhether this area has a currently active base lighting, bool
area_lightingWhat type of lighting this area uses
area_limited_icon_smoothingTypepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles.
areasizeSize of the area in open turfs, only calculated for indoors areas.
base_lighting_alphaalpha 1-255 of lighting_effect and thus baselighting intensity. If you want this to be zero, use AREA_LIGHTING_NONE instead!
base_lighting_colorThe colour of the light acting on this area
beautyBeauty average per open turf in the area
beauty_thresholdIf a room is too big it doesn't have beauty.
contained_turfsList 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_detectA var for whether the area allows for detecting fires/etc. Disabled or enabled at a fire alarm.
firealarmsA list of all fire alarms in this area OR ADJACENT TO IT
firedoorsA list of all fire locks in this area and on the border of this area.
forced_ambienceDoes this area immediately play an ambience track upon enter?
lighting_effectThe mutable appearance we underlay to show light
lightsAll the lights in this area
map_generatorThis datum, if set, allows terrain generation behavior to be ran on Initialize()
max_ambience_cooldownUsed to decide what the maximum time between ambience is
min_ambience_cooldownUsed to decide what the minimum time between ambience is
outdoorsFor 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_powerWill objects this area be needing power?
sound_environmentUsed to decide what kind of reverb the area makes sound have
spook_levelUsed by ghosts to grant new powers. See /datum/component/spook_factor
totalbeautyAll beauty in this area combined, only includes indoor area.
turfs_to_uncontainContained 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

AllowDropCauses a runtime error
DestroyDestroy an area and clean it up
EnteredCall back when an atom enters an area
ExitedCalled when an atom exits an area
LateInitializeSets machine power levels in the area
NewCalled when an area loads
PlaceOnTopReactA hook so areas can modify the incoming args (of what??)
addStaticPowerAdd a static amount of power load to an area
adjust_spook_levelAdjusts the spook level and sends out a signal
burglaralertRaise a burglar alert for this area
cannonize_contained_turfsEnsures that the contained_turfs list properly represents the turfs actually inside us
clear_usageClear all non-static power usage in area
close_and_lock_doorClose and lock a door passed into this proc
communicate_fire_alertCalled by airalarms and firealarms to communicate the status of the area to relevant machines
create_area_lighting_objectsregenerates lighting objects for turfs in this area, primary use is VV changes
drop_locationCauses a runtime error
has_contained_turfsReturns TRUE if we have contained turfs, FALSE otherwise
on_joining_gameCalled when a living mob that spawned here, joining the round, receives the player client.
play_ambienceAttempts to play an ambient sound to a mob, returning the cooldown in deciseconds
power_changeCalled when the area power status changes
poweredReturns int 1 or 0 if the area has power for the given channel
reg_in_areas_in_zRegister this area as belonging to a z level
removeStaticPowerRemove a static amount of power load to an area
remove_area_lighting_objectsRemoves lighting objects from turfs in this area if we have them, primary use is VV changes
setupSetup an area (with the given name)
update_areasizeSet the area size of the area
update_beautyDivides total beauty in the room by roomsize to allow us to get an average beauty per tile.
use_powerAdd 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