/tg/ Station 13 - 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
active_firelocksA list of firelocks currently active. Used by fire alarms when setting their icons.
airlock_wiresWire assignment for airlocks in this area
alarm_managerWe use this just for fire alarms, because they're area based right now so one alarm going poof shouldn't prevent you from clearing your alarms listing. Fire alarms and fire locks will set and clear alarms.
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_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 0-255 of lighting_effect and thus baselighting intensity
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
fireDo we have an active fire alarm?
fire_detectA var for whether the area allows for detecting fires/etc. Disabled or enabled at a fire alarm, checked by fire locks.
firealarmsA list of all fire alarms in this area. Used by fire locks and burglar alarms to tell the fire alarm to change its icon.
firedoorsA list of all fire locks in this area. Used by fire alarm panels when resetting fire locks or activating all in an area
forced_ambienceDoes this area immediately play an ambience track upon enter?
lighting_effectsList of mutable appearances we underlay to show light In the form plane offset + 1 -> appearance to use
lightsList of all lights in our 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
mood_bonusBonus mood for being in this area
mood_messageMood message for being here, only shows up if mood_bonus != 0
mood_traitDoes the mood bonus require a trait?
network_area_idArea network id when you want to find all devices hooked up to this area
network_root_idDefault network root for this area aka station, lavaland, etc
outdoorsFor space, the asteroid, lavaland, 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
static_lightingWhether this area allows static lighting and thus loads the lighting objects
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
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
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
set_fire_effectSet the fire alarm visual affects in an area
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.
update_icon_stateUpdate the icon state of the area
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

active_firelocks

A list of firelocks currently active. Used by fire alarms when setting their icons.

airlock_wires

Wire assignment for airlocks in this area

alarm_manager

We use this just for fire alarms, because they're area based right now so one alarm going poof shouldn't prevent you from clearing your alarms listing. Fire alarms and fire locks will set and clear alarms.

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_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 0-255 of lighting_effect and thus baselighting intensity

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

Do we have an active fire alarm?

fire_detect

A var for whether the area allows for detecting fires/etc. Disabled or enabled at a fire alarm, checked by fire locks.

firealarms

A list of all fire alarms in this area. Used by fire locks and burglar alarms to tell the fire alarm to change its icon.

firedoors

A list of all fire locks in this area. Used by fire alarm panels when resetting fire locks or activating all in an area

forced_ambience

Does this area immediately play an ambience track upon enter?

lighting_effects

List of mutable appearances we underlay to show light In the form plane offset + 1 -> appearance to use

lights

List of all lights in our 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

mood_bonus

Bonus mood for being in this area

mood_message

Mood message for being here, only shows up if mood_bonus != 0

mood_trait

Does the mood bonus require a trait?

network_area_id

Area network id when you want to find all devices hooked up to this area

network_root_id

Default network root for this area aka station, lavaland, etc

outdoors

For space, the asteroid, lavaland, 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

static_lighting

Whether this area allows static lighting and thus loads the lighting objects

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

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

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

set_fire_effect

Set the fire alarm visual affects in an area

Allows interested parties (lights and fire alarms) to react

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.

update_icon_state

Update the icon state of the area

Im not sure what the heck this does, somethign to do with weather being able to set icon states on areas?? where the heck would that even display?

use_power

Add a power value amount to the stored used_x variables