diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/CNAME b/CNAME new file mode 100644 index 000000000000..3c47c69fcca6 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +docs.cm-ss13.com diff --git a/area.html b/area.html new file mode 100644 index 000000000000..fb734fb37e0d --- /dev/null +++ b/area.html @@ -0,0 +1,57 @@ + + + + + + + /area - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Unknown + + + +

+ + + + + +

Vars

ambience_exteriorDefault sound to play as ambience for clients entering the area
flags_areaBitfield of special area features
sound_environmentDefault sound environment to use for the area, as list or int BYOND preset: http://www.byond.com/docs/ref/#/sound/var/environment

Procs

get_sound_ambienceReturns the correct ambience sound track for a client in this area
+

Var Details

ambience_exterior + + + + +

+

Default sound to play as ambience for clients entering the area

flags_area + + + + +

+

Bitfield of special area features

sound_environment + + + + +

+

Default sound environment to use for the area, as list or int BYOND preset: http://www.byond.com/docs/ref/#/sound/var/environment

Proc Details

get_sound_ambience +

+

Returns the correct ambience sound track for a client in this area

+ + + diff --git a/area/shuttle.html b/area/shuttle.html new file mode 100644 index 000000000000..3c281bd3284a --- /dev/null +++ b/area/shuttle.html @@ -0,0 +1,35 @@ + + + + + + + /area/shuttle - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Shuttle + + + +

+ + +

Procs

PlaceOnTopReactarea/shuttle/Initialize()

Proc Details

PlaceOnTopReact +

+

area/shuttle/Initialize()

+ + + diff --git a/atom.html b/atom.html new file mode 100644 index 000000000000..3fb9d478fe5f --- /dev/null +++ b/atom.html @@ -0,0 +1,221 @@ + + + + + + + /atom - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/atom + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

base_pixel_xDefault pixel x shifting for the atom's icon.
base_pixel_yDefault pixel y shifting for the atom's icon.
minimap_colorThe color this atom will be if we choose to draw it on the minimap
orbit_targetReference to atom being orbited
reagentsChemistry.

Procs

TopicPasses Stat Browser Panel clicks to the game and calls client click on an atom
add_bloodadd_blood
add_mob_bloodAdjust the randomness there so everyone gets the same thing +Shout it at everyone
attack_alien*The parent proc, will default to UnarmedAttack behaviour unless overriden +Return XENO_ATTACK_ACTION if it does something and the attack should have full attack delay. +Return XENO_NONCOMBAT_ACTION if it did something and should have some delay. +Return XENO_NO_DELAY_ACTION if it gave an error message or should have no delay at all, ex. "You can't X that, it's Y!" +Return FALSE if it didn't do anything and should count as a missed slash.
balloon_alertCreates text that will float from the atom upwards to the viewer.
balloon_alert_to_viewersCreate balloon alerts (text that floats up) to everything within range. +Will only display to people who can see.
beamThis is what you use to start a beam. Example: origin.Beam(target, args). Store the return of this proc if you don't set maxdist or time, you need it to delete the beam.
connect_to_shuttleThis proc is called on atoms when they are loaded into a shuttle
get_all_orbitersRecursive getter method to return a list of all ghosts orbitting this atom
get_storage_depth_toReturns the storage depth of an atom. This is the number of items the atom is nested in before reaching the designated container, counted inclusively. +Returning 1 == directly inside the container's contents, 2 == inside something which is itself inside the container, etc. +An alternative to loc.loc; looked at another way, the number it returns is the number of loc checks before reaching the target. +Returns FALSE if the atom isn't somewhere inside the container's contents.
get_storage_depth_turfLike get storage depth to, but returns the depth to the nearest turf, inclusively +Returns FALSE if no top level turf (a loc was null somewhere, or a non-turf atom's loc was an area somehow).
langchat_display_image
langchat_drop_imageHides the image, if one exists. Do not null the langchat image; it is rotated when the mob is buckled or proned to maintain text orientation.
langchat_make_imageCreates the image if one does not exist, resets settings that are modified by speech procs.
setDirHook for running code when a dir change occurs
transfer_label_component//////////////////// Hand Labeler //////////////////////////////// +meant for use with qdelling/newing things to transfer labels between them
vv_get_dropdownReturn the markup to for the dropdown list for the VV panel for this atom
+

Var Details

base_pixel_x + + + + +

+

Default pixel x shifting for the atom's icon.

base_pixel_y + + + + +

+

Default pixel y shifting for the atom's icon.

minimap_color + + + + +

+

The color this atom will be if we choose to draw it on the minimap

orbit_target + + + + +

+

Reference to atom being orbited

reagents + + + + +

+

Chemistry.

Proc Details

Topic +

+

Passes Stat Browser Panel clicks to the game and calls client click on an atom

add_blood +

+

add_blood

add_mob_blood +

+

Adjust the randomness there so everyone gets the same thing +Shout it at everyone

attack_alien +

+

*The parent proc, will default to UnarmedAttack behaviour unless overriden +Return XENO_ATTACK_ACTION if it does something and the attack should have full attack delay. +Return XENO_NONCOMBAT_ACTION if it did something and should have some delay. +Return XENO_NO_DELAY_ACTION if it gave an error message or should have no delay at all, ex. "You can't X that, it's Y!" +Return FALSE if it didn't do anything and should count as a missed slash.

+

If using do_afters or sleeps, use invoke_async (or manually add the relevant action delayand return FALSE +so that it doesn't double up on the delays) so that it applies the delay immediately instead of when it finishes.*

balloon_alert +

+

Creates text that will float from the atom upwards to the viewer.

balloon_alert_to_viewers +

+

Create balloon alerts (text that floats up) to everything within range. +Will only display to people who can see.

beam +

+

This is what you use to start a beam. Example: origin.Beam(target, args). Store the return of this proc if you don't set maxdist or time, you need it to delete the beam.

+

Unless you're making a custom beam effect (see the beam_type argument), you won't actually have to mess with any other procs. Make sure you store the return of this Proc, you'll need it +to kill the beam. +Arguments: +BeamTarget: Where you're beaming from. Where do you get origin? You didn't read the docs, fuck you. +icon_state: What the beam's icon_state is. The datum effect isn't the ebeam object, it doesn't hold any icon and isn't type dependent. +icon: What the beam's icon file is. Don't change this, man. All beam icons should be in beam.dmi anyways. +maxdistance: how far the beam will go before stopping itself. Used mainly for two things: preventing lag if the beam may go in that direction and setting a range to abilities that use beams. +beam_type: The type of your custom beam. This is for adding other wacky stuff for your beam only. Most likely, you won't (and shouldn't) change it.

connect_to_shuttle +

+

This proc is called on atoms when they are loaded into a shuttle

get_all_orbiters +

+

Recursive getter method to return a list of all ghosts orbitting this atom

+

This will work fine without manually passing arguments.

get_storage_depth_to +

+

Returns the storage depth of an atom. This is the number of items the atom is nested in before reaching the designated container, counted inclusively. +Returning 1 == directly inside the container's contents, 2 == inside something which is itself inside the container, etc. +An alternative to loc.loc; looked at another way, the number it returns is the number of loc checks before reaching the target. +Returns FALSE if the atom isn't somewhere inside the container's contents.

get_storage_depth_turf +

+

Like get storage depth to, but returns the depth to the nearest turf, inclusively +Returns FALSE if no top level turf (a loc was null somewhere, or a non-turf atom's loc was an area somehow).

langchat_display_image +

+

langchat_drop_image +

+

Hides the image, if one exists. Do not null the langchat image; it is rotated when the mob is buckled or proned to maintain text orientation.

langchat_make_image +

+

Creates the image if one does not exist, resets settings that are modified by speech procs.

setDir +

+

Hook for running code when a dir change occurs

+

Not recommended to override, listen for the COMSIG_ATOM_DIR_CHANGE signal instead (sent by this proc)

transfer_label_component +

+

//////////////////// Hand Labeler //////////////////////////////// +meant for use with qdelling/newing things to transfer labels between them

vv_get_dropdown +

+

Return the markup to for the dropdown list for the VV panel for this atom

+

Override in subtypes to add custom VV handling in the VV panel

+ + + diff --git a/atom/movable.html b/atom/movable.html new file mode 100644 index 000000000000..0cf99a0ec22a --- /dev/null +++ b/atom/movable.html @@ -0,0 +1,92 @@ + + + + + + + /atom/movable - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/atom/movable + + + +

+ + + + + + + + +

Vars

black_market_valueHow much this mob|object is worth when lowered into the ASRS pit while the black market is unlocked.

Procs

CollideCalled when a movable atom has hit an atom via movement
CollidedCalled when an atom has been hit by a movable atom via movement
abstract_movemeant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) +if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this +most of the time you want forceMove()
destroy_clone---Var-Copy---
keybind_face_directionA wrapper for setDir that should only be able to fail by living mobs.
ui_interactThe ui_interact proc is used to open and update Nano UIs +If ui_interact is not used then the UI will not update correctly +ui_interact is currently defined for /atom/movable
+

Var Details

black_market_value + + + + +

+

How much this mob|object is worth when lowered into the ASRS pit while the black market is unlocked.

Proc Details

Collide +

+

Called when a movable atom has hit an atom via movement

Collided +

+

Called when an atom has been hit by a movable atom via movement

abstract_move +

+

meant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) +if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this +most of the time you want forceMove()

destroy_clone +

+

---Var-Copy---

keybind_face_direction +

+

A wrapper for setDir that should only be able to fail by living mobs.

+

Called from [/atom/movable/proc/keyLoop], this exists to be overwritten by living mobs with a check to see if we're actually alive enough to change directions

ui_interact +

+

The ui_interact proc is used to open and update Nano UIs +If ui_interact is not used then the UI will not update correctly +ui_interact is currently defined for /atom/movable

+

@param user /mob The mob who is interacting with this ui +@param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main") +@param ui /datum/nanoui This parameter is passed by the nanoui process() proc when updating an open ui +@param force_open boolean Force the UI to (re)open, even if it's already open

+

@return nothing

+ + + diff --git a/atom/movable/plane_master_controller.html b/atom/movable/plane_master_controller.html new file mode 100644 index 000000000000..4d6651263cd6 --- /dev/null +++ b/atom/movable/plane_master_controller.html @@ -0,0 +1,78 @@ + + + + + + + /atom/movable/plane_master_controller - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/atom/movable/plane_master_controller + + + +

+ +

Atom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane.

+ + + + + + +

Vars

controlled_planesList of planes in this controllers control. Initially this is a normal list, but becomes an assoc list of plane numbers as strings | plane instance
owner_hudhud that owns this controller

Procs

InitializeEnsures that all the planes are correctly in the controlled_planes list.
add_filterFull override so we can just use filterrific
get_filtersGets all filters for this controllers plane masters
remove_filterFull override so we can just use filterrific
transition_filterTransitions all filters owned by this plane master controller
+

Var Details

controlled_planes + + + + +

+

List of planes in this controllers control. Initially this is a normal list, but becomes an assoc list of plane numbers as strings | plane instance

owner_hud + + + + +

+

hud that owns this controller

Proc Details

Initialize +

+

Ensures that all the planes are correctly in the controlled_planes list.

add_filter +

+

Full override so we can just use filterrific

get_filters +

+

Gets all filters for this controllers plane masters

remove_filter +

+

Full override so we can just use filterrific

transition_filter +

+

Transitions all filters owned by this plane master controller

+ + + diff --git a/atom/movable/screen.html b/atom/movable/screen.html new file mode 100644 index 000000000000..4a784a145c5c --- /dev/null +++ b/atom/movable/screen.html @@ -0,0 +1,96 @@ + + + + + + + /atom/movable/screen - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/atom/movable/screen + + + +

+ +

A screen object, which acts as a container for turfs and other things +you want to show on the map, which you usually attach to "vis_contents".

+ + + + + + + +

Vars

assigned_mapMap name assigned to this object. +Automatically set by /client/proc/add_obj_to_map.
clear_with_screenIf FALSE, this will not be cleared when calling /client/clear_screen()
del_on_map_removalMark this object as garbage-collectible after you clean the map +it was registered on.
hudA reference to the owner HUD, if any.
masterA reference to the object in the slot. Grabs or items, generally.

Procs

fill_rectSets screen_loc to fill a rectangular area of the map.
set_positionSets screen_loc of this screen object, in form of point coordinates, +with optional pixel offset (px, py).
update_iconle awesome parent type
+

Var Details

assigned_map + + + + +

+

Map name assigned to this object. +Automatically set by /client/proc/add_obj_to_map.

clear_with_screen + + + + +

+

If FALSE, this will not be cleared when calling /client/clear_screen()

del_on_map_removal + + + + +

+

Mark this object as garbage-collectible after you clean the map +it was registered on.

+

This could probably be changed to be a proc, for conditional removal. +But for now, this works.

hud + + + + +

+

A reference to the owner HUD, if any.

master + + + + +

+

A reference to the object in the slot. Grabs or items, generally.

Proc Details

fill_rect +

+

Sets screen_loc to fill a rectangular area of the map.

+

If applicable, "assigned_map" has to be assigned before this proc call.

set_position +

+

Sets screen_loc of this screen object, in form of point coordinates, +with optional pixel offset (px, py).

+

If applicable, "assigned_map" has to be assigned before this proc call.

update_icon +

+

le awesome parent type

+ + + diff --git a/atom/movable/screen/color_matrix_proxy_view.html b/atom/movable/screen/color_matrix_proxy_view.html new file mode 100644 index 000000000000..34098d90b568 --- /dev/null +++ b/atom/movable/screen/color_matrix_proxy_view.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/color_matrix_proxy_view - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

color_matrix_proxy_view + + + +

+ + +

Vars

clientThe client that is watching this view
+

Var Details

client + + + + +

+

The client that is watching this view

+ + + diff --git a/atom/movable/screen/escape_menu/home_button_text.html b/atom/movable/screen/escape_menu/home_button_text.html new file mode 100644 index 000000000000..0a47dbebc656 --- /dev/null +++ b/atom/movable/screen/escape_menu/home_button_text.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/escape_menu/home_button_text - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/atom/movable/screen/escape_menu/home_button_text + + + +

+ + +

Procs

set_hoveredSets the hovered state of the button, and updates the text

Proc Details

set_hovered +

+

Sets the hovered state of the button, and updates the text

+ + + diff --git a/atom/movable/screen/plane_master.html b/atom/movable/screen/plane_master.html new file mode 100644 index 000000000000..b0b492bd47e1 --- /dev/null +++ b/atom/movable/screen/plane_master.html @@ -0,0 +1,77 @@ + + + + + + + /atom/movable/screen/plane_master - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/atom/movable/screen/plane_master + + + +

+ + + + + + +

Vars

blend_mode_overrideinteger: blend mode to apply to the render relay in case you dont want to use the plane_masters blend_mode
generate_render_targetbool: Whether this plane should get a render target automatically generated
relayreference: current relay this plane is utilizing to render
render_relay_planeinteger: what plane we will relay this planes render to

Procs

relay_render_to_planePlane master proc called in backdrop() that creates a relay object, sets it as needed and then adds it to the clients screen +Sets:
+

Var Details

blend_mode_override + + + + +

+

integer: blend mode to apply to the render relay in case you dont want to use the plane_masters blend_mode

generate_render_target + + + + +

+

bool: Whether this plane should get a render target automatically generated

relay + + + + +

+

reference: current relay this plane is utilizing to render

render_relay_plane + + + + +

+

integer: what plane we will relay this planes render to

Proc Details

relay_render_to_plane +

+

Plane master proc called in backdrop() that creates a relay object, sets it as needed and then adds it to the clients screen +Sets:

+
+ + + diff --git a/atom/movable/screen/plane_master/rendering_plate.html b/atom/movable/screen/plane_master/rendering_plate.html new file mode 100644 index 000000000000..8a734ca48157 --- /dev/null +++ b/atom/movable/screen/plane_master/rendering_plate.html @@ -0,0 +1,33 @@ + + + + + + + /atom/movable/screen/plane_master/rendering_plate - byond + + +
+ byond - + Modules - + Types +
+
+

default rendering plate + + + +

+ +

Rendering plate

+

Acts like a plane master, but for plane masters +Renders other planes onto this plane, through the use of render objects +Any effects applied onto this plane will act on the unified plane +IE a bulge filter will apply as if the world was one object +remember that once planes are unified on a render plate you cant change the layering of them!

+ + + diff --git a/atom/movable/screen/text/screen_text.html b/atom/movable/screen/text/screen_text.html new file mode 100644 index 000000000000..b573ab16ecc7 --- /dev/null +++ b/atom/movable/screen/text/screen_text.html @@ -0,0 +1,113 @@ + + + + + + + /atom/movable/screen/text/screen_text - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/atom/movable/screen/text/screen_text + + + +

+ + + + + + + + + + + + + +

Vars

fade_in_timeTime taken to fade in as we start printing text
fade_out_delayTime before fade out after printing is finished
fade_out_timeTime taken when fading out after fade_out_delay
letters_per_updateletters to update by per text to per play_delay
play_delaydelay between playing each letter. in general use 1 for fluff and 0.5 for time sensitive messsages
playerThe client that this text is for
style_closeclosing styling for the message
style_openopening styling for the message
text_to_playvar for the text we are going to play

Procs

after_playhandles post-play effects like fade out after the fade out delay
end_playends the play then deletes this screen object and plays the next one in queue if it exists
play_to_clientproc for actually playing this screen_text on a mob.
+

Var Details

fade_in_time + + + + +

+

Time taken to fade in as we start printing text

fade_out_delay + + + + +

+

Time before fade out after printing is finished

fade_out_time + + + + +

+

Time taken when fading out after fade_out_delay

letters_per_update + + + + +

+

letters to update by per text to per play_delay

play_delay + + + + +

+

delay between playing each letter. in general use 1 for fluff and 0.5 for time sensitive messsages

player + + + + +

+

The client that this text is for

style_close + + + + +

+

closing styling for the message

style_open + + + + +

+

opening styling for the message

text_to_play + + + + +

+

var for the text we are going to play

Proc Details

after_play +

+

handles post-play effects like fade out after the fade out delay

end_play +

+

ends the play then deletes this screen object and plays the next one in queue if it exists

play_to_client +

+

proc for actually playing this screen_text on a mob.

+ + + diff --git a/client.html b/client.html new file mode 100644 index 000000000000..266a34fba751 --- /dev/null +++ b/client.html @@ -0,0 +1,520 @@ + + + + + + + /client - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/client + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

admin_music_volumeAdmin music volume, from 0 to 1.
adminhelptimeridClient var used for returning the ahelp verb
completed_asset_jobsList of all completed blocking send jobs awaiting acknowledgement by send_asset
connection_timeworld.time they connected
current_ticketClient var used for tracking the ticket the (usually) not-admin client is dealing with
holding_clickWhether or not the player is holding their mouse click
ignore_next_clickMeans that there can only be one click per mousedown.
key_combos_heldA buffer for combinations such of modifiers + keys (ex: CtrlD, AltE, ShiftT). Format: "key" -> "combo" (ex: "D" -> "CtrlD")
keys_heldA buffer of currently held keys.
larva_queue_timeThe descriminator for larva queue ordering: Generally set to timeofdeath except for facehuggers/admin z-level play
last_asset_jobLast asset send job id.
mouse_trace_historyThe history of all atoms that were hovered over while the mouse was depressed
movement_keyscustom movement keys for this client
movement_lockedAre we locking our movement input?
next_move_dir_addOn next move, add this dir to the move that would otherwise be done
next_move_dir_subOn next move, subtract this dir from the move that would otherwise be done
obj_windowOur object window datum. It stores info about and handles behavior for the object tab
panel_tabslist of all tabs
recent_examinesA lazy list of atoms we've examined in the last EXAMINE_MORE_TIME (default 1.5) seconds, so that we will call [/atom/proc/examine_more] instead of [/atom/proc/examine] on them when examining
screen_mapsAssoc list with all the active maps - when a screen obj is added to +a map, it's put in here as well.
screen_textslazylist of screen_texts for this client, first in this list is the one playing
stat_panelStat panel window declaration
stat_tabour current tab
tgui_cache_reloadedglobal
tgui_sayAssigned say modal of the client
tgui_windowsglobal
tooltipsdatum that controls the displaying and hiding of tooltips
topiclimiterUsed for limiting the rate of topic sends by the client to avoid abuse
typing_indicatorsDoes this client have typing indicators enabled?
urgent_ahelp_cooldownThe last urgent ahelp that this player sent

Procs

adaptive_zoomAttempts to scale client zoom automatically to fill 1080p multiples. Best used with auto fit viewport.
admin_followAttempts to make the client orbit the given object, for administrative purposes. +If they are not an observer, will try to aghost them.
asset_cache_confirm_arrivalProcess asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"
asset_cache_preload_dataProcess asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]
asset_cache_update_jsonUpdates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.
browse_queue_flushBlocks until all currently sending browse and browse_rsc assets have been sent. +Due to byond limitations, this proc will sleep for 1 client round trip even if the client has no pending asset sends. +This proc will return an untrue value if it had to return before confirming the send, such as timeout or the client going away.
clear_all_mapsClears all the maps of registered screen objects.
clear_mapClears the map of registered screen objects.
clear_screenClears the client's screen, aside from ones that opt out
close_popupCloses a popup.
create_popupCreates a popup window with a basic map element in it, without any +further initialization.
erase_all_macrosErases macros set by the keybinding system
fix_tgui_paneltgui panel / chat troubleshooting verb
get_total_drone_playtimeplaytime for drone and drone evolution castes
get_total_t3_playtimeplaytime for t3 castes and queen
get_total_xeno_playtimeplaytime for all castes
handle_popup_closeWhen the popup closes in any way (player or proc call) it calls this.
init_verbsCompiles a full list of verbs to be sent to the browser +Sends the 2D verbs vector of (verb category, verb name)
keyUpCheck if the key is short enough to even be a real key
nanocloseCalled when a Nano UI window is closed +This is how Nano handles closed windows +It must be a verb so that it can be called using winset
notify_loginHandles login-related logging and associated notifications
on_stat_panel_messageHandles incoming messages from the stat-panel TGUI.
open_escape_menuOpens the escape menu. +Verb, hardcoded to Escape, set in the client skin.
open_particle_editoropens the particle editor UI for the in_atom object for this client
register_map_objRegisters screen obj with the client, which makes it visible on the +assigned map, and becomes a part of the assigned map's lifecycle.
reset_held_keysManually clears any held keys, in case due to lag or other undefined behavior a key gets stuck.
set_macrosRequest blocking update of keybinds to client, clearing old ones
setup_popupCreate the popup, and get it ready for generic use by giving +it a background.
show_other_recordManagement Access +Edit Access +Note category options
tgui_say_create_open_commandCreates a JSON encoded message to open TGUI say modals properly.
uicloseverb
update_special_keybindsUpdates the keybinds for special keys
whoCan remove notes from anyone other than yourself, unless you're the host. So long as you have deletion access anyway.
+

Var Details

admin_music_volume + + + + +

+

Admin music volume, from 0 to 1.

adminhelptimerid + + + + +

+

Client var used for returning the ahelp verb

completed_asset_jobs + + + + +

+

List of all completed blocking send jobs awaiting acknowledgement by send_asset

connection_time + + + + +

+

world.time they connected

current_ticket + + + + +

+

Client var used for tracking the ticket the (usually) not-admin client is dealing with

holding_click + + + + +

+

Whether or not the player is holding their mouse click

ignore_next_click + + + + +

+

Means that there can only be one click per mousedown.

key_combos_held + + + + +

+

A buffer for combinations such of modifiers + keys (ex: CtrlD, AltE, ShiftT). Format: "key" -> "combo" (ex: "D" -> "CtrlD")

keys_held + + + + +

+

A buffer of currently held keys.

larva_queue_time + + + + +

+

The descriminator for larva queue ordering: Generally set to timeofdeath except for facehuggers/admin z-level play

last_asset_job + + + + +

+

Last asset send job id.

mouse_trace_history + + + + +

+

The history of all atoms that were hovered over while the mouse was depressed

movement_keys + + + + +

+

custom movement keys for this client

movement_locked + + + + +

+

Are we locking our movement input?

next_move_dir_add + + + + +

+

On next move, add this dir to the move that would otherwise be done

next_move_dir_sub + + + + +

+

On next move, subtract this dir from the move that would otherwise be done

obj_window + + + + +

+

Our object window datum. It stores info about and handles behavior for the object tab

panel_tabs + + + + +

+

list of all tabs

recent_examines + + + + +

+

A lazy list of atoms we've examined in the last EXAMINE_MORE_TIME (default 1.5) seconds, so that we will call [/atom/proc/examine_more] instead of [/atom/proc/examine] on them when examining

screen_maps + + + + +

+

Assoc list with all the active maps - when a screen obj is added to +a map, it's put in here as well.

+

Format: list( = list(/atom/movable/screen))

screen_texts + + + + +

+

lazylist of screen_texts for this client, first in this list is the one playing

stat_panel + + + + +

+

Stat panel window declaration

stat_tab + + + + +

+

our current tab

tgui_cache_reloaded + + + + +

+

global

+

TRUE if cache was reloaded by tgui dev server at least once.

tgui_say + + + + +

+

Assigned say modal of the client

tgui_windows + + + + +

+

global

+

Tracks open windows for a user.

tooltips + + + + +

+

datum that controls the displaying and hiding of tooltips

topiclimiter + + + + +

+

Used for limiting the rate of topic sends by the client to avoid abuse

typing_indicators + + + + +

+

Does this client have typing indicators enabled?

urgent_ahelp_cooldown + + + + +

+

The last urgent ahelp that this player sent

Proc Details

adaptive_zoom +

+

Attempts to scale client zoom automatically to fill 1080p multiples. Best used with auto fit viewport.

admin_follow +

+

Attempts to make the client orbit the given object, for administrative purposes. +If they are not an observer, will try to aghost them.

asset_cache_confirm_arrival +

+

Process asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"

asset_cache_preload_data +

+

Process asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]

asset_cache_update_json +

+

Updates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.

browse_queue_flush +

+

Blocks until all currently sending browse and browse_rsc assets have been sent. +Due to byond limitations, this proc will sleep for 1 client round trip even if the client has no pending asset sends. +This proc will return an untrue value if it had to return before confirming the send, such as timeout or the client going away.

clear_all_maps +

+

Clears all the maps of registered screen objects.

clear_map +

+

Clears the map of registered screen objects.

+

Not really needed most of the time, as the client's screen list gets reset +on relog. any of the buttons are going to get caught by garbage collection +anyway. they're effectively qdel'd.

clear_screen +

+

Clears the client's screen, aside from ones that opt out

close_popup +

+

Closes a popup.

create_popup +

+

Creates a popup window with a basic map element in it, without any +further initialization.

+

Ratio is how many pixels by how many pixels (keep it simple).

+

Returns a map name.

erase_all_macros +

+

Erases macros set by the keybinding system

fix_tgui_panel +

+

tgui panel / chat troubleshooting verb

get_total_drone_playtime +

+

playtime for drone and drone evolution castes

get_total_t3_playtime +

+

playtime for t3 castes and queen

get_total_xeno_playtime +

+

playtime for all castes

handle_popup_close +

+

When the popup closes in any way (player or proc call) it calls this.

init_verbs +

+

Compiles a full list of verbs to be sent to the browser +Sends the 2D verbs vector of (verb category, verb name)

keyUp +

+

Check if the key is short enough to even be a real key

nanoclose +

+

Called when a Nano UI window is closed +This is how Nano handles closed windows +It must be a verb so that it can be called using winset

+

@return nothing

notify_login +

+

Handles login-related logging and associated notifications

on_stat_panel_message +

+

Handles incoming messages from the stat-panel TGUI.

open_escape_menu +

+

Opens the escape menu. +Verb, hardcoded to Escape, set in the client skin.

open_particle_editor +

+

opens the particle editor UI for the in_atom object for this client

register_map_obj +

+

Registers screen obj with the client, which makes it visible on the +assigned map, and becomes a part of the assigned map's lifecycle.

reset_held_keys +

+

Manually clears any held keys, in case due to lag or other undefined behavior a key gets stuck.

set_macros +

+

Request blocking update of keybinds to client, clearing old ones

setup_popup +

+

Create the popup, and get it ready for generic use by giving +it a background.

+

Width and height are multiplied by 64 by default.

show_other_record +

+

Management Access +Edit Access +Note category options

tgui_say_create_open_command +

+

Creates a JSON encoded message to open TGUI say modals properly.

+

Arguments: +channel - The channel to open the modal in. +Returns: +string - A JSON encoded message to open the modal.

uiclose +

+

verb

+

Called by UIs when they are closed. +Must be a verb so winset() can call it.

+

required uiref ref The UI that was closed.

update_special_keybinds +

+

Updates the keybinds for special keys

+

Handles adding macros for the keys that need it +And adding movement keys to the clients movement_keys list +At the time of writing this, communication(OOC, Say, IC) require macros +Arguments:

+

who +

+

Can remove notes from anyone other than yourself, unless you're the host. So long as you have deletion access anyway.

+ + + diff --git a/code/__DEFINES/ARES.html b/code/__DEFINES/ARES.html new file mode 100644 index 000000000000..61eb9d9a5192 --- /dev/null +++ b/code/__DEFINES/ARES.html @@ -0,0 +1,92 @@ + + + + + + + code/__DEFINES/ARES.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ARES.dm + +

+ + + + + + + + + + + + + + +
ARES_ACCESS_BASICGeneric access for 1:1 conversations with ARES and unrestricted commands.
ARES_ACCESS_COMMANDSecure Access, can read ARES Announcements and Bioscans.
ARES_ACCESS_CORPORATECL, can read Apollo Log and also Delete Announcements.
ARES_ACCESS_SENIORSenior Command, can Delete Bioscans.
ARES_ACCESS_CESynth, CE & Commanding Officer, can read the access log.
ARES_ACCESS_HIGHHigh Command, can read the deletion log.
ARES_ACCESS_DEBUGDebugging. Allows me to view everything without using a high command rank. Unlikely to stay in a full merge.
ARES_LOG_NONENot by ARES logged through marine_announcement()
ARES_LOG_MAINLogged with all announcements
ARES_LOG_SECURITYLogged in the security updates
APOLLO_ACCESS_REQUESTAccess levels specifically for Working Joe management console
TICKET_PENDINGTicket statuses, both for Access and Maintenance
COOLDOWN_ARES_SENSORCooldowns

Define Details

+

APOLLO_ACCESS_REQUEST + + +

+

Access levels specifically for Working Joe management console

ARES_ACCESS_BASIC + + +

+

Generic access for 1:1 conversations with ARES and unrestricted commands.

ARES_ACCESS_CE + + +

+

Synth, CE & Commanding Officer, can read the access log.

ARES_ACCESS_COMMAND + + +

+

Secure Access, can read ARES Announcements and Bioscans.

ARES_ACCESS_CORPORATE + + +

+

CL, can read Apollo Log and also Delete Announcements.

ARES_ACCESS_DEBUG + + +

+

Debugging. Allows me to view everything without using a high command rank. Unlikely to stay in a full merge.

ARES_ACCESS_HIGH + + +

+

High Command, can read the deletion log.

ARES_ACCESS_SENIOR + + +

+

Senior Command, can Delete Bioscans.

ARES_LOG_MAIN + + +

+

Logged with all announcements

ARES_LOG_NONE + + +

+

Not by ARES logged through marine_announcement()

ARES_LOG_SECURITY + + +

+

Logged in the security updates

COOLDOWN_ARES_SENSOR + + +

+

Cooldowns

TICKET_PENDING + + +

+

Ticket statuses, both for Access and Maintenance

+ + + diff --git a/code/__DEFINES/MC.html b/code/__DEFINES/MC.html new file mode 100644 index 000000000000..205d6d27378c --- /dev/null +++ b/code/__DEFINES/MC.html @@ -0,0 +1,154 @@ + + + + + + + code/__DEFINES/MC.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/MC.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
MC_AVG_OVER_TIMEcreates a running average of "things elapsed" per time period when you need to count via a smaller time period. +eg you want an average number of things happening per second but you measure the event every tick (50 milliseconds). +make sure both time intervals are in the same units. doesnt work if current_duration > total_duration or if total_duration == 0
MC_RUNNINGReturns true if the MC is initialized and running. +Optional argument init_stage controls what stage the mc must have initializted to count as initialized. Defaults to INITSTAGE_MAX if not specified.

SubSystem flags (Please design any new flags so that the default is off, to make adding flags to subsystems easier)

SS_NO_INITsubsystem does not initialize.
SS_NO_FIREsubsystem does not fire. +(like can_fire = 0, but keeps it from getting added to the processing subsystems list) +(Requires a MC restart to change)
SS_BACKGROUNDSubsystem only runs on spare cpu (after all non-background subsystems have ran that tick) +SS_BACKGROUND has its own priority bracket, this overrides SS_TICKER's priority bump
SS_TICKERTreat wait as a tick count, not DS, run every wait ticks. +(also forces it to run first in the tick (unless SS_BACKGROUND)) +(We don't want to be choked out by other subsystems queuing into us) +(implies all runlevels because of how it works) +This is designed for basically anything that works as a mini-mc (like SStimer)
SS_KEEP_TIMINGkeep the subsystem's timing on point by firing early if it fired late last fire because of lag +ie: if a 20ds subsystem fires say 5 ds late due to lag or what not, its next fire would be in 15ds, not 20ds.
SS_POST_FIRE_TIMINGCalculate its next fire after its fired. +(IE: if a 5ds wait SS takes 2ds to run, its next fire should be 5ds away, not 3ds like it normally would be) +This flag overrides SS_KEEP_TIMING
SS_OK_TO_FAIL_INITIf this subsystem doesn't initialize, it should not report as a hard error in CI. +This should be used for subsystems that are flaky for complicated reasons, such as +the Lua subsystem, which relies on auxtools, which is unstable. +It should not be used simply to silence CI.

SUBSYSTEM STATES

+
SS_IDLEain't doing shit.
SS_QUEUEDqueued to run
SS_RUNNINGactively running
SS_PAUSEDpaused by mc_tick_check
SS_SLEEPINGfire() slept.
SS_PAUSINGin the middle of pausing
INITSTAGE_EARLY! Early init stuff that doesn't need to wait for mapload
INITSTAGE_MAIN! Main init stage
INITSTAGE_MAX! Highest initstage.

Define Details

+

INITSTAGE_EARLY + + +

+

! Early init stuff that doesn't need to wait for mapload

INITSTAGE_MAIN + + +

+

! Main init stage

INITSTAGE_MAX + + +

+

! Highest initstage.

MC_AVG_OVER_TIME + + + +

+

creates a running average of "things elapsed" per time period when you need to count via a smaller time period. +eg you want an average number of things happening per second but you measure the event every tick (50 milliseconds). +make sure both time intervals are in the same units. doesnt work if current_duration > total_duration or if total_duration == 0

MC_RUNNING + + + +

+

Returns true if the MC is initialized and running. +Optional argument init_stage controls what stage the mc must have initializted to count as initialized. Defaults to INITSTAGE_MAX if not specified.

SS_BACKGROUND + + +

+

Subsystem only runs on spare cpu (after all non-background subsystems have ran that tick) +SS_BACKGROUND has its own priority bracket, this overrides SS_TICKER's priority bump

SS_IDLE + + +

+

ain't doing shit.

SS_KEEP_TIMING + + +

+

keep the subsystem's timing on point by firing early if it fired late last fire because of lag +ie: if a 20ds subsystem fires say 5 ds late due to lag or what not, its next fire would be in 15ds, not 20ds.

SS_NO_FIRE + + +

+

subsystem does not fire. +(like can_fire = 0, but keeps it from getting added to the processing subsystems list) +(Requires a MC restart to change)

SS_NO_INIT + + +

+

subsystem does not initialize.

SS_OK_TO_FAIL_INIT + + +

+

If this subsystem doesn't initialize, it should not report as a hard error in CI. +This should be used for subsystems that are flaky for complicated reasons, such as +the Lua subsystem, which relies on auxtools, which is unstable. +It should not be used simply to silence CI.

SS_PAUSED + + +

+

paused by mc_tick_check

SS_PAUSING + + +

+

in the middle of pausing

SS_POST_FIRE_TIMING + + +

+

Calculate its next fire after its fired. +(IE: if a 5ds wait SS takes 2ds to run, its next fire should be 5ds away, not 3ds like it normally would be) +This flag overrides SS_KEEP_TIMING

SS_QUEUED + + +

+

queued to run

SS_RUNNING + + +

+

actively running

SS_SLEEPING + + +

+

fire() slept.

SS_TICKER + + +

+

Treat wait as a tick count, not DS, run every wait ticks. +(also forces it to run first in the tick (unless SS_BACKGROUND)) +(We don't want to be choked out by other subsystems queuing into us) +(implies all runlevels because of how it works) +This is designed for basically anything that works as a mini-mc (like SStimer)

+ + + diff --git a/code/__DEFINES/__game.html b/code/__DEFINES/__game.html new file mode 100644 index 000000000000..b383b700167e --- /dev/null +++ b/code/__DEFINES/__game.html @@ -0,0 +1,210 @@ + + + + + + + code/__DEFINES/__game.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/__game.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NO_FLAGSTo make it even more clear that something is a bitfield.
PLAYERCOUNT_LOWPOP_MAP_LIMITNumber of players before we switch to lowpop maps only (LV, BR, Prison).
PREROUND_TIMETime before the round starts.
CANDLE_LUMFor how bright candles are.
SPLIT_ADMIN_TABSSplits admin tabs in Statpanel
DOCK_ATTEMPT_TIMEOUThow long in ticks we wait before assuming the docking controller is broken or blown up.
ROUNDSTART_LOGOUT_REPORT_TIMEAmount of time (in deciseconds) after the rounds starts, that the player disconnect report is issued.
TRANSITIONEDGEDistance from edge to move to another z-level.
GET_RANDOM_FREQFrequency stuff only works with 45kbps oggs.
CEILING_NO_PROTECTIONDo not block any ordnance
CEILING_PROTECTION_TIER_1Blocks mortar placement, lasing, and medevac
CEILING_PROTECTION_TIER_2Blocks CAS signals, supply drops, fultoning, and mortar fire
CEILING_PROTECTION_TIER_3Blocks CAS fire
CEILING_PROTECTION_TIER_4Blocks OB fire
CEILING_IS_PROTECTEDOnly use the CEILING_PROTECTION_TIER_X defines for protection_level
BARRICADE_BSTATE_UNSECUREDIntermediate state before cade is movable (no apparent effect on health).
BARRICADE_BSTATE_MOVABLEReady to be deconstructed and can be moved.
EXTINGUISHER_WATER_USE_AMTAmount of water consumed by extinguisher per use.//why is this a define let alone a GLOBAL define oh my good lord
CHAT_CPM_ALLOWEDMax characters per minute allowed to speak
CHAT_CPM_MINIMUMMinimum character length counted for a single message
CHAT_CPM_PERIODBuffer period over which speaking budget is considered
CHAT_TYPE_ALLThis is so if we have newer flags, we still have ALL working. This will work for 16 first flags.
CHAT_TYPE_ALL_COMBATUsed for pre-setting tgchat message type as combat messages
TOGGLE_WINDOW_SKINWindow skin types
QUADTREE_CAPACITYMax amount of player coordinates in a quadtree cell
QUADTREE_BOUNDARY_MINIMUM_WIDTHMinimum X width up to which we keep dividing the tree (meaning cells can be half that)
QUADTREE_BOUNDARY_MINIMUM_HEIGHTMinimum Y height up to which we keep dividing the tree (meaning cells can be half that)
QTREE_SCAN_MOBSReturn mob list instead of client list.
BEAM_INFINITE_DURATIONFor beams with an infinite duration (deletion is handled separately)
AMOUNT_PER_TIMEUsed for calculations with delta_time when figuring how much "amount" to give per "time" +amount - The number to get per time +time - The time period in which to gain this amount +To be used with delta_time. Multiplied by 10 to convert from deciseconds to seconds
PERF_TOGGLE_LAZYSSSet conservative MC timings on game start
PERF_TOGGLE_NOBLOODPRINTSDisable bloody footprints
PERF_TOGGLE_ATTACKLOGSDisable file-based attacklogs
PERF_TOGGLE_SHUTTLESDisables loading/ticking shuttle controllers
PERF_TOGGLE_TECHWEBSDisables loading Techwebs and additional Z-Levels

Define Details

+

AMOUNT_PER_TIME + + + +

+

Used for calculations with delta_time when figuring how much "amount" to give per "time" +amount - The number to get per time +time - The time period in which to gain this amount +To be used with delta_time. Multiplied by 10 to convert from deciseconds to seconds

BARRICADE_BSTATE_MOVABLE + + +

+

Ready to be deconstructed and can be moved.

BARRICADE_BSTATE_UNSECURED + + +

+

Intermediate state before cade is movable (no apparent effect on health).

BEAM_INFINITE_DURATION + + +

+

For beams with an infinite duration (deletion is handled separately)

CANDLE_LUM + + +

+

For how bright candles are.

CEILING_IS_PROTECTED + + + +

+

Only use the CEILING_PROTECTION_TIER_X defines for protection_level

CEILING_NO_PROTECTION + + +

+

Do not block any ordnance

CEILING_PROTECTION_TIER_1 + + +

+

Blocks mortar placement, lasing, and medevac

CEILING_PROTECTION_TIER_2 + + +

+

Blocks CAS signals, supply drops, fultoning, and mortar fire

CEILING_PROTECTION_TIER_3 + + +

+

Blocks CAS fire

CEILING_PROTECTION_TIER_4 + + +

+

Blocks OB fire

CHAT_CPM_ALLOWED + + +

+

Max characters per minute allowed to speak

CHAT_CPM_MINIMUM + + +

+

Minimum character length counted for a single message

CHAT_CPM_PERIOD + + +

+

Buffer period over which speaking budget is considered

CHAT_TYPE_ALL + + +

+

This is so if we have newer flags, we still have ALL working. This will work for 16 first flags.

CHAT_TYPE_ALL_COMBAT + + +

+

Used for pre-setting tgchat message type as combat messages

DOCK_ATTEMPT_TIMEOUT + + +

+

how long in ticks we wait before assuming the docking controller is broken or blown up.

EXTINGUISHER_WATER_USE_AMT + + +

+

Amount of water consumed by extinguisher per use.//why is this a define let alone a GLOBAL define oh my good lord

GET_RANDOM_FREQ + + +

+

Frequency stuff only works with 45kbps oggs.

NO_FLAGS + + +

+

To make it even more clear that something is a bitfield.

PERF_TOGGLE_ATTACKLOGS + + +

+

Disable file-based attacklogs

PERF_TOGGLE_LAZYSS + + +

+

Set conservative MC timings on game start

PERF_TOGGLE_NOBLOODPRINTS + + +

+

Disable bloody footprints

PERF_TOGGLE_SHUTTLES + + +

+

Disables loading/ticking shuttle controllers

PERF_TOGGLE_TECHWEBS + + +

+

Disables loading Techwebs and additional Z-Levels

PLAYERCOUNT_LOWPOP_MAP_LIMIT + + +

+

Number of players before we switch to lowpop maps only (LV, BR, Prison).

PREROUND_TIME + + +

+

Time before the round starts.

QTREE_SCAN_MOBS + + +

+

Return mob list instead of client list.

QUADTREE_BOUNDARY_MINIMUM_HEIGHT + + +

+

Minimum Y height up to which we keep dividing the tree (meaning cells can be half that)

QUADTREE_BOUNDARY_MINIMUM_WIDTH + + +

+

Minimum X width up to which we keep dividing the tree (meaning cells can be half that)

QUADTREE_CAPACITY + + +

+

Max amount of player coordinates in a quadtree cell

ROUNDSTART_LOGOUT_REPORT_TIME + + +

+

Amount of time (in deciseconds) after the rounds starts, that the player disconnect report is issued.

SPLIT_ADMIN_TABS + + +

+

Splits admin tabs in Statpanel

TOGGLE_WINDOW_SKIN + + +

+

Window skin types

TRANSITIONEDGE + + +

+

Distance from edge to move to another z-level.

+ + + diff --git a/code/__DEFINES/__rust_g.html b/code/__DEFINES/__rust_g.html new file mode 100644 index 000000000000..2f17159f3a6e --- /dev/null +++ b/code/__DEFINES/__rust_g.html @@ -0,0 +1,43 @@ + + + + + + + code/__DEFINES/__rust_g.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/__rust_g.dm + +

+ + +
rustg_cnoise_generateThis proc generates a cellular automata noise grid which can be used in procedural generation methods.

Define Details

+

rustg_cnoise_generate + + + +

+

This proc generates a cellular automata noise grid which can be used in procedural generation methods.

+

Returns a single string that goes row by row, with values of 1 representing an alive cell, and a value of 0 representing a dead cell.

+

Arguments:

+
+ + + diff --git a/code/__DEFINES/_click.html b/code/__DEFINES/_click.html new file mode 100644 index 000000000000..1292635a0d61 --- /dev/null +++ b/code/__DEFINES/_click.html @@ -0,0 +1,34 @@ + + + + + + + code/__DEFINES/_click.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_click.dm + +

+ + +
BUTTONMouse button that was just clicked/released +if(modifiersBUTTON == LEFT_CLICK)

Define Details

+

BUTTON + + +

+

Mouse button that was just clicked/released +if(modifiersBUTTON == LEFT_CLICK)

+ + + diff --git a/code/__DEFINES/_globals.html b/code/__DEFINES/_globals.html new file mode 100644 index 000000000000..8ad9cbfd0fab --- /dev/null +++ b/code/__DEFINES/_globals.html @@ -0,0 +1,153 @@ + + + + + + + code/__DEFINES/_globals.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_globals.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
GLOBAL_MANAGEDCreates a global initializer with a given InitValue expression, do not use
GLOBAL_UNMANAGEDCreates an empty global initializer, do not use
GLOBAL_SUBTYPE_INDEXEDCreates name keyed subtype instance list
GLOBAL_SUBTYPE_PATH_INDEXEDLists subtypes of a given type, indexed by initial value of a variable
GLOBAL_PROTECTPrevents a given global from being VV'd
GLOBAL_REAL_VARStandard BYOND global, do not use
GLOBAL_REALStandard typed BYOND global, do not use
GLOBAL_RAWDefines a global var on the controller, do not use
GLOBAL_VAR_INITCreate an untyped global with an initializer expression
GLOBAL_VAR_CONSTCreate a global const var, do not use
GLOBAL_LIST_INITCreate a list global with an initializer expression
GLOBAL_LIST_EMPTYCreate a list global that is initialized as an empty list
GLOBAL_LIST_INIT_TYPEDCreate a typed list global with an initializer expression
GLOBAL_LIST_EMPTY_TYPEDCreate a typed list global that is initialized as an empty list
GLOBAL_DATUM_INITCreate a typed global with an initializer expression
GLOBAL_VARCreate an untyped null global
GLOBAL_LISTCreate a null global list
GLOBAL_DATUMCreate a typed null global
GLOBAL_LIST_FILE_LOADLoad a file in as a global list
GLOBAL_REFERENCE_LIST_INDEXEDCreates datum reference list
GLOBAL_SUBTYPE_PATHS_LIST_INDEXEDCreates list of subtype paths indexed by a variable

Define Details

+

GLOBAL_DATUM + + + +

+

Create a typed null global

GLOBAL_DATUM_INIT + + + +

+

Create a typed global with an initializer expression

GLOBAL_LIST + + + +

+

Create a null global list

GLOBAL_LIST_EMPTY + + + +

+

Create a list global that is initialized as an empty list

GLOBAL_LIST_EMPTY_TYPED + + + +

+

Create a typed list global that is initialized as an empty list

GLOBAL_LIST_FILE_LOAD + + + +

+

Load a file in as a global list

GLOBAL_LIST_INIT + + + +

+

Create a list global with an initializer expression

GLOBAL_LIST_INIT_TYPED + + + +

+

Create a typed list global with an initializer expression

GLOBAL_MANAGED + + + +

+

Creates a global initializer with a given InitValue expression, do not use

GLOBAL_PROTECT + + + +

+

Prevents a given global from being VV'd

GLOBAL_RAW + + + +

+

Defines a global var on the controller, do not use

GLOBAL_REAL + + + +

+

Standard typed BYOND global, do not use

GLOBAL_REAL_VAR + + + +

+

Standard BYOND global, do not use

GLOBAL_REFERENCE_LIST_INDEXED + + + +

+

Creates datum reference list

GLOBAL_SUBTYPE_INDEXED + + + +

+

Creates name keyed subtype instance list

GLOBAL_SUBTYPE_PATHS_LIST_INDEXED + + + +

+

Creates list of subtype paths indexed by a variable

GLOBAL_SUBTYPE_PATH_INDEXED + + + +

+

Lists subtypes of a given type, indexed by initial value of a variable

GLOBAL_UNMANAGED + + + +

+

Creates an empty global initializer, do not use

GLOBAL_VAR + + + +

+

Create an untyped null global

GLOBAL_VAR_CONST + + + +

+

Create a global const var, do not use

GLOBAL_VAR_INIT + + + +

+

Create an untyped global with an initializer expression

+ + + diff --git a/code/__DEFINES/_macros.html b/code/__DEFINES/_macros.html new file mode 100644 index 000000000000..8734de5149f1 --- /dev/null +++ b/code/__DEFINES/_macros.html @@ -0,0 +1,53 @@ + + + + + + + code/__DEFINES/_macros.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_macros.dm + +

+ + + + +
calculateticksConverts your ticks to proper tenths.
tcheckShorthand of checking and then sleeping a process based on world CPU.
text_refTakes a datum as input, returns its ref string, or a cached version of it +This allows us to cache \ref creation, which ensures it'll only ever happen once per datum, saving string tree time +It is slightly less optimal then a []'d datum, but the cost is massively outweighed by the potential savings +It will only work for datums mind, for datum reasons +: because of the embedded typecheck

Define Details

+

calculateticks + + + +

+

Converts your ticks to proper tenths.

tcheck + + + +

+

Shorthand of checking and then sleeping a process based on world CPU.

text_ref + + + +

+

Takes a datum as input, returns its ref string, or a cached version of it +This allows us to cache \ref creation, which ensures it'll only ever happen once per datum, saving string tree time +It is slightly less optimal then a []'d datum, but the cost is massively outweighed by the potential savings +It will only work for datums mind, for datum reasons +: because of the embedded typecheck

+ + + diff --git a/code/__DEFINES/_math.html b/code/__DEFINES/_math.html new file mode 100644 index 000000000000..93960fa62029 --- /dev/null +++ b/code/__DEFINES/_math.html @@ -0,0 +1,41 @@ + + + + + + + code/__DEFINES/_math.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_math.dm + +

+ + + +
get_turfGet the turf that A resides in, regardless of any containers.
SIGNGets the sign of x, returns -1 if negative, 0 if 0, 1 if positive

Define Details

+

SIGN + + + +

+

Gets the sign of x, returns -1 if negative, 0 if 0, 1 if positive

get_turf + + + +

+

Get the turf that A resides in, regardless of any containers.

+

Use in favor of A.loc or src.loc so that things work correctly when +stored inside an inventory, locker, or other container.

+ + + diff --git a/code/__DEFINES/_tick.html b/code/__DEFINES/_tick.html new file mode 100644 index 000000000000..3143634f36d0 --- /dev/null +++ b/code/__DEFINES/_tick.html @@ -0,0 +1,77 @@ + + + + + + + code/__DEFINES/_tick.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_tick.dm + +

+ + + + + + + + + + + +
TICK_BYOND_RESERVETick limit while running normally
TICK_LIMIT_TO_RUNTick limit used to resume things in stoplag
TICK_LIMIT_MCTick limit for MC while running
TICK_LIMIT_MC_INIT_DEFAULTTick limit while initializing
TICK_USAGEfor general usage of tick_usage
TICK_USAGE_REALto be used where the result isn't checked
TICK_CHECKReturns true if tick_usage is above the limit
CHECK_TICKruns stoplag if tick_usage is above the limit
TICK_CHECK_HIGH_PRIORITYReturns true if tick usage is above 95, for high priority usage
CHECK_TICK_HIGH_PRIORITYruns stoplag if tick_usage is above 95, for high priority usage

Define Details

+

CHECK_TICK + + +

+

runs stoplag if tick_usage is above the limit

CHECK_TICK_HIGH_PRIORITY + + +

+

runs stoplag if tick_usage is above 95, for high priority usage

TICK_BYOND_RESERVE + + +

+

Tick limit while running normally

TICK_CHECK + + +

+

Returns true if tick_usage is above the limit

TICK_CHECK_HIGH_PRIORITY + + +

+

Returns true if tick usage is above 95, for high priority usage

TICK_LIMIT_MC + + +

+

Tick limit for MC while running

TICK_LIMIT_MC_INIT_DEFAULT + + +

+

Tick limit while initializing

TICK_LIMIT_TO_RUN + + +

+

Tick limit used to resume things in stoplag

TICK_USAGE + + +

+

for general usage of tick_usage

TICK_USAGE_REAL + + +

+

to be used where the result isn't checked

+ + + diff --git a/code/__DEFINES/access.html b/code/__DEFINES/access.html new file mode 100644 index 000000000000..0cfc162b270a --- /dev/null +++ b/code/__DEFINES/access.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/access.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/access.dm + +

+ + + + +
ACCESS_MARINE_AI_TEMPUsed in temporary passes
ACCESS_MARINE_AIUsed as dedicated access to ARES Core.
ACCESS_ARES_DEBUGUsed to access Maintenance Protocols on ARES Interface.

Define Details

+

ACCESS_ARES_DEBUG + + +

+

Used to access Maintenance Protocols on ARES Interface.

ACCESS_MARINE_AI + + +

+

Used as dedicated access to ARES Core.

ACCESS_MARINE_AI_TEMP + + +

+

Used in temporary passes

+ + + diff --git a/code/__DEFINES/admin.html b/code/__DEFINES/admin.html new file mode 100644 index 000000000000..2199db70cc58 --- /dev/null +++ b/code/__DEFINES/admin.html @@ -0,0 +1,94 @@ + + + + + + + code/__DEFINES/admin.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/admin.dm + +

+ + + + + + + + + + + + + + + + +
MAX_KEYPRESS_COMMANDLENGTHMax length of a keypress command before it's considered to be a forged packet/bogus command
MAX_COMMANDS_PER_KEYMaximum keys that can be bound to one button
MAX_KEYS_PER_KEYBINDMaximum keys per keybind
MAX_KEYPRESS_AUTOKICKMax amount of keypress messages per second over two seconds before client is autokicked
HELD_KEY_BUFFER_LENGTHLength of held key buffer
NOTE_ADMINThis note is used by staff for disciplinary record keeping.
NOTE_MERITThis note is used by staff for positive record keeping.
NOTE_COMMANDERThese notes are used by respective whitelist councils for record keeping.
/var/note_categoriesNote categories in text form, in order of their numerical #defines.
ASAY_LINK_NEW_MESSAGE_INDEXfor /proc/check_asay_links, if there are any actionable refs in the asay message, this index in the return list contains the new message text to be printed
ASAY_LINK_PINGED_ADMINS_INDEXfor /proc/check_asay_links, if there are any admin pings in the asay message, this index in the return list contains a list of admins to ping
ANTIGRIEF_DISABLEDDisables antigrief entirely: Anyone can activate explosives at any time on the Almayer.
ANTIGRIEF_NEW_PLAYERSEnables antigrief on the Almayer, but only for new players: Those who've had less than 10 total human hours.
ANTIGRIEF_ENABLEDEnables antigrief entirely: Nobody can activate explosives on the Almayer, unless the ship crashed.

Define Details

+

ANTIGRIEF_DISABLED + + +

+

Disables antigrief entirely: Anyone can activate explosives at any time on the Almayer.

ANTIGRIEF_ENABLED + + +

+

Enables antigrief entirely: Nobody can activate explosives on the Almayer, unless the ship crashed.

ANTIGRIEF_NEW_PLAYERS + + +

+

Enables antigrief on the Almayer, but only for new players: Those who've had less than 10 total human hours.

+

for /proc/check_asay_links, if there are any actionable refs in the asay message, this index in the return list contains the new message text to be printed

+

for /proc/check_asay_links, if there are any admin pings in the asay message, this index in the return list contains a list of admins to ping

HELD_KEY_BUFFER_LENGTH + + +

+

Length of held key buffer

MAX_COMMANDS_PER_KEY + + +

+

Maximum keys that can be bound to one button

MAX_KEYPRESS_AUTOKICK + + +

+

Max amount of keypress messages per second over two seconds before client is autokicked

MAX_KEYPRESS_COMMANDLENGTH + + +

+

Max length of a keypress command before it's considered to be a forged packet/bogus command

MAX_KEYS_PER_KEYBIND + + +

+

Maximum keys per keybind

NOTE_ADMIN + + +

+

This note is used by staff for disciplinary record keeping.

NOTE_COMMANDER + + +

+

These notes are used by respective whitelist councils for record keeping.

NOTE_MERIT + + +

+

This note is used by staff for positive record keeping.

+ + + diff --git a/code/__DEFINES/atmospherics.html b/code/__DEFINES/atmospherics.html new file mode 100644 index 000000000000..cb5bbb93ef81 --- /dev/null +++ b/code/__DEFINES/atmospherics.html @@ -0,0 +1,74 @@ + + + + + + + code/__DEFINES/atmospherics.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics.dm + +

+ + + + + + + + + + + + +
TEMPERATURE_DAMAGE_COEFFICIENTThis is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount.
BODYTEMP_AUTORECOVERY_DIVISORThis is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.
BODYTEMP_AUTORECOVERY_MINIMUMMinimum amount of kelvin moved toward 310.15K per tick. So long as abs(310.15 - bodytemp) is more than 50.
BODYTEMP_COLD_DIVISORSimilar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.
BODYTEMP_HEAT_DIVISORSimilar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.
BODYTEMP_COOLING_MAXThe maximum number of degrees that your body can cool in 1 tick, when in a cold area.
BODYTEMP_HEATING_MAXThe maximum number of degrees that your body can heat up in 1 tick, when in a hot area.
BODYTEMP_HEAT_DAMAGE_LIMITThe limit the human body can take before it starts taking damage from heat.
BODYTEMP_COLD_DAMAGE_LIMITThe limit the human body can take before it starts taking damage from coldness.
/var/MAX_EXPLOSION_RANGEThis was a define, but I changed it to a variable so it can be changed in-game.(kept the all-caps definition because... code...) -Errorage

Define Details

+

BODYTEMP_AUTORECOVERY_DIVISOR + + +

+

This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.

BODYTEMP_AUTORECOVERY_MINIMUM + + +

+

Minimum amount of kelvin moved toward 310.15K per tick. So long as abs(310.15 - bodytemp) is more than 50.

BODYTEMP_COLD_DAMAGE_LIMIT + + +

+

The limit the human body can take before it starts taking damage from coldness.

BODYTEMP_COLD_DIVISOR + + +

+

Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.

BODYTEMP_COOLING_MAX + + +

+

The maximum number of degrees that your body can cool in 1 tick, when in a cold area.

BODYTEMP_HEATING_MAX + + +

+

The maximum number of degrees that your body can heat up in 1 tick, when in a hot area.

BODYTEMP_HEAT_DAMAGE_LIMIT + + +

+

The limit the human body can take before it starts taking damage from heat.

BODYTEMP_HEAT_DIVISOR + + +

+

Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.

TEMPERATURE_DAMAGE_COEFFICIENT + + +

+

This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount.

+ + + diff --git a/code/__DEFINES/autolathe.html b/code/__DEFINES/autolathe.html new file mode 100644 index 000000000000..bf3a69c4c5ae --- /dev/null +++ b/code/__DEFINES/autolathe.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/autolathe.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/autolathe.dm + +

+ + + + + +
AUTOLATHE_CATEGORY_ALLCATEGORY DEFINES
AUTOLATHE_STANDARD_CATEGORIES_LISTstandard lathe
AUTOLATHE_ARMYLATHE_CATEGORIES_LISTarmylathe
AUTOLATHE_MEDILATHE_CATEGORIES_LISTmedilathe

Define Details

+

AUTOLATHE_ARMYLATHE_CATEGORIES_LIST + + +

+

armylathe

AUTOLATHE_CATEGORY_ALL + + +

+

CATEGORY DEFINES

AUTOLATHE_MEDILATHE_CATEGORIES_LIST + + +

+

medilathe

AUTOLATHE_STANDARD_CATEGORIES_LIST + + +

+

standard lathe

+ + + diff --git a/code/__DEFINES/bullet_traits.html b/code/__DEFINES/bullet_traits.html new file mode 100644 index 000000000000..a8bce9601434 --- /dev/null +++ b/code/__DEFINES/bullet_traits.html @@ -0,0 +1,49 @@ + + + + + + + code/__DEFINES/bullet_traits.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/bullet_traits.dm + +

+ + + + +
BULLET_TRAIT_ENTRYAn entry to a list for giving projectiles bullet traits +Must be placed inside of a list
BULLET_TRAIT_ENTRY_IDAn entry to a list for giving projectiles bullet traits with a unique ID +Must be placed inside of a list
GIVE_BULLET_TRAITHelper define for directly changing a projectile's bullet traits

Define Details

+

BULLET_TRAIT_ENTRY + + + +

+

An entry to a list for giving projectiles bullet traits +Must be placed inside of a list

BULLET_TRAIT_ENTRY_ID + + + +

+

An entry to a list for giving projectiles bullet traits with a unique ID +Must be placed inside of a list

GIVE_BULLET_TRAIT + + + +

+

Helper define for directly changing a projectile's bullet traits

+ + + diff --git a/code/__DEFINES/chat.html b/code/__DEFINES/chat.html new file mode 100644 index 000000000000..28327541920a --- /dev/null +++ b/code/__DEFINES/chat.html @@ -0,0 +1,35 @@ + + + + + + + code/__DEFINES/chat.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/chat.dm + +

+ + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

examine_blockAdds a generic box around whatever message you're sending in chat. Really makes things stand out.

Define Details

+

examine_block + + + +

+

Adds a generic box around whatever message you're sending in chat. Really makes things stand out.

+ + + diff --git a/code/__DEFINES/chemistry.html b/code/__DEFINES/chemistry.html new file mode 100644 index 000000000000..992c11453fb9 --- /dev/null +++ b/code/__DEFINES/chemistry.html @@ -0,0 +1,157 @@ + + + + + + + code/__DEFINES/chemistry.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/chemistry.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
PILL_ICON_CHOICESAmount of random icon variations for pills in total
CHEM_CLASS_NONEDefault. Chemicals not used in the chem generator
CHEM_CLASS_BASICChemicals that can be dispensed directly from the dispenser (iron, oxygen)
CHEM_CLASS_COMMONChemicals which recipe is commonly known and made (bicaridine, alkysine, salt)
CHEM_CLASS_UNCOMMONChemicals which recipe is uncommonly known and made (spacedrugs, foaming agent)
CHEM_CLASS_RAREChemicals without a recipe but can be obtained on the Almayer, or requires rare components
CHEM_CLASS_SPECIALChemicals without a recipe and can't be obtained on the Almayer, or requires special components
CHEM_CLASS_ULTRARandomly generated chemicals
REAGENT_TYPE_MEDICALUsed to restrict recipes in the generator from employing all reagents of this type
REAGENT_SCANNABLEWhether the reagent shows up on health analysers.
REAGENT_NOT_INGESTIBLEWhether the reagent canNOT be ingested and must be delivered through injection. Used by electrogenetic property.
REAGENT_CANNOT_OVERDOSEWhether the reagent canNOT trigger its overdose effects. Used by regulating property. For ordinary reagents with no overdose effect, instead keep var/overdose at 0.
REAGENT_NO_GENERATIONReagent doesn't randomly generate in chemicals
PROPERTY_DISABLEDthe property is disabled and can't spawn anywhere, however is still functional
PROPERTY_COMMONcan be generated anywhere and available in round start chems
PROPERTY_UNCOMMONcan be generated anywhere, but not available in round start chems
PROPERTY_RAREcan only be generated at specific gen_tiers, but can also be made through specific property combinations
PROPERTY_LEGENDARYcan strictly only be generated at specific gen_tiers
PROPERTY_ADMINcan only be spawned through admin powers
RESEARCH_LEVEL_INCREASE_MULTIPLIERScales cost of increasing clearance using credits
TECHTREE_LEVEL_MULTIPLIERScales tech level to max amplification level
CHEM_FIRE_PENETRATION_THRESHOLDThe minimum amount of a fire penetrating chemical required to turn a fire into fire penetrating
CHEM_FIRE_STAR_THRESHOLDAn intensity greater than this will cause a fire to be star shape
CHEM_FIRE_PHOSPHORUS_PER_RADIUSAmount of phosphorus that equals 1 radius of white phosphorus smoke
EXPLOSION_PHORON_THRESHOLDThe minimum amount of phoron required to turn shrapnel into incendiary shrapnel
INCENDIARY_SHARDS_MAX_REDUCTIONThe maximum amount of shards is divided by this number if the shards are incendiary

Define Details

+

CHEM_CLASS_BASIC + + +

+

Chemicals that can be dispensed directly from the dispenser (iron, oxygen)

CHEM_CLASS_COMMON + + +

+

Chemicals which recipe is commonly known and made (bicaridine, alkysine, salt)

CHEM_CLASS_NONE + + +

+

Default. Chemicals not used in the chem generator

CHEM_CLASS_RARE + + +

+

Chemicals without a recipe but can be obtained on the Almayer, or requires rare components

CHEM_CLASS_SPECIAL + + +

+

Chemicals without a recipe and can't be obtained on the Almayer, or requires special components

CHEM_CLASS_ULTRA + + +

+

Randomly generated chemicals

CHEM_CLASS_UNCOMMON + + +

+

Chemicals which recipe is uncommonly known and made (spacedrugs, foaming agent)

CHEM_FIRE_PENETRATION_THRESHOLD + + +

+

The minimum amount of a fire penetrating chemical required to turn a fire into fire penetrating

CHEM_FIRE_PHOSPHORUS_PER_RADIUS + + +

+

Amount of phosphorus that equals 1 radius of white phosphorus smoke

CHEM_FIRE_STAR_THRESHOLD + + +

+

An intensity greater than this will cause a fire to be star shape

EXPLOSION_PHORON_THRESHOLD + + +

+

The minimum amount of phoron required to turn shrapnel into incendiary shrapnel

INCENDIARY_SHARDS_MAX_REDUCTION + + +

+

The maximum amount of shards is divided by this number if the shards are incendiary

PILL_ICON_CHOICES + + +

+

Amount of random icon variations for pills in total

PROPERTY_ADMIN + + +

+

can only be spawned through admin powers

PROPERTY_COMMON + + +

+

can be generated anywhere and available in round start chems

PROPERTY_DISABLED + + +

+

the property is disabled and can't spawn anywhere, however is still functional

PROPERTY_LEGENDARY + + +

+

can strictly only be generated at specific gen_tiers

PROPERTY_RARE + + +

+

can only be generated at specific gen_tiers, but can also be made through specific property combinations

PROPERTY_UNCOMMON + + +

+

can be generated anywhere, but not available in round start chems

REAGENT_CANNOT_OVERDOSE + + +

+

Whether the reagent canNOT trigger its overdose effects. Used by regulating property. For ordinary reagents with no overdose effect, instead keep var/overdose at 0.

REAGENT_NOT_INGESTIBLE + + +

+

Whether the reagent canNOT be ingested and must be delivered through injection. Used by electrogenetic property.

REAGENT_NO_GENERATION + + +

+

Reagent doesn't randomly generate in chemicals

REAGENT_SCANNABLE + + +

+

Whether the reagent shows up on health analysers.

REAGENT_TYPE_MEDICAL + + +

+

Used to restrict recipes in the generator from employing all reagents of this type

RESEARCH_LEVEL_INCREASE_MULTIPLIER + + +

+

Scales cost of increasing clearance using credits

TECHTREE_LEVEL_MULTIPLIER + + +

+

Scales tech level to max amplification level

+ + + diff --git a/code/__DEFINES/clans.html b/code/__DEFINES/clans.html new file mode 100644 index 000000000000..9031eb507453 --- /dev/null +++ b/code/__DEFINES/clans.html @@ -0,0 +1,107 @@ + + + + + + + code/__DEFINES/clans.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/clans.dm + +

+ + + + + + + + + + + + + + + + + +
CLAN_PERMISSION_USER_MODIFYModify ranks within clan
CLAN_PERMISSION_ADMIN_VIEWView all clans
CLAN_PERMISSION_ADMIN_MODIFYModify all clans
CLAN_PERMISSION_ADMIN_MOVEMove people to and from clans
CLAN_PERMISSION_ADMIN_MANAGERManages the ancients
CLAN_RANK_UNBLOODEDUnused for the moment
CLAN_RANK_YOUNGClanless
CLAN_RANK_BLOODEDNew to the clan
CLAN_RANK_ADMINMust be given by someone with CLAN_PERMISSION_ADMIN_MODIFY
CLAN_LIMIT_NUMBERHard limit
CLAN_LIMIT_SIZEScales with clan size
CLAN_ACTION_CLAN_RENAMESet name of clan
CLAN_ACTION_CLAN_SETDESCSet description of clan
CLAN_ACTION_CLAN_SETHONORSet honor of clan
CLAN_ACTION_PLAYER_MOVECLANSet a player's clan
CLAN_ACTION_PLAYER_MODIFYRANKSet a player's rank. Resets when moved from clan to Young Blood

Define Details

+

CLAN_ACTION_CLAN_RENAME + + +

+

Set name of clan

CLAN_ACTION_CLAN_SETDESC + + +

+

Set description of clan

CLAN_ACTION_CLAN_SETHONOR + + +

+

Set honor of clan

CLAN_ACTION_PLAYER_MODIFYRANK + + +

+

Set a player's rank. Resets when moved from clan to Young Blood

CLAN_ACTION_PLAYER_MOVECLAN + + +

+

Set a player's clan

CLAN_LIMIT_NUMBER + + +

+

Hard limit

CLAN_LIMIT_SIZE + + +

+

Scales with clan size

CLAN_PERMISSION_ADMIN_MANAGER + + +

+

Manages the ancients

CLAN_PERMISSION_ADMIN_MODIFY + + +

+

Modify all clans

CLAN_PERMISSION_ADMIN_MOVE + + +

+

Move people to and from clans

CLAN_PERMISSION_ADMIN_VIEW + + +

+

View all clans

CLAN_PERMISSION_USER_MODIFY + + +

+

Modify ranks within clan

CLAN_RANK_ADMIN + + +

+

Must be given by someone with CLAN_PERMISSION_ADMIN_MODIFY

CLAN_RANK_BLOODED + + +

+

New to the clan

CLAN_RANK_UNBLOODED + + +

+

Unused for the moment

CLAN_RANK_YOUNG + + +

+

Clanless

+ + + diff --git a/code/__DEFINES/colours.html b/code/__DEFINES/colours.html new file mode 100644 index 000000000000..c0c28b7a8d00 --- /dev/null +++ b/code/__DEFINES/colours.html @@ -0,0 +1,195 @@ + + + + + + + code/__DEFINES/colours.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/colours.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ADMIN_COLOUR_PRIORITYOnly used by rare effects like greentext colouring mobs and when admins varedit color
TEMPORARY_COLOUR_PRIORITYe.g. purple effect of the revenant on a mob, black effect when mob electrocuted
WASHABLE_COLOUR_PRIORITYColour splashed onto an atom (e.g. paint on turf)
FIXED_COLOUR_PRIORITYColour inherent to the atom (e.g. blob color)
COLOUR_PRIORITY_AMOUNThow many color priority levels there are.
COLOUR_SAMPLE_YELLOWColours for xenobiology vatgrowing
COLOUR_THEME_MIDNIGHTMain colours for UI themes
COLOUR_PERIWINKLEEColours for eigenstates
LIGHT_COLOUR_GREENSome defines to generalise colours used in lighting.
LIGHT_COLOUR_ELECTRIC_GREENElectric green. rgb(0, 255, 0)
LIGHT_COLOUR_BLUECold, diluted blue. rgb(100, 150, 250)
LIGHT_COLOUR_BLUEGREENLight blueish green. rgb(125, 225, 175)
LIGHT_COLOUR_CYANDiluted cyan. rgb(125, 225, 225)
LIGHT_COLOUR_ELECTRIC_CYANElectric cyan rgb(0, 255, 255)
LIGHT_COLOUR_LIGHT_CYANMore-saturated cyan. rgb(64, 206, 255)
LIGHT_COLOUR_DARK_BLUESaturated blue. rgb(51, 117, 248)
LIGHT_COLOUR_PINKDiluted, mid-warmth pink. rgb(225, 125, 225)
LIGHT_COLOUR_YELLOWDimmed yellow, leaning kaki. rgb(225, 225, 125)
LIGHT_COLOUR_BROWNClear brown, mostly dim. rgb(150, 100, 50)
LIGHT_COLOUR_ORANGEMostly pure orange. rgb(250, 150, 50)
LIGHT_COLOUR_PURPLELight Purple. rgb(149, 44, 244)
LIGHT_COLOUR_LAVENDERLess-saturated light purple. rgb(155, 81, 255)
LIGHT_COLOUR_HOLY_MAGICslightly desaturated bright yellow.
LIGHT_COLOUR_BLOOD_MAGICdeep crimson
LIGHT_COLOUR_FIREWarm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
LIGHT_COLOUR_LAVAVery warm yellow, leaning slightly towards orange. rgb(196, 138, 24)
LIGHT_COLOUR_FLAREBright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)
LIGHT_COLOUR_SLIME_LAMPWeird color, between yellow and green, very slimy. rgb(175, 200, 75)
LIGHT_COLOUR_TUNGSTENExtremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175)
LIGHT_COLOUR_HALOGENBarely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
DEFAULT_ASAY_COLOURThe default color for admin say, used as a fallback when the preference is not enabled
AMBIENT_OCCLUSIONIcon filter that creates ambient occlusion
GAUSSIAN_BLURIcon filter that creates gaussian blur

Define Details

+

ADMIN_COLOUR_PRIORITY + + +

+

Only used by rare effects like greentext colouring mobs and when admins varedit color

AMBIENT_OCCLUSION + + +

+

Icon filter that creates ambient occlusion

COLOUR_PERIWINKLEE + + +

+

Colours for eigenstates

COLOUR_PRIORITY_AMOUNT + + +

+

how many color priority levels there are.

COLOUR_SAMPLE_YELLOW + + +

+

Colours for xenobiology vatgrowing

COLOUR_THEME_MIDNIGHT + + +

+

Main colours for UI themes

DEFAULT_ASAY_COLOUR + + +

+

The default color for admin say, used as a fallback when the preference is not enabled

FIXED_COLOUR_PRIORITY + + +

+

Colour inherent to the atom (e.g. blob color)

GAUSSIAN_BLUR + + + +

+

Icon filter that creates gaussian blur

LIGHT_COLOUR_BLOOD_MAGIC + + +

+

deep crimson

LIGHT_COLOUR_BLUE + + +

+

Cold, diluted blue. rgb(100, 150, 250)

LIGHT_COLOUR_BLUEGREEN + + +

+

Light blueish green. rgb(125, 225, 175)

LIGHT_COLOUR_BROWN + + +

+

Clear brown, mostly dim. rgb(150, 100, 50)

LIGHT_COLOUR_CYAN + + +

+

Diluted cyan. rgb(125, 225, 225)

LIGHT_COLOUR_DARK_BLUE + + +

+

Saturated blue. rgb(51, 117, 248)

LIGHT_COLOUR_ELECTRIC_CYAN + + +

+

Electric cyan rgb(0, 255, 255)

LIGHT_COLOUR_ELECTRIC_GREEN + + +

+

Electric green. rgb(0, 255, 0)

LIGHT_COLOUR_FIRE + + +

+

Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25)

LIGHT_COLOUR_FLARE + + +

+

Bright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)

LIGHT_COLOUR_GREEN + + +

+

Some defines to generalise colours used in lighting.

+

Important note: colours can end up significantly different from the basic html picture, especially when saturated +Bright but quickly dissipating neon green. rgb(100, 200, 100)

LIGHT_COLOUR_HALOGEN + + +

+

Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)

LIGHT_COLOUR_HOLY_MAGIC + + +

+

slightly desaturated bright yellow.

LIGHT_COLOUR_LAVA + + +

+

Very warm yellow, leaning slightly towards orange. rgb(196, 138, 24)

LIGHT_COLOUR_LAVENDER + + +

+

Less-saturated light purple. rgb(155, 81, 255)

LIGHT_COLOUR_LIGHT_CYAN + + +

+

More-saturated cyan. rgb(64, 206, 255)

LIGHT_COLOUR_ORANGE + + +

+

Mostly pure orange. rgb(250, 150, 50)

LIGHT_COLOUR_PINK + + +

+

Diluted, mid-warmth pink. rgb(225, 125, 225)

LIGHT_COLOUR_PURPLE + + +

+

Light Purple. rgb(149, 44, 244)

LIGHT_COLOUR_SLIME_LAMP + + +

+

Weird color, between yellow and green, very slimy. rgb(175, 200, 75)

LIGHT_COLOUR_TUNGSTEN + + +

+

Extremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175)

LIGHT_COLOUR_YELLOW + + +

+

Dimmed yellow, leaning kaki. rgb(225, 225, 125)

TEMPORARY_COLOUR_PRIORITY + + +

+

e.g. purple effect of the revenant on a mob, black effect when mob electrocuted

WASHABLE_COLOUR_PRIORITY + + +

+

Colour splashed onto an atom (e.g. paint on turf)

+ + + diff --git a/code/__DEFINES/conflict.html b/code/__DEFINES/conflict.html new file mode 100644 index 000000000000..292274793286 --- /dev/null +++ b/code/__DEFINES/conflict.html @@ -0,0 +1,172 @@ + + + + + + + code/__DEFINES/conflict.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/conflict.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AMMO_ANTISTRUCTPrimarily for railgun but can be implemented for other projectiles that are for antitank and antistructure (wall/machine)
AMMO_STRIKES_SURFACEIf the projectile hits a dense turf it'll do on_hit_turf on the turf just in front of the turf instead of on the turf itself
AMMO_HITS_TARGET_TURFWhether or not the bullet hits the target that was clicked or if it keeps travelling
AMMO_NO_DEFLECTCan't be deflected
AMMO_MPCan only hit people with criminal status
AMMO_FLAMEHandles sentry flamers glob
PROJECTILE_SHRAPNELProjectile is shrpanel which allow it to skip some collisions
PROJECTILE_BULLSEYEApply additional effects upon hitting clicked target
GUN_INTERNAL_MAGIf checking for ammo with current.mag you have to check it against numerical values, as booleans will not trigger.
GUN_ONE_HAND_WIELDEDremoves unwielded accuracy and scatter penalties (not recoil)
GUN_RECOIL_BUILDUPWhether the gun has been fired by its current user (reset upon dropped())
GUN_SUPPORT_PLATFORMsupport weapon, bipod will grant IFF
GUN_NO_DESCRIPTIONNo gun description, only base desc
ATTACH_PROJECTILEfor attachments that fire bullets
ATTACH_WEAPONis a weapon that fires stuff
ATTACH_MELEEThis attachment should activate if you attack() with it attached.
AMMUNITION_HANDFUL_BOXfor dump_ammo_to(), boxes of handfuls like shotgun shell boxes
SHOES_SLOWDOWNHow much shoes slow you down by default. Negative values speed you up
THROW_DELAYThis is how long you must wait after throwing something to throw again
EXPLOSION_THRESHOLD_GIBhow much it takes to gib a mob
EXPLOSION_PRONE_MULTIPLIERprone mobs receive less damage from explosions
FALLOFF_PER_TILE1 % per 1 tile per 1 normalcy
THROWFORCE_COEFFCoefficient of throwforce when calculating damage from an atom colliding with a mob
MOB_SIZE_COEFFCoefficient of mobsize when calculating damage from a mob colliding with a dense atom
THROW_SPEED_DENSE_COEFFCoefficient of throwspeed when calculating damage from a mob colliding with a dense atom
THROW_SPEED_IMPACT_COEFFCoefficient of throwspeed when calculating damage from an atom colliding with a mob
GUN_LOW_AMMO_PERCENTAGEA gun filled with this percentage of it's total ammo or lower is considered to have low ammo
DMG_ORGAN_DAM_PROB_MULTThe multiplier to damage when calculating organ damage probability
BRUTE_ORGAN_DAM_PROB_MULTThe multiplier to existing brute damage when calculating organ damage probability

Define Details

+

AMMO_ANTISTRUCT + + +

+

Primarily for railgun but can be implemented for other projectiles that are for antitank and antistructure (wall/machine)

AMMO_FLAME + + +

+

Handles sentry flamers glob

AMMO_HITS_TARGET_TURF + + +

+

Whether or not the bullet hits the target that was clicked or if it keeps travelling

AMMO_MP + + +

+

Can only hit people with criminal status

AMMO_NO_DEFLECT + + +

+

Can't be deflected

AMMO_STRIKES_SURFACE + + +

+

If the projectile hits a dense turf it'll do on_hit_turf on the turf just in front of the turf instead of on the turf itself

AMMUNITION_HANDFUL_BOX + + +

+

for dump_ammo_to(), boxes of handfuls like shotgun shell boxes

ATTACH_MELEE + + +

+

This attachment should activate if you attack() with it attached.

ATTACH_PROJECTILE + + +

+

for attachments that fire bullets

ATTACH_WEAPON + + +

+

is a weapon that fires stuff

BRUTE_ORGAN_DAM_PROB_MULT + + +

+

The multiplier to existing brute damage when calculating organ damage probability

DMG_ORGAN_DAM_PROB_MULT + + +

+

The multiplier to damage when calculating organ damage probability

EXPLOSION_PRONE_MULTIPLIER + + +

+

prone mobs receive less damage from explosions

EXPLOSION_THRESHOLD_GIB + + +

+

how much it takes to gib a mob

FALLOFF_PER_TILE + + +

+

1 % per 1 tile per 1 normalcy

GUN_INTERNAL_MAG + + +

+

If checking for ammo with current.mag you have to check it against numerical values, as booleans will not trigger.

GUN_LOW_AMMO_PERCENTAGE + + +

+

A gun filled with this percentage of it's total ammo or lower is considered to have low ammo

GUN_NO_DESCRIPTION + + +

+

No gun description, only base desc

GUN_ONE_HAND_WIELDED + + +

+

removes unwielded accuracy and scatter penalties (not recoil)

GUN_RECOIL_BUILDUP + + +

+

Whether the gun has been fired by its current user (reset upon dropped())

GUN_SUPPORT_PLATFORM + + +

+

support weapon, bipod will grant IFF

MOB_SIZE_COEFF + + +

+

Coefficient of mobsize when calculating damage from a mob colliding with a dense atom

PROJECTILE_BULLSEYE + + +

+

Apply additional effects upon hitting clicked target

PROJECTILE_SHRAPNEL + + +

+

Projectile is shrpanel which allow it to skip some collisions

SHOES_SLOWDOWN + + +

+

How much shoes slow you down by default. Negative values speed you up

THROWFORCE_COEFF + + +

+

Coefficient of throwforce when calculating damage from an atom colliding with a mob

THROW_DELAY + + +

+

This is how long you must wait after throwing something to throw again

THROW_SPEED_DENSE_COEFF + + +

+

Coefficient of throwspeed when calculating damage from a mob colliding with a dense atom

THROW_SPEED_IMPACT_COEFF + + +

+

Coefficient of throwspeed when calculating damage from an atom colliding with a mob

+ + + diff --git a/code/__DEFINES/cooldowns.html b/code/__DEFINES/cooldowns.html new file mode 100644 index 000000000000..d99aaa59c9f9 --- /dev/null +++ b/code/__DEFINES/cooldowns.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/cooldowns.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cooldowns.dm + +

+ + + +
COMSIG_CD_STOPCOOLDOWN SYSTEMS
COOLDOWN_SECONDSLEFTjust pre-divides the result by 10 to give an output in seconds

Define Details

+

COMSIG_CD_STOP + + + +

+

COOLDOWN SYSTEMS

COOLDOWN_SECONDSLEFT + + + +

+

just pre-divides the result by 10 to give an output in seconds

+ + + diff --git a/code/__DEFINES/dcs/flags.html b/code/__DEFINES/dcs/flags.html new file mode 100644 index 000000000000..228dbe8066d4 --- /dev/null +++ b/code/__DEFINES/dcs/flags.html @@ -0,0 +1,83 @@ + + + + + + + code/__DEFINES/dcs/flags.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/flags.dm + +

+ + + + + + + + + + + +
COMPONENT_INCOMPATIBLEReturn this from /datum/component/Initialize or datum/component/OnTransfer to have the component be deleted if it's applied to an incorrect type. +parent must not be modified if this is to be returned. +This will be noted in the runtime logs
COMPONENT_NOTRANSFERReturned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE
ELEMENT_INCOMPATIBLEReturn value to cancel attaching
ELEMENT_DETACHCauses the detach proc to be called when the host object is being deleted
ELEMENT_BESPOKEOnly elements created with the same arguments given after id_arg_index share an element instance +The arguments are the same when the text and number values are the same and all other values have the same ref
COMPONENT_DUPE_HIGHLANDERold component is deleted (default)
COMPONENT_DUPE_ALLOWEDduplicates allowed
COMPONENT_DUPE_UNIQUEnew component is deleted
COMPONENT_DUPE_UNIQUE_PASSARGSold component is given the initialization args of the new
COMPONENT_DUPE_SELECTIVEeach component of the same type is consulted as to whether the duplicate should be allowed

Define Details

+

COMPONENT_DUPE_ALLOWED + + +

+

duplicates allowed

COMPONENT_DUPE_HIGHLANDER + + +

+

old component is deleted (default)

COMPONENT_DUPE_SELECTIVE + + +

+

each component of the same type is consulted as to whether the duplicate should be allowed

COMPONENT_DUPE_UNIQUE + + +

+

new component is deleted

COMPONENT_DUPE_UNIQUE_PASSARGS + + +

+

old component is given the initialization args of the new

COMPONENT_INCOMPATIBLE + + +

+

Return this from /datum/component/Initialize or datum/component/OnTransfer to have the component be deleted if it's applied to an incorrect type. +parent must not be modified if this is to be returned. +This will be noted in the runtime logs

COMPONENT_NOTRANSFER + + +

+

Returned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE

ELEMENT_BESPOKE + + +

+

Only elements created with the same arguments given after id_arg_index share an element instance +The arguments are the same when the text and number values are the same and all other values have the same ref

ELEMENT_DETACH + + +

+

Causes the detach proc to be called when the host object is being deleted

ELEMENT_INCOMPATIBLE + + +

+

Return value to cancel attaching

+ + + diff --git a/code/__DEFINES/dcs/helpers.html b/code/__DEFINES/dcs/helpers.html new file mode 100644 index 000000000000..68720511995a --- /dev/null +++ b/code/__DEFINES/dcs/helpers.html @@ -0,0 +1,71 @@ + + + + + + + code/__DEFINES/dcs/helpers.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/helpers.dm + +

+ + + + + + + +
SEND_SIGNALUsed to trigger signals and call procs registered for that signal +The datum hosting the signal is automaticaly added as the first argument +Returns a bitfield gathered from all registered procs +Arguments given here are packaged in a list and given to _SendSignal
SIGNAL_HANDLERSignifies that this proc is used to handle signals. +Every proc you pass to RegisterSignal must have this.
SIGNAL_HANDLER_DOES_SLEEPSignifies that this proc is used to handle signals, but also sleeps. +Do not use this for new work.
AddElementA wrapper for _AddElement that allows us to pretend we're using normal named arguments
RemoveElementA wrapper for _RemoveElement that allows us to pretend we're using normal named arguments
AddComponentA wrapper for _AddComponent that allows us to pretend we're using normal named arguments

Define Details

+

AddComponent + + + +

+

A wrapper for _AddComponent that allows us to pretend we're using normal named arguments

AddElement + + + +

+

A wrapper for _AddElement that allows us to pretend we're using normal named arguments

RemoveElement + + + +

+

A wrapper for _RemoveElement that allows us to pretend we're using normal named arguments

SEND_SIGNAL + + + +

+

Used to trigger signals and call procs registered for that signal +The datum hosting the signal is automaticaly added as the first argument +Returns a bitfield gathered from all registered procs +Arguments given here are packaged in a list and given to _SendSignal

SIGNAL_HANDLER + + +

+

Signifies that this proc is used to handle signals. +Every proc you pass to RegisterSignal must have this.

SIGNAL_HANDLER_DOES_SLEEP + + +

+

Signifies that this proc is used to handle signals, but also sleeps. +Do not use this for new work.

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/mob/living/signals_human.html b/code/__DEFINES/dcs/signals/atom/mob/living/signals_human.html new file mode 100644 index 000000000000..3556a8a4cb1d --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/mob/living/signals_human.html @@ -0,0 +1,112 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/mob/living/signals_human.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/mob/living/signals_human.dm + +

+ + + + + + + + + + + + + + + + + + +
COMSIG_HUMAN_FORCESAYfrom /mob/living/carbon/human/proc/force_say(): ()
COMSIG_HUMAN_EXTINGUISHFrom /mob/living/carbon/human/ExtinguishMob()
COMSIG_HUMAN_REVIVEDFrom /obj/item/device/defibrillator/attack
COMSIG_HUMAN_PRE_BULLET_ACTFrom /mob/living/carbon/human/bullet_act
COMSIG_HUMAN_BULLET_ACTFrom /mob/living/carbon/human/bullet_act(): (damage_result, ammo_flags, obj/item/projectile/P)
COMSIG_HUMAN_BLOOD_CROSSEDFrom /obj/effect/decal/cleanable/blood/Crossed(): (amount, bcolor, dry_time_left)
COMSIG_HUMAN_ALIEN_ATTACKfrom /mob/living/carbon/human/attack_alien()
COMSIG_HUMAN_IMPREGNATEFrom /obj/item/clothing/mask/facehugger/proc/impregnate(): (obj/item/clothing/mask/facehugger/hugger)
COMSIG_HUMAN_OVERLAY_APPLIEDFrom /mob/living/carbon/human/apply_overlay(): (cache_index, overlay_image)
COMSIG_HUMAN_OVERLAY_REMOVEDFrom /mob/living/carbon/human/remove_overlay(): (cache_index, overlay_image)
COMSIG_HUMAN_FLAY_ATTEMPTFrom /datum/flaying_datum
COMSIG_HUMAN_POST_UPDATE_SIGHTfrom /mob/living/carbon/human/update_sight()
COMSIG_HUMAN_POST_MOVE_DELAYfrom /mob/living/carbon/human/movement_delay(): (list/movedata)
COMSIG_HUMAN_CARRYFrom /mob/living/carbon/human/MouseDrop_T(atom/dropping, mob/user)
COMSIG_HUMAN_ATTEMPTING_EQUIPFrom /mob/proc/equip_to_slot_if_possible()
COMSIG_HUMAN_SURGERY_APPLY_MODIFIERSfrom /datum/surgery_step/proc/attempt_step()
COMSIG_HUMAN_COLD_PROTECTION_APPLY_MODIFIERSFrom /mob/living/carbon/human/proc/get_flags_cold_protection()

Define Details

+

COMSIG_HUMAN_ALIEN_ATTACK + + +

+

from /mob/living/carbon/human/attack_alien()

COMSIG_HUMAN_ATTEMPTING_EQUIP + + +

+

From /mob/proc/equip_to_slot_if_possible()

COMSIG_HUMAN_BLOOD_CROSSED + + +

+

From /obj/effect/decal/cleanable/blood/Crossed(): (amount, bcolor, dry_time_left)

COMSIG_HUMAN_BULLET_ACT + + +

+

From /mob/living/carbon/human/bullet_act(): (damage_result, ammo_flags, obj/item/projectile/P)

COMSIG_HUMAN_CARRY + + +

+

From /mob/living/carbon/human/MouseDrop_T(atom/dropping, mob/user)

COMSIG_HUMAN_COLD_PROTECTION_APPLY_MODIFIERS + + +

+

From /mob/living/carbon/human/proc/get_flags_cold_protection()

COMSIG_HUMAN_EXTINGUISH + + +

+

From /mob/living/carbon/human/ExtinguishMob()

COMSIG_HUMAN_FLAY_ATTEMPT + + +

+

From /datum/flaying_datum

COMSIG_HUMAN_FORCESAY + + +

+

from /mob/living/carbon/human/proc/force_say(): ()

COMSIG_HUMAN_IMPREGNATE + + +

+

From /obj/item/clothing/mask/facehugger/proc/impregnate(): (obj/item/clothing/mask/facehugger/hugger)

COMSIG_HUMAN_OVERLAY_APPLIED + + +

+

From /mob/living/carbon/human/apply_overlay(): (cache_index, overlay_image)

COMSIG_HUMAN_OVERLAY_REMOVED + + +

+

From /mob/living/carbon/human/remove_overlay(): (cache_index, overlay_image)

COMSIG_HUMAN_POST_MOVE_DELAY + + +

+

from /mob/living/carbon/human/movement_delay(): (list/movedata)

COMSIG_HUMAN_POST_UPDATE_SIGHT + + +

+

from /mob/living/carbon/human/update_sight()

COMSIG_HUMAN_PRE_BULLET_ACT + + +

+

From /mob/living/carbon/human/bullet_act

COMSIG_HUMAN_REVIVED + + +

+

From /obj/item/device/defibrillator/attack

COMSIG_HUMAN_SURGERY_APPLY_MODIFIERS + + +

+

from /datum/surgery_step/proc/attempt_step()

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/mob/living/signals_living.html b/code/__DEFINES/dcs/signals/atom/mob/living/signals_living.html new file mode 100644 index 000000000000..e547737106ad --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/mob/living/signals_living.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/mob/living/signals_living.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/mob/living/signals_living.dm + +

+ + + + + + + + + + +
COMSIG_MOB_RESISTEDFrom /mob/living/verb/resist()
COMSIG_MOB_RECALCULATE_CLIENT_COLORFrom /mob/living/verb/resist()
COMSIG_LIVING_REJUVENATEDFrom /mob/living/rejuvenate
COMSIG_LIVING_PREIGNITIONFrom /mob/living/proc/IgniteMob
COMSIG_LIVING_FLAMER_CROSSEDFrom /obj/flamer_fire/Crossed
COMSIG_LIVING_FLAMER_FLAMEDFrom /obj/flamer_fire/Initialize
COMSIG_LIVING_ZOOM_OUTFrom /obj/item/proc/unzoom
COMSIG_LIVING_CLIMB_STRUCTUREFrom /obj/structure/proc/do_climb(var/mob/living/user, mods)
COMSIG_LIVING_PRE_COLLIDEFrom /mob/living/Collide(): (atom/A)

Define Details

+

COMSIG_LIVING_CLIMB_STRUCTURE + + +

+

From /obj/structure/proc/do_climb(var/mob/living/user, mods)

COMSIG_LIVING_FLAMER_CROSSED + + +

+

From /obj/flamer_fire/Crossed

COMSIG_LIVING_FLAMER_FLAMED + + +

+

From /obj/flamer_fire/Initialize

COMSIG_LIVING_PREIGNITION + + +

+

From /mob/living/proc/IgniteMob

COMSIG_LIVING_PRE_COLLIDE + + +

+

From /mob/living/Collide(): (atom/A)

COMSIG_LIVING_REJUVENATED + + +

+

From /mob/living/rejuvenate

COMSIG_LIVING_ZOOM_OUT + + +

+

From /obj/item/proc/unzoom

COMSIG_MOB_RECALCULATE_CLIENT_COLOR + + +

+

From /mob/living/verb/resist()

COMSIG_MOB_RESISTED + + +

+

From /mob/living/verb/resist()

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/mob/living/signals_xeno.html b/code/__DEFINES/dcs/signals/atom/mob/living/signals_xeno.html new file mode 100644 index 000000000000..c20ce7ebd3d2 --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/mob/living/signals_xeno.html @@ -0,0 +1,107 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/mob/living/signals_xeno.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/mob/living/signals_xeno.dm + +

+ + + + + + + + + + + + + + + + + +
COMSIG_XENO_ALIEN_ATTACKfrom /mob/living/carbon/xenomorph/attack_alien()
COMSIG_XENO_POST_SPITFrom ../xeno_action/activable/xeno_spit/use_ability
COMSIG_XENO_REVIVEDFrom /mob/living/carbon/xenomorph/revive()
COMSIG_XENO_PRE_CALCULATE_ARMOURED_DAMAGE_PROJECTILEfrom /mob/living/carbon/xenomorph/bullet_act(): (list/damagedata)
COMSIG_XENO_PRE_APPLY_ARMOURED_DAMAGEfrom /mob/living/carbon/xenomorph/apply_armoured_damage(): (list/damagedata)
COMSIG_XENO_BULLET_ACTFrom /mob/living/carbon/xenomorph/bullet_act
COMSIG_XENO_APPEND_TO_STATfrom /mob/living/carbon/xenomorph/get_status_tab_items(): (list/statdata)
COMSIG_XENO_MOVEMENT_DELAYfrom /mob/living/carbon/xenomorph/movement_delay()
COMSIG_XENO_STOP_MOMENTUMCalled whenever xeno should stop momentum (when charging)
COMSIG_XENO_START_CHARGINGCalled whenever xeno should resume charge
COMSIG_XENO_ACTION_USEDFrom /datum/action/xeno_action/proc/use_ability_wrapper(): (mob/owner)
COMSIG_XENO_DEAL_ACID_DAMAGEFrom /mob/living/carbon/xenomorph/proc/check_blood_splash()
COMSIG_XENO_RECALCULATE_SPEEDFrom /mob/living/carbon/xenomorph/proc/recalculate_speed()
COMSIG_QUEEN_MOUNT_OVIPOSITORFrom /mob/living/carbon/xenomorph/queen/proc/mount_ovipositor
COMSIG_QUEEN_DISMOUNT_OVIPOSITORFrom /mob/living/carbon/xenomorph/queen/proc/dismount_ovipositor(): (instant_dismount)
COMSIG_XENO_SLASH_ADDITIONAL_EFFECTS_SELFFor any additional things that should happen when a xeno's melee_attack_additional_effects_self() proc is called

Define Details

+

COMSIG_QUEEN_DISMOUNT_OVIPOSITOR + + +

+

From /mob/living/carbon/xenomorph/queen/proc/dismount_ovipositor(): (instant_dismount)

COMSIG_QUEEN_MOUNT_OVIPOSITOR + + +

+

From /mob/living/carbon/xenomorph/queen/proc/mount_ovipositor

COMSIG_XENO_ACTION_USED + + +

+

From /datum/action/xeno_action/proc/use_ability_wrapper(): (mob/owner)

COMSIG_XENO_ALIEN_ATTACK + + +

+

from /mob/living/carbon/xenomorph/attack_alien()

COMSIG_XENO_APPEND_TO_STAT + + +

+

from /mob/living/carbon/xenomorph/get_status_tab_items(): (list/statdata)

COMSIG_XENO_BULLET_ACT + + +

+

From /mob/living/carbon/xenomorph/bullet_act

COMSIG_XENO_DEAL_ACID_DAMAGE + + +

+

From /mob/living/carbon/xenomorph/proc/check_blood_splash()

COMSIG_XENO_MOVEMENT_DELAY + + +

+

from /mob/living/carbon/xenomorph/movement_delay()

COMSIG_XENO_POST_SPIT + + +

+

From ../xeno_action/activable/xeno_spit/use_ability

COMSIG_XENO_PRE_APPLY_ARMOURED_DAMAGE + + +

+

from /mob/living/carbon/xenomorph/apply_armoured_damage(): (list/damagedata)

COMSIG_XENO_PRE_CALCULATE_ARMOURED_DAMAGE_PROJECTILE + + +

+

from /mob/living/carbon/xenomorph/bullet_act(): (list/damagedata)

COMSIG_XENO_RECALCULATE_SPEED + + +

+

From /mob/living/carbon/xenomorph/proc/recalculate_speed()

COMSIG_XENO_REVIVED + + +

+

From /mob/living/carbon/xenomorph/revive()

COMSIG_XENO_SLASH_ADDITIONAL_EFFECTS_SELF + + +

+

For any additional things that should happen when a xeno's melee_attack_additional_effects_self() proc is called

COMSIG_XENO_START_CHARGING + + +

+

Called whenever xeno should resume charge

COMSIG_XENO_STOP_MOMENTUM + + +

+

Called whenever xeno should stop momentum (when charging)

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/mob/signals_mob.html b/code/__DEFINES/dcs/signals/atom/mob/signals_mob.html new file mode 100644 index 000000000000..37b473682734 --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/mob/signals_mob.html @@ -0,0 +1,187 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_MOB_DESTROY_AIRLOCKFrom /obj/structure/machinery/door/airlock/proc/take_damage
COMSIG_MOB_DISASSEMBLE_AIRLOCKFrom /obj/structure/machinery/door/airlock/attackby
COMSIG_MOB_DESTROY_WALLFrom /turf/closed/wall/proc/take_damage
COMSIG_MOB_EXPLODED_WALLFrom /turf/closed/wall/ex_act
COMSIG_MOB_CONSTRUCT_WALLFrom /obj/structure/girder/proc/do_wall
COMSIG_MOB_EXPLODE_W_FRAMEFrom /obj/structure/window/framed/ex_act
COMSIG_MOB_DISASSEMBLE_W_FRAMEFrom /obj/structure/window_frame/attackby
COMSIG_MOB_DESTROY_WINDOWFrom /obj/structure/window/proc/healthcheck
COMSIG_MOB_WINDOW_EXPLODEDFrom /obj/structure/window/ex_act
COMSIG_MOB_CONSTRUCT_WINDOWFrom /obj/structure/window_frame/attackby
COMSIG_MOB_DISASSEMBLE_WINDOWFrom /obj/structure/window/attackby
COMSIG_MOB_APC_REMOVE_BOARDFrom /obj/structure/machinery/power/apc/attackby
COMSIG_MOB_APC_REMOVE_CELLFrom /obj/structure/machinery/power/apc/attack_hand
COMSIG_MOB_APC_CUT_WIREFrom /obj/structure/machinery/power/apc/proc/cut
COMSIG_MOB_APC_POWER_PULSEFrom /obj/structure/machinery/power/apc/proc/pulse
COMSIG_MOB_FIRED_GUNFrom /projectiles/updated_projectiles/guns/proc/fire
COMSIG_MOB_FIRED_GUN_ATTACHMENTFrom /projectiles/updated_projectiles/guns/proc/fire_attachment
COMSIG_MOB_DEATHFrom /mob/proc/death
COMSIG_MOB_GETTING_UPFrom /mob/proc/update_canmove()
COMSIG_MOB_KNOCKED_DOWNFrom /mob/proc/update_canmove()
COMSIG_MOB_DRAGGEDFor when a mob is dragged
COMSIG_MOB_ITEM_UNEQUIPPEDFrom /obj/item/proc/unequipped()
COMSIG_MOB_ATTEMPTING_EQUIPFrom /mob/proc/equip_to_slot_if_possible()
COMSIG_MOB_DEVOUREDFor when a mob is devoured by a Xeno
COMSIG_MOB_SET_FACE_DIRFrom base of /mob/proc/set_face_dir(): (newdir)
COMSIG_MOB_WEED_SLOWDOWNFrom /obj/effect/alien/weeds/Crossed(atom/movable/AM)
COMSIG_MOB_CHANGE_VIEWcalled in /client/change_view()
COMSIG_MOB_RESET_VIEWCalled in /mob/reset_view(): (atom/A)
COMSIG_MOB_LOGINfrom base of /mob/Login(): ()
COMSIG_MOB_LOGOUTfrom base of /mob/Logout(): ()
COMSIG_MOB_GRAB_UPGRADEFrom /obj/item/grab/attack_self(mob/user)
COMSIG_MOB_EMOTEfrom /mob/living/emote(): ()

Define Details

+

COMSIG_MOB_APC_CUT_WIRE + + +

+

From /obj/structure/machinery/power/apc/proc/cut

COMSIG_MOB_APC_POWER_PULSE + + +

+

From /obj/structure/machinery/power/apc/proc/pulse

COMSIG_MOB_APC_REMOVE_BOARD + + +

+

From /obj/structure/machinery/power/apc/attackby

COMSIG_MOB_APC_REMOVE_CELL + + +

+

From /obj/structure/machinery/power/apc/attack_hand

COMSIG_MOB_ATTEMPTING_EQUIP + + +

+

From /mob/proc/equip_to_slot_if_possible()

COMSIG_MOB_CHANGE_VIEW + + +

+

called in /client/change_view()

COMSIG_MOB_CONSTRUCT_WALL + + +

+

From /obj/structure/girder/proc/do_wall

COMSIG_MOB_CONSTRUCT_WINDOW + + +

+

From /obj/structure/window_frame/attackby

COMSIG_MOB_DEATH + + +

+

From /mob/proc/death

COMSIG_MOB_DESTROY_AIRLOCK + + +

+

From /obj/structure/machinery/door/airlock/proc/take_damage

COMSIG_MOB_DESTROY_WALL + + +

+

From /turf/closed/wall/proc/take_damage

COMSIG_MOB_DESTROY_WINDOW + + +

+

From /obj/structure/window/proc/healthcheck

COMSIG_MOB_DEVOURED + + +

+

For when a mob is devoured by a Xeno

COMSIG_MOB_DISASSEMBLE_AIRLOCK + + +

+

From /obj/structure/machinery/door/airlock/attackby

COMSIG_MOB_DISASSEMBLE_WINDOW + + +

+

From /obj/structure/window/attackby

COMSIG_MOB_DISASSEMBLE_W_FRAME + + +

+

From /obj/structure/window_frame/attackby

COMSIG_MOB_DRAGGED + + +

+

For when a mob is dragged

COMSIG_MOB_EMOTE + + +

+

from /mob/living/emote(): ()

COMSIG_MOB_EXPLODED_WALL + + +

+

From /turf/closed/wall/ex_act

COMSIG_MOB_EXPLODE_W_FRAME + + +

+

From /obj/structure/window/framed/ex_act

COMSIG_MOB_FIRED_GUN + + +

+

From /projectiles/updated_projectiles/guns/proc/fire

COMSIG_MOB_FIRED_GUN_ATTACHMENT + + +

+

From /projectiles/updated_projectiles/guns/proc/fire_attachment

COMSIG_MOB_GETTING_UP + + +

+

From /mob/proc/update_canmove()

COMSIG_MOB_GRAB_UPGRADE + + +

+

From /obj/item/grab/attack_self(mob/user)

COMSIG_MOB_ITEM_UNEQUIPPED + + +

+

From /obj/item/proc/unequipped()

COMSIG_MOB_KNOCKED_DOWN + + +

+

From /mob/proc/update_canmove()

COMSIG_MOB_LOGIN + + +

+

from base of /mob/Login(): ()

COMSIG_MOB_LOGOUT + + +

+

from base of /mob/Logout(): ()

COMSIG_MOB_RESET_VIEW + + +

+

Called in /mob/reset_view(): (atom/A)

COMSIG_MOB_SET_FACE_DIR + + +

+

From base of /mob/proc/set_face_dir(): (newdir)

COMSIG_MOB_WEED_SLOWDOWN + + +

+

From /obj/effect/alien/weeds/Crossed(atom/movable/AM)

COMSIG_MOB_WINDOW_EXPLODED + + +

+

From /obj/structure/window/ex_act

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/signals_atom.html b/code/__DEFINES/dcs/signals/atom/signals_atom.html new file mode 100644 index 000000000000..ac1b7d99051f --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/signals_atom.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/signals_atom.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/signals_atom.dm + +

+ + + + + + + + + +
COMSIG_ATOM_DECORATEDFrom /atom/proc/Decorate
COMSIG_ATOM_DIR_CHANGEfrom base of atom/setDir(): (old_dir, new_dir). Called before the direction changes.
COMSIG_ATOM_TEMPORARY_ANIMATION_STARTgenerally called before temporary non-parallel animate()s on the atom (animation_duration)
COMSIG_ATOM_ORBIT_BEGINcalled when an atom starts orbiting another atom: (atom)
COMSIG_ATOM_ORBIT_STOPcalled when an atom stops orbiting another atom: (atom)
COMSIG_ATOM_HITBYfrom /atom/hitby(): (atom/movable/AM)
COMSIG_ATOM_TURF_CHANGEfrom /turf/ChangeTurf
COMSIG_ATOM_VV_MODIFY_TRANSFORMWhen the transform or an atom is varedited through vv topic.

Define Details

+

COMSIG_ATOM_DECORATED + + +

+

From /atom/proc/Decorate

COMSIG_ATOM_DIR_CHANGE + + +

+

from base of atom/setDir(): (old_dir, new_dir). Called before the direction changes.

COMSIG_ATOM_HITBY + + +

+

from /atom/hitby(): (atom/movable/AM)

COMSIG_ATOM_ORBIT_BEGIN + + +

+

called when an atom starts orbiting another atom: (atom)

COMSIG_ATOM_ORBIT_STOP + + +

+

called when an atom stops orbiting another atom: (atom)

COMSIG_ATOM_TEMPORARY_ANIMATION_START + + +

+

generally called before temporary non-parallel animate()s on the atom (animation_duration)

COMSIG_ATOM_TURF_CHANGE + + +

+

from /turf/ChangeTurf

COMSIG_ATOM_VV_MODIFY_TRANSFORM + + +

+

When the transform or an atom is varedited through vv topic.

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/signals_item.html b/code/__DEFINES/dcs/signals/atom/signals_item.html new file mode 100644 index 000000000000..d5ef44cf2b17 --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/signals_item.html @@ -0,0 +1,82 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/signals_item.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/signals_item.dm + +

+ + + + + + + + + + + + +
COMSIG_ITEM_ATTACKEDfrom /obj/item/attackby() : (obj/item, mob/user)
COMSIG_ITEM_DROPPEDfrom base of obj/item/dropped(): (mob/user)
COMSIG_ITEM_EQUIPPEDFrom base of /obj/item/proc/equipped(): (mob/user, slot)
COMSIG_ITEM_UNEQUIPPEDFrom base of /obj/item/proc/unequipped(): (mob/user, slot)
COMSIG_ITEM_UNWIELDfrom /obj/item/proc/unwield
COMSIG_ITEM_ATTACK_SELFFrom base of /obj/item/proc/attack_self(): (mob/user)
COMSIG_SNACK_EATENfrom /obj/item/reagent_container/food/snacks/proc/On_Consume
COMSIG_ITEM_ATTEMPTING_EQUIPfrom /obj/item/proc/mob_can_equip
COMPONENT_CANCEL_EQUIPReturn this in response if you don't want items equipped
COMSIG_ITEM_ZOOMfrom /obj/item/proc/do_zoom() : (mob/user)
COMSIG_ITEM_UNZOOMfrom /obj/item/proc/unzoom() : (mob/user)

Define Details

+

COMPONENT_CANCEL_EQUIP + + +

+

Return this in response if you don't want items equipped

COMSIG_ITEM_ATTACKED + + +

+

from /obj/item/attackby() : (obj/item, mob/user)

COMSIG_ITEM_ATTACK_SELF + + +

+

From base of /obj/item/proc/attack_self(): (mob/user)

COMSIG_ITEM_ATTEMPTING_EQUIP + + +

+

from /obj/item/proc/mob_can_equip

COMSIG_ITEM_DROPPED + + +

+

from base of obj/item/dropped(): (mob/user)

COMSIG_ITEM_EQUIPPED + + +

+

From base of /obj/item/proc/equipped(): (mob/user, slot)

COMSIG_ITEM_UNEQUIPPED + + +

+

From base of /obj/item/proc/unequipped(): (mob/user, slot)

COMSIG_ITEM_UNWIELD + + +

+

from /obj/item/proc/unwield

COMSIG_ITEM_UNZOOM + + +

+

from /obj/item/proc/unzoom() : (mob/user)

COMSIG_ITEM_ZOOM + + +

+

from /obj/item/proc/do_zoom() : (mob/user)

COMSIG_SNACK_EATEN + + +

+

from /obj/item/reagent_container/food/snacks/proc/On_Consume

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/signals_movable.html b/code/__DEFINES/dcs/signals/atom/signals_movable.html new file mode 100644 index 000000000000..ee254b20d439 --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/signals_movable.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/signals_movable.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/signals_movable.dm + +

+ + + + + + + + +
COMSIG_MOVABLE_PRE_THROWFrom /atom/movable/proc/launch_towards
COMSIG_MOVABLE_MOVEDfrom base of atom/movable/Moved(): (/atom, dir, forced)
COMSIG_MOVABLE_PRE_MOVEFrom /atom/movable/Move(): (atom/NewLoc)
COMSIG_MOVABLE_ENTERED_RIVERFrom /turf/open/gm/river/Entered(): (turf/open/gm/river/river, covered)
COMSIG_MOVABLE_XENO_START_PULLINGfrom /mob/living/carbon/xenomorph/start_pulling(): (mob/living/carbon/xenomorph/X)
COMSIG_MOVABLE_SHUTTLE_CRUSHshuttle crushing something
COMSIG_MOVABLE_UPDATE_GLIDE_SIZEfrom base of /atom/movable/proc/set_glide_size(): (target)

Define Details

+

COMSIG_MOVABLE_ENTERED_RIVER + + +

+

From /turf/open/gm/river/Entered(): (turf/open/gm/river/river, covered)

COMSIG_MOVABLE_MOVED + + +

+

from base of atom/movable/Moved(): (/atom, dir, forced)

COMSIG_MOVABLE_PRE_MOVE + + +

+

From /atom/movable/Move(): (atom/NewLoc)

COMSIG_MOVABLE_PRE_THROW + + +

+

From /atom/movable/proc/launch_towards

COMSIG_MOVABLE_SHUTTLE_CRUSH + + +

+

shuttle crushing something

COMSIG_MOVABLE_UPDATE_GLIDE_SIZE + + +

+

from base of /atom/movable/proc/set_glide_size(): (target)

COMSIG_MOVABLE_XENO_START_PULLING + + +

+

from /mob/living/carbon/xenomorph/start_pulling(): (mob/living/carbon/xenomorph/X)

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/signals_obj.html b/code/__DEFINES/dcs/signals/atom/signals_obj.html new file mode 100644 index 000000000000..7a9bf1a6ae3e --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/signals_obj.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/signals_obj.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/signals_obj.dm + +

+ + + + + +
COMSIG_WEEDNODE_GROWTH_COMPLETEFrom /obj/effect/alien/weeds/Initialize()
COMSIG_WEEDNODE_CANNOT_EXPAND_FURTHERFrom /obj/effect/alien/weeds/proc/on_weed_expand()
COMSIG_SHUTTLE_SETMODEshuttle mode change
COMSIG_TRANSMITTER_UPDATE_ICONfrom /obj/structure/transmitter/update_icon()

Define Details

+

COMSIG_SHUTTLE_SETMODE + + +

+

shuttle mode change

COMSIG_TRANSMITTER_UPDATE_ICON + + +

+

from /obj/structure/transmitter/update_icon()

COMSIG_WEEDNODE_CANNOT_EXPAND_FURTHER + + +

+

From /obj/effect/alien/weeds/proc/on_weed_expand()

COMSIG_WEEDNODE_GROWTH_COMPLETE + + +

+

From /obj/effect/alien/weeds/Initialize()

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/signals_projectile.html b/code/__DEFINES/dcs/signals/atom/signals_projectile.html new file mode 100644 index 000000000000..b791f130ab62 --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/signals_projectile.html @@ -0,0 +1,94 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/signals_projectile.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/signals_projectile.dm + +

+ + + + + + + + + + + + + + +
COMSIG_BULLET_ACT_LIVINGCalled when a bullet hits a living mob
COMSIG_POST_BULLET_ACT_HUMANCalled when a bullet hits a human
COMSIG_BULLET_ACT_XENOCalled when a bullet hits a xenomorph
COMSIG_BULLET_USER_EFFECTSApply any effects to the bullet (primarily through bullet traits) +based on the user
COMSIG_BULLET_CHECK_MOB_SKIPPINGCalled when checking whether bullet should skip mob for whatever reasons (like IFF)
COMSIG_AMMO_POINT_BLANKCalled on point blank for ammo effects
COMSIG_BULLET_PRE_HANDLE_MOBFrom /obj/item/projectile/handle_mob(): (mob/living/target)
COMSIG_BULLET_POST_HANDLE_MOBFrom /obj/item/projectile/handle_mob(): (mob/living/target)
COMSIG_BULLET_POST_HANDLE_OBJFrom /obj/item/projectile/handle_obj(): (obj/target, did_hit)
COMSIG_BULLET_PRE_HANDLE_OBJFrom /obj/item/projectile/handle_obj(): (obj/target)
COMSIG_BULLET_POST_HANDLE_TURFFrom /obj/item/projectile/scan_a_turf(): (turf/target)
COMSIG_BULLET_PRE_HANDLE_TURFFrom /obj/item/projectile/scan_a_turf(): (turf/target)
COMSIG_BULLET_DIRECT_HITCalled when a bullet hits a living mob on a sprite click (original target is final target)

Define Details

+

COMSIG_AMMO_POINT_BLANK + + +

+

Called on point blank for ammo effects

COMSIG_BULLET_ACT_LIVING + + +

+

Called when a bullet hits a living mob

COMSIG_BULLET_ACT_XENO + + +

+

Called when a bullet hits a xenomorph

COMSIG_BULLET_CHECK_MOB_SKIPPING + + +

+

Called when checking whether bullet should skip mob for whatever reasons (like IFF)

COMSIG_BULLET_DIRECT_HIT + + +

+

Called when a bullet hits a living mob on a sprite click (original target is final target)

COMSIG_BULLET_POST_HANDLE_MOB + + +

+

From /obj/item/projectile/handle_mob(): (mob/living/target)

COMSIG_BULLET_POST_HANDLE_OBJ + + +

+

From /obj/item/projectile/handle_obj(): (obj/target, did_hit)

COMSIG_BULLET_POST_HANDLE_TURF + + +

+

From /obj/item/projectile/scan_a_turf(): (turf/target)

COMSIG_BULLET_PRE_HANDLE_MOB + + +

+

From /obj/item/projectile/handle_mob(): (mob/living/target)

COMSIG_BULLET_PRE_HANDLE_OBJ + + +

+

From /obj/item/projectile/handle_obj(): (obj/target)

COMSIG_BULLET_PRE_HANDLE_TURF + + +

+

From /obj/item/projectile/scan_a_turf(): (turf/target)

COMSIG_BULLET_USER_EFFECTS + + +

+

Apply any effects to the bullet (primarily through bullet traits) +based on the user

COMSIG_POST_BULLET_ACT_HUMAN + + +

+

Called when a bullet hits a human

+ + + diff --git a/code/__DEFINES/dcs/signals/atom/signals_turf.html b/code/__DEFINES/dcs/signals/atom/signals_turf.html new file mode 100644 index 000000000000..10fe1c94f6ca --- /dev/null +++ b/code/__DEFINES/dcs/signals/atom/signals_turf.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/dcs/signals/atom/signals_turf.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/atom/signals_turf.dm + +

+ + + + + + +
COMSIG_MOVABLE_TURF_ENTEREDfrom /turf/Entered
COMSIG_TURF_BULLET_ACTCalled when a bullet hits a turf
COMSIG_WALL_RESIN_XENO_ATTACKFrom /turf/closed/wall/resin/attack_alien(): (mob/living/carbon/xenomorph/X)
COMSIG_WALL_RESIN_ATTACKBYFrom /turf/closed/wall/resin/attackby(): (obj/item/I, mob/M)
COMSIG_POSTER_PLACEDfrom /turf/closed/wall/proc/place_poster

Define Details

+

COMSIG_MOVABLE_TURF_ENTERED + + +

+

from /turf/Entered

COMSIG_POSTER_PLACED + + +

+

from /turf/closed/wall/proc/place_poster

COMSIG_TURF_BULLET_ACT + + +

+

Called when a bullet hits a turf

COMSIG_WALL_RESIN_ATTACKBY + + +

+

From /turf/closed/wall/resin/attackby(): (obj/item/I, mob/M)

COMSIG_WALL_RESIN_XENO_ATTACK + + +

+

From /turf/closed/wall/resin/attack_alien(): (mob/living/carbon/xenomorph/X)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_admin.html b/code/__DEFINES/dcs/signals/signals_admin.html new file mode 100644 index 000000000000..678d2577a5e0 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_admin.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_admin.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_admin.dm + +

+ + + +
COMSIG_ADMIN_HELP_REPLIEDCalled on the /datum/admin_help when the player replies. From /client/proc/cmd_admin_pm().
COMSIG_ADMIN_HELP_RECEIVEDCalled on a client when a player receives an adminhelp. From /client/proc/receive_ahelp(message)

Define Details

+

COMSIG_ADMIN_HELP_RECEIVED + + +

+

Called on a client when a player receives an adminhelp. From /client/proc/receive_ahelp(message)

COMSIG_ADMIN_HELP_REPLIED + + +

+

Called on the /datum/admin_help when the player replies. From /client/proc/cmd_admin_pm().

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_client.html b/code/__DEFINES/dcs/signals/signals_client.html new file mode 100644 index 000000000000..58b7ce15b8f6 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_client.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_client.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_client.dm + +

+ + + + + +
COMSIG_CLIENT_PRE_CLICKfrom /mob/do_click(): (atom/A, list/mods)
COMSIG_CLIENT_VERB_ADDEDCalled after one or more verbs are added: (list of verbs added)
COMSIG_CLIENT_VERB_REMOVEDCalled after one or more verbs are added: (list of verbs added)
COMSIG_CLIENT_MOB_LOGINCalled after a client logs into a mob: (mob)

Define Details

+

COMSIG_CLIENT_MOB_LOGIN + + +

+

Called after a client logs into a mob: (mob)

COMSIG_CLIENT_PRE_CLICK + + +

+

from /mob/do_click(): (atom/A, list/mods)

COMSIG_CLIENT_VERB_ADDED + + +

+

Called after one or more verbs are added: (list of verbs added)

COMSIG_CLIENT_VERB_REMOVED + + +

+

Called after one or more verbs are added: (list of verbs added)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_datum.html b/code/__DEFINES/dcs/signals/signals_datum.html new file mode 100644 index 000000000000..34cfb9947f81 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_datum.html @@ -0,0 +1,122 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_datum.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_datum.dm + +

+ + + + + + + + + + + + + + + + + + + + +
COMSIG_COMPONENT_ADDEDwhen a component is added to a datum: (/datum/component)
COMSIG_COMPONENT_REMOVINGbefore a component is removed from a datum because of RemoveComponent: (/datum/component)
COMSIG_PARENT_PREQDELETEDbefore a datum's Destroy() is called: (force), returning a COMPONENT_ABORT_QDEL value will cancel the qdel operation
COMSIG_PARENT_QDELETINGjust before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called
COMSIG_TOPICgeneric topic handler (usr, href_list)
COMSIG_UI_ACTfrom datum ui_act (usr, action)
COMSIG_PARENT_ATTACKBYfrom base of atom/attackby(): (/obj/item, /mob/living, params)
COMPONENT_NO_AFTERATTACKReturn this in response if you don't want afterattack to be called
COMSIG_PARENT_EXAMINEfrom base of atom/examine(): (/mob, list/examine_text)
COMSIG_VV_TOPIChandler for vv_do_topic (usr, href_list)
COMSIG_ELEMENT_ATTACHfires on the target datum when an element is attached to it (/datum/element)
COMSIG_ELEMENT_DETACHfires on the target datum when an element is attached to it (/datum/element)
COMSIG_ACTION_GIVENFrom /datum/action/proc/give_to(): (mob/owner)
COMSIG_ACTION_REMOVEDFrom base of /datum/action/proc/remove_from(): (mob/owner)
COMSIG_ACTION_HIDDENFrom base of /datum/action/proc/hide_from(): (mob/owner)
COMSIG_ACTION_UNHIDDENFrom base of /datum/action/proc/unhide_from(): (mob/owner)
COMSIG_BONUS_DAMAGEfrom /datum/component/bonus_damage_stack
COMSIG_SET_SQUADfrom /datum/squad/proc/put_marine_in_squad
COMSIG_DROP_RETRIEVAL_CHECKFrom /datum/element/drop_retrieval usage: /obj/item/attachable/magnetic_harness/can_be_attached_to_gun(), /obj/item/storage/pouch/sling/can_be_inserted() (/obj/item/I)

Define Details

+

COMPONENT_NO_AFTERATTACK + + +

+

Return this in response if you don't want afterattack to be called

COMSIG_ACTION_GIVEN + + +

+

From /datum/action/proc/give_to(): (mob/owner)

COMSIG_ACTION_HIDDEN + + +

+

From base of /datum/action/proc/hide_from(): (mob/owner)

COMSIG_ACTION_REMOVED + + +

+

From base of /datum/action/proc/remove_from(): (mob/owner)

COMSIG_ACTION_UNHIDDEN + + +

+

From base of /datum/action/proc/unhide_from(): (mob/owner)

COMSIG_BONUS_DAMAGE + + +

+

from /datum/component/bonus_damage_stack

COMSIG_COMPONENT_ADDED + + +

+

when a component is added to a datum: (/datum/component)

COMSIG_COMPONENT_REMOVING + + +

+

before a component is removed from a datum because of RemoveComponent: (/datum/component)

COMSIG_DROP_RETRIEVAL_CHECK + + +

+

From /datum/element/drop_retrieval usage: /obj/item/attachable/magnetic_harness/can_be_attached_to_gun(), /obj/item/storage/pouch/sling/can_be_inserted() (/obj/item/I)

COMSIG_ELEMENT_ATTACH + + +

+

fires on the target datum when an element is attached to it (/datum/element)

COMSIG_ELEMENT_DETACH + + +

+

fires on the target datum when an element is attached to it (/datum/element)

COMSIG_PARENT_ATTACKBY + + +

+

from base of atom/attackby(): (/obj/item, /mob/living, params)

COMSIG_PARENT_EXAMINE + + +

+

from base of atom/examine(): (/mob, list/examine_text)

COMSIG_PARENT_PREQDELETED + + +

+

before a datum's Destroy() is called: (force), returning a COMPONENT_ABORT_QDEL value will cancel the qdel operation

COMSIG_PARENT_QDELETING + + +

+

just before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called

COMSIG_SET_SQUAD + + +

+

from /datum/squad/proc/put_marine_in_squad

COMSIG_TOPIC + + +

+

generic topic handler (usr, href_list)

COMSIG_UI_ACT + + +

+

from datum ui_act (usr, action)

COMSIG_VV_TOPIC + + +

+

handler for vv_do_topic (usr, href_list)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_global.html b/code/__DEFINES/dcs/signals/signals_global.html new file mode 100644 index 000000000000..720bc504b785 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_global.html @@ -0,0 +1,107 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_global.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_global.dm + +

+ + + + + + + + + + + + + + + + + +
COMSIG_GLOB_NEW_Zfrom base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)
COMSIG_GLOB_VEHICLE_ORDEREDfrom base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)
COMSIG_GLOB_MODE_PREGAME_LOBBYfrom /datum/controller/subsystem/ticker/fire
COMSIG_GLOB_MODE_PRESETUPfrom /datum/game_mode/proc/pre_setup
COMSIG_GLOB_MODE_POSTSETUPfrom /datum/game_mode/proc/post_setup
COMSIG_GLOB_DS_FIRST_LANDEDfrom /datum/game_mode/proc/ds_first_landed
COMSIG_GLOB_MARINE_DEATHfrom /mob/living/carbon/human/death
COMSIG_GLOB_XENO_DEATHfrom /mob/living/carbon/xenomorph/death
COMSIG_GLOB_VAR_EDITcalled after a successful var edit somewhere in the world: (list/args)
COMSIG_GLOB_XENO_SPAWNfrom /mob/living/carbon/xenomorph/initialize
COMSIG_GLOB_POST_SETUPfrom /datum/controller/subsystem/ticker/PostSetup
COMSIG_GLOB_SECURITY_LEVEL_CHANGEDfrom /proc/set_security_level
COMSIG_GLOB_RANDOM_EVENTCalled by (/datum/round_event_control/RunEvent).
CANCEL_RANDOM_EVENTDo not allow this random event to continue.
COMSIG_GLOB_GROUNDSIDE_TELECOMM_TURNED_OFFFrom /obj/structure/machinery/telecomms/proc/tcomms_shutdown(), called when the relay turns off
COMSIG_GLOB_PREDATOR_ROUND_TOGGLEDFrom /datum/admins/proc/force_predator_round()

Define Details

+

CANCEL_RANDOM_EVENT + + +

+

Do not allow this random event to continue.

COMSIG_GLOB_DS_FIRST_LANDED + + +

+

from /datum/game_mode/proc/ds_first_landed

COMSIG_GLOB_GROUNDSIDE_TELECOMM_TURNED_OFF + + +

+

From /obj/structure/machinery/telecomms/proc/tcomms_shutdown(), called when the relay turns off

COMSIG_GLOB_MARINE_DEATH + + +

+

from /mob/living/carbon/human/death

COMSIG_GLOB_MODE_POSTSETUP + + +

+

from /datum/game_mode/proc/post_setup

COMSIG_GLOB_MODE_PREGAME_LOBBY + + +

+

from /datum/controller/subsystem/ticker/fire

COMSIG_GLOB_MODE_PRESETUP + + +

+

from /datum/game_mode/proc/pre_setup

COMSIG_GLOB_NEW_Z + + +

+

from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)

COMSIG_GLOB_POST_SETUP + + +

+

from /datum/controller/subsystem/ticker/PostSetup

COMSIG_GLOB_PREDATOR_ROUND_TOGGLED + + +

+

From /datum/admins/proc/force_predator_round()

COMSIG_GLOB_RANDOM_EVENT + + +

+

Called by (/datum/round_event_control/RunEvent).

COMSIG_GLOB_SECURITY_LEVEL_CHANGED + + +

+

from /proc/set_security_level

COMSIG_GLOB_VAR_EDIT + + +

+

called after a successful var edit somewhere in the world: (list/args)

COMSIG_GLOB_VEHICLE_ORDERED + + +

+

from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)

COMSIG_GLOB_XENO_DEATH + + +

+

from /mob/living/carbon/xenomorph/death

COMSIG_GLOB_XENO_SPAWN + + +

+

from /mob/living/carbon/xenomorph/initialize

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_subsystem.html b/code/__DEFINES/dcs/signals/signals_subsystem.html new file mode 100644 index 000000000000..1675c9739b65 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_subsystem.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_subsystem.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_subsystem.dm + +

+ + + +
COMSIG_SUBSYSTEM_POST_INITIALIZESubsystem signals +From base of datum/controller/subsystem/Initialize
COMSIG_SSRADIO_GET_AVAILABLE_TCOMMS_ZSfrom /datum/controller/subsystem/radio/get_available_tcomm_zs(): (list/tcomms)

Define Details

+

COMSIG_SSRADIO_GET_AVAILABLE_TCOMMS_ZS + + +

+

from /datum/controller/subsystem/radio/get_available_tcomm_zs(): (list/tcomms)

COMSIG_SUBSYSTEM_POST_INITIALIZE + + +

+

Subsystem signals +From base of datum/controller/subsystem/Initialize

+ + + diff --git a/code/__DEFINES/equipment.html b/code/__DEFINES/equipment.html new file mode 100644 index 000000000000..1cff00927c7a --- /dev/null +++ b/code/__DEFINES/equipment.html @@ -0,0 +1,402 @@ + + + + + + + code/__DEFINES/equipment.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/equipment.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NOINTERACTYou can't interact with it, at all. Useful when doing certain animations.
FPRINTtakes a fingerprint
CONDUCTconducts electricity (metal etc.)
ON_BORDER'border object'. item has priority to check when entering or leaving
NOBLOODYDon't want a blood overlay on this one.
DIRLOCKmovable atom won't change direction when Moving()ing. Useful for items that have several dir states.
NOREACTReagents dont' react inside this container.
OPENCONTAINERis an open container for chemistry purposes
RELAY_CLICKThis is used for /obj/ that relay your clicks via handle_click(), mostly for MGs ~Art
ITEM_UNCATCHABLEThe item can't be caught out of the air.
NO_NAME_OVERRIDEUsed for nonstandard marine clothing to ignore 'specialty' var.
NO_SNOW_TYPEUsed for armors or uniforms that don't have a snow icon state.
CAN_BE_SYRINGEDsyringes can inject or drain reagents in this even if it isn't an OPENCONTAINER
CAN_BE_DISPENSED_INTOChem dispenser can dispense in this even if it isn't an OPENCONTAINER
INITIALIZEDInitialized by SSatoms.
ATOM_DECORATEDHas run Decorate() as part of subsystem init
USES_HEARINGWhether or not the object uses hearing
NODROPCannot be dropped/unequipped at all, only deleted.
NOBLUDGEONwhen an item has this it produces no "X has been hit by Y with Z" message with the default handler
NOSHIELDweapon not affected by shield (does nothing currently)
DELONDROPDeletes on drop instead of falling on the floor.
TWOHANDEDThe item is twohanded.
WIELDEDThe item is wielded with both hands.
ITEM_ABSTRACTThe item is abstract (grab, powerloader_clamp, etc)
ITEM_PREDATORSpecific predator item interactions.
MOB_LOCK_ON_EQUIPLock this item to the mob that equips it up until permadeath
NO_CRYO_STOREThis item deletes itself when put in cryo storage
ITEM_OVERRIDE_NORTHFACEFor backpacks if they should have unique layering functions
CAN_DIG_SHRAPNELwhether activating it digs shrapnel out of the user and striking others with medical skills can dig shapnel out of other people.
ANIMATED_SURGICAL_TOOLwhether it has an animated icon state of "[icon_state]_on" to be used during surgeries.
NOTABLEMERGEThe item goes on top of tables, instead of into them with the overlay system
IGNITING_ITEMHas heat source but isn't 'on fire' and thus can be stored
HIDEEARS(ears means headsets and such)
HIDEEYES(eyes means glasses)
HIDELOWHAIRtemporarily removes the user's facial hair overlay.
HIDETOPHAIRtemporarily removes the user's hair overlay. Leaves facial hair.
HIDEALLHAIRtemporarily removes the user's hair, facial and otherwise.
HIDEFACEDictates whether we appear as unknown.
COVEREYESCovers the eyes/protects them.
COVERMOUTHCovers the mouth.
ALLOWINTERNALSmask allows internals
ALLOWREBREATHMask allows to breath in really hot or really cold air.
BLOCKGASEFFECTblocks the effect that chemical clouds would have on a mob --glasses, mask and helmets
ALLOWCPRAllows CPR even though the face is covered by a mask
FULL_DECAP_PROTECTIONHelmet does not fall off when blocking a decapitation
BLOCKSHARPOBJFrom /tg: prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
NOPRESSUREDMAGEThis flag is used on the flags variable for SUIT and HEAD items which stop pressure damage.
BLOCK_KNOCKDOWNSuits only. Wearing this will stop you from being pushed over.
SMARTGUN_HARNESSWhether wearing this suit grants you the ability to fire a smartgun
VISION_IMPAIR_NONENo visual impairment
VISION_IMPAIR_MIN1 tile of partial impairment
VISION_IMPAIR_WEAK2 tiles of partial impairment
VISION_IMPAIR_MED3 tiles of partial impairment
VISION_IMPAIR_HIGH1 tile of full and 2 of partial impairment
VISION_IMPAIR_STRONG2 tiles of full and 2 of partial impairment
VISION_IMPAIR_MAX3 tiles of full and 2 of partial impairment (original one)
UNIFORM_SLEEVE_ROLLABLEcan we roll the sleeves on this uniform?
UNIFORM_SLEEVE_CUTTABLEcan the sleeves be cut?
UNIFORM_JACKET_REMOVABLEcan the jacket be removed?
UNIFORM_DO_NOT_HIDE_ACCESSORIESare accessories never hidden by sleeve/jacket state? (meant for snow uniform which rolls collar instead of sleeves)
SPACE_HELMET_MIN_COLD_PROTwhat min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.
SPACE_SUIT_MIN_COLD_PROTwhat min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0.
SPACE_SUIT_MAX_HEAT_PROTThese need better heat protect, but not as good heat protect as firesuits.
FIRESUIT_MAX_HEAT_PROTwhat max_heat_protection_temperature is set to for firesuit quality headwear. MUST NOT BE 0.
FIRE_HELMET_MAX_HEAT_PROTfor fire helmet quality items (red and white hardhats)
HELMET_MIN_COLD_PROTFor normal helmets
HELMET_MAX_HEAT_PROTFor normal helmets
ARMOR_MIN_COLD_PROTFor armor
ARMOR_MAX_HEAT_PROTFor armor
GLOVES_MIN_COLD_PROTFor some gloves (black and)
GLOVES_MAX_HEAT_PROTFor some gloves
SHOE_MIN_COLD_PROTFor shoes
SHOE_MAX_HEAT_PROTFor shoes
ICE_PLANET_MIN_COLD_PROTFor the ice planet map protection from the elements.
ACCESSORY_SLOT_ARMOR_CUsed for uniform armor inserts.

Define Details

+

ACCESSORY_SLOT_ARMOR_C + + +

+

Used for uniform armor inserts.

ALLOWCPR + + +

+

Allows CPR even though the face is covered by a mask

ALLOWINTERNALS + + +

+

mask allows internals

ALLOWREBREATH + + +

+

Mask allows to breath in really hot or really cold air.

ANIMATED_SURGICAL_TOOL + + +

+

whether it has an animated icon state of "[icon_state]_on" to be used during surgeries.

ARMOR_MAX_HEAT_PROT + + +

+

For armor

ARMOR_MIN_COLD_PROT + + +

+

For armor

ATOM_DECORATED + + +

+

Has run Decorate() as part of subsystem init

BLOCKGASEFFECT + + +

+

blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets

BLOCKSHARPOBJ + + +

+

From /tg: prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.

BLOCK_KNOCKDOWN + + +

+

Suits only. Wearing this will stop you from being pushed over.

CAN_BE_DISPENSED_INTO + + +

+

Chem dispenser can dispense in this even if it isn't an OPENCONTAINER

CAN_BE_SYRINGED + + +

+

syringes can inject or drain reagents in this even if it isn't an OPENCONTAINER

CAN_DIG_SHRAPNEL + + +

+

whether activating it digs shrapnel out of the user and striking others with medical skills can dig shapnel out of other people.

CONDUCT + + +

+

conducts electricity (metal etc.)

COVEREYES + + +

+

Covers the eyes/protects them.

COVERMOUTH + + +

+

Covers the mouth.

DELONDROP + + +

+

Deletes on drop instead of falling on the floor.

DIRLOCK + + +

+

movable atom won't change direction when Moving()ing. Useful for items that have several dir states.

FIRESUIT_MAX_HEAT_PROT + + +

+

what max_heat_protection_temperature is set to for firesuit quality headwear. MUST NOT BE 0.

FIRE_HELMET_MAX_HEAT_PROT + + +

+

for fire helmet quality items (red and white hardhats)

FPRINT + + +

+

takes a fingerprint

FULL_DECAP_PROTECTION + + +

+

Helmet does not fall off when blocking a decapitation

GLOVES_MAX_HEAT_PROT + + +

+

For some gloves

GLOVES_MIN_COLD_PROT + + +

+

For some gloves (black and)

HELMET_MAX_HEAT_PROT + + +

+

For normal helmets

HELMET_MIN_COLD_PROT + + +

+

For normal helmets

HIDEALLHAIR + + +

+

temporarily removes the user's hair, facial and otherwise.

HIDEEARS + + +

+

(ears means headsets and such)

HIDEEYES + + +

+

(eyes means glasses)

HIDEFACE + + +

+

Dictates whether we appear as unknown.

HIDELOWHAIR + + +

+

temporarily removes the user's facial hair overlay.

HIDETOPHAIR + + +

+

temporarily removes the user's hair overlay. Leaves facial hair.

ICE_PLANET_MIN_COLD_PROT + + +

+

For the ice planet map protection from the elements.

IGNITING_ITEM + + +

+

Has heat source but isn't 'on fire' and thus can be stored

INITIALIZED + + +

+

Initialized by SSatoms.

ITEM_ABSTRACT + + +

+

The item is abstract (grab, powerloader_clamp, etc)

ITEM_OVERRIDE_NORTHFACE + + +

+

For backpacks if they should have unique layering functions

ITEM_PREDATOR + + +

+

Specific predator item interactions.

ITEM_UNCATCHABLE + + +

+

The item can't be caught out of the air.

MOB_LOCK_ON_EQUIP + + +

+

Lock this item to the mob that equips it up until permadeath

NOBLOODY + + +

+

Don't want a blood overlay on this one.

NOBLUDGEON + + +

+

when an item has this it produces no "X has been hit by Y with Z" message with the default handler

NODROP + + +

+

Cannot be dropped/unequipped at all, only deleted.

NOINTERACT + + +

+

You can't interact with it, at all. Useful when doing certain animations.

NOPRESSUREDMAGE + + +

+

This flag is used on the flags variable for SUIT and HEAD items which stop pressure damage.

NOREACT + + +

+

Reagents dont' react inside this container.

NOSHIELD + + +

+

weapon not affected by shield (does nothing currently)

NOTABLEMERGE + + +

+

The item goes on top of tables, instead of into them with the overlay system

NO_CRYO_STORE + + +

+

This item deletes itself when put in cryo storage

NO_NAME_OVERRIDE + + +

+

Used for nonstandard marine clothing to ignore 'specialty' var.

NO_SNOW_TYPE + + +

+

Used for armors or uniforms that don't have a snow icon state.

ON_BORDER + + +

+

'border object'. item has priority to check when entering or leaving

OPENCONTAINER + + +

+

is an open container for chemistry purposes

RELAY_CLICK + + +

+

This is used for /obj/ that relay your clicks via handle_click(), mostly for MGs ~Art

SHOE_MAX_HEAT_PROT + + +

+

For shoes

SHOE_MIN_COLD_PROT + + +

+

For shoes

SMARTGUN_HARNESS + + +

+

Whether wearing this suit grants you the ability to fire a smartgun

SPACE_HELMET_MIN_COLD_PROT + + +

+

what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.

SPACE_SUIT_MAX_HEAT_PROT + + +

+

These need better heat protect, but not as good heat protect as firesuits.

SPACE_SUIT_MIN_COLD_PROT + + +

+

what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0.

TWOHANDED + + +

+

The item is twohanded.

UNIFORM_DO_NOT_HIDE_ACCESSORIES + + +

+

are accessories never hidden by sleeve/jacket state? (meant for snow uniform which rolls collar instead of sleeves)

UNIFORM_JACKET_REMOVABLE + + +

+

can the jacket be removed?

UNIFORM_SLEEVE_CUTTABLE + + +

+

can the sleeves be cut?

UNIFORM_SLEEVE_ROLLABLE + + +

+

can we roll the sleeves on this uniform?

USES_HEARING + + +

+

Whether or not the object uses hearing

VISION_IMPAIR_HIGH + + +

+

1 tile of full and 2 of partial impairment

VISION_IMPAIR_MAX + + +

+

3 tiles of full and 2 of partial impairment (original one)

VISION_IMPAIR_MED + + +

+

3 tiles of partial impairment

VISION_IMPAIR_MIN + + +

+

1 tile of partial impairment

VISION_IMPAIR_NONE + + +

+

No visual impairment

VISION_IMPAIR_STRONG + + +

+

2 tiles of full and 2 of partial impairment

VISION_IMPAIR_WEAK + + +

+

2 tiles of partial impairment

WIELDED + + +

+

The item is wielded with both hands.

+ + + diff --git a/code/__DEFINES/flags.html b/code/__DEFINES/flags.html new file mode 100644 index 000000000000..953a4634a8be --- /dev/null +++ b/code/__DEFINES/flags.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/flags.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/flags.dm + +

+ + + + + + +
ALL_CARDINALSAll the cardinal direction bitflags.
EMOTE_AUDIBLEIs the emote audible
EMOTE_VISIBLEIs the emote visible
EMOTE_IMPORTANTIs it an emote that should be shown regardless of blindness/deafness
EMOTE_NO_MESSAGEDoes the emote not have a message?

Define Details

+

ALL_CARDINALS + + +

+

All the cardinal direction bitflags.

EMOTE_AUDIBLE + + +

+

Is the emote audible

EMOTE_IMPORTANT + + +

+

Is it an emote that should be shown regardless of blindness/deafness

EMOTE_NO_MESSAGE + + +

+

Does the emote not have a message?

EMOTE_VISIBLE + + +

+

Is the emote visible

+ + + diff --git a/code/__DEFINES/fonts.html b/code/__DEFINES/fonts.html new file mode 100644 index 000000000000..52753a852f41 --- /dev/null +++ b/code/__DEFINES/fonts.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/fonts.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/fonts.dm + +

+ + +
EMOJI_SETEmoji icon set

Define Details

+

EMOJI_SET + + +

+

Emoji icon set

+ + + diff --git a/code/__DEFINES/hud.html b/code/__DEFINES/hud.html new file mode 100644 index 000000000000..7a7346ff9338 --- /dev/null +++ b/code/__DEFINES/hud.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/hud.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/hud.dm + +

+ + + +
APPEARANCE_UI_IGNORE_ALPHAUsed for progress bars and chat messages
APPEARANCE_UIUsed for HUD objects

Define Details

+

APPEARANCE_UI + + +

+

Used for HUD objects

APPEARANCE_UI_IGNORE_ALPHA + + +

+

Used for progress bars and chat messages

+ + + diff --git a/code/__DEFINES/human.html b/code/__DEFINES/human.html new file mode 100644 index 000000000000..0885f1412cc6 --- /dev/null +++ b/code/__DEFINES/human.html @@ -0,0 +1,152 @@ + + + + + + + code/__DEFINES/human.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/human.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
HUMAN_MAX_OXYLOSSDefines how much oxyloss humans can get per tick. A tile with no air at all (such as space) applies this value, otherwise it's a percentage of it.
HUMAN_CRIT_MAX_OXYLOSSThe amount of damage you'll get when in critical condition. We want this to be a 5 minute deal = 300s. There are 50HP to get through, so (1/6)*last_tick_duration per second. Breaths however only happen every 3 ticks.
HUMAN_BLOODTYPESHUMAN BLOODTYPES
HUMAN_MAX_PALENESSthis is added to human skin tone to get value of pale_max variable
HUMAN_STRIP_DELAYtakes 40ds = 4s to strip someone.
LIMB_ORGANICLIMB FLAGS
LIMB_SYNTHSKINnot completely robot, but pseudohuman
LIMB_DESTROYEDlimb is missing
LIMB_MUTATEDlimb is deformed by mutations
LIMB_AMPUTATEDlimb was amputated cleanly or destroyed limb was cleaned up, thus causing no pain
LIMB_SPLINTED_INDESTRUCTIBLESplint is indestructible
LIMB_UNCALIBRATED_PROSTHETICA prosthetic that's been attached to the body but not connected to the brain.
WOUND_BANDAGEDWOUND DEFINES
WOUNDS_BANDAGEDRelevant wounds exist, bandaged them.
WOUNDS_ALREADY_TREATEDRelevant wounds exist, but they're already bandaged.
HEMOSTAT_MIN_DURATIONOLD SURGERY DEFINES, USED BY AUTODOC
FLAY_LAYERFor use by Hunter Flay
TAIL_LAYERbs12 specific. this hack is probably gonna come back to haunt me
MEDICAL_LAYERFor splint and gauze overlays
HEADSHOT_LAYERUnrevivable headshot overlays, suicide/execution.
BACK_FRONT_LAYERFor backpacks when mob is facing north
BURST_LAYERChestburst overlay
TARGETED_LAYERfor target sprites when held at gun point, and holo cards.
FIRE_LAYERIf you're on fire
EFFECTS_LAYERIf you're hit by an acid DoT

Define Details

+

BACK_FRONT_LAYER + + +

+

For backpacks when mob is facing north

BURST_LAYER + + +

+

Chestburst overlay

EFFECTS_LAYER + + +

+

If you're hit by an acid DoT

FIRE_LAYER + + +

+

If you're on fire

FLAY_LAYER + + +

+

For use by Hunter Flay

HEADSHOT_LAYER + + +

+

Unrevivable headshot overlays, suicide/execution.

HEMOSTAT_MIN_DURATION + + +

+

OLD SURGERY DEFINES, USED BY AUTODOC

HUMAN_BLOODTYPES + + +

+

HUMAN BLOODTYPES

HUMAN_CRIT_MAX_OXYLOSS + + +

+

The amount of damage you'll get when in critical condition. We want this to be a 5 minute deal = 300s. There are 50HP to get through, so (1/6)*last_tick_duration per second. Breaths however only happen every 3 ticks.

HUMAN_MAX_OXYLOSS + + +

+

Defines how much oxyloss humans can get per tick. A tile with no air at all (such as space) applies this value, otherwise it's a percentage of it.

HUMAN_MAX_PALENESS + + +

+

this is added to human skin tone to get value of pale_max variable

HUMAN_STRIP_DELAY + + +

+

takes 40ds = 4s to strip someone.

LIMB_AMPUTATED + + +

+

limb was amputated cleanly or destroyed limb was cleaned up, thus causing no pain

LIMB_DESTROYED + + +

+

limb is missing

LIMB_MUTATED + + +

+

limb is deformed by mutations

LIMB_ORGANIC + + +

+

LIMB FLAGS

LIMB_SPLINTED_INDESTRUCTIBLE + + +

+

Splint is indestructible

LIMB_SYNTHSKIN + + +

+

not completely robot, but pseudohuman

LIMB_UNCALIBRATED_PROSTHETIC + + +

+

A prosthetic that's been attached to the body but not connected to the brain.

MEDICAL_LAYER + + +

+

For splint and gauze overlays

TAIL_LAYER + + +

+

bs12 specific. this hack is probably gonna come back to haunt me

TARGETED_LAYER + + +

+

for target sprites when held at gun point, and holo cards.

WOUNDS_ALREADY_TREATED + + +

+

Relevant wounds exist, but they're already bandaged.

WOUNDS_BANDAGED + + +

+

Relevant wounds exist, bandaged them.

WOUND_BANDAGED + + +

+

WOUND DEFINES

+ + + diff --git a/code/__DEFINES/job.html b/code/__DEFINES/job.html new file mode 100644 index 000000000000..975031484177 --- /dev/null +++ b/code/__DEFINES/job.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/job.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/job.dm + +

+ + + +
JOB_OBSERVERFor monthly time tracking
JOB_ERT_GRUNT_LISTFor denying certain traits being applied to people. ie. bad leg +'Grunt' lists are for people who wouldn't logically get the bad leg trait, ie. UPP marine counterparts.

Define Details

+

JOB_ERT_GRUNT_LIST + + +

+

For denying certain traits being applied to people. ie. bad leg +'Grunt' lists are for people who wouldn't logically get the bad leg trait, ie. UPP marine counterparts.

JOB_OBSERVER + + +

+

For monthly time tracking

+ + + diff --git a/code/__DEFINES/layers.html b/code/__DEFINES/layers.html new file mode 100644 index 000000000000..cdb015a45c85 --- /dev/null +++ b/code/__DEFINES/layers.html @@ -0,0 +1,237 @@ + + + + + + + code/__DEFINES/layers.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/layers.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UNDERFLOOR_OBJ_LAYERbluespace beacon, navigation beacon, etc
CATWALK_LAYERcatwalk overlay of /turf/open/floor/plating/plating_catwalk
WEED_LAYERAlien weeds and node layer
ABOVE_WEED_LAYEROver weeds, such as blood
ATMOS_DEVICE_LAYERvents, connector ports, atmos devices that should be above pipe layer.
FIREDOOR_OPEN_LAYERRight under poddoors
PODDOOR_OPEN_LAYERUnder doors and virtually everything that's "above the floor"
CONVEYOR_LAYERconveyor belt
DOOR_OPEN_LAYERUnder all objects if opened. 2.85 due to tables being at 2.8
HATCH_LAYERFor hatches on the floor.
BELOW_OBJ_LAYERjust below all items
LOWER_ITEM_LAYERfor items that should be at the bottom of the pile of items
UPPER_ITEM_LAYERfor items that should be at the top of the pile of items
ABOVE_OBJ_LAYERjust above all items
DOOR_CLOSED_LAYERAbove most items if closed
FIREDOOR_CLOSED_LAYERRight under poddoors
PODDOOR_CLOSED_LAYERAbove doors which are at 3.1
WINDOW_LAYERabove closed doors
WALL_OBJ_LAYERposters on walls
POWERLOADER_LAYERabove windows and wall mounts so the top of the loader doesn't clip.
ABOVE_LYING_MOB_LAYERdrone (not the xeno)
BIG_XENO_LAYERabove ABOVE_MOB_LAYER because it's used for shallow river overlays which clips with the top of large xeno sprites.
ABOVE_XENO_LAYERfor xenos to hide behind bushes and tall grass
FACEHUGGER_LAYERFor facehuggers
WEATHER_LAYERFor WEATHER
BELOW_FULLSCREEN_LAYERblip from motion detector
FULLSCREEN_WEATHER_LAYERWeather
FULLSCREEN_IMPAIRED_LAYERvisual impairment from wearing welding helmet, etc.
FULLSCREEN_FLASH_LAYERflashed
FULLSCREEN_DAMAGE_LAYERred circles when hurt
FULLSCREEN_BLIND_LAYERunconscious
FULLSCREEN_PAIN_LAYERpain flashes
FULLSCREEN_CRIT_LAYERin critical
AREAS_LAYERfor areas, so they appear above everything else on map file.
LOWEST_EVER_PLANENEVER HAVE ANYTHING BELOW THIS PLANE ADJUST IF YOU NEED MORE SPACE
FLOOR_PLANEFloor plane, self explanatory. Used for Ambient Occlusion filter
GAME_PLANEGame Plane, where most of the game objects reside
ROOF_PLANERoof plane, disappearing when entering buildings
BLACKNESS_PLANETo keep from conflicts with SEE_BLACKNESS internals
RUNECHAT_PLANEPopup Chat Messages
HUD_PLANEHUD layer defines
PLANE_MASTERS_GAMEPlane master controller keys

Define Details

+

ABOVE_LYING_MOB_LAYER + + +

+

drone (not the xeno)

ABOVE_OBJ_LAYER + + +

+

just above all items

ABOVE_WEED_LAYER + + +

+

Over weeds, such as blood

ABOVE_XENO_LAYER + + +

+

for xenos to hide behind bushes and tall grass

AREAS_LAYER + + +

+

for areas, so they appear above everything else on map file.

ATMOS_DEVICE_LAYER + + +

+

vents, connector ports, atmos devices that should be above pipe layer.

BELOW_FULLSCREEN_LAYER + + +

+

blip from motion detector

BELOW_OBJ_LAYER + + +

+

just below all items

BIG_XENO_LAYER + + +

+

above ABOVE_MOB_LAYER because it's used for shallow river overlays which clips with the top of large xeno sprites.

BLACKNESS_PLANE + + +

+

To keep from conflicts with SEE_BLACKNESS internals

CATWALK_LAYER + + +

+

catwalk overlay of /turf/open/floor/plating/plating_catwalk

CONVEYOR_LAYER + + +

+

conveyor belt

DOOR_CLOSED_LAYER + + +

+

Above most items if closed

DOOR_OPEN_LAYER + + +

+

Under all objects if opened. 2.85 due to tables being at 2.8

FACEHUGGER_LAYER + + +

+

For facehuggers

FIREDOOR_CLOSED_LAYER + + +

+

Right under poddoors

FIREDOOR_OPEN_LAYER + + +

+

Right under poddoors

FLOOR_PLANE + + +

+

Floor plane, self explanatory. Used for Ambient Occlusion filter

FULLSCREEN_BLIND_LAYER + + +

+

unconscious

FULLSCREEN_CRIT_LAYER + + +

+

in critical

FULLSCREEN_DAMAGE_LAYER + + +

+

red circles when hurt

FULLSCREEN_FLASH_LAYER + + +

+

flashed

FULLSCREEN_IMPAIRED_LAYER + + +

+

visual impairment from wearing welding helmet, etc.

FULLSCREEN_PAIN_LAYER + + +

+

pain flashes

FULLSCREEN_WEATHER_LAYER + + +

+

Weather

GAME_PLANE + + +

+

Game Plane, where most of the game objects reside

HATCH_LAYER + + +

+

For hatches on the floor.

HUD_PLANE + + +

+

HUD layer defines

LOWER_ITEM_LAYER + + +

+

for items that should be at the bottom of the pile of items

LOWEST_EVER_PLANE + + +

+

NEVER HAVE ANYTHING BELOW THIS PLANE ADJUST IF YOU NEED MORE SPACE

PLANE_MASTERS_GAME + + +

+

Plane master controller keys

PODDOOR_CLOSED_LAYER + + +

+

Above doors which are at 3.1

PODDOOR_OPEN_LAYER + + +

+

Under doors and virtually everything that's "above the floor"

POWERLOADER_LAYER + + +

+

above windows and wall mounts so the top of the loader doesn't clip.

ROOF_PLANE + + +

+

Roof plane, disappearing when entering buildings

RUNECHAT_PLANE + + +

+

Popup Chat Messages

UNDERFLOOR_OBJ_LAYER + + +

+

bluespace beacon, navigation beacon, etc

UPPER_ITEM_LAYER + + +

+

for items that should be at the top of the pile of items

WALL_OBJ_LAYER + + +

+

posters on walls

WEATHER_LAYER + + +

+

For WEATHER

WEED_LAYER + + +

+

Alien weeds and node layer

WINDOW_LAYER + + +

+

above closed doors

+ + + diff --git a/code/__DEFINES/maps.html b/code/__DEFINES/maps.html new file mode 100644 index 000000000000..0af3774f60c0 --- /dev/null +++ b/code/__DEFINES/maps.html @@ -0,0 +1,69 @@ + + + + + + + code/__DEFINES/maps.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/maps.dm + +

+ + + + + + + + + +
ZTRAIT_BOMBCAP_MULTIPLIERnumber - bombcap is multiplied by this before being applied to bombs
ZTRAIT_GRAVITYnumber - default gravity if there's no gravity generators or area overrides present
UNAFFECTEDUNAFFECTED if absent - no space transitions
SELFLOOPINGSELFLOOPING - space transitions always self-loop
CROSSLINKEDCROSSLINKED - mixed in with the cross-linked space pool
RESERVED_TURF_TYPEReserved/Transit turf type +What the turf is when not being used
PLACEMENT_TRIESHow many times we try to fit the ruin somewhere until giving up (really should just swap to some packing algo)
CAN_BE_DIRTY_1If a turf can be made dirty at roundstart. This is also used in areas.

Define Details

+

CAN_BE_DIRTY_1 + + +

+

If a turf can be made dirty at roundstart. This is also used in areas.

CROSSLINKED + + +

+

CROSSLINKED - mixed in with the cross-linked space pool

PLACEMENT_TRIES + + +

+

How many times we try to fit the ruin somewhere until giving up (really should just swap to some packing algo)

RESERVED_TURF_TYPE + + +

+

Reserved/Transit turf type +What the turf is when not being used

SELFLOOPING + + +

+

SELFLOOPING - space transitions always self-loop

UNAFFECTED + + +

+

UNAFFECTED if absent - no space transitions

ZTRAIT_BOMBCAP_MULTIPLIER + + +

+

number - bombcap is multiplied by this before being applied to bombs

ZTRAIT_GRAVITY + + +

+

number - default gravity if there's no gravity generators or area overrides present

+ + + diff --git a/code/__DEFINES/math_physics.html b/code/__DEFINES/math_physics.html new file mode 100644 index 000000000000..33a961ffb030 --- /dev/null +++ b/code/__DEFINES/math_physics.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/math_physics.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/math_physics.dm + +

+ + +
GAS_CRITICAL_TEMPERATUREK. The critical point temperature for air.

Define Details

+

GAS_CRITICAL_TEMPERATURE + + +

+

K. The critical point temperature for air.

+ + + diff --git a/code/__DEFINES/minimap.html b/code/__DEFINES/minimap.html new file mode 100644 index 000000000000..8413b0ebf9a0 --- /dev/null +++ b/code/__DEFINES/minimap.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/minimap.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/minimap.dm + +

+ + +
MINIMAP_SCALEConverts the overworld x and y to minimap x and y values

Define Details

+

MINIMAP_SCALE + + +

+

Converts the overworld x and y to minimap x and y values

+ + + diff --git a/code/__DEFINES/misc.html b/code/__DEFINES/misc.html new file mode 100644 index 000000000000..7a7a8f0f05f7 --- /dev/null +++ b/code/__DEFINES/misc.html @@ -0,0 +1,139 @@ + + + + + + + code/__DEFINES/misc.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/misc.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
AREA_AVOID_BIOSCANused to make mobs skip bioscans
AREA_NOTUNNELmakes it so the area can not be tunneled to
AREA_ALLOW_XENO_JOINxenos can join whilst in this area (for admin zlevel)
AREA_CONTAINMENTFlags the area as a containment area
AREA_UNWEEDABLEFlags the area as permanently unweedable. Still requires is_resin_allowed = FALSE
DA_DEFAULT_NUM_TICKSDefault number of ticks for do_after
CELLSAmount of cells per row/column in grid
CELLSIZESize of a cell in pixel
INTERRUPT_DIFF_TURFMight want to consider adding a separate flag for DIFF_COORDS
INTERRUPT_UNCONSCIOUSRelevant to stat var for mobs
INTERRUPT_RESISTAllows timed actions to be cancelled upon hitting resist, on by default
INTERRUPT_DIFF_SELECT_ZONEBy default not in INTERRUPT_ALL (too niche)
INTERRUPT_OUT_OF_RANGEBy default not in INTERRUPT_ALL, should not be used in conjunction with INTERRUPT_DIFF_TURF
INTERRUPT_DIFF_INTENTBy default not in INTERRUPT_ALL (too niche) (Doesn't actually exist.)
INTERRUPT_LCLICKMainly for boiler globs
BEHAVIOR_IMMOBILEYou cannot move the person while this action is being performed
SIZE_TINYHelmets
SIZE_SMALLArmor, pouch slots/pockets
SIZE_MEDIUMBackpacks, belts. Size of pistols, general magazines
SIZE_LARGESize of rifles, SMGs
SIZE_HUGEUsing Large does the same job
get_areaGet the ultimate area of A, similarly to get_turf.

Define Details

+

AREA_ALLOW_XENO_JOIN + + +

+

xenos can join whilst in this area (for admin zlevel)

AREA_AVOID_BIOSCAN + + +

+

used to make mobs skip bioscans

AREA_CONTAINMENT + + +

+

Flags the area as a containment area

AREA_NOTUNNEL + + +

+

makes it so the area can not be tunneled to

AREA_UNWEEDABLE + + +

+

Flags the area as permanently unweedable. Still requires is_resin_allowed = FALSE

BEHAVIOR_IMMOBILE + + +

+

You cannot move the person while this action is being performed

CELLS + + +

+

Amount of cells per row/column in grid

CELLSIZE + + +

+

Size of a cell in pixel

DA_DEFAULT_NUM_TICKS + + +

+

Default number of ticks for do_after

INTERRUPT_DIFF_INTENT + + +

+

By default not in INTERRUPT_ALL (too niche) (Doesn't actually exist.)

INTERRUPT_DIFF_SELECT_ZONE + + +

+

By default not in INTERRUPT_ALL (too niche)

INTERRUPT_DIFF_TURF + + +

+

Might want to consider adding a separate flag for DIFF_COORDS

INTERRUPT_LCLICK + + +

+

Mainly for boiler globs

INTERRUPT_OUT_OF_RANGE + + +

+

By default not in INTERRUPT_ALL, should not be used in conjunction with INTERRUPT_DIFF_TURF

INTERRUPT_RESIST + + +

+

Allows timed actions to be cancelled upon hitting resist, on by default

INTERRUPT_UNCONSCIOUS + + +

+

Relevant to stat var for mobs

SIZE_HUGE + + +

+

Using Large does the same job

SIZE_LARGE + + +

+

Size of rifles, SMGs

SIZE_MEDIUM + + +

+

Backpacks, belts. Size of pistols, general magazines

SIZE_SMALL + + +

+

Armor, pouch slots/pockets

SIZE_TINY + + +

+

Helmets

get_area + + + +

+

Get the ultimate area of A, similarly to get_turf.

+

Use instead of A.loc.loc.

+ + + diff --git a/code/__DEFINES/mode.html b/code/__DEFINES/mode.html new file mode 100644 index 000000000000..cd3195fff953 --- /dev/null +++ b/code/__DEFINES/mode.html @@ -0,0 +1,102 @@ + + + + + + + code/__DEFINES/mode.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mode.dm + +

+ + + + + + + + + + + + + + + + +
MODE_NO_SNIPER_SENTRYUpgrade kits will no longer allow you to select long-range upgrades
MODE_NO_ATTACK_DEADPeople will not be able to shoot at corpses
MODE_NO_STRIPDRAG_ENEMYCan't strip or drag dead enemies
MODE_STRIP_NONUNIFORM_ENEMYCan strip enemy, but not their boots, uniform, armor, helmet, or ID
MODE_STRONG_DEFIBSDefibs Ignore Armor
MODE_BLOOD_OPTIMIZATIONBlood spawns without a dry timer, and do not cause footprints
MODE_NO_COMBAT_CASPrevents POs and DCCs from creating combat CAS equipment
MODE_LZ_PROTECTIONPrevents the LZ from being mortared
MODE_SHIPSIDE_SDToggles whether Predators can big SD when not on the groundmap
MODE_HARDCORE_PERMAToggles Hardcore for all marines, meaning they instantly perma upon death
WHITELIST_YAUTJA_LEGACYOld holders of YAUTJA_ELDER
WHITELIST_YAUTJA_COUNCIL_LEGACYOld holders of YAUTJA_COUNCIL for 3 months
WHITELIST_COMMANDER_COUNCIL_LEGACYOld holders of COMMANDER_COUNCIL for 3 months
WHITELIST_SYNTHETIC_COUNCIL_LEGACYOld holders of SYNTHETIC_COUNCIL for 3 months
APC_SCORE_INTERVALMisc. defines for objectives

Define Details

+

APC_SCORE_INTERVAL + + +

+

Misc. defines for objectives

MODE_BLOOD_OPTIMIZATION + + +

+

Blood spawns without a dry timer, and do not cause footprints

MODE_HARDCORE_PERMA + + +

+

Toggles Hardcore for all marines, meaning they instantly perma upon death

MODE_LZ_PROTECTION + + +

+

Prevents the LZ from being mortared

MODE_NO_ATTACK_DEAD + + +

+

People will not be able to shoot at corpses

MODE_NO_COMBAT_CAS + + +

+

Prevents POs and DCCs from creating combat CAS equipment

MODE_NO_SNIPER_SENTRY + + +

+

Upgrade kits will no longer allow you to select long-range upgrades

MODE_NO_STRIPDRAG_ENEMY + + +

+

Can't strip or drag dead enemies

MODE_SHIPSIDE_SD + + +

+

Toggles whether Predators can big SD when not on the groundmap

MODE_STRIP_NONUNIFORM_ENEMY + + +

+

Can strip enemy, but not their boots, uniform, armor, helmet, or ID

MODE_STRONG_DEFIBS + + +

+

Defibs Ignore Armor

WHITELIST_COMMANDER_COUNCIL_LEGACY + + +

+

Old holders of COMMANDER_COUNCIL for 3 months

WHITELIST_SYNTHETIC_COUNCIL_LEGACY + + +

+

Old holders of SYNTHETIC_COUNCIL for 3 months

WHITELIST_YAUTJA_COUNCIL_LEGACY + + +

+

Old holders of YAUTJA_COUNCIL for 3 months

WHITELIST_YAUTJA_LEGACY + + +

+

Old holders of YAUTJA_ELDER

+ + + diff --git a/code/__DEFINES/nightmare.html b/code/__DEFINES/nightmare.html new file mode 100644 index 000000000000..efe2b135e0bf --- /dev/null +++ b/code/__DEFINES/nightmare.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/nightmare.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/nightmare.dm + +

+ + + + + + +
NIGHTMARE_CTX_GLOBALGlobal Nightmare context: Performs any global game setup
NIGHTMARE_CTX_GROUNDGround Map Context: Performs actions relevant to the ground map
NIGHTMARE_CTX_SHIPShip Map Context: Performs actions relevant to the ship map
NIGHTMARE_TASKFLAG_DISABLEDThis task can not be executed
NIGHTMARE_TASKFLAG_ONESHOTThis task can only be executed once

Define Details

+

NIGHTMARE_CTX_GLOBAL + + +

+

Global Nightmare context: Performs any global game setup

NIGHTMARE_CTX_GROUND + + +

+

Ground Map Context: Performs actions relevant to the ground map

NIGHTMARE_CTX_SHIP + + +

+

Ship Map Context: Performs actions relevant to the ship map

NIGHTMARE_TASKFLAG_DISABLED + + +

+

This task can not be executed

NIGHTMARE_TASKFLAG_ONESHOT + + +

+

This task can only be executed once

+ + + diff --git a/code/__DEFINES/objects.html b/code/__DEFINES/objects.html new file mode 100644 index 000000000000..bbdcb5d4176b --- /dev/null +++ b/code/__DEFINES/objects.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/objects.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/objects.dm + +

+ + + + + +
OBJ_ORGANICMarks an object as organic. Used for alien structures and any other organic material
OBJ_NO_HELMET_BANDMakes the item not spawn a band around the helmet if it's used as a helmet garb
OBJ_IS_HELMET_GARBMarks the object as helmet garb
OBJ_UNIQUE_RENAMEcan you customize the description/name of the thing?

Define Details

+

OBJ_IS_HELMET_GARB + + +

+

Marks the object as helmet garb

OBJ_NO_HELMET_BAND + + +

+

Makes the item not spawn a band around the helmet if it's used as a helmet garb

OBJ_ORGANIC + + +

+

Marks an object as organic. Used for alien structures and any other organic material

OBJ_UNIQUE_RENAME + + +

+

can you customize the description/name of the thing?

+ + + diff --git a/code/__DEFINES/procpath.html b/code/__DEFINES/procpath.html new file mode 100644 index 000000000000..b8ae545602c0 --- /dev/null +++ b/code/__DEFINES/procpath.html @@ -0,0 +1,27 @@ + + + + + + + code/__DEFINES/procpath.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__DEFINES/procpath.dm + +

+ + +
/procpathRepresents a proc or verb path.
+ + + diff --git a/code/__DEFINES/qdel.html b/code/__DEFINES/qdel.html new file mode 100644 index 000000000000..31971d78c3d7 --- /dev/null +++ b/code/__DEFINES/qdel.html @@ -0,0 +1,99 @@ + + + + + + + code/__DEFINES/qdel.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/qdel.dm + +

+ + + + + + + + + + + + + + + + +

Defines that give qdel hints.

+

These can be given as a return in [/atom/proc/Destroy] or by calling /proc/qdel.

QDEL_HINT_QUEUEqdel should queue the object for deletion.
QDEL_HINT_LETMELIVEqdel should let the object live after calling [/atom/proc/Destroy].
QDEL_HINT_IWILLGCFunctionally the same as the above. qdel should assume the object will gc on its own, and not check it.
QDEL_HINT_HARDDELQdel should assume this object won't GC, and queue a hard delete using a hard reference.
GC_QUEUE_FILTERshort queue to filter out quick gc successes so they don't hang around in the main queue for 5 minutes
GC_QUEUE_CHECKmain queue that waits 5 minutes because thats the longest byond can hold a reference to our shit.
GC_QUEUE_HARDDELETEshort queue for things that hard delete instead of going thru the gc subsystem, this is purely so if they can softdelete, they will soft delete rather then wasting time with a hard delete.
GC_QUEUE_COUNTNumber of queues, used for allocating the nested lists. Don't forget to increase this if you add a new queue stage
GC_QUEUE_ITEM_QUEUE_TIMETime this item entered the queue
GC_QUEUE_ITEM_REFRef to the item
GC_QUEUE_ITEM_GCD_DESTROYEDItem's gc_destroyed var value. Used to detect ref reuse.
GC_QUEUE_ITEM_INDEX_COUNTNumber of item indexes, used for allocating the nested lists. Don't forget to increase this if you add a new queue item index
QDEL_ITEM_ADMINS_WARNEDSet when admins are told about lag causing qdels in this type.
QDEL_ITEM_SUSPENDED_FOR_LAGSet when a type can no longer be hard deleted on failure because of lag it causes while this happens.

Define Details

+

GC_QUEUE_CHECK + + +

+

main queue that waits 5 minutes because thats the longest byond can hold a reference to our shit.

GC_QUEUE_COUNT + + +

+

Number of queues, used for allocating the nested lists. Don't forget to increase this if you add a new queue stage

GC_QUEUE_FILTER + + +

+

short queue to filter out quick gc successes so they don't hang around in the main queue for 5 minutes

GC_QUEUE_HARDDELETE + + +

+

short queue for things that hard delete instead of going thru the gc subsystem, this is purely so if they can softdelete, they will soft delete rather then wasting time with a hard delete.

GC_QUEUE_ITEM_GCD_DESTROYED + + +

+

Item's gc_destroyed var value. Used to detect ref reuse.

GC_QUEUE_ITEM_INDEX_COUNT + + +

+

Number of item indexes, used for allocating the nested lists. Don't forget to increase this if you add a new queue item index

GC_QUEUE_ITEM_QUEUE_TIME + + +

+

Time this item entered the queue

GC_QUEUE_ITEM_REF + + +

+

Ref to the item

QDEL_HINT_HARDDEL + + +

+

Qdel should assume this object won't GC, and queue a hard delete using a hard reference.

QDEL_HINT_IWILLGC + + +

+

Functionally the same as the above. qdel should assume the object will gc on its own, and not check it.

QDEL_HINT_LETMELIVE + + +

+

qdel should let the object live after calling [/atom/proc/Destroy].

QDEL_HINT_QUEUE + + +

+

qdel should queue the object for deletion.

QDEL_ITEM_ADMINS_WARNED + + +

+

Set when admins are told about lag causing qdels in this type.

QDEL_ITEM_SUSPENDED_FOR_LAG + + +

+

Set when a type can no longer be hard deleted on failure because of lag it causes while this happens.

+ + + diff --git a/code/__DEFINES/shuttles.html b/code/__DEFINES/shuttles.html new file mode 100644 index 000000000000..d67ae09a006d --- /dev/null +++ b/code/__DEFINES/shuttles.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/shuttles.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/shuttles.dm + +

+ + +
GAMEMODE_IMMUNEshuttle is immune to gamemode timer restrictions

Define Details

+

GAMEMODE_IMMUNE + + +

+

shuttle is immune to gamemode timer restrictions

+ + + diff --git a/code/__DEFINES/subsystems.html b/code/__DEFINES/subsystems.html new file mode 100644 index 000000000000..92697019349a --- /dev/null +++ b/code/__DEFINES/subsystems.html @@ -0,0 +1,214 @@ + + + + + + + code/__DEFINES/subsystems.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/subsystems.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Defines for subsystems and overlays

+

Lots of important stuff in here, make sure you have your brain switched on +when editing this file

+

Timing subsystem

TIMER_UNIQUEDon't run if there is an identical unique timer active
TIMER_OVERRIDEFor unique timers: Replace the old timer rather then not start this one
TIMER_CLIENT_TIMETiming should be based on how timing progresses on clients, not the server.
TIMER_STOPPABLETimer can be stopped using deltimer()
TIMER_NO_HASH_WAITprevents distinguishing identical timers with the wait variable
TIMER_LOOPLoops the timer repeatedly until qdeleted
TIMER_DELETE_MEDelete the timer on parent datum Destroy() and when deltimer'd
TIMER_ID_NULLEmpty ID define
PROCESS_KILLUsed to trigger object removal from a processing list

Initialization subsystem

INITIALIZATION_INSSATOMSNew should not call Initialize
INITIALIZATION_INNEW_MAPLOADNew should call Initialize(TRUE)
INITIALIZATION_INNEW_REGULARNew should call Initialize(FALSE)

Initialization hints

INITIALIZE_HINT_NORMALNothing happens
INITIALIZE_HINT_LATELOADcall LateInitialize at the end of all atom Initalization
INITIALIZE_HINT_QDELCall qdel on the atom after intialization
INITIALIZE_HINT_ROUNDSTARTCall LateInitialize on roundstart
INITIALIZE_IMMEDIATEtype and all subtypes should always immediately call Initialize in New()

SS initialization hints

SS_INIT_FAILURENegative values incidate a failure or warning of some kind, positive are good. +0 and 1 are unused so that TRUE and FALSE are guarenteed to be invalid values. +Subsystem failed to initialize entirely. Print a warning, log, and disable firing.
SS_INIT_NONEThe default return value which must be overriden. Will succeed with a warning.
SS_INIT_SUCCESSSubsystem initialized sucessfully.
SS_INIT_NO_NEEDSuccessful, but don't print anything. Useful if subsystem was disabled.

SS initialization load orders

GAME_STATE_STARTUPGame is loading
GAME_STATE_PREGAMEGame is loaded and in pregame lobby
GAME_STATE_SETTING_UPGame is attempting to start the round
GAME_STATE_PLAYINGGame has round in progress
GAME_STATE_FINISHEDGame has round finished
addtimerCreate a new timer and add it to the queue.
SS_INIT_TIMER_KEYThe timer key used to know how long subsystem initialization takes

Define Details

+

GAME_STATE_FINISHED + + +

+

Game has round finished

GAME_STATE_PLAYING + + +

+

Game has round in progress

GAME_STATE_PREGAME + + +

+

Game is loaded and in pregame lobby

GAME_STATE_SETTING_UP + + +

+

Game is attempting to start the round

GAME_STATE_STARTUP + + +

+

Game is loading

INITIALIZATION_INNEW_MAPLOAD + + +

+

New should call Initialize(TRUE)

INITIALIZATION_INNEW_REGULAR + + +

+

New should call Initialize(FALSE)

INITIALIZATION_INSSATOMS + + +

+

New should not call Initialize

INITIALIZE_HINT_LATELOAD + + +

+

call LateInitialize at the end of all atom Initalization

+

The item will be added to the late_loaders list, this is iterated over after +initalization of subsystems is complete and calls LateInitalize on the atom +see this file for the LateIntialize proc

INITIALIZE_HINT_NORMAL + + +

+

Nothing happens

INITIALIZE_HINT_QDEL + + +

+

Call qdel on the atom after intialization

INITIALIZE_HINT_ROUNDSTART + + +

+

Call LateInitialize on roundstart

INITIALIZE_IMMEDIATE + + + +

+

type and all subtypes should always immediately call Initialize in New()

PROCESS_KILL + + +

+

Used to trigger object removal from a processing list

SS_INIT_FAILURE + + +

+

Negative values incidate a failure or warning of some kind, positive are good. +0 and 1 are unused so that TRUE and FALSE are guarenteed to be invalid values. +Subsystem failed to initialize entirely. Print a warning, log, and disable firing.

SS_INIT_NONE + + +

+

The default return value which must be overriden. Will succeed with a warning.

SS_INIT_NO_NEED + + +

+

Successful, but don't print anything. Useful if subsystem was disabled.

SS_INIT_SUCCESS + + +

+

Subsystem initialized sucessfully.

SS_INIT_TIMER_KEY + + +

+

The timer key used to know how long subsystem initialization takes

TIMER_CLIENT_TIME + + +

+

Timing should be based on how timing progresses on clients, not the server.

+

Tracking this is more expensive, +should only be used in conjuction with things that have to progress client side, such as +animate() or sound()

TIMER_DELETE_ME + + +

+

Delete the timer on parent datum Destroy() and when deltimer'd

TIMER_ID_NULL + + +

+

Empty ID define

TIMER_LOOP + + +

+

Loops the timer repeatedly until qdeleted

+

In most cases you want a subsystem instead, so don't use this unless you have a good reason

TIMER_NO_HASH_WAIT + + +

+

prevents distinguishing identical timers with the wait variable

+

To be used with TIMER_UNIQUE

TIMER_OVERRIDE + + +

+

For unique timers: Replace the old timer rather then not start this one

TIMER_STOPPABLE + + +

+

Timer can be stopped using deltimer()

TIMER_UNIQUE + + +

+

Don't run if there is an identical unique timer active

+

if the arguments to addtimer are the same as an existing timer, it doesn't create a new timer, +and returns the id of the existing timer

addtimer + + + +

+

Create a new timer and add it to the queue.

+
+ + + diff --git a/code/__DEFINES/surgery.html b/code/__DEFINES/surgery.html new file mode 100644 index 000000000000..e1dbc1de6393 --- /dev/null +++ b/code/__DEFINES/surgery.html @@ -0,0 +1,185 @@ + + + + + + + code/__DEFINES/surgery.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/surgery.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
is_surgery_toolchecks if the item has a path that can be specifically used in a surgery step.
is_surgery_init_toolchecks if the item has a path that can be specifically used in a surgery step and is not flagged to not message on failed init - ex. cable coil, trauma kits etc.
SELF_SURGERY_SLOWDOWNMultiplier to surgery times when working on yourself.
SURGERY_DEPTH_SURFACENo incision.
SURGERY_DEPTH_SHALLOWAn incision has been opened.
SURGERY_DEPTH_DEEPDeep incision - opened ribcage/skull.
SURGERY_SURFACE_MULT_AWFULA surface that's utterly unsuitable for complex surgery. Worst possible case.
SURGERY_SURFACE_MULT_UNSUITEDA surface unsuited for surgery, but better than nothing.
SURGERY_SURFACE_MULT_ADEQUATEA surface that's adequate for surgery, if not ideal.
SURGERY_SURFACE_MULT_IDEALA surface that's ideal for performing surgeries.
SURGERY_TOOL_MULT_AWFULA tool that's badly unsuitable for the surgery. Worst usable case. Using a glass shard instead of a scalpel, using a bayonet to saw off a limb's bone.
SURGERY_TOOL_MULT_BAD_SUBSTITUTEAn improvised substitute for an ill-fitting tool. Using wirecutters instead of a retractor.
SURGERY_TOOL_MULT_SUBSTITUTEA tool that's functional, but hardly good. Generally an improvised substitute for a well-matching tool - wirecutters instead of haemostat.
SURGERY_TOOL_MULT_SUBOPTIMALA tool that's a good, if not ideal, fit for the surgery -- generally a real surgical tool used slightly out of its role. Haemostat instead of retractor, fixovein instead of sutures.
SURGERY_TOOL_MULT_IDEALA tool that's perfect for the surgery.
SURGERY_PRIORITY_MAXIMUMAppears first in lists. Ex. larva surgery, opening incision. Immediately life-threatening or initiation surgeries.
SURGERY_PRIORITY_HIGHAppears second in lists. Ex. IB fix, bleeding surgeries. Life-threatening or liable to get worse.
SURGERY_PRIORITY_MODERATEAppears third in lists. Ex. bone fix, tending wounds. Worth doing but not immediately threatening. Most surgeries will be here.
SURGERY_PRIORITY_LOWAppears fourth in lists. Ex. opening ribs, amputation. Things that shouldn't be at the top of a list.
SURGERY_PRIORITY_MINIMUMAppears last in lists. Ex. cauterizing incision, closing ribcage. Concluding steps.
SURGERY_TOOLS_NO_INIT_MSGTools routinely used to hit people, which wouldn't make sense to give 'you can't open an incision with xyz' messages.
SURGERY_TOOLS_INCISIONTools used to open incisions or cut flesh. IMS listed separately as the generic incision surgery uses it to skip steps. +PICT isn't as fast as standard to disincentivise using it instead of a normal scalpel. +See also /datum/surgery_step/cut_larval_pseudoroots, /datum/surgery_step/retract_skin.
SURGERY_TOOLS_CAUTERIZETools used to close incisions. May need surgical line in future. Check /datum/surgery_step/cauterize var/tools_lit if adding activatable tools.
SURGERY_TOOLS_PINCHTools used to grab and remove things delicately. See also /datum/surgery_step/remove_larva.
SURGERY_TOOLS_PRY_DELICATETools used to pry things very finely. No crowbar, fork works decently; it can't pinch, but it's easier to maneuver precisely than wirecutters.
SURGERY_TOOLS_MEND_BLOODVESSELTools used to patch damaged bloodvessels. Same tools as SUTURE, but fixovein exists specifically for this work and is best at it.
SURGERY_TOOLS_SUTURETools used to suture damaged flesh. Same tools as BLOODVESSEL, but surgical line is ideal for this.
SURGERY_TOOLS_SEVER_BONETools used to sever limb bones. Same tools as /datum/surgery_step/saw_encased, but with hacking/chopping tools being better than sawing. +See also /datum/surgery_step/saw_off_limb/failure var/list/cannot_hack, listing the tools that can't instantly chop a limb.
SURGERY_TOOLS_PRY_ENCASEDTools used to open and close ribs/skull. Heavy-duty prying, haemostat/wirecutter won't cut it.
SURGERY_TOOLS_BONE_MENDTools used to patch lightly damaged bones or before setting. May need surgical line in future.

Define Details

+

SELF_SURGERY_SLOWDOWN + + +

+

Multiplier to surgery times when working on yourself.

SURGERY_DEPTH_DEEP + + +

+

Deep incision - opened ribcage/skull.

SURGERY_DEPTH_SHALLOW + + +

+

An incision has been opened.

SURGERY_DEPTH_SURFACE + + +

+

No incision.

SURGERY_PRIORITY_HIGH + + +

+

Appears second in lists. Ex. IB fix, bleeding surgeries. Life-threatening or liable to get worse.

SURGERY_PRIORITY_LOW + + +

+

Appears fourth in lists. Ex. opening ribs, amputation. Things that shouldn't be at the top of a list.

SURGERY_PRIORITY_MAXIMUM + + +

+

Appears first in lists. Ex. larva surgery, opening incision. Immediately life-threatening or initiation surgeries.

SURGERY_PRIORITY_MINIMUM + + +

+

Appears last in lists. Ex. cauterizing incision, closing ribcage. Concluding steps.

SURGERY_PRIORITY_MODERATE + + +

+

Appears third in lists. Ex. bone fix, tending wounds. Worth doing but not immediately threatening. Most surgeries will be here.

SURGERY_SURFACE_MULT_ADEQUATE + + +

+

A surface that's adequate for surgery, if not ideal.

SURGERY_SURFACE_MULT_AWFUL + + +

+

A surface that's utterly unsuitable for complex surgery. Worst possible case.

SURGERY_SURFACE_MULT_IDEAL + + +

+

A surface that's ideal for performing surgeries.

SURGERY_SURFACE_MULT_UNSUITED + + +

+

A surface unsuited for surgery, but better than nothing.

SURGERY_TOOLS_BONE_MEND + + +

+

Tools used to patch lightly damaged bones or before setting. May need surgical line in future.

SURGERY_TOOLS_CAUTERIZE + + +

+

Tools used to close incisions. May need surgical line in future. Check /datum/surgery_step/cauterize var/tools_lit if adding activatable tools.

SURGERY_TOOLS_INCISION + + +

+

Tools used to open incisions or cut flesh. IMS listed separately as the generic incision surgery uses it to skip steps. +PICT isn't as fast as standard to disincentivise using it instead of a normal scalpel. +See also /datum/surgery_step/cut_larval_pseudoroots, /datum/surgery_step/retract_skin.

SURGERY_TOOLS_MEND_BLOODVESSEL + + +

+

Tools used to patch damaged bloodvessels. Same tools as SUTURE, but fixovein exists specifically for this work and is best at it.

SURGERY_TOOLS_NO_INIT_MSG + + +

+

Tools routinely used to hit people, which wouldn't make sense to give 'you can't open an incision with xyz' messages.

SURGERY_TOOLS_PINCH + + +

+

Tools used to grab and remove things delicately. See also /datum/surgery_step/remove_larva.

SURGERY_TOOLS_PRY_DELICATE + + +

+

Tools used to pry things very finely. No crowbar, fork works decently; it can't pinch, but it's easier to maneuver precisely than wirecutters.

SURGERY_TOOLS_PRY_ENCASED + + +

+

Tools used to open and close ribs/skull. Heavy-duty prying, haemostat/wirecutter won't cut it.

SURGERY_TOOLS_SEVER_BONE + + +

+

Tools used to sever limb bones. Same tools as /datum/surgery_step/saw_encased, but with hacking/chopping tools being better than sawing. +See also /datum/surgery_step/saw_off_limb/failure var/list/cannot_hack, listing the tools that can't instantly chop a limb.

SURGERY_TOOLS_SUTURE + + +

+

Tools used to suture damaged flesh. Same tools as BLOODVESSEL, but surgical line is ideal for this.

SURGERY_TOOL_MULT_AWFUL + + +

+

A tool that's badly unsuitable for the surgery. Worst usable case. Using a glass shard instead of a scalpel, using a bayonet to saw off a limb's bone.

SURGERY_TOOL_MULT_BAD_SUBSTITUTE + + +

+

An improvised substitute for an ill-fitting tool. Using wirecutters instead of a retractor.

SURGERY_TOOL_MULT_IDEAL + + +

+

A tool that's perfect for the surgery.

SURGERY_TOOL_MULT_SUBOPTIMAL + + +

+

A tool that's a good, if not ideal, fit for the surgery -- generally a real surgical tool used slightly out of its role. Haemostat instead of retractor, fixovein instead of sutures.

SURGERY_TOOL_MULT_SUBSTITUTE + + +

+

A tool that's functional, but hardly good. Generally an improvised substitute for a well-matching tool - wirecutters instead of haemostat.

is_surgery_init_tool + + + +

+

checks if the item has a path that can be specifically used in a surgery step and is not flagged to not message on failed init - ex. cable coil, trauma kits etc.

is_surgery_tool + + + +

+

checks if the item has a path that can be specifically used in a surgery step.

+ + + diff --git a/code/__DEFINES/techtree.html b/code/__DEFINES/techtree.html new file mode 100644 index 000000000000..7452ad04d025 --- /dev/null +++ b/code/__DEFINES/techtree.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/techtree.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/techtree.dm + +

+ + + + + +
TECH_FLAG_MULTIUSEThe tech can be purchased multiple times
TECH_FLAG_DISABLEDPrevents a tech from being added to the tech trees
TECH_FLAG_NO_ANNOUNCEDon't announce when this tech is bought.
PASSIVE_INCREASE_AMOUNTControls the passive increase amount.

Define Details

+

PASSIVE_INCREASE_AMOUNT + + +

+

Controls the passive increase amount.

TECH_FLAG_DISABLED + + +

+

Prevents a tech from being added to the tech trees

TECH_FLAG_MULTIUSE + + +

+

The tech can be purchased multiple times

TECH_FLAG_NO_ANNOUNCE + + +

+

Don't announce when this tech is bought.

+ + + diff --git a/code/__DEFINES/text.html b/code/__DEFINES/text.html new file mode 100644 index 000000000000..892bcf80aac6 --- /dev/null +++ b/code/__DEFINES/text.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/text.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/text.dm + +

+ + + + + + + +
MAPTEXTPrepares a text to be used for maptext. Use this so it doesn't look hideous.
MAPTEXT_VCR_OSD_MONOPrepares a text to be used for maptext, using a font that can handle larger text better.
WXH_TO_HEIGHTMacro from Lummox used to get height from a MeasureText proc
SANITIZE_FILENAMERemoves characters incompatible with file names.
STRIP_HTML_SIMPLESimply removes the < and > characters, and limits the length of the message.
SHOW_MESSAGE_VISIBLEdefines related to text related procs

Define Details

+

MAPTEXT + + + +

+

Prepares a text to be used for maptext. Use this so it doesn't look hideous.

MAPTEXT_VCR_OSD_MONO + + + +

+

Prepares a text to be used for maptext, using a font that can handle larger text better.

SANITIZE_FILENAME + + + +

+

Removes characters incompatible with file names.

SHOW_MESSAGE_VISIBLE + + +

+

defines related to text related procs

STRIP_HTML_SIMPLE + + + +

+

Simply removes the < and > characters, and limits the length of the message.

WXH_TO_HEIGHT + + + +

+

Macro from Lummox used to get height from a MeasureText proc

+ + + diff --git a/code/__DEFINES/tgs.html b/code/__DEFINES/tgs.html new file mode 100644 index 000000000000..59ba8a6ce35e --- /dev/null +++ b/code/__DEFINES/tgs.html @@ -0,0 +1,207 @@ + + + + + + + code/__DEFINES/tgs.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/tgs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TGS_EVENT_REBOOT_MODE_CHANGECreate this define if you want to do TGS configuration outside of this file. +Before a reboot mode change, extras parameters are the current and new reboot mode enums.
TGS_EVENT_PORT_SWAPBefore a port change is about to happen, extra parameters is new port.
TGS_EVENT_INSTANCE_RENAMEDBefore the instance is renamed, extra parameter is the new name.
TGS_EVENT_WATCHDOG_REATTACHAfter the watchdog reattaches to DD, extra parameter is the new /datum/tgs_version of the server.
TGS_EVENT_HEALTH_CHECKWhen the watchdog sends a health check to DD. No parameters.
TGS_EVENT_REPO_RESET_ORIGINWhen the repository is reset to its origin reference. Parameters: Reference name, Commit SHA.
TGS_EVENT_REPO_CHECKOUTWhen the repository performs a checkout. Parameters: Checkout git object.
TGS_EVENT_REPO_FETCHWhen the repository performs a fetch operation. No parameters.
TGS_EVENT_REPO_MERGE_PULL_REQUESTWhen the repository test merges. Parameters: PR Number, PR Sha, (Nullable) Comment made by TGS user.
TGS_EVENT_REPO_PRE_SYNCHRONIZEBefore the repository makes a sychronize operation. Parameters: Absolute repostiory path.
TGS_EVENT_BYOND_INSTALL_STARTBefore a BYOND install operation begins. Parameters: /datum/tgs_version of the installing BYOND.
TGS_EVENT_BYOND_INSTALL_FAILWhen a BYOND install operation fails. Parameters: Error message
TGS_EVENT_BYOND_ACTIVE_VERSION_CHANGEWhen the active BYOND version changes. Parameters: (Nullable) /datum/tgs_version of the current BYOND, /datum/tgs_version of the new BYOND.
TGS_EVENT_COMPILE_STARTWhen the compiler starts running. Parameters: Game directory path, origin commit SHA.
TGS_EVENT_COMPILE_CANCELLEDWhen a compile is cancelled. No parameters.
TGS_EVENT_COMPILE_FAILUREWhen a compile fails. Parameters: Game directory path, [TRUE]/[FALSE] based on if the cause for failure was DMAPI validation.
TGS_EVENT_COMPILE_COMPLETEWhen a compile operation completes. Note, this event fires before the new .dmb is loaded into the watchdog. Consider using the TGS_EVENT_DEPLOYMENT_COMPLETE instead. Parameters: Game directory path.
TGS_EVENT_INSTANCE_AUTO_UPDATE_STARTWhen an automatic update for the current instance begins. No parameters.
TGS_EVENT_REPO_MERGE_CONFLICTWhen the repository encounters a merge conflict: Parameters: Base SHA, target SHA, base reference, target reference.
TGS_EVENT_DEPLOYMENT_COMPLETEWhen a deployment completes. No Parameters.
TGS_EVENT_WATCHDOG_SHUTDOWNBefore the watchdog shuts down. Not sent for graceful shutdowns. No parameters.
TGS_EVENT_WATCHDOG_DETACHBefore the watchdog detaches for a TGS update/restart. No parameters.
TGS_EVENT_WORLD_PRIMEWatchdog event when TgsInitializationComplete() is called. No parameters.
TGS_EVENT_REPO_SUBMODULE_UPDATEAfter a single submodule update is performed. Parameters: Updated submodule name.
TGS_EVENT_PRE_DREAM_MAKERAfter CodeModifications are applied, before DreamMaker is run. Parameters: Game directory path, origin commit sha, byond version.
TGS_EVENT_DEPLOYMENT_CLEANUPWhenever a deployment folder is deleted from disk. Parameters: Game directory path.
TGS_REBOOT_MODE_NORMALThe server will reboot normally.
TGS_REBOOT_MODE_SHUTDOWNThe server will stop running on reboot.
TGS_REBOOT_MODE_RESTARTThe watchdog will restart on reboot.
TGS_SECURITY_TRUSTEDDreamDaemon Trusted security level.
TGS_SECURITY_SAFEDreamDaemon Safe security level.
TGS_SECURITY_ULTRASAFEDreamDaemon Ultrasafe security level.
TGS_TOPICPut this at the start of [/world/proc/Topic].
/datum/tgs_revision_informationRepresents git revision information.
/datum/tgs_versionRepresents a version.
/datum/tgs_revision_information/test_mergeRepresents a merge of a GitHub pull request.
/datum/tgs_chat_channelRepresents a connected chat channel.
/datum/tgs_event_handlerUser definable handler for TGS events.
/datum/tgs_chat_commandUser definable chat command.
/datum/tgs_message_contentUser definable chat message.
/datum/tgs_chat_embed/structureUser definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details.
/datum/tgs_chat_embed/mediaCommon datum for similar discord embed medias.
/datum/tgs_chat_embed/footerSee https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details.
/datum/tgs_chat_embed/providerSee https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure for details.
/datum/tgs_chat_embed/provider/authorSee https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure for details. Must have name set in New().
/datum/tgs_chat_embed/fieldSee https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure for details. Must have name and value set in New().

Define Details

+

TGS_EVENT_BYOND_ACTIVE_VERSION_CHANGE + + +

+

When the active BYOND version changes. Parameters: (Nullable) /datum/tgs_version of the current BYOND, /datum/tgs_version of the new BYOND.

TGS_EVENT_BYOND_INSTALL_FAIL + + +

+

When a BYOND install operation fails. Parameters: Error message

TGS_EVENT_BYOND_INSTALL_START + + +

+

Before a BYOND install operation begins. Parameters: /datum/tgs_version of the installing BYOND.

TGS_EVENT_COMPILE_CANCELLED + + +

+

When a compile is cancelled. No parameters.

TGS_EVENT_COMPILE_COMPLETE + + +

+

When a compile operation completes. Note, this event fires before the new .dmb is loaded into the watchdog. Consider using the TGS_EVENT_DEPLOYMENT_COMPLETE instead. Parameters: Game directory path.

TGS_EVENT_COMPILE_FAILURE + + +

+

When a compile fails. Parameters: Game directory path, [TRUE]/[FALSE] based on if the cause for failure was DMAPI validation.

TGS_EVENT_COMPILE_START + + +

+

When the compiler starts running. Parameters: Game directory path, origin commit SHA.

TGS_EVENT_DEPLOYMENT_CLEANUP + + +

+

Whenever a deployment folder is deleted from disk. Parameters: Game directory path.

TGS_EVENT_DEPLOYMENT_COMPLETE + + +

+

When a deployment completes. No Parameters.

TGS_EVENT_HEALTH_CHECK + + +

+

When the watchdog sends a health check to DD. No parameters.

TGS_EVENT_INSTANCE_AUTO_UPDATE_START + + +

+

When an automatic update for the current instance begins. No parameters.

TGS_EVENT_INSTANCE_RENAMED + + +

+

Before the instance is renamed, extra parameter is the new name.

TGS_EVENT_PORT_SWAP + + +

+

Before a port change is about to happen, extra parameters is new port.

TGS_EVENT_PRE_DREAM_MAKER + + +

+

After CodeModifications are applied, before DreamMaker is run. Parameters: Game directory path, origin commit sha, byond version.

TGS_EVENT_REBOOT_MODE_CHANGE + + +

+

Create this define if you want to do TGS configuration outside of this file. +Before a reboot mode change, extras parameters are the current and new reboot mode enums.

TGS_EVENT_REPO_CHECKOUT + + +

+

When the repository performs a checkout. Parameters: Checkout git object.

TGS_EVENT_REPO_FETCH + + +

+

When the repository performs a fetch operation. No parameters.

TGS_EVENT_REPO_MERGE_CONFLICT + + +

+

When the repository encounters a merge conflict: Parameters: Base SHA, target SHA, base reference, target reference.

TGS_EVENT_REPO_MERGE_PULL_REQUEST + + +

+

When the repository test merges. Parameters: PR Number, PR Sha, (Nullable) Comment made by TGS user.

TGS_EVENT_REPO_PRE_SYNCHRONIZE + + +

+

Before the repository makes a sychronize operation. Parameters: Absolute repostiory path.

TGS_EVENT_REPO_RESET_ORIGIN + + +

+

When the repository is reset to its origin reference. Parameters: Reference name, Commit SHA.

TGS_EVENT_REPO_SUBMODULE_UPDATE + + +

+

After a single submodule update is performed. Parameters: Updated submodule name.

TGS_EVENT_WATCHDOG_DETACH + + +

+

Before the watchdog detaches for a TGS update/restart. No parameters.

TGS_EVENT_WATCHDOG_REATTACH + + +

+

After the watchdog reattaches to DD, extra parameter is the new /datum/tgs_version of the server.

TGS_EVENT_WATCHDOG_SHUTDOWN + + +

+

Before the watchdog shuts down. Not sent for graceful shutdowns. No parameters.

TGS_EVENT_WORLD_PRIME + + +

+

Watchdog event when TgsInitializationComplete() is called. No parameters.

TGS_REBOOT_MODE_NORMAL + + +

+

The server will reboot normally.

TGS_REBOOT_MODE_RESTART + + +

+

The watchdog will restart on reboot.

TGS_REBOOT_MODE_SHUTDOWN + + +

+

The server will stop running on reboot.

TGS_SECURITY_SAFE + + +

+

DreamDaemon Safe security level.

TGS_SECURITY_TRUSTED + + +

+

DreamDaemon Trusted security level.

TGS_SECURITY_ULTRASAFE + + +

+

DreamDaemon Ultrasafe security level.

TGS_TOPIC + + +

+

Put this at the start of [/world/proc/Topic].

+ + + diff --git a/code/__DEFINES/tgui.html b/code/__DEFINES/tgui.html new file mode 100644 index 000000000000..cf829a37d787 --- /dev/null +++ b/code/__DEFINES/tgui.html @@ -0,0 +1,100 @@ + + + + + + + code/__DEFINES/tgui.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/tgui.dm + +

+ + + + + + + + + + + + + + + +
UI_INTERACTIVEGreen eye; fully interactive
UI_UPDATEOrange eye; updates but is not interactive
UI_DISABLEDRed eye; disabled, does not update
UI_CLOSEUI Should close
TGUI_WINDOW_SOFT_LIMITMaximum number of windows that can be suspended/reused
TGUI_WINDOW_HARD_LIMITMaximum number of open windows
TGUI_PING_TIMEOUTMaximum ping timeout allowed to detect zombie windows
TGUI_REFRESH_FULL_UPDATE_COOLDOWNUsed for rate-limiting to prevent DoS by excessively refreshing a TGUI window
TGUI_WINDOW_CLOSEDWindow does not exist
TGUI_WINDOW_LOADINGWindow was just opened, but is still not ready to be sent data
TGUI_WINDOW_READYWindow is free and ready to receive data
TGUI_WINDOW_IDGet a window id based on the provided pool index
TGUI_WINDOW_INDEXGet a pool index of the provided window id
TGUI_CREATE_MESSAGECreates a message packet for sending via output()

Define Details

+

TGUI_CREATE_MESSAGE + + + +

+

Creates a message packet for sending via output()

TGUI_PING_TIMEOUT + + +

+

Maximum ping timeout allowed to detect zombie windows

TGUI_REFRESH_FULL_UPDATE_COOLDOWN + + +

+

Used for rate-limiting to prevent DoS by excessively refreshing a TGUI window

TGUI_WINDOW_CLOSED + + +

+

Window does not exist

TGUI_WINDOW_HARD_LIMIT + + +

+

Maximum number of open windows

TGUI_WINDOW_ID + + + +

+

Get a window id based on the provided pool index

TGUI_WINDOW_INDEX + + + +

+

Get a pool index of the provided window id

TGUI_WINDOW_LOADING + + +

+

Window was just opened, but is still not ready to be sent data

TGUI_WINDOW_READY + + +

+

Window is free and ready to receive data

TGUI_WINDOW_SOFT_LIMIT + + +

+

Maximum number of windows that can be suspended/reused

UI_CLOSE + + +

+

UI Should close

UI_DISABLED + + +

+

Red eye; disabled, does not update

UI_INTERACTIVE + + +

+

Green eye; fully interactive

UI_UPDATE + + +

+

Orange eye; updates but is not interactive

+ + + diff --git a/code/__DEFINES/traits.html b/code/__DEFINES/traits.html new file mode 100644 index 000000000000..fa781a7f907a --- /dev/null +++ b/code/__DEFINES/traits.html @@ -0,0 +1,258 @@ + + + + + + + code/__DEFINES/traits.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/traits.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TRAIT_YAUTJA_TECHExample trait +Knowledge of Yautja technology
TRAIT_SUPER_STRONGAbsolutely RIPPED. Can do misc. heavyweight stuff others can't. (Yautja, Synths)
TRAIT_FOREIGN_BIOForeign biology. Basic medHUDs won't show the mob. (Yautja, Zombies)
TRAIT_INTENT_EYESEye color changes on intent. (G1 Synths)
TRAIT_INFILTRATOR_SYNTHMasked synthetic biology. Basic medHUDs will percieve the mob as human. (Infiltrator Synths)
TRAIT_XENONIDIf the Hive is a Xenonid Hive
TRAIT_NO_HIVE_DELAYIf the Hive delays round end (this is overriden for some hives). Does not occur naturally. Must be applied in events.
TRAIT_NO_COLORIf the Hive uses it's colors on the mobs. Does not occur naturally, excepting the Mutated hive.
TRAIT_NESTEDIf the mob is nested.
TRAIT_CRAWLERIf the mob can crawl through pipes equipped
TRAIT_SIMPLE_DESCIf the mob is hidden from examination
TRAIT_LISPINGReplace s with th in talking
TRAIT_TWOBORE_TRAININGIf the mob can handle the superheavy two-bore rifle and speaks its fluff lines when landing hits with it.
TRAIT_NEARSIGHTED_EQUIPMENTIf the mob has equipment that alleviates nearsightedness
TRAIT_DEXTROUSIf the mob is affected by drag delay.
TRAIT_CHARGINGIf the mob is currently charging (xeno only)
TRAIT_LEADERSHIPIf the mob has leadership abilities (giving orders).
TRAIT_REAGENT_SCANNERIf the mob can see the reagents contents of stuff
TRAIT_SPOTTER_LAZEDIf the mob is being lazed by a sniper spotter
TRAIT_EAR_PROTECTIONIf the mob has ear protection. Protects from external ear damage effects. Includes explosions, firing the RPG, screeching DEAFNESS only, and flashbangs.
TRAIT_SANTAIf the mob is Santa. Enough said.
TRAIT_BIMEXIf the mob is wearing bimex glasses. Used for badass laser deflection flavor text.
TRAIT_EMOTE_CD_EXEMPTStops emote cooldown
TRAIT_HOLDS_CANEIf the mob is holding a cane.
TRAIT_USING_WHEELCHAIRIf the mob is buckled to a wheelchair.
TRAIT_HARDCOREIf the mob will instantly go permadead upon death
TRAIT_ABILITY_NO_PLASMA_TRANSFERXenos with this trait cannot have plasma transfered to them
TRAIT_ABILITY_OVIPOSITORShows that the xeno queen is on ovi
TRAIT_TABLE_FLIPPINGIf the table is being flipped, prevent any changes that will mess with adjacency handling
TRAIT_SOURCE_INHERENTExample trait source
TRAIT_SOURCE_SPECIESStatus trait coming from species. .human/species_gain()
TRAIT_SOURCE_HIVEStatus trait coming from the hive.
TRAIT_SOURCE_BUCKLEStatus trait coming from being buckled.
TRAIT_SOURCE_QUIRKStatus trait coming from roundstart quirks (that don't exist yet). Unremovable by REMOVE_TRAIT
TRAIT_SOURCE_SQUAD_LEADERStatus trait coming from being assigned as [acting] squad leader.
TRAIT_SOURCE_JOBStatus trait coming from their job
TRAIT_SOURCE_ADMINStatus trait forced by staff
TRAIT_SOURCE_EQUIPMENTStatus trait coming from equipment
TRAIT_SOURCE_SKILLStatus trait coming from skill
TRAIT_SOURCE_ATTACHMENTStatus trait coming from attachment
TRAIT_SOURCE_ABILITYStatus trait coming from ability
TRAIT_SOURCE_XENO_ACTION_CHARGEStatus trait forced by the xeno action charge
TRAIT_SOURCE_FLIP_TABLEStatus trait coming from being flipped or unflipped.
TRAIT_SOURCE_WEAPONStatus trait from weapons?? buh
TRAIT_SOURCE_ITEMStatus trait coming from generic items

Define Details

+

TRAIT_ABILITY_NO_PLASMA_TRANSFER + + +

+

Xenos with this trait cannot have plasma transfered to them

TRAIT_ABILITY_OVIPOSITOR + + +

+

Shows that the xeno queen is on ovi

TRAIT_BIMEX + + +

+

If the mob is wearing bimex glasses. Used for badass laser deflection flavor text.

TRAIT_CHARGING + + +

+

If the mob is currently charging (xeno only)

TRAIT_CRAWLER + + +

+

If the mob can crawl through pipes equipped

TRAIT_DEXTROUS + + +

+

If the mob is affected by drag delay.

TRAIT_EAR_PROTECTION + + +

+

If the mob has ear protection. Protects from external ear damage effects. Includes explosions, firing the RPG, screeching DEAFNESS only, and flashbangs.

TRAIT_EMOTE_CD_EXEMPT + + +

+

Stops emote cooldown

TRAIT_FOREIGN_BIO + + +

+

Foreign biology. Basic medHUDs won't show the mob. (Yautja, Zombies)

TRAIT_HARDCORE + + +

+

If the mob will instantly go permadead upon death

TRAIT_HOLDS_CANE + + +

+

If the mob is holding a cane.

TRAIT_INFILTRATOR_SYNTH + + +

+

Masked synthetic biology. Basic medHUDs will percieve the mob as human. (Infiltrator Synths)

TRAIT_INTENT_EYES + + +

+

Eye color changes on intent. (G1 Synths)

TRAIT_LEADERSHIP + + +

+

If the mob has leadership abilities (giving orders).

TRAIT_LISPING + + +

+

Replace s with th in talking

TRAIT_NEARSIGHTED_EQUIPMENT + + +

+

If the mob has equipment that alleviates nearsightedness

TRAIT_NESTED + + +

+

If the mob is nested.

TRAIT_NO_COLOR + + +

+

If the Hive uses it's colors on the mobs. Does not occur naturally, excepting the Mutated hive.

TRAIT_NO_HIVE_DELAY + + +

+

If the Hive delays round end (this is overriden for some hives). Does not occur naturally. Must be applied in events.

TRAIT_REAGENT_SCANNER + + +

+

If the mob can see the reagents contents of stuff

TRAIT_SANTA + + +

+

If the mob is Santa. Enough said.

TRAIT_SIMPLE_DESC + + +

+

If the mob is hidden from examination

TRAIT_SOURCE_ABILITY + + + +

+

Status trait coming from ability

TRAIT_SOURCE_ADMIN + + +

+

Status trait forced by staff

TRAIT_SOURCE_ATTACHMENT + + + +

+

Status trait coming from attachment

TRAIT_SOURCE_BUCKLE + + +

+

Status trait coming from being buckled.

TRAIT_SOURCE_EQUIPMENT + + + +

+

Status trait coming from equipment

TRAIT_SOURCE_FLIP_TABLE + + +

+

Status trait coming from being flipped or unflipped.

TRAIT_SOURCE_HIVE + + +

+

Status trait coming from the hive.

TRAIT_SOURCE_INHERENT + + +

+

Example trait source

TRAIT_SOURCE_ITEM + + +

+

Status trait coming from generic items

TRAIT_SOURCE_JOB + + +

+

Status trait coming from their job

TRAIT_SOURCE_QUIRK + + +

+

Status trait coming from roundstart quirks (that don't exist yet). Unremovable by REMOVE_TRAIT

TRAIT_SOURCE_SKILL + + + +

+

Status trait coming from skill

TRAIT_SOURCE_SPECIES + + +

+

Status trait coming from species. .human/species_gain()

TRAIT_SOURCE_SQUAD_LEADER + + +

+

Status trait coming from being assigned as [acting] squad leader.

TRAIT_SOURCE_WEAPON + + +

+

Status trait from weapons?? buh

TRAIT_SOURCE_XENO_ACTION_CHARGE + + +

+

Status trait forced by the xeno action charge

TRAIT_SPOTTER_LAZED + + +

+

If the mob is being lazed by a sniper spotter

TRAIT_SUPER_STRONG + + +

+

Absolutely RIPPED. Can do misc. heavyweight stuff others can't. (Yautja, Synths)

TRAIT_TABLE_FLIPPING + + +

+

If the table is being flipped, prevent any changes that will mess with adjacency handling

TRAIT_TWOBORE_TRAINING + + +

+

If the mob can handle the superheavy two-bore rifle and speaks its fluff lines when landing hits with it.

TRAIT_USING_WHEELCHAIR + + +

+

If the mob is buckled to a wheelchair.

TRAIT_XENONID + + +

+

If the Hive is a Xenonid Hive

TRAIT_YAUTJA_TECH + + +

+

Example trait +Knowledge of Yautja technology

+ + + diff --git a/code/__DEFINES/turf_flags.html b/code/__DEFINES/turf_flags.html new file mode 100644 index 000000000000..6c6df913847a --- /dev/null +++ b/code/__DEFINES/turf_flags.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/turf_flags.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/turf_flags.dm + +

+ + + + +
CHANGETURF_IGNORE_AIRThis flag prevents changeturf from gathering air from nearby turfs to fill the new turf with an approximation of local air
CHANGETURF_SKIPA flag for PlaceOnTop to just instance the new turf instead of calling ChangeTurf. Used for uninitialized turfs NOTHING ELSE
TURF_ORGANICMarks a turf as organic. Used for alien wall and membranes.

Define Details

+

CHANGETURF_IGNORE_AIR + + +

+

This flag prevents changeturf from gathering air from nearby turfs to fill the new turf with an approximation of local air

CHANGETURF_SKIP + + +

+

A flag for PlaceOnTop to just instance the new turf instead of calling ChangeTurf. Used for uninitialized turfs NOTHING ELSE

TURF_ORGANIC + + +

+

Marks a turf as organic. Used for alien wall and membranes.

+ + + diff --git a/code/__DEFINES/unit_tests.html b/code/__DEFINES/unit_tests.html new file mode 100644 index 000000000000..347754fe27da --- /dev/null +++ b/code/__DEFINES/unit_tests.html @@ -0,0 +1,49 @@ + + + + + + + code/__DEFINES/unit_tests.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/unit_tests.dm + +

+ + + +
PERFORM_ALL_TESTSAre tests enabled with no focus? +Use this when performing test assertions outside of a unit test, +since a focused test means that you're trying to run a test quickly. +If a parameter is provided, will check if the focus is on that test name. +For example, PERFORM_ALL_TESTS(log_mapping) will only run if either +no test is focused, or the focus is log_mapping.
TEST_ONLY_ASSERTASSERT(), but it only actually does anything during unit tests

Define Details

+

PERFORM_ALL_TESTS + + + +

+

Are tests enabled with no focus? +Use this when performing test assertions outside of a unit test, +since a focused test means that you're trying to run a test quickly. +If a parameter is provided, will check if the focus is on that test name. +For example, PERFORM_ALL_TESTS(log_mapping) will only run if either +no test is focused, or the focus is log_mapping.

TEST_ONLY_ASSERT + + + +

+

ASSERT(), but it only actually does anything during unit tests

+ + + diff --git a/code/__DEFINES/vehicle.html b/code/__DEFINES/vehicle.html new file mode 100644 index 000000000000..6a08e6b38e6b --- /dev/null +++ b/code/__DEFINES/vehicle.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/vehicle.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/vehicle.dm + +

+ + + +
VEHICLE_TOGGLE_SHIFT_CLICK_GUNNERToggle between Shift click and MMB click for gunner
VEHICLE_CLASS_WEAKVehicle Classes (for future)

Define Details

+

VEHICLE_CLASS_WEAK + + +

+

Vehicle Classes (for future)

VEHICLE_TOGGLE_SHIFT_CLICK_GUNNER + + +

+

Toggle between Shift click and MMB click for gunner

+ + + diff --git a/code/__DEFINES/weapon_stats.html b/code/__DEFINES/weapon_stats.html new file mode 100644 index 000000000000..9a11ba76caab --- /dev/null +++ b/code/__DEFINES/weapon_stats.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/weapon_stats.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/weapon_stats.dm + +

+ + + +
FIRE_VARIANT_DEFAULTDefault fire behavior: No associated values.
FIRE_VARIANT_TYPE_B"Type B" Armor Shredding Greenfire: Burn Time T5, Burn Level T2, Slows on Tile, Increased Tile Damage, Easier Extinguishing.

Define Details

+

FIRE_VARIANT_DEFAULT + + +

+

Default fire behavior: No associated values.

FIRE_VARIANT_TYPE_B + + +

+

"Type B" Armor Shredding Greenfire: Burn Time T5, Burn Level T2, Slows on Tile, Increased Tile Damage, Easier Extinguishing.

+ + + diff --git a/code/__DEFINES/xeno.html b/code/__DEFINES/xeno.html new file mode 100644 index 000000000000..1966125886b6 --- /dev/null +++ b/code/__DEFINES/xeno.html @@ -0,0 +1,115 @@ + + + + + + + code/__DEFINES/xeno.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__DEFINES/xeno.dm + +

+ + + + + + + + + + + + + + + + + + +
XENO_ATTACK_ACTIONFull attack delay.
XENO_NONCOMBAT_ACTIONNoticeable but shorter than full delay.
XENO_NO_DELAY_ACTIONNo delay at all.
xeno_attack_delayUsually 1 second delay.
xeno_noncombat_delay0.4 seconds, legacy 'open hand clicked something adjacent' delay.
xeno_miss_delayUsually half a second's delay.
BUILD_TIME_MULT_XENOMultiplier for time taken for a xeno to place down a resin structure
XENO_NOBODYNobody can create constructions. (Feral)
WEED_XENO_DAMAGEMULTMultiplicative. The amount of damage xenos do to weeds.
XENO_JOIN_DEAD_LARVA_TIMEThe time you must be dead to join as a xeno larva
XENO_JOIN_DEAD_TIMEThe time you must be dead to join as xeno (not larva)
XENO_JOIN_AFK_TIME_LIMITThe time of inactivity you cannot exceed to join as a xeno
XENO_BURIED_LARVA_TIME_LIMITThe amount of time after round start before buried larva spawns are disallowed
XENO_LEAVE_TIMER_LARVAThe time against away_timer when an AFK xeno larva can be replaced
XENO_LEAVE_TIMERThe time against away_timer when an AFK xeno (not larva) can be replaced
XENO_AVAILABLE_TIMERThe time against away_timer when an AFK xeno gets listed in the available list so ghosts can get ready
WEED_EXPLOSION_DAMAGEMULTBetween 2% to 10% of explosion severity

Define Details

+

BUILD_TIME_MULT_XENO + + +

+

Multiplier for time taken for a xeno to place down a resin structure

WEED_EXPLOSION_DAMAGEMULT + + +

+

Between 2% to 10% of explosion severity

WEED_XENO_DAMAGEMULT + + +

+

Multiplicative. The amount of damage xenos do to weeds.

XENO_ATTACK_ACTION + + +

+

Full attack delay.

XENO_AVAILABLE_TIMER + + +

+

The time against away_timer when an AFK xeno gets listed in the available list so ghosts can get ready

XENO_BURIED_LARVA_TIME_LIMIT + + +

+

The amount of time after round start before buried larva spawns are disallowed

XENO_JOIN_AFK_TIME_LIMIT + + +

+

The time of inactivity you cannot exceed to join as a xeno

XENO_JOIN_DEAD_LARVA_TIME + + +

+

The time you must be dead to join as a xeno larva

XENO_JOIN_DEAD_TIME + + +

+

The time you must be dead to join as xeno (not larva)

XENO_LEAVE_TIMER + + +

+

The time against away_timer when an AFK xeno (not larva) can be replaced

XENO_LEAVE_TIMER_LARVA + + +

+

The time against away_timer when an AFK xeno larva can be replaced

XENO_NOBODY + + +

+

Nobody can create constructions. (Feral)

XENO_NONCOMBAT_ACTION + + +

+

Noticeable but shorter than full delay.

XENO_NO_DELAY_ACTION + + +

+

No delay at all.

xeno_attack_delay + + + +

+

Usually 1 second delay.

xeno_miss_delay + + + +

+

Usually half a second's delay.

xeno_noncombat_delay + + + +

+

0.4 seconds, legacy 'open hand clicked something adjacent' delay.

+ + + diff --git a/code/__HELPERS/#maths.html b/code/__HELPERS/#maths.html new file mode 100644 index 000000000000..23a8dfbdf0ca --- /dev/null +++ b/code/__HELPERS/#maths.html @@ -0,0 +1,45 @@ + + + + + + + code/__HELPERS/#maths.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/#maths.dm + +

+ + + + + + + + + + + + + + + + + + + +
/proc/display_powerFormat a power value in W, kW, MW, or GW.
/proc/get_angleCalculate the angle between two movables and the west|east coordinate
/proc/get_angle_rawAngle between two arbitrary points and horizontal line same as /proc/get_angle
/proc/get_pixel_anglefor getting the angle when animating something's pixel_x and pixel_y
/proc/get_lineGet a list of turfs in a line from starting_atom to ending_atom.
/proc/anyprobchances are 1:value. anyprob(1) will always return true
/proc/bit_countcounts the number of bits in Byond's 16-bit width field, in constant time and memory!
/proc/make_tupleReturns the name of the mathematical tuple of same length as the number arg (rounded down).
/proc/at_leastTakes a value, and a threshold it has to at least match +returns the correctly signed value max'd to the threshold
+ + + diff --git a/code/__HELPERS/_lists.html b/code/__HELPERS/_lists.html new file mode 100644 index 000000000000..4b6b192a59b4 --- /dev/null +++ b/code/__HELPERS/_lists.html @@ -0,0 +1,77 @@ + + + + + + + code/__HELPERS/_lists.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__HELPERS/_lists.dm + +

+ + + + + + + + + + + + + + + + + + +
COMPARE_KEYPassed into BINARY_INSERT to compare keys
COMPARE_VALUEPassed into BINARY_INSERT to compare values
BINARY_INSERTBinary search sorted insert +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The variable on the objects to compare +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.
/proc/sort_listsort any value in a list
/proc/bitfield_to_listConverts a bitfield to a list of numbers (or words if a wordlist is provided)
/proc/pick_weightPicks a random element from a list based on a weighting system. +For example, given the following list: +A = 6, B = 3, C = 1, D = 0 +A would have a 60% chance of being picked, +B would have a 30% chance of being picked, +C would have a 10% chance of being picked, +and D would have a 0% chance of being picked. +You should only pass integers in.
/proc/list_clear_nullsRemoves any null entries from the list +Returns TRUE if the list had nulls, FALSE otherwise
/proc/unique_listReturn a list with no duplicate entries
/proc/unique_list_in_placesame as unique_list, but returns nothing and acts on list in place (also handles associated values properly)
/proc/shuffle_inplacesame as shuffle, but returns nothing and acts on list in place

Define Details

+

BINARY_INSERT + + + +

+

Binary search sorted insert +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The variable on the objects to compare +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.

COMPARE_KEY + + +

+

Passed into BINARY_INSERT to compare keys

COMPARE_VALUE + + +

+

Passed into BINARY_INSERT to compare values

+ + + diff --git a/code/__HELPERS/_time.html b/code/__HELPERS/_time.html new file mode 100644 index 000000000000..23d13046c1be --- /dev/null +++ b/code/__HELPERS/_time.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/_time.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/_time.dm + +

+ + + +
/proc/worldtime2textReturns the world time in english. Do not use to get date information - starts at 0 + a random time offset from 10 minutes to 24 hours.
+ + + diff --git a/code/__HELPERS/chat.html b/code/__HELPERS/chat.html new file mode 100644 index 000000000000..2de40092089a --- /dev/null +++ b/code/__HELPERS/chat.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/chat.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/chat.dm + +

+ + + + + +
/proc/send2chatSends a message to TGS chat channels.
/proc/send2adminchatSends a message to TGS admin chat channels.
+ + + diff --git a/code/__HELPERS/cmp.html b/code/__HELPERS/cmp.html new file mode 100644 index 000000000000..46369c4e498e --- /dev/null +++ b/code/__HELPERS/cmp.html @@ -0,0 +1,31 @@ + + + + + + + code/__HELPERS/cmp.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/cmp.dm + +

+ + + + + +
/proc/cmp_mob_deathtime_ascCompares mobs based on their timeofdeath value in ascending order
/proc/cmp_obs_larvaqueuetime_ascCompares observers based on their larva_queue_time value in ascending order +Assumes the client on the observer is not null
+ + + diff --git a/code/__HELPERS/datums.html b/code/__HELPERS/datums.html new file mode 100644 index 000000000000..4b95f02e2eb6 --- /dev/null +++ b/code/__HELPERS/datums.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/datums.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/datums.dm + +

+ + + +
/proc/is_valid_srcCheck if a datum has not been deleted and is a valid source
+ + + diff --git a/code/__HELPERS/files.html b/code/__HELPERS/files.html new file mode 100644 index 000000000000..62ca14b819b5 --- /dev/null +++ b/code/__HELPERS/files.html @@ -0,0 +1,29 @@ + + + + + + + code/__HELPERS/files.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/files.dm + +

+ + + +
/proc/md5asfileSave file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.
+ + + diff --git a/code/__HELPERS/game.html b/code/__HELPERS/game.html new file mode 100644 index 000000000000..25523f5bab07 --- /dev/null +++ b/code/__HELPERS/game.html @@ -0,0 +1,44 @@ + + + + + + + code/__HELPERS/game.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/game.dm + +

+ + + + + + + + + + + + + + + + + + + +
/proc/recursive_holder_checkWill attempt to find what's holding this item if it's being contained by something, ie if it's in a satchel held by a human, this'll return the human
/proc/get_radios_in_viewonly gets FUNCTIONING radios
/proc/get_alien_candidatesGet a list of observers that can be alien candidates, optionally sorted by larva_queue_time
/proc/message_alien_candidatesMessages observers that are currently candidates an update on the queue.
/proc/get_bbox_of_atomsGet a bounding box of a list of atoms.
/proc/remove_image_from_clientRemoves an image from a client's .images. Useful as a callback.
/proc/remove_images_from_clientsLike remove_image_from_client, but will remove the image from a list of clients
/proc/flick_overlay_to_clientsAdd an image to a list of clients and calls a proc to remove it after a duration
/proc/get_active_player_countGet active players who are playing in the round
+ + + diff --git a/code/__HELPERS/generators.html b/code/__HELPERS/generators.html new file mode 100644 index 000000000000..7e8b5770c829 --- /dev/null +++ b/code/__HELPERS/generators.html @@ -0,0 +1,29 @@ + + + + + + + code/__HELPERS/generators.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/generators.dm + +

+ + + +
/proc/return_generator_argsreturns the arguments given to a generator and manually extracts them from the internal byond object +returns:
+ + + diff --git a/code/__HELPERS/guid.html b/code/__HELPERS/guid.html new file mode 100644 index 000000000000..37aaa73003b3 --- /dev/null +++ b/code/__HELPERS/guid.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/guid.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/guid.dm + +

+ + + +
/proc/GUIDreturns a GUID like identifier (using a mostly made up record format) +guids are not on their own suitable for access or security tokens, as most of their bits are predictable. +(But may make a nice salt to one)
+ + + diff --git a/code/__HELPERS/icons.html b/code/__HELPERS/icons.html new file mode 100644 index 000000000000..e86503a1f884 --- /dev/null +++ b/code/__HELPERS/icons.html @@ -0,0 +1,42 @@ + + + + + + + code/__HELPERS/icons.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/icons.dm + +

+ + + + + + + + + +
/proc/getFlatIconCreate a single /icon from a given /atom or /image.
/proc/generate_asset_nameGenerate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)
/proc/icon_existsChecks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE.
/proc/center_imageCenter's an image. +Requires: +The Image +The x dimension of the icon file used in the image +The y dimension of the icon file used in the image +eg: center_image(image_to_center, 32,32) +eg2: center_image(image_to_center, 96,96)
+ + + diff --git a/code/__HELPERS/lists.html b/code/__HELPERS/lists.html new file mode 100644 index 000000000000..28aedbf443e8 --- /dev/null +++ b/code/__HELPERS/lists.html @@ -0,0 +1,32 @@ + + + + + + + code/__HELPERS/lists.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/lists.dm + +

+ + + + + + + +
/proc/pick_n_takePick a random element from the list and remove it from the list.
/proc/mergeListsSumSums values in two associative lists, from mergee into result, in place
/proc/reverse_rangereplaces reverseList ~Carnie
+ + + diff --git a/code/__HELPERS/logging.html b/code/__HELPERS/logging.html new file mode 100644 index 000000000000..2848779a9038 --- /dev/null +++ b/code/__HELPERS/logging.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/logging.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/logging.dm + +

+ + + + + +
/proc/log_perfLogging for game performance
/proc/log_tguiAppends a tgui-related log entry. All arguments are optional.
+ + + diff --git a/code/__HELPERS/matrices.html b/code/__HELPERS/matrices.html new file mode 100644 index 000000000000..d30d012d2d61 --- /dev/null +++ b/code/__HELPERS/matrices.html @@ -0,0 +1,37 @@ + + + + + + + code/__HELPERS/matrices.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/matrices.dm + +

+ + + + + + + +
/proc/color_matrix_from_stringConverts a hex color string to a color matrix.
/proc/color_matrix_recolor_rgbCreates a matrix to re-paint a sprite, replacing pure red, green, and blue with 3 different shades. Doesn't work with mixed tones of RGB or whites or greys +-- must be pure. R/G/B 255 becomes the new color, darker shades become correspondingly darker. +The arg is a list of hex colours, for ex "list("#d4c218", "#b929f7", "#339933"". +if you want variations of the same color, color_matrix_recolor_red() is simpler.
/proc/color_matrix_recolor_redCreates a matrix to re-paint a sprite, replacing shades of red with corresponding shades of a new color. In the base sprite, Hue must always be pure red. +Saturation and Lightness can be anything. Arg is a hex string for a color. Proc is by Lummox JR, www.byond.com/forum/post/2209545 +color_matrix_recolor_rgb is more complex, but gives more precise control over the palette, at least if using 3 or fewer colours.
+ + + diff --git a/code/__HELPERS/nameof.html b/code/__HELPERS/nameof.html new file mode 100644 index 000000000000..a2b3360c4e8f --- /dev/null +++ b/code/__HELPERS/nameof.html @@ -0,0 +1,37 @@ + + + + + + + code/__HELPERS/nameof.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__HELPERS/nameof.dm + +

+ + +
NAMEOFNAMEOF: Compile time checked variable name to string conversion +evaluates to a string equal to "X", but compile errors if X isn't a var on datum. +datum may be null, but it does need to be a typed var.

Define Details

+

NAMEOF + + + +

+

NAMEOF: Compile time checked variable name to string conversion +evaluates to a string equal to "X", but compile errors if X isn't a var on datum. +datum may be null, but it does need to be a typed var.

+ + + diff --git a/code/__HELPERS/qdel.html b/code/__HELPERS/qdel.html new file mode 100644 index 000000000000..4d629546949b --- /dev/null +++ b/code/__HELPERS/qdel.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/qdel.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/qdel.dm + +

+ + + +
/proc/______qdel_list_wrapperthe underscores are to encourage people not to use this directly.
+ + + diff --git a/code/__HELPERS/text.html b/code/__HELPERS/text.html new file mode 100644 index 000000000000..013d23c9bdb6 --- /dev/null +++ b/code/__HELPERS/text.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/text.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/text.dm + +

+ + + +
/proc/capitalize_first_lettersFinds the first letter of each word in the provided string and capitalize them
+ + + diff --git a/code/__HELPERS/type2type.html b/code/__HELPERS/type2type.html new file mode 100644 index 000000000000..8bafcc283d75 --- /dev/null +++ b/code/__HELPERS/type2type.html @@ -0,0 +1,31 @@ + + + + + + + code/__HELPERS/type2type.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/type2type.dm + +

+ + + + + +
/proc/url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
/proc/big_number_to_textFormats a larger number to correct textual representation without losing data
+ + + diff --git a/code/__HELPERS/unsorted.html b/code/__HELPERS/unsorted.html new file mode 100644 index 000000000000..2905e1d431e3 --- /dev/null +++ b/code/__HELPERS/unsorted.html @@ -0,0 +1,44 @@ + + + + + + + code/__HELPERS/unsorted.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/__HELPERS/unsorted.dm + +

+ + + + + + + + + + +
/proc/get_pixel_position_xGives X position on pixel grid of an object, accounting for offsets
/proc/get_pixel_position_yGives Y position on pixel grid of an object, accounting for offsets
/proc/TurfBlockedNonWindowthe actual dir between the start and target turf +The direction that mover's path is being blocked by
VARSET_WEAK_CALLBACKSame as VARSET_CALLBACK, but uses a weakref to the datum. +Use this if the timer is exceptionally long.
/proc/getpoisReturns a list of all items of interest with their name

Define Details

+

VARSET_WEAK_CALLBACK + + + +

+

Same as VARSET_CALLBACK, but uses a weakref to the datum. +Use this if the timer is exceptionally long.

+ + + diff --git a/code/__HELPERS/verb_helpers.html b/code/__HELPERS/verb_helpers.html new file mode 100644 index 000000000000..33bfbd3479f9 --- /dev/null +++ b/code/__HELPERS/verb_helpers.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/verb_helpers.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/__HELPERS/verb_helpers.dm + +

+ + + + + +
/proc/add_verbhandles adding verbs and updating the stat panel browser
/proc/remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
+ + + diff --git a/code/_byond_version_compat.html b/code/_byond_version_compat.html new file mode 100644 index 000000000000..ba8db5885b84 --- /dev/null +++ b/code/_byond_version_compat.html @@ -0,0 +1,57 @@ + + + + + + + code/_byond_version_compat.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/_byond_version_compat.dm + +

+ + + + + + +
PROC_REFCall by name proc references, checks if the proc exists on either this type or as a global proc.
VERB_REFCall by name verb references, checks if the verb exists on either this type or as a global verb.
TYPE_PROC_REFCall by name proc reference, checks if the proc exists on either the given type or as a global proc
TYPE_VERB_REFCall by name verb reference, checks if the verb exists on either the given type or as a global verb
GLOBAL_PROC_REFCall by name proc reference, checks if the proc is an existing global proc

Define Details

+

GLOBAL_PROC_REF + + + +

+

Call by name proc reference, checks if the proc is an existing global proc

PROC_REF + + + +

+

Call by name proc references, checks if the proc exists on either this type or as a global proc.

TYPE_PROC_REF + + + +

+

Call by name proc reference, checks if the proc exists on either the given type or as a global proc

TYPE_VERB_REF + + + +

+

Call by name verb reference, checks if the verb exists on either the given type or as a global verb

VERB_REF + + + +

+

Call by name verb references, checks if the verb exists on either this type or as a global verb.

+ + + diff --git a/code/_globalvars/bitfields.html b/code/_globalvars/bitfields.html new file mode 100644 index 000000000000..b3d8a1e863e1 --- /dev/null +++ b/code/_globalvars/bitfields.html @@ -0,0 +1,29 @@ + + + + + + + code/_globalvars/bitfields.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/_globalvars/bitfields.dm + +

+ + + + +
/datum/bitfieldSpecifies a bitfield for smarter debugging
/proc/generate_bitfieldsTurns /datum/bitfield subtypes into a list for use in debugging
+ + + diff --git a/code/_globalvars/lists/keybindings.html b/code/_globalvars/lists/keybindings.html new file mode 100644 index 000000000000..8b7017955e38 --- /dev/null +++ b/code/_globalvars/lists/keybindings.html @@ -0,0 +1,30 @@ + + + + + + + code/_globalvars/lists/keybindings.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/_globalvars/lists/keybindings.dm + +

+ + + + + +
/proc/init_keybindingsCreates and sorts all the keybinding datums
/proc/add_keybindingAdds an instanced keybinding to the global tracker
+ + + diff --git a/code/_globalvars/misc.html b/code/_globalvars/misc.html new file mode 100644 index 000000000000..86083634922a --- /dev/null +++ b/code/_globalvars/misc.html @@ -0,0 +1,28 @@ + + + + + + + code/_globalvars/misc.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/_globalvars/misc.dm + +

+ + + +
/proc/setup_offsetSets the offset 2 lines above.
+ + + diff --git a/code/_macros.html b/code/_macros.html new file mode 100644 index 000000000000..94dc9a13e011 --- /dev/null +++ b/code/_macros.html @@ -0,0 +1,63 @@ + + + + + + + code/_macros.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/_macros.dm + +

+ + + + + + + +
debug_msgA message define designed to be easily found and deleted
LAZYFINDReturns the key of the submitted item in the list
LAZYADDASSOCAdds to the item K the value V, if the list is null it will initialize it
LAZYADDASSOCLISTThis is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)
LAZYREMOVEASSOCRemoves the value V from the item K, if the item K is empty will remove it from the list, if the list is empty will set the list to null
LAZYACCESSASSOCAccesses an associative list, returns null if nothing is found

Define Details

+

LAZYACCESSASSOC + + + +

+

Accesses an associative list, returns null if nothing is found

LAZYADDASSOC + + + +

+

Adds to the item K the value V, if the list is null it will initialize it

LAZYADDASSOCLIST + + + +

+

This is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)

LAZYFIND + + + +

+

Returns the key of the submitted item in the list

LAZYREMOVEASSOC + + + +

+

Removes the value V from the item K, if the item K is empty will remove it from the list, if the list is empty will set the list to null

debug_msg + + + +

+

A message define designed to be easily found and deleted

+ + + diff --git a/code/_onclick/hud/map_popups.html b/code/_onclick/hud/map_popups.html new file mode 100644 index 000000000000..b1da762b2871 --- /dev/null +++ b/code/_onclick/hud/map_popups.html @@ -0,0 +1,33 @@ + + + + + + + code/_onclick/hud/map_popups.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/_onclick/hud/map_popups.dm + +

+ + + + +
/atom/movable/screenA screen object, which acts as a container for turfs and other things +you want to show on the map, which you usually attach to "vis_contents".
/atom/movable/screen/map_viewA screen object, which acts as a container for turfs and other things +you want to show on the map, which you usually attach to "vis_contents".
/atom/movable/screen/backgroundA generic background object. +It is also implicitly used to allocate a rectangle on the map, which will +be used for auto-scaling the map.
+ + + diff --git a/code/_onclick/hud/rendering/_render_readme.html b/code/_onclick/hud/rendering/_render_readme.html new file mode 100644 index 000000000000..13e987f65aae --- /dev/null +++ b/code/_onclick/hud/rendering/_render_readme.html @@ -0,0 +1,67 @@ + + + + + + + code/_onclick/hud/rendering/_render_readme.md - byond + + +
+ byond - + Modules - + Types +
+
+

The Render Readme + +

+ + +
    +
  1. Byond internal functionality
  2. +
  3. Known internal snowflake
  4. +
  5. The rendering solution
  6. +
  7. Render plates
  8. +
+

Byond internal functionality

+

This part of the guide will assume that you have read the byond reference entry for rendering at www.byond.com/docs/ref//#/{notes}/renderer

+

When you create an atom, this will always create an internal byond structure called an "appearance". This appearance you will likely be familiar with, as it is exposed through the /atom/var/appearance var. This appearance var holds data on how to render the object, ie what icon/icon_state/color etc it is using. Note that appearance vars will always copy, and do not hold a reference. When you update a var, for example let's pretend we add a filter, the appearance will be updated to include the filter. Note that, however, vis_contents objets are uniquely excluded from appearances. Then, when the filter is updated, the appearance will be recreated, and the atom marked as "dirty". After it has been updated, the SendMaps() function (sometimes also called maptick), which is an internal byond function that iterates over all objects in a client's view and in the clients.mob.contents, checks for "dirty" atoms, then resends any "dirty" appearances to clients as needed and unmarks them as dirty. This function is notoriously slow, but we can see its tick usage through the world.map_cpu var. We can also avoid more complex checks checking whether an object is visible on a client's screen by using the TILE_BOUND appearance flag.

+

Finally, we arrive at clientside behavior, where we have two main clientside functions: GetMapIcons, and Render. GetMapIcons is repsonsible for actual rendering calculations on the clientside, such as "Group Icons and Set bounds", which performs clientside calculations for transform matrixes. Note that particles here are handled in a separate thread and are not diplayed in the clientside profiler. Render handles the actual drawing of the screen.

+

For debugging rendering issues its reccomended you do two things: +A) Talk to someone who has inside knowledge(like lummox) about it, most of this is undocumented and bugs often +B) Use the undocumented debug printer which reads of data on icons rendering, this is very dense but can be useful in some cases. To use: Right click top tab -> Options & Messages -> Client -> Command -> Enter ".debug profile mapicons" and press Enter -> go to your Byond directory and find BYOND/cfg/mapicons.json . Yes this is one giant one-line json.

+

Known internal snowflake

+

The following is an incomplete list of pitfalls that come from byond snowflake that are known, this list is obviously incomplete.

+
    +
  1. Transforms are very slow on clientside. This is not usually noticable, but if you start using large amounts of them it will grind you to a halt quickly, regardless of whether its on overlays or objs
  2. +
  3. The darkness plane. The darkness plane has specific variables it needs to render correctly, and these can be found in the plane masters file. it is composed internally of two parts, a black mask over the clients screen, and a non rendering mask that blocks all luminosity=0 turfs and their contents from rendering if the SEE_BLACKNESS flag is set properly. It behaves very oddly, such as forcing itself to ALWAYS render or pre-render on blend_multiply blend mode or refusing to render the black mask properly otherwise. The blocker will always block rendering but the mask can be layered under other objects.
  4. +
  5. render_target/source. Render_target/source will only copy certain rendering instructions, and these are only defined as "etc." in the byond reference. Known non copied appearance vars include: blend_mode, plane, layer, vis_contents, mouse_opacity...
  6. +
  7. Large icons on the screen that peek over the edge will instead of only rendering partly like you would expect will instead stretch the screen while not adgusting the render buffer, which means that you can actively see as tiles and map objects are rendered. You can use this for an easy "offscreen" UI.
  8. +
  9. Numerically large filters on objects of any size will torpedo performance, even though large objects with small filters will perform massively better. (ie blur(size=20) BAD)
  10. +
  11. Texture Atlas: the texture atlas byond uses to render icons is very susceptible to corruption and can regularily replace icons with other icons or just not render at all. This can be exasperated by alt tabbing or pausing the dreamseeker process.
  12. +
  13. The renderer is awful code and lummox said he will try changing a large part of it for 515 so keep an eye on that
  14. +
  15. Byond uses DirectX 9 (Lummox said he wants to update to DirectX 11)
  16. +
  17. Particles are just fancy overlays and are not independent of their owner
  18. +
  19. Maptick items inside mob.contents are cheaper compared to most other movables
  20. +
  21. Displacement filter: The byond "displacement filter" does not, as the name would make you expect, use displacement maps, but instead uses normal maps.
  22. +
+

The rendering solution

+

One of the main issues with making pretty effects is how objects can only render to one plane, and how filters can only be applied to single objects. Quite simply it means we cant apply effects to multiple planes at once, and an effect to one plane only by treating it as a single unit:

+

+

A semi-fix to stop from having to apply effects to every single plane is to use the render controllers, to automatically apply filters and colors automatically onto their controlled planes.

+

The solution is thus instead we replace plane masters rendering directly to client with planes that render multiple planes onto them as objects in order to be able to affect multiple planes while treating them as a single object. This is done by relaying the plane using a "render relay" onto a "render plate" which acts as a plane master of plane masters of sorts, and since planes are rendered onto it as single objects any filters we apply to them will render over the planes, treating them as a single unit.

+

+

We can also choose to render these by decreasing the scaling all applied effects (effect_size/number_of_plates_rendered_to) then rendering it onto multiple planes:

+

+

Through these this allows us to treat planes as single objects, and lets us distort them as a single unit, most notably works wonders with the displacement filter. Specifically, here you can displacement_filter a plane onto a plate, which then will treat all the other planes rendered on that plate as a single unit.

+

Render plates

+

The rendering system uses two objects to unify planes: render_relay and render_plates. Render relays use render_target/source and the relay_render_to_plane proc to replicate the plane master on the render relay. This render relay is then rendered onto a render_plate, which is a plane master that renders the render_relays onto itself. This plate can then be hierachically rendered with the same process until it reaches the master render_plate, which is the plate that will actually render to the player. These plates naturally in the byond style have quirks. For example, rendering to two plates will double any effects such as color or filters, and as such you need to carefully manage how you render them. Keep in mind as well that when sorting the layers for rendering on a plane that they should not be negative, this is handled automatically in relay_render_to_plane. When debugging note that mouse_opacity can act bizzarly with this method, such as only allowing you to click things that are layered over objects on a certain plane but auomatically setting the mouse_opacity should be handling this. Note that if you decide to manipulate a plane with internal byond objects that you will have to manually extrapolate the vars that are set if you want to render them to another plane (See blackness plane for example), and that this is not documented anywhere.

+

Goodluck and godspeed with coding +- Just another contributor

+ + + diff --git a/code/_onclick/hud/rendering/plane_master.html b/code/_onclick/hud/rendering/plane_master.html new file mode 100644 index 000000000000..afe5f9562a82 --- /dev/null +++ b/code/_onclick/hud/rendering/plane_master.html @@ -0,0 +1,32 @@ + + + + + + + code/_onclick/hud/rendering/plane_master.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/_onclick/hud/rendering/plane_master.dm + +

+ + + + + +
/atom/movable/screen/plane_master/game_worldContains most things in the game world
/atom/movable/screen/plane_master/roofPlane master handling display of building roofs. They're meant to become invisible when inside a building.
/atom/movable/screen/plane_master/blacknessPlane master handling byond internal blackness +vars are set as to replicate behavior when rendering to other planes +do not touch this unless you know what you are doing
/atom/movable/screen/plane_master/lightingContains all lighting objects
+ + + diff --git a/code/_onclick/hud/rendering/plane_master_controller.html b/code/_onclick/hud/rendering/plane_master_controller.html new file mode 100644 index 000000000000..515a8398e7ef --- /dev/null +++ b/code/_onclick/hud/rendering/plane_master_controller.html @@ -0,0 +1,29 @@ + + + + + + + code/_onclick/hud/rendering/plane_master_controller.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/_onclick/hud/rendering/plane_master_controller.dm + +

+ + + +
/atom/movable/plane_master_controllerAtom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane.
/atom/movable/plane_master_controller/non_masterExists for convienience when referencing all non-master render plates. +This is the whole game and the UI, but not the escape menu.
+ + + diff --git a/code/_onclick/hud/rendering/render_plate.html b/code/_onclick/hud/rendering/render_plate.html new file mode 100644 index 000000000000..618b9cc49b8b --- /dev/null +++ b/code/_onclick/hud/rendering/render_plate.html @@ -0,0 +1,34 @@ + + + + + + + code/_onclick/hud/rendering/render_plate.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/_onclick/hud/rendering/render_plate.dm + +

+ + + + + + + +

Custom rendering solution to allow for advanced effects +We (ab)use plane masters and render source/target to cheaply render 2+ planes as 1 +if you want to read more read the _render_readme.md

/obj/render_plane_relayRender relay object assigned to a plane master to be able to relay it's render onto other planes that are not it's own
/atom/movable/screen/plane_master/rendering_plate
/atom/movable/screen/plane_master/rendering_plate/masterthis plate renders the final screen to show to the player
/atom/movable/screen/plane_master/rendering_plate/game_worldrenders general in charachter game objects
/atom/movable/screen/plane_master/rendering_plate/non_gamerender plate for OOC stuff like ghosts, hud-screen effects, etc
+ + + diff --git a/code/_onclick/hud/screen_object_holder.html b/code/_onclick/hud/screen_object_holder.html new file mode 100644 index 000000000000..a9d0c0a2ad57 --- /dev/null +++ b/code/_onclick/hud/screen_object_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/_onclick/hud/screen_object_holder.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/_onclick/hud/screen_object_holder.dm + +

+ + +
/datum/screen_object_holderA helper instance that will handle adding objects from the client's screen +to easily remove from later.
+ + + diff --git a/code/controllers/configuration/config_entry.html b/code/controllers/configuration/config_entry.html new file mode 100644 index 000000000000..d3f1f2b81b60 --- /dev/null +++ b/code/controllers/configuration/config_entry.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/configuration/config_entry.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/configuration/config_entry.dm + +

+ + +
/datum/config_entry/str_listList config entry, used for configuring a list of strings
+ + + diff --git a/code/controllers/configuration/entries/game_options.html b/code/controllers/configuration/entries/game_options.html new file mode 100644 index 000000000000..671e94eacb58 --- /dev/null +++ b/code/controllers/configuration/entries/game_options.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/configuration/entries/game_options.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/configuration/entries/game_options.dm + +

+ + + +
/datum/config_entry/string/nightmare_pathRelative inclusion path for nightmare configuration files
/datum/config_entry/number/extra_larva_per_burstUsed to determine how many extra larva you want per burst. Supports fractions. See /datum/hive_status/proc/increase_larva_after_burst()
+ + + diff --git a/code/controllers/configuration/entries/general.html b/code/controllers/configuration/entries/general.html new file mode 100644 index 000000000000..f80b27a03ead --- /dev/null +++ b/code/controllers/configuration/entries/general.html @@ -0,0 +1,40 @@ + + + + + + + code/controllers/configuration/entries/general.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/configuration/entries/general.dm + +

+ + + + + + + + + + + + + + +
/datum/config_entry/string/manager_urlServer to notify of game events
/datum/config_entry/string/centcom_ban_dbURL for the CentCom Galactic Ban DB API
/datum/config_entry/string/webmap_hostHost of the webmap
/datum/config_entry/flag/log_timers_on_bucket_resetlogs all timers in buckets on automatic bucket reset (Useful for timer debugging) +logs all timers in buckets on automatic bucket reset (Useful for timer debugging)
/datum/config_entry/flag/ephemeral_map_modeForce map bypassing configuration, and ignore map changes
/datum/config_entry/string/ephemeral_ground_mapMap configuration file to use in ephemeral mode
/datum/config_entry/string/influxdb_hostInfluxDB v2 Host to connect to for sending statistics (over HTTP API)
/datum/config_entry/string/influxdb_bucketInfluxDB v2 Bucket to send staistics to
/datum/config_entry/string/influxdb_orgInfluxDB v2 Organization to access buckets of
/datum/config_entry/string/influxdb_tokenInfluxDB v2 API Token to access the organization and bucket
/datum/config_entry/number/influxdb_stats_periodHow often to snapshot general game statistics to influxdb driver
/datum/config_entry/number/influxdb_mcstats_periodHow often to snapshot MC statistics
/datum/config_entry/number/influxdb_send_periodHow often to send queued influxdb statistics
+ + + diff --git a/code/controllers/mc/failsafe.html b/code/controllers/mc/failsafe.html new file mode 100644 index 000000000000..aa472bf8ffa2 --- /dev/null +++ b/code/controllers/mc/failsafe.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/mc/failsafe.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/mc/failsafe.dm + +

+ + + + + + + +
/var/FailsafeFailsafe
/proc/recover_all_SS_and_recreate_masterRecreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars
/proc/delete_all_SS_and_recreate_masterDelete all existing SS to basically start over
+ + + diff --git a/code/controllers/mc/master.html b/code/controllers/mc/master.html new file mode 100644 index 000000000000..e55421b63587 --- /dev/null +++ b/code/controllers/mc/master.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/mc/master.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/mc/master.dm + +

+ + + + +
/var/MasterStonedMC
/datum/controller/masterStart of queue linked list +End of queue linked list (used for appending to the list) +Are we loading in a new map? +for scheduling different subsystems for different stages of the round
+ + + diff --git a/code/controllers/mc/subsystem.html b/code/controllers/mc/subsystem.html new file mode 100644 index 000000000000..7c49bd4e70eb --- /dev/null +++ b/code/controllers/mc/subsystem.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/mc/subsystem.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/mc/subsystem.dm + +

+ + +
/datum/controller/subsystemDefines a subsystem to be managed by the Master Controller
+ + + diff --git a/code/controllers/subsystem/chat.html b/code/controllers/subsystem/chat.html new file mode 100644 index 000000000000..373611c833af --- /dev/null +++ b/code/controllers/subsystem/chat.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/chat.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/chat.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/controllers/subsystem/garbage.html b/code/controllers/subsystem/garbage.html new file mode 100644 index 000000000000..6ead6c3fecd0 --- /dev/null +++ b/code/controllers/subsystem/garbage.html @@ -0,0 +1,56 @@ + + + + + + + code/controllers/subsystem/garbage.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/garbage.dm + +

+ + + + + + +

Debugging GC issues

+

In order to debug qdel() failures, there are several tools available. +To enable these tools, define TESTING in _compile_options.dm.

+

First is a verb called "Find References", which lists every refererence to an object in the world. This allows you to track down any indirect or obfuscated references that you might have missed.

+

Complementing this is another verb, "qdel() then Find References". +This does exactly what you'd expect; it calls qdel() on the object and then it finds all references remaining. +This is great, because it means that Destroy() will have been called before it starts to find references, +so the only references you'll find will be the ones preventing the object from qdel()ing gracefully.

+

If you have a datum or something you are not destroying directly (say via the singulo), +the next tool is QDEL_HINT_FINDREFERENCE. You can return this in Destroy() (where you would normally return ..()), +to print a list of references once it enters the GC queue.

+

Finally is a verb, "Show qdel() Log", which shows the deletion log that the garbage subsystem keeps. This is helpful if you are having race conditions or need to review the order of deletions.

+

Note that for any of these tools to work TESTING must be defined. +By using these methods of finding references, you can make your life far, far easier when dealing with qdel() failures.

/datum/qdel_itemQdel Item: Holds statistics on each type that passes thru qdel +Holds the type as a string for this type +Total number of times it's passed thru qdel. +Total amount of milliseconds spent processing this type's Destroy() +Times it was queued for soft deletion but failed to soft delete. +Different from failures because it also includes QDEL_HINT_HARDDEL deletions +Total amount of milliseconds spent hard deleting this type. +Highest time spent hard_deleting this in ms. +Number of times hard deletes took longer than the configured threshold +Number of times it's not respected force=TRUE +Number of times it's not even bother to give a qdel hint +Number of times it's slept in its destroy

Flags related to this type's trip thru qdel.

+
/proc/qdelShould be treated as a replacement for the 'del' keyword.
+ + + diff --git a/code/controllers/subsystem/influxdriver.html b/code/controllers/subsystem/influxdriver.html new file mode 100644 index 000000000000..d34ad455b566 --- /dev/null +++ b/code/controllers/subsystem/influxdriver.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/influxdriver.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/influxdriver.dm + +

+ + + +
/var/SSinfluxdriverSends collected statistics to an influxdb v2 backend periodically
+ + + diff --git a/code/controllers/subsystem/influxstats.html b/code/controllers/subsystem/influxstats.html new file mode 100644 index 000000000000..7fb1465919e8 --- /dev/null +++ b/code/controllers/subsystem/influxstats.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/influxstats.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/influxstats.dm + +

+ + + + + +
/var/SSinfluxstatsSends generic round running statistics to the InfluxDB backend
/datum/controller/subsystem/influxstatsCounter of data snapshots sent

Current task in progress, for pausing/resuming

+ + + diff --git a/code/controllers/subsystem/init/earlyruntimes.html b/code/controllers/subsystem/init/earlyruntimes.html new file mode 100644 index 000000000000..b777e63d001e --- /dev/null +++ b/code/controllers/subsystem/init/earlyruntimes.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/init/earlyruntimes.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/init/earlyruntimes.dm + +

+ + + +
/var/SSearlyruntimesJust messages the unwary coder to tell them there are errors that likely escaped their debugguer.
+ + + diff --git a/code/controllers/subsystem/minimap.html b/code/controllers/subsystem/minimap.html new file mode 100644 index 000000000000..fcfd18da1d3c --- /dev/null +++ b/code/controllers/subsystem/minimap.html @@ -0,0 +1,39 @@ + + + + + + + code/controllers/subsystem/minimap.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/minimap.dm + +

+ + + + + + + +
/var/SSminimaps
/datum/hud_displaysHolder datum for a zlevels data, concerning the overlays and the drawn level itself +The individual image trackers have a raw and a normal list +raw lists just store the images, while the normal ones are assoc list of [tracked_atom] = image +the raw lists are to speed up the Fire() of the subsystem so we dont have to filter through +WARNING! +There is a byond bug: http://www.byond.com/forum/post/2661309 +That that forces us to use a seperate list ref when accessing the lists of this datum +Yea it hurts me too
/datum/minimap_updatorHolder datum to ease updating of atoms to update
/atom/movable/screen/minimapDefault HUD screen minimap object
/datum/action/minimapAction that gives the owner access to the minimap pool
+ + + diff --git a/code/controllers/subsystem/pager_status.html b/code/controllers/subsystem/pager_status.html new file mode 100644 index 000000000000..25d126f341af --- /dev/null +++ b/code/controllers/subsystem/pager_status.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/pager_status.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/pager_status.dm + +

+ + + +
/var/SSpager_statusUpdates BYOND pager status periodically
+ + + diff --git a/code/controllers/subsystem/ping.html b/code/controllers/subsystem/ping.html new file mode 100644 index 000000000000..b195aa34c6db --- /dev/null +++ b/code/controllers/subsystem/ping.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/ping.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/ping.dm + +

+ + +

Copyright (c) 2022 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/controllers/subsystem/shuttles.html b/code/controllers/subsystem/shuttles.html new file mode 100644 index 000000000000..913758c50081 --- /dev/null +++ b/code/controllers/subsystem/shuttles.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/shuttles.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/shuttles.dm + +

+ + +
SHUTTLE_SPAWN_BUFFERGive a shuttle 10 "fires" (~10 seconds) to spawn before it can be cleaned up.

Define Details

+

SHUTTLE_SPAWN_BUFFER + + +

+

Give a shuttle 10 "fires" (~10 seconds) to spawn before it can be cleaned up.

+ + + diff --git a/code/controllers/subsystem/statpanel.html b/code/controllers/subsystem/statpanel.html new file mode 100644 index 000000000000..dff97a327fe9 --- /dev/null +++ b/code/controllers/subsystem/statpanel.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/statpanel.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/statpanel.dm + +

+ + +
/datum/object_window_infoDatum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration
+ + + diff --git a/code/controllers/subsystem/stats_collector.html b/code/controllers/subsystem/stats_collector.html new file mode 100644 index 000000000000..4cc242337267 --- /dev/null +++ b/code/controllers/subsystem/stats_collector.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/stats_collector.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/stats_collector.dm + +

+ + + +
/var/SSstats_collectorCollects simple round statistics periodically
+ + + diff --git a/code/controllers/subsystem/tgui.html b/code/controllers/subsystem/tgui.html new file mode 100644 index 000000000000..fe3580aa0903 --- /dev/null +++ b/code/controllers/subsystem/tgui.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/tgui.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/controllers/subsystem/tgui.dm + +

+ + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/var/SStguitgui subsystem
+ + + diff --git a/code/controllers/subsystem/timer.html b/code/controllers/subsystem/timer.html new file mode 100644 index 000000000000..6989a480c441 --- /dev/null +++ b/code/controllers/subsystem/timer.html @@ -0,0 +1,63 @@ + + + + + + + code/controllers/subsystem/timer.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/timer.dm + +

+ + + + + + + + + + + + + + + + +
BUCKET_LENControls how many buckets should be kept, each representing a tick. (1 minutes worth)
BUCKET_POSHelper for getting the correct bucket for a given timer
TIMER_MAXGets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue
TIMER_ID_MAXMax float with integer precision
/var/SStimer
/datum/timedeventThis is the actual timer, it contains the callback and necessary data to maintain +the timer.
/proc/_addtimerCreate a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.
/proc/deltimerDelete a timer
/proc/timeleftGet the remaining deciseconds on a timer
/proc/updatetimedelayUpdate the delay on an existing LOOPING timer +Will come into effect on the next process

Define Details

+

BUCKET_LEN + + +

+

Controls how many buckets should be kept, each representing a tick. (1 minutes worth)

BUCKET_POS + + + +

+

Helper for getting the correct bucket for a given timer

TIMER_ID_MAX + + +

+

Max float with integer precision

TIMER_MAX + + + +

+

Gets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue

+ + + diff --git a/code/datums/action.html b/code/datums/action.html new file mode 100644 index 000000000000..7d36d15fc8d1 --- /dev/null +++ b/code/datums/action.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/action.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/action.dm + +

+ + + +
/proc/give_actionGives an action to a mob and returns it
+ + + diff --git a/code/datums/balloon_alerts/balloon_alerts.html b/code/datums/balloon_alerts/balloon_alerts.html new file mode 100644 index 000000000000..8fe5376654c9 --- /dev/null +++ b/code/datums/balloon_alerts/balloon_alerts.html @@ -0,0 +1,37 @@ + + + + + + + code/datums/balloon_alerts/balloon_alerts.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/datums/balloon_alerts/balloon_alerts.dm + +

+ + + +
BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULTThe increase in duration per character in seconds
BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MINThe amount of characters needed before this increase takes into effect

Define Details

+

BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN + + +

+

The amount of characters needed before this increase takes into effect

BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT + + +

+

The increase in duration per character in seconds

+ + + diff --git a/code/datums/beam.html b/code/datums/beam.html new file mode 100644 index 000000000000..e01bb9e55aac --- /dev/null +++ b/code/datums/beam.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/beam.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/beam.dm + +

+ + +
/datum/beam
+ + + diff --git a/code/datums/components/_component.html b/code/datums/components/_component.html new file mode 100644 index 000000000000..eef4f2934c88 --- /dev/null +++ b/code/datums/components/_component.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/_component.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/components/_component.dm + +

+ + +
/datum/componentThe component datum
+ + + diff --git a/code/datums/components/armor_link.html b/code/datums/components/armor_link.html new file mode 100644 index 000000000000..228f5babe0f7 --- /dev/null +++ b/code/datums/components/armor_link.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/armor_link.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/components/armor_link.dm + +

+ + +
/datum/component/armor_linkReturn the object that is the host of any UI's that this component has +datum/component/ui_host() +Allows a piece of clothing to have their armor values change based on the values of another piece of clothing +Ex: Marine boots have their armor values change based on what type of armor you're wearing on your chest
+ + + diff --git a/code/datums/components/bad_leg.html b/code/datums/components/bad_leg.html new file mode 100644 index 000000000000..b5c2a7021f78 --- /dev/null +++ b/code/datums/components/bad_leg.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/components/bad_leg.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/datums/components/bad_leg.dm + +

+ + +
MAX_STEPSMaximum amount of steps you can take until you get stunned from pain.

Define Details

+

MAX_STEPS + + +

+

Maximum amount of steps you can take until you get stunned from pain.

+ + + diff --git a/code/datums/components/bonus_damage_stack.html b/code/datums/components/bonus_damage_stack.html new file mode 100644 index 000000000000..5918e0ed393f --- /dev/null +++ b/code/datums/components/bonus_damage_stack.html @@ -0,0 +1,37 @@ + + + + + + + code/datums/components/bonus_damage_stack.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/datums/components/bonus_damage_stack.dm + +

+ + + +
BONUS_DAMAGE_MAX_ALPHAMax alpha for the filter outline.
BONUS_DAMAGE_STACK_LOSS_PER_SECONDLoss of stack every second once it's been more than 5 seconds since last_stack.

Define Details

+

BONUS_DAMAGE_MAX_ALPHA + + +

+

Max alpha for the filter outline.

BONUS_DAMAGE_STACK_LOSS_PER_SECOND + + +

+

Loss of stack every second once it's been more than 5 seconds since last_stack.

+ + + diff --git a/code/datums/components/cluster_stack.html b/code/datums/components/cluster_stack.html new file mode 100644 index 000000000000..22bd0df58410 --- /dev/null +++ b/code/datums/components/cluster_stack.html @@ -0,0 +1,42 @@ + + + + + + + code/datums/components/cluster_stack.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/datums/components/cluster_stack.dm + +

+ + + + +
CLUSTER_MAX_ALPHAMax alpha for the filter outline.
MAX_CLUSTER_STACKSOnce cluster_stacks reaches this number, it triggers apply_cluster_stacks() and resets to zero.
CLUSTER_STACK_LOSS_PER_SECONDLoss of stack every second once it's been more than 5 seconds since last_stack.

Define Details

+

CLUSTER_MAX_ALPHA + + +

+

Max alpha for the filter outline.

CLUSTER_STACK_LOSS_PER_SECOND + + +

+

Loss of stack every second once it's been more than 5 seconds since last_stack.

MAX_CLUSTER_STACKS + + +

+

Once cluster_stacks reaches this number, it triggers apply_cluster_stacks() and resets to zero.

+ + + diff --git a/code/datums/components/connect_mob_behalf.html b/code/datums/components/connect_mob_behalf.html new file mode 100644 index 000000000000..b19239d022fe --- /dev/null +++ b/code/datums/components/connect_mob_behalf.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/connect_mob_behalf.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/components/connect_mob_behalf.dm + +

+ + +
/datum/component/connect_mob_behalfThis component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +To be clear, we hook into a signal on a tracked client's mob +We retain the ability to react to that signal on a seperate listener, which makes this quite powerful
+ + + diff --git a/code/datums/components/footstep.html b/code/datums/components/footstep.html new file mode 100644 index 000000000000..f3cc8c56974f --- /dev/null +++ b/code/datums/components/footstep.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/footstep.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/components/footstep.dm + +

+ + +
/datum/component/footstepFootstep component. Plays footsteps at parents location when it is appropriate.
+ + + diff --git a/code/datums/components/label.html b/code/datums/components/label.html new file mode 100644 index 000000000000..dd6cc50a704d --- /dev/null +++ b/code/datums/components/label.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/label.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/components/label.dm + +

+ + +
/datum/component/labelThe label component.
+ + + diff --git a/code/datums/components/rename.html b/code/datums/components/rename.html new file mode 100644 index 000000000000..2434e15f4210 --- /dev/null +++ b/code/datums/components/rename.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/rename.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/components/rename.dm + +

+ + +
/datum/component/renameThe rename component.
+ + + diff --git a/code/datums/datum.html b/code/datums/datum.html new file mode 100644 index 000000000000..2d27e0350471 --- /dev/null +++ b/code/datums/datum.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/datum.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/datum.dm + +

+ + + + + + +
/datumThe absolute base class for everything
/proc/end_cooldownCallback called by a timer to end an associative-list-indexed cooldown.
/proc/reset_cooldownProc used by stoppable timers to end a cooldown before the time has ran out.
+ + + diff --git a/code/datums/elements/_element.html b/code/datums/elements/_element.html new file mode 100644 index 000000000000..d57a3d735ba6 --- /dev/null +++ b/code/datums/elements/_element.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/_element.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/elements/_element.dm + +

+ + +
/datum/elementA holder for simple behaviour that can be attached to many different types
+ + + diff --git a/code/datums/elements/bullet_trait/bullet_trait.html b/code/datums/elements/bullet_trait/bullet_trait.html new file mode 100644 index 000000000000..47138f4b78b5 --- /dev/null +++ b/code/datums/elements/bullet_trait/bullet_trait.html @@ -0,0 +1,46 @@ + + + + + + + code/datums/elements/bullet_trait/bullet_trait.md - byond + + +
+ byond - + Modules - + Types +
+
+

A PROTOTYPE FOR MAKING ANY BULLET TRAITS + +

+ + +

Element representing traits that can be applied to bullets upon being fired

+
    +
  • Must be attached to a projectile (/obj/item/projectile in projectile.dm)
  • +
  • Allows for the customization of bullet behavior based on ammo types or guns (or other things)
  • +
+

By convention, bullet_traits should be named bullet_trait_[insert rest of name here]

+
/datum/element/bullet_trait
+	// General bullet trait vars
+	// ALWAYS INCLUDE THESE TWO LINES IN THE BULLET TRAIT DEF
+	element_flags = ELEMENT_DETACH|ELEMENT_BESPOKE
+	id_arg_index = 2
+
+/datum/element/bullet_trait/databaseAttach(datum/target)
+	. = ..()
+	// All bullet traits can only be applied to projectiles
+	if(!istype(target, /obj/item/projectile))
+		return ELEMENT_INCOMPATIBLE
+
+	[handling here]
+
+ + + diff --git a/code/datums/elements/suturing.html b/code/datums/elements/suturing.html new file mode 100644 index 000000000000..df6e1d4fdba4 --- /dev/null +++ b/code/datums/elements/suturing.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/suturing.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/elements/suturing.dm + +

+ + +
/datum/suture_handlerHandles sutures for this limb. Doesn't process, updates on limb damage and new suture attempts.
+ + + diff --git a/code/datums/emotes.html b/code/datums/emotes.html new file mode 100644 index 000000000000..914b63f0c4c3 --- /dev/null +++ b/code/datums/emotes.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/emotes.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/emotes.dm + +

+ + +
/datum/emoteMost of the text that's not someone talking is based off of this.
+ + + diff --git a/code/datums/entities/player_note.html b/code/datums/entities/player_note.html new file mode 100644 index 000000000000..eeb17c2ac18f --- /dev/null +++ b/code/datums/entities/player_note.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/entities/player_note.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/entities/player_note.dm + +

+ + + +
/proc/get_all_notesReturns all notes associated with a CKEY, structured as a list of strings.
+ + + diff --git a/code/datums/entities/player_times.html b/code/datums/entities/player_times.html new file mode 100644 index 000000000000..e7d7a50a99fb --- /dev/null +++ b/code/datums/entities/player_times.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/entities/player_times.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/entities/player_times.dm + +

+ + + +
/proc/get_total_living_playtimeReturns the total time in minutes a specific player ID has played for
+ + + diff --git a/code/datums/helper_datums/stack_end_detector.html b/code/datums/helper_datums/stack_end_detector.html new file mode 100644 index 000000000000..09e2560a9dac --- /dev/null +++ b/code/datums/helper_datums/stack_end_detector.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/helper_datums/stack_end_detector.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/helper_datums/stack_end_detector.dm + +

+ + + +
/datum/stack_end_detectorStack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.
/datum/stack_canaryStack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.
+ + + diff --git a/code/datums/looping_sounds/_looping_sound.html b/code/datums/looping_sounds/_looping_sound.html new file mode 100644 index 000000000000..f2760ffd7e4c --- /dev/null +++ b/code/datums/looping_sounds/_looping_sound.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/looping_sounds/_looping_sound.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/looping_sounds/_looping_sound.dm + +

+ + +
/datum/looping_soundA datum for sounds that need to loop, with a high amount of configurability.
+ + + diff --git a/code/datums/movement_detector.html b/code/datums/movement_detector.html new file mode 100644 index 000000000000..9cb3dbd2bce4 --- /dev/null +++ b/code/datums/movement_detector.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/movement_detector.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/movement_detector.dm + +

+ + +
/datum/movement_detectorA datum to handle the busywork of registering signals to handle in depth tracking of a movable
+ + + diff --git a/code/datums/mutable_appearance.html b/code/datums/mutable_appearance.html new file mode 100644 index 000000000000..aa294cf3e2df --- /dev/null +++ b/code/datums/mutable_appearance.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/mutable_appearance.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/mutable_appearance.dm + +

+ + + +
/proc/mutable_appearanceHelper similar to image()
+ + + diff --git a/code/datums/redis/callbacks/_redis_callback.html b/code/datums/redis/callbacks/_redis_callback.html new file mode 100644 index 000000000000..57341b6675bd --- /dev/null +++ b/code/datums/redis/callbacks/_redis_callback.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/redis/callbacks/_redis_callback.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/redis/callbacks/_redis_callback.dm + +

+ + +
/datum/redis_callbackThis datum is used for assigning callbacks that run +when a message is received on a specific channel. Subtypes of this +are automatically registered in SSredis initialization
+ + + diff --git a/code/datums/redis/redis_message.html b/code/datums/redis/redis_message.html new file mode 100644 index 000000000000..d896719f1448 --- /dev/null +++ b/code/datums/redis/redis_message.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/redis/redis_message.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/redis/redis_message.dm + +

+ + +
/datum/redis_messageUsed to hold redis messages created prior to the initialization of SSredis
+ + + diff --git a/code/datums/skills.html b/code/datums/skills.html new file mode 100644 index 000000000000..fb7dd729c926 --- /dev/null +++ b/code/datums/skills.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/skills.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/skills.dm + +

+ + +
/datum/skillsSkill with an extra S at the end is a collection of multiple skills. Basically a skillSET +This is to organize and provide a common interface to the huge heap of skills there are
+ + + diff --git a/code/datums/weather/weather_map_holders/sorokyne.html b/code/datums/weather/weather_map_holders/sorokyne.html new file mode 100644 index 000000000000..5a6ecfe0a0fc --- /dev/null +++ b/code/datums/weather/weather_map_holders/sorokyne.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/weather/weather_map_holders/sorokyne.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/datums/weather/weather_map_holders/sorokyne.dm + +

+ + +
/datum/weather_ss_map_holder/sorokyneSorokyne's map holder
+ + + diff --git a/code/game/area/areas.html b/code/game/area/areas.html new file mode 100644 index 000000000000..6347d17f038a --- /dev/null +++ b/code/game/area/areas.html @@ -0,0 +1,32 @@ + + + + + + + code/game/area/areas.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/game/area/areas.dm + +

+ + +
AREA_MUTEDdefine used to mute an area base_muffle = AREA_MUTED

Define Details

+

AREA_MUTED + + +

+

define used to mute an area base_muffle = AREA_MUTED

+ + + diff --git a/code/game/area/strata.html b/code/game/area/strata.html new file mode 100644 index 000000000000..a42850597b1f --- /dev/null +++ b/code/game/area/strata.html @@ -0,0 +1,40 @@ + + + + + + + code/game/area/strata.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/area/strata.dm + +

+ + + + + + + + + + + + + + +
/area/strata/ag/exterior/research_decksResearch Station
/area/strata/ag/exterior/paths/southresearchclose to research
/area/strata/ag/interior/tcommsTelecomms
/area/strata/ug/interior/jungle/END OUTPOST DEFINES/ +DEEP JUNGLE
/area/strata/ag/interior/engi_shedEngineering Terminals / Sheds, whatever. Map Power
/area/strata/ag/interior/outpostOUTPOST INTERIOR
/area/strata/ag/interior/outpost/maintALL MAINTENANCE AREAS
/area/strata/ag/interior/outpost/medOUTPOST MEDICAL
/area/strata/ag/interior/outpost/engiOUTPOST ENGINEERING
/area/strata/ag/interior/outpost/securityOUTPOST SECURITY
/area/strata/ag/interior/outpost/adminOUTPOST ADMINISTRATION
/area/strata/ag/interior/outpost/canteenCANTEEN / GENERAL QUARTERS
/area/strata/ug/interior/outpost/jungJUNGLE STRUCTURES - UNDERGROUND
+ + + diff --git a/code/game/jobs/access.html b/code/game/jobs/access.html new file mode 100644 index 000000000000..6622927c1e96 --- /dev/null +++ b/code/game/jobs/access.html @@ -0,0 +1,42 @@ + + + + + + + code/game/jobs/access.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/jobs/access.dm + +

+ + + + + + + + + + + + + + + + + +
/proc/get_global_accessGrants access to EVERYWHERE
/proc/get_all_main_accessGrants standard access for all factions, does not include high restrictions like COs office.
/proc/get_all_marine_accessIncludes restricted accesses
/proc/get_main_marine_accessAll Almayer accesses other than the highly restricted ones, such as CO's office.
/proc/get_antagonist_accessCLF & UPP, UPP Commandos have global.
/proc/get_weyland_pmc_accessUsed by PMCs and elite mercs.
/proc/get_friendly_ert_accessThis is only used by USCM ERTs at present
/proc/get_civil_ert_accessPizza and Souto
+ + + diff --git a/code/game/jobs/job/antag/antag.html b/code/game/jobs/job/antag/antag.html new file mode 100644 index 000000000000..9413be846057 --- /dev/null +++ b/code/game/jobs/job/antag/antag.html @@ -0,0 +1,28 @@ + + + + + + + code/game/jobs/job/antag/antag.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/jobs/job/antag/antag.dm + +

+ + + +
/datum/timelock/dronecounts drone caste evo time as well
/datum/timelock/tier3t3 and queen time
+ + + diff --git a/code/game/jobs/whitelist.html b/code/game/jobs/whitelist.html new file mode 100644 index 000000000000..fcdfb15b8034 --- /dev/null +++ b/code/game/jobs/whitelist.html @@ -0,0 +1,28 @@ + + + + + + + code/game/jobs/whitelist.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/jobs/whitelist.dm + +

+ + + +
/proc/get_whitelisted_rolesreturns a list of strings containing the whitelists held by a specific ckey
+ + + diff --git a/code/game/machinery/ARES/ARES.html b/code/game/machinery/ARES/ARES.html new file mode 100644 index 000000000000..a09fb9f81d9d --- /dev/null +++ b/code/game/machinery/ARES/ARES.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/ARES/ARES.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/machinery/ARES/ARES.dm + +

+ + + +
/obj/structure/machinery/ares/cpuCentral Core
/obj/structure/machinery/ares/substrateMemory Substrate,
+ + + diff --git a/code/game/machinery/ARES/ARES_step_triggers.html b/code/game/machinery/ARES/ARES_step_triggers.html new file mode 100644 index 000000000000..9e1a40badae9 --- /dev/null +++ b/code/game/machinery/ARES/ARES_step_triggers.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/ARES/ARES_step_triggers.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/machinery/ARES/ARES_step_triggers.dm + +

+ + +
/obj/effect/step_trigger/ares_alert/access_controlTrigger will remove ACCESS_MARINE_AI_TEMP unless ACCESS_MARINE_AI is also present.
+ + + diff --git a/code/game/machinery/doors/multi_tile.html b/code/game/machinery/doors/multi_tile.html new file mode 100644 index 000000000000..b97c05bdf617 --- /dev/null +++ b/code/game/machinery/doors/multi_tile.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/doors/multi_tile.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/machinery/doors/multi_tile.dm + +

+ + +
/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/blastdoorExternal airlock that is part of the lifeboat dock
+ + + diff --git a/code/game/machinery/pipe/construction.html b/code/game/machinery/pipe/construction.html new file mode 100644 index 000000000000..f6af1fa86395 --- /dev/null +++ b/code/game/machinery/pipe/construction.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/pipe/construction.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/game/machinery/pipe/construction.dm + +

+ + +
PIPE_UNIVERSALSupply, scrubbers and universal pipes

Define Details

+

PIPE_UNIVERSAL + + +

+

Supply, scrubbers and universal pipes

+ + + diff --git a/code/game/machinery/pipe/pipe_dispenser.html b/code/game/machinery/pipe/pipe_dispenser.html new file mode 100644 index 000000000000..9524610e2a52 --- /dev/null +++ b/code/game/machinery/pipe/pipe_dispenser.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/pipe/pipe_dispenser.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/machinery/pipe/pipe_dispenser.dm + +

+ + +
/obj/structure/machinery/pipedispenser/orderableZ-Level stuff +Z-Level stuff
+ + + diff --git a/code/game/objects/effects/decals/cleanable/misc.html b/code/game/objects/effects/decals/cleanable/misc.html new file mode 100644 index 000000000000..dbb978f18bd9 --- /dev/null +++ b/code/game/objects/effects/decals/cleanable/misc.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/decals/cleanable/misc.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/decals/cleanable/misc.dm + +

+ + +
/obj/effect/decal/cleanable/cobweb2/dynamicVariant used for halloween - need to pass info in constructor as its turned in an overlay
+ + + diff --git a/code/game/objects/effects/decals/strata_decals.html b/code/game/objects/effects/decals/strata_decals.html new file mode 100644 index 000000000000..2fd270c1b848 --- /dev/null +++ b/code/game/objects/effects/decals/strata_decals.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/decals/strata_decals.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/decals/strata_decals.dm + +

+ + + +
/obj/effect/decal/strata_decals/rocksOUTDOOR STUFF
/obj/effect/decal/strata_decals/grimeINDOORS STUFF
+ + + diff --git a/code/game/objects/effects/effect_system/effect_system.html b/code/game/objects/effects/effect_system/effect_system.html new file mode 100644 index 000000000000..b57e6c729ef4 --- /dev/null +++ b/code/game/objects/effects/effect_system/effect_system.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/effects/effect_system/effect_system.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/effect_system.dm + +

+ + + +
/obj/effect/particle_effect/ion_trails///// Attach an Ion trail to any object, that spawns when it moves (like for the jetpack) +just pass in the object to attach it to in set_up +Then do start() to start it and stop() to stop it, obviously +and don't call start() in a loop that will be repeated otherwise it'll get spammed!
/datum/effect_system/steam_trail_followAttach a steam trail to an object (eg. a reacting beaker) that will follow it
+ + + diff --git a/code/game/objects/effects/effect_system/smoke.html b/code/game/objects/effects/effect_system/smoke.html new file mode 100644 index 000000000000..3b9f8e534ac2 --- /dev/null +++ b/code/game/objects/effects/effect_system/smoke.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/effects/effect_system/smoke.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/game/objects/effects/effect_system/smoke.dm + +

+ + +
BOILER_GAS_CADE_BLOCK_CHANCE/ SMOKE SYSTEMS

Define Details

+

BOILER_GAS_CADE_BLOCK_CHANCE + + +

+

/ SMOKE SYSTEMS

+

Chance that cades block the gas. Smoke spread ticks are calculated very quickly so this has to be high to have a noticable effect.

+ + + diff --git a/code/game/objects/effects/landmarks/corpsespawner.html b/code/game/objects/effects/landmarks/corpsespawner.html new file mode 100644 index 000000000000..76b674645718 --- /dev/null +++ b/code/game/objects/effects/landmarks/corpsespawner.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/effects/landmarks/corpsespawner.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/landmarks/corpsespawner.dm + +

+ + + + + + +
/obj/effect/landmark/corpsespawnerLANDMARK CORPSE
/obj/effect/landmark/corpsespawner/prisonerCivilians
/obj/effect/landmark/corpsespawner/bridgeofficerOfficers
/obj/effect/landmark/corpsespawner/colonistCM specific jobs
/obj/effect/landmark/corpsespawner/clfFaction Specific Corpses
+ + + diff --git a/code/game/objects/effects/landmarks/landmarks.html b/code/game/objects/effects/landmarks/landmarks.html new file mode 100644 index 000000000000..6e9e131cdaaa --- /dev/null +++ b/code/game/objects/effects/landmarks/landmarks.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/effects/landmarks/landmarks.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/landmarks/landmarks.dm + +

+ + + +
/obj/effect/landmark/unit_test_bottom_leftMarks the bottom left of the testing zone. +In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
/obj/effect/landmark/unit_test_top_rightMarks the top right of the testing zone. +In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
+ + + diff --git a/code/game/objects/effects/landmarks/structure_spawners/setup_distress.html b/code/game/objects/effects/landmarks/structure_spawners/setup_distress.html new file mode 100644 index 000000000000..d43db452c901 --- /dev/null +++ b/code/game/objects/effects/landmarks/structure_spawners/setup_distress.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/landmarks/structure_spawners/setup_distress.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/landmarks/structure_spawners/setup_distress.dm + +

+ + +
/obj/effect/landmark/structure_spawner/setup/distressDistress Signal Global Setup Structure spawners
+ + + diff --git a/code/game/objects/effects/landmarks/structure_spawners/structure_spawner.html b/code/game/objects/effects/landmarks/structure_spawners/structure_spawner.html new file mode 100644 index 000000000000..a7cbfea7af36 --- /dev/null +++ b/code/game/objects/effects/landmarks/structure_spawners/structure_spawner.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/landmarks/structure_spawners/structure_spawner.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/landmarks/structure_spawners/structure_spawner.dm + +

+ + + +
/obj/effect/landmark/structure_spawnerStructure spawner, representing something that can be spawned by gameplay logic during round or at setup
/obj/effect/landmark/structure_spawner/setupSetup spawners will all be evaluated by game mode on start, and deleted after
+ + + diff --git a/code/game/objects/effects/landmarks/structure_spawners/xvx_hive.html b/code/game/objects/effects/landmarks/structure_spawners/xvx_hive.html new file mode 100644 index 000000000000..4c5b5baf8a1d --- /dev/null +++ b/code/game/objects/effects/landmarks/structure_spawners/xvx_hive.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/landmarks/structure_spawners/xvx_hive.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/landmarks/structure_spawners/xvx_hive.dm + +

+ + +
/obj/effect/landmark/structure_spawner/xvx_hiveXvX Hive Spawn Structures, spawning alongside a queen in the same area
+ + + diff --git a/code/game/objects/effects/projector.html b/code/game/objects/effects/projector.html new file mode 100644 index 000000000000..effa3a848044 --- /dev/null +++ b/code/game/objects/effects/projector.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/projector.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/projector.dm + +

+ + +
/obj/effect/projectorYou will appear adjacent to the beacon
+ + + diff --git a/code/game/objects/effects/spawners/random.html b/code/game/objects/effects/spawners/random.html new file mode 100644 index 000000000000..185276baa26b --- /dev/null +++ b/code/game/objects/effects/spawners/random.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/spawners/random.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/effects/spawners/random.dm + +

+ + +
/obj/effect/spawner/random/facepaintIf anyone wants to make custom sprites for this and the bala random spawner, be my guest.
+ + + diff --git a/code/game/objects/items/books/book.html b/code/game/objects/items/books/book.html new file mode 100644 index 000000000000..87cf16657d72 --- /dev/null +++ b/code/game/objects/items/books/book.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/books/book.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/books/book.dm + +

+ + +
/obj/item/bookCheck if it has the possibility of being a FANCY present +Checks if it might be one of the ULTRA fancy presents. +Default, just in case
+ + + diff --git a/code/game/objects/items/circuitboards/mecha.html b/code/game/objects/items/circuitboards/mecha.html new file mode 100644 index 000000000000..b679f0106af4 --- /dev/null +++ b/code/game/objects/items/circuitboards/mecha.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/circuitboards/mecha.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/circuitboards/mecha.dm + +

+ + +
/obj/item/circuitboard/mechaCircuitboards
+ + + diff --git a/code/game/objects/items/devices/flashlight.html b/code/game/objects/items/devices/flashlight.html new file mode 100644 index 000000000000..39da0a66efb1 --- /dev/null +++ b/code/game/objects/items/devices/flashlight.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/devices/flashlight.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/devices/flashlight.dm + +

+ + + +
/obj/item/device/flashlight/flare/on/gunFlares deployed by a flare gun
/obj/item/device/flashlight/flare/signal/gunSignal flares deployed by a flare gun
+ + + diff --git a/code/game/objects/items/devices/multitool.html b/code/game/objects/items/devices/multitool.html new file mode 100644 index 000000000000..e35726fc2eba --- /dev/null +++ b/code/game/objects/items/devices/multitool.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/multitool.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/devices/multitool.dm + +

+ + +
/obj/item/device/multitoolMultitool -- A multitool is used for hacking electronic devices.
+ + + diff --git a/code/game/objects/items/devices/personal_data_transmitter.html b/code/game/objects/items/devices/personal_data_transmitter.html new file mode 100644 index 000000000000..322a1922cbc1 --- /dev/null +++ b/code/game/objects/items/devices/personal_data_transmitter.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/personal_data_transmitter.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/devices/personal_data_transmitter.dm + +

+ + +
/obj/item/storage/box/pdt_kit/advancedTHE ADVANCED VERSION... ADMIN SPAWN ONLY... USES TGUI RADAR...
+ + + diff --git a/code/game/objects/items/devices/radio/encryptionkey.html b/code/game/objects/items/devices/radio/encryptionkey.html new file mode 100644 index 000000000000..6ee92b40a16a --- /dev/null +++ b/code/game/objects/items/devices/radio/encryptionkey.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/devices/radio/encryptionkey.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/devices/radio/encryptionkey.dm + +

+ + + +
/obj/item/device/encryptionkey/WYFor CL and their Marine goons
/obj/item/device/encryptionkey/mortarUsed by the Mortar Crew in WO game mode - intently has no squad radio access
+ + + diff --git a/code/game/objects/items/devices/radio/radio.html b/code/game/objects/items/devices/radio/radio.html new file mode 100644 index 000000000000..24f1d5a07a8b --- /dev/null +++ b/code/game/objects/items/devices/radio/radio.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/radio/radio.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/devices/radio/radio.dm + +

+ + +
/obj/item/device/radio/borgBorg Radios
+ + + diff --git a/code/game/objects/items/explosives/grenades/marines.html b/code/game/objects/items/explosives/grenades/marines.html new file mode 100644 index 000000000000..4a3d51deb911 --- /dev/null +++ b/code/game/objects/items/explosives/grenades/marines.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/explosives/grenades/marines.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/explosives/grenades/marines.dm + +

+ + +
/obj/item/explosive/grenade/batonBaton slugs
+ + + diff --git a/code/game/objects/items/explosives/mine.html b/code/game/objects/items/explosives/mine.html new file mode 100644 index 000000000000..2c5d84fc3d9a --- /dev/null +++ b/code/game/objects/items/explosives/mine.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/explosives/mine.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/explosives/mine.dm + +

+ + +
/obj/item/explosive/mineMINES
+ + + diff --git a/code/game/objects/items/fulton.html b/code/game/objects/items/fulton.html new file mode 100644 index 000000000000..50eb24ed25dc --- /dev/null +++ b/code/game/objects/items/fulton.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/fulton.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/fulton.dm + +

+ + + +
/var/deployed_fultonsA list of fultons currently airborne.
+ + + diff --git a/code/game/objects/items/handheld_distress_beacon.html b/code/game/objects/items/handheld_distress_beacon.html new file mode 100644 index 000000000000..881b4a9edbcb --- /dev/null +++ b/code/game/objects/items/handheld_distress_beacon.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/handheld_distress_beacon.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/handheld_distress_beacon.dm + +

+ + +
/obj/item/handheld_distress_beaconhandheld distress beacons used by goon chem retrieval team to call for PMC back up
+ + + diff --git a/code/game/objects/items/reagent_containers/dropper.html b/code/game/objects/items/reagent_containers/dropper.html new file mode 100644 index 000000000000..dc5133752c0a --- /dev/null +++ b/code/game/objects/items/reagent_containers/dropper.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/reagent_containers/dropper.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/dropper.dm + +

+ + +
/obj/item/reagent_container/dropperDroppers.
+ + + diff --git a/code/game/objects/items/reagent_containers/food.html b/code/game/objects/items/reagent_containers/food.html new file mode 100644 index 000000000000..e2c8a2795aa9 --- /dev/null +++ b/code/game/objects/items/reagent_containers/food.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/reagent_containers/food.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/food.dm + +

+ + +
/obj/item/reagent_container/foodDroppers. END
+ + + diff --git a/code/game/objects/items/reagent_containers/food/condiment.html b/code/game/objects/items/reagent_containers/food/condiment.html new file mode 100644 index 000000000000..9069c17fe0bf --- /dev/null +++ b/code/game/objects/items/reagent_containers/food/condiment.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/reagent_containers/food/condiment.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/food/condiment.dm + +

+ + +
/obj/item/reagent_container/food/condimentCondiments
+ + + diff --git a/code/game/objects/items/reagent_containers/food/drinks.html b/code/game/objects/items/reagent_containers/food/drinks.html new file mode 100644 index 000000000000..a30b644286e8 --- /dev/null +++ b/code/game/objects/items/reagent_containers/food/drinks.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/items/reagent_containers/food/drinks.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/food/drinks.dm + +

+ + + + + +
/obj/item/reagent_container/food/drinksDrinks.
/obj/item/reagent_container/food/drinks/golden_cupDrinks. END
/obj/item/reagent_container/food/drinks/milkDrinks
/obj/item/reagent_container/food/drinks/shakerdrinkingglass and shaker
+ + + diff --git a/code/game/objects/items/reagent_containers/food/drinks/bottle.html b/code/game/objects/items/reagent_containers/food/drinks/bottle.html new file mode 100644 index 000000000000..b7c9411110ff --- /dev/null +++ b/code/game/objects/items/reagent_containers/food/drinks/bottle.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/items/reagent_containers/food/drinks/bottle.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/food/drinks/bottle.dm + +

+ + + + + +
/obj/item/reagent_container/food/drinks/bottleAlchohol bottles and juice mixers! -Agouri
/obj/item/reagent_container/food/drinks/bottle/ginAlcohol bottles and their contents.
/obj/item/reagent_container/food/drinks/bottle/beer/craftBEERS
/obj/item/reagent_container/food/drinks/bottle/orangejuiceJUICES AND STUFF
+ + + diff --git a/code/game/objects/items/reagent_containers/food/drinks/jar.html b/code/game/objects/items/reagent_containers/food/drinks/jar.html new file mode 100644 index 000000000000..d3e9335852fe --- /dev/null +++ b/code/game/objects/items/reagent_containers/food/drinks/jar.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/reagent_containers/food/drinks/jar.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/food/drinks/jar.dm + +

+ + +
/obj/item/reagent_container/food/drinks/jarjar
+ + + diff --git a/code/game/objects/items/reagent_containers/food/snacks.html b/code/game/objects/items/reagent_containers/food/snacks.html new file mode 100644 index 000000000000..46fbb1718b59 --- /dev/null +++ b/code/game/objects/items/reagent_containers/food/snacks.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/reagent_containers/food/snacks.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/food/snacks.dm + +

+ + + +
/obj/item/reagent_container/food/snacks/aesirsaladFOOD END
/obj/item/reagent_container/food/snacks/roburger/unsafeVanilla roburger - the nanites turn people into cyborgs
+ + + diff --git a/code/game/objects/items/reagent_containers/glass.html b/code/game/objects/items/reagent_containers/glass.html new file mode 100644 index 000000000000..4a1e4897df7e --- /dev/null +++ b/code/game/objects/items/reagent_containers/glass.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/reagent_containers/glass.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/glass.dm + +

+ + +
/obj/item/reagent_container/glass(Mixing) Glass
+ + + diff --git a/code/game/objects/items/reagent_containers/hypospray.html b/code/game/objects/items/reagent_containers/hypospray.html new file mode 100644 index 000000000000..b1a6a6dac34c --- /dev/null +++ b/code/game/objects/items/reagent_containers/hypospray.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/reagent_containers/hypospray.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/hypospray.dm + +

+ + +
/obj/item/reagent_container/hyposprayHYPOSPRAY
+ + + diff --git a/code/game/objects/items/reagent_containers/pill.html b/code/game/objects/items/reagent_containers/pill.html new file mode 100644 index 000000000000..36fad71edc6e --- /dev/null +++ b/code/game/objects/items/reagent_containers/pill.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/reagent_containers/pill.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/reagent_containers/pill.dm + +

+ + + + +
/proc/map_pill_iconsPills.
/obj/item/reagent_container/pill/antitoxPills. END
+ + + diff --git a/code/game/objects/items/reagent_containers/syringes.html b/code/game/objects/items/reagent_containers/syringes.html new file mode 100644 index 000000000000..7002887f8046 --- /dev/null +++ b/code/game/objects/items/reagent_containers/syringes.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/items/reagent_containers/syringes.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/game/objects/items/reagent_containers/syringes.dm + +

+ + + +
SYRINGE_DRAWSyringes.
/obj/item/reagent_container/syringe/inaprovalineSyringes. END

Define Details

+

SYRINGE_DRAW + + +

+

Syringes.

+ + + diff --git a/code/game/objects/items/robot/robot_parts.html b/code/game/objects/items/robot/robot_parts.html new file mode 100644 index 000000000000..7c319a03ff92 --- /dev/null +++ b/code/game/objects/items/robot/robot_parts.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/robot/robot_parts.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/robot/robot_parts.dm + +

+ + +
/obj/item/fake_robot_headA cameo of a real robotic head with limited gameplay functionality
+ + + diff --git a/code/game/objects/items/stock_parts.html b/code/game/objects/items/stock_parts.html new file mode 100644 index 000000000000..f2ff7db630ea --- /dev/null +++ b/code/game/objects/items/stock_parts.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/stock_parts.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/stock_parts.dm + +

+ + +
/obj/item/stock_partsStock Parts
+ + + diff --git a/code/game/objects/items/storage/backpack.html b/code/game/objects/items/storage/backpack.html new file mode 100644 index 000000000000..b0db4617a250 --- /dev/null +++ b/code/game/objects/items/storage/backpack.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/storage/backpack.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/storage/backpack.dm + +

+ + +
/obj/item/storage/backpack/general_beltG-8-a general pouch belt
+ + + diff --git a/code/game/objects/items/storage/belt.html b/code/game/objects/items/storage/belt.html new file mode 100644 index 000000000000..72bfcaba652a --- /dev/null +++ b/code/game/objects/items/storage/belt.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/storage/belt.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/storage/belt.dm + +

+ + + +
/obj/item/storage/belt/gunGUN BELTS
/obj/item/storage/belt/tankOTHER BELTS
+ + + diff --git a/code/game/objects/items/storage/boxes.html b/code/game/objects/items/storage/boxes.html new file mode 100644 index 000000000000..cfd4ac134a5c --- /dev/null +++ b/code/game/objects/items/storage/boxes.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/storage/boxes.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/storage/boxes.dm + +

+ + +
/obj/item/storage/box/explosive_minesMARINES BOXES
+ + + diff --git a/code/game/objects/items/storage/pouch.html b/code/game/objects/items/storage/pouch.html new file mode 100644 index 000000000000..f99df0ed2efc --- /dev/null +++ b/code/game/objects/items/storage/pouch.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/storage/pouch.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/storage/pouch.dm + +

+ + + + +
/obj/item/storage/pouch/pistolPistol pouch.
/obj/item/storage/pouch/pistol/commandCO pouch. This pouch can hold only 1 of each type of item: 1 sidearm, 1 pair of binoculars, 1 CO tablet
/obj/item/storage/pouch/magazineMAGAZINE POUCHES
+ + + diff --git a/code/game/objects/items/trash.html b/code/game/objects/items/trash.html new file mode 100644 index 000000000000..271294adec0c --- /dev/null +++ b/code/game/objects/items/trash.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/items/trash.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/trash.dm + +

+ + + + + + +
/obj/item/trashTrash Parent
/obj/item/trash/barcardineWrappers
/obj/item/trash/cigbuttCiagarette Butts
/obj/item/trash/plateDishes
/obj/item/trash/candleMisc
+ + + diff --git a/code/game/objects/items/weapons/twohanded.html b/code/game/objects/items/weapons/twohanded.html new file mode 100644 index 000000000000..fb3d2c0bd1e9 --- /dev/null +++ b/code/game/objects/items/weapons/twohanded.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/weapons/twohanded.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/items/weapons/twohanded.dm + +

+ + +
/obj/item/weapon/twohanded/offhandOFFHAND
+ + + diff --git a/code/game/objects/prop.html b/code/game/objects/prop.html new file mode 100644 index 000000000000..519a6c97c98a --- /dev/null +++ b/code/game/objects/prop.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/prop.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/prop.dm + +

+ + +
/obj/item/prop/alien/huggerXeno-specific props
+ + + diff --git a/code/game/objects/structures/kitchen_spike.html b/code/game/objects/structures/kitchen_spike.html new file mode 100644 index 000000000000..1e6d23b5f177 --- /dev/null +++ b/code/game/objects/structures/kitchen_spike.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/kitchen_spike.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/structures/kitchen_spike.dm + +

+ + +
/obj/structure/kitchenspikeKitchen Spike
+ + + diff --git a/code/game/objects/structures/props.html b/code/game/objects/structures/props.html new file mode 100644 index 000000000000..0bdaf5038994 --- /dev/null +++ b/code/game/objects/structures/props.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/props.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/objects/structures/props.dm + +

+ + +
/obj/structure/prop/invuln/fireDecorative fire.
+ + + diff --git a/code/game/runtimes.html b/code/game/runtimes.html new file mode 100644 index 000000000000..487186f3d134 --- /dev/null +++ b/code/game/runtimes.html @@ -0,0 +1,30 @@ + + + + + + + code/game/runtimes.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/runtimes.dm + +

+ + +

Shorthand of Static Initializer errors only, for use in STUI +Full text of all Static Initializer + World Init errors, for log backfilling +Truthy when init is done and we don't need these shenanigans anymore +Count of runtimes that occured before logging is ready, for in-game reporting

+ + + diff --git a/code/game/sound.html b/code/game/sound.html new file mode 100644 index 000000000000..896643fb6072 --- /dev/null +++ b/code/game/sound.html @@ -0,0 +1,30 @@ + + + + + + + code/game/sound.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/sound.dm + +

+ + + + + +
/proc/playsound_areaPlays sound to all mobs that are map-level contents of an area
/proc/playsound_zPlay sound for all on-map clients on a given Z-level. Good for ambient sounds.
+ + + diff --git a/code/game/turfs/floor_types.html b/code/game/turfs/floor_types.html new file mode 100644 index 000000000000..12d4229e5e07 --- /dev/null +++ b/code/game/turfs/floor_types.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/floor_types.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/turfs/floor_types.dm + +

+ + +
/turf/open/floor/plating/bare_catwalkVisually like plating+catwalks but without overlaying or interactions - mainly for Reqs Elevator
+ + + diff --git a/code/game/turfs/walls/r_wall.html b/code/game/turfs/walls/r_wall.html new file mode 100644 index 000000000000..3f82911ff54a --- /dev/null +++ b/code/game/turfs/walls/r_wall.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/walls/r_wall.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/game/turfs/walls/r_wall.dm + +

+ + +
/turf/closed/wall/r_wall/elevatorDestructible elevator walls, for when you want the elevator to act as a prop rather than an actual elevator
+ + + diff --git a/code/global.html b/code/global.html new file mode 100644 index 000000000000..d00271e4448a --- /dev/null +++ b/code/global.html @@ -0,0 +1,50 @@ + + + + + + + code/global.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/global.dm + +

+ + + + + + + + + + + + +
R_EVERYTHINGThe sum of all other rank permissions.
/var/secret_force_modeIf this is anything but "secret", the secret rotation will forceably choose this mode.
/var/fallen_list_crossThis is for dogtags placed on crosses- they will show up at the end-round memorial.
shuttle_time_in_station3 minutes in the station.
shuttle_time_to_arrive10 minutes to arrive.
/var/obfs_xA number between -500 and 500.
/var/obfs_yA number between -500 and 500.

Define Details

+

R_EVERYTHING + + +

+

The sum of all other rank permissions.

shuttle_time_in_station + + +

+

3 minutes in the station.

shuttle_time_to_arrive + + +

+

10 minutes to arrive.

+ + + diff --git a/code/modules/admin/NewBan.html b/code/modules/admin/NewBan.html new file mode 100644 index 000000000000..2678a5f0d514 --- /dev/null +++ b/code/modules/admin/NewBan.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/NewBan.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/admin/NewBan.dm + +

+ + + +
/proc/CreateBansDEBUG
+ + + diff --git a/code/modules/admin/autoreply.html b/code/modules/admin/autoreply.html new file mode 100644 index 000000000000..58d1782f7a40 --- /dev/null +++ b/code/modules/admin/autoreply.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/autoreply.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/admin/autoreply.dm + +

+ + +
/datum/autoreply/admin/handledAdmin Replies
+ + + diff --git a/code/modules/admin/callproc.html b/code/modules/admin/callproc.html new file mode 100644 index 000000000000..f84ecd2ba12a --- /dev/null +++ b/code/modules/admin/callproc.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/admin/callproc.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/admin/callproc.dm + +

+ + + + + + + + +
/mob/proccall_handlerUsed to handle proccalls called indirectly by an admin (namely tgs). +Has to be a mob because IsAdminAdvancedProcCall() checks usr, which is a mob variable. +So usr is set to this for any proccalls that don't have any usr mob/client to refer to.
/proc/HandleUserlessProcCallHandles a userless proccall, used by circuits.
/proc/HandleUserlessSDQLHandles a userless sdql, used by TGS.
/proc/WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
+ + + diff --git a/code/modules/admin/tag.html b/code/modules/admin/tag.html new file mode 100644 index 000000000000..0f90259a804c --- /dev/null +++ b/code/modules/admin/tag.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/admin/tag.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/modules/admin/tag.dm + +

+ + +
TAG_DELQuick define for readability

Define Details

+

TAG_DEL + + + +

+

Quick define for readability

+ + + diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html new file mode 100644 index 000000000000..d627601928c5 --- /dev/null +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html @@ -0,0 +1,40 @@ + + + + + + + code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm + +

+ + + + + +
/proc/_pick_listAllow me to explain +for some reason, if pick() is passed arglist(args) directly and args contains only one list +it considers it to be a list of lists +this means something like _pick(list) would fail +need to do this instead
/proc/_animate_filterAuxtools REALLY doesn't know how to handle filters as values; +when passed as arguments to auxtools-called procs, they aren't simply treated as nulls - +they don't even count towards the length of args. +For example, calling some_proc([a filter], foo, bar) from auxtools +is equivalent to calling some_proc(foo, bar). Thus, we can't use _animate directly on filters. +Use this to perform animation steps on a filter. Consecutive steps on the same filter can be +achieved by calling _animate with no target.
+ + + diff --git a/code/modules/admin/verbs/adminhelp.html b/code/modules/admin/verbs/adminhelp.html new file mode 100644 index 000000000000..b2b55ac4653e --- /dev/null +++ b/code/modules/admin/verbs/adminhelp.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/admin/verbs/adminhelp.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/admin/verbs/adminhelp.dm + +

+ + + + + + + +
/datum/admin_help_tickets
/datum/admin_help
/proc/admin_ticket_logUse this proc when an admin takes action that may be related to an open ticket on what +what can be a client, ckey, or mob +player_message: If the message should be shown in the player ticket panel, fill this out +log_in_blackbox: Whether or not this message with the blackbox system. +If disabled, this message should be logged with a different proc call
/proc/check_asay_linksChecks a given message to see if any of the words are something we want to treat specially, as detailed below.
+ + + diff --git a/code/modules/admin/view_variables/debug_variables.html b/code/modules/admin/view_variables/debug_variables.html new file mode 100644 index 000000000000..dbdc5aa02267 --- /dev/null +++ b/code/modules/admin/view_variables/debug_variables.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/view_variables/debug_variables.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/admin/view_variables/debug_variables.dm + +

+ + + +
/proc/debug_variableGet displayed variable in VV variable list
+ + + diff --git a/code/modules/almayer/shakeship.html b/code/modules/almayer/shakeship.html new file mode 100644 index 000000000000..030b73e65a21 --- /dev/null +++ b/code/modules/almayer/shakeship.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/almayer/shakeship.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/almayer/shakeship.dm + +

+ + + +
/proc/shakeshipShakes the ship around
+ + + diff --git a/code/modules/almayer/weaponhits.html b/code/modules/almayer/weaponhits.html new file mode 100644 index 000000000000..61c6c2ab98a5 --- /dev/null +++ b/code/modules/almayer/weaponhits.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/almayer/weaponhits.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/almayer/weaponhits.dm + +

+ + + +
/proc/weaponhitsProc called to hit the ship with weapons
+ + + diff --git a/code/modules/asset_cache.html b/code/modules/asset_cache.html new file mode 100644 index 000000000000..4d54ad42fd28 --- /dev/null +++ b/code/modules/asset_cache.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/asset_cache/readme.md - byond + + +
+ byond - + Modules - + Types +
+
+

Asset cache system + +

+ + +

Framework for managing browser assets (javascript,css,images,etc)

+

This manages getting the asset to the client without doing unneeded re-sends, as well as utilizing any configured cdns.

+

There are two frameworks for using this system:

+

Asset datum:

+

Make a datum in asset_list_items.dm with your browser assets for your thing.

+

Checkout asset_list.dm for the helper subclasses

+

The simple subclass will most likely be of use for most cases.

+

Call get_asset_datum() with the type of the datum you created to get your asset cache datum

+

Call .send(client|usr) on that datum to send the asset to the client. Depending on the asset transport this may or may not block.

+

Call .get_url_mappings() to get an associated list with the urls your assets can be found at.

+

Manual backend:

+

See the documentation for /datum/asset_transport for the backend api the asset datums utilize.

+

The global variable SSassets.transport contains the currently configured transport.

+

Notes:

+

Because byond browse() calls use non-blocking queues, if your code uses output() (which bypasses all of these queues) to invoke javascript functions you will need to first have the javascript announce to the server it has loaded before trying to invoke js functions.

+

To make your code work with any CDNs configured by the server, you must make sure assets are referenced from the url returned by get_url_mappings() or by asset_transport's get_asset_url(). (TGUI also has helpers for this.) If this can not be easily done, you can bypass the cdn using legacy assets, see the simple asset datum for details.

+

CSS files that use url() can be made to use the CDN without needing to rewrite all url() calls in code by using the namespaced helper datum. See the documentation for /datum/asset/simple/namespaced for details.

+ + + diff --git a/code/modules/asset_cache/asset_cache_item.html b/code/modules/asset_cache/asset_cache_item.html new file mode 100644 index 000000000000..bf0f406751e0 --- /dev/null +++ b/code/modules/asset_cache/asset_cache_item.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/asset_cache_item.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/asset_cache/asset_cache_item.dm + +

+ + +
/datum/asset_cache_itemAn internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.
+ + + diff --git a/code/modules/asset_cache/asset_list.html b/code/modules/asset_cache/asset_list.html new file mode 100644 index 000000000000..ffd2c2679671 --- /dev/null +++ b/code/modules/asset_cache/asset_list.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/asset_cache/asset_list.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/asset_cache/asset_list.dm + +

+ + + +
/datum/asset/simpleIf you don't need anything complicated.
/datum/asset/simple/namespacedNamespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)
+ + + diff --git a/code/modules/asset_cache/transports/asset_transport.html b/code/modules/asset_cache/transports/asset_transport.html new file mode 100644 index 000000000000..5338b183b5f5 --- /dev/null +++ b/code/modules/asset_cache/transports/asset_transport.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/asset_cache/transports/asset_transport.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/modules/asset_cache/transports/asset_transport.dm + +

+ + + +
ASSET_CACHE_TELL_CLIENT_AMOUNTWhen sending mutiple assets, how many before we give the client a quaint little sending resources message
/datum/asset_transportBase browse_rsc asset transport

Define Details

+

ASSET_CACHE_TELL_CLIENT_AMOUNT + + +

+

When sending mutiple assets, how many before we give the client a quaint little sending resources message

+ + + diff --git a/code/modules/asset_cache/transports/webroot_transport.html b/code/modules/asset_cache/transports/webroot_transport.html new file mode 100644 index 000000000000..d975a628129a --- /dev/null +++ b/code/modules/asset_cache/transports/webroot_transport.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/transports/webroot_transport.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/asset_cache/transports/webroot_transport.dm + +

+ + +
/datum/asset_transport/webrootCDN Webroot asset transport.
+ + + diff --git a/code/modules/buildmode.html b/code/modules/buildmode.html new file mode 100644 index 000000000000..620aa7c48952 --- /dev/null +++ b/code/modules/buildmode.html @@ -0,0 +1,209 @@ + + + + + + + code/modules/buildmode/README.md - byond + + +
+ byond - + Modules - + Types +
+
+

Buildmode + +

+ + +

Code layout

Buildmode

+

Manager for buildmode modes. Contains logic to manage switching between each mode, and presenting a suitable user interface.

+

Effects

+

Special graphics used by buildmode modes for user interface purposes.

+

Buildmode Mode

+

Implementer of buildmode behaviors.

+

Existing varieties:

+
    +
  • +

    Basic

    +

    Description:

    +

    Allows creation of simple structures consisting of floors, walls, windows, and airlocks.

    +

    Controls:

    +
      +
    • +

      Left click a turf:

      +

      "Upgrades" the turf based on the following rules below:

      +
        +
      • Space -> Tiled floor
      • +
      • Simulated floor -> Regular wall
      • +
      • Wall -> Reinforced wall
      • +
      +
    • +
    • +

      Right click a turf:

      +

      "Downgrades" the turf based on the following rules below:

      +
        +
      • Reinforced wall -> Regular wall
      • +
      • Wall -> Tiled floor
      • +
      • Simulated floor -> Space
      • +
      +
    • +
    • +

      Right click an object:

      +

      Deletes the clicked object.

      +
    • +
    • +

      Alt+Left click a location:

      +

      Places an airlock at the clicked location.

      +
    • +
    • +

      Ctrl+Left click a location:

      +

      Places a window at the clicked location.

      +
    • +
    +
  • +
  • +

    Advanced

    +

    Description:

    +

    Creates an instance of a configurable atom path where you click.

    +

    Controls:

    +
      +
    • +

      Right click on the mode selector:

      +

      Choose a path to spawn.

      +
    • +
    • +

      Left click a location (requires chosen path):

      +

      Place an instance of the chosen path at the location.

      +
    • +
    • +

      Right click an object:

      +

      Delete the object.

      +
    • +
    +
  • +
  • +

    Fill

    +

    Description:

    +

    Creates an instance of an atom path on every tile in a chosen region.

    +

    With a special control input, instead deletes everything within the region.

    +

    Controls:

    +
      +
    • +

      Right click on the mode selector:

      +

      Choose a path to spawn.

      +
    • +
    • +

      Left click on a region (requires chosen path):

      +

      Fill the region with the chosen path.

      +
    • +
    • +

      Alt+Left click on a region:

      +

      Deletes everything within the region.

      +
    • +
    • +

      Right click during region selection:

      +

      Cancel region selection.

      +
    • +
    +
  • +
  • +

    Copy

    +

    Description:

    +

    Take an existing object in the world, and place duplicates with identical attributes where you click.

    +

    May not always work nicely - "deep" variables such as lists or datums may malfunction.

    +

    Controls:

    +
      +
    • +

      Right click an existing object:

      +

      Select the clicked object as a template.

      +
    • +
    • +

      Left click a location (Requires a selected object as template):

      +

      Place a duplicate of the template at the clicked location.

      +
    • +
    +
  • +
  • +

    Area Edit

    +

    Description:

    +

    Modifies and creates areas.

    +

    The active area will be highlighted in yellow.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Create a new area, and make it active.

      +
    • +
    • +

      Right click an existing area:

      +

      Make the clicked area active.

      +
    • +
    • +

      Left click a turf:

      +

      When an area is active, adds the turf to the active area.

      +
    • +
    +
  • +
  • +

    Var Edit

    +

    Description:

    +

    Allows for setting and resetting variables of objects with a click.

    +

    If the object does not have the var, will do nothing and print a warning message.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Choose which variable to set, and what to set it to.

      +
    • +
    • +

      Left click an atom:

      +

      Change the clicked atom's variables as configured.

      +
    • +
    • +

      Right click an atom:

      +

      Reset the targeted variable to its original value in the code.

      +
    • +
    +
  • +
  • +

    Throwing

    +

    Description:

    +

    Select an object with left click, and right click to throw it towards where you clicked.

    +

    Controls:

    +
      +
    • +

      Left click on a movable atom:

      +

      Select the atom for throwing.

      +
    • +
    • +

      Right click on a location:

      +

      Throw the selected atom towards that location.

      +
    • +
    +
  • +
  • +

    Boom

    +

    Description:

    +

    Make explosions where you click.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Configure the explosion size.

      +
    • +
    • +

      Left click a location:

      +

      Cause an explosion where you clicked.

      +
    • +
    +
  • +
+ + + diff --git a/code/modules/buildmode/bm-mode.html b/code/modules/buildmode/bm-mode.html new file mode 100644 index 000000000000..b444a84e7c35 --- /dev/null +++ b/code/modules/buildmode/bm-mode.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/buildmode/bm-mode.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/modules/buildmode/bm-mode.dm + +

+ + + +
AREASELECT_CORNERACorner A area section for buildmode
AREASELECT_CORNERBCorner B area selection for buildmode

Define Details

+

AREASELECT_CORNERA + + +

+

Corner A area section for buildmode

AREASELECT_CORNERB + + +

+

Corner B area selection for buildmode

+ + + diff --git a/code/modules/character_traits/character_trait.html b/code/modules/character_traits/character_trait.html new file mode 100644 index 000000000000..1bb856f2b7cd --- /dev/null +++ b/code/modules/character_traits/character_trait.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/character_traits/character_trait.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/character_traits/character_trait.dm + +

+ + + +
/datum/character_traitCharacter traits +Similar to the traits from Project Zomboid
/datum/character_trait_groupCharacter trait groups for constraints (if any)
+ + + diff --git a/code/modules/client/statbrowser_options.html b/code/modules/client/statbrowser_options.html new file mode 100644 index 000000000000..c8575acfcd26 --- /dev/null +++ b/code/modules/client/statbrowser_options.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/statbrowser_options.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/client/statbrowser_options.dm + +

+ + +
/datum/statbrowser_optionsHandles the Statbrowser Options window for a given client
+ + + diff --git a/code/modules/clothing/under/marine_uniform.html b/code/modules/clothing/under/marine_uniform.html new file mode 100644 index 000000000000..15f6d83dc8d8 --- /dev/null +++ b/code/modules/clothing/under/marine_uniform.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/under/marine_uniform.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/clothing/under/marine_uniform.dm + +

+ + +
/obj/item/clothing/under/marine/ua_riotCivilians
+ + + diff --git a/code/modules/cm_marines/dropship_ammo.html b/code/modules/cm_marines/dropship_ammo.html new file mode 100644 index 000000000000..cad2c3b908d4 --- /dev/null +++ b/code/modules/cm_marines/dropship_ammo.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cm_marines/dropship_ammo.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/cm_marines/dropship_ammo.dm + +

+ + +
/obj/structure/ship_ammoDropship weaponry ammunition
+ + + diff --git a/code/modules/cm_marines/dropship_equipment.html b/code/modules/cm_marines/dropship_equipment.html new file mode 100644 index 000000000000..fb3275642f15 --- /dev/null +++ b/code/modules/cm_marines/dropship_equipment.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/cm_marines/dropship_equipment.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/cm_marines/dropship_equipment.dm + +

+ + + + + + +
/obj/structure/dropship_equipmentDropship equipments, mainly weaponry but also utility implements
/obj/structure/dropship_equipment/sentry_holderTurret holder for dropship automated sentries
/obj/structure/dropship_equipment/mg_holderHolder for the dropship mannable machinegun system
/obj/structure/dropship_equipment/adv_compCOMPUTERS
/obj/structure/dropship_equipment/weaponCAS Dropship weaponry, used for aerial bombardment
+ + + diff --git a/code/modules/cm_marines/marines_consoles.html b/code/modules/cm_marines/marines_consoles.html new file mode 100644 index 000000000000..a42df791f073 --- /dev/null +++ b/code/modules/cm_marines/marines_consoles.html @@ -0,0 +1,42 @@ + + + + + + + code/modules/cm_marines/marines_consoles.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/modules/cm_marines/marines_consoles.dm + +

+ + + + +
SENSORS_UPDATE_PERIODHow often the sensor data is updated
UNKNOWN_JOB_IDThe job sorting ID associated with otherwise unknown jobs
RAIDER_OFFICER_SQUADThis is a really hacky way to make SOF work, but the nice and easy alternative would screw with round spawning

Define Details

+

RAIDER_OFFICER_SQUAD + + +

+

This is a really hacky way to make SOF work, but the nice and easy alternative would screw with round spawning

SENSORS_UPDATE_PERIOD + + +

+

How often the sensor data is updated

UNKNOWN_JOB_ID + + +

+

The job sorting ID associated with otherwise unknown jobs

+ + + diff --git a/code/modules/cm_marines/radar.html b/code/modules/cm_marines/radar.html new file mode 100644 index 000000000000..dea7601fd1c0 --- /dev/null +++ b/code/modules/cm_marines/radar.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cm_marines/radar.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/cm_marines/radar.dm + +

+ + + +
/datum/radargeneric parent that handles most of the process
/datum/radar/lifelineA program that tracks crew members via suit sensors
+ + + diff --git a/code/modules/cm_marines/vehicle_part_fabricator.html b/code/modules/cm_marines/vehicle_part_fabricator.html new file mode 100644 index 000000000000..6e461242c906 --- /dev/null +++ b/code/modules/cm_marines/vehicle_part_fabricator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cm_marines/vehicle_part_fabricator.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/cm_marines/vehicle_part_fabricator.dm + +

+ + +
/obj/structure/machinery/part_fabricator/tankFabricator for individual tank parts
+ + + diff --git a/code/modules/cm_preds/yaut_mask.html b/code/modules/cm_preds/yaut_mask.html new file mode 100644 index 000000000000..f73b90dbd7cb --- /dev/null +++ b/code/modules/cm_preds/yaut_mask.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cm_preds/yaut_mask.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/cm_preds/yaut_mask.dm + +

+ + +
/obj/item/clothing/mask/gas/yautjaparent type
+ + + diff --git a/code/modules/cm_preds/yaut_weapons.html b/code/modules/cm_preds/yaut_weapons.html new file mode 100644 index 000000000000..0ba775f3944a --- /dev/null +++ b/code/modules/cm_preds/yaut_weapons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cm_preds/yaut_weapons.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/cm_preds/yaut_weapons.dm + +

+ + +
/datum/flaying_datumRecords status of flaying attempts and handles progress.
+ + + diff --git a/code/modules/cm_tech/implements/adv_weapon.html b/code/modules/cm_tech/implements/adv_weapon.html new file mode 100644 index 000000000000..20c5fe4c79a4 --- /dev/null +++ b/code/modules/cm_tech/implements/adv_weapon.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cm_tech/implements/adv_weapon.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/cm_tech/implements/adv_weapon.dm + +

+ + +
/obj/item/techtree_advanced_weapon_kitCrates are anchored when launched to avoid pushing them while launching and this created issues with them being anchored when they landed groundside. +This unanchors them before moving them out to make sure that crates are able to be moved when groundside.
+ + + diff --git a/code/modules/cm_tech/techs/abstract/repeatable.html b/code/modules/cm_tech/techs/abstract/repeatable.html new file mode 100644 index 000000000000..ab6f55cbbf66 --- /dev/null +++ b/code/modules/cm_tech/techs/abstract/repeatable.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cm_tech/techs/abstract/repeatable.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/cm_tech/techs/abstract/repeatable.dm + +

+ + +
/datum/tech/repeatableA tech that can be purchased multiple times
+ + + diff --git a/code/modules/decorators/christmas.html b/code/modules/decorators/christmas.html new file mode 100644 index 000000000000..efa95bb98323 --- /dev/null +++ b/code/modules/decorators/christmas.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/decorators/christmas.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/decorators/christmas.dm + +

+ + +
/datum/decorator/christmas/foodReplaces marine food dispensers contents with more festive MREs
+ + + diff --git a/code/modules/decorators/halloween.html b/code/modules/decorators/halloween.html new file mode 100644 index 000000000000..cfcaf9947284 --- /dev/null +++ b/code/modules/decorators/halloween.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/decorators/halloween.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/decorators/halloween.dm + +

+ + + +
/datum/decorator/halloween/cobwebsCobweb decorator: adds more and more cobwebs as you go through the month
/datum/decorator/halloween/cobwebs/shipShip specific cobweb decorator
+ + + diff --git a/code/modules/defenses/sentry_computer.html b/code/modules/defenses/sentry_computer.html new file mode 100644 index 000000000000..4ed37b181af8 --- /dev/null +++ b/code/modules/defenses/sentry_computer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/defenses/sentry_computer.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/defenses/sentry_computer.dm + +

+ + +
/obj/item/device/sentry_computerSentry gun computer which links to defensive structures.
+ + + diff --git a/code/modules/discord/discord_embed.html b/code/modules/discord/discord_embed.html new file mode 100644 index 000000000000..9c4ca2094c71 --- /dev/null +++ b/code/modules/discord/discord_embed.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/discord/discord_embed.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/discord/discord_embed.dm + +

+ + +
/datum/discord_embedDocumentation for the embed object and all of its variables can be found at +https://discord.com/developers/docs/resources/channel#embed-object +It is recommended to read the documentation on the discord website, as the information below could become outdated in the future.
+ + + diff --git a/code/modules/dropships/attach_points/attach_point.html b/code/modules/dropships/attach_points/attach_point.html new file mode 100644 index 000000000000..36dbf5b6d8f9 --- /dev/null +++ b/code/modules/dropships/attach_points/attach_point.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/dropships/attach_points/attach_point.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/dropships/attach_points/attach_point.dm + +

+ + + +
/obj/effect/attach_pointThe bases onto which you attach dropship equipments.
/obj/effect/attach_point/weaponWeapon specific attachment point
+ + + diff --git a/code/modules/dropships/cas/fire_mission_record.html b/code/modules/dropships/cas/fire_mission_record.html new file mode 100644 index 000000000000..4f75647ef68b --- /dev/null +++ b/code/modules/dropships/cas/fire_mission_record.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/dropships/cas/fire_mission_record.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/dropships/cas/fire_mission_record.dm + +

+ + +
/datum/cas_fire_mission_recordDefines firing patterns in Fire Missions, transverse to its firing direction
+ + + diff --git a/code/modules/escape_menu/details.html b/code/modules/escape_menu/details.html new file mode 100644 index 000000000000..2e2d8e8dd2da --- /dev/null +++ b/code/modules/escape_menu/details.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/escape_menu/details.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/escape_menu/details.dm + +

+ + + +
/proc/give_escape_menu_detailsProvides a singleton for the escape menu details screen.
+ + + diff --git a/code/modules/escape_menu/subsystem.html b/code/modules/escape_menu/subsystem.html new file mode 100644 index 000000000000..7de6d69bded3 --- /dev/null +++ b/code/modules/escape_menu/subsystem.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/escape_menu/subsystem.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/escape_menu/subsystem.dm + +

+ + + +
/var/SSescape_menuSubsystem for controlling anything related to the escape menu
+ + + diff --git a/code/modules/escape_menu/title.html b/code/modules/escape_menu/title.html new file mode 100644 index 000000000000..08d3f7161bcd --- /dev/null +++ b/code/modules/escape_menu/title.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/escape_menu/title.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/escape_menu/title.dm + +

+ + + +
/proc/give_escape_menu_titleProvides a singleton for the escape menu details screen.
+ + + diff --git a/code/modules/events/_events.html b/code/modules/events/_events.html new file mode 100644 index 000000000000..adda6c6ce6af --- /dev/null +++ b/code/modules/events/_events.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/_events.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/events/_events.dm + +

+ + +
/datum/round_event_controlthis datum is used by the events controller to dictate how it selects events
+ + + diff --git a/code/modules/flufftext/Chinese.html b/code/modules/flufftext/Chinese.html new file mode 100644 index 000000000000..7bdd3adf4a3c --- /dev/null +++ b/code/modules/flufftext/Chinese.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/flufftext/Chinese.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/modules/flufftext/Chinese.dm + +

+ + +
CHINESE_SOUND_ZERO_INITIAL_CHANCEHow likely the syllable is not to have a consonant at the start, needs to be kinda high

Define Details

+

CHINESE_SOUND_ZERO_INITIAL_CHANCE + + +

+

How likely the syllable is not to have a consonant at the start, needs to be kinda high

+ + + diff --git a/code/modules/flufftext/Japanese.html b/code/modules/flufftext/Japanese.html new file mode 100644 index 000000000000..37cff200299e --- /dev/null +++ b/code/modules/flufftext/Japanese.html @@ -0,0 +1,67 @@ + + + + + + + code/modules/flufftext/Japanese.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/modules/flufftext/Japanese.dm + +

+ + + + + + + + + + + + + +
JAPANESE_SOUND_GEMINATION_CHANCE_NUCLEUSHow likely the nucleus (vowel) is to geminate ie a -> aa
JAPANESE_SOUND_GEMINATION_CHANCE_INITIALHow likely the initial (consonant) is to geminate ie k -> kk
JAPANESE_SOUND_PALATALISATION_CHANCEHow likely the consonant is to palatalise ie r -> ry
JAPANESE_SOUND_NULL_INITIAL_CHANCEHow likely the syllable is not to have a consonant at the start, needs to be kinda high for convincing diphthongs
JAPANESE_SOUND_N_FINAL_CHANCEHow likely the syllable is to end in an N
JAPANESE_SOUND_APOSTROPHE_CHANCEHow likely it is to insert an apostrophe between two syllables (this can happen anywhere, mainly used for morpheme boundaries.)
JAPANESE_SOUND_GEMINATION_CHANCE_VOICEDhow likely voiced sounds are to geminate, these mainly occur in foreign loans so quite unlikely
/datum/japanese_syllableholds the syllable's sound itself and information such as if it has a null initial or final_syllable
/datum/japanese_sounda generic sound
/datum/japanese_sound/initialan initial sound aka a consonant, contains a lot of data about stuff that only consonants can be
/datum/japanese_sound/nucleusa nucleus, aka a vowel sound
/datum/japanese_sound/final_syllablea final_syllable sound, not used for much since the only one possible is N.

Define Details

+

JAPANESE_SOUND_APOSTROPHE_CHANCE + + +

+

How likely it is to insert an apostrophe between two syllables (this can happen anywhere, mainly used for morpheme boundaries.)

JAPANESE_SOUND_GEMINATION_CHANCE_INITIAL + + +

+

How likely the initial (consonant) is to geminate ie k -> kk

JAPANESE_SOUND_GEMINATION_CHANCE_NUCLEUS + + +

+

How likely the nucleus (vowel) is to geminate ie a -> aa

JAPANESE_SOUND_GEMINATION_CHANCE_VOICED + + +

+

how likely voiced sounds are to geminate, these mainly occur in foreign loans so quite unlikely

JAPANESE_SOUND_NULL_INITIAL_CHANCE + + +

+

How likely the syllable is not to have a consonant at the start, needs to be kinda high for convincing diphthongs

JAPANESE_SOUND_N_FINAL_CHANCE + + +

+

How likely the syllable is to end in an N

JAPANESE_SOUND_PALATALISATION_CHANCE + + +

+

How likely the consonant is to palatalise ie r -> ry

+ + + diff --git a/code/modules/gear_presets/corpses.html b/code/modules/gear_presets/corpses.html new file mode 100644 index 000000000000..c0a727ffd791 --- /dev/null +++ b/code/modules/gear_presets/corpses.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/gear_presets/corpses.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/gear_presets/corpses.dm + +

+ + + +
/datum/equipment_preset/corpse/bridgeofficerOfficers
/datum/equipment_preset/corpse/colonistActually specific colonists
+ + + diff --git a/code/modules/gear_presets/forcon_survivors.html b/code/modules/gear_presets/forcon_survivors.html new file mode 100644 index 000000000000..989b11792d6a --- /dev/null +++ b/code/modules/gear_presets/forcon_survivors.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/gear_presets/forcon_survivors.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/gear_presets/forcon_survivors.dm + +

+ + + + + + +
/datum/equipment_preset/survivor/foreconLV-522 Force Recon Survivors**************************
/datum/equipment_preset/survivor/forecon/tech
/datum/equipment_preset/survivor/forecon/marksman
/datum/equipment_preset/survivor/forecon/smartgunner
/datum/equipment_preset/survivor/forecon/grenadier
+ + + diff --git a/code/modules/keybindings.html b/code/modules/keybindings.html new file mode 100644 index 000000000000..2d9a3c2048c0 --- /dev/null +++ b/code/modules/keybindings.html @@ -0,0 +1,60 @@ + + + + + + + code/modules/keybindings/readme.md - byond + + +
+ byond - + Modules - + Types +
+
+

In-code keypress handling system + +

+ + +

This whole system is heavily based off of forum_account's keyboard library. +Thanks to forum_account for saving the day, the library can be found +here!

+

.dmf macros have some very serious shortcomings. For example, they do not allow reusing parts +of one macro in another, so giving cyborgs their own shortcuts to swap active module couldn't +inherit the movement that all mobs should have anyways. The webclient only supports one macro, +so having more than one was problematic. Additionally each keybind has to call an actual +verb, which meant a lot of hidden verbs that just call one other proc. Also our existing +macro was really bad and tied unrelated behavior into Northeast(), Southeast(), Northwest(), +and Southwest().

+

The basic premise of this system is to not screw with .dmf macro setup at all and handle +pressing those keys in the code instead. We have every key call client.keyDown() +or client.keyUp() with the pressed key as an argument. Certain keys get processed +directly by the client because they should be doable at any time, then we call +keyDown() or keyUp() on the client's holder and the client's mob's focus. +By default mob.focus is the mob itself, but you can set it to any datum to give control of a +client's keypresses to another object. This would be a good way to handle a menu or driving +a mech. You can also set it to null to disregard input from a certain user.

+

Movement is handled by having each client call client.keyLoop() every game tick. +As above, this calls holder and focus.keyLoop(). atom/movable/keyLoop() handles movement +Try to keep the calculations in this proc light. It runs every tick for every client after all!

+

You can also tell which keys are being held down now. Each client a list of keys pressed called +keys_held. Each entry is a key as a text string associated with the world.time when it was +pressed.

+

No client-set keybindings at this time, but it shouldn't be too hard if someone wants.

+

Notes about certain keys:

+
    +
  • Tab has client-sided behavior but acts normally
  • +
  • T, O, and M move focus to the input when pressed. This fires the keyUp macro right away.
  • +
  • \ needs to be escaped in the dmf so any usage is \\
  • +
+

You cannot TICK_CHECK or check world.tick_usage inside of procs called by key down and up +events. They happen outside of a byond tick and have no meaning there. Key looping +works correctly since it's part of a subsystem, not direct input.

+ + + diff --git a/code/modules/logging/log_category.html b/code/modules/logging/log_category.html new file mode 100644 index 000000000000..92cb3cfadca8 --- /dev/null +++ b/code/modules/logging/log_category.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/logging/log_category.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/logging/log_category.dm + +

+ + + +
/datum/log_categoryThe main datum that contains all log entries for a category
/datum/log_category/backup_category_not_foundBackup log category to catch attempts to log to a category that doesn't exist
+ + + diff --git a/code/modules/logging/log_holder.html b/code/modules/logging/log_holder.html new file mode 100644 index 000000000000..b4bfe4f6514c --- /dev/null +++ b/code/modules/logging/log_holder.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/logging/log_holder.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/logging/log_holder.dm + +

+ + +
/datum/log_holderMain datum to manage logging actions
+ + + diff --git a/code/modules/mapping.html b/code/modules/mapping.html new file mode 100644 index 000000000000..1e82f4259280 --- /dev/null +++ b/code/modules/mapping.html @@ -0,0 +1,79 @@ + + + + + + + code/modules/mapping/README.txt - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mapping/README.txt + +

+ + +
The code in this module originally evolved from dmm_suite and has since been
+specialized for SS13 and otherwise tweaked to fit /tg/station's needs.
+
+dmm_suite version 1.0
+	Released January 30th, 2011.
+
+NOTE: Map saving functionality removed
+
+defines the object /dmm_suite
+	- Provides the proc load_map()
+		- Loads the specified map file onto the specified z-level.
+	- provides the proc write_map()
+		- Returns a text string of the map in dmm format
+			ready for output to a file.
+	- provides the proc save_map()
+		- Returns a .dmm file if map is saved
+		- Returns FALSE if map fails to save
+
+The dmm_suite provides saving and loading of map files in BYOND's native DMM map
+format. It approximates the map saving and loading processes of the Dream Maker
+and Dream Seeker programs so as to allow editing, saving, and loading of maps at
+runtime.
+
+------------------------
+
+To save a map at runtime, create an instance of /dmm_suite, and then call
+write_map(), which accepts three arguments:
+	- A turf representing one corner of a three dimensional grid (Required).
+	- Another turf representing the other corner of the same grid (Required).
+	- Any, or a combination, of several bit flags (Optional, see documentation).
+
+The order in which the turfs are supplied does not matter, the /dmm_writer will
+determine the grid containing both, in much the same way as DM's block() function.
+write_map() will then return a string representing the saved map in dmm format;
+this string can then be saved to a file, or used for any other purose.
+
+------------------------
+
+To load a map at runtime, create an instance of /dmm_suite, and then call load_map(),
+which accepts two arguments:
+	- A .dmm file to load (Required).
+	- A number representing the z-level on which to start loading the map (Optional).
+
+The /dmm_suite will load the map file starting on the specified z-level. If no
+z-level	was specified, world.maxz will be increased so as to fit the map. Note
+that if you wish to load a map onto a z-level that already has objects on it,
+you will have to handle the removal of those objects. Otherwise the new map will
+simply load the new objects on top of the old ones.
+
+Also note that all type paths specified in the .dmm file must exist in the world's
+code, and that the /dmm_reader trusts that files to be loaded are in fact valid
+.dmm files. Errors in the .dmm format will cause runtime errors.
+
+ + + diff --git a/code/modules/mapping/preloader.html b/code/modules/mapping/preloader.html new file mode 100644 index 000000000000..4c0eb0c0ff1d --- /dev/null +++ b/code/modules/mapping/preloader.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mapping/preloader.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mapping/preloader.dm + +

+ + + + +
/datum/map_preloaderPreloader datum
/area/template_noopArea passthrough: do not instanciate a new area, reuse the current one
/turf/template_noopTurf passthrough: do not instanciate a new turf, reuse the current one
+ + + diff --git a/code/modules/mapping/reader.html b/code/modules/mapping/reader.html new file mode 100644 index 000000000000..34683a675f36 --- /dev/null +++ b/code/modules/mapping/reader.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mapping/reader.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mapping/reader.dm + +

+ + + +
/proc/load_mapShortcut function to parse a map and apply it to the world.
+ + + diff --git a/code/modules/mapping/verify.html b/code/modules/mapping/verify.html new file mode 100644 index 000000000000..096facccad95 --- /dev/null +++ b/code/modules/mapping/verify.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapping/verify.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mapping/verify.dm + +

+ + +
/datum/map_reportAn error report generated by [parsed_map/check_for_errors].
+ + + diff --git a/code/modules/maptext_alerts/text_blurbs.html b/code/modules/maptext_alerts/text_blurbs.html new file mode 100644 index 000000000000..a6f0415ae80c --- /dev/null +++ b/code/modules/maptext_alerts/text_blurbs.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/maptext_alerts/text_blurbs.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/maptext_alerts/text_blurbs.dm + +

+ + + + + + + +
/proc/show_location_blurbReads out a description of game time, game date, main ship and current area. Originally for displaying roundstart messages on a conventional SS13 server.
/proc/show_blurb_uscmShows operation start blurb to living marines. Slightly different for squad marines, pilots, and deploying ship crew/passengers. +exempt_ztraits = trait or list of traits of zlevels where any marines don't see the message, ex. marine faction survivors colonyside +shouldn't see the ship marines' drop message. Ex. ZTRAIT_GROUND by default. +unit = the unit the marines are from. FF, Dust Raiders etc. Military crew see this. +base = the base the marines are staging from. The ship, Whiskey Outpost etc. Noncombat crew see this.
/proc/show_blurb*Shows a ticker reading out the given text on a client's screen. +targets = mob or list of mobs to show it to.
+ + + diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.html b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.html new file mode 100644 index 000000000000..bb8d8415f45d --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm + +

+ + +
/datum/action/xeno_action/activable/boiler_trapTrapper boiler abilities
+ + + diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.html b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.html new file mode 100644 index 000000000000..1ad6feee9e09 --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm + +

+ + +
/datum/action/xeno_action/onclick/plant_weedsAbilities used by multiple Xenos. +README
+ + + diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.html b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.html new file mode 100644 index 000000000000..4c19319ea7c7 --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm + +

+ + + + + + +
/datum/action/xeno_action/activable/pierceAbilities PRIMARILY used by Praetorian. +////// VANGUARD ABILITIES
/datum/action/xeno_action/activable/tail_stab/tail_seizeOppressor powers
/datum/action/xeno_action/activable/prae_impaleDancer Abilities
/datum/action/xeno_action/activable/pounce/base_prae_dashBASE PRAE
/datum/action/xeno_action/activable/spray_acid/prae_wardenWARDEN PRAE
+ + + diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.html b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.html new file mode 100644 index 000000000000..881a37ff71f5 --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm + +

+ + + +
/datum/action/xeno_action/onclick/apprehendBERSERKER ACTIONS
/datum/action/xeno_action/onclick/spike_shieldHEDGEHOG ABILITIES
+ + + diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.html b/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.html new file mode 100644 index 000000000000..e02c0c47a462 --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm + +

+ + +
/datum/behavior_delegate/drone_healerTiny xenos (Larva and Facehuggers), don't need as much health so don't cost as much.
+ + + diff --git a/code/modules/mob/living/carbon/xenomorph/update_icons.html b/code/modules/mob/living/carbon/xenomorph/update_icons.html new file mode 100644 index 000000000000..ed81c3da6fc2 --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/update_icons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/xenomorph/update_icons.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mob/living/carbon/xenomorph/update_icons.dm + +

+ + +
/atom/movable/vis_objUsed to display the xeno wounds/backpacks without rapidly switching overlays
+ + + diff --git a/code/modules/mob/living/living_healthscan.html b/code/modules/mob/living/living_healthscan.html new file mode 100644 index 000000000000..830f8ab78147 --- /dev/null +++ b/code/modules/mob/living/living_healthscan.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/living_healthscan.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mob/living/living_healthscan.dm + +

+ + +
/datum/health_scanvars reffing this on /mob/dead/observer, /obj/item/device/healthanalyzer, /obj/structure/machinery/cm_vending/sorted/medical, /obj/structure/machinery/body_scanconsole are called last_health_display
+ + + diff --git a/code/modules/mob/mob_helpers.html b/code/modules/mob/mob_helpers.html new file mode 100644 index 000000000000..b3ae7c02bf97 --- /dev/null +++ b/code/modules/mob/mob_helpers.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/mob_helpers.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/mob/mob_helpers.dm + +

+ + + +
/proc/lisp_replaceReplaces S and similar sounds with 'th' and such. Stolen from tg.
+ + + diff --git a/code/modules/nightmare/nmcontext.html b/code/modules/nightmare/nmcontext.html new file mode 100644 index 000000000000..331e17c9f504 --- /dev/null +++ b/code/modules/nightmare/nmcontext.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/nightmare/nmcontext.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/nightmare/nmcontext.dm + +

+ + + +
/datum/nmcontextContext within which we resolve nightmare actions
/datum/nmcontext/mapContext belonging to a map scope (ground map, ship map, etc)
+ + + diff --git a/code/modules/nightmare/nmnodes/components.html b/code/modules/nightmare/nmnodes/components.html new file mode 100644 index 000000000000..495fc25bbb36 --- /dev/null +++ b/code/modules/nightmare/nmnodes/components.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/nightmare/nmnodes/components.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/nightmare/nmnodes/components.dm + +

+ + + +
/datum/component/nmnode_condApplies to a /datum/nmnode to enforce scenario constraints
/datum/element/nmnode_probAdds a probability to skip the node
+ + + diff --git a/code/modules/nightmare/nmnodes/flow.html b/code/modules/nightmare/nmnodes/flow.html new file mode 100644 index 000000000000..4443bc18551a --- /dev/null +++ b/code/modules/nightmare/nmnodes/flow.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/nightmare/nmnodes/flow.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/nightmare/nmnodes/flow.dm + +

+ + + + +
/datum/nmnode/branchHolding node for several child nodes
/datum/nmnode/branch/includeSame as branch, but load node data from another included file
/datum/nmnode/pickerSame as branch, but selects a subset of the given nodes +amount: how many items to pick +choices: nested nodes to pick from +each node should have a 'weight' key if you want to use weighted pick
+ + + diff --git a/code/modules/nightmare/nmnodes/mapload.html b/code/modules/nightmare/nmnodes/mapload.html new file mode 100644 index 000000000000..e920589821f6 --- /dev/null +++ b/code/modules/nightmare/nmnodes/mapload.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/nightmare/nmnodes/mapload.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/nightmare/nmnodes/mapload.dm + +

+ + + + + +
/datum/nmnode/maploadAbstract config node designating a map insertion
/datum/nmnode/mapload/landmarkDesignates insert of a given map file at a specified landmark
/datum/nmnode/mapload/variationsInserts a map file among a set of variations in a folder +param: path: some/folder/, landmark +files within should be named with a prefix indicating weighting: +some/folder/20.destroyed.dmm +some/folder/50.spaced.dmm +using + instead of dot means to keep map contents, eg. +some/folder/20+extras.dmm is added on top
/datum/nmnode/mapload/sprinklesSimilar to variations mode, but rolls all files individually rather +than picking one, using name for landmark. The prefix number is used +as a percentage chance. You can add extra text with an underscore.
+ + + diff --git a/code/modules/nightmare/nmnodes/nmnode.html b/code/modules/nightmare/nmnodes/nmnode.html new file mode 100644 index 000000000000..95227c4fae29 --- /dev/null +++ b/code/modules/nightmare/nmnodes/nmnode.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/nightmare/nmnodes/nmnode.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/nightmare/nmnodes/nmnode.dm + +

+ + +
/datum/nmnodeDecriptive nightmare config nodes loaded from config files
+ + + diff --git a/code/modules/nightmare/nmtasks/mapload.html b/code/modules/nightmare/nmtasks/mapload.html new file mode 100644 index 000000000000..40d83a22d36c --- /dev/null +++ b/code/modules/nightmare/nmtasks/mapload.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/nightmare/nmtasks/mapload.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/nightmare/nmtasks/mapload.dm + +

+ + +
/datum/nmtask/maploadLoads a chunk of map at the specified position
+ + + diff --git a/code/modules/nightmare/nmtasks/mapscheduler.html b/code/modules/nightmare/nmtasks/mapscheduler.html new file mode 100644 index 000000000000..11bab3050edb --- /dev/null +++ b/code/modules/nightmare/nmtasks/mapscheduler.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/nightmare/nmtasks/mapscheduler.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/nightmare/nmtasks/mapscheduler.dm + +

+ + +
/datum/nmtask/scheduler/maploadHandles map insertions sequentially and updating the game to match map insertions
+ + + diff --git a/code/modules/nightmare/nmtasks/nmtask.html b/code/modules/nightmare/nmtasks/nmtask.html new file mode 100644 index 000000000000..f78ba0e6b8e4 --- /dev/null +++ b/code/modules/nightmare/nmtasks/nmtask.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/nightmare/nmtasks/nmtask.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/nightmare/nmtasks/nmtask.dm + +

+ + +
/datum/nmtaskNightmare task, executing game actions as part of context
+ + + diff --git a/code/modules/nightmare/nmtasks/scheduler.html b/code/modules/nightmare/nmtasks/scheduler.html new file mode 100644 index 000000000000..3ac8626188fb --- /dev/null +++ b/code/modules/nightmare/nmtasks/scheduler.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/nightmare/nmtasks/scheduler.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/nightmare/nmtasks/scheduler.dm + +

+ + +
/datum/nmtask/schedulerSimple blocking executor to execute several tasks in a row
+ + + diff --git a/code/modules/power/apc.html b/code/modules/power/apc.html new file mode 100644 index 000000000000..3a08a9a6a884 --- /dev/null +++ b/code/modules/power/apc.html @@ -0,0 +1,42 @@ + + + + + + + code/modules/power/apc.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/modules/power/apc.dm + +

+ + + + +
APC_NOT_CHARGINGThe APC is not charging.
APC_CHARGINGThe APC is charging.
APC_FULLY_CHARGEDThe APC is fully charged.

Define Details

+

APC_CHARGING + + +

+

The APC is charging.

APC_FULLY_CHARGED + + +

+

The APC is fully charged.

APC_NOT_CHARGING + + +

+

The APC is not charging.

+ + + diff --git a/code/modules/projectiles/magazines/revolvers.html b/code/modules/projectiles/magazines/revolvers.html new file mode 100644 index 000000000000..fed8c8f3ac2b --- /dev/null +++ b/code/modules/projectiles/magazines/revolvers.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/projectiles/magazines/revolvers.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/projectiles/magazines/revolvers.dm + +

+ + + + +
/obj/item/ammo_magazine/revolver/pkdCOLONY REVOLVERS
/obj/item/ammo_magazine/revolver/matebaMATEBA REVOLVER
/obj/item/ammo_magazine/revolver/webleyWEBLEY REVOLVER
+ + + diff --git a/code/modules/reagents/chemical_research/generated_reagents.html b/code/modules/reagents/chemical_research/generated_reagents.html new file mode 100644 index 000000000000..aa3ecdb67130 --- /dev/null +++ b/code/modules/reagents/chemical_research/generated_reagents.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/reagents/chemical_research/generated_reagents.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/reagents/chemical_research/generated_reagents.dm + +

+ + + + + +
/datum/chemical_reaction/generated/alphaTier 1
/datum/chemical_reaction/generated/zetaTier 2
/datum/chemical_reaction/generated/iotaTier 3
/datum/chemical_reaction/generated/lambdaTier 4
+ + + diff --git a/code/modules/reagents/chemistry_reactions/food_drink.html b/code/modules/reagents/chemistry_reactions/food_drink.html new file mode 100644 index 000000000000..1d8422617f83 --- /dev/null +++ b/code/modules/reagents/chemistry_reactions/food_drink.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry_reactions/food_drink.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/reagents/chemistry_reactions/food_drink.dm + +

+ + +
/datum/chemical_reaction/sbitenDRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri
+ + + diff --git a/code/modules/reagents/chemistry_reagents/medical.html b/code/modules/reagents/chemistry_reagents/medical.html new file mode 100644 index 000000000000..9a2830f50e5d --- /dev/null +++ b/code/modules/reagents/chemistry_reagents/medical.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry_reagents/medical.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/reagents/chemistry_reagents/medical.dm + +

+ + +
/datum/reagent/medical/antidepressant/methylphenidateANTIDEPRESSANTS
+ + + diff --git a/code/modules/recycling/disposal.html b/code/modules/recycling/disposal.html new file mode 100644 index 000000000000..a17cc07cd650 --- /dev/null +++ b/code/modules/recycling/disposal.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/recycling/disposal.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/recycling/disposal.dm + +

+ + +
/obj/structure/disposalholderVirtual disposal object, travels through pipes in lieu of actual items +Contents will be items flushed by the disposal, this allows the gas flushed to be tracked
+ + + diff --git a/code/modules/shuttle/helpers.html b/code/modules/shuttle/helpers.html new file mode 100644 index 000000000000..7e73e9e6cf71 --- /dev/null +++ b/code/modules/shuttle/helpers.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/shuttle/helpers.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/shuttle/helpers.dm + +

+ + + +
/datum/door_controller/aggregateDatum containing methods to allow for the control over multiple door groups.
/datum/door_controller/singleDatum containing methods to allow for the control over a single door group.
+ + + diff --git a/code/modules/shuttle/lifeboats.html b/code/modules/shuttle/lifeboats.html new file mode 100644 index 000000000000..5855c62350c7 --- /dev/null +++ b/code/modules/shuttle/lifeboats.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/shuttle/lifeboats.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/shuttle/lifeboats.dm + +

+ + + + + + + + + +
/obj/docking_port/mobile/lifeboatGeneric Lifeboat definition
/obj/docking_port/mobile/lifeboat/portPort Aft Lifeboat (bottom-right, doors on its left side)
/obj/docking_port/mobile/lifeboat/starboardStarboard Aft Lifeboat (top-right, doors its right side)
/obj/docking_port/stationary/lifeboat_dockGeneric lifeboat dock
/obj/docking_port/stationary/lifeboat_dock/portPort Aft Lifeboat default dock
/obj/docking_port/stationary/lifeboat_dock/starboardPort Aft Lifeboat default dock
/datum/map_template/shuttle/lifeboat_portPort-door lifeboat, bow east
/datum/map_template/shuttle/lifeboat_starboardStarboard-door lifeboat, bow east
+ + + diff --git a/code/modules/shuttle/shuttles.html b/code/modules/shuttle/shuttles.html new file mode 100644 index 000000000000..4f8724ec84c1 --- /dev/null +++ b/code/modules/shuttle/shuttles.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/shuttle/shuttles.md - byond + + +
+ byond - + Modules - + Types +
+
+

Shuttle Module + +

+ + +

Heres some notes which help understand what is going on.

+

A shuttle is split into two docking ports: a mobile one, which is the shuttle itself, and the stationary one - where the shuttle can come to a rest.

+

The map template /datum/map_template/shuttle/ert1 - give it a unique name and the shuttle_id parameter is the map name you are using for the shuttle.

+

The map template shuttle_id points to the file in folder maps\shuttles. It also refers to the id variable in the mobile docking port. The best way to resolve this is using a define in code\__DEFINES\shuttles.dm.

+

Shuttle map templates

+

Shuttle map templates are used to define what the shuttle should look like.

+

Shuttle dimensions

+

When defining the shuttle dimensions, define the height/width as if it was orienting north. The subsystem will properly line everything up, this allows for stationary docks to be in different orientations to their defined map template.

+

A shuttle has a height, width, dheight and dwidth. The height and width is the size of the shuttle, with respect to its direction. If the template direction is North/South then width is your X coordinate and height is your Y. If the template direction is East/West then width is your Y direction and height is your X. On stationary docking ports, you can specify dwidth and dheight (auto generated for mobile), these are offsets for how your shuttle should land on the site. When a mobile port lands on a stationary port it wants to place the bottom left of the shuttle turfs on the stationary port. The dwidth/dheight allows you to offset this.

+ + + diff --git a/code/modules/surgery/surgery_initiator.html b/code/modules/surgery/surgery_initiator.html new file mode 100644 index 000000000000..725a8519cec8 --- /dev/null +++ b/code/modules/surgery/surgery_initiator.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/surgery/surgery_initiator.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/surgery/surgery_initiator.dm + +

+ + + +
/proc/initiate_surgery_momentDoes the surgery initiation. Returns TRUE if the triggering attack should be halted.
+ + + diff --git a/code/modules/surgery/surgery_procedure.html b/code/modules/surgery/surgery_procedure.html new file mode 100644 index 000000000000..58545dd20684 --- /dev/null +++ b/code/modules/surgery/surgery_procedure.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/surgery/surgery_procedure.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/surgery/surgery_procedure.dm + +

+ + +
/datum/surgeryBase surgery datum and procs. There is an important distinction between surgery datums and surgery steps. +The surgery is a separate instance for each individual operation; the steps are shared globally. +datum/surgery and datum/surgery_step are intertwined. The surgery calls the step which modifies the surgery. +Defines are in __DEFINES/human.dm and __DEFINES/surgery.dm.
+ + + diff --git a/code/modules/tents/blockers.html b/code/modules/tents/blockers.html new file mode 100644 index 000000000000..7e14cf86de53 --- /dev/null +++ b/code/modules/tents/blockers.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/tents/blockers.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tents/blockers.dm + +

+ + +
/obj/structure/blocker/tentInvisible Blocker Walls, they link up with the main tent and collapse with it
+ + + diff --git a/code/modules/tents/deployed_tents.html b/code/modules/tents/deployed_tents.html new file mode 100644 index 000000000000..f82bbad933a4 --- /dev/null +++ b/code/modules/tents/deployed_tents.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tents/deployed_tents.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tents/deployed_tents.dm + +

+ + + + + +
/obj/structure/tentStructures serving as landmarks and providing a buff to its users. +A notable code feature is that they use a separate roof image that phases out when you enter the tent.
/obj/structure/tent/cmdCommand tent, providing basics for field command: a phone, and an overwatch console
/obj/structure/tent/medMedical tent, procures a buff to surgery speed
/obj/structure/tent/bigBig Tent. It's just Big. Use it for shelter or organization!
+ + + diff --git a/code/modules/tents/equipment.html b/code/modules/tents/equipment.html new file mode 100644 index 000000000000..d2a2409b5e27 --- /dev/null +++ b/code/modules/tents/equipment.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/tents/equipment.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tents/equipment.dm + +

+ + + + + + + +
/datum/component/tent_powered_machineComponent to handle power requirements following removal of the tent
/datum/component/tent_supported_objectComponent to handle destruction of objects following removal of the tent
/obj/structure/transmitter/tentTelephone
/obj/structure/machinery/computer/ordercomp/tentASRS request console
/obj/structure/machinery/cm_vending/sorted/medical/wall_med/tentNanoMED
/obj/structure/tent_curtainCloseable curtains
+ + + diff --git a/code/modules/tgchat/message.html b/code/modules/tgchat/message.html new file mode 100644 index 000000000000..dbf7999a96d1 --- /dev/null +++ b/code/modules/tgchat/message.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgchat/message.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgchat/message.dm + +

+ + + +
/proc/message_to_htmlMessage-related procs
+ + + diff --git a/code/modules/tgchat/to_chat.html b/code/modules/tgchat/to_chat.html new file mode 100644 index 000000000000..4ead70e7e228 --- /dev/null +++ b/code/modules/tgchat/to_chat.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgchat/to_chat.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgchat/to_chat.dm + +

+ + + + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/proc/to_chat_immediateCircumvents the message queue and sends the message +to the recipient (target) as soon as possible.
/proc/to_chatSends the message to the recipient (target).
+ + + diff --git a/code/modules/tgs.html b/code/modules/tgs.html new file mode 100644 index 000000000000..713d68ada04f --- /dev/null +++ b/code/modules/tgs.html @@ -0,0 +1,40 @@ + + + + + + + code/modules/tgs/README.md - byond + + +
+ byond - + Modules - + Types +
+
+

DMAPI Internals + +

+ + +

This folder should be placed on it's own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified.

+
    +
  • includes.dm is the file that should be included by DM code, it handles including the rest.
  • +
  • The core folder includes all code not directly part of any API version.
  • +
  • The other versioned folders contain code for the different DMAPI versions. +
      +
    • v3210 contains the final TGS3 API.
    • +
    • v4 is the legacy DMAPI 4 (Used in TGS 4.0.X versions).
    • +
    • v5 is the current DMAPI version used by TGS >=4.1.
    • +
    +
  • +
  • LICENSE is the MIT license for the DMAPI.
  • +
+

APIs communicate with TGS in two ways. All versions implement TGS -> DM communication using /world/Topic. DM -> TGS communication, called the bridge method, is different for each version.

+ + + diff --git a/code/modules/tgs/core.html b/code/modules/tgs/core.html new file mode 100644 index 000000000000..67a4b88f6f55 --- /dev/null +++ b/code/modules/tgs/core.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/tgs/core/README.md - byond + + +
+ byond - + Modules - + Types +
+
+

Core DMAPI functions + +

+ + +

This folder contains all DMAPI code not directly involved in an API.

+
    +
  • _definitions.dm contains defines needed across DMAPI internals.
  • +
  • core.dm contains the implementations of the /world/proc/TgsXXX() procs. Many map directly to the /datum/tgs_api functions. It also contains the /datum selection and setup code.
  • +
  • datum.dm contains the /datum/tgs_api declarations that all APIs must implement.
  • +
  • tgs_version.dm contains the /datum/tgs_version definition
  • +
  • +
+ + + diff --git a/code/modules/tgs/v3210.html b/code/modules/tgs/v3210.html new file mode 100644 index 000000000000..cfd075d393f8 --- /dev/null +++ b/code/modules/tgs/v3210.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgs/v3210/README.md - byond + + +
+ byond - + Modules - + Types +
+
+

DMAPI V3 + +

+ + +

This DMAPI implements bridge using file output which TGS monitors for.

+
    +
  • api.dm contains the bulk of the API code.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
+ + + diff --git a/code/modules/tgs/v4.html b/code/modules/tgs/v4.html new file mode 100644 index 000000000000..4ff3b0338b7e --- /dev/null +++ b/code/modules/tgs/v4.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgs/v4/README.md - byond + + +
+ byond - + Modules - + Types +
+
+

DMAPI V4 + +

+ + +

This DMAPI implements bridge requests using file output which TGS monitors for. It has a safe mode restriction.

+
    +
  • api.dm contains the bulk of the API code.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
+ + + diff --git a/code/modules/tgs/v5.html b/code/modules/tgs/v5.html new file mode 100644 index 000000000000..992a16feb617 --- /dev/null +++ b/code/modules/tgs/v5.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/tgs/v5/README.md - byond + + +
+ byond - + Modules - + Types +
+
+

DMAPI V5 + +

+ + +

This DMAPI implements bridge requests using HTTP GET requests to TGS. It has no security restrictions.

+
    +
  • __interop_version.dm contains the version of the API used between the DMAPI and TGS.
  • +
  • _defines.dm contains constant definitions.
  • +
  • api.dm contains the bulk of the API code.
  • +
  • bridge.dm contains functions related to making bridge requests.
  • +
  • chunking.dm contains common function for splitting large raw data sets into chunks BYOND can natively process.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
  • serializers.dm contains function to help convert interop /datums into a JSON encodable list() format.
  • +
  • topic.dm contains functions related to processing topic requests.
  • +
  • undefs.dm Undoes the work of _defines.dm.
  • +
+ + + diff --git a/code/modules/tgui/external.html b/code/modules/tgui/external.html new file mode 100644 index 000000000000..bec8eb3fcc1f --- /dev/null +++ b/code/modules/tgui/external.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgui/external.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/external.dm + +

+ + + + +

External tgui definitions, such as src_object APIs.

+

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/proc/tgui_TopicMiddleware for /client/Topic.
+ + + diff --git a/code/modules/tgui/states.html b/code/modules/tgui/states.html new file mode 100644 index 000000000000..aff075ec8605 --- /dev/null +++ b/code/modules/tgui/states.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui/states.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states.dm + +

+ + +

Base state and helpers for states. Just does some sanity checks, +implement a proper state for in-depth checks.

+

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/admin.html b/code/modules/tgui/states/admin.html new file mode 100644 index 000000000000..f2239b4cc154 --- /dev/null +++ b/code/modules/tgui/states/admin.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/admin.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/admin.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/always.html b/code/modules/tgui/states/always.html new file mode 100644 index 000000000000..51de9d2c8994 --- /dev/null +++ b/code/modules/tgui/states/always.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/always.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/always.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/conscious.html b/code/modules/tgui/states/conscious.html new file mode 100644 index 000000000000..bc576f940262 --- /dev/null +++ b/code/modules/tgui/states/conscious.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/conscious.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/conscious.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/contained.html b/code/modules/tgui/states/contained.html new file mode 100644 index 000000000000..fbaf0b4d5923 --- /dev/null +++ b/code/modules/tgui/states/contained.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/contained.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/contained.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/deep_inventory.html b/code/modules/tgui/states/deep_inventory.html new file mode 100644 index 000000000000..0c16cd48e256 --- /dev/null +++ b/code/modules/tgui/states/deep_inventory.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/deep_inventory.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/deep_inventory.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/default.html b/code/modules/tgui/states/default.html new file mode 100644 index 000000000000..b387986fc0e0 --- /dev/null +++ b/code/modules/tgui/states/default.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/default.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/default.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/hands.html b/code/modules/tgui/states/hands.html new file mode 100644 index 000000000000..105e6f482119 --- /dev/null +++ b/code/modules/tgui/states/hands.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/hands.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/hands.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/human_adjacent.html b/code/modules/tgui/states/human_adjacent.html new file mode 100644 index 000000000000..b2749c079a4b --- /dev/null +++ b/code/modules/tgui/states/human_adjacent.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/human_adjacent.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/human_adjacent.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/inventory.html b/code/modules/tgui/states/inventory.html new file mode 100644 index 000000000000..10490f9e814c --- /dev/null +++ b/code/modules/tgui/states/inventory.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/inventory.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/inventory.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/never.html b/code/modules/tgui/states/never.html new file mode 100644 index 000000000000..ef5f6ff04189 --- /dev/null +++ b/code/modules/tgui/states/never.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/never.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/never.dm + +

+ + +

Copyright (c) 2021 Arm A. Hammer +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/not_incapacitated.html b/code/modules/tgui/states/not_incapacitated.html new file mode 100644 index 000000000000..2470c27aaadb --- /dev/null +++ b/code/modules/tgui/states/not_incapacitated.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/not_incapacitated.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/not_incapacitated.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/not_incapacitated_and_inventory.html b/code/modules/tgui/states/not_incapacitated_and_inventory.html new file mode 100644 index 000000000000..3b39f706063a --- /dev/null +++ b/code/modules/tgui/states/not_incapacitated_and_inventory.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/not_incapacitated_and_inventory.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/not_incapacitated_and_inventory.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/notcontained.html b/code/modules/tgui/states/notcontained.html new file mode 100644 index 000000000000..990faeb3647e --- /dev/null +++ b/code/modules/tgui/states/notcontained.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/notcontained.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/notcontained.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/observer.html b/code/modules/tgui/states/observer.html new file mode 100644 index 000000000000..111041221908 --- /dev/null +++ b/code/modules/tgui/states/observer.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/observer.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/observer.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/physical.html b/code/modules/tgui/states/physical.html new file mode 100644 index 000000000000..73996bb82b5b --- /dev/null +++ b/code/modules/tgui/states/physical.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/physical.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/physical.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/reverse_contained.html b/code/modules/tgui/states/reverse_contained.html new file mode 100644 index 000000000000..3470454125ba --- /dev/null +++ b/code/modules/tgui/states/reverse_contained.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/tgui/states/reverse_contained.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/reverse_contained.dm + +

+ + +

Not copyrighted, but magatsuchi made it.

+ + + diff --git a/code/modules/tgui/states/self.html b/code/modules/tgui/states/self.html new file mode 100644 index 000000000000..23e5b3a1a83a --- /dev/null +++ b/code/modules/tgui/states/self.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/self.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/self.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/zlevel.html b/code/modules/tgui/states/zlevel.html new file mode 100644 index 000000000000..33a26e178a26 --- /dev/null +++ b/code/modules/tgui/states/zlevel.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/zlevel.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/states/zlevel.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/status_composers.html b/code/modules/tgui/status_composers.html new file mode 100644 index 000000000000..e1321ed8fffa --- /dev/null +++ b/code/modules/tgui/status_composers.html @@ -0,0 +1,49 @@ + + + + + + + code/modules/tgui/status_composers.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/status_composers.dm + +

+ + + + + + + + + + + + + + + +
/proc/default_ui_stateThe sane defaults for a UI such as a computer or a machine.
/proc/ui_status_user_is_adjacentReturns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.
/proc/ui_status_only_livingReturns a UI status such that the dead will be able to watch, but not interact.
/proc/ui_status_user_is_abledReturns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.
/proc/ui_status_user_is_advanced_tool_userReturns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.
/proc/ui_status_user_is_conscious_and_lying_downReturns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.
/proc/ui_status_user_strictly_adjacentReturn UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.
+ + + diff --git a/code/modules/tgui/tgui-say/modal.html b/code/modules/tgui/tgui-say/modal.html new file mode 100644 index 000000000000..208cfd954f7c --- /dev/null +++ b/code/modules/tgui/tgui-say/modal.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui/tgui-say/modal.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/tgui-say/modal.dm + +

+ + +
/datum/tgui_sayThe tgui say modal. This initializes an input window which hides until +the user presses one of the speech hotkeys. Once something is entered, it will +delegate the speech to the proper channel.
+ + + diff --git a/code/modules/tgui/tgui.html b/code/modules/tgui/tgui.html new file mode 100644 index 000000000000..a8181d18ace6 --- /dev/null +++ b/code/modules/tgui/tgui.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui/tgui.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/tgui.dm + +

+ + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/datum/tguitgui datum (represents a UI).
+ + + diff --git a/code/modules/tgui/tgui_alert.html b/code/modules/tgui/tgui_alert.html new file mode 100644 index 000000000000..ac2ea972e7ae --- /dev/null +++ b/code/modules/tgui/tgui_alert.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgui/tgui_alert.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/tgui_alert.dm + +

+ + + + + + + +
/proc/tgui_alertCreates a TGUI alert window and returns the user's response.
/proc/tgui_alert_asyncCreates an asynchronous TGUI alert window with an associated callback.
/datum/tgui_modalDatum used for instantiating and using a TGUI-controlled modal that prompts the user with +a message and has buttons for responses.
/datum/tgui_modal/asyncAn asynchronous version of tgui_modal to be used with callbacks instead of waiting on user responses.
+ + + diff --git a/code/modules/tgui/tgui_input_list.html b/code/modules/tgui/tgui_input_list.html new file mode 100644 index 000000000000..ab07fa5f8753 --- /dev/null +++ b/code/modules/tgui/tgui_input_list.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgui/tgui_input_list.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/tgui_input_list.dm + +

+ + + + + + + +
/proc/tgui_input_listCreates a TGUI input list window and returns the user's response.
/proc/tgui_input_list_asyncCreates an asynchronous TGUI input list window with an associated callback.
/datum/tgui_list_inputDatum used for instantiating and using a TGUI-controlled list input that prompts the user with +a message and shows a list of selectable options
/datum/tgui_list_input/asyncAn asynchronous version of tgui_list_input to be used with callbacks instead of waiting on user responses.
+ + + diff --git a/code/modules/tgui/tgui_number_input.html b/code/modules/tgui/tgui_number_input.html new file mode 100644 index 000000000000..6a241da59545 --- /dev/null +++ b/code/modules/tgui/tgui_number_input.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/tgui/tgui_number_input.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/tgui_number_input.dm + +

+ + + + + + + + + +
/proc/tgui_input_numberCreates a TGUI window with a number input. Returns the user's response as num | null.
/proc/tgui_input_real_numberA clone of tgui_input_number that defaults to accepting negative inputs too.
/proc/tgui_input_number_asyncCreates an asynchronous TGUI number input window with an associated callback.
/datum/tgui_input_numberDatum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.
/datum/tgui_input_number/asyncAn asynchronous version of tgui_input_number to be used with callbacks instead of waiting on user responses.
+ + + diff --git a/code/modules/tgui/tgui_window.html b/code/modules/tgui/tgui_window.html new file mode 100644 index 000000000000..046c6526df78 --- /dev/null +++ b/code/modules/tgui/tgui_window.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/tgui_window.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui/tgui_window.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui_input/text.html b/code/modules/tgui_input/text.html new file mode 100644 index 000000000000..ced4f0b5d7d1 --- /dev/null +++ b/code/modules/tgui_input/text.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui_input/text.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui_input/text.dm + +

+ + + + +
/proc/tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
/datum/tgui_input_texttgui_input_text
+ + + diff --git a/code/modules/tgui_panel/audio.html b/code/modules/tgui_panel/audio.html new file mode 100644 index 000000000000..f400e42d178a --- /dev/null +++ b/code/modules/tgui_panel/audio.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui_panel/audio.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui_panel/audio.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui_panel/external.html b/code/modules/tgui_panel/external.html new file mode 100644 index 000000000000..08dc205393e6 --- /dev/null +++ b/code/modules/tgui_panel/external.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui_panel/external.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui_panel/external.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui_panel/telemetry.html b/code/modules/tgui_panel/telemetry.html new file mode 100644 index 000000000000..3885b8395ac4 --- /dev/null +++ b/code/modules/tgui_panel/telemetry.html @@ -0,0 +1,41 @@ + + + + + + + code/modules/tgui_panel/telemetry.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/modules/tgui_panel/telemetry.dm + +

+ + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

TGUI_TELEMETRY_MAX_CONNECTIONSMaximum number of connection records allowed to analyze. +Should match the value set in the browser.
TGUI_TELEMETRY_RESPONSE_WINDOWMaximum time allocated for sending a telemetry packet.

Define Details

+

TGUI_TELEMETRY_MAX_CONNECTIONS + + +

+

Maximum number of connection records allowed to analyze. +Should match the value set in the browser.

TGUI_TELEMETRY_RESPONSE_WINDOW + + +

+

Maximum time allocated for sending a telemetry packet.

+ + + diff --git a/code/modules/tgui_panel/tgui_panel.html b/code/modules/tgui_panel/tgui_panel.html new file mode 100644 index 000000000000..e945cd431853 --- /dev/null +++ b/code/modules/tgui_panel/tgui_panel.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui_panel/tgui_panel.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/tgui_panel/tgui_panel.dm + +

+ + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/datum/tgui_paneltgui_panel datum +Hosts tgchat and other nice features.
+ + + diff --git a/code/modules/unit_tests.html b/code/modules/unit_tests.html new file mode 100644 index 000000000000..8fa821e3f1f8 --- /dev/null +++ b/code/modules/unit_tests.html @@ -0,0 +1,74 @@ + + + + + + + code/modules/unit_tests/README.md - byond + + +
+ byond - + Modules - + Types +
+
+

Unit Tests + +

+ + +

What is unit testing?

+

Unit tests are automated code to verify that parts of the game work exactly as they should. For example, a test to make sure that the amputation surgery actually amputates the limb. These are ran every time a PR is made, and thus are very helpful for preventing bugs from cropping up in your code that would've otherwise gone unnoticed. For example, would you have thought to check that beach boys would still work the same after editing pizza? If you value your time, probably not.

+

On their most basic level, when UNIT_TESTS is defined, all subtypes of /datum/unit_test will have their Run proc executed. From here, if Fail is called at any point, then the tests will report as failed.

+

How do I write one?

+
    +
  1. Find a relevant file.
  2. +
+

All unit test related code is in code/modules/unit_tests. If you are adding a new test for a surgery, for example, then you'd open surgeries.dm. If a relevant file does not exist, simply create one in this folder, then #include it in _unit_tests.dm.

+
    +
  1. Create the unit test.
  2. +
+

To make a new unit test, you simply need to define a /datum/unit_test.

+

For example, let's suppose that we are creating a test to make sure a proc square correctly raises inputs to the power of two. We'd start with first:

+
/datum/unit_test/square/Run()
+
+

This defines our new unit test, /datum/unit_test/square. Inside this function, we're then going to run through whatever we want to check. Tests provide a few assertion functions to make this easy. For now, we're going to use TEST_ASSERT_EQUAL.

+
/datum/unit_test/square/Run()
+    TEST_ASSERT_EQUAL(square(3), 9, "square(3) did not return 9")
+    TEST_ASSERT_EQUAL(square(4), 16, "square(4) did not return 16")
+
+

As you can hopefully tell, we're simply checking if the output of square matches the output we are expecting. If the test fails, it'll report the error message given as well as whatever the actual output was.

+
    +
  1. Run the unit test
  2. +
+

Open code/_compile_options.dm and uncomment the following line.

+
//#define UNIT_TESTS			//If this is uncommented, we do a single run though of the game setup and tear down process with unit tests in between
+
+

Then, run tgstation.dmb in Dream Daemon. Don't bother trying to connect, you won't need to. You'll be able to see the outputs of all the tests. You'll get to see which tests failed and for what reason. If they all pass, you're set!

+

How to think about tests

+

Unit tests exist to prevent bugs that would happen in a real game. Thus, they should attempt to emulate the game world wherever possible. For example, the quick swap sanity test emulates a real scenario of the bug it fixed occurring by creating a character and giving it real items. The unrecommended alternative would be to create special test-only items. This isn't a hard rule, the reagent method exposure tests create a test-only reagent for example, but do keep it in mind.

+

Unit tests should also be just that--testing units of code. For example, instead of having one massive test for reagents, there are instead several smaller tests for testing exposure, metabolization, etc.

+

The unit testing API

+

You can find more information about all of these from their respective doc comments, but for a brief overview:

+

/datum/unit_test - The base for all tests to be ran. Subtypes must override Run(). New() and Destroy() can be used for setup and teardown. To fail, use TEST_FAIL(reason).

+

/datum/unit_test/proc/allocate(type, ...) - Allocates an instance of the provided type with the given arguments. Is automatically destroyed when the test is over. Commonly seen in the form of var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human/consistent).

+

TEST_FAIL(reason) - Marks a failure at this location, but does not stop the test.

+

TEST_ASSERT(assertion, reason) - Stops the unit test and fails if the assertion is not met. For example: TEST_ASSERT(powered(), "Machine is not powered").

+

TEST_ASSERT_NOTNULL(a, message) - Same as TEST_ASSERT, but checks if !isnull(a). For example: TEST_ASSERT_NOTNULL(myatom, "My atom was never set!").

+

TEST_ASSERT_NULL(a, message) - Same as TEST_ASSERT, but checks if isnull(a). If not, gives a helpful message showing what a was. For example: TEST_ASSERT_NULL(delme, "Delme was never cleaned up!").

+

TEST_ASSERT_EQUAL(a, b, message) - Same as TEST_ASSERT, but checks if a == b. If not, gives a helpful message showing what both a and b were. For example: TEST_ASSERT_EQUAL(2 + 2, 4, "The universe is falling apart before our eyes!").

+

TEST_ASSERT_NOTEQUAL(a, b, message) - Same as TEST_ASSERT_EQUAL, but reversed.

+

TEST_FOCUS(test_path) - Only run the test provided within the parameters. Useful for reducing noise. For example, if we only want to run our example square test, we can add TEST_FOCUS(/datum/unit_test/square). Should never be pushed in a pull request--you will be laughed at.

+

Final Notes

+
    +
  • Writing tests before you attempt to fix the bug can actually speed up development a lot! It means you don't have to go in game and folllow the same exact steps manually every time. This process is known as "TDD" (test driven development). Write the test first, make sure it fails, then start work on the fix/feature, and you'll know you're done when your tests pass. If you do try this, do make sure to confirm in a non-testing environment just to double check.
  • +
  • Make sure that your tests don't accidentally call RNG functions like prob. Since RNG is seeded during tests, you may not realize you have until someone else makes a PR and the tests fail!
  • +
  • Do your best not to change the behavior of non-testing code during tests. While it may sometimes be necessary in the case of situations such as the above, it is still a slippery slope that can lead to the code you're testing being too different from the production environment to be useful.
  • +
+ + + diff --git a/code/modules/unit_tests/_unit_tests.html b/code/modules/unit_tests/_unit_tests.html new file mode 100644 index 000000000000..83b978f30931 --- /dev/null +++ b/code/modules/unit_tests/_unit_tests.html @@ -0,0 +1,121 @@ + + + + + + + code/modules/unit_tests/_unit_tests.dm - byond + + +
+ byond - + Modules - + Types + — Define Details
+
+

code/modules/unit_tests/_unit_tests.dm + +

+ + + + + + + + + + + + + + + +
TEST_FAILFor advanced cases, fail unconditionally but don't return (so a test can return multiple results)
TEST_ASSERTAsserts that a condition is true +If the condition is not true, fails the test
TEST_ASSERT_NOTNULLAsserts that a parameter is not null
TEST_ASSERT_NULLAsserts that a parameter is null
TEST_ASSERT_EQUALAsserts that the two parameters passed are equal, fails otherwise +Optionally allows an additional message in the case of a failure
TEST_ASSERT_NOTEQUALAsserts that the two parameters passed are not equal, fails otherwise +Optionally allows an additional message in the case of a failure
TEST_FOCUSOnly run the test provided within the parentheses +This is useful for debugging when you want to reduce noise, but should never be pushed +Intended to be used in the manner of TEST_FOCUS(/datum/unit_test/math)
TEST_NOTICELogs a noticable message on GitHub, but will not mark as an error. +Use this when something shouldn't happen and is of note, but shouldn't block CI. +Does not mark the test as failed.
UNIT_TEST_PASSEDConstants indicating unit test completion status
TEST_LONGERAfter most test steps, used for tests that run long so shorter issues can be noticed faster
TEST_CREATE_AND_DESTROYThis must be the last test to run due to the inherent nature of the test iterating every single tangible atom in the game and qdeleting all of them (while taking long sleeps to make sure the garbage collector fires properly) taking a large amount of time.
TEST_OUTPUT_REDChange color to red on ANSI terminal output, if enabled with -DANSICOLORS.
TEST_OUTPUT_GREENChange color to green on ANSI terminal output, if enabled with -DANSICOLORS.
TRAIT_SOURCE_UNIT_TESTSA trait source when adding traits through unit tests

Define Details

+

TEST_ASSERT + + + +

+

Asserts that a condition is true +If the condition is not true, fails the test

TEST_ASSERT_EQUAL + + + +

+

Asserts that the two parameters passed are equal, fails otherwise +Optionally allows an additional message in the case of a failure

TEST_ASSERT_NOTEQUAL + + + +

+

Asserts that the two parameters passed are not equal, fails otherwise +Optionally allows an additional message in the case of a failure

TEST_ASSERT_NOTNULL + + + +

+

Asserts that a parameter is not null

TEST_ASSERT_NULL + + + +

+

Asserts that a parameter is null

TEST_CREATE_AND_DESTROY + + +

+

This must be the last test to run due to the inherent nature of the test iterating every single tangible atom in the game and qdeleting all of them (while taking long sleeps to make sure the garbage collector fires properly) taking a large amount of time.

TEST_FAIL + + + +

+

For advanced cases, fail unconditionally but don't return (so a test can return multiple results)

TEST_FOCUS + + + +

+

Only run the test provided within the parentheses +This is useful for debugging when you want to reduce noise, but should never be pushed +Intended to be used in the manner of TEST_FOCUS(/datum/unit_test/math)

TEST_LONGER + + +

+

After most test steps, used for tests that run long so shorter issues can be noticed faster

TEST_NOTICE + + + +

+

Logs a noticable message on GitHub, but will not mark as an error. +Use this when something shouldn't happen and is of note, but shouldn't block CI. +Does not mark the test as failed.

TEST_OUTPUT_GREEN + + + +

+

Change color to green on ANSI terminal output, if enabled with -DANSICOLORS.

TEST_OUTPUT_RED + + + +

+

Change color to red on ANSI terminal output, if enabled with -DANSICOLORS.

TRAIT_SOURCE_UNIT_TESTS + + +

+

A trait source when adding traits through unit tests

UNIT_TEST_PASSED + + +

+

Constants indicating unit test completion status

+ + + diff --git a/code/modules/unit_tests/create_and_destroy.html b/code/modules/unit_tests/create_and_destroy.html new file mode 100644 index 000000000000..59e421df4ae7 --- /dev/null +++ b/code/modules/unit_tests/create_and_destroy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/create_and_destroy.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/unit_tests/create_and_destroy.dm + +

+ + +
/datum/unit_test/create_and_destroyDelete one of every type, sleep a while, then check to see if anything has gone fucky
+ + + diff --git a/code/modules/unit_tests/focus_only_tests.html b/code/modules/unit_tests/focus_only_tests.html new file mode 100644 index 000000000000..e89b4bf5d420 --- /dev/null +++ b/code/modules/unit_tests/focus_only_tests.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/unit_tests/focus_only_tests.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/unit_tests/focus_only_tests.dm + +

+ + + + + + + +
/datum/unit_test/focus_onlyThese tests perform no behavior of their own, and have their tests offloaded onto other procs. +This is useful in cases like in build_appearance_list where we want to know if any fail, +but is not useful to right a test for. +This file exists so that you can change any of these to TEST_FOCUS and only check for that test. +For example, change /datum/unit_test/focus_only/invalid_overlays to TEST_FOCUS(/datum/unit_test/focus_only/invalid_overlays), +and you will only test the check for invalid overlays in appearance building.
/datum/unit_test/focus_only/invalid_overlaysChecks that every overlay passed into build_appearance_list exists in the icon
/datum/unit_test/focus_only/invalid_research_designsChecks that every icon sent to the research_designs spritesheet is valid
/datum/unit_test/focus_only/invalid_vending_machine_icon_statesChecks that every icon sent to vending machines is valid
/datum/unit_test/focus_only/multiple_space_initializationChecks that space does not initialize multiple times
/datum/unit_test/focus_only/sorted_smoothing_groupsChecks that smoothing_groups and canSmoothWith are properly sorted in /atom/Initialize
+ + + diff --git a/code/modules/unit_tests/missing_icons.html b/code/modules/unit_tests/missing_icons.html new file mode 100644 index 000000000000..0e6290cf2ac4 --- /dev/null +++ b/code/modules/unit_tests/missing_icons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/missing_icons.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/unit_tests/missing_icons.dm + +

+ + +
/datum/unit_test/missing_iconsMakes sure objects actually have icons that exist!
+ + + diff --git a/code/modules/unit_tests/spritesheets.html b/code/modules/unit_tests/spritesheets.html new file mode 100644 index 000000000000..9b231972301a --- /dev/null +++ b/code/modules/unit_tests/spritesheets.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/spritesheets.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/unit_tests/spritesheets.dm + +

+ + +
/datum/unit_test/spritesheetsChecks if spritesheet assets contain icon states with invalid names
+ + + diff --git a/code/modules/unit_tests/subsystem_init.html b/code/modules/unit_tests/subsystem_init.html new file mode 100644 index 000000000000..e0c91d5c4b4b --- /dev/null +++ b/code/modules/unit_tests/subsystem_init.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/subsystem_init.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/unit_tests/subsystem_init.dm + +

+ + +
/datum/unit_test/subsystem_initTests that all subsystems that need to properly initialize.
+ + + diff --git a/code/modules/unit_tests/tgui_create_message.html b/code/modules/unit_tests/tgui_create_message.html new file mode 100644 index 000000000000..f3cc80e07ac8 --- /dev/null +++ b/code/modules/unit_tests/tgui_create_message.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/tgui_create_message.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/unit_tests/tgui_create_message.dm + +

+ + +
/datum/unit_test/tgui_create_messageTest that TGUI_CREATE_MESSAGE is correctly implemented
+ + + diff --git a/code/modules/vehicles/interior/interactable/vendors.html b/code/modules/vehicles/interior/interactable/vendors.html new file mode 100644 index 000000000000..60b2af423212 --- /dev/null +++ b/code/modules/vehicles/interior/interactable/vendors.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/interior/interactable/vendors.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/vehicles/interior/interactable/vendors.dm + +

+ + +
/obj/structure/machinery/cm_vending/sorted/vehicle_supply/tentModified Restockable APC-based vendor for use by Req in the deployable tent
+ + + diff --git a/code/modules/vehicles/interior/interior.html b/code/modules/vehicles/interior/interior.html new file mode 100644 index 000000000000..403947425394 --- /dev/null +++ b/code/modules/vehicles/interior/interior.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/interior/interior.dm - byond + + +
+ byond - + Modules - + Types +
+
+

code/modules/vehicles/interior/interior.dm + +

+ + +
/datum/role_reserved_slotsspecial role slots datum. Stores category name, roles, amount of taken slots and total slots.
+ + + diff --git a/datum.html b/datum.html new file mode 100644 index 000000000000..ab8a8c1292e0 --- /dev/null +++ b/datum.html @@ -0,0 +1,429 @@ + + + + + + + /datum - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum + + + +

+ +

The absolute base class for everything

+

A datum instantiated has no physical world prescence, use an atom if you want something +that actually lives in the world

+

Be very mindful about adding variables to this class, they are inherited by every single +thing in the entire game, and so you can easily cause memory usage to rise a lot with careless +use of variables at this level

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_timersActive timers with this datum as the target
cached_refA cached version of our \ref +The brunt of \ref costs are in creating entries in the string tree (a tree of immutable strings) +This avoids doing that more then once per datum by ensuring ref strings always have a reference to them after they're first pulled
comp_lookupAny datum registered to receive signals from this datum is in this list
datum_componentsComponents attached to this datum
datum_flagsDatum level flags
gc_destroyedTick count time when this object was destroyed.
signal_enabledIs this datum capable of sending signals?
signal_procsLazy associated list in the structure of signals:proctype that are run when the datum receives that signal
status_traitsStatus traits attached.
tgui_shared_statesglobal
weak_referenceA weak reference to another datum

Procs

DestroyDefault implementation of clean-up code.
GetComponentReturn any component assigned to this datum of the given type
GetComponentsGet all components of a given type that are attached to this datum
GetExactComponentReturn any component assigned to this datum of the exact given type
LoadComponentGet existing component of type, or create it and return a reference to it
RegisterSignalRegister to listen for a signal from the passed in target
TakeComponentTransfer this component to another parent
TransferComponentsTransfer all components to target
UnregisterSignalStop listening to a given signal from target
_AddComponentCreates an instance of new_type in the datum and attaches to it as parent
_AddElementFinds the singleton for the element type given and attaches it to src
_RemoveElementFinds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE
_SendSignalInternal proc to handle most all of the signaling procedure
p_theyNAMEOF that actually works in static definitions because src::type requires src to be defined
processThis proc is called on a datum on every "cycle" if it is being processed by a subsystem. The time between each cycle is determined by the subsystem's "wait" setting. +You can start and stop processing a datum using the START_PROCESSING and STOP_PROCESSING defines.
tgui_interactpublic
ui_actpublic
ui_assetspublic
ui_closepublic
ui_datapublic
ui_hostprivate
ui_stateprivate
ui_static_datapublic
ui_statuspublic
update_static_datapublic
update_static_data_for_all_viewerspublic
vv_edit_varCalled whenever a var is edited to edit the var, returning FALSE will reject the edit.
+

Var Details

active_timers + + + + +

+

Active timers with this datum as the target

cached_ref + + + + +

+

A cached version of our \ref +The brunt of \ref costs are in creating entries in the string tree (a tree of immutable strings) +This avoids doing that more then once per datum by ensuring ref strings always have a reference to them after they're first pulled

comp_lookup + + + + +

+

Any datum registered to receive signals from this datum is in this list

+

Lazy associated list in the structure of signal:registree/list of registrees

datum_components + + + + +

+

Components attached to this datum

+

Lazy associated list in the structure of type:component/list of components

datum_flags + + + + +

+

Datum level flags

gc_destroyed + + + + +

+

Tick count time when this object was destroyed.

+

If this is non zero then the object has been garbage collected and is awaiting either +a hard del by the GC subsystme, or to be autocollected (if it has no references)

signal_enabled + + + + +

+

Is this datum capable of sending signals?

+

Set to true when a signal has been registered

signal_procs + + + + +

+

Lazy associated list in the structure of signals:proctype that are run when the datum receives that signal

status_traits + + + + +

+

Status traits attached.

tgui_shared_states + + + + +

+

global

+

Associative list of JSON-encoded shared states that were set by +tgui clients.

weak_reference + + + + +

+

A weak reference to another datum

Proc Details

Destroy +

+

Default implementation of clean-up code.

+

This should be overridden to remove all references pointing to the object being destroyed, if +you do override it, make sure to call the parent and return it's return value by default

+

Return an appropriate QDEL_HINT to modify handling of your deletion; +in most cases this is QDEL_HINT_QUEUE.

+

The base case is responsible for doing the following

+ +

Returns QDEL_HINT_QUEUE

GetComponent +

+

Return any component assigned to this datum of the given type

+

This will throw an error if it's possible to have more than one component of that type on the parent

+

Arguments:

+

GetComponents +

+

Get all components of a given type that are attached to this datum

+

Arguments:

+

GetExactComponent +

+

Return any component assigned to this datum of the exact given type

+

This will throw an error if it's possible to have more than one component of that type on the parent

+

Arguments:

+

LoadComponent +

+

Get existing component of type, or create it and return a reference to it

+

Use this if the item needs to exist at the time of this call, but may not have been created before now

+

Arguments:

+

RegisterSignal +

+

Register to listen for a signal from the passed in target

+

This sets up a listening relationship such that when the target object emits a signal +the source datum this proc is called upon, will receive a callback to the given proctype +Return values from procs registered must be a bitfield

+

Arguments:

+

TakeComponent +

+

Transfer this component to another parent

+

Component is taken from source datum

+

Arguments:

+

TransferComponents +

+

Transfer all components to target

+

All components from source datum are taken

+

Arguments:

+

UnregisterSignal +

+

Stop listening to a given signal from target

+

Breaks the relationship between target and source datum, removing the callback when the signal fires

+

Doesn't care if a registration exists or not

+

Arguments:

+

_AddComponent +

+

Creates an instance of new_type in the datum and attaches to it as parent

+

Sends the COMSIG_COMPONENT_ADDED signal to the datum

+

Returns the component that was created. Or the old component in a dupe situation where COMPONENT_DUPE_UNIQUE was set

+

If this tries to add a component to an incompatible type, the component will be deleted and the result will be null. This is very unperformant, try not to do it

+

Properly handles duplicate situations based on the dupe_mode var

_AddElement +

+

Finds the singleton for the element type given and attaches it to src

_RemoveElement +

+

Finds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE

_SendSignal +

+

Internal proc to handle most all of the signaling procedure

+

Will runtime if used on datums with an empty component list

+

Use the SEND_SIGNAL define instead

p_they +

+

NAMEOF that actually works in static definitions because src::type requires src to be defined

process +

+

This proc is called on a datum on every "cycle" if it is being processed by a subsystem. The time between each cycle is determined by the subsystem's "wait" setting. +You can start and stop processing a datum using the START_PROCESSING and STOP_PROCESSING defines.

+

Since the wait setting of a subsystem can be changed at any time, it is important that any rate-of-change that you implement in this proc is multiplied by the delta_time that is sent as a parameter, +Additionally, any "prob" you use in this proc should instead use the DT_PROB define to make sure that the final probability per second stays the same even if the subsystem's wait is altered. +Examples where this must be considered:

+ +

If you override this do not call parent, as it will return PROCESS_KILL. This is done to prevent objects that dont override process() from staying in the processing list

tgui_interact +

+

public

+

Used to open and update UIs. +If this proc is not implemented properly, the UI will not update correctly.

+

required user mob The mob who opened/is using the UI. +optional ui datum/tgui The UI to be updated, if it exists.

ui_act +

+

public

+

Called on a UI when the UI receieves a href. +Think of this as Topic().

+

required action string The action/button that has been invoked by the user. +required params list A list of parameters attached to the button.

+

return bool If the user's input has been handled and the UI should update.

ui_assets +

+

public

+

Called on an object when a tgui object is being created, allowing you to +push various assets to tgui, for examples spritesheets.

+

return list List of asset datums or file paths.

ui_close +

+

public

+

Called on a UI's object when the UI is closed, not to be confused with +client/verb/uiclose(), which closes the ui window

ui_data +

+

public

+

Data to be sent to the UI. +This must be implemented for a UI to work.

+

required user mob The mob interacting with the UI.

+

return list Data to be sent to the UI.

ui_host +

+

private

+

The UI's host object (usually src_object). +This allows modules/datums to have the UI attached to them, +and be a part of another object.

ui_state +

+

private

+

The UI's state controller to be used for created uis +This is a proc over a var for memory reasons

ui_static_data +

+

public

+

Static Data to be sent to the UI.

+

Static data differs from normal data in that it's large data that should be +sent infrequently. This is implemented optionally for heavy uis that would +be sending a lot of redundant data frequently. Gets squished into one +object on the frontend side, but the static part is cached.

+

required user mob The mob interacting with the UI.

+

return list Statuic Data to be sent to the UI.

ui_status +

+

public

+

Checks the UI state for a mob.

+

required user mob The mob who opened/is using the UI. +required state datum/ui_state The state to check.

+

return UI_state The state of the UI.

update_static_data +

+

public

+

Forces an update on static data. Should be done manually whenever something +happens to change static data.

+

required user the mob currently interacting with the ui +optional ui ui to be updated

update_static_data_for_all_viewers +

+

public

+

Will force an update on static data for all viewers. +Should be done manually whenever something happens to +change static data.

vv_edit_var +

+

Called whenever a var is edited to edit the var, returning FALSE will reject the edit.

+ + + diff --git a/datum/action.html b/datum/action.html new file mode 100644 index 000000000000..d390500353ab --- /dev/null +++ b/datum/action.html @@ -0,0 +1,63 @@ + + + + + + + /datum/action - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Generic Action + + + +

+ + + + + +

Vars

hiddenWhether the action is hidden from its owner +Useful for when you want to preserve action state while preventing +a mob from using said action
listen_signalA signal on the mob that will cause the action to activate

Procs

give_toCannot use arglist for both cases because of +unique BYOND handling of args in New
keybind_activationhandler for when a keybind signal is received by the action, calls the action_activate proc asynchronous
+

Var Details

hidden + + + + +

+

Whether the action is hidden from its owner +Useful for when you want to preserve action state while preventing +a mob from using said action

listen_signal + + + + +

+

A signal on the mob that will cause the action to activate

Proc Details

give_to +

+

Cannot use arglist for both cases because of +unique BYOND handling of args in New

keybind_activation +

+

handler for when a keybind signal is received by the action, calls the action_activate proc asynchronous

+ + + diff --git a/datum/action/ghost.html b/datum/action/ghost.html new file mode 100644 index 000000000000..67289822b102 --- /dev/null +++ b/datum/action/ghost.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/ghost - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Ghost + + + +

+ + +

Procs

remove_ghostsignal handler to remove the ghost button when someone's not so dead

Proc Details

remove_ghost +

+

signal handler to remove the ghost button when someone's not so dead

+ + + diff --git a/datum/action/item_action/specialist/aimed_shot.html b/datum/action/item_action/specialist/aimed_shot.html new file mode 100644 index 000000000000..f127b3f606d6 --- /dev/null +++ b/datum/action/item_action/specialist/aimed_shot.html @@ -0,0 +1,37 @@ + + + + + + + /datum/action/item_action/specialist/aimed_shot - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/action/item_action/specialist/aimed_shot + + + +

+ + +

Procs

check_can_useAdd a decisecond to the default 1.5 seconds for each two tiles to hit. +/timer is (f_spotting_time + 1 SECONDS) because sometimes it janks out before the doafter is done. blame sleeps or something

Proc Details

check_can_use +

+

Add a decisecond to the default 1.5 seconds for each two tiles to hit. +/timer is (f_spotting_time + 1 SECONDS) because sometimes it janks out before the doafter is done. blame sleeps or something

+ + + diff --git a/datum/action/item_action/specialist/spotter_target.html b/datum/action/item_action/specialist/spotter_target.html new file mode 100644 index 000000000000..65d9a721d791 --- /dev/null +++ b/datum/action/item_action/specialist/spotter_target.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/item_action/specialist/spotter_target - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/action/item_action/specialist/spotter_target + + + +

+ + +

Procs

check_can_useAdd a decisecond to the default 1.5 seconds for each two tiles to hit.

Proc Details

check_can_use +

+

Add a decisecond to the default 1.5 seconds for each two tiles to hit.

+ + + diff --git a/datum/action/item_action/taser/change_mode.html b/datum/action/item_action/taser/change_mode.html new file mode 100644 index 000000000000..032af7960f4e --- /dev/null +++ b/datum/action/item_action/taser/change_mode.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/item_action/taser/change_mode - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/action/item_action/taser/change_mode + + + +

+ + +

Procs

update_iconUpdates the action button icon dependant on mode.

Proc Details

update_icon +

+

Updates the action button icon dependant on mode.

+ + + diff --git a/datum/action/minimap.html b/datum/action/minimap.html new file mode 100644 index 000000000000..133ecd193060 --- /dev/null +++ b/datum/action/minimap.html @@ -0,0 +1,71 @@ + + + + + + + /datum/action/minimap - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Toggle Minimap + + + +

+ +

Action that gives the owner access to the minimap pool

+ + + + + +

Vars

default_overwatch_levelThis is mostly for the AI & other things which do not move groundside.
mapMinimap object we'll be displaying
marker_flagsmarker flags this will give the target, mostly used for marine minimaps
minimap_displayedboolean as to whether the minimap is currently shown
minimap_flagsFlags to allow the owner to see others of this type

Procs

on_owner_z_changeUpdates the map when the owner changes zlevel
+

Var Details

default_overwatch_level + + + + +

+

This is mostly for the AI & other things which do not move groundside.

map + + + + +

+

Minimap object we'll be displaying

marker_flags + + + + +

+

marker flags this will give the target, mostly used for marine minimaps

minimap_displayed + + + + +

+

boolean as to whether the minimap is currently shown

minimap_flags + + + + +

+

Flags to allow the owner to see others of this type

Proc Details

on_owner_z_change +

+

Updates the map when the owner changes zlevel

+ + + diff --git a/datum/action/xeno_action.html b/datum/action/xeno_action.html new file mode 100644 index 000000000000..87bfff56dd4c --- /dev/null +++ b/datum/action/xeno_action.html @@ -0,0 +1,73 @@ + + + + + + + /datum/action/xeno_action - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/action/xeno_action + + + +

+ + + + + + + +

Vars

charge_timeWhen set, an ability has to be charged up by being the active ability before it can be used
xeno_cooldownCooldown of the ability (do not use the cooldown var) +Probably should only have the cooldown var, but that is for another rework

Procs

use_ability_wrapperA wrapper for use_ability that sends a signal
verb_acid_lanceName of the action to appear on the ability icon
verb_acid_mineName of the action to appear on the ability icon
verb_coerce_resinCheck if the target is a resin door and open or close it
+

Var Details

charge_time + + + + +

+

When set, an ability has to be charged up by being the active ability before it can be used

xeno_cooldown + + + + +

+

Cooldown of the ability (do not use the cooldown var) +Probably should only have the cooldown var, but that is for another rework

Proc Details

use_ability_wrapper +

+

A wrapper for use_ability that sends a signal

verb_acid_lance +

+

Name of the action to appear on the ability icon

verb_acid_mine +

+

Name of the action to appear on the ability icon

verb_coerce_resin +

+

Check if the target is a resin door and open or close it

+ + + diff --git a/datum/action/xeno_action/activable/boiler_trap.html b/datum/action/xeno_action/activable/boiler_trap.html new file mode 100644 index 000000000000..e734571dc6a0 --- /dev/null +++ b/datum/action/xeno_action/activable/boiler_trap.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/xeno_action/activable/boiler_trap - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Deploy Trap + + + +

+ +

Trapper boiler abilities

+ +

Vars

trap_ttlConfig

Procs

use_abilityTrapper boiler powers
+

Var Details

trap_ttl + + + + +

+

Config

Proc Details

use_ability +

+

Trapper boiler powers

+ + + diff --git a/datum/action/xeno_action/activable/fortify.html b/datum/action/xeno_action/activable/fortify.html new file mode 100644 index 000000000000..8daace4c0d75 --- /dev/null +++ b/datum/action/xeno_action/activable/fortify.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/xeno_action/activable/fortify - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Fortify + + + +

+ + + +

Vars

frontal_armorExtra armor when fortified and facing bullets.
steelcrest_frontal_armorExtra armor when steelcrest, fortified, and facing bullets.
+

Var Details

frontal_armor + + + + +

+

Extra armor when fortified and facing bullets.

steelcrest_frontal_armor + + + + +

+

Extra armor when steelcrest, fortified, and facing bullets.

+ + + diff --git a/datum/action/xeno_action/activable/pounce.html b/datum/action/xeno_action/activable/pounce.html new file mode 100644 index 000000000000..83149a26c14c --- /dev/null +++ b/datum/action/xeno_action/activable/pounce.html @@ -0,0 +1,65 @@ + + + + + + + /datum/action/xeno_action/activable/pounce - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Pounce + + + +

+ + + + + + +

Procs

additional_effectsAny additional effects to apply to the target +is called if and only if we actually hit a human target
additional_effects_alwaysAdditional effects to apply even if we don't hit anything
post_windup_effectsAny effects to apply to the xenomorph after the windup finishes (or is interrupted)
pre_pounce_effectsEffects to apply inmediately before pouncing.
pre_windup_effectsAny effects to apply to the xenomorph before the windup occurs

Proc Details

additional_effects +

+

Any additional effects to apply to the target +is called if and only if we actually hit a human target

additional_effects_always +

+

Additional effects to apply even if we don't hit anything

post_windup_effects +

+

Any effects to apply to the xenomorph after the windup finishes (or is interrupted)

pre_pounce_effects +

+

Effects to apply inmediately before pouncing.

pre_windup_effects +

+

Any effects to apply to the xenomorph before the windup occurs

+ + + diff --git a/datum/action/xeno_action/activable/prae_impale.html b/datum/action/xeno_action/activable/prae_impale.html new file mode 100644 index 000000000000..e83b65f9fb7e --- /dev/null +++ b/datum/action/xeno_action/activable/prae_impale.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/xeno_action/activable/prae_impale - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Impale + + + +

+ +

Dancer Abilities

+

Procs

use_abilityDancer powers

Proc Details

use_ability +

+

Dancer powers

+ + + diff --git a/datum/action/xeno_action/activable/tail_jab.html b/datum/action/xeno_action/activable/tail_jab.html new file mode 100644 index 000000000000..400892d2fef0 --- /dev/null +++ b/datum/action/xeno_action/activable/tail_jab.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/xeno_action/activable/tail_jab - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Tail Jab + + + +

+ + +

Procs

reset_directionTo reset the direction if they haven't moved since then in below callback.

Proc Details

reset_direction +

+

To reset the direction if they haven't moved since then in below callback.

+ + + diff --git a/datum/action/xeno_action/activable/tail_stab.html b/datum/action/xeno_action/activable/tail_stab.html new file mode 100644 index 000000000000..622077a8e54b --- /dev/null +++ b/datum/action/xeno_action/activable/tail_stab.html @@ -0,0 +1,47 @@ + + + + + + + /datum/action/xeno_action/activable/tail_stab - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Tail Stab + + + +

+ + + +

Vars

blunt_stabUsed for defender's tail 'stab'.

Procs

reset_directionTo reset the direction if they haven't moved since then in below callback. +Direction var to make the tail stab look cool and immersive. +Ditto.
+

Var Details

blunt_stab + + + + +

+

Used for defender's tail 'stab'.

Proc Details

reset_direction +

+

To reset the direction if they haven't moved since then in below callback. +Direction var to make the tail stab look cool and immersive. +Ditto.

+ + + diff --git a/datum/action/xeno_action/activable/tail_stab/tail_seize.html b/datum/action/xeno_action/activable/tail_stab/tail_seize.html new file mode 100644 index 000000000000..4d29e5d838aa --- /dev/null +++ b/datum/action/xeno_action/activable/tail_stab/tail_seize.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/xeno_action/activable/tail_stab/tail_seize - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Tail Seize + + + +

+ +

Oppressor powers

+

Procs

use_abilityOPPRESSOR POWERS

Proc Details

use_ability +

+

OPPRESSOR POWERS

+ + + diff --git a/datum/action/xeno_action/activable/xeno_spit.html b/datum/action/xeno_action/activable/xeno_spit.html new file mode 100644 index 000000000000..cc29d8122a7f --- /dev/null +++ b/datum/action/xeno_action/activable/xeno_spit.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/xeno_action/activable/xeno_spit - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Xeno Spit + + + +

+ + +

Vars

spittingVar that keeps track of in-progress wind-up spits like Bombard to prevent spitting multiple spits at the same time
+

Var Details

spitting + + + + +

+

Var that keeps track of in-progress wind-up spits like Bombard to prevent spitting multiple spits at the same time

+ + + diff --git a/datum/action/xeno_action/activable/xeno_spit/bombard.html b/datum/action/xeno_action/activable/xeno_spit/bombard.html new file mode 100644 index 000000000000..a0b331eaa2d6 --- /dev/null +++ b/datum/action/xeno_action/activable/xeno_spit/bombard.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/xeno_action/activable/xeno_spit/bombard - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Bombard + + + +

+ + + +

Vars

action_types_to_cdThese are actions that will be placed on cooldown for the cooldown_duration when activates. Added acid shroud for now because it can be abused
cooldown_durationDuration for the cooldown of abilities affected by bombard
+

Var Details

action_types_to_cd + + + + +

+

These are actions that will be placed on cooldown for the cooldown_duration when activates. Added acid shroud for now because it can be abused

cooldown_duration + + + + +

+

Duration for the cooldown of abilities affected by bombard

+ + + diff --git a/datum/action/xeno_action/onclick/acid_shroud.html b/datum/action/xeno_action/onclick/acid_shroud.html new file mode 100644 index 000000000000..a069adbce4aa --- /dev/null +++ b/datum/action/xeno_action/onclick/acid_shroud.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/xeno_action/onclick/acid_shroud - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Acid Shroud + + + +

+ + + + +

Vars

action_types_to_cdThese are actions that will be placed on cooldown for the cooldown_duration when activates
cooldown_durationDuration for the cooldown of abilities affected by acid shroud
sound_playAllows the sound to play. Flipped to false when sound is triggered and true after a timer. This prevents soundspam
+

Var Details

action_types_to_cd + + + + +

+

These are actions that will be placed on cooldown for the cooldown_duration when activates

cooldown_duration + + + + +

+

Duration for the cooldown of abilities affected by acid shroud

sound_play + + + + +

+

Allows the sound to play. Flipped to false when sound is triggered and true after a timer. This prevents soundspam

+ + + diff --git a/datum/action/xeno_action/onclick/apprehend.html b/datum/action/xeno_action/onclick/apprehend.html new file mode 100644 index 000000000000..f7f617389a45 --- /dev/null +++ b/datum/action/xeno_action/onclick/apprehend.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/xeno_action/onclick/apprehend - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Apprehend + + + +

+ +

BERSERKER ACTIONS

+

Procs

use_abilityBERSERKER POWERS

Proc Details

use_ability +

+

BERSERKER POWERS

+ + + diff --git a/datum/action/xeno_action/onclick/charge_spit.html b/datum/action/xeno_action/onclick/charge_spit.html new file mode 100644 index 000000000000..b8dac3a2ad38 --- /dev/null +++ b/datum/action/xeno_action/onclick/charge_spit.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/xeno_action/onclick/charge_spit - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Charge Spit + + + +

+ + +

Procs

disable_spatterThough the ability's other buffs are supposed to last for its duration, it's only supposed to enhance one spit.

Proc Details

disable_spatter +

+

Though the ability's other buffs are supposed to last for its duration, it's only supposed to enhance one spit.

+ + + diff --git a/datum/action/xeno_action/onclick/charger_charge.html b/datum/action/xeno_action/onclick/charger_charge.html new file mode 100644 index 000000000000..c2472d10db37 --- /dev/null +++ b/datum/action/xeno_action/onclick/charger_charge.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/xeno_action/onclick/charger_charge - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Toggle Charging + + + +

+ + + +

Vars

last_charge_moveThe last time the crusher moved while charging
momentumDictates speed and damage dealt via collision, increased with movement
+

Var Details

last_charge_move + + + + +

+

The last time the crusher moved while charging

momentum + + + + +

+

Dictates speed and damage dealt via collision, increased with movement

+ + + diff --git a/datum/action/xeno_action/onclick/dump_acid.html b/datum/action/xeno_action/onclick/dump_acid.html new file mode 100644 index 000000000000..ba2a70433f76 --- /dev/null +++ b/datum/action/xeno_action/onclick/dump_acid.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/xeno_action/onclick/dump_acid - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Dump Acid + + + +

+ + + +

Vars

action_types_to_cdList of types of actions to place on 20-second CD,if you ever want to subtype this for a strain or whatever, just change this var on the subtype

Procs

remove_speed_buff0.7 seconds
+

Var Details

action_types_to_cd + + + + +

+

List of types of actions to place on 20-second CD,if you ever want to subtype this for a strain or whatever, just change this var on the subtype

Proc Details

remove_speed_buff +

+

0.7 seconds

+ + + diff --git a/datum/action/xeno_action/onclick/empower.html b/datum/action/xeno_action/onclick/empower.html new file mode 100644 index 000000000000..bd84bfd330bf --- /dev/null +++ b/datum/action/xeno_action/onclick/empower.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/xeno_action/onclick/empower - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Empower + + + +

+ + +

Procs

use_abilityBASE RAV POWERS

Proc Details

use_ability +

+

BASE RAV POWERS

+ + + diff --git a/datum/action/xeno_action/onclick/plant_weeds.html b/datum/action/xeno_action/onclick/plant_weeds.html new file mode 100644 index 000000000000..7e2f70f804e6 --- /dev/null +++ b/datum/action/xeno_action/onclick/plant_weeds.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/xeno_action/onclick/plant_weeds - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Plant Weeds (75) + + + +

+ +

Abilities used by multiple Xenos. +README

+

Procs

use_abilityPowers used by multiple Xenomorphs.

Proc Details

use_ability +

+

Powers used by multiple Xenomorphs.

+ + + diff --git a/datum/action/xeno_action/onclick/soak.html b/datum/action/xeno_action/onclick/soak.html new file mode 100644 index 000000000000..df3d0d33f0cf --- /dev/null +++ b/datum/action/xeno_action/onclick/soak.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/xeno_action/onclick/soak - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Soak + + + +

+ + + +

Vars

damage_accumulatedInitially zero, gets damage added when the ability is activated
damage_thresholdRequires 140 damage taken within 6 seconds to activate the ability
+

Var Details

damage_accumulated + + + + +

+

Initially zero, gets damage added when the ability is activated

damage_threshold + + + + +

+

Requires 140 damage taken within 6 seconds to activate the ability

+ + + diff --git a/datum/action/xeno_action/onclick/spike_shield.html b/datum/action/xeno_action/onclick/spike_shield.html new file mode 100644 index 000000000000..ab7db71f101a --- /dev/null +++ b/datum/action/xeno_action/onclick/spike_shield.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/xeno_action/onclick/spike_shield - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Spike Shield (150 shards) + + + +

+ +

HEDGEHOG ABILITIES

+

Procs

use_abilityHEDGEHOG POWERS

Proc Details

use_ability +

+

HEDGEHOG POWERS

+ + + diff --git a/datum/action/xeno_action/onclick/toggle_long_range.html b/datum/action/xeno_action/onclick/toggle_long_range.html new file mode 100644 index 000000000000..0bd1b14bc9e9 --- /dev/null +++ b/datum/action/xeno_action/onclick/toggle_long_range.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/xeno_action/onclick/toggle_long_range - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Toggle Long-Range Sight + + + +

+ + + +

Vars

movement_bufferhow much you can move before zoom breaks
movement_slowdownif we can move while zoomed, how slowed will we be when zoomed in? Use speed modifier defines.
+

Var Details

movement_buffer + + + + +

+

how much you can move before zoom breaks

movement_slowdown + + + + +

+

if we can move while zoomed, how slowed will we be when zoomed in? Use speed modifier defines.

+ + + diff --git a/datum/admin_help.html b/datum/admin_help.html new file mode 100644 index 000000000000..2ffbdeabe013 --- /dev/null +++ b/datum/admin_help.html @@ -0,0 +1,188 @@ + + + + + + + /datum/admin_help - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Adminhelp Ticket + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

admins_involvedList of admin ckeys that are involved, like through responding
closed_atThe time at which the ticket was closed
heard_by_no_adminsIf any admins were online when the ticket was initialized
idUnique ID of the ticket
initial_messageWhat was the first message sent by the player?
initiatorSemi-misnomer, it's the person who ahelped/was bwoinked
initiator_ckeyThe ckey of the initiator
initiator_key_nameThe key name of the initiator
marked_adminWhich admin has marked this ahelp?
nameThe current name of the ticket
opened_atThe time at which the ticket was opened
opening_respondersThe list of clients currently responding to the opening ticket before it gets a response
player_interactionsList of player interactions
player_repliedHas the player replied to this ticket yet?
statclickStatclick holder for the ticket
stateThe current state of the ticket
ticket_counterStatic counter used for generating each ticket ID
ticket_interactionsThe collection of interactions with this ticket. Use AddInteraction() or, preferably, admin_ticket_log()
webhook_sentWhether this ahelp has sent a webhook or not, and what type

Procs

AutoReplyResolve ticket with a premade message
NewCall this on its own to create a ticket, don't manually assign current_ticket
ticket_statusRenders the current status of the ticket into a displayable string
+

Var Details

admins_involved + + + + +

+

List of admin ckeys that are involved, like through responding

closed_at + + + + +

+

The time at which the ticket was closed

heard_by_no_admins + + + + +

+

If any admins were online when the ticket was initialized

id + + + + +

+

Unique ID of the ticket

initial_message + + + + +

+

What was the first message sent by the player?

initiator + + + + +

+

Semi-misnomer, it's the person who ahelped/was bwoinked

initiator_ckey + + + + +

+

The ckey of the initiator

initiator_key_name + + + + +

+

The key name of the initiator

marked_admin + + + + +

+

Which admin has marked this ahelp?

name + + + + +

+

The current name of the ticket

opened_at + + + + +

+

The time at which the ticket was opened

opening_responders + + + + +

+

The list of clients currently responding to the opening ticket before it gets a response

player_interactions + + + + +

+

List of player interactions

player_replied + + + + +

+

Has the player replied to this ticket yet?

statclick + + + + +

+

Statclick holder for the ticket

state + + + + +

+

The current state of the ticket

ticket_counter + + + + +

+

Static counter used for generating each ticket ID

ticket_interactions + + + + +

+

The collection of interactions with this ticket. Use AddInteraction() or, preferably, admin_ticket_log()

webhook_sent + + + + +

+

Whether this ahelp has sent a webhook or not, and what type

Proc Details

AutoReply +

+

Resolve ticket with a premade message

New +

+

Call this on its own to create a ticket, don't manually assign current_ticket

+

Arguments:

+

ticket_status +

+

Renders the current status of the ticket into a displayable string

+ + + diff --git a/datum/admin_help_tickets.html b/datum/admin_help_tickets.html new file mode 100644 index 000000000000..c790b5974350 --- /dev/null +++ b/datum/admin_help_tickets.html @@ -0,0 +1,50 @@ + + + + + + + /datum/admin_help_tickets - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Adminhelp Ticket Manager + + + +

+ + + + +

Vars

active_ticketsThe set of all active tickets
closed_ticketsThe set of all closed tickets
resolved_ticketsThe set of all resolved tickets
+

Var Details

active_tickets + + + + +

+

The set of all active tickets

closed_tickets + + + + +

+

The set of all closed tickets

resolved_tickets + + + + +

+

The set of all resolved tickets

+ + + diff --git a/datum/admins.html b/datum/admins.html new file mode 100644 index 000000000000..4ebda7401883 --- /dev/null +++ b/datum/admins.html @@ -0,0 +1,145 @@ + + + + + + + /datum/admins - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/admins + + + +

+ + + + + + + + + + + + + + + + +

Vars

invisiminedWhether this admin is invisiminning

Procs

accept_ertnew ban stuff +new ban stuff
add_tagged_datumInserts the target_datum into [/datum/admins/var/tagged_datums], for later reference.
display_tagsDisplay all of the tagged datums
get_tgui_say_rolesgets the role dependant data for tgui-say
handle_tagged_delGet ahead of the curve with deleting
modify_traitsAllow admin to add or remove traits of datum
remove_tagged_datumAttempts to remove the specified datum from [/datum/admins/var/tagged_datums] if it exists
spawn_atomADMIN HELPER PROCS
toggleabanadmins2.dm merge
view_attack_logShows this round's attack log
view_game_logShows this round's server log
view_href_logShows this round's href log
view_runtime_logShows this round's runtime log
view_tgui_logShows this round's tgui log
+

Var Details

invisimined + + + + +

+

Whether this admin is invisiminning

Proc Details

accept_ert +

+

new ban stuff +new ban stuff

add_tagged_datum +

+

Inserts the target_datum into [/datum/admins/var/tagged_datums], for later reference.

+

Arguments:

+

display_tags +

+

Display all of the tagged datums

get_tgui_say_roles +

+

gets the role dependant data for tgui-say

handle_tagged_del +

+

Get ahead of the curve with deleting

modify_traits +

+

Allow admin to add or remove traits of datum

remove_tagged_datum +

+

Attempts to remove the specified datum from [/datum/admins/var/tagged_datums] if it exists

+

Arguments:

+

spawn_atom +

+

ADMIN HELPER PROCS

toggleaban +

+

admins2.dm merge

view_attack_log +

+

Shows this round's attack log

view_game_log +

+

Shows this round's server log

view_href_log +

+

Shows this round's href log

view_runtime_log +

+

Shows this round's runtime log

view_tgui_log +

+

Shows this round's tgui log

+ + + diff --git a/datum/ammo.html b/datum/ammo.html new file mode 100644 index 000000000000..5937ffc9a8b3 --- /dev/null +++ b/datum/ammo.html @@ -0,0 +1,73 @@ + + + + + + + /datum/ammo - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

generic bullet + + + +

+ + + + + + + +

Vars

apply_delegateDoes this apply xenomorph behaviour delegate?
hit_effect_colorThe flicker that plays when a bullet hits a target. Usually red. Can be nulled so it doesn't show up at all.
traits_to_giveAn assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) +that will be given to a projectile with the current ammo datum

Procs

knockback_effectsThe applied effects for knockback(), overwrite to change slow/stun amounts for different ammo datums
on_pointblankSpecial effects when pointblanking mobs. Ultimately called from /living/attackby(). Return TRUE to end the PB attempt.
set_bullet_traitsPopulate traits_to_give in this proc
+

Var Details

apply_delegate + + + + +

+

Does this apply xenomorph behaviour delegate?

hit_effect_color + + + + +

+

The flicker that plays when a bullet hits a target. Usually red. Can be nulled so it doesn't show up at all.

traits_to_give + + + + +

+

An assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) +that will be given to a projectile with the current ammo datum

Proc Details

knockback_effects +

+

The applied effects for knockback(), overwrite to change slow/stun amounts for different ammo datums

on_pointblank +

+

Special effects when pointblanking mobs. Ultimately called from /living/attackby(). Return TRUE to end the PB attempt.

set_bullet_traits +

+

Populate traits_to_give in this proc

+ + + diff --git a/datum/ammo/xeno.html b/datum/ammo/xeno.html new file mode 100644 index 000000000000..4619b064c107 --- /dev/null +++ b/datum/ammo/xeno.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ammo/xeno - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/ammo/xeno + + + +

+ + + + +

Vars

added_spit_delayused to make cooldown of the different spits vary.
pre_spit_warnShould there be an additional warning while winding up? (do not put to true if there is not a windup)
spit_windupShould there be a windup for this spit?
+

Var Details

added_spit_delay + + + + +

+

used to make cooldown of the different spits vary.

pre_spit_warn + + + + +

+

Should there be an additional warning while winding up? (do not put to true if there is not a windup)

spit_windup + + + + +

+

Should there be a windup for this spit?

+ + + diff --git a/datum/ammo/xeno/boiler_gas.html b/datum/ammo/xeno/boiler_gas.html new file mode 100644 index 000000000000..e6233009e022 --- /dev/null +++ b/datum/ammo/xeno/boiler_gas.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ammo/xeno/boiler_gas - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

glob of neuro gas + + + +

+ + +

Vars

smokerangerange on the smoke in tiles from center
+

Var Details

smokerange + + + + +

+

range on the smoke in tiles from center

+ + + diff --git a/datum/ares_link.html b/datum/ares_link.html new file mode 100644 index 000000000000..5f04c8877f27 --- /dev/null +++ b/datum/ares_link.html @@ -0,0 +1,57 @@ + + + + + + + /datum/ares_link - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/ares_link + + + +

+ + + + + +

Vars

apollo_logThe chat log of the apollo link. Timestamped.
linked_alertsAll motion triggers for the link
linked_systemsAll machinery for the link
tickets_maintenanceWorking Joe stuff
+

Var Details

apollo_log + + + + +

+

The chat log of the apollo link. Timestamped.

linked_alerts + + + + +

+

All motion triggers for the link

linked_systems + + + + +

+

All machinery for the link

tickets_maintenance + + + + +

+

Working Joe stuff

+ + + diff --git a/datum/ares_record.html b/datum/ares_record.html new file mode 100644 index 000000000000..e25a339ace45 --- /dev/null +++ b/datum/ares_record.html @@ -0,0 +1,57 @@ + + + + + + + /datum/ares_record - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/ares_record + + + +

+ + + + + +

Vars

detailsThe content of the record, announcement text/bioscan info etc.
timeWorld time in text format.
titleThe title of the record, usually announcement title.
userThe name of the initiator of certain records. Who fired an OB, or who deleted something etc.
+

Var Details

details + + + + +

+

The content of the record, announcement text/bioscan info etc.

time + + + + +

+

World time in text format.

title + + + + +

+

The title of the record, usually announcement title.

user + + + + +

+

The name of the initiator of certain records. Who fired an OB, or who deleted something etc.

+ + + diff --git a/datum/ares_ticket.html b/datum/ares_ticket.html new file mode 100644 index 000000000000..783dd861400c --- /dev/null +++ b/datum/ares_ticket.html @@ -0,0 +1,64 @@ + + + + + + + /datum/ares_ticket - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/ares_ticket + + + +

+ + + + + + +

Vars

ticket_assigneeName of who is handling the ticket. Derived from last login.
ticket_detailsThe content of the ticket, usually an explanation of what it is for.
ticket_nameThe name of the ticket.
ticket_submitterWho submitted the ticket. Derived from last login.
ticket_timeWorld time in text format.
+

Var Details

ticket_assignee + + + + +

+

Name of who is handling the ticket. Derived from last login.

ticket_details + + + + +

+

The content of the ticket, usually an explanation of what it is for.

ticket_name + + + + +

+

The name of the ticket.

ticket_submitter + + + + +

+

Who submitted the ticket. Derived from last login.

ticket_time + + + + +

+

World time in text format.

+ + + diff --git a/datum/asset.html b/datum/asset.html new file mode 100644 index 000000000000..0438315f2ef8 --- /dev/null +++ b/datum/asset.html @@ -0,0 +1,35 @@ + + + + + + + /datum/asset - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/asset + + + +

+ + +

Procs

get_serialized_url_mappingsReturns a cached tgui message of URL mappings

Proc Details

get_serialized_url_mappings +

+

Returns a cached tgui message of URL mappings

+ + + diff --git a/datum/asset/simple.html b/datum/asset/simple.html new file mode 100644 index 000000000000..5c871cf1073b --- /dev/null +++ b/datum/asset/simple.html @@ -0,0 +1,56 @@ + + + + + + + /datum/asset/simple - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/asset/simple + + + +

+ +

If you don't need anything complicated.

+ + +

Vars

assetslist of assets for this datum in the form of: +asset_filename = asset_file. At runtime the asset_file will be +converted into a asset_cache datum.
keep_local_nameTRUE for keeping local asset names when browse_rsc backend is used
legacySet to true to have this asset also be sent via the legacy browse_rsc +system when cdn transports are enabled?
+

Var Details

assets + + + + +

+

list of assets for this datum in the form of: +asset_filename = asset_file. At runtime the asset_file will be +converted into a asset_cache datum.

keep_local_name + + + + +

+

TRUE for keeping local asset names when browse_rsc backend is used

legacy + + + + +

+

Set to true to have this asset also be sent via the legacy browse_rsc +system when cdn transports are enabled?

+ + + diff --git a/datum/asset/simple/namespaced.html b/datum/asset/simple/namespaced.html new file mode 100644 index 000000000000..0f3c31f0872e --- /dev/null +++ b/datum/asset/simple/namespaced.html @@ -0,0 +1,51 @@ + + + + + + + /datum/asset/simple/namespaced - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/asset/simple/namespaced + + + +

+ +

Namespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)

+ +

Vars

parentsparents - list of the parent asset or assets (in name = file assoicated format) for this namespace. +parent assets must be referenced by their generated url, but if an update changes a parent asset, it won't change the namespace's identity.

Procs

get_htmlloaderGet a html string that will load a html asset. +Needed because byond doesn't allow you to browse() to a url.
+

Var Details

parents + + + + +

+

parents - list of the parent asset or assets (in name = file assoicated format) for this namespace. +parent assets must be referenced by their generated url, but if an update changes a parent asset, it won't change the namespace's identity.

Proc Details

get_htmlloader +

+

Get a html string that will load a html asset. +Needed because byond doesn't allow you to browse() to a url.

+ + + diff --git a/datum/asset_cache_item.html b/datum/asset_cache_item.html new file mode 100644 index 000000000000..1e28bfb65bc3 --- /dev/null +++ b/datum/asset_cache_item.html @@ -0,0 +1,65 @@ + + + + + + + /datum/asset_cache_item - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

asset_cache_item + + + +

+ +

An internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.

+ + + +

Vars

keep_local_nameTRUE for keeping local asset names when browse_rsc backend is used
legacyShould this file also be sent via the legacy browse_rsc system +when cdn transports are enabled?
namespaceUsed by the cdn system to keep legacy css assets with their parent +css file. (css files resolve urls relative to the css file, so the +legacy system can't be used if the css file itself could go out over +the cdn)
namespace_parentTrue if this is the parent css or html file for an asset's namespace
+

Var Details

keep_local_name + + + + +

+

TRUE for keeping local asset names when browse_rsc backend is used

legacy + + + + +

+

Should this file also be sent via the legacy browse_rsc system +when cdn transports are enabled?

namespace + + + + +

+

Used by the cdn system to keep legacy css assets with their parent +css file. (css files resolve urls relative to the css file, so the +legacy system can't be used if the css file itself could go out over +the cdn)

namespace_parent + + + + +

+

True if this is the parent css or html file for an asset's namespace

+ + + diff --git a/datum/asset_transport.html b/datum/asset_transport.html new file mode 100644 index 000000000000..22d935e120b9 --- /dev/null +++ b/datum/asset_transport.html @@ -0,0 +1,109 @@ + + + + + + + /datum/asset_transport - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Simple browse_rsc asset transport + + + +

+ +

Base browse_rsc asset transport

+ + + + + + + +

Vars

dont_mutate_filenamesDon't mutate the filename of assets when sending via browse_rsc. +This is to make it easier to debug issues with assets, and allow server operators to bypass issues that make it to production. +If turning this on fixes asset issues, something isn't using get_asset_url and the asset isn't marked legacy, fix one of those.

Procs

InitializeInitialize - Called when SSassets initializes.
LoadCalled when the transport is loaded by the config controller, not called on the default transport unless it gets loaded by a config change.
get_asset_urlReturns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name
register_assetRegister a browser asset with the asset cache system +asset_name - the identifier of the asset +asset - the actual asset file (or an asset_cache_item datum) +returns a /datum/asset_cache_item. +mutiple calls to register the same asset under the same asset_name return the same datum
send_assetsSends a list of browser assets to a client +client - a client or mob +asset_list - A list of asset filenames to be sent to the client. Can optionally be assoicated with the asset's asset_cache_item datum. +Returns TRUE if any assets were sent.
send_assets_slowPrecache files without clogging up the browse() queue, used for passively sending files on connection start.
validate_configCheck the config is valid to load this transport +Returns TRUE or FALSE
+

Var Details

dont_mutate_filenames + + + + +

+

Don't mutate the filename of assets when sending via browse_rsc. +This is to make it easier to debug issues with assets, and allow server operators to bypass issues that make it to production. +If turning this on fixes asset issues, something isn't using get_asset_url and the asset isn't marked legacy, fix one of those.

Proc Details

Initialize +

+

Initialize - Called when SSassets initializes.

Load +

+

Called when the transport is loaded by the config controller, not called on the default transport unless it gets loaded by a config change.

get_asset_url +

+

Returns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name

register_asset +

+

Register a browser asset with the asset cache system +asset_name - the identifier of the asset +asset - the actual asset file (or an asset_cache_item datum) +returns a /datum/asset_cache_item. +mutiple calls to register the same asset under the same asset_name return the same datum

send_assets +

+

Sends a list of browser assets to a client +client - a client or mob +asset_list - A list of asset filenames to be sent to the client. Can optionally be assoicated with the asset's asset_cache_item datum. +Returns TRUE if any assets were sent.

send_assets_slow +

+

Precache files without clogging up the browse() queue, used for passively sending files on connection start.

validate_config +

+

Check the config is valid to load this transport +Returns TRUE or FALSE

+ + + diff --git a/datum/asset_transport/webroot.html b/datum/asset_transport/webroot.html new file mode 100644 index 000000000000..9ec2efae293e --- /dev/null +++ b/datum/asset_transport/webroot.html @@ -0,0 +1,80 @@ + + + + + + + /datum/asset_transport/webroot - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

CDN Webroot asset transport + + + +

+ +

CDN Webroot asset transport.

+ + + + + +

Procs

get_asset_urlReturns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name
load_existing_assetsProcesses thru any assets that were registered before we were loaded as a transport.
register_assetRegister a browser asset with the asset cache system +We also save it to the CDN webroot at this step instead of waiting for send_assets() +asset_name - the identifier of the asset +asset - the actual asset file or an asset_cache_item datum.
save_asset_to_webrootSaves the asset to the webroot taking into account namespaces and hashes.
send_assetswebroot asset sending - does nothing unless passed legacy assets
send_assets_slowwebroot slow asset sending - does nothing.

Proc Details

get_asset_url +

+

Returns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name

load_existing_assets +

+

Processes thru any assets that were registered before we were loaded as a transport.

register_asset +

+

Register a browser asset with the asset cache system +We also save it to the CDN webroot at this step instead of waiting for send_assets() +asset_name - the identifier of the asset +asset - the actual asset file or an asset_cache_item datum.

save_asset_to_webroot +

+

Saves the asset to the webroot taking into account namespaces and hashes.

send_assets +

+

webroot asset sending - does nothing unless passed legacy assets

send_assets_slow +

+

webroot slow asset sending - does nothing.

+ + + diff --git a/datum/authority/branch/evacuation.html b/datum/authority/branch/evacuation.html new file mode 100644 index 000000000000..a6e804fe5575 --- /dev/null +++ b/datum/authority/branch/evacuation.html @@ -0,0 +1,37 @@ + + + + + + + /datum/authority/branch/evacuation - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Evacuation Authority + + + +

+ + +

Procs

get_affected_zlevelsThis proc returns the ship's z level list (or whatever specified), +when an evac/self-destruct happens.

Proc Details

get_affected_zlevels +

+

This proc returns the ship's z level list (or whatever specified), +when an evac/self-destruct happens.

+ + + diff --git a/datum/authority/branch/role.html b/datum/authority/branch/role.html new file mode 100644 index 000000000000..05dd58f6a2ce --- /dev/null +++ b/datum/authority/branch/role.html @@ -0,0 +1,58 @@ + + + + + + + /datum/authority/branch/role - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Role Authority + + + +

+ + + + +

Vars

role_mappingsList of mapped roles that should be used in place of usual ones

Procs

assign_rolesAssign roles to the players. Return roles that are still avialable. +If count is true, return role balancing weight instead.
calculate_role_weightCalculate role balance weight for one person joining as that role. This weight is used +when calculating the number of xenos both roundstart and burrowed larva they get for +people late joining. This weight also controls the size of local wildlife population, +survivors and the number of roundstart Squad Rifleman slots.
+

Var Details

role_mappings + + + + +

+

List of mapped roles that should be used in place of usual ones

Proc Details

assign_roles +

+

Assign roles to the players. Return roles that are still avialable. +If count is true, return role balancing weight instead.

calculate_role_weight +

+

Calculate role balance weight for one person joining as that role. This weight is used +when calculating the number of xenos both roundstart and burrowed larva they get for +people late joining. This weight also controls the size of local wildlife population, +survivors and the number of roundstart Squad Rifleman slots.

+ + + diff --git a/datum/autoreply.html b/datum/autoreply.html new file mode 100644 index 000000000000..37009d63c3ed --- /dev/null +++ b/datum/autoreply.html @@ -0,0 +1,50 @@ + + + + + + + /datum/autoreply - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/autoreply + + + +

+ + + + +

Vars

closerIf the autoreply will automatically close the ahelp or not.
messageThe detailed message in the auto reply.
titleWhat shows up in the list of replies, and the big red header on the reply itself.
+

Var Details

closer + + + + +

+

If the autoreply will automatically close the ahelp or not.

message + + + + +

+

The detailed message in the auto reply.

title + + + + +

+

What shows up in the list of replies, and the big red header on the reply itself.

+ + + diff --git a/datum/beam.html b/datum/beam.html new file mode 100644 index 000000000000..192953806cb3 --- /dev/null +++ b/datum/beam.html @@ -0,0 +1,143 @@ + + + + + + + /datum/beam - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/beam + + + +

+ + + + + + + + + + + + + +

Vars

always_turnwill the origin object always turn to face the target?
beam_typethe objects placed in the elements list
elementslist of beam objects. These have their visuals set by the visuals var which is created on starting
iconicon used by the beam.
icon_stateicon state of the main segments of the beam
max_distanceThe beam will qdel if it's longer than this many tiles.
originwhere the beam goes from
targetwhere the beam goes to
visualsThis is used as the visual_contents of beams, so you can apply one effect to this and the whole beam will look like that. never gets deleted on redrawing.

Procs

DrawCreates the beam effects and places them in a line from the origin to the target. Sets their rotation to make the beams face the target, too.
StartProc called by the atom Beam() proc. Sets up signals, and draws the beam for the first time.
redrawingTriggered by signals set up when the beam is set up. If it's still sane to create a beam, it removes the old beam, creates a new one. Otherwise it kills the beam.
+

Var Details

always_turn + + + + +

+

will the origin object always turn to face the target?

beam_type + + + + +

+

the objects placed in the elements list

elements + + + + +

+

list of beam objects. These have their visuals set by the visuals var which is created on starting

icon + + + + +

+

icon used by the beam.

icon_state + + + + +

+

icon state of the main segments of the beam

max_distance + + + + +

+

The beam will qdel if it's longer than this many tiles.

origin + + + + +

+

where the beam goes from

target + + + + +

+

where the beam goes to

visuals + + + + +

+

This is used as the visual_contents of beams, so you can apply one effect to this and the whole beam will look like that. never gets deleted on redrawing.

Proc Details

Draw +

+

Creates the beam effects and places them in a line from the origin to the target. Sets their rotation to make the beams face the target, too.

Start +

+

Proc called by the atom Beam() proc. Sets up signals, and draws the beam for the first time.

redrawing +

+

Triggered by signals set up when the beam is set up. If it's still sane to create a beam, it removes the old beam, creates a new one. Otherwise it kills the beam.

+

Arguments: +mover: either the origin of the beam or the target of the beam that moved. +oldloc: from where mover moved. +direction: in what direction mover moved from.

+ + + diff --git a/datum/behavior_delegate.html b/datum/behavior_delegate.html new file mode 100644 index 000000000000..8adb66dd3b52 --- /dev/null +++ b/datum/behavior_delegate.html @@ -0,0 +1,120 @@ + + + + + + + /datum/behavior_delegate - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Set This + + + +

+ + + + + + + + + + + + +

Vars

bound_xenoThe Xeno we handle mutator state for
nameUserfriendly name of the mutator

Procs

append_to_statReturns any extra information to display via stat.
handle_slashHandling specific behavior - if TRUE, the attack will not have an attack delay by default.
melee_attack_modify_damageModifies the damage of a slash based on the current mutator state. +Do not override this proc unless you need to affect the rolled damage +of an attack before it happens
on_hitby_projectileAny special behaviors on reception of a projectile attack
on_kill_mobBehaviour when killing people
on_lifeCalled during Xeno life +Handles anything that needs to be periodically ticked +for this mutator to function
on_update_iconsHandling the xeno icon state or overlays, return TRUE if icon state should not be changed
override_intentUsed to override an intent for some abilities that must force harm on next attack_alien()
ranged_attack_on_hitTechnically speaking, these are called whenever a xeno projectile impacts +a target (acid spit), NOT when gas damages them. +If you want to deal any more damage, just do it in the addl. effects proc +adding damage to a projectile in the actual proc is highly nontrivial
+

Var Details

bound_xeno + + + + +

+

The Xeno we handle mutator state for

name + + + + +

+

Userfriendly name of the mutator

Proc Details

append_to_stat +

+

Returns any extra information to display via stat.

handle_slash +

+

Handling specific behavior - if TRUE, the attack will not have an attack delay by default.

melee_attack_modify_damage +

+

Modifies the damage of a slash based on the current mutator state. +Do not override this proc unless you need to affect the rolled damage +of an attack before it happens

on_hitby_projectile +

+

Any special behaviors on reception of a projectile attack

on_kill_mob +

+

Behaviour when killing people

on_life +

+

Called during Xeno life +Handles anything that needs to be periodically ticked +for this mutator to function

on_update_icons +

+

Handling the xeno icon state or overlays, return TRUE if icon state should not be changed

override_intent +

+

Used to override an intent for some abilities that must force harm on next attack_alien()

ranged_attack_on_hit +

+

Technically speaking, these are called whenever a xeno projectile impacts +a target (acid spit), NOT when gas damages them. +If you want to deal any more damage, just do it in the addl. effects proc +adding damage to a projectile in the actual proc is highly nontrivial

+ + + diff --git a/datum/behavior_delegate/crusher_base.html b/datum/behavior_delegate/crusher_base.html new file mode 100644 index 000000000000..f077b5af6daa --- /dev/null +++ b/datum/behavior_delegate/crusher_base.html @@ -0,0 +1,36 @@ + + + + + + + /datum/behavior_delegate/crusher_base - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Base Crusher Behavior Delegate + + + +

+ + +

Vars

is_chargingUtilized to update charging animation.
+

Var Details

is_charging + + + + +

+

Utilized to update charging animation.

+ + + diff --git a/datum/behavior_delegate/praetorian_base.html b/datum/behavior_delegate/praetorian_base.html new file mode 100644 index 000000000000..9f61359fbc3a --- /dev/null +++ b/datum/behavior_delegate/praetorian_base.html @@ -0,0 +1,36 @@ + + + + + + + /datum/behavior_delegate/praetorian_base - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Base Praetorian Behavior Delegate + + + +

+ + +

Vars

reward_shieldreward for hitting shots instead of spamming acid ball
+

Var Details

reward_shield + + + + +

+

reward for hitting shots instead of spamming acid ball

+ + + diff --git a/datum/bioscan_data.html b/datum/bioscan_data.html new file mode 100644 index 000000000000..eea1aa9fbf8b --- /dev/null +++ b/datum/bioscan_data.html @@ -0,0 +1,79 @@ + + + + + + + /datum/bioscan_data - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/bioscan_data + + + +

+ + + + + + + +

Vars

larvaAll larva on all hives
marine_planet_locationRandom mentioned locations

Procs

ares_bioscanThe announcement to all Humans. Slightly off for the planet and elsewhere, accurate for the ship.
can_ares_bioscanThis will do something after Project ARES.
qm_bioscanThe announcement to all Xenos. Slightly off for the human ship, accurate otherwise.
yautja_bioscanAll larva on all hives +Count all larva across all hives +Keeping track of peak numbers to determine when a side is "losing" +Pick one random location to disclose +Inform Yautja and Ghosts exactly what's what.
+

Var Details

larva + + + + +

+

All larva on all hives

marine_planet_location + + + + +

+

Random mentioned locations

Proc Details

ares_bioscan +

+

The announcement to all Humans. Slightly off for the planet and elsewhere, accurate for the ship.

can_ares_bioscan +

+

This will do something after Project ARES.

qm_bioscan +

+

The announcement to all Xenos. Slightly off for the human ship, accurate otherwise.

yautja_bioscan +

+

All larva on all hives +Count all larva across all hives +Keeping track of peak numbers to determine when a side is "losing" +Pick one random location to disclose +Inform Yautja and Ghosts exactly what's what.

+ + + diff --git a/datum/bitfield.html b/datum/bitfield.html new file mode 100644 index 000000000000..6061bfebeefa --- /dev/null +++ b/datum/bitfield.html @@ -0,0 +1,43 @@ + + + + + + + /datum/bitfield - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/bitfield + + + +

+ +

Specifies a bitfield for smarter debugging

+ +

Vars

flagsAn associative list of the readable flag and its true value
variableThe variable name that contains the bitfield
+

Var Details

flags + + + + +

+

An associative list of the readable flag and its true value

variable + + + + +

+

The variable name that contains the bitfield

+ + + diff --git a/datum/cas_fire_mission.html b/datum/cas_fire_mission.html new file mode 100644 index 000000000000..2f26e7dac1cb --- /dev/null +++ b/datum/cas_fire_mission.html @@ -0,0 +1,37 @@ + + + + + + + /datum/cas_fire_mission - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Unnamed Firemission + + + +

+ + +

Procs

add_user_to_sim_trackingUsed only in the simulation room, proper tracking is done in the add_user_to_tracking envelop. +This shouldn't be used in any other procs.

Proc Details

add_user_to_sim_tracking +

+

Used only in the simulation room, proper tracking is done in the add_user_to_tracking envelop. +This shouldn't be used in any other procs.

+ + + diff --git a/datum/cas_fire_mission_record.html b/datum/cas_fire_mission_record.html new file mode 100644 index 000000000000..5034b98a2df9 --- /dev/null +++ b/datum/cas_fire_mission_record.html @@ -0,0 +1,57 @@ + + + + + + + /datum/cas_fire_mission_record - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/cas_fire_mission_record + + + +

+ +

Defines firing patterns in Fire Missions, transverse to its firing direction

+ + + +

Vars

offsetsList of transverse offsets for each firing step - null meaning not shooting
weaponWeapon relevant to this fire mission record

Procs

get_ammoGet current ammo status for a weapon
get_offsetsGet offset range allowed when firing weapon in this configuration
+

Var Details

offsets + + + + +

+

List of transverse offsets for each firing step - null meaning not shooting

weapon + + + + +

+

Weapon relevant to this fire mission record

Proc Details

get_ammo +

+

Get current ammo status for a weapon

get_offsets +

+

Get offset range allowed when firing weapon in this configuration

+ + + diff --git a/datum/caste_datum.html b/datum/caste_datum.html new file mode 100644 index 000000000000..4e6422795e81 --- /dev/null +++ b/datum/caste_datum.html @@ -0,0 +1,190 @@ + + + + + + + /datum/caste_datum - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/caste_datum + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

acid_splash_cooldownTime it takes between acid splash retaliate procs. Variable per caste, for if we want future castes that are acid bombs
adjust_size_xAdjust pixel size. 0.x is smaller, 1.x is bigger, percentage based.
armor_deflectionChance of deflecting projectiles.
aura_allowed"Evolving" removed for the time being
aura_strengthThe strength of our aura. Zero means we can't emit one
build_time_multDefault build time and build distance
deevolves_towhat caste or castes to de-evolve to.
evolution_allowedAre they allowed to evolve (and have their evolution progress group)
evolution_thresholdThreshold to next evolution
evolve_without_queenwhether they can get evo points without needing an ovi queen
evolves_toThis is where you add castes to evolve into. "Separated", "by", "commas"
fire_vulnerability_multif fire_immunity is set to be vulnerable, how much will fire damage be multiplied. Defines in xeno.dm
hugger_nurturingif a hugger is held in hand, won't attempt to leap and kill itself
innate_healingwhether the xeno heals even outside weeds.
is_intelligentIf they can use consoles, etc. Set on Queen
melee_vehicle_damageallows fine tuning melee damage to vehicles per caste.
minimap_iconIconstate for the xeno on the minimap
minimap_leadered_overlayThe iconstate for leadered xenos on the minimap, added as overlay
spit_delayDelay timer for spitting
spit_typeslist of datum projectile types the xeno can use.
spit_windupWindup for spits
tremor_cooldownBig strong ability, big cooldown.
xeno_explosion_resistanceArmor but for explosions
+

Var Details

acid_splash_cooldown + + + + +

+

Time it takes between acid splash retaliate procs. Variable per caste, for if we want future castes that are acid bombs

adjust_size_x + + + + +

+

Adjust pixel size. 0.x is smaller, 1.x is bigger, percentage based.

armor_deflection + + + + +

+

Chance of deflecting projectiles.

aura_allowed + + + + +

+

"Evolving" removed for the time being

aura_strength + + + + +

+

The strength of our aura. Zero means we can't emit one

build_time_mult + + + + +

+

Default build time and build distance

deevolves_to + + + + +

+

what caste or castes to de-evolve to.

evolution_allowed + + + + +

+

Are they allowed to evolve (and have their evolution progress group)

evolution_threshold + + + + +

+

Threshold to next evolution

evolve_without_queen + + + + +

+

whether they can get evo points without needing an ovi queen

evolves_to + + + + +

+

This is where you add castes to evolve into. "Separated", "by", "commas"

fire_vulnerability_mult + + + + +

+

if fire_immunity is set to be vulnerable, how much will fire damage be multiplied. Defines in xeno.dm

hugger_nurturing + + + + +

+

if a hugger is held in hand, won't attempt to leap and kill itself

innate_healing + + + + +

+

whether the xeno heals even outside weeds.

is_intelligent + + + + +

+

If they can use consoles, etc. Set on Queen

melee_vehicle_damage + + + + +

+

allows fine tuning melee damage to vehicles per caste.

minimap_icon + + + + +

+

Iconstate for the xeno on the minimap

minimap_leadered_overlay + + + + +

+

The iconstate for leadered xenos on the minimap, added as overlay

spit_delay + + + + +

+

Delay timer for spitting

spit_types + + + + +

+

list of datum projectile types the xeno can use.

spit_windup + + + + +

+

Windup for spits

tremor_cooldown + + + + +

+

Big strong ability, big cooldown.

xeno_explosion_resistance + + + + +

+

Armor but for explosions

+ + + diff --git a/datum/character_trait.html b/datum/character_trait.html new file mode 100644 index 000000000000..737cd43b00fe --- /dev/null +++ b/datum/character_trait.html @@ -0,0 +1,103 @@ + + + + + + + /datum/character_trait - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/character_trait + + + +

+ +

Character traits +Similar to the traits from Project Zomboid

+ + + + + + + + +

Vars

applyableWhether the trait can be applied to mobs +Do not forget to override this var for any child types +Only set this to TRUE for "abstract" parent types
costThe point cost for the preferences menu
refresh_choicesRefreshes the character creation menu when picked
trait_groupTrait groups determine whether this trait +can be applied to a given mob

Procs

apply_traitPut the actual changes made to the human mob in this proc
can_give_traitA wrapper to check if the trait can be applied first
give_traitGives the target the trait
try_give_traitPerforms the check for whether the trait is valid for target and then +gives it to target
unapply_traitRevert character trait changes in this proc
+

Var Details

applyable + + + + +

+

Whether the trait can be applied to mobs +Do not forget to override this var for any child types +Only set this to TRUE for "abstract" parent types

cost + + + + +

+

The point cost for the preferences menu

refresh_choices + + + + +

+

Refreshes the character creation menu when picked

trait_group + + + + +

+

Trait groups determine whether this trait +can be applied to a given mob

+

This var should always be set to the +trait group's typepath

Proc Details

apply_trait +

+

Put the actual changes made to the human mob in this proc

can_give_trait +

+

A wrapper to check if the trait can be applied first

give_trait +

+

Gives the target the trait

try_give_trait +

+

Performs the check for whether the trait is valid for target and then +gives it to target

unapply_trait +

+

Revert character trait changes in this proc

+ + + diff --git a/datum/character_trait/biology/bad_leg.html b/datum/character_trait/biology/bad_leg.html new file mode 100644 index 000000000000..f7a018ac45aa --- /dev/null +++ b/datum/character_trait/biology/bad_leg.html @@ -0,0 +1,57 @@ + + + + + + + /datum/character_trait/biology/bad_leg - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/character_trait/biology/bad_leg + + + +

+ + + + + +

Vars

bad_cane_rolesRoles that get the shitty wooden pole.
fancy_cane_rolesRoles that get the fancy cane.
inapplicable_rolesRoles that will not allow the trait to be added. (Due to being designed for combat, heavy physical duty, or just being too junior to be worth keeping around as a cripple.)
inapplicable_speciesSpecies that will not allow the trait to be added.
+

Var Details

bad_cane_roles + + + + +

+

Roles that get the shitty wooden pole.

fancy_cane_roles + + + + +

+

Roles that get the fancy cane.

inapplicable_roles + + + + +

+

Roles that will not allow the trait to be added. (Due to being designed for combat, heavy physical duty, or just being too junior to be worth keeping around as a cripple.)

inapplicable_species + + + + +

+

Species that will not allow the trait to be added.

+ + + diff --git a/datum/character_trait/biology/lisp.html b/datum/character_trait/biology/lisp.html new file mode 100644 index 000000000000..e4bdd939807d --- /dev/null +++ b/datum/character_trait/biology/lisp.html @@ -0,0 +1,50 @@ + + + + + + + /datum/character_trait/biology/lisp - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/character_trait/biology/lisp + + + +

+ + + + +

Vars

inapplicable_rolesRoles that will not allow the trait to be added
inapplicable_speciesSpecies that will not allow the trait to be added.
maximum_rankingMaximum rank at which you can have this trait.
+

Var Details

inapplicable_roles + + + + +

+

Roles that will not allow the trait to be added

inapplicable_species + + + + +

+

Species that will not allow the trait to be added.

maximum_ranking + + + + +

+

Maximum rank at which you can have this trait.

+ + + diff --git a/datum/character_trait_group.html b/datum/character_trait_group.html new file mode 100644 index 000000000000..b90afdc9618d --- /dev/null +++ b/datum/character_trait_group.html @@ -0,0 +1,76 @@ + + + + + + + /datum/character_trait_group - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/character_trait_group + + + +

+ +

Character trait groups for constraints (if any)

+ + + + +

Vars

base_typeOverride this variable if you want this +trait group to be constraining +Only need to override for the parent +Example, parent type /datum/character_trait_group/language, +set this var to /datum/character_trait_group/language
maxThe maximum amount of traits from +this trait group that a mob can have
mutually_exclusiveWhether a mob can only have one +trait of this trait group
trait_group_nameFor player prefs menu
traitsA list of this group's traits populated in /datum/character_trait/New()
+

Var Details

base_type + + + + +

+

Override this variable if you want this +trait group to be constraining +Only need to override for the parent +Example, parent type /datum/character_trait_group/language, +set this var to /datum/character_trait_group/language

max + + + + +

+

The maximum amount of traits from +this trait group that a mob can have

mutually_exclusive + + + + +

+

Whether a mob can only have one +trait of this trait group

trait_group_name + + + + +

+

For player prefs menu

traits + + + + +

+

A list of this group's traits populated in /datum/character_trait/New()

+ + + diff --git a/datum/chem_property.html b/datum/chem_property.html new file mode 100644 index 000000000000..f62c8c137419 --- /dev/null +++ b/datum/chem_property.html @@ -0,0 +1,36 @@ + + + + + + + /datum/chem_property - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/chem_property + + + +

+ + +

Vars

volatileShould reagent with this property explode/start fire when mixed more than overdose threshold at once?
+

Var Details

volatile + + + + +

+

Should reagent with this property explode/start fire when mixed more than overdose threshold at once?

+ + + diff --git a/datum/cm_objective.html b/datum/cm_objective.html new file mode 100644 index 000000000000..a5c6a4f159ab --- /dev/null +++ b/datum/cm_objective.html @@ -0,0 +1,35 @@ + + + + + + + /datum/cm_objective - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

An objective to complete + + + +

+ + +

Procs

award_pointsAdd points to the techtree of whoever owns the objective.

Proc Details

award_points +

+

Add points to the techtree of whoever owns the objective.

+ + + diff --git a/datum/cm_objective/recover_corpses.html b/datum/cm_objective/recover_corpses.html new file mode 100644 index 000000000000..465d55b8d556 --- /dev/null +++ b/datum/cm_objective/recover_corpses.html @@ -0,0 +1,43 @@ + + + + + + + /datum/cm_objective/recover_corpses - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Recover corpses + + + +

+ + + +

Vars

corpsesList of list of active corpses per tech-faction ownership

Procs

score_corpseGet score value for a given corpse
+

Var Details

corpses + + + + +

+

List of list of active corpses per tech-faction ownership

Proc Details

score_corpse +

+

Get score value for a given corpse

+ + + diff --git a/datum/component.html b/datum/component.html new file mode 100644 index 000000000000..d403c1ccfb0d --- /dev/null +++ b/datum/component.html @@ -0,0 +1,181 @@ + + + + + + + /datum/component - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Component + + + +

+ +

The component datum

+

A component should be a single standalone unit +of functionality, that works by receiving signals from it's parent +object to provide some single functionality (i.e a slippery component) +that makes the object it's attached to cause people to slip over. +Useful when you want shared behaviour independent of type inheritance

+ + + + + + + + + + + + + + + + +

Vars

can_transferOnly set to true if you are able to properly transfer this component
dupe_modeDefines how duplicate existing components are handled when added to a datum
dupe_typeThe type to check for duplication
parentThe datum this components belongs to

Procs

CheckDupeComponentCalled on a component when a component of the same type was added to the same parent with COMPONENT_DUPE_SELECTIVE
DestroyProperly removes the component from parent and cleans up references
InheritComponentCalled on a component when a component of the same type was added to the same parent
InitializeCalled during component creation with the same arguments as in new excluding parent.
NewCreate a new component.
PostTransferCallback Just after a component is transferred
PreTransferCallback Just before this component is transferred
RegisterWithParentRegister the component with the parent object
RemoveComponentRemoves the component from parent, ends up with a null parent
UnregisterFromParentUnregister from our parent object
_GetInverseTypeListInternal proc to create a list of our type and all parent types
_JoinParentInternal proc to handle behaviour of components when joining a parent
_RemoveFromParentInternal proc to handle behaviour when being removed from a parent
+

Var Details

can_transfer + + + + +

+

Only set to true if you are able to properly transfer this component

+

At a minimum RegisterWithParent and UnregisterFromParent should be used

+

Make sure you also implement PostTransfer for any post transfer handling

dupe_mode + + + + +

+

Defines how duplicate existing components are handled when added to a datum

+

See COMPONENT_DUPE_* definitions for available options

dupe_type + + + + +

+

The type to check for duplication

+

null means exact match on type (default)

+

Any other type means that and all subtypes

parent + + + + +

+

The datum this components belongs to

Proc Details

CheckDupeComponent +

+

Called on a component when a component of the same type was added to the same parent with COMPONENT_DUPE_SELECTIVE

+

See /datum/component/var/dupe_mode

+

C's type will always be the same of the called component

+

return TRUE if you are absorbing the component, otherwise FALSE if you are fine having it exist as a duplicate component

Destroy +

+

Properly removes the component from parent and cleans up references

+

Arguments:

+

InheritComponent +

+

Called on a component when a component of the same type was added to the same parent

+

See /datum/component/var/dupe_mode

+

C's type will always be the same of the called component

Initialize +

+

Called during component creation with the same arguments as in new excluding parent.

+

Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead

New +

+

Create a new component.

+

Additional arguments are passed to Initialize()

+

Arguments:

+

PostTransfer +

+

Callback Just after a component is transferred

+

Use this to do any special setup you need to do after being moved to a new object

+

Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead

PreTransfer +

+

Callback Just before this component is transferred

+

Use this to do any special cleanup you might need to do before being deregged from an object

RegisterWithParent +

+

Register the component with the parent object

+

Use this proc to register with your parent object

+

Overridable proc that's called when added to a new parent

RemoveComponent +

+

Removes the component from parent, ends up with a null parent

UnregisterFromParent +

+

Unregister from our parent object

+

Use this proc to unregister from your parent object

+

Overridable proc that's called when removed from a parent

_GetInverseTypeList +

+

Internal proc to create a list of our type and all parent types

_JoinParent +

+

Internal proc to handle behaviour of components when joining a parent

_RemoveFromParent +

+

Internal proc to handle behaviour when being removed from a parent

+ + + diff --git a/datum/component/bad_leg.html b/datum/component/bad_leg.html new file mode 100644 index 000000000000..b1c2ec185ac4 --- /dev/null +++ b/datum/component/bad_leg.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/bad_leg - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/component/bad_leg + + + +

+ + + + + + + +

Vars

affected_limbBound limb.
bound_actionThe bound action to reduce steps tracker.
last_message_timeHolds the last time a message was sent to prevent spam.
parent_humanBound human.
steps_walkingTracker for steps walked.

Procs

rest_legs_painThis prevents weird shit like corpses being dragged triggering the messages.
+

Var Details

affected_limb + + + + +

+

Bound limb.

bound_action + + + + +

+

The bound action to reduce steps tracker.

last_message_time + + + + +

+

Holds the last time a message was sent to prevent spam.

parent_human + + + + +

+

Bound human.

steps_walking + + + + +

+

Tracker for steps walked.

Proc Details

rest_legs_pain +

+

This prevents weird shit like corpses being dragged triggering the messages.

+ + + diff --git a/datum/component/bonus_damage_stack.html b/datum/component/bonus_damage_stack.html new file mode 100644 index 000000000000..3bc036ce393a --- /dev/null +++ b/datum/component/bonus_damage_stack.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/bonus_damage_stack - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/component/bonus_damage_stack + + + +

+ + + + +

Vars

bonus_damage_capextra damage multiplier, divided by 1000
bonus_damage_stacksextra damage multiplier, divided by 1000
last_stackLast world.time that the afflicted was hit by a holo-targeting round.
+

Var Details

bonus_damage_cap + + + + +

+

extra damage multiplier, divided by 1000

bonus_damage_stacks + + + + +

+

extra damage multiplier, divided by 1000

last_stack + + + + +

+

Last world.time that the afflicted was hit by a holo-targeting round.

+ + + diff --git a/datum/component/cluster_stack.html b/datum/component/cluster_stack.html new file mode 100644 index 000000000000..46d3dff31c03 --- /dev/null +++ b/datum/component/cluster_stack.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/cluster_stack - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/component/cluster_stack + + + +

+ + + + +

Vars

cluster_stacksCount of how many cluster rounds are in the current stack.
damage_counterCounter of how much damage each cluster round did, 30% of which will be given to the target of apply_cluster_stacks()
last_stackLast world.time that the afflicted was hit by a cluster round.
+

Var Details

cluster_stacks + + + + +

+

Count of how many cluster rounds are in the current stack.

damage_counter + + + + +

+

Counter of how much damage each cluster round did, 30% of which will be given to the target of apply_cluster_stacks()

last_stack + + + + +

+

Last world.time that the afflicted was hit by a cluster round.

+ + + diff --git a/datum/component/connect_mob_behalf.html b/datum/component/connect_mob_behalf.html new file mode 100644 index 000000000000..412accdd292a --- /dev/null +++ b/datum/component/connect_mob_behalf.html @@ -0,0 +1,52 @@ + + + + + + + /datum/component/connect_mob_behalf - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/component/connect_mob_behalf + + + +

+ +

This component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +To be clear, we hook into a signal on a tracked client's mob +We retain the ability to react to that signal on a seperate listener, which makes this quite powerful

+ + +

Vars

connectionsAn assoc list of signal -> procpath to register to the mob our client "owns"
trackedThe master client we're working with
tracked_mobThe mob we're currently tracking
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the mob our client "owns"

tracked + + + + +

+

The master client we're working with

tracked_mob + + + + +

+

The mob we're currently tracking

+ + + diff --git a/datum/component/footstep.html b/datum/component/footstep.html new file mode 100644 index 000000000000..f75997c3e0ec --- /dev/null +++ b/datum/component/footstep.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/footstep - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/component/footstep + + + +

+ +

Footstep component. Plays footsteps at parents location when it is appropriate.

+ + + + +

Vars

fallofffalloff of soundfile see playsound()
footstep_soundsThis can be a list OR a soundfile OR null. Determines whatever sound gets played.
rangerange of soundfile see playsound()
stepshow many steps before the footstep sound is played
volumevolume of soundfile see playsound()
+

Var Details

falloff + + + + +

+

falloff of soundfile see playsound()

footstep_sounds + + + + +

+

This can be a list OR a soundfile OR null. Determines whatever sound gets played.

range + + + + +

+

range of soundfile see playsound()

steps + + + + +

+

how many steps before the footstep sound is played

volume + + + + +

+

volume of soundfile see playsound()

+ + + diff --git a/datum/component/label.html b/datum/component/label.html new file mode 100644 index 000000000000..41a237c78140 --- /dev/null +++ b/datum/component/label.html @@ -0,0 +1,94 @@ + + + + + + + /datum/component/label - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/component/label + + + +

+ +

The label component.

+

This component is used to manage labels applied by the hand labeler.

+

Atoms can only have one instance of this component, and therefore only one label at a time. +This is to avoid having names like "Backpack (label1) (label2) (label3)". This is annoying and abnoxious to read.

+

When a player clicks the atom with a hand labeler to apply a label, this component gets applied to it. +If the labeler is off, the component will be removed from it, and the label will be removed from its name.

+ + + + + +

Vars

label_nameThe name of the label the player is applying to the parent.

Procs

ExamineThis proc will trigger when someone examines the parent. +It will attach the text found in the body of the proc to the examine_list and display it to the player examining the parent.
InheritComponentThis proc will fire after the parent is hit by a hand labeler which is trying to apply another label. +Since the parent already has a label, it will remove the old one from the parent's name, and apply the new one.
OnAttackbyThis proc will trigger when any object is used to attack the parent.
apply_labelApplies a label to the name of the parent in the format of: "parent_name (label)"
remove_labelRemoves the label from the parent's name
+

Var Details

label_name + + + + +

+

The name of the label the player is applying to the parent.

Proc Details

Examine +

+

This proc will trigger when someone examines the parent. +It will attach the text found in the body of the proc to the examine_list and display it to the player examining the parent.

+

Arguments:

+

InheritComponent +

+

This proc will fire after the parent is hit by a hand labeler which is trying to apply another label. +Since the parent already has a label, it will remove the old one from the parent's name, and apply the new one.

OnAttackby +

+

This proc will trigger when any object is used to attack the parent.

+

If the attacking object is not a hand labeler, it will return. +If the attacking object is a hand labeler it will restore the name of the parent to what it was before this component was added to it, and the component will be deleted.

+

Arguments:

+

apply_label +

+

Applies a label to the name of the parent in the format of: "parent_name (label)"

remove_label +

+

Removes the label from the parent's name

+ + + diff --git a/datum/component/nmnode_cond.html b/datum/component/nmnode_cond.html new file mode 100644 index 000000000000..e6315b7c8810 --- /dev/null +++ b/datum/component/nmnode_cond.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/nmnode_cond - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/component/nmnode_cond + + + +

+ +

Applies to a /datum/nmnode to enforce scenario constraints

+ + +

Vars

negateBy default, the condition is required. If true, invert the check
pnameParameter from scenario storage to check for
pvalueValue to check the parameter against
+

Var Details

negate + + + + +

+

By default, the condition is required. If true, invert the check

pname + + + + +

+

Parameter from scenario storage to check for

pvalue + + + + +

+

Value to check the parameter against

+ + + diff --git a/datum/component/rename.html b/datum/component/rename.html new file mode 100644 index 000000000000..6805b26e046c --- /dev/null +++ b/datum/component/rename.html @@ -0,0 +1,86 @@ + + + + + + + /datum/component/rename - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/component/rename + + + +

+ +

The rename component.

+

This component is used to manage names and descriptions changed with the pen.

+

Atoms can only have one instance of this component at a time.

+

When a player renames or changes the description of an atom with a pen, this component gets applied to it. +If a player resets the name and description, they will be reverted to their state before being changed and the component will be removed.

+ + + + + + +

Vars

custom_descThe desc the player is applying to the parent.
custom_nameThe name the player is applying to the parent.
original_descThe desc before the player changed it.
original_nameThe name before the player changed it.

Procs

InheritComponentThis proc will fire after the parent's name or desc is changed with a pen, which is trying to apply another rename component. +Since the parent already has a rename component, it will remove the old one and apply the new one. +The name and description changes will be merged or overwritten.
apply_renameSaves the current name and description before changing them to the player's inputs.
revert_renameReverts the name and description to the state before they were changed.
+

Var Details

custom_desc + + + + +

+

The desc the player is applying to the parent.

custom_name + + + + +

+

The name the player is applying to the parent.

original_desc + + + + +

+

The desc before the player changed it.

original_name + + + + +

+

The name before the player changed it.

Proc Details

InheritComponent +

+

This proc will fire after the parent's name or desc is changed with a pen, which is trying to apply another rename component. +Since the parent already has a rename component, it will remove the old one and apply the new one. +The name and description changes will be merged or overwritten.

apply_rename +

+

Saves the current name and description before changing them to the player's inputs.

revert_rename +

+

Reverts the name and description to the state before they were changed.

+ + + diff --git a/datum/computer/file/embedded_program/docking/simple.html b/datum/computer/file/embedded_program/docking/simple.html new file mode 100644 index 000000000000..4a7375de6fad --- /dev/null +++ b/datum/computer/file/embedded_program/docking/simple.html @@ -0,0 +1,35 @@ + + + + + + + /datum/computer/file/embedded_program/docking/simple - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/computer/file/embedded_program/docking/simple + + + +

+ + +

Procs

open_doordatum/computer/file/embedded_program/docking/simple/proc/signal_mech_sensor(command)

Proc Details

open_door +

+

datum/computer/file/embedded_program/docking/simple/proc/signal_mech_sensor(command)

+ + + diff --git a/datum/construction_template.html b/datum/construction_template.html new file mode 100644 index 000000000000..a9b1ee3adcb9 --- /dev/null +++ b/datum/construction_template.html @@ -0,0 +1,35 @@ + + + + + + + /datum/construction_template - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

generic structure + + + +

+ + +

Procs

on_template_creationruns in /obj/effect/alien/resin/construction/proc/set_template() for logic needed to occur then

Proc Details

on_template_creation +

+

runs in /obj/effect/alien/resin/construction/proc/set_template() for logic needed to occur then

+ + + diff --git a/datum/construction_template/xenomorph/nest.html b/datum/construction_template/xenomorph/nest.html new file mode 100644 index 000000000000..33294464eec4 --- /dev/null +++ b/datum/construction_template/xenomorph/nest.html @@ -0,0 +1,36 @@ + + + + + + + /datum/construction_template/xenomorph/nest - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

thick resin nest + + + +

+ + +

Vars

direction_to_put_nestThis will be used to orient the nest that will be built
+

Var Details

direction_to_put_nest + + + + +

+

This will be used to orient the nest that will be built

+ + + diff --git a/datum/controller/global_vars.html b/datum/controller/global_vars.html new file mode 100644 index 000000000000..01045b46f0f5 --- /dev/null +++ b/datum/controller/global_vars.html @@ -0,0 +1,377 @@ + + + + + + + /datum/controller/global_vars - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Global Variables + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

AdminProcCallHandlerUse this for indirect proccalls which require a user
admin_statetgui state: admin_state
always_statetgui state: always_state
areas_by_typeAn association from typepath to area instance. Only includes areas with unique set.
blurb_witnessesList of ckeys that have seen a blurb of a given key.
character_trait_groups
cm_vending_clothing_doctordefined in senior_officers.dm
conscious_statetgui state: conscious_state
contained_statetgui state: contained_state
deep_inventory_statetgui state: deep_inventory_state
default_statetgui state: default_state
focused_testThe name of the test that is currently focused. +Use the PERFORM_ALL_TESTS macro instead.
gamemode_rolesList of roles that can be setup for each gamemode
hands_statetgui state: hands_state
hive_statetgui state: hive_state
hive_state_queentgui state: hive_state_queen
human_adjacent_statetgui state: human_adjacent_state
inventory_statetgui state: inventory_state
never_statetgui state: never_state
new_player_statetgui state: new_player_state
not_incapacitated_and_adjacent_statetgui state: not_incapacitated_and_adjacent state
not_incapacitated_and_adjacent_strict_statetgui state: not_incapacitated_and_adjacent_strict state
not_incapacitated_and_adjacent_turf_statetgui state: not_incapacitated_turf_state
not_incapacitated_and_adjacent_turf_strict_statetgui state: not_incapacitated_turf_state
not_incapacitated_and_inventory_statetgui state: not_incapacitated_and_inventory_state
not_incapacitated_and_inventory_turf_statetgui state: not_incapacitated_and_inventory_turf_state
not_incapacitated_statetgui state: not_incapacitated_state
not_incapacitated_turf_statetgui state: not_incapacitated_turf_state
notcontained_statetgui state: notcontained_state
observer_statetgui state: observer_state
ooc_color_overrideIn-round override to default OOC color
perf_flagsGlobal performance feature toggle flags
physical_obscured_statetgui state: physical_obscured_state
physical_statetgui state: physical_state
reverse_contained_statetgui state: reverse_contained_state
self_statetgui state: self_state
time_offsetOffset for the Operation time
trait_name_mapvalue -> trait name, generated on use from trait_by_type global
unit_test_mapping_logsWhen unit testing, all logs sent to log_mapping are stored here and retrieved in log_mapping unit test.
xeno_datum_listXeno caste datums
z_statetgui state: z_state
+

Var Details

AdminProcCallHandler + + + + +

+

Use this for indirect proccalls which require a user

admin_state + + + + +

+

tgui state: admin_state

+

Checks that the user is an admin, end-of-story.

always_state + + + + +

+

tgui state: always_state

+

Always grants the user UI_INTERACTIVE. Period.

areas_by_type + + + + +

+

An association from typepath to area instance. Only includes areas with unique set.

blurb_witnesses + + + + +

+

List of ckeys that have seen a blurb of a given key.

character_trait_groups + + + + +

+

cm_vending_clothing_doctor + + + + +

+

defined in senior_officers.dm

conscious_state + + + + +

+

tgui state: conscious_state

+

Only checks if the user is conscious.

contained_state + + + + +

+

tgui state: contained_state

+

Checks that the user is inside the src_object.

deep_inventory_state + + + + +

+

tgui state: deep_inventory_state

+

Checks that the src_object is in the user's deep +(backpack, box, toolbox, etc) inventory.

default_state + + + + +

+

tgui state: default_state

+

Checks a number of things -- mostly physical distance for humans +and view for robots.

focused_test + + + + +

+

The name of the test that is currently focused. +Use the PERFORM_ALL_TESTS macro instead.

gamemode_roles + + + + +

+

List of roles that can be setup for each gamemode

hands_state + + + + +

+

tgui state: hands_state

+

Checks that the src_object is in the user's hands.

hive_state + + + + +

+

tgui state: hive_state

+

Checks that the user is part of a hive.

hive_state_queen + + + + +

+

tgui state: hive_state_queen

+

Checks that the user is part of a hive and is the leading queen of that hive.

human_adjacent_state + + + + +

+

tgui state: human_adjacent_state

+

In addition to default checks, only allows interaction for a +human adjacent user.

inventory_state + + + + +

+

tgui state: inventory_state

+

Checks that the src_object is in the user's top-level +(hand, ear, pocket, belt, etc) inventory.

never_state + + + + +

+

tgui state: never_state

+

Always closes the UI, no matter what. See the ui_state in religious_tool.dm to see an example

new_player_state + + + + +

+

tgui state: new_player_state

+

Checks that the user is a new_player, or if user is an admin

not_incapacitated_and_adjacent_state + + + + +

+

tgui state: not_incapacitated_and_adjacent state

+

Checks that the user isn't incapacitated and that they are adjacent

+

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

not_incapacitated_and_adjacent_strict_state + + + + +

+

tgui state: not_incapacitated_and_adjacent_strict state

+

Checks that the user isn't incapacitated and that they are adjacent and always does ui_close

+

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

not_incapacitated_and_adjacent_turf_state + + + + +

+

tgui state: not_incapacitated_turf_state

+

Checks that the user isn't incapacitated and that their loc is a turf

not_incapacitated_and_adjacent_turf_strict_state + + + + +

+

tgui state: not_incapacitated_turf_state

+

Checks that the user isn't incapacitated and that their loc is a turf

not_incapacitated_and_inventory_state + + + + +

+

tgui state: not_incapacitated_and_inventory_state

+

Checks that the user isn't incapacitated and the obj is in their inventory

not_incapacitated_and_inventory_turf_state + + + + +

+

tgui state: not_incapacitated_and_inventory_turf_state

+

Checks that the user isn't incapacitated and that their loc is a turf and the obj is in their inventory

not_incapacitated_state + + + + +

+

tgui state: not_incapacitated_state

+

Checks that the user isn't incapacitated

not_incapacitated_turf_state + + + + +

+

tgui state: not_incapacitated_turf_state

+

Checks that the user isn't incapacitated and that their loc is a turf

notcontained_state + + + + +

+

tgui state: notcontained_state

+

Checks that the user is not inside src_object, and then makes the +default checks.

observer_state + + + + +

+

tgui state: observer_state

+

Checks that the user is an observer/ghost.

ooc_color_override + + + + +

+

In-round override to default OOC color

perf_flags + + + + +

+

Global performance feature toggle flags

physical_obscured_state + + + + +

+

tgui state: physical_obscured_state

+

Short-circuits the default state to only check physical distance, being in view doesn't matter

physical_state + + + + +

+

tgui state: physical_state

+

Short-circuits the default state to only check physical distance.

reverse_contained_state + + + + +

+

tgui state: reverse_contained_state

+

Checks if src_object is inside of user.

self_state + + + + +

+

tgui state: self_state

+

Only checks that the user and src_object are the same.

time_offset + + + + +

+

Offset for the Operation time

trait_name_map + + + + +

+

value -> trait name, generated on use from trait_by_type global

unit_test_mapping_logs + + + + +

+

When unit testing, all logs sent to log_mapping are stored here and retrieved in log_mapping unit test.

xeno_datum_list + + + + +

+

Xeno caste datums

z_state + + + + +

+

tgui state: z_state

+

Only checks that the Z-level of the user and src_object are the same.

+ + + diff --git a/datum/controller/master.html b/datum/controller/master.html new file mode 100644 index 000000000000..6d8250264f8f --- /dev/null +++ b/datum/controller/master.html @@ -0,0 +1,147 @@ + + + + + + + /datum/controller/master - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Master + + + +

+ +

Start of queue linked list +End of queue linked list (used for appending to the list) +Are we loading in a new map? +for scheduling different subsystems for different stages of the round

+ + + + + + + + + + + + + + +

Vars

current_initializing_subsystemDuring initialization, will be the instanced subsytem that is currently initializing. +Outside of initialization, returns null.
current_ticklimitcurrent tick limit, assigned before running a subsystem. +used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits
init_stage_completedMost recent init stage to complete init.
iterationHow many times have we ran
last_runworld.time of last fire, for tracking lag outside of the mc
last_type_processedThe type of the last subsystem to be fire()'d.
make_runtimemakes the mc main loop runtime
processingAre we processing (higher values increase the processing delay by n ticks)
skip_ticksOnly run ticker subsystems for the next n ticks.
sleep_deltaHow long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)
stack_end_detectorStack end detector to detect stack overflows that kill the mc's main loop
subsystemsList of subsystems to process().

Procs

RunQueueRunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage +Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors
init_subsystemInitialize a given subsystem and handle the results.
laggy_byond_map_update_incomingWarns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.
+

Var Details

current_initializing_subsystem + + + + +

+

During initialization, will be the instanced subsytem that is currently initializing. +Outside of initialization, returns null.

current_ticklimit + + + + +

+

current tick limit, assigned before running a subsystem. +used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits

init_stage_completed + + + + +

+

Most recent init stage to complete init.

iteration + + + + +

+

How many times have we ran

last_run + + + + +

+

world.time of last fire, for tracking lag outside of the mc

last_type_processed + + + + +

+

The type of the last subsystem to be fire()'d.

make_runtime + + + + +

+

makes the mc main loop runtime

processing + + + + +

+

Are we processing (higher values increase the processing delay by n ticks)

skip_ticks + + + + +

+

Only run ticker subsystems for the next n ticks.

sleep_delta + + + + +

+

How long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)

stack_end_detector + + + + +

+

Stack end detector to detect stack overflows that kill the mc's main loop

subsystems + + + + +

+

List of subsystems to process().

Proc Details

RunQueue +

+

RunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage +Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors

init_subsystem +

+

Initialize a given subsystem and handle the results.

+

Arguments:

+

laggy_byond_map_update_incoming +

+

Warns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.

+ + + diff --git a/datum/controller/subsystem.html b/datum/controller/subsystem.html new file mode 100644 index 000000000000..95ae47a6abe3 --- /dev/null +++ b/datum/controller/subsystem.html @@ -0,0 +1,296 @@ + + + + + + + /datum/controller/subsystem - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Subsystem base class + + + +

+ +

Defines a subsystem to be managed by the Master Controller

+

Simply define a child of this subsystem, using the [SUBSYSTEM_DEF] macro, and the MC will handle registration. +Changing the name is required

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_fireSet to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later +use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to list that is checked every tick
costRunning average of the amount of milliseconds it takes the subsystem to complete a run (including all resumes but not the time spent paused)
failure_strikesHow many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!
flagsSubsystem Flags to control binary behavior. Flags must be set at compile time or before preinit finishes to take full effect. (You can also restart the mc to force them to process again)
init_orderOrder of initialization. Higher numbers are initialized first, lower numbers later. Use or create defines such as [INIT_ORDER_DEFAULT] so we can see the order in one file.
init_stageWhich stage does this subsystem init at. Earlier stages can fire while later stages init.
initializedThis var is set to TRUE after the subsystem has been initialized.
last_fireLast world.time the subsystem completed a run (as in wasn't paused by [MC_TICK_CHECK])
nameName of the subsystem - you must change this
next_fireScheduled world.time for next fire()
paused_tick_usageTracks how much of a tick the subsystem has consumed in the current run
paused_ticksTracks how many fires the subsystem has consecutively paused on in the current run
postponed_firesHow many fires have we been requested to postpone
priorityPriority Weight: When mutiple subsystems need to run in the same tick, higher priority subsystems will be given a higher share of the tick before MC_TICK_CHECK triggers a sleep, higher priority subsystems also run before lower priority subsystems
queue_nextNext subsystem in the queue of subsystems to run this tick
queue_prevPrevious subsystem in the queue of subsystems to run this tick
queued_priorityPriority at the time the subsystem entered the queue. Needed to avoid changes in priority (by admins and the like) from breaking things.
queued_timeTime the subsystem entered the queue, (for timing and priority reasons)
runlevelsBitmap of what game states can this subsystem fire at. See [RUNLEVELS_DEFAULT] for more details.
slept_countTracks how many times a subsystem has ever slept in fire().
stateTracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping
tick_allocation_avgHow much of a tick (in percents of a tick) do we get allocated by the mc on avg.
tick_allocation_lastHow much of a tick (in percents of a tick) were we allocated last fire.
tick_overrunRunning average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing
tick_usageRunning average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run
ticksTracks how many fires the subsystem takes to complete a run on average.
times_firedTracks the amount of completed runs for the subsystem
waitTime to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Procs

InitializeUsed to initialize the subsystem. This is expected to be overriden by subtypes.
OnConfigLoadCalled after the config has been loaded or reloaded.
PreInitdatum/controller/subsystem/New()
enqueueQueue it to run. +(we loop thru a linked list until we get to the end or find the right point) +(this lets us sort our run order correctly without having to re-sort the entire already sorted list)
firepreviously, this would have been named 'process()' but that name is used everywhere for different things! +fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. +Sleeping in here prevents future fires until returned.
igniteThis is used so the mc knows when the subsystem sleeps. do not override.
postponeCauses the next "cycle" fires to be missed. Effect is accumulative but can reset by calling update_nextfire(reset_time = TRUE)
update_nextfire
+

Var Details

can_fire + + + + +

+

Set to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later +use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to list that is checked every tick

cost + + + + +

+

Running average of the amount of milliseconds it takes the subsystem to complete a run (including all resumes but not the time spent paused)

failure_strikes + + + + +

+

How many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!

flags + + + + +

+

Subsystem Flags to control binary behavior. Flags must be set at compile time or before preinit finishes to take full effect. (You can also restart the mc to force them to process again)

init_order + + + + +

+

Order of initialization. Higher numbers are initialized first, lower numbers later. Use or create defines such as [INIT_ORDER_DEFAULT] so we can see the order in one file.

init_stage + + + + +

+

Which stage does this subsystem init at. Earlier stages can fire while later stages init.

initialized + + + + +

+

This var is set to TRUE after the subsystem has been initialized.

last_fire + + + + +

+

Last world.time the subsystem completed a run (as in wasn't paused by [MC_TICK_CHECK])

name + + + + +

+

Name of the subsystem - you must change this

next_fire + + + + +

+

Scheduled world.time for next fire()

paused_tick_usage + + + + +

+

Tracks how much of a tick the subsystem has consumed in the current run

paused_ticks + + + + +

+

Tracks how many fires the subsystem has consecutively paused on in the current run

postponed_fires + + + + +

+

How many fires have we been requested to postpone

priority + + + + +

+

Priority Weight: When mutiple subsystems need to run in the same tick, higher priority subsystems will be given a higher share of the tick before MC_TICK_CHECK triggers a sleep, higher priority subsystems also run before lower priority subsystems

queue_next + + + + +

+

Next subsystem in the queue of subsystems to run this tick

queue_prev + + + + +

+

Previous subsystem in the queue of subsystems to run this tick

queued_priority + + + + +

+

Priority at the time the subsystem entered the queue. Needed to avoid changes in priority (by admins and the like) from breaking things.

queued_time + + + + +

+

Time the subsystem entered the queue, (for timing and priority reasons)

runlevels + + + + +

+

Bitmap of what game states can this subsystem fire at. See [RUNLEVELS_DEFAULT] for more details.

slept_count + + + + +

+

Tracks how many times a subsystem has ever slept in fire().

state + + + + +

+

Tracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping

tick_allocation_avg + + + + +

+

How much of a tick (in percents of a tick) do we get allocated by the mc on avg.

tick_allocation_last + + + + +

+

How much of a tick (in percents of a tick) were we allocated last fire.

tick_overrun + + + + +

+

Running average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing

tick_usage + + + + +

+

Running average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run

ticks + + + + +

+

Tracks how many fires the subsystem takes to complete a run on average.

times_fired + + + + +

+

Tracks the amount of completed runs for the subsystem

wait + + + + +

+

Time to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Proc Details

Initialize +

+

Used to initialize the subsystem. This is expected to be overriden by subtypes.

OnConfigLoad +

+

Called after the config has been loaded or reloaded.

PreInit +

+

datum/controller/subsystem/New()

enqueue +

+

Queue it to run. +(we loop thru a linked list until we get to the end or find the right point) +(this lets us sort our run order correctly without having to re-sort the entire already sorted list)

fire +

+

previously, this would have been named 'process()' but that name is used everywhere for different things! +fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. +Sleeping in here prevents future fires until returned.

ignite +

+

This is used so the mc knows when the subsystem sleeps. do not override.

postpone +

+

Causes the next "cycle" fires to be missed. Effect is accumulative but can reset by calling update_nextfire(reset_time = TRUE)

update_nextfire +

+
+ + + diff --git a/datum/controller/subsystem/atoms.html b/datum/controller/subsystem/atoms.html new file mode 100644 index 000000000000..8e211700caf4 --- /dev/null +++ b/datum/controller/subsystem/atoms.html @@ -0,0 +1,84 @@ + + + + + + + /datum/controller/subsystem/atoms - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Atoms + + + +

+ + + + + + + + +

Vars

initialized_changedA count of how many initalize changes we've made. We want to prevent old_initialize being overriden by some other value, breaking init code

Procs

CreateAtomsActually creates the list of atoms. Exists soley so a runtime in the creation logic doesn't cause initalized to totally break
InitAtomInit this specific atom
InitializeLateLoadersProcesses all late_loaders, checking the length each iteration and prevents duplicate calls +This is necessary because of an edge case where there might be simultanious calls to InitializeAtoms
fix_atoms_locsForce reset atoms loc, as map expansion can botch turf contents for multitiles +This is obviously a bandaid fix, see CM MR !2797, /tg/ PR #65638, +and the BYOND Bug Report: http://www.byond.com/forum/post/2777527
initializing_somethingReturns TRUE if anything is currently being initialized
set_tracked_initalizedUse this to set initialized to prevent error states where old_initialized is overriden. It keeps happening and it's cheesing me off
+

Var Details

initialized_changed + + + + +

+

A count of how many initalize changes we've made. We want to prevent old_initialize being overriden by some other value, breaking init code

Proc Details

CreateAtoms +

+

Actually creates the list of atoms. Exists soley so a runtime in the creation logic doesn't cause initalized to totally break

InitAtom +

+

Init this specific atom

InitializeLateLoaders +

+

Processes all late_loaders, checking the length each iteration and prevents duplicate calls +This is necessary because of an edge case where there might be simultanious calls to InitializeAtoms

fix_atoms_locs +

+

Force reset atoms loc, as map expansion can botch turf contents for multitiles +This is obviously a bandaid fix, see CM MR !2797, /tg/ PR #65638, +and the BYOND Bug Report: http://www.byond.com/forum/post/2777527

initializing_something +

+

Returns TRUE if anything is currently being initialized

set_tracked_initalized +

+

Use this to set initialized to prevent error states where old_initialized is overriden. It keeps happening and it's cheesing me off

+ + + diff --git a/datum/controller/subsystem/database_query_manager.html b/datum/controller/subsystem/database_query_manager.html new file mode 100644 index 000000000000..174352acdd8e --- /dev/null +++ b/datum/controller/subsystem/database_query_manager.html @@ -0,0 +1,78 @@ + + + + + + + /datum/controller/subsystem/database_query_manager - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Database QM + + + +

+ + + + + + + + +

Vars

max_concurrent_queriesMaximum amount of queries that can be ran concurrently
queries_activeQueries currently being handled by database driver
queries_currentQueries left to handle during controller firing
queries_newQueries pending execution that will be handled this controller firing
queries_standbyQueries pending execution, mapped to complete arguments

Procs

create_queued_queryHelper proc for handling queued new queries
process_queryHelper proc for query processing used in fire() - returns TRUE if not done yet
+

Var Details

max_concurrent_queries + + + + +

+

Maximum amount of queries that can be ran concurrently

queries_active + + + + +

+

Queries currently being handled by database driver

queries_current + + + + +

+

Queries left to handle during controller firing

queries_new + + + + +

+

Queries pending execution that will be handled this controller firing

queries_standby + + + + +

+

Queries pending execution, mapped to complete arguments

Proc Details

create_queued_query +

+

Helper proc for handling queued new queries

process_query +

+

Helper proc for query processing used in fire() - returns TRUE if not done yet

+ + + diff --git a/datum/controller/subsystem/events.html b/datum/controller/subsystem/events.html new file mode 100644 index 000000000000..20f48ffecfd0 --- /dev/null +++ b/datum/controller/subsystem/events.html @@ -0,0 +1,85 @@ + + + + + + + /datum/controller/subsystem/events - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Events + + + +

+ + + + + + + + + +

Vars

controllist of all datum/round_event_control. Used for selecting events based on weight and occurrences.
frequency_lowerLower bound for how frequently events will occur
frequency_upperthe latest an event can happen after a previous event
runninglist of all existing /datum/round_event
scheduledThe next world.time that a naturally occuring random event can be selected.

Procs

check_eventchecks if we should select a random event yet, and reschedules if necessary
rescheduledecides which world.time we should select another random event at.
spawn_eventselects a random event based on whether it can occur and it's 'weight'(probability)
+

Var Details

control + + + + +

+

list of all datum/round_event_control. Used for selecting events based on weight and occurrences.

frequency_lower + + + + +

+

Lower bound for how frequently events will occur

frequency_upper + + + + +

+

the latest an event can happen after a previous event

running + + + + +

+

list of all existing /datum/round_event

scheduled + + + + +

+

The next world.time that a naturally occuring random event can be selected.

Proc Details

check_event +

+

checks if we should select a random event yet, and reschedules if necessary

reschedule +

+

decides which world.time we should select another random event at.

spawn_event +

+

selects a random event based on whether it can occur and it's 'weight'(probability)

+ + + diff --git a/datum/controller/subsystem/influxdriver.html b/datum/controller/subsystem/influxdriver.html new file mode 100644 index 000000000000..11b1f69acdb6 --- /dev/null +++ b/datum/controller/subsystem/influxdriver.html @@ -0,0 +1,82 @@ + + + + + + + /datum/controller/subsystem/influxdriver - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

InfluxDB Driver + + + +

+ + + + + + + + +

Vars

max_batchMaximum amount of metric lines to send at most in one request +This is neccessary because sending a lot of metrics can get expensive +and drive the subsystem into overtime, but we can't split the work as it'd be even less efficient
timestamp_cache_realtimeLast timestamp in microseconds
timestamp_cache_worldtimeLast tick time the timestamp was taken at

Procs

enqueue_statsEnqueues sending to InfluxDB Backend selected measurement values - round_id and timestamp are filled in automatically
enqueue_stats_crudeEnqueues sending varied stats in a dumb and simpler format directly as: measurement count=
flush_queueFlushes measurements batch to InfluxDB backend
serialize_fieldPuts a single field or tag value into InfluxDB Line format
+

Var Details

max_batch + + + + +

+

Maximum amount of metric lines to send at most in one request +This is neccessary because sending a lot of metrics can get expensive +and drive the subsystem into overtime, but we can't split the work as it'd be even less efficient

timestamp_cache_realtime + + + + +

+

Last timestamp in microseconds

timestamp_cache_worldtime + + + + +

+

Last tick time the timestamp was taken at

Proc Details

enqueue_stats +

+

Enqueues sending to InfluxDB Backend selected measurement values - round_id and timestamp are filled in automatically

enqueue_stats_crude +

+

Enqueues sending varied stats in a dumb and simpler format directly as: measurement count=

flush_queue +

+

Flushes measurements batch to InfluxDB backend

serialize_field +

+

Puts a single field or tag value into InfluxDB Line format

+ + + diff --git a/datum/controller/subsystem/interior.html b/datum/controller/subsystem/interior.html new file mode 100644 index 000000000000..54203aad967c --- /dev/null +++ b/datum/controller/subsystem/interior.html @@ -0,0 +1,49 @@ + + + + + + + /datum/controller/subsystem/interior - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Interiors + + + +

+ + + + +

Procs

get_interior_by_coordsFinds which interior is at (x, y, z) and returns its interior datum
in_interiorChecks if an atom is in an interior
load_interiorLoads an interior, requires the interior datum

Proc Details

get_interior_by_coords +

+

Finds which interior is at (x, y, z) and returns its interior datum

in_interior +

+

Checks if an atom is in an interior

load_interior +

+

Loads an interior, requires the interior datum

+ + + diff --git a/datum/controller/subsystem/mapping.html b/datum/controller/subsystem/mapping.html new file mode 100644 index 000000000000..8b1b12e58ba3 --- /dev/null +++ b/datum/controller/subsystem/mapping.html @@ -0,0 +1,35 @@ + + + + + + + /datum/controller/subsystem/mapping - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Mapping + + + +

+ + +

Procs

get_main_ship_nameGets a name for the marine ship as per the enabled ship map configuration

Proc Details

get_main_ship_name +

+

Gets a name for the marine ship as per the enabled ship map configuration

+ + + diff --git a/datum/controller/subsystem/minimaps.html b/datum/controller/subsystem/minimaps.html new file mode 100644 index 000000000000..0b80f32cb9dd --- /dev/null +++ b/datum/controller/subsystem/minimaps.html @@ -0,0 +1,175 @@ + + + + + + + /datum/controller/subsystem/minimaps - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Minimaps + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

earlyaddslist of callbacks we need to invoke late because Initialize happens early
hashed_minimapsassoc list of minimap objects that are hashed so we have to update as few as possible
hashed_tacmapsassociated list of tacmap datums with a hash
images_by_sourceAssoc list of images we hold by their source
minimap_addedweakrefs of xenos temporarily added to the marine minimap
minimaps_by_zMinimap hud display datums sorted by zlevel
removal_cbsAssoc list of removal callbacks to invoke to remove images from the raw lists
update_targetsthe update target datums, sorted by update flag type
update_targets_unsortedNonassoc list of targets we want to be stripped of their overlays during the SS fire
updators_by_datumlist of holders for data relating to tracked zlevel and tracked atom

Procs

add_markerAdds an atom we want to track with blips to the subsystem +Arguments:
add_to_updatersAdds an atom to the processing updators that will have blips drawn on them +Arguments:
fetch_minimap_objectFetches a /atom/movable/screen/minimap instance or creates on if none exists +Note this does not destroy them when the map is unused, might be a potential thing to do? +Arguments:
on_z_changeCalled on zlevel change of a blip-atom so we can update the image lists as needed
remove_markerRemoves an atom and it's blip from the subsystem. +Force has no effect on this proc, but is here because we are a COMSIG_PARENT_QDELETING handler.
remove_updatorRemoves a atom from the subsystems updating overlays
removeimageremoves an image from raw tracked lists, invoked by callback
+

Var Details

earlyadds + + + + +

+

list of callbacks we need to invoke late because Initialize happens early

hashed_minimaps + + + + +

+

assoc list of minimap objects that are hashed so we have to update as few as possible

hashed_tacmaps + + + + +

+

associated list of tacmap datums with a hash

images_by_source + + + + +

+

Assoc list of images we hold by their source

minimap_added + + + + +

+

weakrefs of xenos temporarily added to the marine minimap

minimaps_by_z + + + + +

+

Minimap hud display datums sorted by zlevel

removal_cbs + + + + +

+

Assoc list of removal callbacks to invoke to remove images from the raw lists

update_targets + + + + +

+

the update target datums, sorted by update flag type

update_targets_unsorted + + + + +

+

Nonassoc list of targets we want to be stripped of their overlays during the SS fire

updators_by_datum + + + + +

+

list of holders for data relating to tracked zlevel and tracked atom

Proc Details

add_marker +

+

Adds an atom we want to track with blips to the subsystem +Arguments:

+

add_to_updaters +

+

Adds an atom to the processing updators that will have blips drawn on them +Arguments:

+

fetch_minimap_object +

+

Fetches a /atom/movable/screen/minimap instance or creates on if none exists +Note this does not destroy them when the map is unused, might be a potential thing to do? +Arguments:

+

on_z_change +

+

Called on zlevel change of a blip-atom so we can update the image lists as needed

remove_marker +

+

Removes an atom and it's blip from the subsystem. +Force has no effect on this proc, but is here because we are a COMSIG_PARENT_QDELETING handler.

remove_updator +

+

Removes a atom from the subsystems updating overlays

removeimage +

+

removes an image from raw tracked lists, invoked by callback

+ + + diff --git a/datum/controller/subsystem/nightmare.html b/datum/controller/subsystem/nightmare.html new file mode 100644 index 000000000000..b05d81203adf --- /dev/null +++ b/datum/controller/subsystem/nightmare.html @@ -0,0 +1,92 @@ + + + + + + + /datum/controller/subsystem/nightmare - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Nightmare + + + +

+ + + + + + + + + + +

Vars

contextsList of nightmare context types, mapped to their instance
rootsList of parsed file nodes

Procs

get_scenario_valueReturns a value from the global scenario
load_fileReads a JSON file, returns a branch nmnode representing contents of file
load_map_configLoad nightmare steps relevant to a map
parse_fileReads a JSON file, returns list of config nodes in the file
parse_treeInstanciates nmnodes from parsed JSON
read_nodeInstanciate a single nmnode from its JSON definition
set_scenario_valueOverride a value from the global scenario.
+

Var Details

contexts + + + + +

+

List of nightmare context types, mapped to their instance

roots + + + + +

+

List of parsed file nodes

Proc Details

get_scenario_value +

+

Returns a value from the global scenario

load_file +

+

Reads a JSON file, returns a branch nmnode representing contents of file

load_map_config +

+

Load nightmare steps relevant to a map

parse_file +

+

Reads a JSON file, returns list of config nodes in the file

parse_tree +

+

Instanciates nmnodes from parsed JSON

read_node +

+

Instanciate a single nmnode from its JSON definition

set_scenario_value +

+

Override a value from the global scenario.

+ + + diff --git a/datum/controller/subsystem/objectives.html b/datum/controller/subsystem/objectives.html new file mode 100644 index 000000000000..6743c455fd35 --- /dev/null +++ b/datum/controller/subsystem/objectives.html @@ -0,0 +1,35 @@ + + + + + + + /datum/controller/subsystem/objectives - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Objectives + + + +

+ + +

Procs

initialize_objectivesAllows to perform objective initialization later on in case of map changes

Proc Details

initialize_objectives +

+

Allows to perform objective initialization later on in case of map changes

+ + + diff --git a/datum/controller/subsystem/perf_logging.html b/datum/controller/subsystem/perf_logging.html new file mode 100644 index 000000000000..e245e358241d --- /dev/null +++ b/datum/controller/subsystem/perf_logging.html @@ -0,0 +1,49 @@ + + + + + + + /datum/controller/subsystem/perf_logging - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Perf Logging + + + +

+ + + + +

Procs

new_recordInsert a new timing record for a single subsystem
start_loggingSetup to begin performance logging when game starts
update_mc_timingInsert a new timing record for the MC as a whole

Proc Details

new_record +

+

Insert a new timing record for a single subsystem

start_logging +

+

Setup to begin performance logging when game starts

update_mc_timing +

+

Insert a new timing record for the MC as a whole

+ + + diff --git a/datum/controller/subsystem/processing/dcs.html b/datum/controller/subsystem/processing/dcs.html new file mode 100644 index 000000000000..bb40a0819a94 --- /dev/null +++ b/datum/controller/subsystem/processing/dcs.html @@ -0,0 +1,41 @@ + + + + + + + /datum/controller/subsystem/processing/dcs - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Datum Component System + + + +

+ + +

Procs

GetIdFromArgumentsGenerates an id for bespoke elements when given the argument list +Generating the id here is a bit complex because we need to support named arguments +Named arguments can appear in any order and we need them to appear after ordered arguments +We assume that no one will pass in a named argument with a value of null

Proc Details

GetIdFromArguments +

+

Generates an id for bespoke elements when given the argument list +Generating the id here is a bit complex because we need to support named arguments +Named arguments can appear in any order and we need them to appear after ordered arguments +We assume that no one will pass in a named argument with a value of null

+ + + diff --git a/datum/controller/subsystem/projectiles.html b/datum/controller/subsystem/projectiles.html new file mode 100644 index 000000000000..eed90708369d --- /dev/null +++ b/datum/controller/subsystem/projectiles.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/projectiles - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Projectiles + + + +

+ + + + +

Vars

flyingList of projectiles handled this controller firing
projectilesList of projectiles handled by the subsystem
sleepersList of projectiles on hold due to sleeping
+

Var Details

flying + + + + +

+

List of projectiles handled this controller firing

projectiles + + + + +

+

List of projectiles handled by the subsystem

sleepers + + + + +

+

List of projectiles on hold due to sleeping

+ + + diff --git a/datum/controller/subsystem/redis.html b/datum/controller/subsystem/redis.html new file mode 100644 index 000000000000..ddbcc7a83df4 --- /dev/null +++ b/datum/controller/subsystem/redis.html @@ -0,0 +1,64 @@ + + + + + + + /datum/controller/subsystem/redis - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Redis + + + +

+ + + + + + +

Vars

connectedif a connection to redis has been established
instance_namethe name this server uses externally
queuemessage queue, for messages sent prior to initialization
redis_loggingif this server is sending logs to redis, in addition to the file system
subbed_channelssubscribed to channels on the redis server
+

Var Details

connected + + + + +

+

if a connection to redis has been established

instance_name + + + + +

+

the name this server uses externally

queue + + + + +

+

message queue, for messages sent prior to initialization

redis_logging + + + + +

+

if this server is sending logs to redis, in addition to the file system

subbed_channels + + + + +

+

subscribed to channels on the redis server

+ + + diff --git a/datum/controller/subsystem/shuttle.html b/datum/controller/subsystem/shuttle.html new file mode 100644 index 000000000000..8f91c793ce12 --- /dev/null +++ b/datum/controller/subsystem/shuttle.html @@ -0,0 +1,63 @@ + + + + + + + /datum/controller/subsystem/shuttle - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Shuttle + + + +

+ + + + + +

Vars

assoc_mobileFor ID generation
assoc_stationaryFor ID generation
loading_shuttlesafety to stop shuttles loading over each other

Procs

moveShuttleMoves a shuttle to a new location
+

Var Details

assoc_mobile + + + + +

+

For ID generation

assoc_stationary + + + + +

+

For ID generation

loading_shuttle + + + + +

+

safety to stop shuttles loading over each other

Proc Details

moveShuttle +

+

Moves a shuttle to a new location

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/statpanels.html b/datum/controller/subsystem/statpanels.html new file mode 100644 index 000000000000..322ffc968dca --- /dev/null +++ b/datum/controller/subsystem/statpanels.html @@ -0,0 +1,87 @@ + + + + + + + /datum/controller/subsystem/statpanels - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Stat Panels + + + +

+ + + + + + + + + +

Vars

default_waithow many subsystem fires between most tab updates
mc_waithow many subsystem fires between updates of the MC tab
num_fireshow many full runs this subsystem has completed. used for variable rate refreshes.
status_waithow many subsystem fires between updates of the status tab

Procs

immediate_send_stat_dataimmediately update the active statpanel tab of the target client
refresh_client_obj_viewSet the atoms we're meant to display
return_object_imagesReturns all our ready object tab images +Returns a list in the form list(list(object_name, object_ref, loaded_image), ...)
set_SDQL2_tabSets the current tab to the SDQL tab
+

Var Details

default_wait + + + + +

+

how many subsystem fires between most tab updates

mc_wait + + + + +

+

how many subsystem fires between updates of the MC tab

num_fires + + + + +

+

how many full runs this subsystem has completed. used for variable rate refreshes.

status_wait + + + + +

+

how many subsystem fires between updates of the status tab

Proc Details

immediate_send_stat_data +

+

immediately update the active statpanel tab of the target client

refresh_client_obj_view +

+

Set the atoms we're meant to display

return_object_images +

+

Returns all our ready object tab images +Returns a list in the form list(list(object_name, object_ref, loaded_image), ...)

set_SDQL2_tab +

+

Sets the current tab to the SDQL tab

+ + + diff --git a/datum/controller/subsystem/tgui.html b/datum/controller/subsystem/tgui.html new file mode 100644 index 000000000000..1398f18d7989 --- /dev/null +++ b/datum/controller/subsystem/tgui.html @@ -0,0 +1,202 @@ + + + + + + + /datum/controller/subsystem/tgui - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

tgui + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

basehtmlThe HTML base used for all UIs.
current_runA list of UIs scheduled to process
open_uisA list of open UIs
open_uis_by_srcA list of open UIs, grouped by src_object.

Procs

close_all_uispublic
close_uispublic
close_user_uispublic
force_close_all_windowspublic
force_close_windowpublic
get_open_uipublic
on_closeprivate
on_logoutprivate
on_openprivate
on_transferprivate
request_pooled_windowpublic
try_update_uipublic
update_uispublic
update_user_uispublic
+

Var Details

basehtml + + + + +

+

The HTML base used for all UIs.

current_run + + + + +

+

A list of UIs scheduled to process

open_uis + + + + +

+

A list of open UIs

open_uis_by_src + + + + +

+

A list of open UIs, grouped by src_object.

Proc Details

close_all_uis +

+

public

+

Close all UIs regardless of their attachment to src_object.

+

return int The number of UIs closed.

close_uis +

+

public

+

Close all UIs attached to src_object.

+

required src_object datum The object/datum which owns the UIs.

+

return int The number of UIs closed.

close_user_uis +

+

public

+

Close all UIs belonging to a user.

+

required user mob The mob who opened/is using the UI. +optional src_object datum If provided, only close UIs belonging this src_object.

+

return int The number of UIs closed.

force_close_all_windows +

+

public

+

Force closes all tgui windows.

+

required user mob

force_close_window +

+

public

+

Force closes the tgui window by window_id.

+

required user mob +required window_id string

get_open_ui +

+

public

+

Get a open UI given a user and src_object.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object/datum which owns the UI.

+

return datum/tgui The found UI.

on_close +

+

private

+

Remove a UI from the list of open UIs.

+

required ui datum/tgui The UI to be removed.

+

return bool If the UI was removed or not.

on_logout +

+

private

+

Handle client logout, by closing all their UIs.

+

required user mob The mob which logged out.

+

return int The number of UIs closed.

on_open +

+

private

+

Add a UI to the list of open UIs.

+

required ui datum/tgui The UI to be added.

on_transfer +

+

private

+

Handle clients switching mobs, by transferring their UIs.

+

required user source The client's original mob. +required user target The client's new mob.

+

return bool If the UIs were transferred.

request_pooled_window +

+

public

+

Requests a usable tgui window from the pool. +Returns null if pool was exhausted.

+

required user mob +return datum/tgui

try_update_ui +

+

public

+

Try to find an instance of a UI, and push an update to it.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object/datum which owns the UI. +optional ui datum/tgui The UI to be updated, if it exists. +optional force_open bool If the UI should be re-opened instead of updated.

+

return datum/tgui The found UI.

update_uis +

+

public

+

Update all UIs attached to src_object.

+

required src_object datum The object/datum which owns the UIs.

+

return int The number of UIs updated.

update_user_uis +

+

public

+

Update all UIs belonging to a user.

+

required user mob The mob who opened/is using the UI. +optional src_object datum If provided, only update UIs belonging this src_object.

+

return int The number of UIs updated.

+ + + diff --git a/datum/controller/subsystem/ticker.html b/datum/controller/subsystem/ticker.html new file mode 100644 index 000000000000..a0469ad6de47 --- /dev/null +++ b/datum/controller/subsystem/ticker.html @@ -0,0 +1,57 @@ + + + + + + + /datum/controller/subsystem/ticker - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Ticker + + + +

+ + + + + +

Vars

tippedIf we have already done tip of the round.

Procs

apply_lazy_timingsPlaceholder proc to apply slower SS timings for performance. Should be refactored to be included in Master/SS probably. Note we can't change prios after MC init.
request_startAttempt to start game asynchronously if applicable
setup_startTry to effectively setup gamemode and start now
+

Var Details

tipped + + + + +

+

If we have already done tip of the round.

Proc Details

apply_lazy_timings +

+

Placeholder proc to apply slower SS timings for performance. Should be refactored to be included in Master/SS probably. Note we can't change prios after MC init.

request_start +

+

Attempt to start game asynchronously if applicable

setup_start +

+

Try to effectively setup gamemode and start now

+ + + diff --git a/datum/controller/subsystem/timer.html b/datum/controller/subsystem/timer.html new file mode 100644 index 000000000000..802445f67a64 --- /dev/null +++ b/datum/controller/subsystem/timer.html @@ -0,0 +1,141 @@ + + + + + + + /datum/controller/subsystem/timer - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Timer + + + +

+ + + + + + + + + + + + + + + + + +

Vars

bucket_auto_resetBoolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time
bucket_countHow many timers are in the buckets
bucket_listList of buckets, each bucket holds every timer that has to run that byond tick
bucket_reset_countHow many times bucket was reset
bucket_resolutionworld.tick_lag the bucket was designed for
clienttime_timersSpecial timers that run in real-time, not BYOND time; these are more expensive to run and maintain
hashesA hashlist dictionary used for storing unique timers
head_offsetworld.time of the first entry in the bucket list, effectively the 'start time' of the current buckets
last_invoke_tickContains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed
last_invoke_warningContains the last time that a warning was issued for not invoking callbacks
next_clienttime_timer_indexKeeps track of the next index to work on for client timers
practical_offsetIndex of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.
second_queueQueue used for storing timers that do not fit into the current buckets
timer_id_dictList of all active timers associated to their timer ID (for easy lookup)

Procs

get_timer_debug_stringGenerates a string with details about the timed event for debugging purposes
reset_bucketsDestroys the existing buckets and creates new buckets from the existing timed events
+

Var Details

bucket_auto_reset + + + + +

+

Boolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time

bucket_count + + + + +

+

How many timers are in the buckets

bucket_list + + + + +

+

List of buckets, each bucket holds every timer that has to run that byond tick

bucket_reset_count + + + + +

+

How many times bucket was reset

bucket_resolution + + + + +

+

world.tick_lag the bucket was designed for

clienttime_timers + + + + +

+

Special timers that run in real-time, not BYOND time; these are more expensive to run and maintain

hashes + + + + +

+

A hashlist dictionary used for storing unique timers

head_offset + + + + +

+

world.time of the first entry in the bucket list, effectively the 'start time' of the current buckets

last_invoke_tick + + + + +

+

Contains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed

last_invoke_warning + + + + +

+

Contains the last time that a warning was issued for not invoking callbacks

next_clienttime_timer_index + + + + +

+

Keeps track of the next index to work on for client timers

practical_offset + + + + +

+

Index of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.

second_queue + + + + +

+

Queue used for storing timers that do not fit into the current buckets

timer_id_dict + + + + +

+

List of all active timers associated to their timer ID (for easy lookup)

Proc Details

get_timer_debug_string +

+

Generates a string with details about the timed event for debugging purposes

reset_buckets +

+

Destroys the existing buckets and creates new buckets from the existing timed events

+ + + diff --git a/datum/controller/subsystem/vote.html b/datum/controller/subsystem/vote.html new file mode 100644 index 000000000000..f0b99521260e --- /dev/null +++ b/datum/controller/subsystem/vote.html @@ -0,0 +1,66 @@ + + + + + + + /datum/controller/subsystem/vote - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Vote + + + +

+ + + + + + +

Vars

adjustmentsAdjustments applied to the current round's votes
carryoverVotes from previous rounds
choicesCurrent round votes
on_vote_endCallback that runs when the vote ends
vote_adjustment_callbackCallback to calculate how many votes to add/remove +Pass the number of current round votes and carryover
+

Var Details

adjustments + + + + +

+

Adjustments applied to the current round's votes

carryover + + + + +

+

Votes from previous rounds

choices + + + + +

+

Current round votes

on_vote_end + + + + +

+

Callback that runs when the vote ends

vote_adjustment_callback + + + + +

+

Callback to calculate how many votes to add/remove +Pass the number of current round votes and carryover

+ + + diff --git a/datum/controller/subsystem/weather.html b/datum/controller/subsystem/weather.html new file mode 100644 index 000000000000..f75f6bfc45fb --- /dev/null +++ b/datum/controller/subsystem/weather.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/weather - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Weather + + + +

+ + + + +

Vars

map_holderImportant vars
weather_areasList of master areas to use for applying effects

Procs

setup_weather_eventStartup of an arbitrary weather event if none is running. Returns TRUE if successful.
+

Var Details

map_holder + + + + +

+

Important vars

weather_areas + + + + +

+

List of master areas to use for applying effects

Proc Details

setup_weather_event +

+

Startup of an arbitrary weather event if none is running. Returns TRUE if successful.

+ + + diff --git a/datum/controller/supply.html b/datum/controller/supply.html new file mode 100644 index 000000000000..0f2fcb465178 --- /dev/null +++ b/datum/controller/supply.html @@ -0,0 +1,57 @@ + + + + + + + /datum/controller/supply - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/controller/supply + + + +

+ + + + + +

Vars

black_market_enabledIf the black market is enabled.
black_market_pointsin Weyland-Yutani dollars - Not Stan_Albatross.
black_market_sold_itemsThis contains a list of all typepaths of sold items and how many times they've been recieved. Used to calculate points dropoff (Can't send down a hundred blue souto cans for infinite points)
mendoza_statusIf the players killed him by sending a live hostile below.. this goes false and they can't order any more contraband.
+

Var Details

black_market_enabled + + + + +

+

If the black market is enabled.

black_market_points + + + + +

+

in Weyland-Yutani dollars - Not Stan_Albatross.

black_market_sold_items + + + + +

+

This contains a list of all typepaths of sold items and how many times they've been recieved. Used to calculate points dropoff (Can't send down a hundred blue souto cans for infinite points)

mendoza_status + + + + +

+

If the players killed him by sending a live hostile below.. this goes false and they can't order any more contraband.

+ + + diff --git a/datum/coords/qtplayer.html b/datum/coords/qtplayer.html new file mode 100644 index 000000000000..06ea10d5c92f --- /dev/null +++ b/datum/coords/qtplayer.html @@ -0,0 +1,43 @@ + + + + + + + /datum/coords/qtplayer - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/coords/qtplayer + + + +

+ + + +

Vars

is_observerTruthy if player is an observer
playerRelevant client the coords are associated to
+

Var Details

is_observer + + + + +

+

Truthy if player is an observer

player + + + + +

+

Relevant client the coords are associated to

+ + + diff --git a/datum/crewmonitor.html b/datum/crewmonitor.html new file mode 100644 index 000000000000..d89785b29735 --- /dev/null +++ b/datum/crewmonitor.html @@ -0,0 +1,57 @@ + + + + + + + /datum/crewmonitor - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/crewmonitor + + + +

+ + + + + +

Vars

dataCache of data generated, used for serving the data within SENSOR_UPDATE_PERIOD of the last update
jobsMap of job to ID for sorting purposes
last_updateCache of last update time
ui_sourcesList of user -> UI source
+

Var Details

data + + + + +

+

Cache of data generated, used for serving the data within SENSOR_UPDATE_PERIOD of the last update

jobs + + + + +

+

Map of job to ID for sorting purposes

last_update + + + + +

+

Cache of last update time

ui_sources + + + + +

+

List of user -> UI source

+ + + diff --git a/datum/custom_hud.html b/datum/custom_hud.html new file mode 100644 index 000000000000..5c8f7f52d6ce --- /dev/null +++ b/datum/custom_hud.html @@ -0,0 +1,35 @@ + + + + + + + /datum/custom_hud - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/custom_hud + + + +

+ + +

Procs

hud_slot_offsetOffsets the slot's screen_loc by the item's hud_offset var. Uses the ui slot var as the arg: ui_belt, not WEAR_WAIST/"belt".

Proc Details

hud_slot_offset +

+

Offsets the slot's screen_loc by the item's hud_offset var. Uses the ui slot var as the arg: ui_belt, not WEAR_WAIST/"belt".

+ + + diff --git a/datum/decorator/halloween/cobwebs.html b/datum/decorator/halloween/cobwebs.html new file mode 100644 index 000000000000..4357739f6bd6 --- /dev/null +++ b/datum/decorator/halloween/cobwebs.html @@ -0,0 +1,57 @@ + + + + + + + /datum/decorator/halloween/cobwebs - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/decorator/halloween/cobwebs + + + +

+ +

Cobweb decorator: adds more and more cobwebs as you go through the month

+ + + +

Vars

base_chanceHow much prob() chance to put a cobweb during halloween proper
ramp_chanceHow much to remove per day before date
ramp_scaleHow much to scale cobwebs alpha down per day (1 - ramp_scale * days, affects alpha & size)
scale_randExtra randomness removed onto scale before full blown halloween
+

Var Details

base_chance + + + + +

+

How much prob() chance to put a cobweb during halloween proper

ramp_chance + + + + +

+

How much to remove per day before date

ramp_scale + + + + +

+

How much to scale cobwebs alpha down per day (1 - ramp_scale * days, affects alpha & size)

scale_rand + + + + +

+

Extra randomness removed onto scale before full blown halloween

+ + + diff --git a/datum/discord_embed.html b/datum/discord_embed.html new file mode 100644 index 000000000000..701782ac3a04 --- /dev/null +++ b/datum/discord_embed.html @@ -0,0 +1,122 @@ + + + + + + + /datum/discord_embed - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/discord_embed + + + +

+ +

Documentation for the embed object and all of its variables can be found at +https://discord.com/developers/docs/resources/channel#embed-object +It is recommended to read the documentation on the discord website, as the information below could become outdated in the future.

+ + + + + + + + + + + + +

Vars

authorName of the author of the embed
colorThe color that appears on the top of the embed. This is an integer and is the color code of the embed.
contentAny content that should appear above the embed
descriptionThe description
fieldsA key-value string list of fields that should be displayed
footerThe footer that appears on the embed
imageString representing a link to an image
providerString representing the name of the provider
provider_urlString representing the link of the provider
thumbnailString representing a link to the thumbnail image
titleTitle of the embed
urlThe URL that the title
videoString representing a link to the video
+

Var Details

author + + + + +

+

Name of the author of the embed

color + + + + +

+

The color that appears on the top of the embed. This is an integer and is the color code of the embed.

content + + + + +

+

Any content that should appear above the embed

description + + + + +

+

The description

fields + + + + +

+

A key-value string list of fields that should be displayed

footer + + + + +

+

The footer that appears on the embed

image + + + + +

+

String representing a link to an image

provider + + + + +

+

String representing the name of the provider

provider_url + + + + +

+

String representing the link of the provider

thumbnail + + + + +

+

String representing a link to the thumbnail image

title + + + + +

+

Title of the embed

url + + + + +

+

The URL that the title

video + + + + +

+

String representing a link to the video

+ + + diff --git a/datum/effects/acid.html b/datum/effects/acid.html new file mode 100644 index 000000000000..94c986665813 --- /dev/null +++ b/datum/effects/acid.html @@ -0,0 +1,43 @@ + + + + + + + /datum/effects/acid - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/effects/acid + + + +

+ + + +

Vars

acid_enhancedIf it's been enhanced by a spit combo.
acid_goopinessHow 'goopy' the acid is. Each value is one stop drop roll.
+

Var Details

acid_enhanced + + + + +

+

If it's been enhanced by a spit combo.

acid_goopiness + + + + +

+

How 'goopy' the acid is. Each value is one stop drop roll.

+ + + diff --git a/datum/effects/boiler_trap.html b/datum/effects/boiler_trap.html new file mode 100644 index 000000000000..0e1838b0d852 --- /dev/null +++ b/datum/effects/boiler_trap.html @@ -0,0 +1,36 @@ + + + + + + + /datum/effects/boiler_trap - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/effects/boiler_trap + + + +

+ + +

Vars

freezerGhetto flag indicating whether we actually placed the freeze or not, until we have an actual effects system
+

Var Details

freezer + + + + +

+

Ghetto flag indicating whether we actually placed the freeze or not, until we have an actual effects system

+ + + diff --git a/datum/effects/neurotoxin.html b/datum/effects/neurotoxin.html new file mode 100644 index 000000000000..590e7b1f5509 --- /dev/null +++ b/datum/effects/neurotoxin.html @@ -0,0 +1,92 @@ + + + + + + + /datum/effects/neurotoxin - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/effects/neurotoxin + + + +

+ + + + + + + + + + +

Vars

bloodcough_probChance of blood_cough per proc (damaging)
durationDuration of the effect. Also used for intensity aswell
hallucinateWhether or not we hallucinate. (small rng stun chance)
msgDefault per proc message
stam_damStamina damage per tick. Major balance number.
strengthMultiplier for effects. Inputted in directly.
stumbleShould we stumble on next tick? Changed automatically
stumble_probProbability of stumbling per proc. Changed by code.

Procs

hallucination_fakecas_sequencearea of the victim for areachecks
+

Var Details

bloodcough_prob + + + + +

+

Chance of blood_cough per proc (damaging)

duration + + + + +

+

Duration of the effect. Also used for intensity aswell

hallucinate + + + + +

+

Whether or not we hallucinate. (small rng stun chance)

msg + + + + +

+

Default per proc message

stam_dam + + + + +

+

Stamina damage per tick. Major balance number.

strength + + + + +

+

Multiplier for effects. Inputted in directly.

stumble + + + + +

+

Should we stumble on next tick? Changed automatically

stumble_prob + + + + +

+

Probability of stumbling per proc. Changed by code.

Proc Details

hallucination_fakecas_sequence +

+

area of the victim for areachecks

+ + + diff --git a/datum/element.html b/datum/element.html new file mode 100644 index 000000000000..9396dfdd771f --- /dev/null +++ b/datum/element.html @@ -0,0 +1,61 @@ + + + + + + + /datum/element - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/element + + + +

+ +

A holder for simple behaviour that can be attached to many different types

+

Only one element of each type is instanced during game init. +Otherwise acts basically like a lightweight component.

+ + + +

Vars

element_flagsOption flags for element behaviour
id_arg_indexThe index of the first attach argument to consider for duplicate elements

Procs

AttachActivates the functionality defined by the element on the given target datum
DetachDeactivates the functionality defines by the element on the given datum
+

Var Details

element_flags + + + + +

+

Option flags for element behaviour

id_arg_index + + + + +

+

The index of the first attach argument to consider for duplicate elements

+

Is only used when flags contains ELEMENT_BESPOKE

+

This is infinity so you must explicitly set this

Proc Details

Attach +

+

Activates the functionality defined by the element on the given target datum

Detach +

+

Deactivates the functionality defines by the element on the given datum

+ + + diff --git a/datum/element/bloody_feet.html b/datum/element/bloody_feet.html new file mode 100644 index 000000000000..1a2471685b24 --- /dev/null +++ b/datum/element/bloody_feet.html @@ -0,0 +1,61 @@ + + + + + + + /datum/element/bloody_feet - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/element/bloody_feet + + + +

+ + + + + +

Vars

colorColor of the tracks left behind
entered_bloody_turfWhether the human has moved into the turf giving them bloody feet +Necessary because of how Crossed is called before Moved
steps_to_takeThe amount of steps you can take to make bloody footsteps
target_shoesState var to track the shoes (if any) of the humans +with this element
+

Var Details

color + + + + +

+

Color of the tracks left behind

entered_bloody_turf + + + + +

+

Whether the human has moved into the turf giving them bloody feet +Necessary because of how Crossed is called before Moved

steps_to_take + + + + +

+

The amount of steps you can take to make bloody footsteps

target_shoes + + + + +

+

State var to track the shoes (if any) of the humans +with this element

+ + + diff --git a/datum/element/bullet_trait_damage_boost.html b/datum/element/bullet_trait_damage_boost.html new file mode 100644 index 000000000000..55431dc344d8 --- /dev/null +++ b/datum/element/bullet_trait_damage_boost.html @@ -0,0 +1,47 @@ + + + + + + + /datum/element/bullet_trait_damage_boost - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/element/bullet_trait_damage_boost + + + +

+ + + +

Vars

damage_boosted_atomsA typecache of objs or turfs that, upon being hit, boost the damage of the attached projectile

Procs

Attachvars:
+

Var Details

damage_boosted_atoms + + + + +

+

A typecache of objs or turfs that, upon being hit, boost the damage of the attached projectile

Proc Details

Attach +

+

vars:

+
+ + + diff --git a/datum/element/bullet_trait_iff.html b/datum/element/bullet_trait_iff.html new file mode 100644 index 000000000000..52b924b8908b --- /dev/null +++ b/datum/element/bullet_trait_iff.html @@ -0,0 +1,43 @@ + + + + + + + /datum/element/bullet_trait_iff - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/element/bullet_trait_iff + + + +

+ + + +

Vars

iff_groupThe iff group for this bullet
iff_group_cacheA cache of IFF groups for specific mobs
+

Var Details

iff_group + + + + +

+

The iff group for this bullet

iff_group_cache + + + + +

+

A cache of IFF groups for specific mobs

+ + + diff --git a/datum/element/bullet_trait_penetrating.html b/datum/element/bullet_trait_penetrating.html new file mode 100644 index 000000000000..b39b3eaa1782 --- /dev/null +++ b/datum/element/bullet_trait_penetrating.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/bullet_trait_penetrating - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/element/bullet_trait_penetrating + + + +

+ + +

Vars

distance_loss_per_hitThe distance loss per hit
+

Var Details

distance_loss_per_hit + + + + +

+

The distance loss per hit

+ + + diff --git a/datum/element/suturing.html b/datum/element/suturing.html new file mode 100644 index 000000000000..8b1552f5aace --- /dev/null +++ b/datum/element/suturing.html @@ -0,0 +1,68 @@ + + + + + + + /datum/element/suturing - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/element/suturing + + + +

+ + + + + + +

Vars

description_pain"it feels like your [left arm] is []!"
description_verbex. 'suture', "you begin to [] the [wounds]". ALso has 's' put on the end sometimes, '[suture]s'.
description_verbingex 'suturing', "[user] finishes [] the [wounds]"
suture_bruteDamage types that can be treated. Both are healed simultaneously. +With above: a brute + burn tool with time 2, used on a person with 20 brute and 20 burns, would heal 10 of each type after a 4 second delay. +On a person with just 20 brute, it would heal 10 brute after 2 seconds.
time_per_damage_pointAction time (in deciseconds) to heal each point of damage.
+

Var Details

description_pain + + + + +

+

"it feels like your [left arm] is []!"

description_verb + + + + +

+

ex. 'suture', "you begin to [] the [wounds]". ALso has 's' put on the end sometimes, '[suture]s'.

description_verbing + + + + +

+

ex 'suturing', "[user] finishes [] the [wounds]"

suture_brute + + + + +

+

Damage types that can be treated. Both are healed simultaneously. +With above: a brute + burn tool with time 2, used on a person with 20 brute and 20 burns, would heal 10 of each type after a 4 second delay. +On a person with just 20 brute, it would heal 10 brute after 2 seconds.

time_per_damage_point + + + + +

+

Action time (in deciseconds) to heal each point of damage.

+ + + diff --git a/datum/emergency_call/upp.html b/datum/emergency_call/upp.html new file mode 100644 index 000000000000..dfe529c6168a --- /dev/null +++ b/datum/emergency_call/upp.html @@ -0,0 +1,35 @@ + + + + + + + /datum/emergency_call/upp - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

UPP Naval Infantry (Squad) + + + +

+ + +

Procs

create_memberUPP

Proc Details

create_member +

+

UPP

+ + + diff --git a/datum/emote.html b/datum/emote.html new file mode 100644 index 000000000000..b4200291705e --- /dev/null +++ b/datum/emote.html @@ -0,0 +1,308 @@ + + + + + + + /datum/emote - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Emote + + + +

+ +

Most of the text that's not someone talking is based off of this.

+

Yes, the displayed message is stored on the datum, it would cause problems +for emotes with a message that can vary, but that's handled differently in +run_emote(), so be sure to use can_message_change if you plan to have +different displayed messages from player to player.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alt_messageMessage displayed for audible emotes if someone's deaf. Only use this if key_third_person can't be acceptably used. +ie. if someone says *medic and someone's deaf, they'd receive [X] calls for a medic! silently., which is not ideal.
audio_cooldownHow long is the cooldown on the audio of the emote, if it has one?
can_message_changeDoes this message have a message that can be modified by the user?
cooldownThe cooldown between the uses of the emote.
emote_typeWhether the emote is visible and/or audible bitflag
hands_use_checkChecks if the mob can use its hands before performing the emote.
keyWhat calls the emote.
key_third_personThis will also call the emote.
keybindShould this emote generate a keybind?
keybind_categoryDoes this emote have a custom keybind category?
messageMessage displayed when emote is used.
message_paramMessage with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else.
mob_type_allowed_typecacheTypes that are allowed to use that emote.
mob_type_blacklist_typecacheTypes that are NOT allowed to use that emote.
mob_type_ignore_stat_typecacheTypes that can use this emote regardless of their state.
muzzle_ignoreWill only work if the emote is EMOTE_AUDIBLE.
only_forced_audioCan only code call this event instead of the player.
say_messageWhat message to make the user send with the emote?
soundSound to play when emote is called.
stat_allowedIn which state can you use this emote? (Check stat.dm for a full list of them)
varyUsed for the honk borg emote.
volumeWhat volume should the sound be played at?

Procs

can_run_emoteCheck to see if the user is allowed to run the emote.
check_cooldownFor handling emote cooldown, return true to allow the emote to happen.
get_soundTo get the sound that the emote plays, for special sound interactions depending on the mob.
replace_pronounTo replace pronouns in the inputed string with the user's proper pronouns.
run_emoteHandles the modifications and execution of emotes.
run_langchatHandles above-head chat automatically running on an emote.
select_message_typeSelects the message type to override the message with.
select_paramReplaces the %t in the message in message_param by params.
should_play_soundCheck to see if the user should play a sound when performing the emote.
+

Var Details

alt_message + + + + +

+

Message displayed for audible emotes if someone's deaf. Only use this if key_third_person can't be acceptably used. +ie. if someone says *medic and someone's deaf, they'd receive [X] calls for a medic! silently., which is not ideal.

audio_cooldown + + + + +

+

How long is the cooldown on the audio of the emote, if it has one?

can_message_change + + + + +

+

Does this message have a message that can be modified by the user?

cooldown + + + + +

+

The cooldown between the uses of the emote.

emote_type + + + + +

+

Whether the emote is visible and/or audible bitflag

hands_use_check + + + + +

+

Checks if the mob can use its hands before performing the emote.

key + + + + +

+

What calls the emote.

key_third_person + + + + +

+

This will also call the emote.

keybind + + + + +

+

Should this emote generate a keybind?

keybind_category + + + + +

+

Does this emote have a custom keybind category?

message + + + + +

+

Message displayed when emote is used.

message_param + + + + +

+

Message with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else.

mob_type_allowed_typecache + + + + +

+

Types that are allowed to use that emote.

mob_type_blacklist_typecache + + + + +

+

Types that are NOT allowed to use that emote.

mob_type_ignore_stat_typecache + + + + +

+

Types that can use this emote regardless of their state.

muzzle_ignore + + + + +

+

Will only work if the emote is EMOTE_AUDIBLE.

only_forced_audio + + + + +

+

Can only code call this event instead of the player.

say_message + + + + +

+

What message to make the user send with the emote?

sound + + + + +

+

Sound to play when emote is called.

stat_allowed + + + + +

+

In which state can you use this emote? (Check stat.dm for a full list of them)

vary + + + + +

+

Used for the honk borg emote.

volume + + + + +

+

What volume should the sound be played at?

Proc Details

can_run_emote +

+

Check to see if the user is allowed to run the emote.

+

Arguments:

+ +

Returns a bool about whether or not the user can run the emote.

check_cooldown +

+

For handling emote cooldown, return true to allow the emote to happen.

+

Arguments:

+ +

Returns FALSE if the cooldown is not over, TRUE if the cooldown is over.

get_sound +

+

To get the sound that the emote plays, for special sound interactions depending on the mob.

+

Arguments:

+ +

Returns the sound that will be made while sending the emote.

replace_pronoun +

+

To replace pronouns in the inputed string with the user's proper pronouns.

+

Arguments:

+ +

Returns the modified msg string.

run_emote +

+

Handles the modifications and execution of emotes.

+

Arguments:

+ +

Returns TRUE if it was able to run the emote, FALSE otherwise.

run_langchat +

+

Handles above-head chat automatically running on an emote.

+

Arguments:

+

select_message_type +

+

Selects the message type to override the message with.

+

Arguments:

+ +

Returns the new message, or msg directly, if no change was needed.

select_param +

+

Replaces the %t in the message in message_param by params.

+

Arguments:

+ +

Returns the modified string.

should_play_sound +

+

Check to see if the user should play a sound when performing the emote.

+

Arguments:

+ +

Returns a bool about whether or not the user should play a sound when performing the emote.

+ + + diff --git a/datum/emote/living/carbon/human.html b/datum/emote/living/carbon/human.html new file mode 100644 index 000000000000..69565947c7e5 --- /dev/null +++ b/datum/emote/living/carbon/human.html @@ -0,0 +1,43 @@ + + + + + + + /datum/emote/living/carbon/human - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/emote/living/carbon/human + + + +

+ + + +

Vars

species_type_allowed_typecacheSpecies that can use this emote.
species_type_blacklist_typecacheSpecies that can't use this emote.
+

Var Details

species_type_allowed_typecache + + + + +

+

Species that can use this emote.

species_type_blacklist_typecache + + + + +

+

Species that can't use this emote.

+ + + diff --git a/datum/entity/player_note.html b/datum/entity/player_note.html new file mode 100644 index 000000000000..7febe2546c40 --- /dev/null +++ b/datum/entity/player_note.html @@ -0,0 +1,36 @@ + + + + + + + /datum/entity/player_note - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/entity/player_note + + + +

+ + +

Vars

note_categoryThe category the note is. Admin/Merit/Commander/Synthetic/Yautja
+

Var Details

note_category + + + + +

+

The category the note is. Admin/Merit/Commander/Synthetic/Yautja

+ + + diff --git a/datum/equipment_preset.html b/datum/equipment_preset.html new file mode 100644 index 000000000000..e43d9ded3280 --- /dev/null +++ b/datum/equipment_preset.html @@ -0,0 +1,50 @@ + + + + + + + /datum/equipment_preset - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Preset + + + +

+ + + +

Procs

add_survivor_weapon_civilianRandomizes the primary weapon a survivor might find at the start of the outbreak in a gun cabinet. +For the most part you will stil get a shotgun but there is an off chance you get something unique. +If you dont like the weapon deal with it. Cursed ammo for shotguns is intentional for scarcity reasons. +Some weapons may not appear at all in a colony so they will need the extra ammo. +MERC, and DB needed a handfull of shells to compete with the normal CMB.
get_antag_clothing_equipmentAntag Vendor Equipment

Proc Details

add_survivor_weapon_civilian +

+

Randomizes the primary weapon a survivor might find at the start of the outbreak in a gun cabinet. +For the most part you will stil get a shotgun but there is an off chance you get something unique. +If you dont like the weapon deal with it. Cursed ammo for shotguns is intentional for scarcity reasons. +Some weapons may not appear at all in a colony so they will need the extra ammo. +MERC, and DB needed a handfull of shells to compete with the normal CMB.

get_antag_clothing_equipment +

+

Antag Vendor Equipment

+ + + diff --git a/datum/equipment_preset/survivor/forecon/grenadier.html b/datum/equipment_preset/survivor/forecon/grenadier.html new file mode 100644 index 000000000000..3f69245e26af --- /dev/null +++ b/datum/equipment_preset/survivor/forecon/grenadier.html @@ -0,0 +1,28 @@ + + + + + + + /datum/equipment_preset/survivor/forecon/grenadier - byond + + +
+ byond - + Modules - + Types +
+
+

Survivor - USCM Reconnaissance Grenadier + + + +

+ +
+ + + diff --git a/datum/equipment_preset/survivor/forecon/marksman.html b/datum/equipment_preset/survivor/forecon/marksman.html new file mode 100644 index 000000000000..b61d4875abd5 --- /dev/null +++ b/datum/equipment_preset/survivor/forecon/marksman.html @@ -0,0 +1,28 @@ + + + + + + + /datum/equipment_preset/survivor/forecon/marksman - byond + + +
+ byond - + Modules - + Types +
+
+

Survivor - USCM Reconnaissance Designated Marksman + + + +

+ +
+ + + diff --git a/datum/equipment_preset/survivor/forecon/smartgunner.html b/datum/equipment_preset/survivor/forecon/smartgunner.html new file mode 100644 index 000000000000..eeefb3e6dd55 --- /dev/null +++ b/datum/equipment_preset/survivor/forecon/smartgunner.html @@ -0,0 +1,28 @@ + + + + + + + /datum/equipment_preset/survivor/forecon/smartgunner - byond + + +
+ byond - + Modules - + Types +
+
+

Survivor - USCM Reconnaissance Smartgunner + + + +

+ +
+ + + diff --git a/datum/equipment_preset/survivor/forecon/tech.html b/datum/equipment_preset/survivor/forecon/tech.html new file mode 100644 index 000000000000..c20bbd1e88ab --- /dev/null +++ b/datum/equipment_preset/survivor/forecon/tech.html @@ -0,0 +1,28 @@ + + + + + + + /datum/equipment_preset/survivor/forecon/tech - byond + + +
+ byond - + Modules - + Types +
+
+

Survivor - USCM Reconnaissance Support Technician + + + +

+ +
+ + + diff --git a/datum/escape_menu.html b/datum/escape_menu.html new file mode 100644 index 000000000000..aa4c2cad9dde --- /dev/null +++ b/datum/escape_menu.html @@ -0,0 +1,36 @@ + + + + + + + /datum/escape_menu - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/escape_menu + + + +

+ + +

Vars

clientThe client that owns this escape menu
+

Var Details

client + + + + +

+

The client that owns this escape menu

+ + + diff --git a/datum/flaying_datum.html b/datum/flaying_datum.html new file mode 100644 index 000000000000..e4ec8a22dc1c --- /dev/null +++ b/datum/flaying_datum.html @@ -0,0 +1,35 @@ + + + + + + + /datum/flaying_datum - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/flaying_datum + + + +

+ +

Records status of flaying attempts and handles progress.

+

Procs

begin_flayingLoops until interrupted or done.

Proc Details

begin_flaying +

+

Loops until interrupted or done.

+ + + diff --git a/datum/font.html b/datum/font.html new file mode 100644 index 000000000000..2358824ce237 --- /dev/null +++ b/datum/font.html @@ -0,0 +1,43 @@ + + + + + + + /datum/font - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/font + + + +

+ +

A font datum, it exists to define a custom font to use in a span style later.

+ +

Vars

font_familyThe font file we link to.
nameFont name, just so people know what to put in their span style.
+

Var Details

font_family + + + + +

+

The font file we link to.

name + + + + +

+

Font name, just so people know what to put in their span style.

+ + + diff --git a/datum/game_mode.html b/datum/game_mode.html new file mode 100644 index 000000000000..e4dc776d6f0f --- /dev/null +++ b/datum/game_mode.html @@ -0,0 +1,107 @@ + + + + + + + /datum/game_mode - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

invalid + + + +

+ + + + + + + + + + + +

Vars

role_mappingsList of role titles to override to different roles when starting game
taskbar_iconWhen set and this gamemode is selected, the taskbar icon will change to the png selected here

Procs

can_startcan_start() +Checks to see if the game can be setup and ran with the current number of players or whatnot.
ds_first_dropTriggered partway through the first drop, based on DROPSHIP_DROP_MSG_DELAY. Marines are underway but haven't yet landed.
ds_first_landedTriggered when the dropship first lands.
pick_queen_spawnPick and setup a queen spawn from landmarks, then spawns the player there alongside any required setup
post_setuppost_setup() +Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things
pre_setuppre_setup() +Attempts to select players for special roles the mode might have.
processprocess() +Called by the gameticker
setup_structuresSpawn structures relevant to the game mode setup, done before actual game setup. By default try to setup everything.
+

Var Details

role_mappings + + + + +

+

List of role titles to override to different roles when starting game

taskbar_icon + + + + +

+

When set and this gamemode is selected, the taskbar icon will change to the png selected here

Proc Details

can_start +

+

can_start() +Checks to see if the game can be setup and ran with the current number of players or whatnot.

ds_first_drop +

+

Triggered partway through the first drop, based on DROPSHIP_DROP_MSG_DELAY. Marines are underway but haven't yet landed.

ds_first_landed +

+

Triggered when the dropship first lands.

pick_queen_spawn +

+

Pick and setup a queen spawn from landmarks, then spawns the player there alongside any required setup

post_setup +

+

post_setup() +Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things

pre_setup +

+

pre_setup() +Attempts to select players for special roles the mode might have.

process +

+

process() +Called by the gameticker

setup_structures +

+

Spawn structures relevant to the game mode setup, done before actual game setup. By default try to setup everything.

+ + + diff --git a/datum/game_mode/colonialmarines.html b/datum/game_mode/colonialmarines.html new file mode 100644 index 000000000000..0ea8db097dc7 --- /dev/null +++ b/datum/game_mode/colonialmarines.html @@ -0,0 +1,49 @@ + + + + + + + /datum/game_mode/colonialmarines - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Distress Signal + + + +

+ + + + +

Procs

check_ground_humansChecks for humans groundside after hijack, spawns forsaken if requirements met
check_hijack_explosionsPrimes and fires off the explodey-pipes during hijack.
shake_shipMakes the mainship shake, along with playing a klaxon sound effect.

Proc Details

check_ground_humans +

+

Checks for humans groundside after hijack, spawns forsaken if requirements met

check_hijack_explosions +

+

Primes and fires off the explodey-pipes during hijack.

shake_ship +

+

Makes the mainship shake, along with playing a klaxon sound effect.

+ + + diff --git a/datum/health_scan.html b/datum/health_scan.html new file mode 100644 index 000000000000..29425a4431d3 --- /dev/null +++ b/datum/health_scan.html @@ -0,0 +1,49 @@ + + + + + + + /datum/health_scan - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/health_scan + + + +

+ +

vars reffing this on /mob/dead/observer, /obj/item/device/healthanalyzer, /obj/structure/machinery/cm_vending/sorted/medical, /obj/structure/machinery/body_scanconsole are called last_health_display

+ + +

Procs

get_death_valueReturns TRUE if the target is either dead or appears to be dead.
get_oxy_valueReturns the oxygen value, unless they have FAKEDEATH - in which case it will instead make up a number to return.
look_atThis is the proc for interacting with, or looking at, a mob's health display. Also contains skillchecks and the like. You may NOT call tgui interact directly, and you MUST set the detail level.

Proc Details

get_death_value +

+

Returns TRUE if the target is either dead or appears to be dead.

get_oxy_value +

+

Returns the oxygen value, unless they have FAKEDEATH - in which case it will instead make up a number to return.

look_at +

+

This is the proc for interacting with, or looking at, a mob's health display. Also contains skillchecks and the like. You may NOT call tgui interact directly, and you MUST set the detail level.

+ + + diff --git a/datum/hive_status.html b/datum/hive_status.html new file mode 100644 index 000000000000..3dccce2a47ae --- /dev/null +++ b/datum/hive_status.html @@ -0,0 +1,134 @@ + + + + + + + /datum/hive_status - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Normal Hive + + + +

+ + + + + + + + + + + + + + + + +

Vars

allow_queen_evolveSet to true if you want to prevent evolutions into Queens
free_slotsAssoc list of free slots available to specific castes
hardcoreSet to true if you want to prevent bursts and spawns of new xenos. Will also prevent healing if the queen no longer exists
hijack_burrowed_lefthow many burrowed is going to spawn during larva surge
hugger_timelockWhen can huggers join the round
latejoin_burrowedSet to false if you want to prevent getting burrowed larva from latejoin marines
partial_larvaused by /datum/hive_status/proc/increase_larva_after_burst() to support non-integer increases to larva
playable_hugger_limitHow many huggers can the hive support
reporting_idShort Hive ID as string used in stats reporting
tier_2_xenoslist of living tier2 xenos
tier_3_xenoslist of living tier3 xenos
totalXenoslist of living xenos
total_dead_xenoslist of previously living xenos (hardrefs currently)
used_free_slotsAssoc list of free slots currently used by specific castes

Procs

increase_larva_after_burstCalled by /obj/item/alien_embryo when a host is bursting to determine extra larva per burst
+

Var Details

allow_queen_evolve + + + + +

+

Set to true if you want to prevent evolutions into Queens

free_slots + + + + +

+

Assoc list of free slots available to specific castes

hardcore + + + + +

+

Set to true if you want to prevent bursts and spawns of new xenos. Will also prevent healing if the queen no longer exists

hijack_burrowed_left + + + + +

+

how many burrowed is going to spawn during larva surge

hugger_timelock + + + + +

+

When can huggers join the round

latejoin_burrowed + + + + +

+

Set to false if you want to prevent getting burrowed larva from latejoin marines

partial_larva + + + + +

+

used by /datum/hive_status/proc/increase_larva_after_burst() to support non-integer increases to larva

playable_hugger_limit + + + + +

+

How many huggers can the hive support

reporting_id + + + + +

+

Short Hive ID as string used in stats reporting

tier_2_xenos + + + + +

+

list of living tier2 xenos

tier_3_xenos + + + + +

+

list of living tier3 xenos

totalXenos + + + + +

+

list of living xenos

total_dead_xenos + + + + +

+

list of previously living xenos (hardrefs currently)

used_free_slots + + + + +

+

Assoc list of free slots currently used by specific castes

Proc Details

increase_larva_after_burst +

+

Called by /obj/item/alien_embryo when a host is bursting to determine extra larva per burst

+ + + diff --git a/datum/http_request.html b/datum/http_request.html new file mode 100644 index 000000000000..96790dce555b --- /dev/null +++ b/datum/http_request.html @@ -0,0 +1,36 @@ + + + + + + + /datum/http_request - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/http_request + + + +

+ + +

Vars

output_fileIf present response body will be saved to this file.
+

Var Details

output_file + + + + +

+

If present response body will be saved to this file.

+ + + diff --git a/datum/hud.html b/datum/hud.html new file mode 100644 index 000000000000..c018555d0cf3 --- /dev/null +++ b/datum/hud.html @@ -0,0 +1,36 @@ + + + + + + + /datum/hud - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/hud + + + +

+ + +

Vars

plane_master_controllersAssoc list of controller groups, associated with key string group name with value of the plane master controller ref
+

Var Details

plane_master_controllers + + + + +

+

Assoc list of controller groups, associated with key string group name with value of the plane master controller ref

+ + + diff --git a/datum/hud_displays.html b/datum/hud_displays.html new file mode 100644 index 000000000000..e0bc20a9eb5d --- /dev/null +++ b/datum/hud_displays.html @@ -0,0 +1,71 @@ + + + + + + + /datum/hud_displays - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/hud_displays + + + +

+ +

Holder datum for a zlevels data, concerning the overlays and the drawn level itself +The individual image trackers have a raw and a normal list +raw lists just store the images, while the normal ones are assoc list of [tracked_atom] = image +the raw lists are to speed up the Fire() of the subsystem so we dont have to filter through +WARNING! +There is a byond bug: http://www.byond.com/forum/post/2661309 +That that forces us to use a seperate list ref when accessing the lists of this datum +Yea it hurts me too

+ + + + +

Vars

hud_imageActual icon of the drawn zlevel with all of it's atoms
images_assocAssoc list of updating images; list("[flag]" = list([source] = blip)
images_rawRaw list containing updating images by flag; list("[flag]" = list(blip))
x_offsetx offset of the actual icon to center it to screens
y_offsety offset of the actual icons to keep it to screens
+

Var Details

hud_image + + + + +

+

Actual icon of the drawn zlevel with all of it's atoms

images_assoc + + + + +

+

Assoc list of updating images; list("[flag]" = list([source] = blip)

images_raw + + + + +

+

Raw list containing updating images by flag; list("[flag]" = list(blip))

x_offset + + + + +

+

x offset of the actual icon to center it to screens

y_offset + + + + +

+

y offset of the actual icons to keep it to screens

+ + + diff --git a/datum/interior.html b/datum/interior.html new file mode 100644 index 000000000000..0d415c230249 --- /dev/null +++ b/datum/interior.html @@ -0,0 +1,43 @@ + + + + + + + /datum/interior - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/interior + + + +

+ + + +

Vars

map_templatethe map template associated with this interior
reservationthe turf reservation associated with this interior
+

Var Details

map_template + + + + +

+

the map template associated with this interior

reservation + + + + +

+

the turf reservation associated with this interior

+ + + diff --git a/datum/internal_organ.html b/datum/internal_organ.html new file mode 100644 index 000000000000..8c27ba49edfd --- /dev/null +++ b/datum/internal_organ.html @@ -0,0 +1,43 @@ + + + + + + + /datum/internal_organ - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

organ + + + +

+ + + +

Vars

organ_statusstatus of organ - is it healthy, broken, bruised?

Procs

set_organ_statusSet the correct organ state
+

Var Details

organ_status + + + + +

+

status of organ - is it healthy, broken, bruised?

Proc Details

set_organ_status +

+

Set the correct organ state

+ + + diff --git a/datum/item_storage_box.html b/datum/item_storage_box.html new file mode 100644 index 000000000000..daa130d9bb39 --- /dev/null +++ b/datum/item_storage_box.html @@ -0,0 +1,36 @@ + + + + + + + /datum/item_storage_box - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/item_storage_box + + + +

+ + +

Vars

indexThe index that indentifies me inside item_storage_box_cache
+

Var Details

index + + + + +

+

The index that indentifies me inside item_storage_box_cache

+ + + diff --git a/datum/japanese_sound.html b/datum/japanese_sound.html new file mode 100644 index 000000000000..b1a7357478d5 --- /dev/null +++ b/datum/japanese_sound.html @@ -0,0 +1,35 @@ + + + + + + + /datum/japanese_sound - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/japanese_sound + + + +

+ +

a generic sound

+

Procs

geminatehandle gemination, and make sure that if the sound is voiced the chance is lower

Proc Details

geminate +

+

handle gemination, and make sure that if the sound is voiced the chance is lower

+ + + diff --git a/datum/job.html b/datum/job.html new file mode 100644 index 000000000000..51e53193e971 --- /dev/null +++ b/datum/job.html @@ -0,0 +1,59 @@ + + + + + + + /datum/job - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/job + + + +

+ + + + + +

Vars

handle_spawn_and_equipWhen set to true, SSticker won't call spawn_in_player, instead calling the job's spawn_and_equip proc
job_optionsWhen set you will be able to choose between the different job options when selecting your role. +Associated list. Main list elements - actual options, associated values - shorthands for job preferences menu (keep those short).

Procs

filter_job_optionIntended to be overwritten to handle any requirements for specific job variations that can be selected
handle_job_optionsIntended to be overwritten to handle when a job has variants that can be selected.
+

Var Details

handle_spawn_and_equip + + + + +

+

When set to true, SSticker won't call spawn_in_player, instead calling the job's spawn_and_equip proc

job_options + + + + +

+

When set you will be able to choose between the different job options when selecting your role. +Associated list. Main list elements - actual options, associated values - shorthands for job preferences menu (keep those short).

Proc Details

filter_job_option +

+

Intended to be overwritten to handle any requirements for specific job variations that can be selected

handle_job_options +

+

Intended to be overwritten to handle when a job has variants that can be selected.

+ + + diff --git a/datum/job/civilian/doctor.html b/datum/job/civilian/doctor.html new file mode 100644 index 000000000000..b83c205b2746 --- /dev/null +++ b/datum/job/civilian/doctor.html @@ -0,0 +1,36 @@ + + + + + + + /datum/job/civilian/doctor - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/job/civilian/doctor + + + +

+ + +

Vars

doctorIf this job is a doctor variant of the doctor role
+

Var Details

doctor + + + + +

+

If this job is a doctor variant of the doctor role

+ + + diff --git a/datum/job/civilian/reporter.html b/datum/job/civilian/reporter.html new file mode 100644 index 000000000000..1000936353a8 --- /dev/null +++ b/datum/job/civilian/reporter.html @@ -0,0 +1,36 @@ + + + + + + + /datum/job/civilian/reporter - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/job/civilian/reporter + + + +

+ + +

Vars

militaryIf this job is a military variant of the reporter role
+

Var Details

military + + + + +

+

If this job is a military variant of the reporter role

+ + + diff --git a/datum/launch_metadata.html b/datum/launch_metadata.html new file mode 100644 index 000000000000..4bdf9b43bebf --- /dev/null +++ b/datum/launch_metadata.html @@ -0,0 +1,36 @@ + + + + + + + /datum/launch_metadata - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/launch_metadata + + + +

+ + +

Vars

end_throw_callbacksA list of callbacks to invoke when the throw completes successfully
+

Var Details

end_throw_callbacks + + + + +

+

A list of callbacks to invoke when the throw completes successfully

+ + + diff --git a/datum/log_category.html b/datum/log_category.html new file mode 100644 index 000000000000..c30212d098cb --- /dev/null +++ b/datum/log_category.html @@ -0,0 +1,71 @@ + + + + + + + /datum/log_category - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/log_category + + + +

+ +

The main datum that contains all log entries for a category

+ + + + + +

Vars

categoryThe category this datum contains
config_flagIf set this config flag is checked to enable this log category
entriesList of all entries, in chronological order of when they were added

Procs

add_entryAdd an entry to this category. It is very important that any data you provide doesn't hold references to anything!
get_output_fileAllows for category specific file splitting. Needs to accept a null entry for the default file.
write_entryWrites an entry to the output file for the category
+

Var Details

category + + + + +

+

The category this datum contains

config_flag + + + + +

+

If set this config flag is checked to enable this log category

entries + + + + +

+

List of all entries, in chronological order of when they were added

Proc Details

add_entry +

+

Add an entry to this category. It is very important that any data you provide doesn't hold references to anything!

get_output_file +

+

Allows for category specific file splitting. Needs to accept a null entry for the default file.

write_entry +

+

Writes an entry to the output file for the category

+ + + diff --git a/datum/log_holder.html b/datum/log_holder.html new file mode 100644 index 000000000000..6b7ecc1615d6 --- /dev/null +++ b/datum/log_holder.html @@ -0,0 +1,78 @@ + + + + + + + /datum/log_holder - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/log_holder + + + +

+ +

Main datum to manage logging actions

+ + + + + + +

Vars

disabled_categoriestypecache list for categories that exist but are disabled
log_categoriesAssociative: category -> datum
logging_start_timestampWhen the log_holder first initialized
round_idRound ID, if set, that logging is initialized for

Procs

LogThis is Log because log is a byond internal proc
init_loggingAssembles basic information for logging, creating the log category datums and checking for config flags as required
shutdown_loggingTells the log_holder to not allow any more logging to be done, and dumps all categories to their json file
+

Var Details

disabled_categories + + + + +

+

typecache list for categories that exist but are disabled

log_categories + + + + +

+

Associative: category -> datum

logging_start_timestamp + + + + +

+

When the log_holder first initialized

round_id + + + + +

+

Round ID, if set, that logging is initialized for

Proc Details

Log +

+

This is Log because log is a byond internal proc

init_logging +

+

Assembles basic information for logging, creating the log category datums and checking for config flags as required

shutdown_logging +

+

Tells the log_holder to not allow any more logging to be done, and dumps all categories to their json file

+ + + diff --git a/datum/looping_sound.html b/datum/looping_sound.html new file mode 100644 index 000000000000..142c3a68495b --- /dev/null +++ b/datum/looping_sound.html @@ -0,0 +1,242 @@ + + + + + + + /datum/looping_sound - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/looping_sound + + + +

+ +

A datum for sounds that need to loop, with a high amount of configurability.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

chanceChance per loop to play a mid_sound.
directIf true, plays directly to provided atoms instead of from them.
end_sound(soundfile) The sound played after the main loop has concluded.
end_volumeOverride for volume of end sound.
extra_rangeThe extra range of the sound in tiles, defaults to 0.
loop_startedHas the looping started yet?
max_loopsThe max amount of loops to run for.
mid_lengthThe length of time to wait between playing mid_sounds.
mid_sounds(list or soundfile) Since this can be either a list or a single soundfile you can have random sounds. May contain further lists but must contain a soundfile at the end.
parentThe source of the sound, or the recipient of the sound.
skip_starting_soundsDo we skip the starting sounds?
start_lengthHow long to wait before starting the main loop after playing start_sound.
start_sound(soundfile) Played before starting the mid_sounds loop.
start_volumeOverride for volume of start sound.
timer_idThe ID of the timer that's used to loop the sounds.
varyWhether or not the sounds will vary in pitch when played.
volumeSound output volume.

Procs

get_soundReturns the sound we should now be playing.
handle_parent_delA simple proc to handle the deletion of the parent, so that it does not force it to hard-delete.
is_activeA simple proc that lets us know whether the sounds are currently active or not.
on_startA proc that's there to handle delaying the main sounds if there's a start_sound, and simply starting the sound loop in general.
on_stopSimple proc that's executed when the looping sound is stopped, so that the end_sound can be played, if there's one.
playThe proc that handles actually playing the sound.
set_parentA simple proc to change who our parent is set to, also handling registering and unregistering the QDELETING signals on the parent.
sound_loopA simple proc handling the looping of the sound itself.
startThe proc to actually kickstart the whole sound sequence. This is what you should call to start the looping_sound.
start_sound_loopThe proc that handles starting the actual core sound loop.
stopThe proc to call to stop the sound loop.
+

Var Details

chance + + + + +

+

Chance per loop to play a mid_sound.

direct + + + + +

+

If true, plays directly to provided atoms instead of from them.

end_sound + + + + +

+

(soundfile) The sound played after the main loop has concluded.

end_volume + + + + +

+

Override for volume of end sound.

extra_range + + + + +

+

The extra range of the sound in tiles, defaults to 0.

loop_started + + + + +

+

Has the looping started yet?

max_loops + + + + +

+

The max amount of loops to run for.

mid_length + + + + +

+

The length of time to wait between playing mid_sounds.

mid_sounds + + + + +

+

(list or soundfile) Since this can be either a list or a single soundfile you can have random sounds. May contain further lists but must contain a soundfile at the end.

parent + + + + +

+

The source of the sound, or the recipient of the sound.

skip_starting_sounds + + + + +

+

Do we skip the starting sounds?

start_length + + + + +

+

How long to wait before starting the main loop after playing start_sound.

start_sound + + + + +

+

(soundfile) Played before starting the mid_sounds loop.

start_volume + + + + +

+

Override for volume of start sound.

timer_id + + + + +

+

The ID of the timer that's used to loop the sounds.

vary + + + + +

+

Whether or not the sounds will vary in pitch when played.

volume + + + + +

+

Sound output volume.

Proc Details

get_sound +

+

Returns the sound we should now be playing.

handle_parent_del +

+

A simple proc to handle the deletion of the parent, so that it does not force it to hard-delete.

is_active +

+

A simple proc that lets us know whether the sounds are currently active or not.

on_start +

+

A proc that's there to handle delaying the main sounds if there's a start_sound, and simply starting the sound loop in general.

on_stop +

+

Simple proc that's executed when the looping sound is stopped, so that the end_sound can be played, if there's one.

play +

+

The proc that handles actually playing the sound.

+

Arguments:

+

set_parent +

+

A simple proc to change who our parent is set to, also handling registering and unregistering the QDELETING signals on the parent.

sound_loop +

+

A simple proc handling the looping of the sound itself.

+

Arguments:

+

start +

+

The proc to actually kickstart the whole sound sequence. This is what you should call to start the looping_sound.

+

Arguments:

+

start_sound_loop +

+

The proc that handles starting the actual core sound loop.

stop +

+

The proc to call to stop the sound loop.

+

Arguments:

+
+ + + diff --git a/datum/map_config.html b/datum/map_config.html new file mode 100644 index 000000000000..2639d3faa334 --- /dev/null +++ b/datum/map_config.html @@ -0,0 +1,36 @@ + + + + + + + /datum/map_config - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/map_config + + + +

+ + +

Vars

override_mapIf truthy this is config for a round overriden map: search for override maps in data/, instead of using a path in maps
+

Var Details

override_map + + + + +

+

If truthy this is config for a round overriden map: search for override maps in data/, instead of using a path in maps

+ + + diff --git a/datum/map_report.html b/datum/map_report.html new file mode 100644 index 000000000000..3d1d6b4d1dfe --- /dev/null +++ b/datum/map_report.html @@ -0,0 +1,43 @@ + + + + + + + /datum/map_report - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/map_report + + + +

+ +

An error report generated by [parsed_map/check_for_errors].

+ +

Vars

loadableWhether this map can be loaded safely despite the errors.

Procs

show_toShow a rendered version of this report to a client.
+

Var Details

loadable + + + + +

+

Whether this map can be loaded safely despite the errors.

Proc Details

show_to +

+

Show a rendered version of this report to a client.

+ + + diff --git a/datum/minimap_updator.html b/datum/minimap_updator.html new file mode 100644 index 000000000000..ec50ef5cd51e --- /dev/null +++ b/datum/minimap_updator.html @@ -0,0 +1,43 @@ + + + + + + + /datum/minimap_updator - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/minimap_updator + + + +

+ +

Holder datum to ease updating of atoms to update

+ +

Vars

minimapAtom to update with the overlays
ztargetTarget zlevel we want to be updating to
+

Var Details

minimap + + + + +

+

Atom to update with the overlays

ztarget + + + + +

+

Target zlevel we want to be updating to

+ + + diff --git a/datum/movement_detector.html b/datum/movement_detector.html new file mode 100644 index 000000000000..e7aae5b4f792 --- /dev/null +++ b/datum/movement_detector.html @@ -0,0 +1,51 @@ + + + + + + + /datum/movement_detector - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/movement_detector + + + +

+ +

A datum to handle the busywork of registering signals to handle in depth tracking of a movable

+ + +

Procs

move_reactReacts to any movement that would cause a change in coordinates of the tracked movable atom +This works by detecting movement of either the tracked object, or anything it is inside, recursively
trackSets up tracking of the given movable atom
untrackStops tracking

Proc Details

move_react +

+

Reacts to any movement that would cause a change in coordinates of the tracked movable atom +This works by detecting movement of either the tracked object, or anything it is inside, recursively

track +

+

Sets up tracking of the given movable atom

untrack +

+

Stops tracking

+ + + diff --git a/datum/nanomanager.html b/datum/nanomanager.html new file mode 100644 index 000000000000..fc2e417b0d16 --- /dev/null +++ b/datum/nanomanager.html @@ -0,0 +1,139 @@ + + + + + + + /datum/nanomanager - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/nanomanager + + + +

+ + + + + + + + + + + +

Procs

NewCreate a new nanomanager instance. +This proc generates a list of assets which are to be sent to each client on connect
close_user_uisClose /nanoui uis belonging to user
get_open_uiGet an open /nanoui ui for the current user, src_object and ui_key
try_update_uiGet an open /nanoui ui for the current user, src_object and ui_key and try to update it with data
ui_closedRemove a /nanoui ui from the list of open uis +This is called by the /nanoui close() proc
ui_openedAdd a /nanoui ui to the list of open uis +This is called by the /nanoui open() proc
update_uisUpdate all /nanoui uis attached to src_object
update_user_uisUpdate /nanoui uis belonging to user
user_logoutThis is called on user logout +Closes/clears all uis attached to the user's /mob
user_transferredThis is called when a player transfers from one mob to another +Transfers all open UIs to the new mob

Proc Details

New +

+

Create a new nanomanager instance. +This proc generates a list of assets which are to be sent to each client on connect

+

@return /nanomanager new nanomanager object

close_user_uis +

+

Close /nanoui uis belonging to user

+

@param user /mob The mob who owns the uis +@param src_object /obj|/mob If src_object is provided, only close uis which are attached to src_object (optional) +@param ui_key string If ui_key is provided, only close uis with a matching ui_key (optional)

+

@return int The number of uis closed

get_open_ui +

+

Get an open /nanoui ui for the current user, src_object and ui_key

+

@param user /mob The mob who opened/owns the ui +@param src_object /obj|/mob The obj or mob which the ui belongs to +@param ui_key string A string key used for the ui

+

@return /nanoui Returns the found ui, or null if none exists

try_update_ui +

+

Get an open /nanoui ui for the current user, src_object and ui_key and try to update it with data

+

@param user /mob The mob who opened/owns the ui +@param src_object /obj|/mob The obj or mob which the ui belongs to +@param ui_key string A string key used for the ui +@param ui /datum/nanoui An existing instance of the ui (can be null) +@param data list The data to be passed to the ui, if it exists +@param force_open boolean The ui is being forced to (re)open, so close ui if it exists (instead of updating)

+

@return /nanoui Returns the found ui, for null if none exists

ui_closed +

+

Remove a /nanoui ui from the list of open uis +This is called by the /nanoui close() proc

+

@param ui /nanoui The ui to remove

+

@return int 0 if no ui was removed, 1 if removed successfully

ui_opened +

+

Add a /nanoui ui to the list of open uis +This is called by the /nanoui open() proc

+

@param ui /nanoui The ui to add

+

@return nothing

update_uis +

+

Update all /nanoui uis attached to src_object

+

@param src_object /obj|/mob The obj or mob which the uis are attached to

+

@return int The number of uis updated

update_user_uis +

+

Update /nanoui uis belonging to user

+

@param user /mob The mob who owns the uis +@param src_object /obj|/mob If src_object is provided, only update uis which are attached to src_object (optional) +@param ui_key string If ui_key is provided, only update uis with a matching ui_key (optional)

+

@return int The number of uis updated

user_logout +

+

This is called on user logout +Closes/clears all uis attached to the user's /mob

+

@param user /mob The user's mob

+

@return nothing

user_transferred +

+

This is called when a player transfers from one mob to another +Transfers all open UIs to the new mob

+

@param oldMob /mob The user's old mob +@param newMob /mob The user's new mob

+

@return nothing

+ + + diff --git a/datum/nanoui.html b/datum/nanoui.html new file mode 100644 index 000000000000..49c1d2d39953 --- /dev/null +++ b/datum/nanoui.html @@ -0,0 +1,278 @@ + + + + + + + /datum/nanoui - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/nanoui + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Procs

NewCreate a new nanoui instance.
TopicThis Topic() proc is called whenever a user clicks on a link within a Nano UI +If the UI status is currently STATUS_INTERACTIVE then call the src_object Topic() +If the src_object Topic() returns 1 (true) then update all UIs attached to src_object
add_common_assetsUse this proc to add assets which are common to (and required by) all nano uis
add_scriptAdd a JavsScript script to this UI +These must be added before the UI has been opened, adding after that will have no effect
add_stylesheetAdd a CSS stylesheet to this UI +These must be added before the UI has been opened, adding after that will have no effect
add_templateAdd a template for this UI +Templates are combined with the data sent to the UI to create the rendered view +These must be added before the UI has been opened, adding after that will have no effect
closeClose this UI
get_config_dataGet config data to sent to the ui.
get_htmlReturn the HTML for this UI
get_send_dataGet data to sent to the ui.
on_close_winsetSet the UI window to call the nanoclose verb when the window is closed +This allows Nano to handle closed windows
openOpen this UI
processProcess this UI, updating the entire UI or just the status (aka visibility) +This process proc is called by the master_controller
push_dataPush data to an already open UI window
set_auto_updateSet the ui to auto update (every master_controller tick)
set_auto_update_contentSet the ui to update the main content (re-render it) on each update
set_auto_update_layoutSet the ui to update the layout (re-render it) on each update, turning this on will break the map ui (if it's being used)
set_initial_dataSet the initial data for the ui. This is vital as the data structure set here cannot be changed when pushing new updates.
set_map_z_levelToggle showing the map ui
set_show_mapToggle showing the map ui
set_state_keySet the state key for use in the frontend Javascript
set_statusSet the current status (also known as visibility) of this ui.
set_window_optionsSet the browser window options for this ui
updateUpdate the UI
update_statusUpdate the status (visibility) of this ui based on the user's status
use_on_close_logicSet whether or not to use the "old" on close logic (mainly unset_interaction())

Proc Details

New +

+

Create a new nanoui instance.

+

@param nuser /mob The mob who has opened/owns this ui +@param nsrc_object /obj|/mob The obj or mob which this ui belongs to +@param nui_key string A string key to use for this ui. Allows for multiple unique uis on one src_oject +@param ntemplate string The filename of the template file from /nano/templates (e.g. "my_template.tmpl") +@param ntitle string The title of this ui +@param nwidth int the width of the ui window +@param nheight int the height of the ui window +@param nref /atom A custom ref to use if "on_close_logic" is set to 1

+

@return /nanoui new nanoui object

Topic +

+

This Topic() proc is called whenever a user clicks on a link within a Nano UI +If the UI status is currently STATUS_INTERACTIVE then call the src_object Topic() +If the src_object Topic() returns 1 (true) then update all UIs attached to src_object

+

@return nothing

add_common_assets +

+

Use this proc to add assets which are common to (and required by) all nano uis

+

@return nothing

add_script +

+

Add a JavsScript script to this UI +These must be added before the UI has been opened, adding after that will have no effect

+

@param file string The name of the JavaScript file from /nano/js (e.g. "my_script.js")

+

@return nothing

add_stylesheet +

+

Add a CSS stylesheet to this UI +These must be added before the UI has been opened, adding after that will have no effect

+

@param file string The name of the CSS file from /nano/css (e.g. "my_style.css")

+

@return nothing

add_template +

+

Add a template for this UI +Templates are combined with the data sent to the UI to create the rendered view +These must be added before the UI has been opened, adding after that will have no effect

+

@param key string The key which is used to reference this template in the frontend +@param filename string The name of the template file from /nano/templates (e.g. "my_template.tmpl")

+

@return nothing

close +

+

Close this UI

+

@return nothing

get_config_data +

+

Get config data to sent to the ui.

+

@return /list config data

get_html +

+

Return the HTML for this UI

+

@return string HTML for the UI

get_send_data +

+

Get data to sent to the ui.

+

@param data /list The list of general data for this ui (can be null to use previous data sent)

+

@return /list data to send to the ui

on_close_winset +

+

Set the UI window to call the nanoclose verb when the window is closed +This allows Nano to handle closed windows

+

@return nothing

open +

+

Open this UI

+

@return nothing

process +

+

Process this UI, updating the entire UI or just the status (aka visibility) +This process proc is called by the master_controller

+

@param update string For this UI to update

+

@return nothing

push_data +

+

Push data to an already open UI window

+

@return nothing

set_auto_update +

+

Set the ui to auto update (every master_controller tick)

+

@param state int (bool) Set auto update to 1 or 0 (true/false)

+

@return nothing

set_auto_update_content +

+

Set the ui to update the main content (re-render it) on each update

+

@param state int (bool) Set update to 1 or 0 (true/false) (default 1)

+

@return nothing

set_auto_update_layout +

+

Set the ui to update the layout (re-render it) on each update, turning this on will break the map ui (if it's being used)

+

@param state int (bool) Set update to 1 or 0 (true/false) (default 0)

+

@return nothing

set_initial_data +

+

Set the initial data for the ui. This is vital as the data structure set here cannot be changed when pushing new updates.

+

@param data /list The list of data for this ui

+

@return nothing

set_map_z_level +

+

Toggle showing the map ui

+

@param nstate_key boolean 1 to show map, 0 to hide (default is 0)

+

@return nothing

set_show_map +

+

Toggle showing the map ui

+

@param nstate_key boolean 1 to show map, 0 to hide (default is 0)

+

@return nothing

set_state_key +

+

Set the state key for use in the frontend Javascript

+

@param nstate_key string The key of the state to use

+

@return nothing

set_status +

+

Set the current status (also known as visibility) of this ui.

+

@param state int The status to set, see the defines at the top of this file +@param push_update int (bool) Push an update to the ui to update it's status (an update is always sent if the status has changed to red (0))

+

@return nothing

set_window_options +

+

Set the browser window options for this ui

+

@param nwindow_options string The new window options

+

@return nothing

update +

+

Update the UI

+

@return nothing

update_status +

+

Update the status (visibility) of this ui based on the user's status

+

@param push_update int (bool) Push an update to the ui to update it's status. This is set to 0/false if an update is going to be pushed anyway (to avoid unnessary updates)

+

@return nothing

use_on_close_logic +

+

Set whether or not to use the "old" on close logic (mainly unset_interaction())

+

@param state int (bool) Set on_close_logic to 1 or 0 (true/false)

+

@return nothing

+ + + diff --git a/datum/nmcontext.html b/datum/nmcontext.html new file mode 100644 index 000000000000..7cd78ef9c73c --- /dev/null +++ b/datum/nmcontext.html @@ -0,0 +1,92 @@ + + + + + + + /datum/nmcontext - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

context + + + +

+ +

Context within which we resolve nightmare actions

+ + + + + + + + +

Vars

configConfig values used internally relevant to context
nameUser-friendly name
scenarioStorage of scenario values in the context as KV
schedulerHolder for tasks to execute in the context
scheduler_typeScheduler task type
traceRuntime debug list of resolved nodes in the context

Procs

get_file_pathResolve a config file path using context configuration
get_scenario_valueGet a value from the scenario, or a global value
set_scenario_valueSet a value in the scenario. This should only be used by manual user intervention, such as admins tweaking scenario!!
+

Var Details

config + + + + +

+

Config values used internally relevant to context

name + + + + +

+

User-friendly name

scenario + + + + +

+

Storage of scenario values in the context as KV

scheduler + + + + +

+

Holder for tasks to execute in the context

scheduler_type + + + + +

+

Scheduler task type

trace + + + + +

+

Runtime debug list of resolved nodes in the context

Proc Details

get_file_path +

+

Resolve a config file path using context configuration

get_scenario_value +

+

Get a value from the scenario, or a global value

set_scenario_value +

+

Set a value in the scenario. This should only be used by manual user intervention, such as admins tweaking scenario!!

+ + + diff --git a/datum/nmnode.html b/datum/nmnode.html new file mode 100644 index 000000000000..afbe33396d8c --- /dev/null +++ b/datum/nmnode.html @@ -0,0 +1,64 @@ + + + + + + + /datum/nmnode - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/nmnode + + + +

+ +

Decriptive nightmare config nodes loaded from config files

+ + + + +

Vars

idUnique identifier for referencing in JSON configuration
nameUser provided name for debugging
rawOriginal JSON object that was used to create this

Procs

invokeCall wrapper for resolving nodes
resolveImplementation of the node, resolving into tasks in the given context
+

Var Details

id + + + + +

+

Unique identifier for referencing in JSON configuration

name + + + + +

+

User provided name for debugging

raw + + + + +

+

Original JSON object that was used to create this

Proc Details

invoke +

+

Call wrapper for resolving nodes

resolve +

+

Implementation of the node, resolving into tasks in the given context

+ + + diff --git a/datum/nmnode/branch.html b/datum/nmnode/branch.html new file mode 100644 index 000000000000..1a7949e383ca --- /dev/null +++ b/datum/nmnode/branch.html @@ -0,0 +1,36 @@ + + + + + + + /datum/nmnode/branch - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/nmnode/branch + + + +

+ +

Holding node for several child nodes

+

Vars

nodesChild nodes
+

Var Details

nodes + + + + +

+

Child nodes

+ + + diff --git a/datum/nmnode/mapload.html b/datum/nmnode/mapload.html new file mode 100644 index 000000000000..683d023986f1 --- /dev/null +++ b/datum/nmnode/mapload.html @@ -0,0 +1,36 @@ + + + + + + + /datum/nmnode/mapload - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/nmnode/mapload + + + +

+ +

Abstract config node designating a map insertion

+

Vars

filepathBase file (or directory) path of map files
+

Var Details

filepath + + + + +

+

Base file (or directory) path of map files

+ + + diff --git a/datum/nmnode/mapload/landmark.html b/datum/nmnode/mapload/landmark.html new file mode 100644 index 000000000000..211f0dc7fd92 --- /dev/null +++ b/datum/nmnode/mapload/landmark.html @@ -0,0 +1,36 @@ + + + + + + + /datum/nmnode/mapload/landmark - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/nmnode/mapload/landmark + + + +

+ +

Designates insert of a given map file at a specified landmark

+

Vars

landmarkLandmark identifier
+

Var Details

landmark + + + + +

+

Landmark identifier

+ + + diff --git a/datum/nmnode/mapload/sprinkles.html b/datum/nmnode/mapload/sprinkles.html new file mode 100644 index 000000000000..132a3bd5ece3 --- /dev/null +++ b/datum/nmnode/mapload/sprinkles.html @@ -0,0 +1,33 @@ + + + + + + + /datum/nmnode/mapload/sprinkles - byond + + +
+ byond - + Modules - + Types +
+
+

Map Sprinkles + + + +

+ +

Similar to variations mode, but rolls all files individually rather +than picking one, using name for landmark. The prefix number is used +as a percentage chance. You can add extra text with an underscore.

+

Example: +some/folder/10.something_funny.dmm +would have 10% chance to insert at 'something' landmark

+ + + diff --git a/datum/nmtask.html b/datum/nmtask.html new file mode 100644 index 000000000000..d6604d3d7a06 --- /dev/null +++ b/datum/nmtask.html @@ -0,0 +1,82 @@ + + + + + + + /datum/nmtask - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

abstract task + + + +

+ +

Nightmare task, executing game actions as part of context

+ + + + + + +

Vars

flagsTask behavior flags
nameTask name

Procs

_invoke_asyncInternal wrapper for async exec
cleanupFree resources used by the task and its state, without deleting it
executeTask implementation
invoke_asyncInvoke task execution asynchronously +If the return value is anything else than NIGHTMARE_TASK_ASYNC, +the task will have completed, and callback fired, before this proc returns
invoke_syncInvoke task execution synchronously
+

Var Details

flags + + + + +

+

Task behavior flags

name + + + + +

+

Task name

Proc Details

_invoke_async +

+

Internal wrapper for async exec

cleanup +

+

Free resources used by the task and its state, without deleting it

execute +

+

Task implementation

invoke_async +

+

Invoke task execution asynchronously +If the return value is anything else than NIGHTMARE_TASK_ASYNC, +the task will have completed, and callback fired, before this proc returns

invoke_sync +

+

Invoke task execution synchronously

+ + + diff --git a/datum/nmtask/mapload.html b/datum/nmtask/mapload.html new file mode 100644 index 000000000000..fa17c99169cf --- /dev/null +++ b/datum/nmtask/mapload.html @@ -0,0 +1,42 @@ + + + + + + + /datum/nmtask/mapload - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/nmtask/mapload + + + +

+ +

Loads a chunk of map at the specified position

+ +

Procs

initialize_boundary_contentsInitialize atoms/areas in bounds
step_parseStep 1: Validate file and asks for parsing

Proc Details

initialize_boundary_contents +

+

Initialize atoms/areas in bounds

step_parse +

+

Step 1: Validate file and asks for parsing

+ + + diff --git a/datum/nmtask/scheduler/mapload.html b/datum/nmtask/scheduler/mapload.html new file mode 100644 index 000000000000..95dfb3b68155 --- /dev/null +++ b/datum/nmtask/scheduler/mapload.html @@ -0,0 +1,36 @@ + + + + + + + /datum/nmtask/scheduler/mapload - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

mapload scheduler + + + +

+ +

Handles map insertions sequentially and updating the game to match map insertions

+

Vars

tainted_boundsMap boundaries tainted by children nightmare tasks to be handled
+

Var Details

tainted_bounds + + + + +

+

Map boundaries tainted by children nightmare tasks to be handled

+ + + diff --git a/datum/object_window_info.html b/datum/object_window_info.html new file mode 100644 index 000000000000..10e21b495f12 --- /dev/null +++ b/datum/object_window_info.html @@ -0,0 +1,86 @@ + + + + + + + /datum/object_window_info - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/object_window_info + + + +

+ +

Datum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration

+ + + + + + +

Vars

actively_trackingAre we currently tracking a turf?
atoms_to_imageslist of atom -> image string for objects we have had in the right click tab +this is our caching
atoms_to_imagifylist of atoms to turn into images for the object tab
atoms_to_showlist of atoms to show to our client via the object tab, at least currently
parentOur owner client

Procs

processTakes a client, attempts to generate object images for it +We will update the client with any improvements we make when we're done
viewing_atom_deletedClears any cached object window stuff +We use hard refs cause we'd need a signal for this anyway. Cleaner this way
+

Var Details

actively_tracking + + + + +

+

Are we currently tracking a turf?

atoms_to_images + + + + +

+

list of atom -> image string for objects we have had in the right click tab +this is our caching

atoms_to_imagify + + + + +

+

list of atoms to turn into images for the object tab

atoms_to_show + + + + +

+

list of atoms to show to our client via the object tab, at least currently

parent + + + + +

+

Our owner client

Proc Details

process +

+

Takes a client, attempts to generate object images for it +We will update the client with any improvements we make when we're done

viewing_atom_deleted +

+

Clears any cached object window stuff +We use hard refs cause we'd need a signal for this anyway. Cleaner this way

+ + + diff --git a/datum/origin.html b/datum/origin.html new file mode 100644 index 000000000000..9fb9d2dfc11e --- /dev/null +++ b/datum/origin.html @@ -0,0 +1,35 @@ + + + + + + + /datum/origin - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Base + + + +

+ + +

Procs

validate_nameReturn null if the name is correct, otherwise return a string containing the error message

Proc Details

validate_name +

+

Return null if the name is correct, otherwise return a string containing the error message

+ + + diff --git a/datum/parsed_map.html b/datum/parsed_map.html new file mode 100644 index 000000000000..d2c897da3d17 --- /dev/null +++ b/datum/parsed_map.html @@ -0,0 +1,65 @@ + + + + + + + /datum/parsed_map - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/parsed_map + + + +

+ + + + + + +

Vars

boundsOffset bounds. Same as parsed_bounds until load().
parsed_boundsUnoffset bounds. Null on parse failure.

Procs

NewParse a map, possibly cropping it.
check_for_errorsCheck a parsed but not yet loaded map for errors.
loadLoad the parsed map into the world. See /proc/load_map for arguments.
+

Var Details

bounds + + + + +

+

Offset bounds. Same as parsed_bounds until load().

parsed_bounds + + + + +

+

Unoffset bounds. Null on parse failure.

Proc Details

New +

+

Parse a map, possibly cropping it.

check_for_errors +

+

Check a parsed but not yet loaded map for errors.

+

Returns a /datum/map_report if there are errors or FALSE otherwise.

load +

+

Load the parsed map into the world. See /proc/load_map for arguments.

+ + + diff --git a/datum/particle_editor.html b/datum/particle_editor.html new file mode 100644 index 000000000000..16d413f75c38 --- /dev/null +++ b/datum/particle_editor.html @@ -0,0 +1,36 @@ + + + + + + + /datum/particle_editor - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/particle_editor + + + +

+ + +

Vars

targetmovable whose particles we want to be editing
+

Var Details

target + + + + +

+

movable whose particles we want to be editing

+ + + diff --git a/datum/paygrade.html b/datum/paygrade.html new file mode 100644 index 000000000000..f9c2119ee169 --- /dev/null +++ b/datum/paygrade.html @@ -0,0 +1,43 @@ + + + + + + + /datum/paygrade - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/paygrade + + + +

+ + + +

Vars

fprefixFactional prefix, currently only used by PMCs. In essence, a pre-prefix.
pay_multiplierActually gives you the fucking money from your paygrade in your ATM account. Multiplier of 1 equals PFC pay.
+

Var Details

fprefix + + + + +

+

Factional prefix, currently only used by PMCs. In essence, a pre-prefix.

pay_multiplier + + + + +

+

Actually gives you the fucking money from your paygrade in your ATM account. Multiplier of 1 equals PFC pay.

+ + + diff --git a/datum/player_info.html b/datum/player_info.html new file mode 100644 index 000000000000..2d60507e551c --- /dev/null +++ b/datum/player_info.html @@ -0,0 +1,36 @@ + + + + + + + /datum/player_info - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/player_info + + + +

+ + +

Vars

authorPanels
+

Var Details

author + + + + +

+

Panels

+ + + diff --git a/datum/preferences.html b/datum/preferences.html new file mode 100644 index 000000000000..e663f68f60c7 --- /dev/null +++ b/datum/preferences.html @@ -0,0 +1,98 @@ + + + + + + + /datum/preferences - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/preferences + + + +

+ + + + + + + + + + +

Vars

custom_cursorsif this client has custom cursors enabled
pref_job_slotsHolds assignment of character slots to jobs.
pref_special_job_optionsholds our preferred job options for jobs
read_traitsState var to check if traits have been read in to modify +trait points
trait_pointsState var for preferences to track trait points +Change this value to set the amount of trait points you start with
traitsThe list of traits a client will gives its human mob upon spawn +Store as typepaths

Procs

check_keybindingschecks through keybindings for outdated unbound keys and updates them
copy_all_toTransfers both physical characteristics and character information to character
find_assigned_slotLoads appropriate character slot for the given job as assigned in preferences.
+

Var Details

custom_cursors + + + + +

+

if this client has custom cursors enabled

pref_job_slots + + + + +

+

Holds assignment of character slots to jobs.

pref_special_job_options + + + + +

+

holds our preferred job options for jobs

read_traits + + + + +

+

State var to check if traits have been read in to modify +trait points

trait_points + + + + +

+

State var for preferences to track trait points +Change this value to set the amount of trait points you start with

traits + + + + +

+

The list of traits a client will gives its human mob upon spawn +Store as typepaths

Proc Details

check_keybindings +

+

checks through keybindings for outdated unbound keys and updates them

copy_all_to +

+

Transfers both physical characteristics and character information to character

find_assigned_slot +

+

Loads appropriate character slot for the given job as assigned in preferences.

+ + + diff --git a/datum/quadtree.html b/datum/quadtree.html new file mode 100644 index 000000000000..651582c3c4c0 --- /dev/null +++ b/datum/quadtree.html @@ -0,0 +1,36 @@ + + + + + + + /datum/quadtree - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/quadtree + + + +

+ + +

Vars

finalDon't divide further when truthy
+

Var Details

final + + + + +

+

Don't divide further when truthy

+ + + diff --git a/datum/radar.html b/datum/radar.html new file mode 100644 index 000000000000..a9b8aae59955 --- /dev/null +++ b/datum/radar.html @@ -0,0 +1,134 @@ + + + + + + + /datum/radar - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/radar + + + +

+ +

generic parent that handles most of the process

+ + + + + + + + + + + +

Vars

arrowstyleUsed by the tgui interface, themed NT or Syndicate.
holderthe thing which has this datum attached to it. REQUIRED!!! IF HOLDER DOES NOT EXIST, WE DO NOT EXIST. QDEL.
last_icon_stateUsed to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_appearance() calls
next_scanUsed to store when the next scan is available. Updated by the scan() proc.
objectsList of trackable entities. Updated by the scan() proc.
pointercolorUsed by the tgui interface, themed for NT or Syndicate colors.
scan_cooldowncooldown between scans
selectedRef of the last trackable object selected by the user in the tgui window. Updated in the ui_act() proc.

Procs

find_atomFinds the atom in the appropriate list that the selected var indicates
scanRuns a scan of all the trackable atoms.
trackUpdates tracking information of the selected target.
trackableChecks the trackability of the selected target.
+

Var Details

arrowstyle + + + + +

+

Used by the tgui interface, themed NT or Syndicate.

holder + + + + +

+

the thing which has this datum attached to it. REQUIRED!!! IF HOLDER DOES NOT EXIST, WE DO NOT EXIST. QDEL.

last_icon_state + + + + +

+

Used to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_appearance() calls

next_scan + + + + +

+

Used to store when the next scan is available. Updated by the scan() proc.

objects + + + + +

+

List of trackable entities. Updated by the scan() proc.

pointercolor + + + + +

+

Used by the tgui interface, themed for NT or Syndicate colors.

scan_cooldown + + + + +

+

cooldown between scans

selected + + + + +

+

Ref of the last trackable object selected by the user in the tgui window. Updated in the ui_act() proc.

Proc Details

find_atom +

+

Finds the atom in the appropriate list that the selected var indicates

+

The selected var holds a REF, which is a string. A mob REF may be +something like "mob_209". In order to find the actual atom, we need +to search the appropriate list for the REF string. This is dependant +on the program (Lifeline uses GLOB.human_list, while Fission360 uses +GLOB.poi_list), but the result will be the same; evaluate the string and +return an atom reference.

scan +

+

Runs a scan of all the trackable atoms.

+

Checks each entry in the GLOB of the specific trackable atoms against +the track() proc, and fill the objects list with lists containing the +atoms' names and REFs. The objects list is handed to the tgui screen +for displaying to, and being selected by, the user. A two second +sleep is used to delay the scan, both for thematical reasons as well +as to limit the load players may place on the server using these +somewhat costly loops.

track +

+

Updates tracking information of the selected target.

+

The track() proc updates the entire set of information about the location +of the target, including whether the Ntos window should use a pinpointer +crosshair over the up/down arrows, or none in favor of a rotating arrow +for far away targets. This information is returned in the form of a list.

trackable +

+

Checks the trackability of the selected target.

+

If the target is on the computer's Z level, or both are on station Z +levels, and the target isn't untrackable, return TRUE. +Arguments: +*arg1 is the atom being evaluated.

+ + + diff --git a/datum/reagent/ethanol.html b/datum/reagent/ethanol.html new file mode 100644 index 000000000000..f5ef9ffe18c7 --- /dev/null +++ b/datum/reagent/ethanol.html @@ -0,0 +1,50 @@ + + + + + + + /datum/reagent/ethanol - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Ethanol + + + +

+ + + + +

Vars

accumulated_alcoholIf it's a normal drink, let them drink a bit before they start feeling it.
boozepwrhigher numbers mean the booze will have an effect faster.
effect_startThis is when the properties are gonna hit. Drink in moderation.
+

Var Details

accumulated_alcohol + + + + +

+

If it's a normal drink, let them drink a bit before they start feeling it.

boozepwr + + + + +

+

higher numbers mean the booze will have an effect faster.

effect_start + + + + +

+

This is when the properties are gonna hit. Drink in moderation.

+ + + diff --git a/datum/reagents.html b/datum/reagents.html new file mode 100644 index 000000000000..730682a36af9 --- /dev/null +++ b/datum/reagents.html @@ -0,0 +1,63 @@ + + + + + + + /datum/reagents - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/reagents + + + +

+ + + + + + +

Procs

remove_any_butThis proc is one that removes all reagents from the targeted datum other than the designated ignored reagent
set_source_mobYou can search for specific reagents using the specific reagents arg.
trans_toTransfers to the reagents datum of an object
trans_to_datumTransfers to a reagent datum
trans_to_ingestTransfers to object as ingestion

Proc Details

remove_any_but +

+

This proc is one that removes all reagents from the targeted datum other than the designated ignored reagent

set_source_mob +

+

You can search for specific reagents using the specific reagents arg.

trans_to +

+

Transfers to the reagents datum of an object

trans_to_datum +

+

Transfers to a reagent datum

trans_to_ingest +

+

Transfers to object as ingestion

+ + + diff --git a/datum/reagents/vessel.html b/datum/reagents/vessel.html new file mode 100644 index 000000000000..f0ed40eb4589 --- /dev/null +++ b/datum/reagents/vessel.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagents/vessel - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/reagents/vessel + + + +

+ + +

Procs

inject_vesselInjects all contents into an object

Proc Details

inject_vessel +

+

Injects all contents into an object

+ + + diff --git a/datum/redis_callback.html b/datum/redis_callback.html new file mode 100644 index 000000000000..a24fb218e3a8 --- /dev/null +++ b/datum/redis_callback.html @@ -0,0 +1,51 @@ + + + + + + + /datum/redis_callback - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Redis callbacks + + + +

+ +

This datum is used for assigning callbacks that run +when a message is received on a specific channel. Subtypes of this +are automatically registered in SSredis initialization

+ +

Vars

channelredis channel that this callback subscribes to

Procs

on_messageThis proc is run when a message is received on the callback's channel. +Must be overwritten.
+

Var Details

channel + + + + +

+

redis channel that this callback subscribes to

Proc Details

on_message +

+

This proc is run when a message is received on the callback's channel. +Must be overwritten.

+

Arguments:

+
+ + + diff --git a/datum/redis_message.html b/datum/redis_message.html new file mode 100644 index 000000000000..2f04de8c7985 --- /dev/null +++ b/datum/redis_message.html @@ -0,0 +1,43 @@ + + + + + + + /datum/redis_message - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Redis message + + + +

+ +

Used to hold redis messages created prior to the initialization of SSredis

+ +

Vars

channeldestination redis channel
messagemessage being sent to the channel
+

Var Details

channel + + + + +

+

destination redis channel

message + + + + +

+

message being sent to the channel

+ + + diff --git a/datum/role_reserved_slots.html b/datum/role_reserved_slots.html new file mode 100644 index 000000000000..248bfb5eab61 --- /dev/null +++ b/datum/role_reserved_slots.html @@ -0,0 +1,57 @@ + + + + + + + /datum/role_reserved_slots - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/role_reserved_slots + + + +

+ +

special role slots datum. Stores category name, roles, amount of taken slots and total slots.

+ + + +

Vars

category_namecategory name for roles
rolesroles, that fit this category. Don't put same role in more than one category, only first found is checked.
takenamount of slots taken.
totaltotal amount of slots.
+

Var Details

category_name + + + + +

+

category name for roles

roles + + + + +

+

roles, that fit this category. Don't put same role in more than one category, only first found is checked.

taken + + + + +

+

amount of slots taken.

total + + + + +

+

total amount of slots.

+ + + diff --git a/datum/round_event.html b/datum/round_event.html new file mode 100644 index 000000000000..86013f2ce547 --- /dev/null +++ b/datum/round_event.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/round_event + + + +

+ + +

Vars

cancel_eventWhether a admin wants this event to be cancelled
+

Var Details

cancel_event + + + + +

+

Whether a admin wants this event to be cancelled

+ + + diff --git a/datum/round_event/economy_inflation.html b/datum/round_event/economy_inflation.html new file mode 100644 index 000000000000..a6c37c1cceed --- /dev/null +++ b/datum/round_event/economy_inflation.html @@ -0,0 +1,57 @@ + + + + + + + /datum/round_event/economy_inflation - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/round_event/economy_inflation + + + +

+ + + + + +

Vars

inflation_multThe multiplier for increasing prices of the above.
product_typeThe event will modify all vendors of this specific product type.
time_to_updateUsed in the announcement and in setup to indicate when it will start.

Procs

get_random_storyReturns a random backstory 'incident' as the cause for the sudden price hike.
+

Var Details

inflation_mult + + + + +

+

The multiplier for increasing prices of the above.

product_type + + + + +

+

The event will modify all vendors of this specific product type.

time_to_update + + + + +

+

Used in the announcement and in setup to indicate when it will start.

Proc Details

get_random_story +

+

Returns a random backstory 'incident' as the cause for the sudden price hike.

+ + + diff --git a/datum/round_event_control.html b/datum/round_event_control.html new file mode 100644 index 000000000000..9ea8009d591f --- /dev/null +++ b/datum/round_event_control.html @@ -0,0 +1,98 @@ + + + + + + + /datum/round_event_control - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/round_event_control + + + +

+ +

this datum is used by the events controller to dictate how it selects events

+ + + + + + + + +

Vars

earliest_startThe earliest world.time that an event can start (round-duration in deciseconds) default: 20 mins
min_playersThe minimum amount of alive, non-AFK human players on server required to start the event.
nameThe human-readable name of the event
occurrencesHow many times this event has occured
triggeringadmin cancellation
typepathThe typepath of the event datum /datum/round_event
weightThe weight this event has in the random-selection process. +Higher weights are more likely to be picked. +10 is the default weight. 20 is twice more likely; 5 is half as likely as this default. +0 here does NOT disable the event, it just makes it extremely unlikely

Procs

can_spawn_eventChecks if the event can be spawned. Used by event controller. Admin-created events override this.
stop_random_eventreturns the component for the listener
+

Var Details

earliest_start + + + + +

+

The earliest world.time that an event can start (round-duration in deciseconds) default: 20 mins

min_players + + + + +

+

The minimum amount of alive, non-AFK human players on server required to start the event.

name + + + + +

+

The human-readable name of the event

occurrences + + + + +

+

How many times this event has occured

triggering + + + + +

+

admin cancellation

typepath + + + + +

+

The typepath of the event datum /datum/round_event

weight + + + + +

+

The weight this event has in the random-selection process. +Higher weights are more likely to be picked. +10 is the default weight. 20 is twice more likely; 5 is half as likely as this default. +0 here does NOT disable the event, it just makes it extremely unlikely

Proc Details

can_spawn_event +

+

Checks if the event can be spawned. Used by event controller. Admin-created events override this.

stop_random_event +

+

returns the component for the listener

+ + + diff --git a/datum/screen_object_holder.html b/datum/screen_object_holder.html new file mode 100644 index 000000000000..29c1725633fd --- /dev/null +++ b/datum/screen_object_holder.html @@ -0,0 +1,43 @@ + + + + + + + /datum/screen_object_holder - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/screen_object_holder + + + +

+ +

A helper instance that will handle adding objects from the client's screen +to easily remove from later.

+ +

Procs

give_protected_screen_objectGives the screen object to the client, but does not qdel it when it's cleared
give_screen_objectGives the screen object to the client, qdel'ing it when it's cleared

Proc Details

give_protected_screen_object +

+

Gives the screen object to the client, but does not qdel it when it's cleared

give_screen_object +

+

Gives the screen object to the client, qdel'ing it when it's cleared

+ + + diff --git a/datum/shuttle/ferry/marine.html b/datum/shuttle/ferry/marine.html new file mode 100644 index 000000000000..a76b5e6e1151 --- /dev/null +++ b/datum/shuttle/ferry/marine.html @@ -0,0 +1,43 @@ + + + + + + + /datum/shuttle/ferry/marine - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/shuttle/ferry/marine + + + +

+ + + +

Vars

automated_launchCan the shuttle depart automatically?
automated_launch_delayHow many seconds past shuttle cooldown for the shuttle to automatically depart (if possible)
+

Var Details

automated_launch + + + + +

+

Can the shuttle depart automatically?

automated_launch_delay + + + + +

+

How many seconds past shuttle cooldown for the shuttle to automatically depart (if possible)

+ + + diff --git a/datum/shuttle/ferry/supply.html b/datum/shuttle/ferry/supply.html new file mode 100644 index 000000000000..57915f9c4ba8 --- /dev/null +++ b/datum/shuttle/ferry/supply.html @@ -0,0 +1,36 @@ + + + + + + + /datum/shuttle/ferry/supply - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/shuttle/ferry/supply + + + +

+ + +

Vars

elevator_animationUsed to mirrors the turfs (and their contents) on the elevator when raising/lowering, so they don't instantly teleport or vanish.
+

Var Details

elevator_animation + + + + +

+

Used to mirrors the turfs (and their contents) on the elevator when raising/lowering, so they don't instantly teleport or vanish.

+ + + diff --git a/datum/skill.html b/datum/skill.html new file mode 100644 index 000000000000..671d76a314b1 --- /dev/null +++ b/datum/skill.html @@ -0,0 +1,57 @@ + + + + + + + /datum/skill - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/skill + + + +

+ + + + + +

Vars

max_skill_levelthe max level this skill can be, used for tgui
readable_skill_nameused for the view UI
skill_levelLevel of skill in this... skill
skill_nameName of the skill
+

Var Details

max_skill_level + + + + +

+

the max level this skill can be, used for tgui

readable_skill_name + + + + +

+

used for the view UI

skill_level + + + + +

+

Level of skill in this... skill

skill_name + + + + +

+

Name of the skill

+ + + diff --git a/datum/skills.html b/datum/skills.html new file mode 100644 index 000000000000..b5a05571dd50 --- /dev/null +++ b/datum/skills.html @@ -0,0 +1,37 @@ + + + + + + + /datum/skills - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/skills + + + +

+ +

Skill with an extra S at the end is a collection of multiple skills. Basically a skillSET +This is to organize and provide a common interface to the huge heap of skills there are

+

Vars

nameThe name of the skillset
+

Var Details

name + + + + +

+

The name of the skillset

+ + + diff --git a/datum/species.html b/datum/species.html new file mode 100644 index 000000000000..eb71303bee33 --- /dev/null +++ b/datum/species.html @@ -0,0 +1,57 @@ + + + + + + + /datum/species - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/species + + + +

+ + + + + +

Vars

groupUsed for isx(y) checking of species groups
mob_inherent_traitsStatus traits to give to the mob.
weed_slowdown_multIf different from 1, a signal is registered on post_spawn().

Procs

apply_signalsApply signals to the human
+

Var Details

group + + + + +

+

Used for isx(y) checking of species groups

mob_inherent_traits + + + + +

+

Status traits to give to the mob.

weed_slowdown_mult + + + + +

+

If different from 1, a signal is registered on post_spawn().

Proc Details

apply_signals +

+

Apply signals to the human

+ + + diff --git a/datum/squad.html b/datum/squad.html new file mode 100644 index 000000000000..b8f33e16ae71 --- /dev/null +++ b/datum/squad.html @@ -0,0 +1,108 @@ + + + + + + + /datum/squad - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/squad + + + +

+ + + + + + + + + + + + +

Vars

lockedWhether this squad can be picked at roundstart
max_engineersCan use any squad vendor regardless of squad connection
primary_objectiveText strings, not HTML safe so don't use it without encoding
squad_typeSquad Type Specifics
usableVariables for showing up in various places

Procs

assume_overwatchSets an overwatch officer for the squad, returning TRUE on success
clear_ref_trackingClear deletion signal as needed for mob - to call after removal
personnel_deletedClear references in squad listing upon deletion. Zap also erases the kept records. +NOTE: zap will be set true for a forced COMSIG_PARENT_QDELETING
release_overwatchExplicitely relinquish overwatch control
send_maptextDisplays a message to squad members directly on the game map
send_messageDisplays a message to the squad members in chat
+

Var Details

locked + + + + +

+

Whether this squad can be picked at roundstart

max_engineers + + + + +

+

Can use any squad vendor regardless of squad connection

primary_objective + + + + +

+

Text strings, not HTML safe so don't use it without encoding

squad_type + + + + +

+

Squad Type Specifics

usable + + + + +

+

Variables for showing up in various places

Proc Details

assume_overwatch +

+

Sets an overwatch officer for the squad, returning TRUE on success

clear_ref_tracking +

+

Clear deletion signal as needed for mob - to call after removal

personnel_deleted +

+

Clear references in squad listing upon deletion. Zap also erases the kept records. +NOTE: zap will be set true for a forced COMSIG_PARENT_QDELETING

release_overwatch +

+

Explicitely relinquish overwatch control

send_maptext +

+

Displays a message to squad members directly on the game map

send_message +

+

Displays a message to the squad members in chat

+ + + diff --git a/datum/stack_canary.html b/datum/stack_canary.html new file mode 100644 index 000000000000..45790166eb82 --- /dev/null +++ b/datum/stack_canary.html @@ -0,0 +1,35 @@ + + + + + + + /datum/stack_canary - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/stack_canary + + + +

+ +

Stack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.

+

Procs

use_variableempty proc to avoid warnings about unused variables. Call this proc on your canary in the stack it's watching.

Proc Details

use_variable +

+

empty proc to avoid warnings about unused variables. Call this proc on your canary in the stack it's watching.

+ + + diff --git a/datum/stack_end_detector.html b/datum/stack_end_detector.html new file mode 100644 index 000000000000..516c130ef12c --- /dev/null +++ b/datum/stack_end_detector.html @@ -0,0 +1,47 @@ + + + + + + + /datum/stack_end_detector - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/stack_end_detector + + + +

+ +

Stack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.

+ +

Procs

checkReturns true if the stack is still going. Calling before the canary has been primed also returns true
prime_canary

Proc Details

check +

+

Returns true if the stack is still going. Calling before the canary has been primed also returns true

prime_canary +

+
+ + + diff --git a/datum/supply_packs.html b/datum/supply_packs.html new file mode 100644 index 000000000000..cfa956e1dd86 --- /dev/null +++ b/datum/supply_packs.html @@ -0,0 +1,66 @@ + + + + + + + /datum/supply_packs - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Basic supply pack. + + + +

+ + + + + + +

Vars

containertypeDetermine the price of the crate. Give it a value between 7 and 100 to avoid breaking the game. +If this variable is null (not if it's an empty list), and so is contains, it won't show up on the order computer.
containsIf this variable is null (not if it's an empty list), and so is containertype, it won't show up on the order computer.
dollar_costHow many W-Y dollars are deducted from the supply controller. Only use for contraband.
groupTell if the crate is a contraband value 1 or not 0.
randomised_num_containedCan this pack be bought? These packs don't show up at all - they have to be spawned externally (fe: DEFCON ASRS)
+

Var Details

containertype + + + + +

+

Determine the price of the crate. Give it a value between 7 and 100 to avoid breaking the game. +If this variable is null (not if it's an empty list), and so is contains, it won't show up on the order computer.

contains + + + + +

+

If this variable is null (not if it's an empty list), and so is containertype, it won't show up on the order computer.

dollar_cost + + + + +

+

How many W-Y dollars are deducted from the supply controller. Only use for contraband.

group + + + + +

+

Tell if the crate is a contraband value 1 or not 0.

randomised_num_contained + + + + +

+

Can this pack be bought? These packs don't show up at all - they have to be spawned externally (fe: DEFCON ASRS)

+ + + diff --git a/datum/surgery.html b/datum/surgery.html new file mode 100644 index 000000000000..84981838ecd6 --- /dev/null +++ b/datum/surgery.html @@ -0,0 +1,146 @@ + + + + + + + /datum/surgery - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

surgery + + + +

+ +

Base surgery datum and procs. There is an important distinction between surgery datums and surgery steps. +The surgery is a separate instance for each individual operation; the steps are shared globally. +datum/surgery and datum/surgery_step are intertwined. The surgery calls the step which modifies the surgery. +Defines are in __DEFINES/human.dm and __DEFINES/surgery.dm.

+ + + + + + + + + + + + + + + +

Vars

affected_limbThe limb the surgery is being performed on. If designing a surgery for a species without limbs, this var won't be usable.
invasivenessHow deep the incision must be before this operation is a valid option.
locationThe location this instance of the surgery is being performed on.
lying_requiredDoes the victim needs to be lying down? Surgeries that can be performed while standing aren't affected by the surface the patient is on.
pain_reduction_requiredHow strong a level of anesthesia is needed to avoid risking pain causing a step to fail?
possible_locsList of possible locations the surgery can be performed on. This is target zones: DEFENSE_ZONES_LIVING lists all options. ALL_LIMBS doesn't include eyes/mouth. +Note also that steps don't check this and it is possible to include a step that can't be performed on a target limb.
priorityWhen initiating surgeries, this defines their order when listed in initiation selector or 'you can't use this tool for anything, but could x, y, or z' messages.
required_surgery_skillHow much training is needed to do this surgery?
requires_bodypartTRUE if the surgery requires a non-destroyed limb; FALSE if it requires a destroyed one, or doesn't need a limb.
requires_bodypart_typeStatus flag(s) required on the target limb to perform an operation. NONE for any limb type. (FLAG|FLAG) is an OR check, granular this-but-not-this or this-and-this checks should be in can_start()
self_operableCan the surgery be performed on yourself?
statusThe step the surgery is currently on. When status > number of steps, the surgery ends.
stepsList of steps in the surgery.
target_mobtypesWhat species can this be performed on?

Procs

attempt_next_stepUsed on attackby and attackhand; TRUE means it stops the attack there, FALSE means it performs an item/open hand attack. CHECK OPENHAND ATTACK IS BLOCKED PROPERLY
can_startCatch-all proc for additional preconditions for starting the surgery. Return FALSE if the surgery can't be done.
+

Var Details

affected_limb + + + + +

+

The limb the surgery is being performed on. If designing a surgery for a species without limbs, this var won't be usable.

invasiveness + + + + +

+

How deep the incision must be before this operation is a valid option.

location + + + + +

+

The location this instance of the surgery is being performed on.

lying_required + + + + +

+

Does the victim needs to be lying down? Surgeries that can be performed while standing aren't affected by the surface the patient is on.

pain_reduction_required + + + + +

+

How strong a level of anesthesia is needed to avoid risking pain causing a step to fail?

possible_locs + + + + +

+

List of possible locations the surgery can be performed on. This is target zones: DEFENSE_ZONES_LIVING lists all options. ALL_LIMBS doesn't include eyes/mouth. +Note also that steps don't check this and it is possible to include a step that can't be performed on a target limb.

priority + + + + +

+

When initiating surgeries, this defines their order when listed in initiation selector or 'you can't use this tool for anything, but could x, y, or z' messages.

required_surgery_skill + + + + +

+

How much training is needed to do this surgery?

requires_bodypart + + + + +

+

TRUE if the surgery requires a non-destroyed limb; FALSE if it requires a destroyed one, or doesn't need a limb.

requires_bodypart_type + + + + +

+

Status flag(s) required on the target limb to perform an operation. NONE for any limb type. (FLAG|FLAG) is an OR check, granular this-but-not-this or this-and-this checks should be in can_start()

self_operable + + + + +

+

Can the surgery be performed on yourself?

status + + + + +

+

The step the surgery is currently on. When status > number of steps, the surgery ends.

steps + + + + +

+

List of steps in the surgery.

target_mobtypes + + + + +

+

What species can this be performed on?

Proc Details

attempt_next_step +

+

Used on attackby and attackhand; TRUE means it stops the attack there, FALSE means it performs an item/open hand attack. CHECK OPENHAND ATTACK IS BLOCKED PROPERLY

can_start +

+

Catch-all proc for additional preconditions for starting the surgery. Return FALSE if the surgery can't be done.

+ + + diff --git a/datum/surgery_step.html b/datum/surgery_step.html new file mode 100644 index 000000000000..d9752d3b88b7 --- /dev/null +++ b/datum/surgery_step.html @@ -0,0 +1,203 @@ + + + + + + + /datum/surgery_step - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/surgery_step + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

accept_any_itemDoes the surgery step accept any item? If true, ignores tools.
accept_handDoes the surgery step accept an open hand? If true and the surgeon uses their hand, doesn't check for tools. If wanting to make a +surgery where a hand can do it but tools are faster, give it a long default time and its tools modifiers above 100.
descDescription of the surgery used for need-different-tool messages, +format: (You could/can't )["sever the bone in the patient's limb"]( with \the [tool], or )[next step desc]. Can't refer to outside vars as step datums are global.
failure_soundfailure >:(
preop_soundpreop means "in Progress" sound
repeat_stepWhether this step continuously repeats as long as a criteria is met. If TRUE, consider setting skip_step_criteria() or using a failure() override to return TRUE to allow it to be canceled or skipped.
success_soundSound of success
timeHow long does the step take as a baseline? Modified by the surgeon's skills, the tool used, and, if the parent surgery requires the patient +to be lying down, the surface the patient is buckled to or resting on: surgery table, field surgical bed, rollerbed, table, open ground etc.
toolsAssociative list, tools and their step time multiplier. tools_typecache is assigned from from first to last, so if you have a +more specific subtype and its parent in the same list, place the subtype last to override the general parent. +Some are shared defines, some are set on the tool that uses them.
tools_cacheAssoc. list. This is generated on init and is something like an inverse typecache. All types and subtypes of valid tools are in it, associated to the +parent tool type. Example: for an item type /wxy/z, tool_check() returns tools_cache[/wxy/z]. If /wxy is in tools, this will == /wxy; otherwise it == NULL.

Procs

attempt_stepThe proc that actually performs the step.
completeFinishes the surgery and removes it from the target's lists.
extra_checksobj/limb/hand ? +does any extra checks that is is SUBTYPED to perform
failureThis is used for failed-step narration and relevant failure changes, often damage etc. If it returns TRUE, the step succeeds anyway. +tool_type may be a typepath or simply '1'. Note that a first step done on help-intent doesn't call failure(), it just ends harmlessly.
play_failure_soundPlays the failure sound
play_preop_soundPlays Preop Sounds
play_success_soundPlays the selected success sound
preopThis is used for beginning-step narration. tool_type may be a typepath or simply '1'.
repeat_step_criteriaUsed by repeating steps to determine whether to keep looping. tool_type may be a typepath or simply '1'.
skip_step_criteriaWhether this step is optional and can be skipped if it isn't the last step. There must be a step after it to skip to. As this may be used when +initiating a surgery and deciding whether to skip the first step, it must be able to work without reference to the parent surgery's status, +affected_limb, or location vars. Also, in that case there may be a wait between passing the check and beginning the step while the user picks a surgery.
successThis is used for end-step narration and relevant success changes - whatever the step is meant to do, if it isn't just flavour. tool_type may be a typepath or simply '1'.
tool_checkChecks the given tool, if any, against the step's tools list, and returns one of three options: the tool list key, TRUE, or FALSE to fail the surgery.
+

Var Details

accept_any_item + + + + +

+

Does the surgery step accept any item? If true, ignores tools.

accept_hand + + + + +

+

Does the surgery step accept an open hand? If true and the surgeon uses their hand, doesn't check for tools. If wanting to make a +surgery where a hand can do it but tools are faster, give it a long default time and its tools modifiers above 100.

desc + + + + +

+

Description of the surgery used for need-different-tool messages, +format: (You could/can't )["sever the bone in the patient's limb"]( with \the [tool], or )[next step desc]. Can't refer to outside vars as step datums are global.

failure_sound + + + + +

+

failure >:(

preop_sound + + + + +

+

preop means "in Progress" sound

repeat_step + + + + +

+

Whether this step continuously repeats as long as a criteria is met. If TRUE, consider setting skip_step_criteria() or using a failure() override to return TRUE to allow it to be canceled or skipped.

success_sound + + + + +

+

Sound of success

time + + + + +

+

How long does the step take as a baseline? Modified by the surgeon's skills, the tool used, and, if the parent surgery requires the patient +to be lying down, the surface the patient is buckled to or resting on: surgery table, field surgical bed, rollerbed, table, open ground etc.

tools + + + + +

+

Associative list, tools and their step time multiplier. tools_typecache is assigned from from first to last, so if you have a +more specific subtype and its parent in the same list, place the subtype last to override the general parent. +Some are shared defines, some are set on the tool that uses them.

tools_cache + + + + +

+

Assoc. list. This is generated on init and is something like an inverse typecache. All types and subtypes of valid tools are in it, associated to the +parent tool type. Example: for an item type /wxy/z, tool_check() returns tools_cache[/wxy/z]. If /wxy is in tools, this will == /wxy; otherwise it == NULL.

Proc Details

attempt_step +

+

The proc that actually performs the step.

complete +

+

Finishes the surgery and removes it from the target's lists.

extra_checks +

+

obj/limb/hand ? +does any extra checks that is is SUBTYPED to perform

failure +

+

This is used for failed-step narration and relevant failure changes, often damage etc. If it returns TRUE, the step succeeds anyway. +tool_type may be a typepath or simply '1'. Note that a first step done on help-intent doesn't call failure(), it just ends harmlessly.

play_failure_sound +

+

Plays the failure sound

play_preop_sound +

+

Plays Preop Sounds

play_success_sound +

+

Plays the selected success sound

preop +

+

This is used for beginning-step narration. tool_type may be a typepath or simply '1'.

repeat_step_criteria +

+

Used by repeating steps to determine whether to keep looping. tool_type may be a typepath or simply '1'.

skip_step_criteria +

+

Whether this step is optional and can be skipped if it isn't the last step. There must be a step after it to skip to. As this may be used when +initiating a surgery and deciding whether to skip the first step, it must be able to work without reference to the parent surgery's status, +affected_limb, or location vars. Also, in that case there may be a wait between passing the check and beginning the step while the user picks a surgery.

success +

+

This is used for end-step narration and relevant success changes - whatever the step is meant to do, if it isn't just flavour. tool_type may be a typepath or simply '1'.

tool_check +

+

Checks the given tool, if any, against the step's tools list, and returns one of three options: the tool list key, TRUE, or FALSE to fail the surgery.

+ + + diff --git a/datum/surgery_step/clamp_bleeders_step.html b/datum/surgery_step/clamp_bleeders_step.html new file mode 100644 index 000000000000..cb743a1e53a6 --- /dev/null +++ b/datum/surgery_step/clamp_bleeders_step.html @@ -0,0 +1,36 @@ + + + + + + + /datum/surgery_step/clamp_bleeders_step - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Clamp Bleeders + + + +

+ + +

Vars

ligation_toolsTools used to stem bleeders by specifically tying them up. List used for specific messaging as there's two of these.
+

Var Details

ligation_tools + + + + +

+

Tools used to stem bleeders by specifically tying them up. List used for specific messaging as there's two of these.

+ + + diff --git a/datum/surgery_step/saw_off_limb.html b/datum/surgery_step/saw_off_limb.html new file mode 100644 index 000000000000..b3b8eaaa73fb --- /dev/null +++ b/datum/surgery_step/saw_off_limb.html @@ -0,0 +1,36 @@ + + + + + + + /datum/surgery_step/saw_off_limb - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Sever Bone + + + +

+ + +

Vars

cannot_hackTools which cannot instantly hack off a limb when amputating. Bayonet is for sawing, butcher/hatchet are smaller substitutes for machete/fire axe.
+

Var Details

cannot_hack + + + + +

+

Tools which cannot instantly hack off a limb when amputating. Bayonet is for sawing, butcher/hatchet are smaller substitutes for machete/fire axe.

+ + + diff --git a/datum/suture_handler.html b/datum/suture_handler.html new file mode 100644 index 000000000000..fb27ea8bb715 --- /dev/null +++ b/datum/suture_handler.html @@ -0,0 +1,62 @@ + + + + + + + /datum/suture_handler - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/suture_handler + + + +

+ +

Handles sutures for this limb. Doesn't process, updates on limb damage and new suture attempts.

+ + + +

Procs

add_suturesUsed to order a limb to add sutures. COMSIG_LIMB_ADD_SUTURES doesn't return something = no suture datum to answer. +suture_brute = heals brute, boolean, also tracks fully-sutured state. +suture_burn = ^ but for burns +maximum_heal = total amount of each damage type that can be healed - IE TRUE/TRUE/10 = up to 10 brute AND up to 10 burns
check_suturesDetermines how many sutures can be added up to the max of 10 per type. Modifies a list referenced as an arg.
remove_suturesUnregisters datum. The signals are the only references to this.
update_suturesUpdates the amount of sutured damage remaining.

Proc Details

add_sutures +

+

Used to order a limb to add sutures. COMSIG_LIMB_ADD_SUTURES doesn't return something = no suture datum to answer. +suture_brute = heals brute, boolean, also tracks fully-sutured state. +suture_burn = ^ but for burns +maximum_heal = total amount of each damage type that can be healed - IE TRUE/TRUE/10 = up to 10 brute AND up to 10 burns

check_sutures +

+

Determines how many sutures can be added up to the max of 10 per type. Modifies a list referenced as an arg.

remove_sutures +

+

Unregisters datum. The signals are the only references to this.

update_sutures +

+

Updates the amount of sutured damage remaining.

+ + + diff --git a/datum/tacmap.html b/datum/tacmap.html new file mode 100644 index 000000000000..ea66db4d4e07 --- /dev/null +++ b/datum/tacmap.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tacmap - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tacmap + + + +

+ + +

Vars

targeted_ztraitby default the ground map - this picks the first level matching the trait. if it exists
+

Var Details

targeted_ztrait + + + + +

+

by default the ground map - this picks the first level matching the trait. if it exists

+ + + diff --git a/datum/tech.html b/datum/tech.html new file mode 100644 index 000000000000..f60c7fb29cbf --- /dev/null +++ b/datum/tech.html @@ -0,0 +1,38 @@ + + + + + + + /datum/tech - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

tech + + + +

+ + +

Procs

on_unlockCalled when a tech is unlocked. Usually, benefits can be applied here +however, the purchase can still be cancelled by returning FALSE

Proc Details

on_unlock +

+

Called when a tech is unlocked. Usually, benefits can be applied here +however, the purchase can still be cancelled by returning FALSE

+

If you sleep in this proc, you must call can_unlock after the sleep ends to make sure you can still purchase the tech in question

+ + + diff --git a/datum/techtree.html b/datum/techtree.html new file mode 100644 index 000000000000..75efeca0fa5f --- /dev/null +++ b/datum/techtree.html @@ -0,0 +1,49 @@ + + + + + + + /datum/techtree - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Undefined + + + +

+ + + + +

Procs

get_nodetech: a typepath to a tech
get_unlocked_nodetech: a typepath to a tech
on_tier_changeTriggered just after a tier change

Proc Details

get_node +

+

tech: a typepath to a tech

get_unlocked_node +

+

tech: a typepath to a tech

on_tier_change +

+

Triggered just after a tier change

+ + + diff --git a/datum/tgs_chat_channel.html b/datum/tgs_chat_channel.html new file mode 100644 index 000000000000..cdac24c1b15d --- /dev/null +++ b/datum/tgs_chat_channel.html @@ -0,0 +1,78 @@ + + + + + + + /datum/tgs_chat_channel - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tgs_chat_channel + + + +

+ +

Represents a connected chat channel.

+ + + + + + +

Vars

connection_nameName of the chat connection. This is the IRC server address or the Discord guild.
custom_tagTag string associated with the channel in TGS.
embeds_supported[TRUE]/[FALSE] if the channel supports embeds.
friendly_nameUser friendly name of the channel.
idTGS internal channel ID.
is_admin_channel[TRUE]/[FALSE] based on if the server operator has marked this channel for game admins only.
is_private_channel[TRUE]/[FALSE] if the channel is a private message channel for a /datum/tgs_chat_user.
+

Var Details

connection_name + + + + +

+

Name of the chat connection. This is the IRC server address or the Discord guild.

custom_tag + + + + +

+

Tag string associated with the channel in TGS.

embeds_supported + + + + +

+

[TRUE]/[FALSE] if the channel supports embeds.

friendly_name + + + + +

+

User friendly name of the channel.

id + + + + +

+

TGS internal channel ID.

is_admin_channel + + + + +

+

[TRUE]/[FALSE] based on if the server operator has marked this channel for game admins only.

is_private_channel + + + + +

+

[TRUE]/[FALSE] if the channel is a private message channel for a /datum/tgs_chat_user.

+ + + diff --git a/datum/tgs_chat_command.html b/datum/tgs_chat_command.html new file mode 100644 index 000000000000..99ce138e1766 --- /dev/null +++ b/datum/tgs_chat_command.html @@ -0,0 +1,66 @@ + + + + + + + /datum/tgs_chat_command - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/tgs_chat_command + + + +

+ +

User definable chat command.

+ + + + +

Vars

admin_onlyIf this command should be available to game administrators only.
help_textThe help text displayed for this command.
ignore_typeA subtype of /datum/tgs_chat_command that is ignored when enumerating available commands. Use this to create shared base /datums for commands.
nameThe string to trigger this command on a chat bot. e.g @bot name ... or !tgs name ....

Procs

RunProcess command activation. Should return a /datum/tgs_message_content to respond to the issuer with.
+

Var Details

admin_only + + + + +

+

If this command should be available to game administrators only.

help_text + + + + +

+

The help text displayed for this command.

ignore_type + + + + +

+

A subtype of /datum/tgs_chat_command that is ignored when enumerating available commands. Use this to create shared base /datums for commands.

name + + + + +

+

The string to trigger this command on a chat bot. e.g @bot name ... or !tgs name ....

Proc Details

Run +

+

Process command activation. Should return a /datum/tgs_message_content to respond to the issuer with.

+

sender - The /datum/tgs_chat_user who issued the command. +params - The trimmed string following the command `/datum/tgs_chat_command/var/name].

+ + + diff --git a/datum/tgs_chat_embed/footer.html b/datum/tgs_chat_embed/footer.html new file mode 100644 index 000000000000..aefa7e463b48 --- /dev/null +++ b/datum/tgs_chat_embed/footer.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgs_chat_embed/footer - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tgs_chat_embed/footer + + + +

+ +

See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details.

+

Vars

textMust be set in New().
+

Var Details

text + + + + +

+

Must be set in New().

+ + + diff --git a/datum/tgs_chat_embed/media.html b/datum/tgs_chat_embed/media.html new file mode 100644 index 000000000000..06bf71ce5672 --- /dev/null +++ b/datum/tgs_chat_embed/media.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgs_chat_embed/media - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tgs_chat_embed/media + + + +

+ +

Common datum for similar discord embed medias.

+

Vars

urlMust be set in New().
+

Var Details

url + + + + +

+

Must be set in New().

+ + + diff --git a/datum/tgs_chat_embed/structure.html b/datum/tgs_chat_embed/structure.html new file mode 100644 index 000000000000..ae89fc8468f6 --- /dev/null +++ b/datum/tgs_chat_embed/structure.html @@ -0,0 +1,64 @@ + + + + + + + /datum/tgs_chat_embed/structure - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tgs_chat_embed/structure + + + +

+ +

User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details.

+ + + + +

Vars

colourColour must be #AARRGGBB or #RRGGBB hex string.
imageSee https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.
thumbnailSee https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details.
timestampTimestamp must be encoded as: time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss"). Use the active timezone.
videoSee https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.
+

Var Details

colour + + + + +

+

Colour must be #AARRGGBB or #RRGGBB hex string.

image + + + + +

+

See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.

thumbnail + + + + +

+

See https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details.

timestamp + + + + +

+

Timestamp must be encoded as: time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss"). Use the active timezone.

video + + + + +

+

See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.

+ + + diff --git a/datum/tgs_chat_user.html b/datum/tgs_chat_user.html new file mode 100644 index 000000000000..10f769ab5623 --- /dev/null +++ b/datum/tgs_chat_user.html @@ -0,0 +1,57 @@ + + + + + + + /datum/tgs_chat_user - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tgs_chat_user + + + +

+ + + + + +

Vars

channelThe /datum/tgs_chat_channel the user was from.
friendly_nameThe user's display name.
idTGS internal user ID.
mentionThe string to use to ping this user in a message.
+

Var Details

channel + + + + +

+

The /datum/tgs_chat_channel the user was from.

friendly_name + + + + +

+

The user's display name.

id + + + + +

+

TGS internal user ID.

mention + + + + +

+

The string to use to ping this user in a message.

+ + + diff --git a/datum/tgs_event_handler.html b/datum/tgs_event_handler.html new file mode 100644 index 000000000000..bd12cee00dcc --- /dev/null +++ b/datum/tgs_event_handler.html @@ -0,0 +1,44 @@ + + + + + + + /datum/tgs_event_handler - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/tgs_event_handler + + + +

+ +

User definable handler for TGS events.

+ +

Vars

receive_health_checksIf the handler receieves TGS_EVENT_HEALTH_CHECK events.

Procs

HandleEventUser definable callback for handling TGS events.
+

Var Details

receive_health_checks + + + + +

+

If the handler receieves TGS_EVENT_HEALTH_CHECK events.

Proc Details

HandleEvent +

+

User definable callback for handling TGS events.

+

event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each.

+ + + diff --git a/datum/tgs_message_content.html b/datum/tgs_message_content.html new file mode 100644 index 000000000000..bbb2fa337cb0 --- /dev/null +++ b/datum/tgs_message_content.html @@ -0,0 +1,43 @@ + + + + + + + /datum/tgs_message_content - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tgs_message_content + + + +

+ +

User definable chat message.

+ +

Vars

embedThe /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.
textThe tring content of the message. Must be provided in New().
+

Var Details

embed + + + + +

+

The /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.

text + + + + +

+

The tring content of the message. Must be provided in New().

+ + + diff --git a/datum/tgs_revision_information.html b/datum/tgs_revision_information.html new file mode 100644 index 000000000000..25dc5ff1c643 --- /dev/null +++ b/datum/tgs_revision_information.html @@ -0,0 +1,50 @@ + + + + + + + /datum/tgs_revision_information - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tgs_revision_information + + + +

+ +

Represents git revision information.

+ + +

Vars

commitFull SHA of the commit.
origin_commitFull sha of last known remote commit. This may be null if the TGS repository is not currently tracking a remote branch.
timestampISO 8601 timestamp of when the commit was created.
+

Var Details

commit + + + + +

+

Full SHA of the commit.

origin_commit + + + + +

+

Full sha of last known remote commit. This may be null if the TGS repository is not currently tracking a remote branch.

timestamp + + + + +

+

ISO 8601 timestamp of when the commit was created.

+ + + diff --git a/datum/tgs_revision_information/test_merge.html b/datum/tgs_revision_information/test_merge.html new file mode 100644 index 000000000000..d5fc9ae62ebd --- /dev/null +++ b/datum/tgs_revision_information/test_merge.html @@ -0,0 +1,78 @@ + + + + + + + /datum/tgs_revision_information/test_merge - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tgs_revision_information/test_merge + + + +

+ +

Represents a merge of a GitHub pull request.

+ + + + + + +

Vars

authorThe Username of the test merge source's author.
bodyThe test merge source's body when it was merged.
commentOptional comment left by the TGS user who initiated the merge.
head_commitThe SHA of the test merge when that was merged.
numberThe test merge number.
titleThe test merge source's title when it was merged.
urlAn http URL to the test merge source.
+

Var Details

author + + + + +

+

The Username of the test merge source's author.

body + + + + +

+

The test merge source's body when it was merged.

comment + + + + +

+

Optional comment left by the TGS user who initiated the merge.

head_commit + + + + +

+

The SHA of the test merge when that was merged.

number + + + + +

+

The test merge number.

title + + + + +

+

The test merge source's title when it was merged.

url + + + + +

+

An http URL to the test merge source.

+ + + diff --git a/datum/tgs_version.html b/datum/tgs_version.html new file mode 100644 index 000000000000..a0dd1adb72fa --- /dev/null +++ b/datum/tgs_version.html @@ -0,0 +1,71 @@ + + + + + + + /datum/tgs_version - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/tgs_version + + + +

+ +

Represents a version.

+ + + + + +

Vars

deprecated_patchLegacy version number. Generally null.
deprefixed_parameterString value minus prefix.
minorThe minor version number. null for wildcards.
patchThe patch version number. null for wildcards.
raw_parameterUnparsed string value.
suiteThe suite/major version number.
+

Var Details

deprecated_patch + + + + +

+

Legacy version number. Generally null.

deprefixed_parameter + + + + +

+

String value minus prefix.

minor + + + + +

+

The minor version number. null for wildcards.

patch + + + + +

+

The patch version number. null for wildcards.

raw_parameter + + + + +

+

Unparsed string value.

suite + + + + +

+

The suite/major version number.

+ + + diff --git a/datum/tgui.html b/datum/tgui.html new file mode 100644 index 000000000000..a2e43bf2f2d9 --- /dev/null +++ b/datum/tgui.html @@ -0,0 +1,272 @@ + + + + + + + /datum/tgui - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/tgui + + + +

+ +

tgui datum (represents a UI).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

autoupdateUpdate the UI every MC tick.
closingStops further updates when close() was called.
initializedIf the UI has been initialized yet.
interfaceThe interface (template) to be used for this UI.
mouse_hookedAre byond mouse events beyond the window passed in to the ui
opened_atTime of opening the window.
refresh_cooldownRate limit client refreshes to prevent DoS.
refreshingTimed refreshing state
src_objectThe object which owns the UI.
stateTopic state used to determine status/interactability.
statusThe status/visibility of the UI.
titleThe title of te UI.
userThe mob who opened/is using the UI.
windowThe window_id for browse() and onclose().
window_keyKey that is used for remembering the window geometry.
window_sizeDeprecated: Window size.

Procs

Newpublic
closepublic
get_payloadprivate
on_act_messageWrapper for behavior to potentially wait until the next tick if the server is overloaded
on_messageprivate
openpublic
processprivate
process_statusprivate
send_assetpublic
send_full_updatepublic
send_updatepublic
set_autoupdatepublic
set_mouse_hookpublic
set_statepublic
+

Var Details

autoupdate + + + + +

+

Update the UI every MC tick.

closing + + + + +

+

Stops further updates when close() was called.

initialized + + + + +

+

If the UI has been initialized yet.

interface + + + + +

+

The interface (template) to be used for this UI.

mouse_hooked + + + + +

+

Are byond mouse events beyond the window passed in to the ui

opened_at + + + + +

+

Time of opening the window.

refresh_cooldown + + + + +

+

Rate limit client refreshes to prevent DoS.

refreshing + + + + +

+

Timed refreshing state

src_object + + + + +

+

The object which owns the UI.

state + + + + +

+

Topic state used to determine status/interactability.

status + + + + +

+

The status/visibility of the UI.

title + + + + +

+

The title of te UI.

user + + + + +

+

The mob who opened/is using the UI.

window + + + + +

+

The window_id for browse() and onclose().

window_key + + + + +

+

Key that is used for remembering the window geometry.

window_size + + + + +

+

Deprecated: Window size.

Proc Details

New +

+

public

+

Create a new UI.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object or datum which owns the UI. +required interface string The interface used to render the UI. +optional title string The title of the UI. +optional ui_x int Deprecated: Window width. +optional ui_y int Deprecated: Window height.

+

return datum/tgui The requested UI.

close +

+

public

+

Close the UI.

+

optional can_be_suspended bool

get_payload +

+

private

+

Package the data to send to the UI, as JSON.

+

return list

on_act_message +

+

Wrapper for behavior to potentially wait until the next tick if the server is overloaded

on_message +

+

private

+

Callback for handling incoming tgui messages.

open +

+

public

+

Open this UI (and initialize it with data).

+

return bool - TRUE if a new pooled window is opened, FALSE in all other situations including if a new pooled window didn't open because one already exists.

process +

+

private

+

Run an update cycle for this UI. Called internally by SStgui +every second or so.

process_status +

+

private

+

Updates the status, and returns TRUE if status has changed.

send_asset +

+

public

+

Makes an asset available to use in tgui.

+

required asset datum/asset

+

return bool - true if an asset was actually sent

send_full_update +

+

public

+

Send a full update to the client (includes static data).

+

optional custom_data list Custom data to send instead of ui_data. +optional force bool Send an update even if UI is not interactive.

send_update +

+

public

+

Send a partial update to the client (excludes static data).

+

optional custom_data list Custom data to send instead of ui_data. +optional force bool Send an update even if UI is not interactive.

set_autoupdate +

+

public

+

Enable/disable auto-updating of the UI.

+

required value bool Enable/disable auto-updating.

set_mouse_hook +

+

public

+

Enable/disable passing through byond mouse events to the window

+

required value bool Enable/disable hooking.

set_state +

+

public

+

Replace current ui.state with a new one.

+

required state datum/ui_state/state Next state

+ + + diff --git a/datum/tgui_input_number.html b/datum/tgui_input_number.html new file mode 100644 index 000000000000..7ef069a8fb68 --- /dev/null +++ b/datum/tgui_input_number.html @@ -0,0 +1,118 @@ + + + + + + + /datum/tgui_input_number - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_input_number + + + +

+ +

Datum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.

+ + + + + + + + + + + +

Vars

closedBoolean field describing if the tgui_input_number was closed by the user.
defaultThe default (or current) value, shown as a default. Users can press reset with this.
entryThe entry that the user has return_typed in.
integer_onlyIf the final value will be rounded
max_valueThe maximum value that can be entered.
messageThe prompt's body, if any, of the TGUI window.
min_valueThe minimum value that can be entered.
start_timeThe time at which the number input was created, for displaying timeout progress.
timeoutThe lifespan of the number input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

DestroyChecks for empty numbers - bank accounts, etc. +Sanity check
waitWaits for a user's response to the tgui_input_number's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

closed + + + + +

+

Boolean field describing if the tgui_input_number was closed by the user.

default + + + + +

+

The default (or current) value, shown as a default. Users can press reset with this.

entry + + + + +

+

The entry that the user has return_typed in.

integer_only + + + + +

+

If the final value will be rounded

max_value + + + + +

+

The maximum value that can be entered.

message + + + + +

+

The prompt's body, if any, of the TGUI window.

min_value + + + + +

+

The minimum value that can be entered.

start_time + + + + +

+

The time at which the number input was created, for displaying timeout progress.

timeout + + + + +

+

The lifespan of the number input, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

Destroy +

+

Checks for empty numbers - bank accounts, etc. +Sanity check

wait +

+

Waits for a user's response to the tgui_input_number's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_input_number/async.html b/datum/tgui_input_number/async.html new file mode 100644 index 000000000000..f8a69b2b10c1 --- /dev/null +++ b/datum/tgui_input_number/async.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgui_input_number/async - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

async tgui_input_number + + + +

+ +

An asynchronous version of tgui_input_number to be used with callbacks instead of waiting on user responses.

+

Vars

callbackThe callback to be invoked by the tgui_input_number upon having a choice made.
+

Var Details

callback + + + + +

+

The callback to be invoked by the tgui_input_number upon having a choice made.

+ + + diff --git a/datum/tgui_input_text.html b/datum/tgui_input_text.html new file mode 100644 index 000000000000..fd0b932dcb05 --- /dev/null +++ b/datum/tgui_input_text.html @@ -0,0 +1,123 @@ + + + + + + + /datum/tgui_input_text - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/tgui_input_text + + + +

+ +

tgui_input_text

+

Datum used for instantiating and using a TGUI-controlled text input that prompts the user with +a message and has an input for text entry.

+ + + + + + + + + + + +

Vars

closedBoolean field describing if the tgui_input_text was closed by the user.
defaultThe default (or current) value, shown as a default.
encodeWhether the input should be stripped using html_encode
entryThe entry that the user has return_typed in.
max_lengthThe maximum length for text entry
messageThe prompt's body, if any, of the TGUI window.
multilineMultiline input for larger input boxes.
start_timeThe time at which the text input was created, for displaying timeout progress.
timeoutThe lifespan of the text input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

set_entrySets the return value for the tgui text proc. +If html encoding is enabled, the text will be encoded. +This can sometimes result in a string that is longer than the max length. +If the string is longer than the max length, it will be clipped.
waitWaits for a user's response to the tgui_input_text's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

closed + + + + +

+

Boolean field describing if the tgui_input_text was closed by the user.

default + + + + +

+

The default (or current) value, shown as a default.

encode + + + + +

+

Whether the input should be stripped using html_encode

entry + + + + +

+

The entry that the user has return_typed in.

max_length + + + + +

+

The maximum length for text entry

message + + + + +

+

The prompt's body, if any, of the TGUI window.

multiline + + + + +

+

Multiline input for larger input boxes.

start_time + + + + +

+

The time at which the text input was created, for displaying timeout progress.

timeout + + + + +

+

The lifespan of the text input, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

set_entry +

+

Sets the return value for the tgui text proc. +If html encoding is enabled, the text will be encoded. +This can sometimes result in a string that is longer than the max length. +If the string is longer than the max length, it will be clipped.

wait +

+

Waits for a user's response to the tgui_input_text's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_list_input.html b/datum/tgui_list_input.html new file mode 100644 index 000000000000..efd37c454380 --- /dev/null +++ b/datum/tgui_list_input.html @@ -0,0 +1,102 @@ + + + + + + + /datum/tgui_list_input - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_list_input + + + +

+ +

Datum used for instantiating and using a TGUI-controlled list input that prompts the user with +a message and shows a list of selectable options

+ + + + + + + + + +

Vars

buttonsThe list of buttons (responses) provided on the TGUI window. These will automatically all be strings
buttons_mapButtons (strings specifically) mapped to the actual value (e.g. a mob or a verb)
choiceThe button that the user has pressed, null if no selection has been made
closedBoolean field describing if the tgui_modal was closed by the user.
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_modal was created, for displaying timeout progress.
timeoutThe lifespan of the tgui_modal, after which the window will close and delete itself.
titleThe title of the TGUI window
ui_themeString field for the theme to use

Procs

waitWaits for a user's response to the tgui_list_input's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

buttons + + + + +

+

The list of buttons (responses) provided on the TGUI window. These will automatically all be strings

buttons_map + + + + +

+

Buttons (strings specifically) mapped to the actual value (e.g. a mob or a verb)

choice + + + + +

+

The button that the user has pressed, null if no selection has been made

closed + + + + +

+

Boolean field describing if the tgui_modal was closed by the user.

message + + + + +

+

The textual body of the TGUI window

start_time + + + + +

+

The time at which the tgui_modal was created, for displaying timeout progress.

timeout + + + + +

+

The lifespan of the tgui_modal, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

ui_theme + + + + +

+

String field for the theme to use

Proc Details

wait +

+

Waits for a user's response to the tgui_list_input's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_list_input/async.html b/datum/tgui_list_input/async.html new file mode 100644 index 000000000000..16984fac2192 --- /dev/null +++ b/datum/tgui_list_input/async.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgui_list_input/async - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

async tgui_list_input + + + +

+ +

An asynchronous version of tgui_list_input to be used with callbacks instead of waiting on user responses.

+

Vars

callbackThe callback to be invoked by the tgui_modal upon having a choice made.
+

Var Details

callback + + + + +

+

The callback to be invoked by the tgui_modal upon having a choice made.

+ + + diff --git a/datum/tgui_modal.html b/datum/tgui_modal.html new file mode 100644 index 000000000000..cc274c5fd47a --- /dev/null +++ b/datum/tgui_modal.html @@ -0,0 +1,88 @@ + + + + + + + /datum/tgui_modal - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_modal + + + +

+ +

Datum used for instantiating and using a TGUI-controlled modal that prompts the user with +a message and has buttons for responses.

+ + + + + + + +

Vars

buttonsThe list of buttons (responses) provided on the TGUI window
choiceThe button that the user has pressed, null if no selection has been made
closedBoolean field describing if the tgui_modal was closed by the user.
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_modal was created, for displaying timeout progress.
timeoutThe lifespan of the tgui_modal, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

waitWaits for a user's response to the tgui_modal's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

buttons + + + + +

+

The list of buttons (responses) provided on the TGUI window

choice + + + + +

+

The button that the user has pressed, null if no selection has been made

closed + + + + +

+

Boolean field describing if the tgui_modal was closed by the user.

message + + + + +

+

The textual body of the TGUI window

start_time + + + + +

+

The time at which the tgui_modal was created, for displaying timeout progress.

timeout + + + + +

+

The lifespan of the tgui_modal, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

wait +

+

Waits for a user's response to the tgui_modal's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_modal/async.html b/datum/tgui_modal/async.html new file mode 100644 index 000000000000..92beda4e2821 --- /dev/null +++ b/datum/tgui_modal/async.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgui_modal/async - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

async tgui_modal + + + +

+ +

An asynchronous version of tgui_modal to be used with callbacks instead of waiting on user responses.

+

Vars

callbackThe callback to be invoked by the tgui_modal upon having a choice made.
+

Var Details

callback + + + + +

+

The callback to be invoked by the tgui_modal upon having a choice made.

+ + + diff --git a/datum/tgui_panel.html b/datum/tgui_panel.html new file mode 100644 index 000000000000..eba83f5d652f --- /dev/null +++ b/datum/tgui_panel.html @@ -0,0 +1,132 @@ + + + + + + + /datum/tgui_panel - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/tgui_panel + + + +

+ +

tgui_panel datum +Hosts tgchat and other nice features.

+ + + + + + + + + + + +

Vars

telemetry_analyzed_atTime of telemetry analysis completion
telemetry_connectionsList of previous client connections
telemetry_requested_atTime of telemetry request

Procs

analyze_telemetryprivate
initializepublic
is_readypublic
on_initialize_timed_outprivate
on_messageprivate
play_musicpublic
request_telemetryprivate
send_roundrestartpublic
stop_musicpublic
+

Var Details

telemetry_analyzed_at + + + + +

+

Time of telemetry analysis completion

telemetry_connections + + + + +

+

List of previous client connections

telemetry_requested_at + + + + +

+

Time of telemetry request

Proc Details

analyze_telemetry +

+

private

+

Analyzes a telemetry packet.

+

Is currently only useful for detecting ban evasion attempts.

initialize +

+

public

+

Initializes tgui panel.

is_ready +

+

public

+

TRUE if panel is initialized and ready to receive messages.

on_initialize_timed_out +

+

private

+

Called when initialization has timed out.

on_message +

+

private

+

Callback for handling incoming tgui messages.

play_music +

+

public

+

Sends music data to the browser.

+

Optional settings:

+ +

required url string Must be an https URL. +optional extra_data list Optional settings.

request_telemetry +

+

private

+

Requests some telemetry from the client.

send_roundrestart +

+

public

+

Sends a round restart notification.

stop_music +

+

public

+

Stops playing music through the browser.

+ + + diff --git a/datum/tgui_say.html b/datum/tgui_say.html new file mode 100644 index 000000000000..97c05bec7345 --- /dev/null +++ b/datum/tgui_say.html @@ -0,0 +1,210 @@ + + + + + + + /datum/tgui_say - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/tgui_say + + + +

+ +

The tgui say modal. This initializes an input window which hides until +the user presses one of the speech hotkeys. Once something is entered, it will +delegate the speech to the proper channel.

+ + + + + + + + + + + + + + + + + + +

Vars

clientThe user who opened the window
hurt_phrasesInjury phrases to blurt out
max_lengthMax message length
windowThe modal window
window_openBoolean for whether the tgui_say was opened by the user.

Procs

NewCreates the new input window to exist in the background.
alter_entryAlters text when players are injured. +Adds text, trims left and right side
closeCloses the window serverside. Closes any open chat bubbles +regardless of preference. Logs the event.
delegate_speechNo OOC leaks +Random trimming for larger sentences +Otherwise limit trim to just last letter +Delegates the speech to the proper channel.
force_sayForce say handler. +Sends a message to the say modal to send its current value.
handle_entryHandles text entry and forced speech.
initializeAfter a brief period, injects the scripts into +the window to listen for open commands.
loadEnsures nothing funny is going on window load. +Minimizes the window, sets max length, closes all +typing and thinking indicators. This is triggered +as soon as the window sends the "ready" message.
on_messageThe equivalent of ui_act, this waits on messages from the window +and delegates actions.
openSets the window as "opened" server side, though it is already +visible to the user. We do this to set local vars & +start typing (if enabled and in an IC channel). Logs the event.
start_thinkingSets the mob as "thinking" - with indicator and variable thinking_IC
start_typingHandles the user typing. After a brief period of inactivity, +signals the client mob to revert to the "thinking" icon.
stop_thinkingRemoves typing/thinking indicators and flags the mob as not thinking
stop_typingCallback to remove the typing indicator after a brief period of inactivity. +If the user was typing IC, the thinking indicator is shown.
+

Var Details

client + + + + +

+

The user who opened the window

hurt_phrases + + + + +

+

Injury phrases to blurt out

max_length + + + + +

+

Max message length

window + + + + +

+

The modal window

window_open + + + + +

+

Boolean for whether the tgui_say was opened by the user.

Proc Details

New +

+

Creates the new input window to exist in the background.

alter_entry +

+

Alters text when players are injured. +Adds text, trims left and right side

+

Arguments: +payload - a string list containing entry & channel +Returns: +string - the altered entry

close +

+

Closes the window serverside. Closes any open chat bubbles +regardless of preference. Logs the event.

delegate_speech +

+

No OOC leaks +Random trimming for larger sentences +Otherwise limit trim to just last letter +Delegates the speech to the proper channel.

+

Arguments: +entry - the text to broadcast +channel - the channel to broadcast in +Returns: +boolean - on success or failure

force_say +

+

Force say handler. +Sends a message to the say modal to send its current value.

handle_entry +

+

Handles text entry and forced speech.

+

Arguments: +type - a string "entry" or "force" based on how this function is called +payload - a string list containing entry & channel +Returns: +boolean - success or failure

initialize +

+

After a brief period, injects the scripts into +the window to listen for open commands.

load +

+

Ensures nothing funny is going on window load. +Minimizes the window, sets max length, closes all +typing and thinking indicators. This is triggered +as soon as the window sends the "ready" message.

on_message +

+

The equivalent of ui_act, this waits on messages from the window +and delegates actions.

open +

+

Sets the window as "opened" server side, though it is already +visible to the user. We do this to set local vars & +start typing (if enabled and in an IC channel). Logs the event.

+

Arguments: +payload - A list containing the channel the window was opened in.

start_thinking +

+

Sets the mob as "thinking" - with indicator and variable thinking_IC

start_typing +

+

Handles the user typing. After a brief period of inactivity, +signals the client mob to revert to the "thinking" icon.

stop_thinking +

+

Removes typing/thinking indicators and flags the mob as not thinking

stop_typing +

+

Callback to remove the typing indicator after a brief period of inactivity. +If the user was typing IC, the thinking indicator is shown.

+ + + diff --git a/datum/tgui_window.html b/datum/tgui_window.html new file mode 100644 index 000000000000..49c759d6e674 --- /dev/null +++ b/datum/tgui_window.html @@ -0,0 +1,184 @@ + + + + + + + /datum/tgui_window - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/tgui_window + + + +

+ + + + + + + + + + + + + + + + + +

Procs

Newpublic
acquire_lockpublic
can_be_suspendedpublic
closepublic
flush_message_queueprivate
initializepublic
is_readypublic
on_messageprivate
reinitializepublic
release_lockpublic
replace_htmlpublic
send_assetpublic
send_messagepublic
send_raw_messagepublic
subscribepublic
unsubscribepublic

Proc Details

New +

+

public

+

Create a new tgui window.

+

required client /client +required id string A unique window identifier.

acquire_lock +

+

public

+

Acquire the window lock. Pool will not be able to provide this window +to other UIs for the duration of the lock.

+

Can be given an optional tgui datum, which will be automatically +subscribed to incoming messages via the on_message proc.

+

optional ui /datum/tgui

can_be_suspended +

+

public

+

Checks if the window can be sanely suspended.

+

return bool

close +

+

public

+

Close the UI.

+

optional can_be_suspended bool

flush_message_queue +

+

private

+

Sends queued messages if the queue wasn't empty.

initialize +

+

public

+

Initializes the window with a fresh page. Puts window into the "loading" +state. You can begin sending messages right after initializing. Messages +will be put into the queue until the window finishes loading.

+

optional strict_mode bool - Enables strict error handling and BSOD. +optional fancy bool - If TRUE and if this is NOT a panel, will hide the window titlebar. +optional assets list - List of assets to load during initialization. +optional inline_html string - Custom HTML to inject. +optional inline_js string - Custom JS to inject. +optional inline_css string - Custom CSS to inject.

is_ready +

+

public

+

Checks if the window is ready to receive data.

+

return bool

on_message +

+

private

+

Callback for handling incoming tgui messages.

reinitialize +

+

public

+

Reinitializes the panel with previous data used for initialization.

release_lock +

+

public

+

Release the window lock.

replace_html +

+

public

+

Replaces the inline HTML content.

+

required inline_html string HTML to inject

send_asset +

+

public

+

Makes an asset available to use in tgui.

+

required asset datum/asset

+

return bool - TRUE if any assets had to be sent to the client

send_message +

+

public

+

Sends a message to tgui window.

+

required type string Message type +required payload list Message payload +optional force bool Send regardless of the ready status.

send_raw_message +

+

public

+

Sends a raw payload to tgui window.

+

required message string JSON+urlencoded blob to send. +optional force bool Send regardless of the ready status.

subscribe +

+

public

+

Subscribes the datum to consume window messages on a specified proc.

+

Note, that this supports only one subscriber, because code for that +is simpler and therefore faster. If necessary, this can be rewritten +to support multiple subscribers.

unsubscribe +

+

public

+

Unsubscribes the datum. Do not forget to call this when cleaning up.

+ + + diff --git a/datum/timedevent.html b/datum/timedevent.html new file mode 100644 index 000000000000..62e016260d1c --- /dev/null +++ b/datum/timedevent.html @@ -0,0 +1,156 @@ + + + + + + + /datum/timedevent - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Timed Event + + + +

+ +

This is the actual timer, it contains the callback and necessary data to maintain +the timer.

+

See the documentation for the timer subsystem for an explanation of the buckets referenced +below in next and prev

+ + + + + + + + + + + + + + + + +

Vars

bucket_joinedBoolean indicating if timer joined into bucket
bucket_posInitial bucket position
callBackThe callback to invoke after the timer completes
flagsFlags associated with the timer, see _DEFINES/subsystems.dm
hashUnique hash generated when TIMER_UNIQUE flag is present
idID used for timers when the TIMER_STOPPABLE flag is present
nameAn informative name generated for the timer as its representation in strings, useful for debugging
nextNext timed event in the bucket
prevPrevious timed event in the bucket
sourceThe source of the timedevent, whatever called addtimer
spentTime at which the timer was invoked or destroyed
timeToRunThe time at which the callback should be invoked at
timer_subsystemThe timer subsystem this event is associated with
waitThe length of the timer

Procs

bucketEjectRemoves this timed event from any relevant buckets, or the secondary queue
bucketJoinAttempts to add this timed event to a bucket, will enter the secondary queue +if there are no appropriate buckets at this time.
getcallingtypeReturns a string of the type of the callback for this timer
+

Var Details

bucket_joined + + + + +

+

Boolean indicating if timer joined into bucket

bucket_pos + + + + +

+

Initial bucket position

callBack + + + + +

+

The callback to invoke after the timer completes

flags + + + + +

+

Flags associated with the timer, see _DEFINES/subsystems.dm

hash + + + + +

+

Unique hash generated when TIMER_UNIQUE flag is present

id + + + + +

+

ID used for timers when the TIMER_STOPPABLE flag is present

name + + + + +

+

An informative name generated for the timer as its representation in strings, useful for debugging

next + + + + +

+

Next timed event in the bucket

prev + + + + +

+

Previous timed event in the bucket

source + + + + +

+

The source of the timedevent, whatever called addtimer

spent + + + + +

+

Time at which the timer was invoked or destroyed

timeToRun + + + + +

+

The time at which the callback should be invoked at

timer_subsystem + + + + +

+

The timer subsystem this event is associated with

wait + + + + +

+

The length of the timer

Proc Details

bucketEject +

+

Removes this timed event from any relevant buckets, or the secondary queue

bucketJoin +

+

Attempts to add this timed event to a bucket, will enter the secondary queue +if there are no appropriate buckets at this time.

+

Secondary queueing of timed events will occur when the timespan covered by the existing +buckets is exceeded by the time at which this timed event is scheduled to be invoked. +If the timed event is tracking client time, it will be added to a special bucket.

getcallingtype +

+

Returns a string of the type of the callback for this timer

+ + + diff --git a/datum/ui_state.html b/datum/ui_state.html new file mode 100644 index 000000000000..69ee44ae7ef9 --- /dev/null +++ b/datum/ui_state.html @@ -0,0 +1,40 @@ + + + + + + + /datum/ui_state - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/ui_state + + + +

+ + +

Procs

can_use_topicprivate

Proc Details

can_use_topic +

+

private

+

Checks if a user can use src_object's UI, and returns the state. +Can call a mob proc, which allows overrides for each mob.

+

required src_object datum The object/datum which owns the UI. +required user mob The mob who opened/is using the UI.

+

return UI_state The state of the UI.

+ + + diff --git a/datum/unit_test.html b/datum/unit_test.html new file mode 100644 index 000000000000..8ec692fd8be7 --- /dev/null +++ b/datum/unit_test.html @@ -0,0 +1,73 @@ + + + + + + + /datum/unit_test - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/datum/unit_test + + + +

+ + + + + + + +

Vars

priorityThe priority of the test, the larger it is the later it fires
run_loc_floor_bottom_leftThe bottom left floor turf of the testing zone
run_loc_floor_top_rightThe top right floor turf of the testing zone

Procs

allocateAllocates an instance of the provided type, and places it somewhere in an available loc +Instances allocated through this proc will be destroyed when the test is over
get_flat_icon_for_all_directionsHelper for screenshot tests to take an image of an atom from all directions and insert it into one icon
log_for_testLogs a test message. Will use GitHub action syntax found at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions
+

Var Details

priority + + + + +

+

The priority of the test, the larger it is the later it fires

run_loc_floor_bottom_left + + + + +

+

The bottom left floor turf of the testing zone

run_loc_floor_top_right + + + + +

+

The top right floor turf of the testing zone

Proc Details

allocate +

+

Allocates an instance of the provided type, and places it somewhere in an available loc +Instances allocated through this proc will be destroyed when the test is over

get_flat_icon_for_all_directions +

+

Helper for screenshot tests to take an image of an atom from all directions and insert it into one icon

log_for_test +

+

Logs a test message. Will use GitHub action syntax found at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions

+ + + diff --git a/datum/unit_test/check_runtimes.html b/datum/unit_test/check_runtimes.html new file mode 100644 index 000000000000..0b194f6f47bd --- /dev/null +++ b/datum/unit_test/check_runtimes.html @@ -0,0 +1,36 @@ + + + + + + + /datum/unit_test/check_runtimes - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/unit_test/check_runtimes + + + +

+ + +

Vars

whitelisted_regexRegex patterns if we must satisfy checks with runtimes present
+

Var Details

whitelisted_regex + + + + +

+

Regex patterns if we must satisfy checks with runtimes present

+ + + diff --git a/datum/unit_test/missing_icons.html b/datum/unit_test/missing_icons.html new file mode 100644 index 000000000000..8e8ae99b16bd --- /dev/null +++ b/datum/unit_test/missing_icons.html @@ -0,0 +1,40 @@ + + + + + + + /datum/unit_test/missing_icons - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/unit_test/missing_icons + + + +

+ +

Makes sure objects actually have icons that exist!

+

Vars

additional_icon_locationadditional_icon_location is for downstream modularity support. +Make sure this location is also present in tools/deploy.sh +If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/") below the if(additional_icon_location) block in Run(), and make sure to add that path to tools/deploy.sh as well.
+

Var Details

additional_icon_location + + + + +

+

additional_icon_location is for downstream modularity support. +Make sure this location is also present in tools/deploy.sh +If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/") below the if(additional_icon_location) block in Run(), and make sure to add that path to tools/deploy.sh as well.

+ + + diff --git a/datum/unit_test/stop_drop_and_roll.html b/datum/unit_test/stop_drop_and_roll.html new file mode 100644 index 000000000000..9abd7efd2867 --- /dev/null +++ b/datum/unit_test/stop_drop_and_roll.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/stop_drop_and_roll - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/unit_test/stop_drop_and_roll + + + +

+ + +

Procs

RunTest that stop, drop, and roll lowers fire stacks

Proc Details

Run +

+

Test that stop, drop, and roll lowers fire stacks

+ + + diff --git a/datum/weather_event.html b/datum/weather_event.html new file mode 100644 index 000000000000..101a8adf7e43 --- /dev/null +++ b/datum/weather_event.html @@ -0,0 +1,43 @@ + + + + + + + /datum/weather_event - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

set this + + + +

+ + + +

Vars

fullscreen_typeOptional vars
nameMANDATORY vars
+

Var Details

fullscreen_type + + + + +

+

Optional vars

name + + + + +

+

MANDATORY vars

+ + + diff --git a/datum/world_topic.html b/datum/world_topic.html new file mode 100644 index 000000000000..83c24d12caf4 --- /dev/null +++ b/datum/world_topic.html @@ -0,0 +1,43 @@ + + + + + + + /datum/world_topic - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/datum/world_topic + + + +

+ + + +

Vars

anonymouscan be used with anonymous authentication
keyquery key
+

Var Details

anonymous + + + + +

+

can be used with anonymous authentication

key + + + + +

+

query key

+ + + diff --git a/datum/xeno_mutator.html b/datum/xeno_mutator.html new file mode 100644 index 000000000000..1b34b8cd45d9 --- /dev/null +++ b/datum/xeno_mutator.html @@ -0,0 +1,43 @@ + + + + + + + /datum/xeno_mutator - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Mutator name + + + +

+ + + +

Vars

mutator_actions_to_addA list of PATHS of actions to be ADDED when the Xeno takes the mutator.
mutator_actions_to_removeA list of PATHS of actions that need to be removed when a xeno takes the mutator.
+

Var Details

mutator_actions_to_add + + + + +

+

A list of PATHS of actions to be ADDED when the Xeno takes the mutator.

mutator_actions_to_remove + + + + +

+

A list of PATHS of actions that need to be removed when a xeno takes the mutator.

+ + + diff --git a/datum/xeno_shield/vanguard.html b/datum/xeno_shield/vanguard.html new file mode 100644 index 000000000000..2fb801dbb481 --- /dev/null +++ b/datum/xeno_shield/vanguard.html @@ -0,0 +1,35 @@ + + + + + + + /datum/xeno_shield/vanguard - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/datum/xeno_shield/vanguard + + + +

+ + +

Procs

begin_decayDecay is suppressed for Vanguard Shield and triggered on hit

Proc Details

begin_decay +

+

Decay is suppressed for Vanguard Shield and triggered on hit

+ + + diff --git a/dmdoc.css b/dmdoc.css new file mode 100644 index 000000000000..367f005d2a85 --- /dev/null +++ b/dmdoc.css @@ -0,0 +1,112 @@ +body { + margin: auto; + background: #f4f4f4; + color: #333333; + font-size: 16px; + line-height: 1.3; + max-width: 73%; + overflow-y: scroll; + font-family: Arial, Helvetica, sans-serif; +} +pre, code { + background: white; + tab-size: 4; + -moz-tab-size: 4; +} +pre { + padding: 8px; + white-space: pre-wrap; +} +code { + font-family: Consolas, "DejaVu Sans Mono", "Courier New", Courier, monospace; +} +a { + color: #333333; +} +article { + margin: 2.5% auto; +} +header, footer { + margin: 2.5% -6px; + border: 1px solid #444444; + border-radius: 5px; + padding: 5px; +} +h1 aside, h2 aside, h3 aside, h4 aside, h5 aside { + display: inline; + font-weight: normal; + font-size: smaller; +} +aside.declaration, aside.parent { + display: inline-block; + position: relative; + text-align: right; + width: 100px; + margin-right: -100px; + right: 105px; +} +aside.declaration { + font-style: italic; +} +table.summary tr:first-child > td > :first-child { + margin-top: 0; +} +table.summary tr:last-child > td > :last-child { + margin-bottom: 0; +} +table.summary th, table.summary td { + text-align: left; + vertical-align: top; + padding-left: 0; + padding-right: 1em; +} +table.summary th { + padding-left: 1em; + padding-bottom: 4px; + text-indent: -1em; +} +.no-substance { + color: #888888; +} +:target { + background-color: white; + border-radius: 5px; + padding-left: 3px; + padding-right: 3px; + margin-left: -3px; + margin-right: 3px; +} +img[src="git.png"] { + opacity: 0.8; +} +.expander { + cursor: pointer; + display: inline-block; + position: relative; + text-align: right; + width: 50px; + margin-right: -50px; + right: 53px; +} + +@media (prefers-color-scheme: dark) { + body { + background-color: #151520; + color: #e0e0e0; + } + a { + color: #e0e0e0; + } + header, footer { + border-color: #d0d0d0; + } + .no-substance { + color: #bbbbbb; + } + pre, code, :target { + background-color: #252530; + } + img[src="git.png"] { + filter: invert(1); + } +} diff --git a/dmdoc.js b/dmdoc.js new file mode 100644 index 000000000000..6bf31f7e9441 --- /dev/null +++ b/dmdoc.js @@ -0,0 +1,58 @@ +// ---------------------------------------------------------------------------- +// Index page tree browsing + +document.addEventListener("DOMContentLoaded", function() { + var items = document.getElementsByClassName("index-tree"); + var nodes = []; + + for (var i = 0; i < items.length; ++i) { + var node = items[i]; + var parent = node.parentElement; + if (!parent || parent.tagName.toLowerCase() != "li") { + continue; + } + node.hidden = true; + parent.style.listStyle = "none"; + var expander = document.createElement("span"); + expander.className = "expander"; + expander.textContent = "\u2795"; + expander.addEventListener("click", function(node) { + return function(event) { + if (event.target.tagName.toLowerCase() == "a") { + return; + } + event.preventDefault(); + event.stopPropagation(true); + node.hidden = !node.hidden; + this.textContent = node.hidden ? "\u2795" : "\u2796"; + }; + }(node)); + + if (node.parentElement.parentElement.classList.contains("modules")) { + node.hidden = false; + expander.textContent = "\u2796"; + } + + parent.insertBefore(expander, parent.firstChild); + nodes.push({ node, expander }); + } + + if (nodes.length) { + var toggle = document.createElement("a"); + toggle.href = "#"; + toggle.appendChild(document.createTextNode("Toggle All")); + toggle.addEventListener("click", function(event) { + event.preventDefault(); + + var hidden = !nodes[1].node.hidden; + for (var i = 0; i < nodes.length; ++i) { + nodes[i].node.hidden = hidden; + nodes[i].expander.textContent = hidden ? "\u2795" : "\u2796"; + } + }); + + var header = document.getElementsByTagName("header")[0]; + header.appendChild(document.createTextNode(" \u2014 ")); + header.appendChild(toggle); + } +}); diff --git a/git.png b/git.png new file mode 100644 index 000000000000..c190e8538b5c Binary files /dev/null and b/git.png differ diff --git a/global.html b/global.html new file mode 100644 index 000000000000..57acba811cdb --- /dev/null +++ b/global.html @@ -0,0 +1,1387 @@ + + + + + + + (global) - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

(global) + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

FailsafeFailsafe
MAX_EXPLOSION_RANGEThis was a define, but I changed it to a variable so it can be changed in-game.(kept the all-caps definition because... code...) -Errorage
MasterStonedMC
SSearlyruntimesJust messages the unwary coder to tell them there are errors that likely escaped their debugguer.
SSescape_menuSubsystem for controlling anything related to the escape menu
SSinfluxdriverSends collected statistics to an influxdb v2 backend periodically
SSinfluxstatsSends generic round running statistics to the InfluxDB backend
SSminimaps
SSpager_statusUpdates BYOND pager status periodically
SSstats_collectorCollects simple round statistics periodically
SStguitgui subsystem
SStimer
deployed_fultonsA list of fultons currently airborne.
fallen_list_crossThis is for dogtags placed on crosses- they will show up at the end-round memorial.
note_categoriesNote categories in text form, in order of their numerical #defines.
obfs_xA number between -500 and 500.
obfs_yA number between -500 and 500.
secret_force_modeIf this is anything but "secret", the secret rotation will forceably choose this mode.

Procs

CreateBansDEBUG
GUIDreturns a GUID like identifier (using a mostly made up record format) +guids are not on their own suitable for access or security tokens, as most of their bits are predictable. +(But may make a nice salt to one)
HandleUserlessProcCallHandles a userless proccall, used by circuits.
HandleUserlessSDQLHandles a userless sdql, used by TGS.
TurfBlockedNonWindowthe actual dir between the start and target turf +The direction that mover's path is being blocked by
WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
______qdel_list_wrapperthe underscores are to encourage people not to use this directly.
_addtimerCreate a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.
_animate_filterAuxtools REALLY doesn't know how to handle filters as values; +when passed as arguments to auxtools-called procs, they aren't simply treated as nulls - +they don't even count towards the length of args. +For example, calling some_proc([a filter], foo, bar) from auxtools +is equivalent to calling some_proc(foo, bar). Thus, we can't use _animate directly on filters. +Use this to perform animation steps on a filter. Consecutive steps on the same filter can be +achieved by calling _animate with no target.
_pick_listAllow me to explain +for some reason, if pick() is passed arglist(args) directly and args contains only one list +it considers it to be a list of lists +this means something like _pick(list) would fail +need to do this instead
add_keybindingAdds an instanced keybinding to the global tracker
add_verbhandles adding verbs and updating the stat panel browser
admin_ticket_logUse this proc when an admin takes action that may be related to an open ticket on what +what can be a client, ckey, or mob +player_message: If the message should be shown in the player ticket panel, fill this out +log_in_blackbox: Whether or not this message with the blackbox system. +If disabled, this message should be logged with a different proc call
anyprobchances are 1:value. anyprob(1) will always return true
at_leastTakes a value, and a threshold it has to at least match +returns the correctly signed value max'd to the threshold
big_number_to_textFormats a larger number to correct textual representation without losing data
bit_countcounts the number of bits in Byond's 16-bit width field, in constant time and memory!
bitfield_to_listConverts a bitfield to a list of numbers (or words if a wordlist is provided)
capitalize_first_lettersFinds the first letter of each word in the provided string and capitalize them
center_imageCenter's an image. +Requires: +The Image +The x dimension of the icon file used in the image +The y dimension of the icon file used in the image +eg: center_image(image_to_center, 32,32) +eg2: center_image(image_to_center, 96,96)
check_asay_linksChecks a given message to see if any of the words are something we want to treat specially, as detailed below.
cmp_mob_deathtime_ascCompares mobs based on their timeofdeath value in ascending order
cmp_obs_larvaqueuetime_ascCompares observers based on their larva_queue_time value in ascending order +Assumes the client on the observer is not null
color_matrix_from_stringConverts a hex color string to a color matrix.
color_matrix_recolor_redCreates a matrix to re-paint a sprite, replacing shades of red with corresponding shades of a new color. In the base sprite, Hue must always be pure red. +Saturation and Lightness can be anything. Arg is a hex string for a color. Proc is by Lummox JR, www.byond.com/forum/post/2209545 +color_matrix_recolor_rgb is more complex, but gives more precise control over the palette, at least if using 3 or fewer colours.
color_matrix_recolor_rgbCreates a matrix to re-paint a sprite, replacing pure red, green, and blue with 3 different shades. Doesn't work with mixed tones of RGB or whites or greys +-- must be pure. R/G/B 255 becomes the new color, darker shades become correspondingly darker. +The arg is a list of hex colours, for ex "list("#d4c218", "#b929f7", "#339933"". +if you want variations of the same color, color_matrix_recolor_red() is simpler.
debug_variableGet displayed variable in VV variable list
default_ui_stateThe sane defaults for a UI such as a computer or a machine.
delete_all_SS_and_recreate_masterDelete all existing SS to basically start over
deltimerDelete a timer
display_powerFormat a power value in W, kW, MW, or GW.
end_cooldownCallback called by a timer to end an associative-list-indexed cooldown.
flick_overlay_to_clientsAdd an image to a list of clients and calls a proc to remove it after a duration
generate_asset_nameGenerate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)
generate_bitfieldsTurns /datum/bitfield subtypes into a list for use in debugging
getFlatIconCreate a single /icon from a given /atom or /image.
get_active_player_countGet active players who are playing in the round
get_alien_candidatesGet a list of observers that can be alien candidates, optionally sorted by larva_queue_time
get_all_main_accessGrants standard access for all factions, does not include high restrictions like COs office.
get_all_marine_accessIncludes restricted accesses
get_all_notesReturns all notes associated with a CKEY, structured as a list of strings.
get_angleCalculate the angle between two movables and the west|east coordinate
get_angle_rawAngle between two arbitrary points and horizontal line same as /proc/get_angle
get_antagonist_accessCLF & UPP, UPP Commandos have global.
get_bbox_of_atomsGet a bounding box of a list of atoms.
get_civil_ert_accessPizza and Souto
get_friendly_ert_accessThis is only used by USCM ERTs at present
get_global_accessGrants access to EVERYWHERE
get_lineGet a list of turfs in a line from starting_atom to ending_atom.
get_main_marine_accessAll Almayer accesses other than the highly restricted ones, such as CO's office.
get_pixel_anglefor getting the angle when animating something's pixel_x and pixel_y
get_pixel_position_xGives X position on pixel grid of an object, accounting for offsets
get_pixel_position_yGives Y position on pixel grid of an object, accounting for offsets
get_radios_in_viewonly gets FUNCTIONING radios
get_total_living_playtimeReturns the total time in minutes a specific player ID has played for
get_weyland_pmc_accessUsed by PMCs and elite mercs.
get_whitelisted_rolesreturns a list of strings containing the whitelists held by a specific ckey
getpoisReturns a list of all items of interest with their name
give_actionGives an action to a mob and returns it
give_escape_menu_detailsProvides a singleton for the escape menu details screen.
give_escape_menu_titleProvides a singleton for the escape menu details screen.
icon_existsChecks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE.
init_keybindingsCreates and sorts all the keybinding datums
initiate_surgery_momentDoes the surgery initiation. Returns TRUE if the triggering attack should be halted.
is_valid_srcCheck if a datum has not been deleted and is a valid source
lisp_replaceReplaces S and similar sounds with 'th' and such. Stolen from tg.
list_clear_nullsRemoves any null entries from the list +Returns TRUE if the list had nulls, FALSE otherwise
load_mapShortcut function to parse a map and apply it to the world.
log_perfLogging for game performance
log_tguiAppends a tgui-related log entry. All arguments are optional.
make_tupleReturns the name of the mathematical tuple of same length as the number arg (rounded down).
map_pill_iconsPills.
md5asfileSave file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.
mergeListsSumSums values in two associative lists, from mergee into result, in place
message_alien_candidatesMessages observers that are currently candidates an update on the queue.
message_to_htmlMessage-related procs
mutable_appearanceHelper similar to image()
pick_n_takePick a random element from the list and remove it from the list.
pick_weightPicks a random element from a list based on a weighting system. +For example, given the following list: +A = 6, B = 3, C = 1, D = 0 +A would have a 60% chance of being picked, +B would have a 30% chance of being picked, +C would have a 10% chance of being picked, +and D would have a 0% chance of being picked. +You should only pass integers in.
playsound_areaPlays sound to all mobs that are map-level contents of an area
playsound_zPlay sound for all on-map clients on a given Z-level. Good for ambient sounds.
qdelShould be treated as a replacement for the 'del' keyword.
recover_all_SS_and_recreate_masterRecreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars
recursive_holder_checkWill attempt to find what's holding this item if it's being contained by something, ie if it's in a satchel held by a human, this'll return the human
remove_image_from_clientRemoves an image from a client's .images. Useful as a callback.
remove_images_from_clientsLike remove_image_from_client, but will remove the image from a list of clients
remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
reset_cooldownProc used by stoppable timers to end a cooldown before the time has ran out.
return_generator_argsreturns the arguments given to a generator and manually extracts them from the internal byond object +returns:
reverse_rangereplaces reverseList ~Carnie
send2adminchatSends a message to TGS admin chat channels.
send2chatSends a message to TGS chat channels.
setup_offsetSets the offset 2 lines above.
shakeshipShakes the ship around
show_blurb*Shows a ticker reading out the given text on a client's screen. +targets = mob or list of mobs to show it to.
show_blurb_uscmShows operation start blurb to living marines. Slightly different for squad marines, pilots, and deploying ship crew/passengers. +exempt_ztraits = trait or list of traits of zlevels where any marines don't see the message, ex. marine faction survivors colonyside +shouldn't see the ship marines' drop message. Ex. ZTRAIT_GROUND by default. +unit = the unit the marines are from. FF, Dust Raiders etc. Military crew see this. +base = the base the marines are staging from. The ship, Whiskey Outpost etc. Noncombat crew see this.
show_location_blurbReads out a description of game time, game date, main ship and current area. Originally for displaying roundstart messages on a conventional SS13 server.
shuffle_inplacesame as shuffle, but returns nothing and acts on list in place
sort_listsort any value in a list
tgui_TopicMiddleware for /client/Topic.
tgui_alertCreates a TGUI alert window and returns the user's response.
tgui_alert_asyncCreates an asynchronous TGUI alert window with an associated callback.
tgui_input_listCreates a TGUI input list window and returns the user's response.
tgui_input_list_asyncCreates an asynchronous TGUI input list window with an associated callback.
tgui_input_numberCreates a TGUI window with a number input. Returns the user's response as num | null.
tgui_input_number_asyncCreates an asynchronous TGUI number input window with an associated callback.
tgui_input_real_numberA clone of tgui_input_number that defaults to accepting negative inputs too.
tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
timeleftGet the remaining deciseconds on a timer
to_chatSends the message to the recipient (target).
to_chat_immediateCircumvents the message queue and sends the message +to the recipient (target) as soon as possible.
ui_status_only_livingReturns a UI status such that the dead will be able to watch, but not interact.
ui_status_user_is_abledReturns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.
ui_status_user_is_adjacentReturns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.
ui_status_user_is_advanced_tool_userReturns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.
ui_status_user_is_conscious_and_lying_downReturns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.
ui_status_user_strictly_adjacentReturn UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.
unique_listReturn a list with no duplicate entries
unique_list_in_placesame as unique_list, but returns nothing and acts on list in place (also handles associated values properly)
updatetimedelayUpdate the delay on an existing LOOPING timer +Will come into effect on the next process
url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
weaponhitsProc called to hit the ship with weapons
worldtime2textReturns the world time in english. Do not use to get date information - starts at 0 + a random time offset from 10 minutes to 24 hours.
+

Var Details

Failsafe + + + + +

+

Failsafe

+

Pretty much pokes the MC to make sure it's still alive.

MAX_EXPLOSION_RANGE + + + + +

+

This was a define, but I changed it to a variable so it can be changed in-game.(kept the all-caps definition because... code...) -Errorage

Master + + + + +

+

StonedMC

+

Designed to properly split up a given tick among subsystems +Note: if you read parts of this code and think "why is it doing it that way" +Odds are, there is a reason

SSearlyruntimes + + + + +

+

Just messages the unwary coder to tell them there are errors that likely escaped their debugguer.

SSescape_menu + + + + +

+

Subsystem for controlling anything related to the escape menu

SSinfluxdriver + + + + +

+

Sends collected statistics to an influxdb v2 backend periodically

SSinfluxstats + + + + +

+

Sends generic round running statistics to the InfluxDB backend

SSminimaps + + + + +

+

Minimaps subsystem

+

Handles updating and handling of the by-zlevel minimaps

+

Minimaps are a low priority subsystem that fires relatively often +the Initialize proc for this subsystem draws the maps as one of the last initializing subsystems

+

Fire() for this subsystem doesn't actually update anything, and purely just reapplies the overlays that it already tracks +actual updating of marker locations is handled by [/datum/controller/subsystem/minimaps/proc/on_move] +and zlevel changes are handled in /datum/controller/subsystem/minimaps/proc/on_z_change +tracking of the actual atoms you want to be drawn on is done by means of datums holding info pertaining to them with /datum/hud_displays

SSpager_status + + + + +

+

Updates BYOND pager status periodically

SSstats_collector + + + + +

+

Collects simple round statistics periodically

SStgui + + + + +

+

tgui subsystem

+

Contains all tgui state and subsystem code.

SStimer + + + + +

+

Timer Subsystem

+

Handles creation, callbacks, and destruction of timed events.

+

It is important to understand the buckets used in the timer subsystem are just a series of doubly-linked +lists. The object at a given index in bucket_list is a /datum/timedevent, the head of a list, which has prev +and next references for the respective elements in that bucket's list.

deployed_fultons + + + + +

+

A list of fultons currently airborne.

fallen_list_cross + + + + +

+

This is for dogtags placed on crosses- they will show up at the end-round memorial.

note_categories + + + + +

+

Note categories in text form, in order of their numerical #defines.

obfs_x + + + + +

+

A number between -500 and 500.

obfs_y + + + + +

+

A number between -500 and 500.

secret_force_mode + + + + +

+

If this is anything but "secret", the secret rotation will forceably choose this mode.

Proc Details

CreateBans +

+

DEBUG

GUID +

+

returns a GUID like identifier (using a mostly made up record format) +guids are not on their own suitable for access or security tokens, as most of their bits are predictable. +(But may make a nice salt to one)

HandleUserlessProcCall +

+

Handles a userless proccall, used by circuits.

+

Arguments:

+

HandleUserlessSDQL +

+

Handles a userless sdql, used by TGS.

+

Arguments:

+

TurfBlockedNonWindow +

+

the actual dir between the start and target turf +The direction that mover's path is being blocked by

WrapAdminProcCall +

+

Wrapper for proccalls where the datum is flagged as vareditted

______qdel_list_wrapper +

+

the underscores are to encourage people not to use this directly.

_addtimer +

+

Create a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.

+

Arguments:

+

_animate_filter +

+

Auxtools REALLY doesn't know how to handle filters as values; +when passed as arguments to auxtools-called procs, they aren't simply treated as nulls - +they don't even count towards the length of args. +For example, calling some_proc([a filter], foo, bar) from auxtools +is equivalent to calling some_proc(foo, bar). Thus, we can't use _animate directly on filters. +Use this to perform animation steps on a filter. Consecutive steps on the same filter can be +achieved by calling _animate with no target.

_pick_list +

+

Allow me to explain +for some reason, if pick() is passed arglist(args) directly and args contains only one list +it considers it to be a list of lists +this means something like _pick(list) would fail +need to do this instead

+

I hate this timeline

add_keybinding +

+

Adds an instanced keybinding to the global tracker

add_verb +

+

handles adding verbs and updating the stat panel browser

+

pass the verb type path to this instead of adding it directly to verbs so the statpanel can update +Arguments:

+

admin_ticket_log +

+

Use this proc when an admin takes action that may be related to an open ticket on what +what can be a client, ckey, or mob +player_message: If the message should be shown in the player ticket panel, fill this out +log_in_blackbox: Whether or not this message with the blackbox system. +If disabled, this message should be logged with a different proc call

anyprob +

+

chances are 1:value. anyprob(1) will always return true

at_least +

+

Takes a value, and a threshold it has to at least match +returns the correctly signed value max'd to the threshold

big_number_to_text +

+

Formats a larger number to correct textual representation without losing data

bit_count +

+

counts the number of bits in Byond's 16-bit width field, in constant time and memory!

bitfield_to_list +

+

Converts a bitfield to a list of numbers (or words if a wordlist is provided)

capitalize_first_letters +

+

Finds the first letter of each word in the provided string and capitalize them

center_image +

+

Center's an image. +Requires: +The Image +The x dimension of the icon file used in the image +The y dimension of the icon file used in the image +eg: center_image(image_to_center, 32,32) +eg2: center_image(image_to_center, 96,96)

+

Checks a given message to see if any of the words are something we want to treat specially, as detailed below.

+

There are 3 cases where a word is something we want to act on

+
    +
  1. Admin pings, like @adminckey. Pings the admin in question, text is not clickable
  2. +
  3. Datum refs, like @0x2001169 or @mob_23. Clicking on the link opens up the VV for that datum
  4. +
  5. Ticket refs, like #3. Displays the status and ahelper in the link, clicking on it brings up the ticket panel for it. +Returns a list being used as a tuple. Index ASAY_LINK_NEW_MESSAGE_INDEX contains the new message text (with clickable links and such) +while index ASAY_LINK_PINGED_ADMINS_INDEX contains a list of pinged admin clients, if there are any.
  6. +
+

Arguments:

+

cmp_mob_deathtime_asc +

+

Compares mobs based on their timeofdeath value in ascending order

cmp_obs_larvaqueuetime_asc +

+

Compares observers based on their larva_queue_time value in ascending order +Assumes the client on the observer is not null

color_matrix_from_string +

+

Converts a hex color string to a color matrix.

color_matrix_recolor_red +

+

Creates a matrix to re-paint a sprite, replacing shades of red with corresponding shades of a new color. In the base sprite, Hue must always be pure red. +Saturation and Lightness can be anything. Arg is a hex string for a color. Proc is by Lummox JR, www.byond.com/forum/post/2209545 +color_matrix_recolor_rgb is more complex, but gives more precise control over the palette, at least if using 3 or fewer colours.

color_matrix_recolor_rgb +

+

Creates a matrix to re-paint a sprite, replacing pure red, green, and blue with 3 different shades. Doesn't work with mixed tones of RGB or whites or greys +-- must be pure. R/G/B 255 becomes the new color, darker shades become correspondingly darker. +The arg is a list of hex colours, for ex "list("#d4c218", "#b929f7", "#339933"". +if you want variations of the same color, color_matrix_recolor_red() is simpler.

debug_variable +

+

Get displayed variable in VV variable list

default_ui_state +

+

The sane defaults for a UI such as a computer or a machine.

delete_all_SS_and_recreate_master +

+

Delete all existing SS to basically start over

deltimer +

+

Delete a timer

+

Arguments:

+

display_power +

+

Format a power value in W, kW, MW, or GW.

end_cooldown +

+

Callback called by a timer to end an associative-list-indexed cooldown.

+

Arguments:

+ +

This sends a signal reporting the cooldown end.

flick_overlay_to_clients +

+

Add an image to a list of clients and calls a proc to remove it after a duration

generate_asset_name +

+

Generate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)

generate_bitfields +

+

Turns /datum/bitfield subtypes into a list for use in debugging

getFlatIcon +

+

Create a single /icon from a given /atom or /image.

+

Very low-performance. Should usually only be used for HTML, where BYOND's +appearance system (overlays/underlays, etc.) is not available.

+

Only the first argument is required.

get_active_player_count +

+

Get active players who are playing in the round

get_alien_candidates +

+

Get a list of observers that can be alien candidates, optionally sorted by larva_queue_time

get_all_main_access +

+

Grants standard access for all factions, does not include high restrictions like COs office.

get_all_marine_access +

+

Includes restricted accesses

get_all_notes +

+

Returns all notes associated with a CKEY, structured as a list of strings.

get_angle +

+

Calculate the angle between two movables and the west|east coordinate

get_angle_raw +

+

Angle between two arbitrary points and horizontal line same as /proc/get_angle

get_antagonist_access +

+

CLF & UPP, UPP Commandos have global.

get_bbox_of_atoms +

+

Get a bounding box of a list of atoms.

+

Arguments:

+ +

Returns: list(x1, y1, x2, y2)

get_civil_ert_access +

+

Pizza and Souto

get_friendly_ert_access +

+

This is only used by USCM ERTs at present

get_global_access +

+

Grants access to EVERYWHERE

get_line +

+

Get a list of turfs in a line from starting_atom to ending_atom.

+

Uses the ultra-fast Bresenham Line-Drawing Algorithm.

get_main_marine_access +

+

All Almayer accesses other than the highly restricted ones, such as CO's office.

get_pixel_angle +

+

for getting the angle when animating something's pixel_x and pixel_y

get_pixel_position_x +

+

Gives X position on pixel grid of an object, accounting for offsets

get_pixel_position_y +

+

Gives Y position on pixel grid of an object, accounting for offsets

get_radios_in_view +

+

only gets FUNCTIONING radios

get_total_living_playtime +

+

Returns the total time in minutes a specific player ID has played for

get_weyland_pmc_access +

+

Used by PMCs and elite mercs.

get_whitelisted_roles +

+

returns a list of strings containing the whitelists held by a specific ckey

getpois +

+

Returns a list of all items of interest with their name

give_action +

+

Gives an action to a mob and returns it

+

If mob already has the action, unhide it if it's hidden

+

Can pass additional initialization args

give_escape_menu_details +

+

Provides a singleton for the escape menu details screen.

give_escape_menu_title +

+

Provides a singleton for the escape menu details screen.

icon_exists +

+

Checks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE.

init_keybindings +

+

Creates and sorts all the keybinding datums

initiate_surgery_moment +

+

Does the surgery initiation. Returns TRUE if the triggering attack should be halted.

is_valid_src +

+

Check if a datum has not been deleted and is a valid source

lisp_replace +

+

Replaces S and similar sounds with 'th' and such. Stolen from tg.

list_clear_nulls +

+

Removes any null entries from the list +Returns TRUE if the list had nulls, FALSE otherwise

load_map +

+

Shortcut function to parse a map and apply it to the world.

+

log_perf +

+

Logging for game performance

log_tgui +

+

Appends a tgui-related log entry. All arguments are optional.

make_tuple +

+

Returns the name of the mathematical tuple of same length as the number arg (rounded down).

map_pill_icons +

+

Pills.

+

Returns a list mapping pill icon classes to icon states

md5asfile +

+

Save file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.

mergeListsSum +

+

Sums values in two associative lists, from mergee into result, in place

message_alien_candidates +

+

Messages observers that are currently candidates an update on the queue.

+

Arguments:

+

message_to_html +

+

Message-related procs

+

Message format (/list):

+ +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

mutable_appearance +

+

Helper similar to image()

pick_n_take +

+

Pick a random element from the list and remove it from the list.

pick_weight +

+

Picks a random element from a list based on a weighting system. +For example, given the following list: +A = 6, B = 3, C = 1, D = 0 +A would have a 60% chance of being picked, +B would have a 30% chance of being picked, +C would have a 10% chance of being picked, +and D would have a 0% chance of being picked. +You should only pass integers in.

playsound_area +

+

Plays sound to all mobs that are map-level contents of an area

playsound_z +

+

Play sound for all on-map clients on a given Z-level. Good for ambient sounds.

qdel +

+

Should be treated as a replacement for the 'del' keyword.

+

Datums passed to this will be given a chance to clean up references to allow the GC to collect them.

recover_all_SS_and_recreate_master +

+

Recreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars

recursive_holder_check +

+

Will attempt to find what's holding this item if it's being contained by something, ie if it's in a satchel held by a human, this'll return the human

remove_image_from_client +

+

Removes an image from a client's .images. Useful as a callback.

remove_images_from_clients +

+

Like remove_image_from_client, but will remove the image from a list of clients

remove_verb +

+

handles removing verb and sending it to browser to update, use this for removing verbs

+

pass the verb type path to this instead of removing it from verbs so the statpanel can update +Arguments:

+

reset_cooldown +

+

Proc used by stoppable timers to end a cooldown before the time has ran out.

+

Arguments:

+ +

This sends a signal reporting the cooldown end, passing the time left as an argument.

return_generator_args +

+

returns the arguments given to a generator and manually extracts them from the internal byond object +returns:

+

reverse_range +

+

replaces reverseList ~Carnie

send2adminchat +

+

Sends a message to TGS admin chat channels.

+

category - The category of the mssage. +message - The message to send.

send2chat +

+

Sends a message to TGS chat channels.

+

message - The message to send. +channel_tag - Required. If "", the message with be sent to all connected (Game-type for TGS3) channels. Otherwise, it will be sent to TGS4 channels with that tag (Delimited by ','s). +admin_only - Determines if this communication can only be sent to admin only channels.

setup_offset +

+

Sets the offset 2 lines above.

shakeship +

+

Shakes the ship around

+

Shakes the ship around and has the ship +make sounds because of it, including +warning klaxons it it's a big hit +despite being in /almayer, this thing should work in any shipmap. +Arguments:

+

show_blurb +

+

*Shows a ticker reading out the given text on a client's screen. +targets = mob or list of mobs to show it to.

+

duration = how long it lingers after it finishes ticking.

+

message = the message to display. Due to using maptext it isn't very flexible format-wise. 11px font, up to 480 pixels per line. +Use \n for line breaks. Single-character HTML tags (, , etc.) are handled correctly but others display strangely. +Note that maptext can display text macros in strange ways, ex. \improper showing as "ÿ". Lines containing only spaces, +including ones only containing "\improper ", don't display.

+

scroll_down = by default each line pushes the previous line upwards - this tells it to start high and scroll down. +Ticks on \n - does not autodetect line breaks in long strings.

+

screen_position = screen loc for the bottom-left corner of the blurb.

+

text_alignment = "right", "left", or "center"

+

text_color = color of the text.

+

blurb_key = a key used for specific blurb types so they are not shown repeatedly. Ex. someone who joins as CLF repeatedly only seeing the mission blurb the first time.

+

ignore_key = used to skip key checks. Ex. a USCM ERT member shouldn't see the normal USCM drop message, +but should see their own spawn message even if the player already dropped as USCM.*

show_blurb_uscm +

+

Shows operation start blurb to living marines. Slightly different for squad marines, pilots, and deploying ship crew/passengers. +exempt_ztraits = trait or list of traits of zlevels where any marines don't see the message, ex. marine faction survivors colonyside +shouldn't see the ship marines' drop message. Ex. ZTRAIT_GROUND by default. +unit = the unit the marines are from. FF, Dust Raiders etc. Military crew see this. +base = the base the marines are staging from. The ship, Whiskey Outpost etc. Noncombat crew see this.

show_location_blurb +

+

Reads out a description of game time, game date, main ship and current area. Originally for displaying roundstart messages on a conventional SS13 server.

shuffle_inplace +

+

same as shuffle, but returns nothing and acts on list in place

sort_list +

+

sort any value in a list

tgui_Topic +

+

Middleware for /client/Topic.

+

return bool If TRUE, prevents propagation of the topic call.

tgui_alert +

+

Creates a TGUI alert window and returns the user's response.

+

This proc should be used to create alerts that the caller will wait for a response from. +Arguments:

+
    +
  • user - The user to show the alert to.
  • +
  • message - The content of the alert, shown in the body of the TGUI window.
  • +
  • title - The of the alert modal, shown on the top of the TGUI window.
  • +
  • buttons - The options that can be chosen by the user, each string is assigned a button on the UI.
  • +
  • timeout - The timeout of the alert, after which the modal will close and qdel itself. Set to zero for no timeout.
  • +

tgui_alert_async +

+

Creates an asynchronous TGUI alert window with an associated callback.

+

This proc should be used to create alerts that invoke a callback with the user's chosen option. +Arguments:

+
    +
  • user - The user to show the alert to.
  • +
  • message - The content of the alert, shown in the body of the TGUI window.
  • +
  • title - The of the alert modal, shown on the top of the TGUI window.
  • +
  • buttons - The options that can be chosen by the user, each string is assigned a button on the UI.
  • +
  • callback - The callback to be invoked when a choice is made.
  • +
  • timeout - The timeout of the alert, after which the modal will close and qdel itself. Set to zero for no timeout.
  • +

tgui_input_list +

+

Creates a TGUI input list window and returns the user's response.

+

This proc should be used to create alerts that the caller will wait for a response from. +Arguments:

+
    +
  • user - The user to show the alert to.
  • +
  • message - The content of the alert, shown in the body of the TGUI window.
  • +
  • title - The title of the list input, shown on the top of the TGUI window.
  • +
  • buttons - The options that can be chosen by the user, each string is assigned a button on the UI.
  • +
  • timeout - The timeout of the alert, after which the list input will close and qdel itself. Set to zero for no timeout.
  • +
  • theme - The ui theme to use for the TGUI window.
  • +

tgui_input_list_async +

+

Creates an asynchronous TGUI input list window with an associated callback.

+

This proc should be used to create inputs that invoke a callback with the user's chosen option. +Arguments:

+
    +
  • user - The user to show the alert to.
  • +
  • message - The content of the alert, shown in the body of the TGUI window.
  • +
  • title - The of the alert modal, shown on the top of the TGUI window.
  • +
  • buttons - The options that can be chosen by the user, each string is assigned a button on the UI.
  • +
  • callback - The callback to be invoked when a choice is made.
  • +
  • timeout - The timeout of the alert, after which the modal will close and qdel itself. Set to zero for no timeout.
  • +
  • theme - The ui theme to use for the TGUI window.
  • +

tgui_input_number +

+

Creates a TGUI window with a number input. Returns the user's response as num | null.

+

This proc should be used to create windows for number entry that the caller will wait for a response from. +If tgui fancy chat is turned off: Will return a normal input. If a max or min value is specified, will +validate the input inside the UI and ui_act.

+

Arguments:

+
    +
  • user - The user to show the number input to.
  • +
  • message - The content of the number input, shown in the body of the TGUI window.
  • +
  • title - The title of the number input modal, shown on the top of the TGUI window.
  • +
  • default - The default (or current) value, shown as a placeholder. Users can press refresh with this.
  • +
  • max_value - Specifies a maximum value. If none is set, any number can be entered. Pressing "max" defaults to 1000.
  • +
  • min_value - Specifies a minimum value. Often 0.
  • +
  • timeout - The timeout of the number input, after which the modal will close and qdel itself. Set to zero for no timeout.
  • +

tgui_input_number_async +

+

Creates an asynchronous TGUI number input window with an associated callback.

+

This proc should be used to create number inputs that invoke a callback with the user's entry.

+

Arguments:

+
    +
  • user - The user to show the number input to.
  • +
  • message - The content of the number input, shown in the body of the TGUI window.
  • +
  • title - The title of the number input modal, shown on the top of the TGUI window.
  • +
  • default - The default (or current) value, shown as a placeholder. Users can press refresh with this.
  • +
  • max_value - Specifies a maximum value. If none is set, any number can be entered. Pressing "max" defaults to 1000.
  • +
  • min_value - Specifies a minimum value. Often 0.
  • +
  • callback - The callback to be invoked when a choice is made.
  • +
  • timeout - The timeout of the number input, after which the modal will close and qdel itself. Set to zero for no timeout.
  • +

tgui_input_real_number +

+

A clone of tgui_input_number that defaults to accepting negative inputs too.

tgui_input_text +

+

Creates a TGUI window with a text input. Returns the user's response.

+

This proc should be used to create windows for text entry that the caller will wait for a response from. +If tgui fancy chat is turned off: Will return a normal input. If max_length is specified, will return +stripped_multiline_input.

+

Arguments:

+
    +
  • user - The user to show the text input to.
  • +
  • message - The content of the text input, shown in the body of the TGUI window.
  • +
  • title - The title of the text input modal, shown on the top of the TGUI window.
  • +
  • default - The default (or current) value, shown as a placeholder.
  • +
  • max_length - Specifies a max length for input. MAX_MESSAGE_LEN is default (1024)
  • +
  • multiline - Bool that determines if the input box is much larger. Good for large messages, laws, etc.
  • +
  • encode - Toggling this determines if input is filtered via html_encode. Setting this to FALSE gives raw input.
  • +
  • timeout - The timeout of the textbox, after which the modal will close and qdel itself. Set to zero for no timeout.
  • +

timeleft +

+

Get the remaining deciseconds on a timer

+

Arguments:

+
    +
  • id a timerid or a /datum/timedevent
  • +

to_chat +

+

Sends the message to the recipient (target).

+

Recommended way to write to_chat calls:

+
to_chat(client,
+ type = MESSAGE_TYPE_INFO,
+ html = "You have found <strong>[object]</strong>")
+

to_chat_immediate +

+

Circumvents the message queue and sends the message +to the recipient (target) as soon as possible.

ui_status_only_living +

+

Returns a UI status such that the dead will be able to watch, but not interact.

ui_status_user_is_abled +

+

Returns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.

ui_status_user_is_adjacent +

+

Returns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.

ui_status_user_is_advanced_tool_user +

+

Returns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.

ui_status_user_is_conscious_and_lying_down +

+

Returns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.

ui_status_user_strictly_adjacent +

+

Return UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.

unique_list +

+

Return a list with no duplicate entries

unique_list_in_place +

+

same as unique_list, but returns nothing and acts on list in place (also handles associated values properly)

updatetimedelay +

+

Update the delay on an existing LOOPING timer +Will come into effect on the next process

+

Arguments:

+
    +
  • id a timerid or a /datum/timedevent
  • +
  • new_wait the new wait to give this looping timer
  • +

url2htmlloader +

+

Return html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.

weaponhits +

+

Proc called to hit the ship with weapons

+

Hits the ship with the weapon of choice +Calling Shakeship acoording to the weapon used +All sounds that should happen when they hit are in here already. +Probably doesn't work in other shipmaps. +Arguments:

+
    +
  • weaponused - chooses the weapon through a switchcase. 1 for missiles, 2 for railguns, 3 for particle cannons.
  • +
  • location - location in the ship where the explosion will be created.
  • +
  • point_defense - If you want the Almayer to attempt taking down the incoming fire
  • +
  • salvo - identifies it as a salvo or not.
  • +

worldtime2text +

+

Returns the world time in english. Do not use to get date information - starts at 0 + a random time offset from 10 minutes to 24 hours.

+ + + diff --git a/image.html b/image.html new file mode 100644 index 000000000000..1086b23afde9 --- /dev/null +++ b/image.html @@ -0,0 +1,35 @@ + + + + + + + /image - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/image + + + +

+ + +

Procs

minimap_on_moveSimple proc, updates overlay position on the map when a atom moves

Proc Details

minimap_on_move +

+

Simple proc, updates overlay position on the map when a atom moves

+ + + diff --git a/index.html b/index.html new file mode 100644 index 000000000000..73fbd29595d0 --- /dev/null +++ b/index.html @@ -0,0 +1,1501 @@ + + + + + + + Index - byond + + + + + +
+ byond - + Modules - + Types +
+
+

byond

+ + + +

Modules +

+ + + + +

Types +

+
    +
  • (global)
  • +
  • Unknown
      +
    • Shuttle
    • +
    • strata
        +
      • ag
          +
        • exterior
            +
          • paths/South Of The Outpost - close to research
          • +
          • Outpost Decks - Research Station
          • +
        • +
        • interior
            +
          • engi_shed AG parent - Engineering Terminals / Sheds, whatever. Map Power
          • +
          • Sorokyne Outpost - OUTPOST INTERIOR
              +
            • Outpost Administration - OUTPOST ADMINISTRATION
            • +
            • Outpost Canteen - CANTEEN / GENERAL QUARTERS
            • +
            • Outpost Engineering - OUTPOST ENGINEERING
            • +
            • Outpost Maintenance - ALL MAINTENANCE AREAS
            • +
            • Outpost Medical - OUTPOST MEDICAL
            • +
            • Outpost Security - OUTPOST SECURITY
            • +
          • +
          • Relay - Telecomms
          • +
        • +
      • +
      • ug/interior
          +
        • Underground Jungle - /END OUTPOST DEFINES/ +DEEP JUNGLE
        • +
        • outpost/Underground Jungle Structures - JUNGLE STRUCTURES - UNDERGROUND
        • +
      • +
    • +
    • Area Passthrough - Area passthrough: do not instanciate a new area, reuse the current one
    • +
  • +
  • atom
      +
    • movable
        +
      • plane_master_controller - Atom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane.
          +
        • plane_masters_non_master - Exists for convienience when referencing all non-master render plates. +This is the whole game and the UI, but not the escape menu.
        • +
      • +
      • screen - A screen object, which acts as a container for turfs and other things +you want to show on the map, which you usually attach to "vis_contents".
          +
        • background - A generic background object. +It is also implicitly used to allocate a rectangle on the map, which will +be used for auto-scaling the map.
        • +
        • color_matrix_proxy_view
        • +
        • escape_menu/home_button_text
        • +
        • map_view - A screen object, which acts as a container for turfs and other things +you want to show on the map, which you usually attach to "vis_contents".
        • +
        • Minimap - Default HUD screen minimap object
        • +
        • plane_master
            +
          • darkness plane master - Plane master handling byond internal blackness +vars are set as to replicate behavior when rendering to other planes +do not touch this unless you know what you are doing
          • +
          • game world plane master - Contains most things in the game world
          • +
          • lighting plane master - Contains all lighting objects
          • +
          • default rendering plate
              +
            • game rendering plate - renders general in charachter game objects
            • +
            • master rendering plate - this plate renders the final screen to show to the player
            • +
            • non-game rendering plate - render plate for OOC stuff like ghosts, hud-screen effects, etc
            • +
          • +
          • roof plane master - Plane master handling display of building roofs. They're meant to become invisible when inside a building.
          • +
        • +
        • text/screen_text
        • +
      • +
      • vis_obj - Used to display the xeno wounds/backpacks without rapidly switching overlays
      • +
    • +
  • +
  • client
  • +
  • datum - The absolute base class for everything
      +
    • Generic Action
    • +
    • Adminhelp Ticket
    • +
    • Adminhelp Ticket Manager
    • +
    • admins
    • +
    • generic bullet
    • +
    • ares_link
    • +
    • ares_record
    • +
    • ares_ticket
    • +
    • asset
        +
      • simple - If you don't need anything complicated.
          +
        • namespaced - Namespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)
        • +
      • +
    • +
    • asset_cache_item - An internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.
    • +
    • Simple browse_rsc asset transport - Base browse_rsc asset transport
    • +
    • authority/branch
    • +
    • autoreply
        +
      • admin/handled - Admin Replies
      • +
    • +
    • beam
    • +
    • Set This
    • +
    • bioscan_data
    • +
    • bitfield - Specifies a bitfield for smarter debugging
    • +
    • Unnamed Firemission
    • +
    • cas_fire_mission_record - Defines firing patterns in Fire Missions, transverse to its firing direction
    • +
    • caste_datum
    • +
    • character_trait - Character traits +Similar to the traits from Project Zomboid
    • +
    • character_trait_group - Character trait groups for constraints (if any)
    • +
    • chem_property
    • +
    • chemical_reaction
        +
      • generated
          +
        • alpha - Tier 1
        • +
        • iota - Tier 3
        • +
        • lambda - Tier 4
        • +
        • zeta - Tier 2
        • +
      • +
      • Sbiten - DRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri
      • +
    • +
    • An objective to complete
    • +
    • Component - The component datum
        +
      • armor_link - Return the object that is the host of any UI's that this component has +datum/component/ui_host() +Allows a piece of clothing to have their armor values change based on the values of another piece of clothing +Ex: Marine boots have their armor values change based on what type of armor you're wearing on your chest
      • +
      • bad_leg
      • +
      • bonus_damage_stack
      • +
      • cluster_stack
      • +
      • connect_mob_behalf - This component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +To be clear, we hook into a signal on a tracked client's mob +We retain the ability to react to that signal on a seperate listener, which makes this quite powerful
      • +
      • footstep - Footstep component. Plays footsteps at parents location when it is appropriate.
      • +
      • label - The label component.
      • +
      • nmnode_cond - Applies to a /datum/nmnode to enforce scenario constraints
      • +
      • rename - The rename component.
      • +
      • tent_powered_machine - Component to handle power requirements following removal of the tent
      • +
      • tent_supported_object - Component to handle destruction of objects following removal of the tent
      • +
    • +
    • computer/file/embedded_program/docking/simple
    • +
    • config_entry
        +
      • flag
          +
        • ephemeral_map_mode - Force map bypassing configuration, and ignore map changes
        • +
        • log_timers_on_bucket_reset - logs all timers in buckets on automatic bucket reset (Useful for timer debugging) +logs all timers in buckets on automatic bucket reset (Useful for timer debugging)
        • +
      • +
      • number
          +
        • extra_larva_per_burst - Used to determine how many extra larva you want per burst. Supports fractions. See /datum/hive_status/proc/increase_larva_after_burst()
        • +
        • influxdb_mcstats_period - How often to snapshot MC statistics
        • +
        • influxdb_send_period - How often to send queued influxdb statistics
        • +
        • influxdb_stats_period - How often to snapshot general game statistics to influxdb driver
        • +
      • +
      • str_list - List config entry, used for configuring a list of strings
      • +
      • string
          +
        • centcom_ban_db - URL for the CentCom Galactic Ban DB API
        • +
        • ephemeral_ground_map - Map configuration file to use in ephemeral mode
        • +
        • influxdb_bucket - InfluxDB v2 Bucket to send staistics to
        • +
        • influxdb_host - InfluxDB v2 Host to connect to for sending statistics (over HTTP API)
        • +
        • influxdb_org - InfluxDB v2 Organization to access buckets of
        • +
        • influxdb_token - InfluxDB v2 API Token to access the organization and bucket
        • +
        • manager_url - Server to notify of game events
        • +
        • nightmare_path - Relative inclusion path for nightmare configuration files
        • +
        • webmap_host - Host of the webmap
        • +
      • +
    • +
    • generic structure
    • +
    • controller
    • +
    • coords/qtplayer
    • +
    • crewmonitor
    • +
    • custom_hud
    • +
    • decorator
        +
      • christmas/food - Replaces marine food dispensers contents with more festive MREs
      • +
      • halloween/cobwebs - Cobweb decorator: adds more and more cobwebs as you go through the month
          +
        • ship - Ship specific cobweb decorator
        • +
      • +
    • +
    • discord_embed - Documentation for the embed object and all of its variables can be found at +https://discord.com/developers/docs/resources/channel#embed-object +It is recommended to read the documentation on the discord website, as the information below could become outdated in the future.
    • +
    • door_controller
        +
      • aggregate - Datum containing methods to allow for the control over multiple door groups.
      • +
      • single - Datum containing methods to allow for the control over a single door group.
      • +
    • +
    • effect_system/steam_trail_follow - Attach a steam trail to an object (eg. a reacting beaker) that will follow it
    • +
    • effects
    • +
    • element - A holder for simple behaviour that can be attached to many different types
    • +
    • emergency_call/UPP Naval Infantry (Squad)
    • +
    • Emote - Most of the text that's not someone talking is based off of this.
        +
      • living/carbon/human
      • +
    • +
    • entity/player_note
    • +
    • Preset
    • +
    • escape_menu
    • +
    • flaying_datum - Records status of flaying attempts and handles progress.
    • +
    • font - A font datum, it exists to define a custom font to use in a span style later.
    • +
    • invalid
    • +
    • health_scan - vars reffing this on /mob/dead/observer, /obj/item/device/healthanalyzer, /obj/structure/machinery/cm_vending/sorted/medical, /obj/structure/machinery/body_scanconsole are called last_health_display
    • +
    • Normal Hive
    • +
    • http_request
    • +
    • hud
    • +
    • hud_displays - Holder datum for a zlevels data, concerning the overlays and the drawn level itself +The individual image trackers have a raw and a normal list +raw lists just store the images, while the normal ones are assoc list of [tracked_atom] = image +the raw lists are to speed up the Fire() of the subsystem so we dont have to filter through +WARNING! +There is a byond bug: http://www.byond.com/forum/post/2661309 +That that forces us to use a seperate list ref when accessing the lists of this datum +Yea it hurts me too
    • +
    • interior
    • +
    • organ
    • +
    • item_storage_box
    • +
    • japanese_sound - a generic sound
        +
      • final_syllable - a final_syllable sound, not used for much since the only one possible is N.
      • +
      • initial - an initial sound aka a consonant, contains a lot of data about stuff that only consonants can be
      • +
      • nucleus - a nucleus, aka a vowel sound
      • +
    • +
    • japanese_syllable - holds the syllable's sound itself and information such as if it has a null initial or final_syllable
    • +
    • job
    • +
    • launch_metadata
    • +
    • log_category - The main datum that contains all log entries for a category
        +
      • backup_category_not_found - Backup log category to catch attempts to log to a category that doesn't exist
      • +
    • +
    • log_holder - Main datum to manage logging actions
    • +
    • looping_sound - A datum for sounds that need to loop, with a high amount of configurability.
    • +
    • map_config
    • +
    • map_preloader - Preloader datum
    • +
    • map_report - An error report generated by [parsed_map/check_for_errors].
    • +
    • map_template/shuttle
        +
      • Port door lifeboat - Port-door lifeboat, bow east
      • +
      • Starboard door lifeboat - Starboard-door lifeboat, bow east
      • +
    • +
    • minimap_updator - Holder datum to ease updating of atoms to update
    • +
    • movement_detector - A datum to handle the busywork of registering signals to handle in depth tracking of a movable
    • +
    • nanomanager
    • +
    • nanoui
    • +
    • context - Context within which we resolve nightmare actions
        +
      • map - Context belonging to a map scope (ground map, ship map, etc)
      • +
    • +
    • nmnode - Decriptive nightmare config nodes loaded from config files
        +
      • branch - Holding node for several child nodes
          +
        • include - Same as branch, but load node data from another included file
        • +
      • +
      • mapload - Abstract config node designating a map insertion
          +
        • landmark - Designates insert of a given map file at a specified landmark
        • +
        • Map Sprinkles - Similar to variations mode, but rolls all files individually rather +than picking one, using name for landmark. The prefix number is used +as a percentage chance. You can add extra text with an underscore.
        • +
        • Map Variations - Inserts a map file among a set of variations in a folder +param: path: some/folder/, landmark +files within should be named with a prefix indicating weighting: +some/folder/20.destroyed.dmm +some/folder/50.spaced.dmm +using + instead of dot means to keep map contents, eg. +some/folder/20+extras.dmm is added on top
        • +
      • +
      • picker - Same as branch, but selects a subset of the given nodes +amount: how many items to pick +choices: nested nodes to pick from +each node should have a 'weight' key if you want to use weighted pick
      • +
    • +
    • abstract task - Nightmare task, executing game actions as part of context
        +
      • mapload - Loads a chunk of map at the specified position
      • +
      • scheduler - Simple blocking executor to execute several tasks in a row
          +
        • mapload scheduler - Handles map insertions sequentially and updating the game to match map insertions
        • +
      • +
    • +
    • object_window_info - Datum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration
    • +
    • Base
    • +
    • parsed_map
    • +
    • particle_editor
    • +
    • paygrade
    • +
    • player_info
    • +
    • preferences
    • +
    • qdel_item - Qdel Item: Holds statistics on each type that passes thru qdel +Holds the type as a string for this type +Total number of times it's passed thru qdel. +Total amount of milliseconds spent processing this type's Destroy() +Times it was queued for soft deletion but failed to soft delete. +Different from failures because it also includes QDEL_HINT_HARDDEL deletions +Total amount of milliseconds spent hard deleting this type. +Highest time spent hard_deleting this in ms. +Number of times hard deletes took longer than the configured threshold +Number of times it's not respected force=TRUE +Number of times it's not even bother to give a qdel hint +Number of times it's slept in its destroy
    • +
    • quadtree
    • +
    • radar - generic parent that handles most of the process
        +
      • lifeline - A program that tracks crew members via suit sensors
      • +
    • +
    • reagent
        +
      • Ethanol
      • +
      • medical/antidepressant/Methylphenidate - ANTIDEPRESSANTS
      • +
    • +
    • reagents
    • +
    • Redis callbacks - This datum is used for assigning callbacks that run +when a message is received on a specific channel. Subtypes of this +are automatically registered in SSredis initialization
    • +
    • Redis message - Used to hold redis messages created prior to the initialization of SSredis
    • +
    • role_reserved_slots - special role slots datum. Stores category name, roles, amount of taken slots and total slots.
    • +
    • round_event
    • +
    • round_event_control - this datum is used by the events controller to dictate how it selects events
    • +
    • screen_object_holder - A helper instance that will handle adding objects from the client's screen +to easily remove from later.
    • +
    • shuttle/ferry
    • +
    • skill
    • +
    • skills - Skill with an extra S at the end is a collection of multiple skills. Basically a skillSET +This is to organize and provide a common interface to the huge heap of skills there are
    • +
    • species
    • +
    • squad
    • +
    • stack_canary - Stack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.
    • +
    • stack_end_detector - Stack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.
    • +
    • statbrowser_options - Handles the Statbrowser Options window for a given client
    • +
    • Basic supply pack.
    • +
    • surgery - Base surgery datum and procs. There is an important distinction between surgery datums and surgery steps. +The surgery is a separate instance for each individual operation; the steps are shared globally. +datum/surgery and datum/surgery_step are intertwined. The surgery calls the step which modifies the surgery. +Defines are in __DEFINES/human.dm and __DEFINES/surgery.dm.
    • +
    • surgery_step
    • +
    • suture_handler - Handles sutures for this limb. Doesn't process, updates on limb damage and new suture attempts.
    • +
    • tacmap
    • +
    • tech
        +
      • Repeatable Tech - A tech that can be purchased multiple times
      • +
    • +
    • Undefined
    • +
    • tgs_chat_channel - Represents a connected chat channel.
    • +
    • tgs_chat_command - User definable chat command.
    • +
    • tgs_chat_embed
        +
      • field - See https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure for details. Must have name and value set in New().
      • +
      • footer - See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details.
      • +
      • media - Common datum for similar discord embed medias.
      • +
      • provider - See https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure for details.
          +
        • author - See https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure for details. Must have name set in New().
        • +
      • +
      • structure - User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details.
      • +
    • +
    • tgs_chat_user
    • +
    • tgs_event_handler - User definable handler for TGS events.
    • +
    • tgs_message_content - User definable chat message.
    • +
    • tgs_revision_information - Represents git revision information.
        +
      • test_merge - Represents a merge of a GitHub pull request.
      • +
    • +
    • tgs_version - Represents a version.
    • +
    • tgui - tgui datum (represents a UI).
    • +
    • tgui_input_number - Datum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.
        +
      • async tgui_input_number - An asynchronous version of tgui_input_number to be used with callbacks instead of waiting on user responses.
      • +
    • +
    • tgui_input_text - tgui_input_text
    • +
    • tgui_list_input - Datum used for instantiating and using a TGUI-controlled list input that prompts the user with +a message and shows a list of selectable options
        +
      • async tgui_list_input - An asynchronous version of tgui_list_input to be used with callbacks instead of waiting on user responses.
      • +
    • +
    • tgui_modal - Datum used for instantiating and using a TGUI-controlled modal that prompts the user with +a message and has buttons for responses.
        +
      • async tgui_modal - An asynchronous version of tgui_modal to be used with callbacks instead of waiting on user responses.
      • +
    • +
    • tgui_panel - tgui_panel datum +Hosts tgchat and other nice features.
    • +
    • tgui_say - The tgui say modal. This initializes an input window which hides until +the user presses one of the speech hotkeys. Once something is entered, it will +delegate the speech to the proper channel.
    • +
    • tgui_window
    • +
    • Timed Event - This is the actual timer, it contains the callback and necessary data to maintain +the timer.
    • +
    • timelock
        +
      • Drone and drone evolutions - counts drone caste evo time as well
      • +
      • Tier three castes - t3 and queen time
      • +
    • +
    • ui_state
    • +
    • unit_test
        +
      • check_runtimes
      • +
      • create_and_destroy - Delete one of every type, sleep a while, then check to see if anything has gone fucky
      • +
      • focus_only - These tests perform no behavior of their own, and have their tests offloaded onto other procs. +This is useful in cases like in build_appearance_list where we want to know if any fail, +but is not useful to right a test for. +This file exists so that you can change any of these to TEST_FOCUS and only check for that test. +For example, change /datum/unit_test/focus_only/invalid_overlays to TEST_FOCUS(/datum/unit_test/focus_only/invalid_overlays), +and you will only test the check for invalid overlays in appearance building.
          +
        • invalid_overlays - Checks that every overlay passed into build_appearance_list exists in the icon
        • +
        • invalid_research_designs - Checks that every icon sent to the research_designs spritesheet is valid
        • +
        • invalid_vending_machine_icon_states - Checks that every icon sent to vending machines is valid
        • +
        • multiple_space_initialization - Checks that space does not initialize multiple times
        • +
        • sorted_smoothing_groups - Checks that smoothing_groups and canSmoothWith are properly sorted in /atom/Initialize
        • +
      • +
      • missing_icons - Makes sure objects actually have icons that exist!
      • +
      • spritesheets - Checks if spritesheet assets contain icon states with invalid names
      • +
      • stop_drop_and_roll
      • +
      • subsystem_init - Tests that all subsystems that need to properly initialize.
      • +
      • tgui_create_message - Test that TGUI_CREATE_MESSAGE is correctly implemented
      • +
    • +
    • set this
    • +
    • weather_ss_map_holder/Sorokyne Map Holder - Sorokyne's map holder
    • +
    • world_topic
    • +
    • Mutator name
    • +
    • xeno_shield/vanguard
    • +
  • +
  • image
  • +
  • mob
  • +
  • obj
  • +
  • particles
  • +
  • procpath - Represents a proc or verb path.
  • +
  • turf
      +
    • closed/wall/r_wall/elevator - Destructible elevator walls, for when you want the elevator to act as a prop rather than an actual elevator
    • +
    • open/floor/plating/catwalk - Visually like plating+catwalks but without overlaying or interactions - mainly for Reqs Elevator
    • +
    • Turf Passthrough - Turf passthrough: do not instanciate a new turf, reuse the current one
    • +
  • +
  • byond
  • +
+ + +
+ + + diff --git a/interface/fonts.html b/interface/fonts.html new file mode 100644 index 000000000000..dcac492d8a5a --- /dev/null +++ b/interface/fonts.html @@ -0,0 +1,27 @@ + + + + + + + interface/fonts.dm - byond + + +
+ byond - + Modules - + Types +
+
+

interface/fonts.dm + +

+ + +
/datum/fontA font datum, it exists to define a custom font to use in a span style later.
+ + + diff --git a/interface/license.html b/interface/license.html new file mode 100644 index 000000000000..01524f5fd859 --- /dev/null +++ b/interface/license.html @@ -0,0 +1,29 @@ + + + + + + + interface/license.txt - byond + + +
+ byond - + Modules - + Types +
+
+

interface/license.txt + +

+ + +
VCR OSD Mono created by Riciery Leal/mrmanet. Website indicates 100% free, author confirms it's free for all to use.
+(https://www.dafont.com/font-comment.php?file=vcr_osd_mono)
+
+ + + diff --git a/maps/Nightmare/doc/Design.html b/maps/Nightmare/doc/Design.html new file mode 100644 index 000000000000..d9cfaffd27bf --- /dev/null +++ b/maps/Nightmare/doc/Design.html @@ -0,0 +1,43 @@ + + + + + + + maps/Nightmare/doc/Design.md - byond + + +
+ byond - + Modules - + Types +
+
+

CM-SS13 Nightmare Design Notes + +

+ + +

The Nightmare system is intended to be a replacement for legacy "Nightmare Creator". Its primary function is to change the game map, but is being expanded to encompass more dynamic round variations.

+

Lifecycle

+

Nightmare is resovled in three phases:

+
    +
  • The Scenario is resolved at game init
  • +
  • The Main Configuration is resolved at game start
  • +
  • The resulting Tasks to effect the game are then executed
  • +
+

The Scenario

+

By design, the scenario is initialized at game init to leave game staff the possibility to adjust it before game start. +This makes it possible to override or tweak what Nightmare will do, for example for event running purposes.

+

In addition, the Scenario is meant to provide a guard against overcomplex usage: the creator is expected to first use the scenario step to define pivotal elements (eg. LV-624 fog gap location), then act upon them with simplified logic.

+

This means the scenario can only define logical flow, and the main configuration can only use it.

+

Fencing such usage prevents logical loops or procedural logic to keep things as simple as possible

+

Contexts and Scoping

+

Because Nightmare's primary usage is to affect the game maps, each map is handled individually through a nmcontext. Each context contains relevant information to resolve configured steps. This allows to take action upon loading everything on a map, or to have operations scoped to a Z-Level, etc...

+

In addition to the contexts for ground and ship map, we also have a "global" context. It is meant for any dynamic actions that do not concern the maps directly : for example changing jobs, game mode, etc.

+ + + diff --git a/maps/Nightmare/doc/Quickstart.html b/maps/Nightmare/doc/Quickstart.html new file mode 100644 index 000000000000..0484b9d2d4eb --- /dev/null +++ b/maps/Nightmare/doc/Quickstart.html @@ -0,0 +1,59 @@ + + + + + + + maps/Nightmare/doc/Quickstart.md - byond + + +
+ byond - + Modules - + Types +
+
+

CM-SS13 Nightmare: Quick Start + +

+ + +

Nightmare is a system used to introduce round variations. No two rounds should be same, beyond simply changing people and map. Unknowns and changes maintain the game fresh. This is primarily done by dynamically changing the game map.

+

The Scenario

+

The Scenario is a set of parameters that direct what Nightmare will do - for example, LV-624 fog gap location. On startup, the game will automatically generate a Scenario, which can then be edited by Admins while in the Lobby to fine-tune or for event running purposes.

+

Configuration

+

Nightmare works via configuration files. Each map is setup with a folder containing them, for example maps/Nightmare/maps/LV624/. The two main files are scenario.json which is used to generate the scenario, and nightmare.json which describes the actual game setup.

+

Format

+

Configuration contains a list of "nodes", JSON objects that describe an action to perform. The type defines what to do, chanceis probability of doing it, when adds conditions to do it. Different types of nodes will also take extra arguments to work (for example, a map_insert needs a path to the map inserted)

+

Adding map insertions

+

The primary purpose of Nightmare is to change the round by "inserting" maps, which is replacing chunks of the game map by different ones. This can be done by adding to the nightmare files.

+

Map Landmarks

+

To know where to insert map files, we use a landmark object. This means placing /obj/effect/landmark/nightmare on the main map to mark the location, with an insert_tag to identify them.

+

Example 1: Map Sprinkles

+

The map_sprinkle node is usually already configured on maps, with a folder such as maps/Nightmare/maps/BigRed/sprinkles. It allows to randomly insert standalone map changes, by directly using map files.

+

Each file will randomly be inserted depending on its name: 40.viro_open.dmm for example has 40% chance to be included at viro_open landmark. You can drop in extra files to take advantage of this.

+

Example 2: Map Variations

+

map_variations work similarly, but only pick one file in the folder at random. For example, if you have three files:

+
    +
  • armory/10.cheese.dmm
  • +
  • armory/10.extra.dmm
  • +
  • armory/20.looted.dmm +One of the map files will be inserted at armory at random, weighted by the number in their name.
  • +
+

Example 3: Custom inserts

+

Sometimes you might want to do more complicated things, in which case you can edit the configuration files. +Exact usage goes beyond this quick start guide, but to take an example:

+
{
+  "type": "map_insert",                          # Insert a map
+  "landmark": "lv-rightsidepass",                # at lv-rightsidepass
+  "chance": 0.7,                                 # with 70% chance
+  "path": "standalone/rightsidepass.dmm",        # from file standalone/rightsidepass.dmm
+  "when": { "mainpath": "right" }                # when "mainpath" is "right"
+},
+
+ + + diff --git a/maps/Nightmare/doc/Tech.html b/maps/Nightmare/doc/Tech.html new file mode 100644 index 000000000000..7f820e9f9633 --- /dev/null +++ b/maps/Nightmare/doc/Tech.html @@ -0,0 +1,53 @@ + + + + + + + maps/Nightmare/doc/Tech.md - byond + + +
+ byond - + Modules - + Types +
+
+

CM-SS13 Nightmare Tech Notes + +

+ + +

The Nightmare system was designed with flexibility in mind, but quickly became somewhat complicated due to a certain amount of technical issues with the concept and game tech stack.

+

Overview

+

The Nightmare system is comprised of several components:

+
    +
  • /datum/nmnode describe entries in the configuration
  • +
  • /datum/nmcontext describe a context used for resolving nodes and tasks
  • +
  • /datum/nmtask describe tasks to act upon the rest of the game
  • +
  • SSnightmare handles parsing configuration JSON files, init, and startup
  • +
+

Organisation

+

To keep things as simple as possible in usage, each component is fenced to its specific usage:

+
    +
  • a nmnode is instanciated with only its own JSON info
  • +
  • a nmnode is resolved in a nmcontext and should have no outside effects
  • +
  • a nmnode from scenario may only affect the nmcontext scenario
  • +
  • a nmnode from runtime config may only affect the nmcontext tasks
  • +
  • a nmtaskmust be synchronous and independant from context and nodes
  • +
+

The scheduling problem

+

Nightmare occupies a weird blind spot in CM and /tg/ tooling because it performs tasks that would typically pertain to game and Master Controller initialization (notably map loading), but does so further in during lobby / game setup time to allow edition.

+

After resolving all nmnodes, nmcontexts contain a list of tasks to be executed. These tasks may be long-running and include map loading, which sleeps to keep game running. We however, need to be able to know when they end. This brings very few practical solutions :

+

Method 1: Mandatory Synchronicity

+

This is the chosen method as of current. Basically, we assume that every task is executed sychronously and will be done by the time the call returns. This mean that any sleeping within the task will also sleep the caller thread. This does not allow for parallelism / juggling tasks. It also requires a global lock to monitor completion: in current implementation, this is done via SSnightmare.stat monitored by SSticker loop.

+

Method 2: Supervised tasks

+

This works similarly to above, but tasks can now run asynchronously. This means having a detachable invoke wrapper, to both know when the task sleeps, and when it hands. The result is picked up by either a callback or a waiting loop. Unfortunately, callback stacking deepens call stack much like a loop, and any task failing to properly return will cause everything to stop.

+

Method 3: Cooperative scheduling

+

The most complicated to implement is to use cooperative scheduling. We use a subsystem like SSnightmare to provide a ticker. Then every task must return to it without sleeping, with a status code: ok, error, continue execution, pause execution. Sleep can be handled by wrappers described above, or through the ticker loop checking for return. It provides many inconvenients of method 2, but a fine grained control over execution. The biggest drawback is that this is essentially making a mini-MC with tasks instead of subsystems...

+ + + diff --git a/mob.html b/mob.html new file mode 100644 index 000000000000..d72fbba50a4f --- /dev/null +++ b/mob.html @@ -0,0 +1,383 @@ + + + + + + + /mob - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/mob + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_thinking_indicatorthe icon currently used for the thinking indicator's bubble
active_typing_indicatorthe icon currently used for the typing indicator's bubble
blindedbool that tracks if blind
client_color_matricesColor matrices to be applied to the client window. Assoc. list.
emotes_usedUsed for tracking last uses of emotes for cooldown purposes
eye_blindtimer for blinding
eye_blurryDoes the mob have blurry sight
fire_delay_next_fireAn assoc list where the keys are fire delay group string defines +and the keys are when the guns of the group can be fired again
listed_turfthe current turf being examined in the stat panel
luminosity_sourcesList of active luminosity sources for handling of light stacking
mob_language_menuthe mob's tgui player panel
mob_panelthe mob's tgui player panel
next_click1 decisecond click delay (above and beyond mob/next_move)
persistent_ckeya ckey that persists client logout / ghosting, replaced when a client inhabits the mob
sound_environment_overrideOverride for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)
tgui_open_uisglobal
thinking_ICUser is thinking in character. Used to revert to thinking state after stop_typing
throw_bufferholds the buffer to allow for throwing two things before the cooldown effects throwing, reference /mob/proc/do_click()
throw_delayHolds the time when a mob can throw an item next, only applies after two throws, reference /mob/proc/do_click()

Procs

Process_SpacemoveProcess_Spacemove +Called by /client/Move() +For moving in space +Return 1 for movement 0 for none
add_client_color_matrixAdds a color matrix and updates the client. Priority is the order the matrices are applied, lowest first. Will replace an existing matrix of the same name, if one exists.
add_to_all_mob_hudsMOB PROCS //////////////////////////////:
change_client_color_matrix_priorityChanges a matrix package's priority and updates client.
check_improved_pointingIs this mob important enough to point with big arrows?
clear_client_color_matricesRemoves all matrices and updates client.
create_thinking_indicatorCreates a thinking indicator over the mob.
create_typing_indicatorCreates a typing indicator over the mob.
examinateExamine a mob
freezeSets freeze if possible and wasn't already set, returning success
get_client_color_matrixReturns the matrix of that name, if it exists.
get_status_tab_itemsAdds this list to the output to the stat browser
manual_emoteAllows the intrepid coder to send a basic emote +Takes text as input, sends it out to those who need to know after some light parsing +If you need something more complex, make it into a datum emote +Arguments:
play_screen_textproc for playing a screen_text on a mob. +enqueues it if a screen text is running and plays i otherwise +Arguments:
remove_all_indicatorsRemoves any indicators and marks the mob as not speaking IC.
remove_client_color_matrixCan take either a single name or a list of several. Attempts to remove target matrix packages and update client.
remove_thinking_indicatorRemoves the thinking indicator over the mob.
remove_typing_indicatorRemoves the typing indicator over the mob.
shared_ui_interactionpublic
sync_lighting_plane_alphaSet the lighting plane hud alpha to the mobs lighting_alpha var
timed_typingSets typing indicator for a couple seconds, for use with client-side comm verbs
timed_typing_clearClears timed typing indicators
unfreezeAttempts to unfreeze mob, returning success
update_Login_detailsHandles setting lastKnownIP and computer_id for use by the ban systems
update_client_color_matricesCombines all color matrices and applies them to the client. +Also used on login to give a client its new body's color matrices. +Responsible for sorting the matrices. +Transition is animated but instant by default.
update_eye_blurApply the blurry overlays to a mobs clients screen
+

Var Details

active_thinking_indicator + + + + +

+

the icon currently used for the thinking indicator's bubble

active_typing_indicator + + + + +

+

the icon currently used for the typing indicator's bubble

blinded + + + + +

+

bool that tracks if blind

client_color_matrices + + + + +

+

Color matrices to be applied to the client window. Assoc. list.

emotes_used + + + + +

+

Used for tracking last uses of emotes for cooldown purposes

eye_blind + + + + +

+

timer for blinding

eye_blurry + + + + +

+

Does the mob have blurry sight

fire_delay_next_fire + + + + +

+

An assoc list where the keys are fire delay group string defines +and the keys are when the guns of the group can be fired again

listed_turf + + + + +

+

the current turf being examined in the stat panel

luminosity_sources + + + + +

+

List of active luminosity sources for handling of light stacking

mob_language_menu + + + + +

+

the mob's tgui player panel

mob_panel + + + + +

+

the mob's tgui player panel

next_click + + + + +

+

1 decisecond click delay (above and beyond mob/next_move)

persistent_ckey + + + + +

+

a ckey that persists client logout / ghosting, replaced when a client inhabits the mob

sound_environment_override + + + + +

+

Override for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)

tgui_open_uis + + + + +

+

global

+

Tracks open UIs for a user.

thinking_IC + + + + +

+

User is thinking in character. Used to revert to thinking state after stop_typing

throw_buffer + + + + +

+

holds the buffer to allow for throwing two things before the cooldown effects throwing, reference /mob/proc/do_click()

throw_delay + + + + +

+

Holds the time when a mob can throw an item next, only applies after two throws, reference /mob/proc/do_click()

Proc Details

Process_Spacemove +

+

Process_Spacemove +Called by /client/Move() +For moving in space +Return 1 for movement 0 for none

add_client_color_matrix +

+

Adds a color matrix and updates the client. Priority is the order the matrices are applied, lowest first. Will replace an existing matrix of the same name, if one exists.

add_to_all_mob_huds +

+

MOB PROCS //////////////////////////////:

change_client_color_matrix_priority +

+

Changes a matrix package's priority and updates client.

check_improved_pointing +

+

Is this mob important enough to point with big arrows?

clear_client_color_matrices +

+

Removes all matrices and updates client.

create_thinking_indicator +

+

Creates a thinking indicator over the mob.

create_typing_indicator +

+

Creates a typing indicator over the mob.

examinate +

+

Examine a mob

+

mob verbs are faster than object verbs. See +this byond forum post +for why this isn't atom/verb/examine()

freeze +

+

Sets freeze if possible and wasn't already set, returning success

get_client_color_matrix +

+

Returns the matrix of that name, if it exists.

get_status_tab_items +

+

Adds this list to the output to the stat browser

manual_emote +

+

Allows the intrepid coder to send a basic emote +Takes text as input, sends it out to those who need to know after some light parsing +If you need something more complex, make it into a datum emote +Arguments:

+
    +
  • text - The text to send out
  • +
+

Returns TRUE if it was able to run the emote, FALSE otherwise.

play_screen_text +

+

proc for playing a screen_text on a mob. +enqueues it if a screen text is running and plays i otherwise +Arguments:

+
    +
  • text: text we want to be displayed
  • +
  • alert_type: typepath for screen text type we want to play here
  • +
  • override_color: the color of the text to use
  • +

remove_all_indicators +

+

Removes any indicators and marks the mob as not speaking IC.

remove_client_color_matrix +

+

Can take either a single name or a list of several. Attempts to remove target matrix packages and update client.

remove_thinking_indicator +

+

Removes the thinking indicator over the mob.

remove_typing_indicator +

+

Removes the typing indicator over the mob.

shared_ui_interaction +

+

public

+

Standard interaction/sanity checks. Different mob types may have overrides.

+

return UI_state The state of the UI.

sync_lighting_plane_alpha +

+

Set the lighting plane hud alpha to the mobs lighting_alpha var

timed_typing +

+

Sets typing indicator for a couple seconds, for use with client-side comm verbs

timed_typing_clear +

+

Clears timed typing indicators

unfreeze +

+

Attempts to unfreeze mob, returning success

update_Login_details +

+

Handles setting lastKnownIP and computer_id for use by the ban systems

update_client_color_matrices +

+

Combines all color matrices and applies them to the client. +Also used on login to give a client its new body's color matrices. +Responsible for sorting the matrices. +Transition is animated but instant by default.

update_eye_blur +

+

Apply the blurry overlays to a mobs clients screen

+ + + diff --git a/mob/camera/imaginary_friend.html b/mob/camera/imaginary_friend.html new file mode 100644 index 000000000000..783951fd0a60 --- /dev/null +++ b/mob/camera/imaginary_friend.html @@ -0,0 +1,70 @@ + + + + + + + /mob/camera/imaginary_friend - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

imaginary friend + + + +

+ + + + + + + +

Procs

deactivatelogs the imaginary friend's removal, ghosts them and cleans up the friend
friend_talkshows langchat and speech text to the owner and friend, and sends speech text to dchat
get_xeno_appearancegets a directional icon for the xeno appearance
recallreturns the friend to the owner
setup_friendgives the friend the correct name, gender and sets up their appearance
showmakes the friend update their icon and appear to themselves and, if not hidden, the owner

Proc Details

deactivate +

+

logs the imaginary friend's removal, ghosts them and cleans up the friend

friend_talk +

+

shows langchat and speech text to the owner and friend, and sends speech text to dchat

get_xeno_appearance +

+

gets a directional icon for the xeno appearance

recall +

+

returns the friend to the owner

setup_friend +

+

gives the friend the correct name, gender and sets up their appearance

show +

+

makes the friend update their icon and appear to themselves and, if not hidden, the owner

+ + + diff --git a/mob/dead/observer.html b/mob/dead/observer.html new file mode 100644 index 000000000000..fdd5626442db --- /dev/null +++ b/mob/dead/observer.html @@ -0,0 +1,49 @@ + + + + + + + /mob/dead/observer - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

ghost + + + +

+ + + + +

Procs

do_observemakes the ghost see the target hud and sets the eye at the target.
format_jumpFormat text and links to JuMP/FoLloW something
toggle_predator_actionThis proc is called when a predator round is toggled by the admin verb, as well as when a ghost logs in

Proc Details

do_observe +

+

makes the ghost see the target hud and sets the eye at the target.

format_jump +

+

Format text and links to JuMP/FoLloW something

toggle_predator_action +

+

This proc is called when a predator round is toggled by the admin verb, as well as when a ghost logs in

+ + + diff --git a/mob/living.html b/mob/living.html new file mode 100644 index 000000000000..398e1498fecb --- /dev/null +++ b/mob/living.html @@ -0,0 +1,139 @@ + + + + + + + /mob/living - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/mob/living + + + +

+ + + + + + + + + + + + + + + + +

Vars

active_surgeriesAssoc. list - the operations being performed, by aim zone. Both boolean and link to that surgery.
blood_volumeHow much blood the mob has
bubble_iconwhat icon the mob uses for speechbubbles
custom_slashed_soundCustom sound if the mob gets slashed by a xenomorph
dead_black_market_valueThis is what the value is changed to when the mob dies. Actual BMV definition in atom/movable.
incision_depthsAssoc. list - incision depths, by aim zone. Set by initialize_incision_depths().
limit_bloodHow much blood the mob can have
max_bloodHow much blood the mob should ideally have

Procs

add_splatter_flooradd_splatter_floor
create_thinking_indicatorOverrides for overlay creation
health_scanfor checking if limbs are robot limbs +legacy proc for to_chat messages on health analysers
resist_buckleThe medical machines below are listed separately to allow easier changes to each process
shared_living_ui_distancepublic
show_speech_bubbleShows custom speech bubbles for screaming, *warcry etc.
splat'Splats' src, killing them. Mouses override this proc with their own unique splat.
+

Var Details

active_surgeries + + + + +

+

Assoc. list - the operations being performed, by aim zone. Both boolean and link to that surgery.

blood_volume + + + + +

+

How much blood the mob has

bubble_icon + + + + +

+

what icon the mob uses for speechbubbles

custom_slashed_sound + + + + +

+

Custom sound if the mob gets slashed by a xenomorph

dead_black_market_value + + + + +

+

This is what the value is changed to when the mob dies. Actual BMV definition in atom/movable.

incision_depths + + + + +

+

Assoc. list - incision depths, by aim zone. Set by initialize_incision_depths().

limit_blood + + + + +

+

How much blood the mob can have

max_blood + + + + +

+

How much blood the mob should ideally have

Proc Details

add_splatter_floor +

+

add_splatter_floor

create_thinking_indicator +

+

Overrides for overlay creation

health_scan +

+

for checking if limbs are robot limbs +legacy proc for to_chat messages on health analysers

resist_buckle +

+

The medical machines below are listed separately to allow easier changes to each process

shared_living_ui_distance +

+

public

+

Distance versus interaction check.

+

required src_object atom/movable The object which owns the UI.

+

return UI_state The state of the UI.

show_speech_bubble +

+

Shows custom speech bubbles for screaming, *warcry etc.

splat +

+

'Splats' src, killing them. Mouses override this proc with their own unique splat.

+ + + diff --git a/mob/living/carbon.html b/mob/living/carbon.html new file mode 100644 index 000000000000..7aae82bf19f6 --- /dev/null +++ b/mob/living/carbon.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/carbon - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/mob/living/carbon + + + +

+ + + +

Vars

active_transfusionslist of active transfusions from blood bags or iv stands

Procs

get_sharp_obj_blockerChecks if something prevents sharp objects from interacting with the mob (such as armor blocking surgical tools / surgery)
+

Var Details

active_transfusions + + + + +

+

list of active transfusions from blood bags or iv stands

Proc Details

get_sharp_obj_blocker +

+

Checks if something prevents sharp objects from interacting with the mob (such as armor blocking surgical tools / surgery)

+ + + diff --git a/mob/living/carbon/human.html b/mob/living/carbon/human.html new file mode 100644 index 000000000000..5fe411f68eb2 --- /dev/null +++ b/mob/living/carbon/human.html @@ -0,0 +1,119 @@ + + + + + + + /mob/living/carbon/human - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/mob/living/carbon/human + + + +

+ + + + + + + + + + + + + +

Vars

bloody_footstepsThe number of bloody foot steps left to make
criminalused to determine if precise taser will shoot. Security code is so convoluted it's the easiest way, sorry.
embedded_itemsA list of all the shrapnel currently embedded in the human
grad_styleStyle used for the hair gradient.
remembered_dropped_objectslist of weakrefs of recently dropped objects
traitsThe list of traits a human has +Store as typepaths

Procs

attack_animalReduces effects by armor value.
check_status_effectsPain should override the SetEyeBlur(0) should the pain be painful enough to cause eyeblur in the first place. Also, peepers is essential to make sure eye damage isn't overriden.
force_sayMakes the player force say what's in their current input box.
get_eye_protectionget_eye_protection() +Returns a number between -1 to 2
handle_hugger_attachmentHuman hugger handling
update_headshot_overlayHandles headshot images. These render above hair and below hats/helmets. Must be given a headshot_state or it just removes the overlay. +Applied by gun suicide and high impact bullet executions, removed by rejuvenate, since such people are otherwise unrevivable.
+

Var Details

bloody_footsteps + + + + +

+

The number of bloody foot steps left to make

criminal + + + + +

+

used to determine if precise taser will shoot. Security code is so convoluted it's the easiest way, sorry.

embedded_items + + + + +

+

A list of all the shrapnel currently embedded in the human

grad_style + + + + +

+

Style used for the hair gradient.

remembered_dropped_objects + + + + +

+

list of weakrefs of recently dropped objects

traits + + + + +

+

The list of traits a human has +Store as typepaths

Proc Details

attack_animal +

+

Reduces effects by armor value.

check_status_effects +

+

Pain should override the SetEyeBlur(0) should the pain be painful enough to cause eyeblur in the first place. Also, peepers is essential to make sure eye damage isn't overriden.

force_say +

+

Makes the player force say what's in their current input box.

get_eye_protection +

+

get_eye_protection() +Returns a number between -1 to 2

handle_hugger_attachment +

+

Human hugger handling

update_headshot_overlay +

+

Handles headshot images. These render above hair and below hats/helmets. Must be given a headshot_state or it just removes the overlay. +Applied by gun suicide and high impact bullet executions, removed by rejuvenate, since such people are otherwise unrevivable.

+ + + diff --git a/mob/living/carbon/xenomorph.html b/mob/living/carbon/xenomorph.html new file mode 100644 index 000000000000..1fd8d165ded2 --- /dev/null +++ b/mob/living/carbon/xenomorph.html @@ -0,0 +1,96 @@ + + + + + + + /mob/living/carbon/xenomorph - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Drone + + + +

+ + + + + + + + + + +

Vars

acid_blood_damageThe damage dealt by a xeno whenever they take damage near someone
base_actionsList of actions (typepaths) that a +xenomorph type is given upon spawn
nameALL OLD SS13 VARS
spit_delayCaste-based spit windup duration (if applicable)
spit_windupCaste-based spit windup
tracked_markerthis is the resin mark that is currently being tracked by the xeno

Procs

can_not_harmReturns true/false based on if the xenomorph can harm the passed carbon mob.
get_eye_protectionget_eye_protection() +Returns a number between -1 to 2
hive_statusHolds Xeno verbs that don't belong anywhere else.
+

Var Details

acid_blood_damage + + + + +

+

The damage dealt by a xeno whenever they take damage near someone

base_actions + + + + +

+

List of actions (typepaths) that a +xenomorph type is given upon spawn

name + + + + +

+

ALL OLD SS13 VARS

spit_delay + + + + +

+

Caste-based spit windup duration (if applicable)

spit_windup + + + + +

+

Caste-based spit windup

tracked_marker + + + + +

+

this is the resin mark that is currently being tracked by the xeno

Proc Details

can_not_harm +

+

Returns true/false based on if the xenomorph can harm the passed carbon mob.

get_eye_protection +

+

get_eye_protection() +Returns a number between -1 to 2

hive_status +

+

Holds Xeno verbs that don't belong anywhere else.

+ + + diff --git a/mob/living/carbon/xenomorph/facehugger.html b/mob/living/carbon/xenomorph/facehugger.html new file mode 100644 index 000000000000..bb7b88b403dd --- /dev/null +++ b/mob/living/carbon/xenomorph/facehugger.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/carbon/xenomorph/facehugger - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Facehugger + + + +

+ + + +

Vars

next_facehug_goalHow many hugs the hugger needs to age
total_facehugsThe lifetime hugs from this hugger
+

Var Details

next_facehug_goal + + + + +

+

How many hugs the hugger needs to age

total_facehugs + + + + +

+

The lifetime hugs from this hugger

+ + + diff --git a/mob/living/carbon/xenomorph/hivelord.html b/mob/living/carbon/xenomorph/hivelord.html new file mode 100644 index 000000000000..aa420460bd90 --- /dev/null +++ b/mob/living/carbon/xenomorph/hivelord.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/carbon/xenomorph/hivelord - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Hivelord + + + +

+ + +

Procs

on_weedsThis check mainly exists because of the new resin node ability for resin whisperer.

Proc Details

on_weeds +

+

This check mainly exists because of the new resin node ability for resin whisperer.

+ + + diff --git a/mob/living/silicon.html b/mob/living/silicon.html new file mode 100644 index 000000000000..b8f7da179a96 --- /dev/null +++ b/mob/living/silicon.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/silicon - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/mob/living/silicon + + + +

+ + +

Procs

get_ui_accessReturns a UI status representing this silicon's capability to access +the given source. Called by ui_status_silicon_has_access.

Proc Details

get_ui_access +

+

Returns a UI status representing this silicon's capability to access +the given source. Called by ui_status_silicon_has_access.

+ + + diff --git a/mob/living/simple_animal/cat.html b/mob/living/simple_animal/cat.html new file mode 100644 index 000000000000..e11df2ab9cdf --- /dev/null +++ b/mob/living/simple_animal/cat.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/simple_animal/cat - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

cat + + + +

+ + + + +

Vars

hunting_targetsThe mobs that src will track to hunt and kill.
movement_targetThe target src is moving towards during its hunt.
play_counterThe cat will 'play' with dead hunted targets near it until this counter reaches a certain value.
+

Var Details

hunting_targets + + + + +

+

The mobs that src will track to hunt and kill.

movement_target + + + + +

+

The target src is moving towards during its hunt.

play_counter + + + + +

+

The cat will 'play' with dead hunted targets near it until this counter reaches a certain value.

+ + + diff --git a/mob/proccall_handler.html b/mob/proccall_handler.html new file mode 100644 index 000000000000..05d02e48da87 --- /dev/null +++ b/mob/proccall_handler.html @@ -0,0 +1,44 @@ + + + + + + + /mob/proccall_handler - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

ProcCall Handler + + + +

+ +

Used to handle proccalls called indirectly by an admin (namely tgs). +Has to be a mob because IsAdminAdvancedProcCall() checks usr, which is a mob variable. +So usr is set to this for any proccalls that don't have any usr mob/client to refer to.

+ +

Procs

add_callerAdds a caller.
remove_callerRemoves a caller.

Proc Details

add_caller +

+

Adds a caller.

remove_caller +

+

Removes a caller.

+ + + diff --git a/obj.html b/obj.html new file mode 100644 index 000000000000..4269c8fabbfc --- /dev/null +++ b/obj.html @@ -0,0 +1,108 @@ + + + + + + + /obj - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/obj + + + +

+ + + + + + + + + + + + +

Vars

garbageset to true if the item is garbage and should be deleted after awhile
in_useIf we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!
indestructibledetermines whether or not the object can be destroyed by an explosion
matterUsed to store information about the contents of the object.
projectile_coveragean object's "projectile_coverage" var indicates the maximum probability of blocking a projectile, assuming density and throwpass. Used by barricades, tables and window frames
reliabilityUsed by SOME devices to determine how reliable they are.
renamedByPlayerset when a player uses a pen on a renamable object
surgery_duration_multiplierApplied to surgery times for mobs buckled prone to it or lying on the same tile, if the surgery +cares about surface conditions. The lowest multiplier of objects on the tile is used.
unacidableuniversal "unacidabliness" var, here so you can use it in any obj.

Procs

get_applying_acid_timereturns time or -1 if unmeltable
post_vendor_spawn_hookoverride for subtypes that require extra behaviour when spawned from a vendor
+

Var Details

garbage + + + + +

+

set to true if the item is garbage and should be deleted after awhile

in_use + + + + +

+

If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!

indestructible + + + + +

+

determines whether or not the object can be destroyed by an explosion

matter + + + + +

+

Used to store information about the contents of the object.

projectile_coverage + + + + +

+

an object's "projectile_coverage" var indicates the maximum probability of blocking a projectile, assuming density and throwpass. Used by barricades, tables and window frames

reliability + + + + +

+

Used by SOME devices to determine how reliable they are.

renamedByPlayer + + + + +

+

set when a player uses a pen on a renamable object

surgery_duration_multiplier + + + + +

+

Applied to surgery times for mobs buckled prone to it or lying on the same tile, if the surgery +cares about surface conditions. The lowest multiplier of objects on the tile is used.

unacidable + + + + +

+

universal "unacidabliness" var, here so you can use it in any obj.

Proc Details

get_applying_acid_time +

+

returns time or -1 if unmeltable

post_vendor_spawn_hook +

+

override for subtypes that require extra behaviour when spawned from a vendor

+ + + diff --git a/obj/docking_port.html b/obj/docking_port.html new file mode 100644 index 000000000000..466b418f74f5 --- /dev/null +++ b/obj/docking_port.html @@ -0,0 +1,133 @@ + + + + + + + /obj/docking_port - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/obj/docking_port + + + +

+ + + + + + + + + + + + + + + +

Vars

delete_afterDelete this port after ship fly off.
dheightposition relative to covered area, parallel to dir
dirthis should point -away- from the dockingport door, ie towards the ship
dwidthposition relative to covered area, perpendicular to dir
heightsize of covered area, parallel to dir
hiddenare we invisible to shuttle navigation computers?
idThe identifier of the port or ship. +This will be used in numerous other places like the console, +stationary ports and whatnot to tell them your ship's mobile +port can be used in these places, or the docking port is compatible, etc.
port_destinationsPossible destinations
registeredare we registered in SSshuttles?
widthsize of covered area, perpendicular to dir

Procs

registerregister to SSshuttles
return_number_of_turfsReturn number of turfs
return_turfsreturns turfs within our projected rectangle in no particular order
unregisterunregister from SSshuttles
+

Var Details

delete_after + + + + +

+

Delete this port after ship fly off.

dheight + + + + +

+

position relative to covered area, parallel to dir

dir + + + + +

+

this should point -away- from the dockingport door, ie towards the ship

dwidth + + + + +

+

position relative to covered area, perpendicular to dir

height + + + + +

+

size of covered area, parallel to dir

hidden + + + + +

+

are we invisible to shuttle navigation computers?

id + + + + +

+

The identifier of the port or ship. +This will be used in numerous other places like the console, +stationary ports and whatnot to tell them your ship's mobile +port can be used in these places, or the docking port is compatible, etc.

port_destinations + + + + +

+

Possible destinations

registered + + + + +

+

are we registered in SSshuttles?

width + + + + +

+

size of covered area, perpendicular to dir

Proc Details

register +

+

register to SSshuttles

return_number_of_turfs +

+

Return number of turfs

return_turfs +

+

returns turfs within our projected rectangle in no particular order

unregister +

+

unregister from SSshuttles

+ + + diff --git a/obj/docking_port/mobile.html b/obj/docking_port/mobile.html new file mode 100644 index 000000000000..8edc2f7409fc --- /dev/null +++ b/obj/docking_port/mobile.html @@ -0,0 +1,77 @@ + + + + + + + /obj/docking_port/mobile - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle + + + +

+ + + + + + + +

Vars

ambience_flightDefault shuttle audio ambience while flying
ambience_idleDefault shuttle audio ambience while not flying

Procs

get_sound_ambienceRequests the proper sound ambience to play in the shuttle based on its state
initiate_dockingThis is the main proc. It instantly moves our mobile port to stationary port new_dock.
preflight_checkBoth lists are associative with a turf:bitflag structure. (new_turfs bitflag space unused currently) +The bitflag contains the data for what inhabitants of that coordinate should be moved to the new location +The bitflags can be found in __DEFINES/shuttles.dm
update_ambienceUpdate the sound ambience of ALL shuttle passengers
+

Var Details

ambience_flight + + + + +

+

Default shuttle audio ambience while flying

ambience_idle + + + + +

+

Default shuttle audio ambience while not flying

Proc Details

get_sound_ambience +

+

Requests the proper sound ambience to play in the shuttle based on its state

initiate_docking +

+

This is the main proc. It instantly moves our mobile port to stationary port new_dock.

preflight_check +

+

Both lists are associative with a turf:bitflag structure. (new_turfs bitflag space unused currently) +The bitflag contains the data for what inhabitants of that coordinate should be moved to the new location +The bitflags can be found in __DEFINES/shuttles.dm

+

Hiding turfs if necessary

+

Unhiding turfs if necessary

update_ambience +

+

Update the sound ambience of ALL shuttle passengers

+ + + diff --git a/obj/docking_port/stationary.html b/obj/docking_port/stationary.html new file mode 100644 index 000000000000..13fda372d59f --- /dev/null +++ b/obj/docking_port/stationary.html @@ -0,0 +1,56 @@ + + + + + + + /obj/docking_port/stationary - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

dock + + + +

+ + + + + +

Procs

on_arrivalCalled when a new shuttle arrives
on_departureCalled when a shuttle is about to complete undocking from this stationary dock (already physically gone)
on_dock_ignitionCalled when the docked shuttle ignites
on_prearrivalCalled when a new shuttle is about to arrive

Proc Details

on_arrival +

+

Called when a new shuttle arrives

on_departure +

+

Called when a shuttle is about to complete undocking from this stationary dock (already physically gone)

on_dock_ignition +

+

Called when the docked shuttle ignites

on_prearrival +

+

Called when a new shuttle is about to arrive

+ + + diff --git a/obj/effect/alien/resin/acid_pillar.html b/obj/effect/alien/resin/acid_pillar.html new file mode 100644 index 000000000000..1dd367188e1c --- /dev/null +++ b/obj/effect/alien/resin/acid_pillar.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/alien/resin/acid_pillar - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

acid pillar + + + +

+ + +

Procs

processIs it a friendly xenomorph that is on fire

Proc Details

process +

+

Is it a friendly xenomorph that is on fire

+ + + diff --git a/obj/effect/attach_point.html b/obj/effect/attach_point.html new file mode 100644 index 000000000000..e9342765e0b4 --- /dev/null +++ b/obj/effect/attach_point.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/attach_point - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

equipment attach point + + + +

+ +

The bases onto which you attach dropship equipments.

+ + + + + + +

Vars

attach_idStatic numbered identifier for singular attach points
base_categoryWhat kind of equipment this base accepts
installed_equipmentThe currently installed equipment, if any
longRelative position alongside longitudinal axis
ship_tagIdentifier used to refer to the dropship it belongs to
transverseRelative position of the attach_point alongside dropship transverse

Procs

install_equipmentCalled when a real user with a powerloader attempts to install an equipment on the attach point
+

Var Details

attach_id + + + + +

+

Static numbered identifier for singular attach points

base_category + + + + +

+

What kind of equipment this base accepts

installed_equipment + + + + +

+

The currently installed equipment, if any

long + + + + +

+

Relative position alongside longitudinal axis

ship_tag + + + + +

+

Identifier used to refer to the dropship it belongs to

transverse + + + + +

+

Relative position of the attach_point alongside dropship transverse

Proc Details

install_equipment +

+

Called when a real user with a powerloader attempts to install an equipment on the attach point

+ + + diff --git a/obj/effect/attach_point/weapon.html b/obj/effect/attach_point/weapon.html new file mode 100644 index 000000000000..8e1f9c535193 --- /dev/null +++ b/obj/effect/attach_point/weapon.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/attach_point/weapon - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

weapon system attach point + + + +

+ +

Weapon specific attachment point

+

Procs

get_offsetsGet base allowed offsets for the attach point

Proc Details

get_offsets +

+

Get base allowed offsets for the attach point

+ + + diff --git a/obj/effect/decal/cleanable.html b/obj/effect/decal/cleanable.html new file mode 100644 index 000000000000..3417c0dfd31e --- /dev/null +++ b/obj/effect/decal/cleanable.html @@ -0,0 +1,61 @@ + + + + + + + /obj/effect/decal/cleanable - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/effect/decal/cleanable + + + +

+ + + + + +

Vars

cleanable_turfThe turf that the cleanable is on, +whether overlayed or physically on top of
cleaned_upWhether this cleanable has had its overlays and +refs on turfs cleaned up
overlayed_imageA reference to the image overlayed on a turf
targeted_byUsed so cleanbots can't claim a mess.
+

Var Details

cleanable_turf + + + + +

+

The turf that the cleanable is on, +whether overlayed or physically on top of

cleaned_up + + + + +

+

Whether this cleanable has had its overlays and +refs on turfs cleaned up

overlayed_image + + + + +

+

A reference to the image overlayed on a turf

targeted_by + + + + +

+

Used so cleanbots can't claim a mess.

+ + + diff --git a/obj/effect/explosion.html b/obj/effect/explosion.html new file mode 100644 index 000000000000..2b918b210b73 --- /dev/null +++ b/obj/effect/explosion.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/explosion - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/effect/explosion + + + +

+ + + +

Vars

reflected_powerused to amplify explosions in confined areas
reflection_amplification_limit1 = 100% increase
+

Var Details

reflected_power + + + + +

+

used to amplify explosions in confined areas

reflection_amplification_limit + + + + +

+

1 = 100% increase

+ + + diff --git a/obj/effect/landmark/structure_spawner.html b/obj/effect/landmark/structure_spawner.html new file mode 100644 index 000000000000..58794662e3fb --- /dev/null +++ b/obj/effect/landmark/structure_spawner.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/landmark/structure_spawner - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

structure spawner + + + +

+ +

Structure spawner, representing something that can be spawned by gameplay logic during round or at setup

+ + + + + + +

Vars

is_turfTruthy if a turf to use turf placement operations
mode_flagsOne of required gamemode flags for this to apply
path_to_spawnTypepath to effectively instanciate

Procs

applyActually spawn this if applicable
get_spawn_locationReturn effective location to spawn at
post_setupPost-Setup hook, mainly to delete unused landmarks. By default delete all non-applicable ones
validateCheck validity of spawning this
+

Var Details

is_turf + + + + +

+

Truthy if a turf to use turf placement operations

mode_flags + + + + +

+

One of required gamemode flags for this to apply

path_to_spawn + + + + +

+

Typepath to effectively instanciate

Proc Details

apply +

+

Actually spawn this if applicable

get_spawn_location +

+

Return effective location to spawn at

post_setup +

+

Post-Setup hook, mainly to delete unused landmarks. By default delete all non-applicable ones

validate +

+

Check validity of spawning this

+ + + diff --git a/obj/effect/particle_effect/smoke/xeno_weak.html b/obj/effect/particle_effect/smoke/xeno_weak.html new file mode 100644 index 000000000000..16204944eaeb --- /dev/null +++ b/obj/effect/particle_effect/smoke/xeno_weak.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/particle_effect/smoke/xeno_weak - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/effect/particle_effect/smoke/xeno_weak + + + +

+ + +

Vars

neuro_doseHow much neuro is dosed per tick
+

Var Details

neuro_dose + + + + +

+

How much neuro is dosed per tick

+ + + diff --git a/obj/effect/step_trigger/ares_alert.html b/obj/effect/step_trigger/ares_alert.html new file mode 100644 index 000000000000..140d75f93611 --- /dev/null +++ b/obj/effect/step_trigger/ares_alert.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/step_trigger/ares_alert - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

ARES Apollo Sensor + + + +

+ + + + + + + + +

Vars

alert_idConnect alerts to use same cooldowns
alert_messageAlert message to report unless area based.
area_basedSet to true if it should report area name and not specific alert.
cooldown_durationCooldown duration and next time.
linkLink alerts to ARES Link
pass_accessesThe accesses on an ID card to enter
pass_jobsThe job on a mob to enter
+

Var Details

alert_id + + + + +

+

Connect alerts to use same cooldowns

alert_message + + + + +

+

Alert message to report unless area based.

area_based + + + + +

+

Set to true if it should report area name and not specific alert.

cooldown_duration + + + + +

+

Cooldown duration and next time.

+

Link alerts to ARES Link

pass_accesses + + + + +

+

The accesses on an ID card to enter

pass_jobs + + + + +

+

The job on a mob to enter

+ + + diff --git a/obj/effect/temp_visual.html b/obj/effect/temp_visual.html new file mode 100644 index 000000000000..a73109482b0e --- /dev/null +++ b/obj/effect/temp_visual.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/temp_visual - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/effect/temp_visual + + + +

+ + + +

Vars

randomdirif true, will pick a random direction when created.
timeridid of the deletion timer
+

Var Details

randomdir + + + + +

+

if true, will pick a random direction when created.

timerid + + + + +

+

id of the deletion timer

+ + + diff --git a/obj/effect/xenomorph/acid.html b/obj/effect/xenomorph/acid.html new file mode 100644 index 000000000000..646322d9d144 --- /dev/null +++ b/obj/effect/xenomorph/acid.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/xenomorph/acid - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

acid + + + +

+ + +

Vars

flare_damageHow much fuel the acid drains from the flare every acid tick
+

Var Details

flare_damage + + + + +

+

How much fuel the acid drains from the flare every acid tick

+ + + diff --git a/obj/flamer_fire.html b/obj/flamer_fire.html new file mode 100644 index 000000000000..2af424013347 --- /dev/null +++ b/obj/flamer_fire.html @@ -0,0 +1,36 @@ + + + + + + + /obj/flamer_fire - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

fire + + + +

+ + +

Vars

initial_burstAfter the fire is created, for 0.5 seconds this variable will be TRUE.
+

Var Details

initial_burst + + + + +

+

After the fire is created, for 0.5 seconds this variable will be TRUE.

+ + + diff --git a/obj/item.html b/obj/item.html new file mode 100644 index 000000000000..6a0d8c07ea6b --- /dev/null +++ b/obj/item.html @@ -0,0 +1,423 @@ + + + + + + + /obj/item - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

item + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

actionslist of /datum/action's that this item has.
actions_typeslist of paths of action datums to give to the item on New().
allowedsuit storage stuff.
appearance_flagstaken from blood.dm
attack_verbUsed in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"
blood_colorcolor of the blood on us if there's any.
blood_overlaythis saves our blood splatter overlay, which will be processed not to go over the edges of the sprite
contained_spriteWhen set to true, every single sprite can be found in the one icon .dmi, rather than being spread into onmobs, inhands, and objects
drop_soundSound to be played when item is dropped
drop_varyWhether the drop sound will vary in pitch/frequency
dropvolVolume of drop sound
edgewhether this item is more likely to dismember
equip_soundsSounds played when this item is equipped
fire_intensity_resistanceUsed for stepping onto flame and seeing how much dmg you take and if you're ignited.
flags_armor_protectionsee setup.dm for appropriate bit flags
flags_cold_protectionflags which determine which body parts are protected from cold. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm
flags_equip_slotThis is used to determine on which slots an item can fit.
flags_heat_protectionflags which determine which body parts are protected from heat. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm
flags_inv_hideThis flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.
flags_inventoryThis flag is used for various clothing/equipment item stuff
flags_itemflags for item stuff that isn't clothing/equipping specific.
gas_transfer_coefficientfor leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets)
has_special_table_placementchecks if the item will be specially placed on the table
heat_sourcewhether this item is a source of heat, and how hot it is (in Kelvin).
hitsoundPlay this when you thwack someone with the item
hud_offsetAdjusts the item's position in the HUD, currently only by guns with stock/barrel attachments.
icon_overrideUsed to override hardcoded ON-MOB clothing dmis in human clothing proc (i.e. not the icon_state sprites).
inhand_x_dimensionAllows for bigger than 32x32 sprites, these govern inhand sprites. (Like a longer sword that's normal-sized on your back)
is_objectivelets us know if the item is an objective or not
item_state_slotsoverrides the default
locked_to_mobIf the item uses flag MOB_LOCK_ON_PICKUP, this is the mob owner reference.
max_heat_protection_temperatureSet this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by flags_heat_protection flags
min_cold_protection_temperatureSet this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by flags_cold_protection flags
permeability_coefficientfor chemicals/diseases
pickup_soundSound to be played when item is picked up
pickup_varyWhether the pickup sound will vary in pitch/frequency
pickupvolVolume of pickup sound
pry_capablewhether this item can be used to pry things open.
sharpwhether this item cuts
siemens_coefficientfor electrical admittance/conductance (electrocution checks and shit)
slowdownHow much clothing is slowing you down. Negative values speeds you up
table_setupchecks if the item is set up in the table or not
time_to_equipset to ticks it takes to equip a worn suit.
time_to_unequipset to ticks it takes to unequip a worn suit.
unequip_soundsSounds played when this item is unequipped
uniform_restrictedNeed to wear this uniform to equip this
vision_impairVision impairing effect if worn on head/mask/glasses.
worn_x_dimensionAllows for bigger than 32x32 sprites.
zoom1 if item is actively being used to zoom. For scoped guns and binoculars.
zoom_initial_mob_dirthe initial dir the mob faces when it zooms in
zoomdevicenamename used for message when binoculars/scope is used

Procs

MouseDropGrab item when its placed on table
dig_out_shrapnel_checkFor digging shrapnel out of OTHER people, not yourself. Triggered by human/attackby() so target is definitely human. User might not be.
is_valid_slotChecks if an item can be put in a slot (string) based on their slot flags (bit flags)
set_to_tableSet the item up on a table. +@param target: table which is being used to host the item.
teardownCalled to reset the state of the item to not be settled on the table.
+

Var Details

actions + + + + +

+

list of /datum/action's that this item has.

actions_types + + + + +

+

list of paths of action datums to give to the item on New().

allowed + + + + +

+

suit storage stuff.

appearance_flags + + + + +

+

taken from blood.dm

attack_verb + + + + +

+

Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"

blood_color + + + + +

+

color of the blood on us if there's any.

blood_overlay + + + + +

+

this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite

contained_sprite + + + + +

+

When set to true, every single sprite can be found in the one icon .dmi, rather than being spread into onmobs, inhands, and objects

drop_sound + + + + +

+

Sound to be played when item is dropped

drop_vary + + + + +

+

Whether the drop sound will vary in pitch/frequency

dropvol + + + + +

+

Volume of drop sound

edge + + + + +

+

whether this item is more likely to dismember

equip_sounds + + + + +

+

Sounds played when this item is equipped

fire_intensity_resistance + + + + +

+

Used for stepping onto flame and seeing how much dmg you take and if you're ignited.

flags_armor_protection + + + + +

+

see setup.dm for appropriate bit flags

flags_cold_protection + + + + +

+

flags which determine which body parts are protected from cold. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm

flags_equip_slot + + + + +

+

This is used to determine on which slots an item can fit.

flags_heat_protection + + + + +

+

flags which determine which body parts are protected from heat. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm

flags_inv_hide + + + + +

+

This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.

flags_inventory + + + + +

+

This flag is used for various clothing/equipment item stuff

flags_item + + + + +

+

flags for item stuff that isn't clothing/equipping specific.

gas_transfer_coefficient + + + + +

+

for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets)

has_special_table_placement + + + + +

+

checks if the item will be specially placed on the table

heat_source + + + + +

+

whether this item is a source of heat, and how hot it is (in Kelvin).

hitsound + + + + +

+

Play this when you thwack someone with the item

hud_offset + + + + +

+

Adjusts the item's position in the HUD, currently only by guns with stock/barrel attachments.

icon_override + + + + +

+

Used to override hardcoded ON-MOB clothing dmis in human clothing proc (i.e. not the icon_state sprites).

inhand_x_dimension + + + + +

+

Allows for bigger than 32x32 sprites, these govern inhand sprites. (Like a longer sword that's normal-sized on your back)

is_objective + + + + +

+

lets us know if the item is an objective or not

item_state_slots + + + + +

+

overrides the default

locked_to_mob + + + + +

+

If the item uses flag MOB_LOCK_ON_PICKUP, this is the mob owner reference.

max_heat_protection_temperature + + + + +

+

Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by flags_heat_protection flags

min_cold_protection_temperature + + + + +

+

Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by flags_cold_protection flags

permeability_coefficient + + + + +

+

for chemicals/diseases

pickup_sound + + + + +

+

Sound to be played when item is picked up

pickup_vary + + + + +

+

Whether the pickup sound will vary in pitch/frequency

pickupvol + + + + +

+

Volume of pickup sound

pry_capable + + + + +

+

whether this item can be used to pry things open.

sharp + + + + +

+

whether this item cuts

siemens_coefficient + + + + +

+

for electrical admittance/conductance (electrocution checks and shit)

slowdown + + + + +

+

How much clothing is slowing you down. Negative values speeds you up

table_setup + + + + +

+

checks if the item is set up in the table or not

time_to_equip + + + + +

+

set to ticks it takes to equip a worn suit.

time_to_unequip + + + + +

+

set to ticks it takes to unequip a worn suit.

unequip_sounds + + + + +

+

Sounds played when this item is unequipped

uniform_restricted + + + + +

+

Need to wear this uniform to equip this

vision_impair + + + + +

+

Vision impairing effect if worn on head/mask/glasses.

worn_x_dimension + + + + +

+

Allows for bigger than 32x32 sprites.

zoom + + + + +

+

1 if item is actively being used to zoom. For scoped guns and binoculars.

zoom_initial_mob_dir + + + + +

+

the initial dir the mob faces when it zooms in

zoomdevicename + + + + +

+

name used for message when binoculars/scope is used

Proc Details

MouseDrop +

+

Grab item when its placed on table

dig_out_shrapnel_check +

+

For digging shrapnel out of OTHER people, not yourself. Triggered by human/attackby() so target is definitely human. User might not be.

is_valid_slot +

+

Checks if an item can be put in a slot (string) based on their slot flags (bit flags)

set_to_table +

+

Set the item up on a table. +@param target: table which is being used to host the item.

teardown +

+

Called to reset the state of the item to not be settled on the table.

+ + + diff --git a/obj/item/alien_embryo.html b/obj/item/alien_embryo.html new file mode 100644 index 000000000000..0fcf33176dc5 --- /dev/null +++ b/obj/item/alien_embryo.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/alien_embryo - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

alien embryo + + + +

+ + +

Vars

hugger_ckeyThe ckey of any player hugger that made this embryo
+

Var Details

hugger_ckey + + + + +

+

The ckey of any player hugger that made this embryo

+ + + diff --git a/obj/item/ammo_magazine.html b/obj/item/ammo_magazine.html new file mode 100644 index 000000000000..4b5df2b7d210 --- /dev/null +++ b/obj/item/ammo_magazine.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/ammo_magazine - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

generic ammo + + + +

+ + + + + +

Vars

ammo_band_colorIf this and ammo_band_icon aren't null, run update_ammo_band(). Is the color of the band, such as green on AP.
ammo_band_iconIf this and ammo_band_color aren't null, run update_ammo_band() Is the greyscale icon used for the ammo band.
ammo_band_icon_emptyIs the greyscale icon used for the ammo band when it's empty of bullets.

Procs

inherent_reloadProc to reload the current_ammo using the items existing inherent ammo, used for Sentry Post
+

Var Details

ammo_band_color + + + + +

+

If this and ammo_band_icon aren't null, run update_ammo_band(). Is the color of the band, such as green on AP.

ammo_band_icon + + + + +

+

If this and ammo_band_color aren't null, run update_ammo_band() Is the greyscale icon used for the ammo band.

ammo_band_icon_empty + + + + +

+

Is the greyscale icon used for the ammo band when it's empty of bullets.

Proc Details

inherent_reload +

+

Proc to reload the current_ammo using the items existing inherent ammo, used for Sentry Post

+ + + diff --git a/obj/item/attachable.html b/obj/item/attachable.html new file mode 100644 index 000000000000..5e103f2eedc7 --- /dev/null +++ b/obj/item/attachable.html @@ -0,0 +1,52 @@ + + + + + + + /obj/item/attachable - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

attachable item + + + +

+ + + + +

Vars

gun_traitsList of traits to be given to the gun itself.
traits_to_giveAn assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) +that will be given to a projectile with the current ammo datum

Procs

unload_attachmentReturns TRUE if its functionality is successfully used, FALSE if gun's own unloading should proceed instead.
+

Var Details

gun_traits + + + + +

+

List of traits to be given to the gun itself.

traits_to_give + + + + +

+

An assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) +that will be given to a projectile with the current ammo datum

Proc Details

unload_attachment +

+

Returns TRUE if its functionality is successfully used, FALSE if gun's own unloading should proceed instead.

+ + + diff --git a/obj/item/attachable/attached_gun.html b/obj/item/attachable/attached_gun.html new file mode 100644 index 000000000000..c957e4eb5cd6 --- /dev/null +++ b/obj/item/attachable/attached_gun.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/attachable/attached_gun - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/item/attachable/attached_gun + + + +

+ + + +

Vars

ammoAmmo to fire the attachment with
traits_to_give_attachedAn assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) +that will be given to the projectiles of the attached gun
+

Var Details

ammo + + + + +

+

Ammo to fire the attachment with

traits_to_give_attached + + + + +

+

An assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) +that will be given to the projectiles of the attached gun

+ + + diff --git a/obj/item/book.html b/obj/item/book.html new file mode 100644 index 000000000000..75ea660960df --- /dev/null +++ b/obj/item/book.html @@ -0,0 +1,87 @@ + + + + + + + /obj/item/book - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

book + + + +

+ +

Check if it has the possibility of being a FANCY present +Checks if it might be one of the ULTRA fancy presents. +Default, just in case

+ + + + + + + +

Vars

authorWho wrote the thing, can be changed by pen or PC. It is not automatically assigned
carvedHas the book been hollowed out for use as a secret storage item?
datActual page content
due_dateGame time in 1/10th seconds
storeWhat's in the book?
titleThe real name of the book.
unique0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified
w_classupped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever)
+

Var Details

author + + + + +

+

Who wrote the thing, can be changed by pen or PC. It is not automatically assigned

carved + + + + +

+

Has the book been hollowed out for use as a secret storage item?

dat + + + + +

+

Actual page content

due_date + + + + +

+

Game time in 1/10th seconds

store + + + + +

+

What's in the book?

title + + + + +

+

The real name of the book.

unique + + + + +

+

0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified

w_class + + + + +

+

upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever)

+ + + diff --git a/obj/item/book/manual.html b/obj/item/book/manual.html new file mode 100644 index 000000000000..140ed3ae92c7 --- /dev/null +++ b/obj/item/book/manual.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/book/manual - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/item/book/manual + + + +

+ + + +

Vars

due_dateGame time in 1/10th seconds
unique0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified
+

Var Details

due_date + + + + +

+

Game time in 1/10th seconds

unique + + + + +

+

0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified

+ + + diff --git a/obj/item/card/id.html b/obj/item/card/id.html new file mode 100644 index 000000000000..3a27739a8d6c --- /dev/null +++ b/obj/item/card/id.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/card/id - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

identification holo-badge + + + +

+ + + + + + + +

Vars

assignmentcan be alt title or the actual job
claimedgearFor medics and engineers to 'claim' a locker
paygradeMarine's paygrade
pinned_on_uniformwhether the id's onmob overlay only appear when wearing a uniform
rankactual job
registered_nameThe name registered_name on the card
+

Var Details

assignment + + + + +

+

can be alt title or the actual job

claimedgear + + + + +

+

For medics and engineers to 'claim' a locker

paygrade + + + + +

+

Marine's paygrade

pinned_on_uniform + + + + +

+

whether the id's onmob overlay only appear when wearing a uniform

rank + + + + +

+

actual job

registered_name + + + + +

+

The name registered_name on the card

+ + + diff --git a/obj/item/circuitboard/airlock.html b/obj/item/circuitboard/airlock.html new file mode 100644 index 000000000000..8363e4bf4c08 --- /dev/null +++ b/obj/item/circuitboard/airlock.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuitboard/airlock - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

airlock electronics + + + +

+ + +

Vars

one_accessif set to 1, door would receive req_one_access instead of req_access
+

Var Details

one_access + + + + +

+

if set to 1, door would receive req_one_access instead of req_access

+ + + diff --git a/obj/item/clothing.html b/obj/item/clothing.html new file mode 100644 index 000000000000..a6b24eeb8328 --- /dev/null +++ b/obj/item/clothing.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/clothing - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

clothing + + + +

+ + +

Procs

attach_accessoryAttach accessory A to src

Proc Details

attach_accessory +

+

Attach accessory A to src

+

user is the user doing the attaching. Can be null, such as when attaching +items on spawn

+ + + diff --git a/obj/item/clothing/accessory.html b/obj/item/clothing/accessory.html new file mode 100644 index 000000000000..fd7aa143ae9d --- /dev/null +++ b/obj/item/clothing/accessory.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/accessory - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

tie + + + +

+ + + +

Vars

jumpsuit_hide_statesJumpsuit flags that cause the accessory to be hidden. format: "x" OR "(x|y|z)" (w/o quote marks).

Procs

additional_examine_textExtra text to append when attached to another clothing item and the host clothing is examined.
+

Var Details

jumpsuit_hide_states + + + + +

+

Jumpsuit flags that cause the accessory to be hidden. format: "x" OR "(x|y|z)" (w/o quote marks).

Proc Details

additional_examine_text +

+

Extra text to append when attached to another clothing item and the host clothing is examined.

+ + + diff --git a/obj/item/clothing/accessory/limb/skeleton.html b/obj/item/clothing/accessory/limb/skeleton.html new file mode 100644 index 000000000000..b26cf21e99b8 --- /dev/null +++ b/obj/item/clothing/accessory/limb/skeleton.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/accessory/limb/skeleton - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

How did you get this? + + + +

+ + +

Vars

polishedHas it been cleaned by a polishing rag?
+

Var Details

polished + + + + +

+

Has it been cleaned by a polishing rag?

+ + + diff --git a/obj/item/clothing/glasses.html b/obj/item/clothing/glasses.html new file mode 100644 index 000000000000..7a9da184e1f5 --- /dev/null +++ b/obj/item/clothing/glasses.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/glasses - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

glasses + + + +

+ + +

Vars

lighting_alphaThe amount of nightvision these glasses have. This should be a number between 0 and 1.
+

Var Details

lighting_alpha + + + + +

+

The amount of nightvision these glasses have. This should be a number between 0 and 1.

+ + + diff --git a/obj/item/clothing/glasses/disco_fever.html b/obj/item/clothing/glasses/disco_fever.html new file mode 100644 index 000000000000..7ee06aa9c3c7 --- /dev/null +++ b/obj/item/clothing/glasses/disco_fever.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/clothing/glasses/disco_fever - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

malfunctioning AR visor + + + +

+ + + +

Procs

apply_discovisionHandles disco-vision. Normal client color matrix handling isn't set up for a continuous animation like this, so this is applied afterwards.
apply_discovision_handlerEnds existing animations in preparation for the funny. Looping animations don't seem to properly end if a new one is started on the same tick.

Proc Details

apply_discovision +

+

Handles disco-vision. Normal client color matrix handling isn't set up for a continuous animation like this, so this is applied afterwards.

apply_discovision_handler +

+

Ends existing animations in preparation for the funny. Looping animations don't seem to properly end if a new one is started on the same tick.

+ + + diff --git a/obj/item/clothing/gloves/yautja.html b/obj/item/clothing/gloves/yautja.html new file mode 100644 index 000000000000..e8e14c5c52ab --- /dev/null +++ b/obj/item/clothing/gloves/yautja.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/gloves/yautja - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

ancient alien bracers + + + +

+ + + + +

Vars

cloak_alphaDetermines the alpha level of the cloaking device.
true_cloakIf TRUE will change the mob invisibility level, providing 100% invisibility. Exclusively for events.

Procs

decloakhandles decloaking only on HUNTER gloves
+

Var Details

cloak_alpha + + + + +

+

Determines the alpha level of the cloaking device.

true_cloak + + + + +

+

If TRUE will change the mob invisibility level, providing 100% invisibility. Exclusively for events.

Proc Details

decloak +

+

handles decloaking only on HUNTER gloves

+ + + diff --git a/obj/item/clothing/gloves/yautja/hunter.html b/obj/item/clothing/gloves/yautja/hunter.html new file mode 100644 index 000000000000..5c813f4dd704 --- /dev/null +++ b/obj/item/clothing/gloves/yautja/hunter.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/gloves/yautja/hunter - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

clan bracers + + + +

+ + +

Procs

translate...Try putting it in our inactive hand.

Proc Details

translate +

+

...Try putting it in our inactive hand.

+ + + diff --git a/obj/item/clothing/head/hardhat.html b/obj/item/clothing/head/hardhat.html new file mode 100644 index 000000000000..af329806da5d --- /dev/null +++ b/obj/item/clothing/head/hardhat.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/head/hardhat - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

hard hat + + + +

+ + + +

Vars

breaking_soundThe sound it makes when broken by a xenomorph.
can_be_brokenCan it be be broken by xenomorphs?
+

Var Details

breaking_sound + + + + +

+

The sound it makes when broken by a xenomorph.

can_be_broken + + + + +

+

Can it be be broken by xenomorphs?

+ + + diff --git a/obj/item/clothing/head/helmet/marine/tech.html b/obj/item/clothing/head/helmet/marine/tech.html new file mode 100644 index 000000000000..3297067b7d19 --- /dev/null +++ b/obj/item/clothing/head/helmet/marine/tech.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/head/helmet/marine/tech - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

M10 technician helmet + + + +

+ + +

Vars

base_icon_stateTo remember the helmet's map variant-adjusted icon state
+

Var Details

base_icon_state + + + + +

+

To remember the helmet's map variant-adjusted icon state

+ + + diff --git a/obj/item/clothing/mask/cigarette.html b/obj/item/clothing/mask/cigarette.html new file mode 100644 index 000000000000..8a2ded6e307f --- /dev/null +++ b/obj/item/clothing/mask/cigarette.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/mask/cigarette - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

cigarette + + + +

+ + +

Vars

icon_onNote - these are in masks.dmi not in cigarette.dmi
+

Var Details

icon_on + + + + +

+

Note - these are in masks.dmi not in cigarette.dmi

+ + + diff --git a/obj/item/clothing/mask/cigarette/pipe.html b/obj/item/clothing/mask/cigarette/pipe.html new file mode 100644 index 000000000000..d266f7fbbbde --- /dev/null +++ b/obj/item/clothing/mask/cigarette/pipe.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/mask/cigarette/pipe - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

smoking pipe + + + +

+ + + +

Vars

icon_onNote - these are in masks.dmi

Procs

attack_selfRefills the pipe. Can be changed to an attackby later, if loose tobacco is added to vendors or something.
+

Var Details

icon_on + + + + +

+

Note - these are in masks.dmi

Proc Details

attack_self +

+

Refills the pipe. Can be changed to an attackby later, if loose tobacco is added to vendors or something.

+ + + diff --git a/obj/item/clothing/mask/cigarette/pipe/cobpipe.html b/obj/item/clothing/mask/cigarette/pipe/cobpipe.html new file mode 100644 index 000000000000..fadaada75cc4 --- /dev/null +++ b/obj/item/clothing/mask/cigarette/pipe/cobpipe.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/mask/cigarette/pipe/cobpipe - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

corn cob pipe + + + +

+ + +

Vars

icon_onNote - these are in masks.dmi
+

Var Details

icon_on + + + + +

+

Note - these are in masks.dmi

+ + + diff --git a/obj/item/clothing/mask/facehugger.html b/obj/item/clothing/mask/facehugger.html new file mode 100644 index 000000000000..7f8d705df9b5 --- /dev/null +++ b/obj/item/clothing/mask/facehugger.html @@ -0,0 +1,56 @@ + + + + + + + /obj/item/clothing/mask/facehugger - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

facehugger + + + +

+ + + + +

Vars

jump_timerThe timer for the hugger to jump +at the nearest human
jumps_leftHow many times the hugger will try to jump at +the nearest human before dying
time_between_jumpsDelay of time between the hugger jumping +at the nearest human
+

Var Details

jump_timer + + + + +

+

The timer for the hugger to jump +at the nearest human

jumps_left + + + + +

+

How many times the hugger will try to jump at +the nearest human before dying

time_between_jumps + + + + +

+

Delay of time between the hugger jumping +at the nearest human

+ + + diff --git a/obj/item/clothing/suit/storage/marine/M35.html b/obj/item/clothing/suit/storage/marine/M35.html new file mode 100644 index 000000000000..a07b8924073e --- /dev/null +++ b/obj/item/clothing/suit/storage/marine/M35.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/suit/storage/marine/M35 - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

M35 pyrotechnician armor + + + +

+ + +

Procs

fire_shield_is_onThis proc is solely so that IgniteMob() fails

Proc Details

fire_shield_is_on +

+

This proc is solely so that IgniteMob() fails

+ + + diff --git a/obj/item/clothing/under.html b/obj/item/clothing/under.html new file mode 100644 index 000000000000..fe87b595e5c5 --- /dev/null +++ b/obj/item/clothing/under.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/under - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

under + + + +

+ + +

Vars

flags_jumpsuitStores whether sleeves can be rolled, cut etc. and whether they currently are.
+

Var Details

flags_jumpsuit + + + + +

+

Stores whether sleeves can be rolled, cut etc. and whether they currently are.

+ + + diff --git a/obj/item/clothing/under/marine.html b/obj/item/clothing/under/marine.html new file mode 100644 index 000000000000..a092ceae24c4 --- /dev/null +++ b/obj/item/clothing/under/marine.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/under/marine - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

USCM uniform + + + +

+ + + +

Vars

map_variants_roll_accessoriesList of map variants that use sleeve rolling on something else, like snow uniforms rolling the collar, and therefore shouldn't hide patches etc when rolled.
specialtyMakes it so that we can see the right name in the vendor.
+

Var Details

map_variants_roll_accessories + + + + +

+

List of map variants that use sleeve rolling on something else, like snow uniforms rolling the collar, and therefore shouldn't hide patches etc when rolled.

specialty + + + + +

+

Makes it so that we can see the right name in the vendor.

+ + + diff --git a/obj/item/device/binoculars.html b/obj/item/device/binoculars.html new file mode 100644 index 000000000000..62801b179168 --- /dev/null +++ b/obj/item/device/binoculars.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/device/binoculars - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

binoculars + + + +

+ + +

Vars

uses_camoIf FALSE won't change icon_state to a camo marine bino.
+

Var Details

uses_camo + + + + +

+

If FALSE won't change icon_state to a camo marine bino.

+ + + diff --git a/obj/item/device/binoculars/range.html b/obj/item/device/binoculars/range.html new file mode 100644 index 000000000000..5b028a0452da --- /dev/null +++ b/obj/item/device/binoculars/range.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/device/binoculars/range - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

rangefinder + + + +

+ + +

Vars

range_laser_overlayNormally used for the small green dot signifying coordinations-obtaining mode.
+

Var Details

range_laser_overlay + + + + +

+

Normally used for the small green dot signifying coordinations-obtaining mode.

+ + + diff --git a/obj/item/device/binoculars/range/designator.html b/obj/item/device/binoculars/range/designator.html new file mode 100644 index 000000000000..e5502fec45dc --- /dev/null +++ b/obj/item/device/binoculars/range/designator.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/device/binoculars/range/designator - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

laser designator + + + +

+ + +

Vars

cas_laser_overlayNormally used for the red CAS dot overlay.
+

Var Details

cas_laser_overlay + + + + +

+

Normally used for the red CAS dot overlay.

+ + + diff --git a/obj/item/device/binoculars/range/designator/spotter.html b/obj/item/device/binoculars/range/designator/spotter.html new file mode 100644 index 000000000000..817e292e3e38 --- /dev/null +++ b/obj/item/device/binoculars/range/designator/spotter.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/device/binoculars/range/designator/spotter - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

spotter's laser designator + + + +

+ + + +

Vars

spot_laser_overlayThe yellow dot overlay that shows up if the binoculars are spotting.
spotter_bandThe off-white band that covers the binoculars.
+

Var Details

spot_laser_overlay + + + + +

+

The yellow dot overlay that shows up if the binoculars are spotting.

spotter_band + + + + +

+

The off-white band that covers the binoculars.

+ + + diff --git a/obj/item/device/flashlight/flare.html b/obj/item/device/flashlight/flare.html new file mode 100644 index 000000000000..38c3fe4605ec --- /dev/null +++ b/obj/item/device/flashlight/flare.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/device/flashlight/flare - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

flare + + + +

+ + + + +

Vars

flame_base_tintColor correction, added to the whole flame overlay
flame_tintTint for the greyscale flare flame
show_flameWhether to use flame overlays for this flare type
+

Var Details

flame_base_tint + + + + +

+

Color correction, added to the whole flame overlay

flame_tint + + + + +

+

Tint for the greyscale flare flame

show_flame + + + + +

+

Whether to use flame overlays for this flare type

+ + + diff --git a/obj/item/device/internal_implant/rejuv.html b/obj/item/device/internal_implant/rejuv.html new file mode 100644 index 000000000000..ddcaf15f9942 --- /dev/null +++ b/obj/item/device/internal_implant/rejuv.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/device/internal_implant/rejuv - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/item/device/internal_implant/rejuv + + + +

+ + +

Vars

stimulant_to_injectAssoc list where the keys are the reagent ids of the reagents to be injected and the values are the amount to be injected
+

Var Details

stimulant_to_inject + + + + +

+

Assoc list where the keys are the reagent ids of the reagents to be injected and the values are the amount to be injected

+ + + diff --git a/obj/item/device/m56d_post.html b/obj/item/device/m56d_post.html new file mode 100644 index 000000000000..90cdacfc35f9 --- /dev/null +++ b/obj/item/device/m56d_post.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/device/m56d_post - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

M56D folded mount + + + +

+ + +

Procs

attack_selfCauses the tripod to unfold

Proc Details

attack_self +

+

Causes the tripod to unfold

+ + + diff --git a/obj/item/device/mmi/radio_enabled.html b/obj/item/device/mmi/radio_enabled.html new file mode 100644 index 000000000000..2889b0a7a63c --- /dev/null +++ b/obj/item/device/mmi/radio_enabled.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/device/mmi/radio_enabled - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Radio-enabled Man-Machine Interface + + + +

+ + +

Procs

Toggle_BroadcastingAllows the brain to toggle the radio functions.

Proc Details

Toggle_Broadcasting +

+

Allows the brain to toggle the radio functions.

+ + + diff --git a/obj/item/device/portable_vendor.html b/obj/item/device/portable_vendor.html new file mode 100644 index 000000000000..6cb56b9699e3 --- /dev/null +++ b/obj/item/device/portable_vendor.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/device/portable_vendor - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Automated Storage Briefcase + + + +

+ + + + +

Vars

req_roleto be compared with assigned_role to only allow those to use that machine.
special_prod_time_lockneeds to be a time define
special_prodslist of typepaths
+

Var Details

req_role + + + + +

+

to be compared with assigned_role to only allow those to use that machine.

special_prod_time_lock + + + + +

+

needs to be a time define

special_prods + + + + +

+

list of typepaths

+ + + diff --git a/obj/item/device/radio.html b/obj/item/device/radio.html new file mode 100644 index 000000000000..94965179fa2a --- /dev/null +++ b/obj/item/device/radio.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/device/radio - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

shortwave radio + + + +

+ + + +

Vars

subspace_switchableIf true, subspace_transmission can be toggled at will.
use_volumeif false it will just default to RADIO_VOLUME_QUIET every time
+

Var Details

subspace_switchable + + + + +

+

If true, subspace_transmission can be toggled at will.

use_volume + + + + +

+

if false it will just default to RADIO_VOLUME_QUIET every time

+ + + diff --git a/obj/item/device/radio/headset.html b/obj/item/device/radio/headset.html new file mode 100644 index 000000000000..ef8a563caf4e --- /dev/null +++ b/obj/item/device/radio/headset.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/device/radio/headset - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

radio headset + + + +

+ + + + +

Vars

minimap_typeThe type of minimap this headset is added to

Procs

set_dead_on_minimapChange the minimap icon to a dead icon
set_undefibbable_on_minimapChange the minimap icon to a undefibbable icon
+

Var Details

minimap_type + + + + +

+

The type of minimap this headset is added to

Proc Details

set_dead_on_minimap +

+

Change the minimap icon to a dead icon

set_undefibbable_on_minimap +

+

Change the minimap icon to a undefibbable icon

+ + + diff --git a/obj/item/device/sentry_computer.html b/obj/item/device/sentry_computer.html new file mode 100644 index 000000000000..0b7323512ef0 --- /dev/null +++ b/obj/item/device/sentry_computer.html @@ -0,0 +1,223 @@ + + + + + + + /obj/item/device/sentry_computer - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Sentry Gun Network Laptop + + + +

+ +

Sentry gun computer which links to defensive structures.

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

cam_backgroundcamera screen which shows a blank error
cam_screencamera screen which renders the world
cellbattery in the laptop
currentdefensive structure which has the camera active
last_camera_turfThe turf where the camera was last updated.
map_nameasset name for the game map
onif the laptop is turned on and powered
openif the laptop has been opened (the model not tgui)
paired_sentrylist of paired defences
power_consumptionmultiplier for how much power to drain per linked device
range_turfsAll turfs within range of the currently active camera
silentif the laptop should announce events on radio, for live server testing

Procs

handle_empty_ammoHandler for when a linked sentry has no ammo. +@param sentrygun: sentry gun which has ran out of ammo.
handle_engagedHandler for when a linked sentry gun engages a target. +@param sentrygun: gun which has fired.
handle_low_ammoHandler for when a linked sentry has low ammo. +@param sentrygun: gun which is low on ammo.
pair_sentryLinks the target sentry gun to this laptop, linking signals and storing data. +@params target: defensive structure to link.
registerRun checks and register a sentry gun to this sentry computer. +@param tool: tool which was used to link. +@param user: mob which initiated the link. +@param defensive_structure: defensive structure which is to be linked.
send_messageBroadcast a message to those nearby and on sentry radio. +@param message: message to broadcast.
sentry_destroyedHandler for when a linked sentry gun is destroyed. +@param sentry_gun: sentry gun which is currently being destroyed.
show_camera_staticSet the displayed camera to the static not-connected.
teardownCalled to reset the state of the laptop to closed and inactive.
unpair_sentryUnlinks the target sentry gun from this laptop, unlinking signals and removing from internal storage lists. +@params target: defensive structure to unlink
unregisterRun checks and unregister a sentry gun from this sentry computer. +@param tool: tool which was used to unlink. +@param user: mob which initiated the unlink. +@param defensive_structure: defensive structure which is to be unlinked.
update_active_cameraUpdate camera settings and redraw camera on the current variable.
+

Var Details

cam_background + + + + +

+

camera screen which shows a blank error

cam_screen + + + + +

+

camera screen which renders the world

cell + + + + +

+

battery in the laptop

current + + + + +

+

defensive structure which has the camera active

last_camera_turf + + + + +

+

The turf where the camera was last updated.

map_name + + + + +

+

asset name for the game map

on + + + + +

+

if the laptop is turned on and powered

open + + + + +

+

if the laptop has been opened (the model not tgui)

paired_sentry + + + + +

+

list of paired defences

power_consumption + + + + +

+

multiplier for how much power to drain per linked device

range_turfs + + + + +

+

All turfs within range of the currently active camera

silent + + + + +

+

if the laptop should announce events on radio, for live server testing

Proc Details

handle_empty_ammo +

+

Handler for when a linked sentry has no ammo. +@param sentrygun: sentry gun which has ran out of ammo.

handle_engaged +

+

Handler for when a linked sentry gun engages a target. +@param sentrygun: gun which has fired.

handle_low_ammo +

+

Handler for when a linked sentry has low ammo. +@param sentrygun: gun which is low on ammo.

pair_sentry +

+

Links the target sentry gun to this laptop, linking signals and storing data. +@params target: defensive structure to link.

register +

+

Run checks and register a sentry gun to this sentry computer. +@param tool: tool which was used to link. +@param user: mob which initiated the link. +@param defensive_structure: defensive structure which is to be linked.

send_message +

+

Broadcast a message to those nearby and on sentry radio. +@param message: message to broadcast.

sentry_destroyed +

+

Handler for when a linked sentry gun is destroyed. +@param sentry_gun: sentry gun which is currently being destroyed.

show_camera_static +

+

Set the displayed camera to the static not-connected.

teardown +

+

Called to reset the state of the laptop to closed and inactive.

unpair_sentry +

+

Unlinks the target sentry gun from this laptop, unlinking signals and removing from internal storage lists. +@params target: defensive structure to unlink

unregister +

+

Run checks and unregister a sentry gun from this sentry computer. +@param tool: tool which was used to unlink. +@param user: mob which initiated the unlink. +@param defensive_structure: defensive structure which is to be unlinked.

update_active_camera +

+

Update camera settings and redraw camera on the current variable.

+ + + diff --git a/obj/item/device/taperecorder.html b/obj/item/device/taperecorder.html new file mode 100644 index 000000000000..67877b326b23 --- /dev/null +++ b/obj/item/device/taperecorder.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/device/taperecorder - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

tape recorder + + + +

+ + + +

Vars

time_left_warningSeconds under which to warn that the tape is almost up.
time_warnedWhether we've warned during this recording session that the tape is almost up.
+

Var Details

time_left_warning + + + + +

+

Seconds under which to warn that the tape is almost up.

time_warned + + + + +

+

Whether we've warned during this recording session that the tape is almost up.

+ + + diff --git a/obj/item/evidencebag.html b/obj/item/evidencebag.html new file mode 100644 index 000000000000..300053105153 --- /dev/null +++ b/obj/item/evidencebag.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/evidencebag - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

evidence bag + + + +

+ + +

Procs

attack_selfsave the offset of the item +then remove it so it'll stay within the evidence bag +take a snapshot. (necessary to stop the underlays appearing under our inventory-HUD slots) ~Carn +and then return it +should look nicer for transparent stuff. not really that important, but hey.

Proc Details

attack_self +

+

save the offset of the item +then remove it so it'll stay within the evidence bag +take a snapshot. (necessary to stop the underlays appearing under our inventory-HUD slots) ~Carn +and then return it +should look nicer for transparent stuff. not really that important, but hey.

+ + + diff --git a/obj/item/facepaint.html b/obj/item/facepaint.html new file mode 100644 index 000000000000..e392bfe48802 --- /dev/null +++ b/obj/item/facepaint.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/facepaint - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

facepaint + + + +

+ + +

Vars

openfor lipstick
+

Var Details

open + + + + +

+

for lipstick

+ + + diff --git a/obj/item/folded_tent.html b/obj/item/folded_tent.html new file mode 100644 index 000000000000..eedfde64e16d --- /dev/null +++ b/obj/item/folded_tent.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/folded_tent - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Folded Abstract Tent + + + +

+ + + + + + + +

Vars

dim_xRequired cleared area along X axis
dim_yRequired cleared area along Y axis
off_xDeployment X offset
off_yDeployment Y offset
templateMap Template to use for the tent

Procs

check_areaCheck an area is clear for deployment of the tent
+

Var Details

dim_x + + + + +

+

Required cleared area along X axis

dim_y + + + + +

+

Required cleared area along Y axis

off_x + + + + +

+

Deployment X offset

off_y + + + + +

+

Deployment Y offset

template + + + + +

+

Map Template to use for the tent

Proc Details

check_area +

+

Check an area is clear for deployment of the tent

+ + + diff --git a/obj/item/grab.html b/obj/item/grab.html new file mode 100644 index 000000000000..562e44148511 --- /dev/null +++ b/obj/item/grab.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/grab - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

grab + + + +

+ + +

Procs

progress_passiveAmazing what you can do with a bit of dexterity. +Strong mobs can lift above their own weight.

Proc Details

progress_passive +

+

Amazing what you can do with a bit of dexterity. +Strong mobs can lift above their own weight.

+ + + diff --git a/obj/item/handcuffs.html b/obj/item/handcuffs.html new file mode 100644 index 000000000000..64761b1a6e25 --- /dev/null +++ b/obj/item/handcuffs.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/handcuffs - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

handcuffs + + + +

+ + + +

Vars

cuff_delayhow many deciseconds it takes to cuff someone
single_usedetermines if handcuffs will be deleted on removal
+

Var Details

cuff_delay + + + + +

+

how many deciseconds it takes to cuff someone

single_use + + + + +

+

determines if handcuffs will be deleted on removal

+ + + diff --git a/obj/item/hardpoint.html b/obj/item/hardpoint.html new file mode 100644 index 000000000000..66138293e95c --- /dev/null +++ b/obj/item/hardpoint.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/hardpoint - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/obj/item/hardpoint + + + +

+ + + +

Vars

traits_to_giveAn assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) +that will be given to a projectile fired from the hardpoint

Procs

set_bullet_traitsPopulate traits_to_give in this proc
+

Var Details

traits_to_give + + + + +

+

An assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) +that will be given to a projectile fired from the hardpoint

Proc Details

set_bullet_traits +

+

Populate traits_to_give in this proc

+ + + diff --git a/obj/item/hoverpack.html b/obj/item/hoverpack.html new file mode 100644 index 000000000000..0765c1eee1fb --- /dev/null +++ b/obj/item/hoverpack.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/hoverpack - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

experimental hoverpack + + + +

+ + + + + +

Vars

can_hoverIf you can use it, used for cooldowns.
max_distanceHow many tiles you can leap to at once.
reservoirReservoir that stores the reagents that fuel the propellant for the hoverpack. Or something like that..
speedHow quick you will fly
+

Var Details

can_hover + + + + +

+

If you can use it, used for cooldowns.

max_distance + + + + +

+

How many tiles you can leap to at once.

reservoir + + + + +

+

Reservoir that stores the reagents that fuel the propellant for the hoverpack. Or something like that..

speed + + + + +

+

How quick you will fly

+ + + diff --git a/obj/item/large_shrapnel/at_rocket_dud.html b/obj/item/large_shrapnel/at_rocket_dud.html new file mode 100644 index 000000000000..e81b7bc98bde --- /dev/null +++ b/obj/item/large_shrapnel/at_rocket_dud.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/large_shrapnel/at_rocket_dud - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

unexploded anti-tank rocket + + + +

+ + + + +

Vars

drop_sensitivity% chance of it detonating when dropped. THIS ALSO TRIGGERS WHEN PUTTING IT IN A BAG.
impact_sensitivity% chance of it detonating when thrown and hitting an atom.
mattersame as custom warhead
+

Var Details

drop_sensitivity + + + + +

+

% chance of it detonating when dropped. THIS ALSO TRIGGERS WHEN PUTTING IT IN A BAG.

impact_sensitivity + + + + +

+

% chance of it detonating when thrown and hitting an atom.

matter + + + + +

+

same as custom warhead

+ + + diff --git a/obj/item/limb.html b/obj/item/limb.html new file mode 100644 index 000000000000..afbe3c2079ec --- /dev/null +++ b/obj/item/limb.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/limb - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/item/limb + + + +

+ + + +

Vars

bone_typeWhat bone would be in this limb?
flayedPredators can flay limbs to eventually turn them into bones for their armor
+

Var Details

bone_type + + + + +

+

What bone would be in this limb?

flayed + + + + +

+

Predators can flay limbs to eventually turn them into bones for their armor

+ + + diff --git a/obj/item/maintenance_jack.html b/obj/item/maintenance_jack.html new file mode 100644 index 000000000000..898c4f5db49d --- /dev/null +++ b/obj/item/maintenance_jack.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/maintenance_jack - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

K92 Maintenance Jack + + + +

+ + + + + + + + +

Vars

crowbar_modeWhether the Maintenance Jack is on crowbar or wrench mode
prying_timeHow long it takes (in seconds) to pry open an airlock
requires_skills_unboltWhether you get the speed penalty from not having engi 3
requires_superstrength_pryWhether you need the "super strength" trait to pry open doors
resin_prying_timeHow long it takes (in seconds) to pry open a resin door
unbolt_timeHow long it takes (in seconds) to unbolt an airlock
unskilled_unbolt_timeHow long extra will it take (in seconds) people who do not have engi 3 (if requires_skills_unbolt is true)
+

Var Details

crowbar_mode + + + + +

+

Whether the Maintenance Jack is on crowbar or wrench mode

prying_time + + + + +

+

How long it takes (in seconds) to pry open an airlock

requires_skills_unbolt + + + + +

+

Whether you get the speed penalty from not having engi 3

requires_superstrength_pry + + + + +

+

Whether you need the "super strength" trait to pry open doors

resin_prying_time + + + + +

+

How long it takes (in seconds) to pry open a resin door

unbolt_time + + + + +

+

How long it takes (in seconds) to unbolt an airlock

unskilled_unbolt_time + + + + +

+

How long extra will it take (in seconds) people who do not have engi 3 (if requires_skills_unbolt is true)

+ + + diff --git a/obj/item/pamphlet/skill/powerloader.html b/obj/item/pamphlet/skill/powerloader.html new file mode 100644 index 000000000000..ed15152393db --- /dev/null +++ b/obj/item/pamphlet/skill/powerloader.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/pamphlet/skill/powerloader - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

powerloader instructional pamphlet + + + +

+ + +

Vars

bypass_pamphlet_limitit's really not necessary to stop people from learning powerloader skill
+

Var Details

bypass_pamphlet_limit + + + + +

+

it's really not necessary to stop people from learning powerloader skill

+ + + diff --git a/obj/item/pipe.html b/obj/item/pipe.html new file mode 100644 index 000000000000..4b1f015e7708 --- /dev/null +++ b/obj/item/pipe.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/pipe - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

pipe + + + +

+ + +

Procs

afterattackZ-Level stuff +Z-Level stuff +Supply and scrubbers pipes +Z-Level stuff +Z-Level stuff +Supply and scrubbers pipes

Proc Details

afterattack +

+

Z-Level stuff +Z-Level stuff +Supply and scrubbers pipes +Z-Level stuff +Z-Level stuff +Supply and scrubbers pipes

+ + + diff --git a/obj/item/pizzabox/mystery.html b/obj/item/pizzabox/mystery.html new file mode 100644 index 000000000000..82c54db84931 --- /dev/null +++ b/obj/item/pizzabox/mystery.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/pizzabox/mystery - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/obj/item/pizzabox/mystery + + + +

+ + +

Procs

InitializeMystery Pizza, made with random ingredients!

Proc Details

Initialize +

+

Mystery Pizza, made with random ingredients!

+ + + diff --git a/obj/item/projectile.html b/obj/item/projectile.html new file mode 100644 index 000000000000..974269133db8 --- /dev/null +++ b/obj/item/projectile.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/projectile - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

projectile + + + +

+ + + + + + + + + + + + +

Vars

angleDirect angle at firing time, in degrees from BYOND NORTH, used for visual updates and path extension
bound_beamThe beam linked to the projectile. Can be utilized for things like grappling hooks, harpoon guns, tripwire guns, etc..
hit_effect_colorThe flicker that plays when a bullet hits a target. Usually red. Can be nulled so it doesn't show up at all.
projectile_flagsFlags for behaviors of the projectile itself
projectile_override_flagsAdditional ammo flags applied to the projectile
runtime_iff_groupThis is the iff_group
speedHow many turfs per 1ds the projectile travels
time_carryHow much time has the projectile carried for fractional movement, in seconds (delta_time format)
vis_sourceOrigin point for tracing and visual updates
vis_travelledTurfs traveled so far, for use in visual updates, in conjunction with angle for projection

Procs

flyFlies the projectile forward one single turf
+

Var Details

angle + + + + +

+

Direct angle at firing time, in degrees from BYOND NORTH, used for visual updates and path extension

bound_beam + + + + +

+

The beam linked to the projectile. Can be utilized for things like grappling hooks, harpoon guns, tripwire guns, etc..

hit_effect_color + + + + +

+

The flicker that plays when a bullet hits a target. Usually red. Can be nulled so it doesn't show up at all.

projectile_flags + + + + +

+

Flags for behaviors of the projectile itself

projectile_override_flags + + + + +

+

Additional ammo flags applied to the projectile

runtime_iff_group + + + + +

+

This is the iff_group

speed + + + + +

+

How many turfs per 1ds the projectile travels

time_carry + + + + +

+

How much time has the projectile carried for fractional movement, in seconds (delta_time format)

vis_source + + + + +

+

Origin point for tracing and visual updates

vis_travelled + + + + +

+

Turfs traveled so far, for use in visual updates, in conjunction with angle for projection

Proc Details

fly +

+

Flies the projectile forward one single turf

+ + + diff --git a/obj/item/reagent_container/blood.html b/obj/item/reagent_container/blood.html new file mode 100644 index 000000000000..32ce396f5d86 --- /dev/null +++ b/obj/item/reagent_container/blood.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_container/blood - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

BloodPack + + + +

+ + +

Procs

bad_disconnectUsed to standardize effects of a blood bag disconnecting improperly

Proc Details

bad_disconnect +

+

Used to standardize effects of a blood bag disconnecting improperly

+ + + diff --git a/obj/item/reagent_container/food.html b/obj/item/reagent_container/food.html new file mode 100644 index 000000000000..f7a00584074e --- /dev/null +++ b/obj/item/reagent_container/food.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/reagent_container/food - byond + + +
+ byond - + Modules - + Types +
+
+

/obj/item/reagent_container/food + + + +

+ +

Droppers. END

+

Food.

+ + + diff --git a/obj/item/reagent_container/food/drinks/bottle.html b/obj/item/reagent_container/food/drinks/bottle.html new file mode 100644 index 000000000000..d1e0ef3c7ae3 --- /dev/null +++ b/obj/item/reagent_container/food/drinks/bottle.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/reagent_container/food/drinks/bottle - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/obj/item/reagent_container/food/drinks/bottle + + + +

+ +

Alchohol bottles and juice mixers! -Agouri

+ +

Vars

isGlassThis excludes all the juices and dairy in cartons that are also defined in this file.

Procs

smashAudio/visual bottle breaking effects start here
+

Var Details

isGlass + + + + +

+

This excludes all the juices and dairy in cartons that are also defined in this file.

Proc Details

smash +

+

Audio/visual bottle breaking effects start here

+ + + diff --git a/obj/item/spacecash.html b/obj/item/spacecash.html new file mode 100644 index 000000000000..3859c6e78bd7 --- /dev/null +++ b/obj/item/spacecash.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/spacecash - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

15 dollars + + + +

+ + +

Vars

counterfeit'Counterfeit' bills cannot be inserted into the black market for dosh. Their worth is also quartered when entered into an ATM.
+

Var Details

counterfeit + + + + +

+

'Counterfeit' bills cannot be inserted into the black market for dosh. Their worth is also quartered when entered into an ATM.

+ + + diff --git a/obj/item/spec_kit.html b/obj/item/spec_kit.html new file mode 100644 index 000000000000..371cead84b03 --- /dev/null +++ b/obj/item/spec_kit.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/spec_kit - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

specialist kit + + + +

+ + +

Vars

squad_assignment_updateUsed for cryo specs who already have "foxtrot" appended to their ID assignments
+

Var Details

squad_assignment_update + + + + +

+

Used for cryo specs who already have "foxtrot" appended to their ID assignments

+ + + diff --git a/obj/item/storage.html b/obj/item/storage.html new file mode 100644 index 000000000000..107a3deb5db9 --- /dev/null +++ b/obj/item/storage.html @@ -0,0 +1,105 @@ + + + + + + + /obj/item/storage - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

storage + + + +

+ + + + + + + + + + +

Procs

MouseDropWhether to use map-variant skins.
_item_insertionInserts the item. Separate proc because handle_item_insertion isn't guaranteed to insert +and it therefore isn't safe to override it before calling parent. Updates icon when done. +Can be called directly but only if the item was spawned inside src - handle_item_insertion is safer. +W is always an item. stop_warning prevents messaging. user may be null.
_item_removalSeparate proc because remove_from_storage isn't guaranteed to finish. Can be called directly if the target atom exists and is an item. Updates icon when done.
handle_item_insertionHandler for inserting items. It does not perform any checks of whether an item can or can't be inserted into the storage item. +That's done by can_be_inserted(). Its checks are whether the item exists, is an item, and (if it's held by a mob) the mob can drop it. +The stop_warning parameter will stop the insertion message from being displayed. It is intended for cases where you are inserting multiple +items at once, such as when picking up all the items on a tile with one click. +user can be null, it refers to the potential mob doing the insertion.
has_roomReturns TRUE if there is room for the given item. W_class_override allows checking for just a generic W_class, meant for checking shotgun handfuls without having to spawn and delete one just to check.
hide_fromUsed to hide the storage's inventory screen.
post_skin_selectionThings to be done after selecting a map skin (if any) and before adding inventory and updating icon for the first time. Most likely saving basic icon state.
remove_from_storageCall this proc to handle the removal of an item from the storage item. The item will be moved to the atom sent as new_target.
storage_closeUsed to close the storage item. Used a lot - if tying it to special effects, use a content_watchers check to make sure it's closed properly and no-one's looking inside.

Proc Details

MouseDrop +

+

Whether to use map-variant skins.

_item_insertion +

+

Inserts the item. Separate proc because handle_item_insertion isn't guaranteed to insert +and it therefore isn't safe to override it before calling parent. Updates icon when done. +Can be called directly but only if the item was spawned inside src - handle_item_insertion is safer. +W is always an item. stop_warning prevents messaging. user may be null.

_item_removal +

+

Separate proc because remove_from_storage isn't guaranteed to finish. Can be called directly if the target atom exists and is an item. Updates icon when done.

handle_item_insertion +

+

Handler for inserting items. It does not perform any checks of whether an item can or can't be inserted into the storage item. +That's done by can_be_inserted(). Its checks are whether the item exists, is an item, and (if it's held by a mob) the mob can drop it. +The stop_warning parameter will stop the insertion message from being displayed. It is intended for cases where you are inserting multiple +items at once, such as when picking up all the items on a tile with one click. +user can be null, it refers to the potential mob doing the insertion.

has_room +

+

Returns TRUE if there is room for the given item. W_class_override allows checking for just a generic W_class, meant for checking shotgun handfuls without having to spawn and delete one just to check.

hide_from +

+

Used to hide the storage's inventory screen.

post_skin_selection +

+

Things to be done after selecting a map skin (if any) and before adding inventory and updating icon for the first time. Most likely saving basic icon state.

remove_from_storage +

+

Call this proc to handle the removal of an item from the storage item. The item will be moved to the atom sent as new_target.

storage_close +

+

Used to close the storage item. Used a lot - if tying it to special effects, use a content_watchers check to make sure it's closed properly and no-one's looking inside.

+ + + diff --git a/obj/item/storage/belt.html b/obj/item/storage/belt.html new file mode 100644 index 000000000000..13ab518bccf7 --- /dev/null +++ b/obj/item/storage/belt.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/belt - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

belt + + + +

+ + +

Vars

flapTRUE Means that it closes a flap over its contents, and therefore update_icon should lift that flap when opened. If it doesn't have _half and _full iconstates, this doesn't matter either way.
+

Var Details

flap + + + + +

+

TRUE Means that it closes a flap over its contents, and therefore update_icon should lift that flap when opened. If it doesn't have _half and _full iconstates, this doesn't matter either way.

+ + + diff --git a/obj/item/storage/belt/gun.html b/obj/item/storage/belt/gun.html new file mode 100644 index 000000000000..be72f391d8e9 --- /dev/null +++ b/obj/item/storage/belt/gun.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/storage/belt/gun - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

pistol belt + + + +

+ +

GUN BELTS

+ +

Vars

base_iconUsed to get flap overlay states as inserting a gun changes icon state.
holster_slotsArray of holster slots and stats to use for them. First layer is "1", "2" etc. Guns are stored in both the slot and the holstered_guns list which keeps track of which was last inserted.
+

Var Details

base_icon + + + + +

+

Used to get flap overlay states as inserting a gun changes icon state.

holster_slots + + + + +

+

Array of holster slots and stats to use for them. First layer is "1", "2" etc. Guns are stored in both the slot and the holstered_guns list which keeps track of which was last inserted.

+ + + diff --git a/obj/item/storage/large_holster.html b/obj/item/storage/large_holster.html new file mode 100644 index 000000000000..29be88bedb5c --- /dev/null +++ b/obj/item/storage/large_holster.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/large_holster - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Rifle Holster + + + +

+ + +

Vars

base_iconIcon/item states change based on contents; this stores base icon state.
+

Var Details

base_icon + + + + +

+

Icon/item states change based on contents; this stores base icon state.

+ + + diff --git a/obj/item/storage/large_holster/m39.html b/obj/item/storage/large_holster/m39.html new file mode 100644 index 000000000000..a8493c08e69b --- /dev/null +++ b/obj/item/storage/large_holster/m39.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/storage/large_holster/m39 - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

M276 pattern M39 holster rig + + + +

+ + + +

Vars

gun_offsetGuns have a hud offset that throws the vis_contents alignment off.
gun_scalingWhether the gun had pixel scaling set before being holstered.
+

Var Details

gun_offset + + + + +

+

Guns have a hud offset that throws the vis_contents alignment off.

gun_scaling + + + + +

+

Whether the gun had pixel scaling set before being holstered.

+ + + diff --git a/obj/item/storage/pouch.html b/obj/item/storage/pouch.html new file mode 100644 index 000000000000..67a080716a13 --- /dev/null +++ b/obj/item/storage/pouch.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/pouch - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

abstract pouch + + + +

+ + +

Vars

flapIf it closes a flap over its contents, and therefore update_icon should lift that flap when opened. If it doesn't have _half and _full iconstates, this doesn't matter either way.
+

Var Details

flap + + + + +

+

If it closes a flap over its contents, and therefore update_icon should lift that flap when opened. If it doesn't have _half and _full iconstates, this doesn't matter either way.

+ + + diff --git a/obj/item/storage/pouch/pistol.html b/obj/item/storage/pouch/pistol.html new file mode 100644 index 000000000000..f8f17c60ccd8 --- /dev/null +++ b/obj/item/storage/pouch/pistol.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/pouch/pistol - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

sidearm pouch + + + +

+ +

Pistol pouch.

+

Vars

current_gunDisplay code pulled from belt.dm gun belt. Can shave quite a lot off because this pouch can only hold one item at a time.
+

Var Details

current_gun + + + + +

+

Display code pulled from belt.dm gun belt. Can shave quite a lot off because this pouch can only hold one item at a time.

+ + + diff --git a/obj/item/tape.html b/obj/item/tape.html new file mode 100644 index 000000000000..c34e0228a209 --- /dev/null +++ b/obj/item/tape.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/tape - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

tape + + + +

+ + + + + +

Vars

flipped_nameused to store the tape's name for one side and the other side
initial_icon_stateBecause we can't expect God to do all the work.
storedinfoNumbered list of chat messages the recorder has heard with spans and prepended timestamps. Used for playback and transcription.
timestampNumbered list of seconds the messages in the previous list appear at on the tape. Used by playback to get the timing right.
+

Var Details

flipped_name + + + + +

+

used to store the tape's name for one side and the other side

initial_icon_state + + + + +

+

Because we can't expect God to do all the work.

storedinfo + + + + +

+

Numbered list of chat messages the recorder has heard with spans and prepended timestamps. Used for playback and transcription.

timestamp + + + + +

+

Numbered list of seconds the messages in the previous list appear at on the tape. Used by playback to get the timing right.

+ + + diff --git a/obj/item/tool/extinguisher/mini.html b/obj/item/tool/extinguisher/mini.html new file mode 100644 index 000000000000..4505e5ddb206 --- /dev/null +++ b/obj/item/tool/extinguisher/mini.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/extinguisher/mini - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

fire extinguisher + + + +

+ + +

Vars

hitsoundit is much lighter, after all.
+

Var Details

hitsound + + + + +

+

it is much lighter, after all.

+ + + diff --git a/obj/item/tool/extinguisher/pyro/atmos_tank.html b/obj/item/tool/extinguisher/pyro/atmos_tank.html new file mode 100644 index 000000000000..043e154f3fca --- /dev/null +++ b/obj/item/tool/extinguisher/pyro/atmos_tank.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/extinguisher/pyro/atmos_tank - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/item/tool/extinguisher/pyro/atmos_tank + + + +

+ + +

Vars

max_waterso it never runs out, theoretically
+

Var Details

max_water + + + + +

+

so it never runs out, theoretically

+ + + diff --git a/obj/item/tool/hand_labeler.html b/obj/item/tool/hand_labeler.html new file mode 100644 index 000000000000..1e6f25aff77b --- /dev/null +++ b/obj/item/tool/hand_labeler.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/tool/hand_labeler - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

hand labeler + + + +

+ + + +

Vars

modeoff or on.

Procs

attackbyAllow the user to refill the labeller +@I what is the item trying to be used +@user what is using paper on the handler
+

Var Details

mode + + + + +

+

off or on.

Proc Details

attackby +

+

Allow the user to refill the labeller +@I what is the item trying to be used +@user what is using paper on the handler

+ + + diff --git a/obj/item/tool/kitchen/tray.html b/obj/item/tool/kitchen/tray.html new file mode 100644 index 000000000000..ec78936774ce --- /dev/null +++ b/obj/item/tool/kitchen/tray.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/kitchen/tray - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

tray + + + +

+ + +

Vars

cooldownshield bash cooldown. based on world.time
+

Var Details

cooldown + + + + +

+

shield bash cooldown. based on world.time

+ + + diff --git a/obj/item/tool/kitchen/utensil.html b/obj/item/tool/kitchen/utensil.html new file mode 100644 index 000000000000..9dd4c460edc3 --- /dev/null +++ b/obj/item/tool/kitchen/utensil.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/kitchen/utensil - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/item/tool/kitchen/utensil + + + +

+ + +

Vars

loadedDescriptive string for currently loaded food object.
+

Var Details

loaded + + + + +

+

Descriptive string for currently loaded food object.

+ + + diff --git a/obj/item/tool/pen.html b/obj/item/tool/pen.html new file mode 100644 index 000000000000..7caa352082a5 --- /dev/null +++ b/obj/item/tool/pen.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/pen - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

pen + + + +

+ + +

Vars

pen_colourwhat color the ink is!
+

Var Details

pen_colour + + + + +

+

what color the ink is!

+ + + diff --git a/obj/item/tool/pickaxe.html b/obj/item/tool/pickaxe.html new file mode 100644 index 000000000000..7eb262f6d285 --- /dev/null +++ b/obj/item/tool/pickaxe.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/pickaxe - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

pickaxe + + + +

+ + +

Vars

digspeedmoving the delay to an item var so R&D can make improved picks. --NEO
+

Var Details

digspeed + + + + +

+

moving the delay to an item var so R&D can make improved picks. --NEO

+ + + diff --git a/obj/item/tool/pickaxe/diamonddrill.html b/obj/item/tool/pickaxe/diamonddrill.html new file mode 100644 index 000000000000..7573035e78b0 --- /dev/null +++ b/obj/item/tool/pickaxe/diamonddrill.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/pickaxe/diamonddrill - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

diamond mining drill + + + +

+ + +

Vars

digspeedDigs through walls, girders, and can dig up sand
+

Var Details

digspeed + + + + +

+

Digs through walls, girders, and can dig up sand

+ + + diff --git a/obj/item/tool/pickaxe/drill.html b/obj/item/tool/pickaxe/drill.html new file mode 100644 index 000000000000..a3ad482cd229 --- /dev/null +++ b/obj/item/tool/pickaxe/drill.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/pickaxe/drill - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

mining drill + + + +

+ + +

Vars

nameCan dig sand as well!
+

Var Details

name + + + + +

+

Can dig sand as well!

+ + + diff --git a/obj/item/tool/pickaxe/jackhammer.html b/obj/item/tool/pickaxe/jackhammer.html new file mode 100644 index 000000000000..7f06529822f5 --- /dev/null +++ b/obj/item/tool/pickaxe/jackhammer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/pickaxe/jackhammer - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

sonic jackhammer + + + +

+ + +

Vars

digspeedfaster than drill, but cannot dig
+

Var Details

digspeed + + + + +

+

faster than drill, but cannot dig

+ + + diff --git a/obj/item/tool/pickaxe/plasmacutter.html b/obj/item/tool/pickaxe/plasmacutter.html new file mode 100644 index 000000000000..7877b4d6d698 --- /dev/null +++ b/obj/item/tool/pickaxe/plasmacutter.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/tool/pickaxe/plasmacutter - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

plasma cutter + + + +

+ + + +

Vars

digspeedCan slice though normal walls, all girders, or be used in reinforced wall deconstruction/ light thermite on fire
w_classit is smaller than the pickaxe
+

Var Details

digspeed + + + + +

+

Can slice though normal walls, all girders, or be used in reinforced wall deconstruction/ light thermite on fire

w_class + + + + +

+

it is smaller than the pickaxe

+ + + diff --git a/obj/item/tool/shovel.html b/obj/item/tool/shovel.html new file mode 100644 index 000000000000..c2b1a39ae3ed --- /dev/null +++ b/obj/item/tool/shovel.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/shovel - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

shovel + + + +

+ + +

Vars

dirt_type0 for no dirt, 1 for brown dirt, 2 for snow, 3 for big red.
+

Var Details

dirt_type + + + + +

+

0 for no dirt, 1 for brown dirt, 2 for snow, 3 for big red.

+ + + diff --git a/obj/item/tool/surgery.html b/obj/item/tool/surgery.html new file mode 100644 index 000000000000..16194fee4aa4 --- /dev/null +++ b/obj/item/tool/surgery.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/surgery - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/item/tool/surgery + + + +

+ + +

Vars

attack_speedreduced
+

Var Details

attack_speed + + + + +

+

reduced

+ + + diff --git a/obj/item/tool/surgery/scalpel/laser.html b/obj/item/tool/surgery/scalpel/laser.html new file mode 100644 index 000000000000..eafd70b5a5bf --- /dev/null +++ b/obj/item/tool/surgery/scalpel/laser.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/surgery/scalpel/laser - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

prototype laser scalpel + + + +

+ + +

Vars

bloodlessprobThe likelihood an incision made with this will be bloodless.
+

Var Details

bloodlessprob + + + + +

+

The likelihood an incision made with this will be bloodless.

+ + + diff --git a/obj/item/tool/surgery/synthgraft.html b/obj/item/tool/surgery/synthgraft.html new file mode 100644 index 000000000000..9b1ff19cc1cd --- /dev/null +++ b/obj/item/tool/surgery/synthgraft.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/tool/surgery/synthgraft - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Synth-Graft + + + +

+ + + +

Vars

colorPlaceholder, to distinguish from surgical line.
icon_statePlaceholder.
+

Var Details

color + + + + +

+

Placeholder, to distinguish from surgical line.

icon_state + + + + +

+

Placeholder.

+ + + diff --git a/obj/item/tool/weldingtool.html b/obj/item/tool/weldingtool.html new file mode 100644 index 000000000000..03b6ff652023 --- /dev/null +++ b/obj/item/tool/weldingtool.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/tool/weldingtool - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

blowtorch + + + +

+ + + + +

Vars

max_fuelThe max amount of fuel the welder can hold
weld_tickUsed to slowly deplete the fuel when the tool is left on.
weldingWhether or not the blowtorch is off(0), on(1) or currently welding(2)
+

Var Details

max_fuel + + + + +

+

The max amount of fuel the welder can hold

weld_tick + + + + +

+

Used to slowly deplete the fuel when the tool is left on.

welding + + + + +

+

Whether or not the blowtorch is off(0), on(1) or currently welding(2)

+ + + diff --git a/obj/item/tool/weldpack.html b/obj/item/tool/weldpack.html new file mode 100644 index 000000000000..ca5413270093 --- /dev/null +++ b/obj/item/tool/weldpack.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/tool/weldpack - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Welding kit + + + +

+ + + + +

Vars

healthMore robust liner I guess
max_fuelBecause the marine backpack can carry 260, and still allows you to take items, there should be a reason to still use this one.
original_healthplaceholder value to be replaced in init
+

Var Details

health + + + + +

+

More robust liner I guess

max_fuel + + + + +

+

Because the marine backpack can carry 260, and still allows you to take items, there should be a reason to still use this one.

original_health + + + + +

+

placeholder value to be replaced in init

+ + + diff --git a/obj/item/tool/weldpack/minitank.html b/obj/item/tool/weldpack/minitank.html new file mode 100644 index 000000000000..2b0db773af49 --- /dev/null +++ b/obj/item/tool/weldpack/minitank.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tool/weldpack/minitank - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

ES-11 fuel canister + + + +

+ + +

Vars

max_fuelJust barely enough to be better than the satchel
+

Var Details

max_fuel + + + + +

+

Just barely enough to be better than the satchel

+ + + diff --git a/obj/item/weapon/gun.html b/obj/item/weapon/gun.html new file mode 100644 index 000000000000..45a7940a7d45 --- /dev/null +++ b/obj/item/weapon/gun.html @@ -0,0 +1,586 @@ + + + + + + + /obj/item/weapon/gun - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

gun + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

PB_burst_bullets_firedWhen PB burst firing and handing off to /fire after a target moves out of range, this is how many bullets have been fired.
accuracy_multMultiplier. Increased and decreased through attachments. Multiplies the projectile's accuracy by this number.
accuracy_mult_unwieldedMultiplier. Increased and decreased through attachments. Multiplies the projectile's accuracy when unwielded by this number.
active_attachableThis will link to one of the attachments, or remain null.
aim_slowdownSelf explanatory. How much does aiming (wielding the gun) slow you
ammoHow the bullet will behave once it leaves the gun, also used for basic bullet damage and effects, etc. +Ammo will be replaced on New() for things that do not use mags.
attachable_allowedMust be the exact path to the attachment present in the list. Empty list for a default.
attachable_offsetIs a list, see examples of from the other files. Initiated on New() because lists don't initial() properly.
attachable_overlaysList of overlays so we can switch them in an out, instead of using Cut() on overlays.
attachmentsList of all current attachments on the gun.
automaticUsed to determine if you can target multiple people.
base_gun_iconthe default gun icon_state. change to reskin the gun
burst_amountHow many shots can the weapon shoot in burst? Anything less than 2 and you cannot toggle burst.
burst_delayThe delay in between shots. Lower = less delay = faster.
burst_scatter_multMultiplier. Increases or decreases how much bonus scatter is added with each bullet during burst fire (wielded only).
caliberDetermines what kind of bullet is created when the gun is unloaded - used to match rounds to magazines. Set automatically when reloading.
cock_cooldownworld.time value, to prevent COCK COCK COCK COCK
cock_delayDelay before we can cock again, in tenths of seconds
damage_buildup_multMultiplier. Increased and decreased through attachments. Multiplies the projectile's damage bleed (buildup) by this number.
damage_falloff_multMultiplier. Increased and decreased through attachments. Multiplies the projectile's damage bleed (falloff) by this number.
damage_multMultiplier. Increased and decreased through attachments. Multiplies the projectile's damage by this number.
delay_styleDetermines what happens when you fire a gun before its wield or pull time has finished. This one is extra scatter and an acc. malus.
effective_range_maxWhat maximum range the weapon deals full damage, tapers off using damage_falloff after hitting this value. 0 for no maximum.
effective_range_minWhat minimum range the weapon deals full damage, builds up the closer you get. 0 for no minimum.
extra_delayWhen burst-firing, this number is extra time before the weapon can fire again. Depends on number of rounds fired.
fa_delayThe delay when firing full-auto
fa_firingWhether or not the gun is firing full-auto
fa_max_scatterHow bad does the scatter get on full auto?
fa_paramsClick parameters to use when firing full-auto
fa_scatter_peakHow many full-auto shots to get to max scatter?
fa_shotsHow many shots have been fired using full-auto. Used to figure out scatter
fa_targetThe atom we're shooting at while full-autoing
fire_delayFor regular shots, how long to wait before firing again.
fire_delay_groupThe group or groups of the gun where a fire delay is applied and the delays applied to each group when the gun is dropped +after being fired
fire_rattleDoes our gun have a unique empty mag sound? If so use instead of pitch shifting.
fire_soundsIf fire_sound is null, it will pick a sound from the list here instead.
guaranteed_delay_timeStoring value for guaranteed delay
gun_categoryOnly guns of the same category can be fired together while dualwielding.
has_empty_iconwhether gun has icon state of (base_gun_icon)_e
has_open_iconwhether gun has icon state of (base_gun_icon)_o
in_chamberWhat is currently in the chamber. Most guns will want something in the chamber upon creation.
last_firedWhen it was last fired, related to world.time.
last_moved_mobUsed to fire faster at more than one person.
movement_onehanded_acc_penalty_multMultiplier. Increased and decreased through attachments. Multiplies the accuracy/scatter penalty of the projectile when firing onehanded while moving.
muzzle_flash_lummuzzle flash brightness
pull_timeStoring value for how long pulling a gun takes before you can use it
random_muzzle_chanceChance for random spawn to give this gun a muzzle attachment.
random_rail_chanceChance for random spawn to give this gun a rail attachment.
random_spawn_chanceChance for random attachments to spawn in general.
random_spawn_muzzleUsed when a gun will have a chance to spawn with attachments.
random_spawn_stockUsed when a gun will have a chance to spawn with attachments.
random_spawn_underUsed when a gun will have a chance to spawn with attachments.
random_stock_chanceChance for random spawn to give this gun a stock attachment.
random_under_chanceChance for random spawn to give this gun a underbarrel attachment.
recoilScreen shake when the weapon is fired.
recoil_buildupThe recoil on a dynamic recoil gun
recoil_buildup_limitThe limit at which the recoil on a gun can reach. Usually the maximum value
recoil_loss_per_secondHow much recoil_buildup is lost per second. Builds up as time passes, and is set to 0 when a single shot is fired
recoil_unwieldedMultiplier. Increased and decreased through attachments. Multiplies the gun's recoil when unwielded by this number.
scatterHow much the bullet scatters when fired.
scatter_unwieldedMultiplier. Increased and decreased through attachments. Multiplies the projectile's scatter when the gun is unwielded by this number.
starting_attachment_typesWhat attachments this gun starts with THAT CAN BE REMOVED. Important to avoid nuking the attachments on restocking! Added on New()
targetList of who yer targeting.
told_cant_shootSo that it doesn't spam them with the fact they cannot hit them.
traits_to_give
velocity_addAdded velocity to fired bullet.
wield_delayHow long between wielding and firing in tenths of seconds
wield_timeStoring value for wield delay.

Procs

add_bullet_traits@bullet_trait_entries: A list of bullet trait entries
disconnect_light_from_mobThis function disconnects the luminosity from the mob and back to the gun
has_ammunitionReturns TRUE if the weapon is loaded. Separate proc because there's no single way to check this for all weapons: chamber isn't always loaded, +not all weapons use normal magazines etc. load_into_chamber() itself is designed to be called immediately before firing, and isn't suitable.
is_civilian_usableReturns one of the two override values if either are null, preferring the argument value. +Otherwise, returns TRUE if it is in a civilian usable category (Handguns or SMGs), FALSE if it is not.
load_into_chamberload_into_chamber(), reload_into_chamber(), and clear_jam() do all of the heavy lifting. +If you need to change up how a gun fires, just change these procs for that subtype +and you're good to go.
remove_bullet_traits@bullet_traits: A list of bullet trait typepaths or ids
set_bullet_traitsPopulate traits_to_give in this proc
turn_off_lightThis function actually turns the lights on the gun off
unload_chamberUnload a chambered round, if one exists, and empty the chamber.
+

Var Details

PB_burst_bullets_fired + + + + +

+

When PB burst firing and handing off to /fire after a target moves out of range, this is how many bullets have been fired.

accuracy_mult + + + + +

+

Multiplier. Increased and decreased through attachments. Multiplies the projectile's accuracy by this number.

accuracy_mult_unwielded + + + + +

+

Multiplier. Increased and decreased through attachments. Multiplies the projectile's accuracy when unwielded by this number.

active_attachable + + + + +

+

This will link to one of the attachments, or remain null.

aim_slowdown + + + + +

+

Self explanatory. How much does aiming (wielding the gun) slow you

ammo + + + + +

+

How the bullet will behave once it leaves the gun, also used for basic bullet damage and effects, etc. +Ammo will be replaced on New() for things that do not use mags.

attachable_allowed + + + + +

+

Must be the exact path to the attachment present in the list. Empty list for a default.

attachable_offset + + + + +

+

Is a list, see examples of from the other files. Initiated on New() because lists don't initial() properly.

attachable_overlays + + + + +

+

List of overlays so we can switch them in an out, instead of using Cut() on overlays.

attachments + + + + +

+

List of all current attachments on the gun.

automatic + + + + +

+

Used to determine if you can target multiple people.

base_gun_icon + + + + +

+

the default gun icon_state. change to reskin the gun

burst_amount + + + + +

+

How many shots can the weapon shoot in burst? Anything less than 2 and you cannot toggle burst.

burst_delay + + + + +

+

The delay in between shots. Lower = less delay = faster.

burst_scatter_mult + + + + +

+

Multiplier. Increases or decreases how much bonus scatter is added with each bullet during burst fire (wielded only).

caliber + + + + +

+

Determines what kind of bullet is created when the gun is unloaded - used to match rounds to magazines. Set automatically when reloading.

cock_cooldown + + + + +

+

world.time value, to prevent COCK COCK COCK COCK

cock_delay + + + + +

+

Delay before we can cock again, in tenths of seconds

damage_buildup_mult + + + + +

+

Multiplier. Increased and decreased through attachments. Multiplies the projectile's damage bleed (buildup) by this number.

damage_falloff_mult + + + + +

+

Multiplier. Increased and decreased through attachments. Multiplies the projectile's damage bleed (falloff) by this number.

damage_mult + + + + +

+

Multiplier. Increased and decreased through attachments. Multiplies the projectile's damage by this number.

delay_style + + + + +

+

Determines what happens when you fire a gun before its wield or pull time has finished. This one is extra scatter and an acc. malus.

effective_range_max + + + + +

+

What maximum range the weapon deals full damage, tapers off using damage_falloff after hitting this value. 0 for no maximum.

effective_range_min + + + + +

+

What minimum range the weapon deals full damage, builds up the closer you get. 0 for no minimum.

extra_delay + + + + +

+

When burst-firing, this number is extra time before the weapon can fire again. Depends on number of rounds fired.

fa_delay + + + + +

+

The delay when firing full-auto

fa_firing + + + + +

+

Whether or not the gun is firing full-auto

fa_max_scatter + + + + +

+

How bad does the scatter get on full auto?

fa_params + + + + +

+

Click parameters to use when firing full-auto

fa_scatter_peak + + + + +

+

How many full-auto shots to get to max scatter?

fa_shots + + + + +

+

How many shots have been fired using full-auto. Used to figure out scatter

fa_target + + + + +

+

The atom we're shooting at while full-autoing

fire_delay + + + + +

+

For regular shots, how long to wait before firing again.

fire_delay_group + + + + +

+

The group or groups of the gun where a fire delay is applied and the delays applied to each group when the gun is dropped +after being fired

+

Guns with this var set will apply the gun's remaining fire delay to any other guns in the same group

+

Set as null (does not apply any fire delays to any other gun group) or a list of fire delay groups (string defines) +matched with the corresponding fire delays applied

fire_rattle + + + + +

+

Does our gun have a unique empty mag sound? If so use instead of pitch shifting.

fire_sounds + + + + +

+

If fire_sound is null, it will pick a sound from the list here instead.

guaranteed_delay_time + + + + +

+

Storing value for guaranteed delay

gun_category + + + + +

+

Only guns of the same category can be fired together while dualwielding.

has_empty_icon + + + + +

+

whether gun has icon state of (base_gun_icon)_e

has_open_icon + + + + +

+

whether gun has icon state of (base_gun_icon)_o

in_chamber + + + + +

+

What is currently in the chamber. Most guns will want something in the chamber upon creation.

last_fired + + + + +

+

When it was last fired, related to world.time.

last_moved_mob + + + + +

+

Used to fire faster at more than one person.

movement_onehanded_acc_penalty_mult + + + + +

+

Multiplier. Increased and decreased through attachments. Multiplies the accuracy/scatter penalty of the projectile when firing onehanded while moving.

muzzle_flash_lum + + + + +

+

muzzle flash brightness

pull_time + + + + +

+

Storing value for how long pulling a gun takes before you can use it

random_muzzle_chance + + + + +

+

Chance for random spawn to give this gun a muzzle attachment.

random_rail_chance + + + + +

+

Chance for random spawn to give this gun a rail attachment.

random_spawn_chance + + + + +

+

Chance for random attachments to spawn in general.

random_spawn_muzzle + + + + +

+

Used when a gun will have a chance to spawn with attachments.

random_spawn_stock + + + + +

+

Used when a gun will have a chance to spawn with attachments.

random_spawn_under + + + + +

+

Used when a gun will have a chance to spawn with attachments.

random_stock_chance + + + + +

+

Chance for random spawn to give this gun a stock attachment.

random_under_chance + + + + +

+

Chance for random spawn to give this gun a underbarrel attachment.

recoil + + + + +

+

Screen shake when the weapon is fired.

recoil_buildup + + + + +

+

The recoil on a dynamic recoil gun

recoil_buildup_limit + + + + +

+

The limit at which the recoil on a gun can reach. Usually the maximum value

recoil_loss_per_second + + + + +

+

How much recoil_buildup is lost per second. Builds up as time passes, and is set to 0 when a single shot is fired

recoil_unwielded + + + + +

+

Multiplier. Increased and decreased through attachments. Multiplies the gun's recoil when unwielded by this number.

scatter + + + + +

+

How much the bullet scatters when fired.

scatter_unwielded + + + + +

+

Multiplier. Increased and decreased through attachments. Multiplies the projectile's scatter when the gun is unwielded by this number.

starting_attachment_types + + + + +

+

What attachments this gun starts with THAT CAN BE REMOVED. Important to avoid nuking the attachments on restocking! Added on New()

target + + + + +

+

List of who yer targeting.

told_cant_shoot + + + + +

+

So that it doesn't spam them with the fact they cannot hit them.

traits_to_give + + + + +

+
    +
  • An assoc list in the format list(/datum/element/bullet_trait_to_give = list(...args)) +that will be given to a projectile with the current ammo datum*
  • +

velocity_add + + + + +

+

Added velocity to fired bullet.

wield_delay + + + + +

+

How long between wielding and firing in tenths of seconds

wield_time + + + + +

+

Storing value for wield delay.

Proc Details

add_bullet_traits +

+

@bullet_trait_entries: A list of bullet trait entries

disconnect_light_from_mob +

+

This function disconnects the luminosity from the mob and back to the gun

has_ammunition +

+

Returns TRUE if the weapon is loaded. Separate proc because there's no single way to check this for all weapons: chamber isn't always loaded, +not all weapons use normal magazines etc. load_into_chamber() itself is designed to be called immediately before firing, and isn't suitable.

is_civilian_usable +

+

Returns one of the two override values if either are null, preferring the argument value. +Otherwise, returns TRUE if it is in a civilian usable category (Handguns or SMGs), FALSE if it is not.

load_into_chamber +

+

load_into_chamber(), reload_into_chamber(), and clear_jam() do all of the heavy lifting. +If you need to change up how a gun fires, just change these procs for that subtype +and you're good to go.

remove_bullet_traits +

+

@bullet_traits: A list of bullet trait typepaths or ids

set_bullet_traits +

+

Populate traits_to_give in this proc

turn_off_light +

+

This function actually turns the lights on the gun off

unload_chamber +

+

Unload a chambered round, if one exists, and empty the chamber.

+ + + diff --git a/obj/item/weapon/gun/energy/taser.html b/obj/item/weapon/gun/energy/taser.html new file mode 100644 index 000000000000..7e997dec4591 --- /dev/null +++ b/obj/item/weapon/gun/energy/taser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/weapon/gun/energy/taser - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

disabler gun + + + +

+ + + +

Vars

modeDetermines if the taser will hit any target, or if it checks for wanted status. Default is wanted only.

Procs

change_modeChanges between targetting wanted persons or any persons. Originally used by unique_action, made own proc to allow for use in action button too.
+

Var Details

mode + + + + +

+

Determines if the taser will hit any target, or if it checks for wanted status. Default is wanted only.

Proc Details

change_mode +

+

Changes between targetting wanted persons or any persons. Originally used by unique_action, made own proc to allow for use in action button too.

+ + + diff --git a/obj/item/weapon/gun/launcher.html b/obj/item/weapon/gun/launcher.html new file mode 100644 index 000000000000..ed2235ae1f02 --- /dev/null +++ b/obj/item/weapon/gun/launcher.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/weapon/gun/launcher - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/item/weapon/gun/launcher + + + +

+ + + + + + + + + + +

Vars

GL_has_empty_icongun update_icon doesn't detect that guns with no magazine are loaded or not, and will always append _o or _e if possible.
GL_has_open_icongun update_icon doesn't detect that guns with no magazine are loaded or not, and will always append _o or _e if possible.
cylinderInternal storage item used as magazine. Must be initialised to work! Set parameters by variables or it will inherit standard numbers from storage.dm. Got to call it something and 'magazine' or w/e would be confusing.
direct_drawWhether clicking a held weapon with an empty hand will open its inventory or draw a munition out.
has_cylinderVariable that initializes the above.
internal_max_w_classhow big an item can be inserted.
internal_slotsHow many items can be inserted. "Null" = backpack-style size-based inventory. You'll have to set max_storage_space too if you do that, and arrange any initial contents. Iff you arrange to put in more items than the storage can hold, they can be taken out but not replaced.
preloadWhat single item to fill the storage with, if any. This does not respect w_class.
use_soundthe sfx played when the storage is opened.
+

Var Details

GL_has_empty_icon + + + + +

+

gun update_icon doesn't detect that guns with no magazine are loaded or not, and will always append _o or _e if possible.

GL_has_open_icon + + + + +

+

gun update_icon doesn't detect that guns with no magazine are loaded or not, and will always append _o or _e if possible.

cylinder + + + + +

+

Internal storage item used as magazine. Must be initialised to work! Set parameters by variables or it will inherit standard numbers from storage.dm. Got to call it something and 'magazine' or w/e would be confusing.

direct_draw + + + + +

+

Whether clicking a held weapon with an empty hand will open its inventory or draw a munition out.

has_cylinder + + + + +

+

Variable that initializes the above.

internal_max_w_class + + + + +

+

how big an item can be inserted.

internal_slots + + + + +

+

How many items can be inserted. "Null" = backpack-style size-based inventory. You'll have to set max_storage_space too if you do that, and arrange any initial contents. Iff you arrange to put in more items than the storage can hold, they can be taken out but not replaced.

preload + + + + +

+

What single item to fill the storage with, if any. This does not respect w_class.

use_sound + + + + +

+

the sfx played when the storage is opened.

+ + + diff --git a/obj/item/weapon/gun/launcher/grenade.html b/obj/item/weapon/gun/launcher/grenade.html new file mode 100644 index 000000000000..29098ab9c571 --- /dev/null +++ b/obj/item/weapon/gun/launcher/grenade.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/weapon/gun/launcher/grenade - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/item/weapon/gun/launcher/grenade + + + +

+ + + + + +

Vars

disallowed_grenade_typesVerboten munitions. This is a blacklist. Anything in this list isn't loadable.
is_lobbingDoes it launch its grenades in a low arc or a high? Do they strike people in their path, or fly beyond?
open_chamberCan you access the storage by clicking it, put things into it, or take things out? Meant for break-actions mostly but useful for any state where you want access to be toggleable. Make sure to call cylinder.close(user) so they don't still have the screen open!
valid_munitionsWhat is this weapon permitted to fire? This is a whitelist. Anything in this list can be fired. Anything.
+

Var Details

disallowed_grenade_types + + + + +

+

Verboten munitions. This is a blacklist. Anything in this list isn't loadable.

is_lobbing + + + + +

+

Does it launch its grenades in a low arc or a high? Do they strike people in their path, or fly beyond?

open_chamber + + + + +

+

Can you access the storage by clicking it, put things into it, or take things out? Meant for break-actions mostly but useful for any state where you want access to be toggleable. Make sure to call cylinder.close(user) so they don't still have the screen open!

valid_munitions + + + + +

+

What is this weapon permitted to fire? This is a whitelist. Anything in this list can be fired. Anything.

+ + + diff --git a/obj/item/weapon/gun/pistol/highpower.html b/obj/item/weapon/gun/pistol/highpower.html new file mode 100644 index 000000000000..c2438c9241bb --- /dev/null +++ b/obj/item/weapon/gun/pistol/highpower.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/weapon/gun/pistol/highpower - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

MK-45 'High-Power' Automagnum + + + +

+ + +

Vars

manually_slidedThis weapon needs to be manually racked every time a new magazine is loaded. I tried and failed to touch gun shitcode so this will do.
+

Var Details

manually_slided + + + + +

+

This weapon needs to be manually racked every time a new magazine is loaded. I tried and failed to touch gun shitcode so this will do.

+ + + diff --git a/obj/item/weapon/gun/shotgun/double/twobore.html b/obj/item/weapon/gun/shotgun/double/twobore.html new file mode 100644 index 000000000000..a4d89aecfafc --- /dev/null +++ b/obj/item/weapon/gun/shotgun/double/twobore.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/weapon/gun/shotgun/double/twobore - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

two-bore rifle + + + +

+ + +

Procs

unbraceReturns TRUE if the gun was braced.

Proc Details

unbrace +

+

Returns TRUE if the gun was braced.

+ + + diff --git a/obj/item/weapon/gun/smartgun.html b/obj/item/weapon/gun/smartgun.html new file mode 100644 index 000000000000..2a3b8d887251 --- /dev/null +++ b/obj/item/weapon/gun/smartgun.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/weapon/gun/smartgun - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

M56B smartgun + + + +

+ + + + +

Vars

requires_batteryWhether the smartgun requires a battery
requires_harnessWhether the smartgun requires a harness to use
requires_powerWhether the smartgun drains the battery (Ignored if requires_battery is false)
+

Var Details

requires_battery + + + + +

+

Whether the smartgun requires a battery

requires_harness + + + + +

+

Whether the smartgun requires a harness to use

requires_power + + + + +

+

Whether the smartgun drains the battery (Ignored if requires_battery is false)

+ + + diff --git a/obj/item/weapon/gun/smartgun/dirty.html b/obj/item/weapon/gun/smartgun/dirty.html new file mode 100644 index 000000000000..904884088042 --- /dev/null +++ b/obj/item/weapon/gun/smartgun/dirty.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/weapon/gun/smartgun/dirty - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

M56D 'Dirty' smartgun + + + +

+ + +

Vars

flags_gun_featuresToggled ammo type
+

Var Details

flags_gun_features + + + + +

+

Toggled ammo type

+ + + diff --git a/obj/item/weapon/twohanded/lungemine.html b/obj/item/weapon/twohanded/lungemine.html new file mode 100644 index 000000000000..c3ec37bb6fb5 --- /dev/null +++ b/obj/item/weapon/twohanded/lungemine.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/weapon/twohanded/lungemine - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

lunge mine + + + +

+ + +

Vars

detonation_forceThis controls how strong the explosion will be on the lunge mine. Higher is better.
+

Var Details

detonation_force + + + + +

+

This controls how strong the explosion will be on the lunge mine. Higher is better.

+ + + diff --git a/obj/limb.html b/obj/limb.html new file mode 100644 index 000000000000..6b43c98d2ab8 --- /dev/null +++ b/obj/limb.html @@ -0,0 +1,186 @@ + + + + + + + /obj/limb - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

limb + + + +

+ + + + + + + + + + + + + + + + + +

Vars

cavityName of internal cavity.
encasedName of bones encasing the limb.
hiddenSurgically implanted item.
implantsEmbedded or implanter implanted items.

Procs

add_bleedingAdds bleeding to the limb. Damage_amount lets you apply an amount worth of bleeding, otherwise it uses the given wound's damage.
bandagebandages brute wounds and removes bleeding. Returns WOUNDS_BANDAGED if at least one wound was bandaged. Returns WOUNDS_ALREADY_TREATED +if a relevant wound exists but none were treated. Skips wounds that are already bandaged. +treat_sutured var tells it to apply to sutured but unbandaged wounds, for trauma kits that heal damage directly.
get_active_limb_surgeriesReturns a description of active surgeries.
get_damageReturns total damage, or, if broken, the minimum fracture threshold, whichever is higher.
get_incision_depthReturns a description of opened incisions.
is_bandagedChecks for bandageable wounds (type = CUT or type = BRUISE). Returns TRUE if all are bandaged, FALSE if not.
is_salvedChecks for salveable wounds (type = BURN). Returns TRUE if all are salved, FALSE if not.
limb_delimbSpecial delimbs for different limbs
remove_wound_bleedingChecks if there's any external limb wounds, removes bleeding if there isn't.
reset_limb_surgeriescalled when limb is removed or robotized, any ongoing surgery and related vars are reset unless set otherwise.
salvesalves burn wounds. Returns WOUNDS_BANDAGED if at least one wound was salved. Returns WOUNDS_ALREADY_TREATED if a relevant wound exists but none were treated. +Skips wounds that are already salved. +treat_grafted var tells it to apply to grafted but unsalved wounds, for burn kits that heal damage directly.
take_damageDescribes how limbs (body parts) of human mobs get damage applied.
+

Var Details

cavity + + + + +

+

Name of internal cavity.

encased + + + + +

+

Name of bones encasing the limb.

hidden + + + + +

+

Surgically implanted item.

implants + + + + +

+

Embedded or implanter implanted items.

Proc Details

add_bleeding +

+

Adds bleeding to the limb. Damage_amount lets you apply an amount worth of bleeding, otherwise it uses the given wound's damage.

bandage +

+

bandages brute wounds and removes bleeding. Returns WOUNDS_BANDAGED if at least one wound was bandaged. Returns WOUNDS_ALREADY_TREATED +if a relevant wound exists but none were treated. Skips wounds that are already bandaged. +treat_sutured var tells it to apply to sutured but unbandaged wounds, for trauma kits that heal damage directly.

get_active_limb_surgeries +

+

Returns a description of active surgeries.

get_damage +

+

Returns total damage, or, if broken, the minimum fracture threshold, whichever is higher.

get_incision_depth +

+

Returns a description of opened incisions.

is_bandaged +

+

Checks for bandageable wounds (type = CUT or type = BRUISE). Returns TRUE if all are bandaged, FALSE if not.

is_salved +

+

Checks for salveable wounds (type = BURN). Returns TRUE if all are salved, FALSE if not.

limb_delimb +

+

Special delimbs for different limbs

remove_wound_bleeding +

+

Checks if there's any external limb wounds, removes bleeding if there isn't.

reset_limb_surgeries +

+

called when limb is removed or robotized, any ongoing surgery and related vars are reset unless set otherwise.

salve +

+

salves burn wounds. Returns WOUNDS_BANDAGED if at least one wound was salved. Returns WOUNDS_ALREADY_TREATED if a relevant wound exists but none were treated. +Skips wounds that are already salved. +treat_grafted var tells it to apply to grafted but unsalved wounds, for burn kits that heal damage directly.

take_damage +

+

Describes how limbs (body parts) of human mobs get damage applied.

+

Any damage past the limb maximum health is transfered onto the next limb up the line, by +calling this proc recursively. When a hand is too damaged it is passed to the arm, +then to the chest and so on.

+

Since parent limbs usually have more armor than their children, just passing the damage +directly would allow the attacker to effectively bypass all of that armor. A lurker +with 35 slash damage repeatedly slashing a hand protected by marine combat gloves +(20 armor) would do 20 damage to the hand, then would start doing the same 20 to +the arm, and then the chest. But if the lurker slashes the arm direclty it would only +do 16 damage, assuming the marine is wearing medium armor which has armor value of 30.

+

Thus we have to apply armor damage reduction on each limb to which the damage is +transfered. When this proc is called recursively for the first damage transfer to the +parent, we set reduced_by variables to be the armor of the original limb hit. Then we +compare the parent limb armor with the applicable reduced_by and if it's higher we reduce +the damage by the difference between the two. Then we set reduced_by to +the current(parent) limb armor value.

+

This generally works ok because our armor calculations are mostly distributive in +practice: reducing the damage by 20 and then by 10 would generally give the same result +as reducing by 30. But this is not strictly true, the lower the damage is, the more it +gets reduced. As an extreme example, a lurker doing his first 35 damage slash on a combat +gloves covered marine hand would do 30 damage to the hand, transfer 5 to the arm and +those 5 would get mitigated to 0 by the marine medium armor.

+

One problem that still exists here, is that we currently don't have any code +that allows us to increase the damage when the parent limb armor is lower than the +initial child limb armor. +One practical example where this would happen is when a human is wearing a set of armor +that does not protect legs, like the UPP officer. If a xeno keeps slashing his foot, +the damage would eventually get transfered to the leg, which has 0 armor. But this damage +has been already reduced by the boot armor even before this proc got first called. +So, assuming 35 damage slash, the leg would only be damaged by 21 even though it has +0 armor. Fixing this would require a new proc that would be able to unapply armor +from the damage.

+

Organ damage and bone break have their own armor damage reduction calculations. Since +armor is already applied at least once outside of this proc, this means that damage is always +reduced twice, hence the formulas for those looks so weird.

+

Currently all brute damage is reduced by ARMOR_MELEE and GLOB.marine_melee, +while burn damage is reduced by ARMOR_BIO and GLOB.marine_fire, which may not be correct +for all cases.

+ + + diff --git a/obj/limb/head.html b/obj/limb/head.html new file mode 100644 index 000000000000..86a36d5bbebb --- /dev/null +++ b/obj/limb/head.html @@ -0,0 +1,35 @@ + + + + + + + /obj/limb/head - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

head + + + +

+ + +

Procs

update_overlaysSpecifically, damage overlays. Severed limb gore effects are applied elsewhere.

Proc Details

update_overlays +

+

Specifically, damage overlays. Severed limb gore effects are applied elsewhere.

+ + + diff --git a/obj/structure/barricade.html b/obj/structure/barricade.html new file mode 100644 index 000000000000..b1816c286552 --- /dev/null +++ b/obj/structure/barricade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/barricade - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/structure/barricade + + + +

+ + +

Vars

starting_maxhealthUsed for calculating some stuff related to maxhealth as it constantly changes due to e.g. barbed wire. set to 100 to avoid possible divisions by zero
+

Var Details

starting_maxhealth + + + + +

+

Used for calculating some stuff related to maxhealth as it constantly changes due to e.g. barbed wire. set to 100 to avoid possible divisions by zero

+ + + diff --git a/obj/structure/bed.html b/obj/structure/bed.html new file mode 100644 index 000000000000..c18b37a50916 --- /dev/null +++ b/obj/structure/bed.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/bed - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

bed + + + +

+ + +

Vars

buckling_soundSound when buckled to a bed/chair/stool
+

Var Details

buckling_sound + + + + +

+

Sound when buckled to a bed/chair/stool

+ + + diff --git a/obj/structure/bed/nest.html b/obj/structure/bed/nest.html new file mode 100644 index 000000000000..1a51f8130fbb --- /dev/null +++ b/obj/structure/bed/nest.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/bed/nest - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

alien nest + + + +

+ + + +

Vars

buckled_mob_densitysaves the density of the buckled_mob
buckling_xcounterpart to buckling_y --> offsets the buckled mob when it buckles
+

Var Details

buckled_mob_density + + + + +

+

saves the density of the buckled_mob

buckling_x + + + + +

+

counterpart to buckling_y --> offsets the buckled mob when it buckles

+ + + diff --git a/obj/structure/blocker/tent.html b/obj/structure/blocker/tent.html new file mode 100644 index 000000000000..b88a53bd5ead --- /dev/null +++ b/obj/structure/blocker/tent.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/blocker/tent - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Tent Blocker + + + +

+ +

Invisible Blocker Walls, they link up with the main tent and collapse with it

+

Vars

linked_tentThe tent this blocker relates to, will be destroyed along with it
+

Var Details

linked_tent + + + + +

+

The tent this blocker relates to, will be destroyed along with it

+ + + diff --git a/obj/structure/cable.html b/obj/structure/cable.html new file mode 100644 index 000000000000..a78c587f1d07 --- /dev/null +++ b/obj/structure/cable.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/cable - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

power cable + + + +

+ + + +

Procs

get_connectionsZ-Level Stuff +Z-Level Stuff +Z-Level Stuff +Z-Level Stuff
shockZ-Level Stuff +Z-Level Stuff

Proc Details

get_connections +

+

Z-Level Stuff +Z-Level Stuff +Z-Level Stuff +Z-Level Stuff

shock +

+

Z-Level Stuff +Z-Level Stuff

+ + + diff --git a/obj/structure/closet/bodybag.html b/obj/structure/closet/bodybag.html new file mode 100644 index 000000000000..62e817195a8a --- /dev/null +++ b/obj/structure/closet/bodybag.html @@ -0,0 +1,64 @@ + + + + + + + /obj/structure/closet/bodybag - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

body bag + + + +

+ + + + + + +

Vars

buckle_offsetHow many extra pixels to offset the bag by when buckled, since rollerbeds are set up to offset a centered horizontal human sprite.
drag_delayslightly easier than to drag the body directly.
layerTo layer above rollerbeds.
open_cooldownthe active var that tracks the cooldown for opening and closing
roller_buckledthe roller bed this bodybag is attached to.
+

Var Details

buckle_offset + + + + +

+

How many extra pixels to offset the bag by when buckled, since rollerbeds are set up to offset a centered horizontal human sprite.

drag_delay + + + + +

+

slightly easier than to drag the body directly.

layer + + + + +

+

To layer above rollerbeds.

open_cooldown + + + + +

+

the active var that tracks the cooldown for opening and closing

roller_buckled + + + + +

+

the roller bed this bodybag is attached to.

+ + + diff --git a/obj/structure/closet/bodybag/cryobag.html b/obj/structure/closet/bodybag/cryobag.html new file mode 100644 index 000000000000..c0ca9754c848 --- /dev/null +++ b/obj/structure/closet/bodybag/cryobag.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/closet/bodybag/cryobag - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

stasis bag + + + +

+ + + + +

Vars

last_useremembers the value of used, to delay crostasis start.
max_uses15 mins of usable cryostasis
stasis_mobthe mob in stasis
+

Var Details

last_use + + + + +

+

remembers the value of used, to delay crostasis start.

max_uses + + + + +

+

15 mins of usable cryostasis

stasis_mob + + + + +

+

the mob in stasis

+ + + diff --git a/obj/structure/closet/bodybag/tarp.html b/obj/structure/closet/bodybag/tarp.html new file mode 100644 index 000000000000..7e20cedcdc3c --- /dev/null +++ b/obj/structure/closet/bodybag/tarp.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/closet/bodybag/tarp - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

V1 thermal-dampening tarp + + + +

+ + +

Vars

toggle_delayused to implement a delay before tarp can be entered again after opened (anti-exploit)
+

Var Details

toggle_delay + + + + +

+

used to implement a delay before tarp can be entered again after opened (anti-exploit)

+ + + diff --git a/obj/structure/disposalconstruct.html b/obj/structure/disposalconstruct.html new file mode 100644 index 000000000000..9dd838a67d6d --- /dev/null +++ b/obj/structure/disposalconstruct.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/disposalconstruct - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

disposal pipe segment + + + +

+ + + +

Procs

attackbyZ-Level stuff +Z-Level stuff
hideZ-Level stuff +Z-Level stuff +Z-Level stuff +Z-Level stuff

Proc Details

attackby +

+

Z-Level stuff +Z-Level stuff

hide +

+

Z-Level stuff +Z-Level stuff +Z-Level stuff +Z-Level stuff

+ + + diff --git a/obj/structure/droppod.html b/obj/structure/droppod.html new file mode 100644 index 000000000000..99056d3efa2b --- /dev/null +++ b/obj/structure/droppod.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/droppod - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

droppod + + + +

+ + + +

Vars

special_structure_damageAmount of damage structures will take on landing
special_structures_to_damageList of special structures drop pod will give damage to
+

Var Details

special_structure_damage + + + + +

+

Amount of damage structures will take on landing

special_structures_to_damage + + + + +

+

List of special structures drop pod will give damage to

+ + + diff --git a/obj/structure/dropship_equipment/weapon.html b/obj/structure/dropship_equipment/weapon.html new file mode 100644 index 000000000000..00505105ca24 --- /dev/null +++ b/obj/structure/dropship_equipment/weapon.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/dropship_equipment/weapon - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

abstract weapon + + + +

+ +

CAS Dropship weaponry, used for aerial bombardment

+ + +

Vars

fire_mission_onlyTrue if this weapon can only be fired in Fire Missions (not Direct)
firing_delayDelay between firing, in deciseconds
last_firedTime last fired, for weapon firing cooldown
+

Var Details

fire_mission_only + + + + +

+

True if this weapon can only be fired in Fire Missions (not Direct)

firing_delay + + + + +

+

Delay between firing, in deciseconds

last_fired + + + + +

+

Time last fired, for weapon firing cooldown

+ + + diff --git a/obj/structure/flora/pottedplant.html b/obj/structure/flora/pottedplant.html new file mode 100644 index 000000000000..01434ff762ff --- /dev/null +++ b/obj/structure/flora/pottedplant.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/flora/pottedplant - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

potted plant + + + +

+ + +

Vars

blocked_atomsFor things that might affect someone/everyone's round if hidden.
+

Var Details

blocked_atoms + + + + +

+

For things that might affect someone/everyone's round if hidden.

+ + + diff --git a/obj/structure/largecrate.html b/obj/structure/largecrate.html new file mode 100644 index 000000000000..4a866f65d500 --- /dev/null +++ b/obj/structure/largecrate.html @@ -0,0 +1,37 @@ + + + + + + + /obj/structure/largecrate - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

large crate + + + +

+ + +

Procs

move_to_bottomStore the reference of the crate material +Custom proc to move an object to the bottom of the turf's contents

Proc Details

move_to_bottom +

+

Store the reference of the crate material +Custom proc to move an object to the bottom of the turf's contents

+ + + diff --git a/obj/structure/largecrate/black_market.html b/obj/structure/largecrate/black_market.html new file mode 100644 index 000000000000..b7d44ee687a8 --- /dev/null +++ b/obj/structure/largecrate/black_market.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/largecrate/black_market - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/structure/largecrate/black_market + + + +

+ + +

Vars

points_wipeWipes points from objects inside to avoid infinite farming.
+

Var Details

points_wipe + + + + +

+

Wipes points from objects inside to avoid infinite farming.

+ + + diff --git a/obj/structure/largecrate/black_market/clf_supplies.html b/obj/structure/largecrate/black_market/clf_supplies.html new file mode 100644 index 000000000000..25f742fee0dd --- /dev/null +++ b/obj/structure/largecrate/black_market/clf_supplies.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/largecrate/black_market/clf_supplies - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

unmarked CLF supply crate + + + +

+ + +

Vars

forced_rngIf you want to use this in mapping, you can force-set the contents via this.
+

Var Details

forced_rng + + + + +

+

If you want to use this in mapping, you can force-set the contents via this.

+ + + diff --git a/obj/structure/machinery/ares.html b/obj/structure/machinery/ares.html new file mode 100644 index 000000000000..8a23491b32db --- /dev/null +++ b/obj/structure/machinery/ares.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/machinery/ares - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

ARES Machinery + + + +

+ + +

Procs

link_systemsHandles linking and de-linking the ARES systems.

Proc Details

+

Handles linking and de-linking the ARES systems.

+ + + diff --git a/obj/structure/machinery/autodispenser.html b/obj/structure/machinery/autodispenser.html new file mode 100644 index 000000000000..afdf463b35d0 --- /dev/null +++ b/obj/structure/machinery/autodispenser.html @@ -0,0 +1,99 @@ + + + + + + + /obj/structure/machinery/autodispenser - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Turing Dispenser + + + +

+ + + + + + + + + + + +

Vars

errorError status message
input_containerContains vials for our program
linked_storageWhere we take chemicals from
output_containerOur output beaker
program_amounthow much to dispense with each program item, 1 = memory, 2 = box
programsthe program of chem datums to dispense, 1 = memory, 2 = box
stageRemember where we are
stage_missingHow much we have left to dispense, if we didn't have enough
status0 = idle, <0 = stuck, 1 = finished, 2 = running
tgui_friendly_program_listsnowflake list for tgui, 1 = memory, 2 = box
+

Var Details

error + + + + +

+

Error status message

input_container + + + + +

+

Contains vials for our program

linked_storage + + + + +

+

Where we take chemicals from

output_container + + + + +

+

Our output beaker

program_amount + + + + +

+

how much to dispense with each program item, 1 = memory, 2 = box

programs + + + + +

+

the program of chem datums to dispense, 1 = memory, 2 = box

stage + + + + +

+

Remember where we are

stage_missing + + + + +

+

How much we have left to dispense, if we didn't have enough

status + + + + +

+

0 = idle, <0 = stuck, 1 = finished, 2 = running

tgui_friendly_program_list + + + + +

+

snowflake list for tgui, 1 = memory, 2 = box

+ + + diff --git a/obj/structure/machinery/autolathe.html b/obj/structure/machinery/autolathe.html new file mode 100644 index 000000000000..f10919788a36 --- /dev/null +++ b/obj/structure/machinery/autolathe.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/machinery/autolathe - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

autolathe + + + +

+ + + + + +

Vars

currently_making_datathe item the autolathe is currently printing. Used for tgui
queuequeue of items to be printed after the current one is done
queue_maxmax length of the queue
tgui_themetheme for tgui
+

Var Details

currently_making_data + + + + +

+

the item the autolathe is currently printing. Used for tgui

queue + + + + +

+

queue of items to be printed after the current one is done

queue_max + + + + +

+

max length of the queue

tgui_theme + + + + +

+

theme for tgui

+ + + diff --git a/obj/structure/machinery/brig_cell.html b/obj/structure/machinery/brig_cell.html new file mode 100644 index 000000000000..68c8456b11a2 --- /dev/null +++ b/obj/structure/machinery/brig_cell.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/machinery/brig_cell - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Cell Controller + + + +

+ + + + + + + +

Vars

active_reportThe report currently ticking down the clock.
idid of door it controls.
incident_reportsThe incident reports currently inserted into this machine.
picture_stateicon_state of alert picture, if not displaying text/numbers
targetsA list of World objects this machine controls.
viewed_reportThe report currently being viewed.
+

Var Details

active_report + + + + +

+

The report currently ticking down the clock.

id + + + + +

+

id of door it controls.

incident_reports + + + + +

+

The incident reports currently inserted into this machine.

picture_state + + + + +

+

icon_state of alert picture, if not displaying text/numbers

targets + + + + +

+

A list of World objects this machine controls.

viewed_report + + + + +

+

The report currently being viewed.

+ + + diff --git a/obj/structure/machinery/computer/ares_console.html b/obj/structure/machinery/computer/ares_console.html new file mode 100644 index 000000000000..fa606fa352fa --- /dev/null +++ b/obj/structure/machinery/computer/ares_console.html @@ -0,0 +1,120 @@ + + + + + + + /obj/structure/machinery/computer/ares_console - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

ARES Interface + + + +

+ + + + + + + + + + + + + + +

Vars

access_listA record of who logged in and when.
deleted_1to1The current deleted chat log of 1:1 conversations being read.
last_loginThe last person to login.
link_idThe ID used to link all devices.
nuke_availableIs nuke request usable or not? (Nuke request is not currently coded to work.)
records_announcementHolds all (/datum/ares_record/announcement)s and (/datum/ares_record/security/security_alert)s
records_asrsHolds all (/datum/ares_record/requisition_log)s
records_bioscanHolds all (/datum/ares_record/bioscan)s
records_bombardmentHolds all (/datum/ares_record/bombardment)s
records_deletionHolds all (/datum/ares_record/deletion)s
records_securityHolds all (/datum/ares_record/security)s and (/datum/ares_record/antiair)s
records_talkingHolds all (/datum/ares_record/talk_log)s
sudo_holderThe person pretending to be last_login
+

Var Details

access_list + + + + +

+

A record of who logged in and when.

deleted_1to1 + + + + +

+

The current deleted chat log of 1:1 conversations being read.

last_login + + + + +

+

The last person to login.

+

The ID used to link all devices.

nuke_available + + + + +

+

Is nuke request usable or not? (Nuke request is not currently coded to work.)

records_announcement + + + + +

+

Holds all (/datum/ares_record/announcement)s and (/datum/ares_record/security/security_alert)s

records_asrs + + + + +

+

Holds all (/datum/ares_record/requisition_log)s

records_bioscan + + + + +

+

Holds all (/datum/ares_record/bioscan)s

records_bombardment + + + + +

+

Holds all (/datum/ares_record/bombardment)s

records_deletion + + + + +

+

Holds all (/datum/ares_record/deletion)s

records_security + + + + +

+

Holds all (/datum/ares_record/security)s and (/datum/ares_record/antiair)s

records_talking + + + + +

+

Holds all (/datum/ares_record/talk_log)s

sudo_holder + + + + +

+

The person pretending to be last_login

+ + + diff --git a/obj/structure/machinery/computer/cameras.html b/obj/structure/machinery/computer/cameras.html new file mode 100644 index 000000000000..b19828d329b1 --- /dev/null +++ b/obj/structure/machinery/computer/cameras.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/machinery/computer/cameras - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

security cameras console + + + +

+ + + +

Vars

last_camera_turfThe turf where the camera was last updated.
range_turfsAll turfs within range of the currently active camera
+

Var Details

last_camera_turf + + + + +

+

The turf where the camera was last updated.

range_turfs + + + + +

+

All turfs within range of the currently active camera

+ + + diff --git a/obj/structure/machinery/computer/objective.html b/obj/structure/machinery/computer/objective.html new file mode 100644 index 000000000000..dd02e7b5be22 --- /dev/null +++ b/obj/structure/machinery/computer/objective.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/machinery/computer/objective - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

data terminal + + + +

+ + +

Procs

ex_actDisabled explosions due to issues with the Objectives UI should it be destroyed.

Proc Details

ex_act +

+

Disabled explosions due to issues with the Objectives UI should it be destroyed.

+ + + diff --git a/obj/structure/machinery/computer/overwatch.html b/obj/structure/machinery/computer/overwatch.html new file mode 100644 index 000000000000..e950be3e06e6 --- /dev/null +++ b/obj/structure/machinery/computer/overwatch.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/machinery/computer/overwatch - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Overwatch Console + + + +

+ + +

Procs

handle_supplydropProject ARES interface log.

Proc Details

handle_supplydrop +

+

Project ARES interface log.

+ + + diff --git a/obj/structure/machinery/computer/overwatch/tent.html b/obj/structure/machinery/computer/overwatch/tent.html new file mode 100644 index 000000000000..d7d40a8b6cc3 --- /dev/null +++ b/obj/structure/machinery/computer/overwatch/tent.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/machinery/computer/overwatch/tent - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/obj/structure/machinery/computer/overwatch/tent + + + +

+ + +

Procs

InitializeGroundside console

Proc Details

Initialize +

+

Groundside console

+ + + diff --git a/obj/structure/machinery/computer/railgun.html b/obj/structure/machinery/computer/railgun.html new file mode 100644 index 000000000000..9944f5991d5c --- /dev/null +++ b/obj/structure/machinery/computer/railgun.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/machinery/computer/railgun - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

railgun computer + + + +

+ + +

Vars

lockedComputer and Railgun can only be used if this variable is cleared
+

Var Details

locked + + + + +

+

Computer and Railgun can only be used if this variable is cleared

+ + + diff --git a/obj/structure/machinery/computer/shuttle_control.html b/obj/structure/machinery/computer/shuttle_control.html new file mode 100644 index 000000000000..6cccee4a9575 --- /dev/null +++ b/obj/structure/machinery/computer/shuttle_control.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/machinery/computer/shuttle_control - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

shuttle control console + + + +

+ + +

Vars

disabledHas it been admin-disabled?
+

Var Details

disabled + + + + +

+

Has it been admin-disabled?

+ + + diff --git a/obj/structure/machinery/computer/supplycomp.html b/obj/structure/machinery/computer/supplycomp.html new file mode 100644 index 000000000000..3a4e336e069a --- /dev/null +++ b/obj/structure/machinery/computer/supplycomp.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/machinery/computer/supplycomp - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

ASRS console + + + +

+ + +

Procs

is_buyableFor code readability.

Proc Details

is_buyable +

+

For code readability.

+ + + diff --git a/obj/structure/machinery/computer/working_joe.html b/obj/structure/machinery/computer/working_joe.html new file mode 100644 index 000000000000..2dffc61b9c71 --- /dev/null +++ b/obj/structure/machinery/computer/working_joe.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/machinery/computer/working_joe - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

APOLLO Maintenance Controller + + + +

+ + + + + +

Vars

last_loginThe last person to login.
link_idThe ID used to link all devices.
login_listA record of who logged in and when.
ticket_consoleIf this is used to create AI Core access tickets
+

Var Details

last_login + + + + +

+

The last person to login.

+

The ID used to link all devices.

login_list + + + + +

+

A record of who logged in and when.

ticket_console + + + + +

+

If this is used to create AI Core access tickets

+ + + diff --git a/obj/structure/machinery/defenses.html b/obj/structure/machinery/defenses.html new file mode 100644 index 000000000000..b4f98d2e5d54 --- /dev/null +++ b/obj/structure/machinery/defenses.html @@ -0,0 +1,65 @@ + + + + + + + /obj/structure/machinery/defenses - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Don't see this + + + +

+ + + + + +

Vars

linked_laptoplaptop which is currently linked to the sentry
nicknameDefence Laptop

Procs

handle_iffUpdate the IFF status of this structure. +@param selection: faction selection string.
update_choiceUpdate state category for this structure. +@param user: user who has initiated this change. +@param category: category of change. +@param selection: configuration value for category.
+

Var Details

linked_laptop + + + + +

+

laptop which is currently linked to the sentry

nickname + + + + +

+

Defence Laptop

Proc Details

handle_iff +

+

Update the IFF status of this structure. +@param selection: faction selection string.

update_choice +

+

Update state category for this structure. +@param user: user who has initiated this change. +@param category: category of change. +@param selection: configuration value for category.

+ + + diff --git a/obj/structure/machinery/defenses/sentry.html b/obj/structure/machinery/defenses/sentry.html new file mode 100644 index 000000000000..b7b10c898cc7 --- /dev/null +++ b/obj/structure/machinery/defenses/sentry.html @@ -0,0 +1,80 @@ + + + + + + + /obj/structure/machinery/defenses/sentry - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

UA 571-C sentry gun + + + +

+ + + + + + + + +

Vars

choice_categoriesaction list is configurable for all subtypes, this is just an example
engaged_timertimer triggered when sentry gun shoots at a target to not spam the laptop
low_ammo_timertimer triggered when sentry gun is low on ammo to not spam the laptop
luminosity_strengthLight strength when turned on
sent_empty_ammotimer triggered when sentry gun is out of ammo to not spam the laptop
upgradedCheck if they have been upgraded or not, used for sentry post

Procs

handle_rofUpdate the rate of fire in the sentry gun. +@param level: level of rate of fire, typically single, burst or full auto.
+

Var Details

choice_categories + + + + +

+

action list is configurable for all subtypes, this is just an example

engaged_timer + + + + +

+

timer triggered when sentry gun shoots at a target to not spam the laptop

low_ammo_timer + + + + +

+

timer triggered when sentry gun is low on ammo to not spam the laptop

luminosity_strength + + + + +

+

Light strength when turned on

sent_empty_ammo + + + + +

+

timer triggered when sentry gun is out of ammo to not spam the laptop

upgraded + + + + +

+

Check if they have been upgraded or not, used for sentry post

Proc Details

handle_rof +

+

Update the rate of fire in the sentry gun. +@param level: level of rate of fire, typically single, burst or full auto.

+ + + diff --git a/obj/structure/machinery/defenses/sentry/launchable.html b/obj/structure/machinery/defenses/sentry/launchable.html new file mode 100644 index 000000000000..daf234445527 --- /dev/null +++ b/obj/structure/machinery/defenses/sentry/launchable.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/machinery/defenses/sentry/launchable - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

UA 571-O sentry post + + + +

+ + + +

Vars

health_upgradeAmount of bonus health they get from upgrade
upgrade_costCost to give sentry extra health
+

Var Details

health_upgrade + + + + +

+

Amount of bonus health they get from upgrade

upgrade_cost + + + + +

+

Cost to give sentry extra health

+ + + diff --git a/obj/structure/machinery/disposal.html b/obj/structure/machinery/disposal.html new file mode 100644 index 000000000000..2ed71298ab12 --- /dev/null +++ b/obj/structure/machinery/disposal.html @@ -0,0 +1,176 @@ + + + + + + + /obj/structure/machinery/disposal - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

disposal unit + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

active_power_usageThe pneumatic pump power. 3 HP ~ 2200W
brokenUsed for cosmetic broken disposal units.
flushTrue if flush handle is pulled
flush_after_ticksAfter 10 ticks it will look whether it is ready to flush
flush_countThis var adds 1 once per tick. When it reaches flush_after_ticks it resets and tries to flush.
flushingTrue if flushing in progress
modeItem mode 0=off 1=charging 2=charged
trunkThe attached pipe trunk

Procs

InitializeCreate a new disposal, find the attached trunk (if present) and init gas resvr.
MouseDrop_TMouse drop another mob or self
attack_handHuman interact with machine
attackbyAttack by item places it in to disposal
ejectEject the contents of the disposal unit
ex_actPipe affected by explosion
expelCalled when holder is expelled from a disposal, should usually only occur if the pipe network is modified
flushPerform a flush
go_outLeave the disposal
power_changeCalled when area power changes
processTimed process, charge the gas reservoir and perform flush if ready
relaymoveAttempt to move while inside
updateUpdate the icon & overlays to reflect mode & status
+

Var Details

active_power_usage + + + + +

+

The pneumatic pump power. 3 HP ~ 2200W

broken + + + + +

+

Used for cosmetic broken disposal units.

flush + + + + +

+

True if flush handle is pulled

flush_after_ticks + + + + +

+

After 10 ticks it will look whether it is ready to flush

flush_count + + + + +

+

This var adds 1 once per tick. When it reaches flush_after_ticks it resets and tries to flush.

flushing + + + + +

+

True if flushing in progress

mode + + + + +

+

Item mode 0=off 1=charging 2=charged

trunk + + + + +

+

The attached pipe trunk

Proc Details

Initialize +

+

Create a new disposal, find the attached trunk (if present) and init gas resvr.

MouseDrop_T +

+

Mouse drop another mob or self

attack_hand +

+

Human interact with machine

attackby +

+

Attack by item places it in to disposal

eject +

+

Eject the contents of the disposal unit

ex_act +

+

Pipe affected by explosion

expel +

+

Called when holder is expelled from a disposal, should usually only occur if the pipe network is modified

flush +

+

Perform a flush

go_out +

+

Leave the disposal

power_change +

+

Called when area power changes

process +

+

Timed process, charge the gas reservoir and perform flush if ready

relaymove +

+

Attempt to move while inside

update +

+

Update the icon & overlays to reflect mode & status

+ + + diff --git a/obj/structure/machinery/door.html b/obj/structure/machinery/door.html new file mode 100644 index 000000000000..bb33ecb795af --- /dev/null +++ b/obj/structure/machinery/door.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/machinery/door - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

Door + + + +

+ + + +

Vars

heavyStops it being forced open through normal means (Hunters/Zombies/Aliens).
masterkey_resistResistance to masterkey
+

Var Details

heavy + + + + +

+

Stops it being forced open through normal means (Hunters/Zombies/Aliens).

masterkey_resist + + + + +

+

Resistance to masterkey

+ + + diff --git a/obj/structure/machinery/door/airlock.html b/obj/structure/machinery/door/airlock.html new file mode 100644 index 000000000000..b3c1e148c716 --- /dev/null +++ b/obj/structure/machinery/door/airlock.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/machinery/door/airlock - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

airlock + + + +

+ + +

Procs

get_examine_textDAMAGE CODE

Proc Details

get_examine_text +

+

DAMAGE CODE

+ + + diff --git a/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/blastdoor.html b/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/blastdoor.html new file mode 100644 index 000000000000..66a37ba60db3 --- /dev/null +++ b/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/blastdoor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/blastdoor - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

bulkhead blast door + + + +

+ +

External airlock that is part of the lifeboat dock

+

Vars

linked_dockID of the related stationary docking port operating this
+

Var Details

linked_dock + + + + +

+

ID of the related stationary docking port operating this

+ + + diff --git a/obj/structure/machinery/door/airlock/sandstone/runed.html b/obj/structure/machinery/door/airlock/sandstone/runed.html new file mode 100644 index 000000000000..341e34b31306 --- /dev/null +++ b/obj/structure/machinery/door/airlock/sandstone/runed.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/machinery/door/airlock/sandstone/runed - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Runed Sandstone Airlock + + + +

+ + +

Procs

bumpopenStops the door being interacted with, without wristblades.

Proc Details

bumpopen +

+

Stops the door being interacted with, without wristblades.

+ + + diff --git a/obj/structure/machinery/faxmachine.html b/obj/structure/machinery/faxmachine.html new file mode 100644 index 000000000000..b3c965fe2086 --- /dev/null +++ b/obj/structure/machinery/faxmachine.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/machinery/faxmachine - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

General Purpose Fax Machine + + + +

+ + + + + +

Vars

departmentOur department
fax_cooldownstorer var for cooldown on sending faxes
networkFluff network shown by fax machine when logged in
target_departmentTarget department
+

Var Details

department + + + + +

+

Our department

fax_cooldown + + + + +

+

storer var for cooldown on sending faxes

network + + + + +

+

Fluff network shown by fax machine when logged in

target_department + + + + +

+

Target department

+ + + diff --git a/obj/structure/machinery/gibber.html b/obj/structure/machinery/gibber.html new file mode 100644 index 000000000000..fbe3ae797131 --- /dev/null +++ b/obj/structure/machinery/gibber.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/machinery/gibber - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Gibber + + + +

+ + +

Procs

ejectIf someone's being LRP and doing funny chef shit, this lets admins know. This shouldn't flag preds, though.

Proc Details

eject +

+

If someone's being LRP and doing funny chef shit, this lets admins know. This shouldn't flag preds, though.

+ + + diff --git a/obj/structure/machinery/keycard_auth/lockdown.html b/obj/structure/machinery/keycard_auth/lockdown.html new file mode 100644 index 000000000000..95969b897502 --- /dev/null +++ b/obj/structure/machinery/keycard_auth/lockdown.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/machinery/keycard_auth/lockdown - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

automated lockdown override + + + +

+ + +

Procs

broadcast_requestWe are the SECOND keycard device used (our event_source has already been set)

Proc Details

broadcast_request +

+

We are the SECOND keycard device used (our event_source has already been set)

+ + + diff --git a/obj/structure/machinery/medical_pod.html b/obj/structure/machinery/medical_pod.html new file mode 100644 index 000000000000..c6c35376309e --- /dev/null +++ b/obj/structure/machinery/medical_pod.html @@ -0,0 +1,85 @@ + + + + + + + /obj/structure/machinery/medical_pod - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

generic medical pod + + + +

+ + + + + + + + + +

Vars

entry_timerdo_after on entry via the move_inside verb
exit_stunstun on exiting, IN SECONDS BY DEFAULT, DO NOT PUT "SECONDS" AFTER IT
go_in_timerdo_after on entry via the go_in proc
occupantthe person in the pod
push_in_timerdo_after on entry via being put in by another person
skilllocksurgical skill lock on putting people in

Procs

go_inthe putter is the guy putting the person in the pod
go_outwho is doing the work of putting/going in the scanner
+

Var Details

entry_timer + + + + +

+

do_after on entry via the move_inside verb

exit_stun + + + + +

+

stun on exiting, IN SECONDS BY DEFAULT, DO NOT PUT "SECONDS" AFTER IT

go_in_timer + + + + +

+

do_after on entry via the go_in proc

occupant + + + + +

+

the person in the pod

push_in_timer + + + + +

+

do_after on entry via being put in by another person

skilllock + + + + +

+

surgical skill lock on putting people in

Proc Details

go_in +

+

the putter is the guy putting the person in the pod

go_out +

+

who is doing the work of putting/going in the scanner

+ + + diff --git a/obj/structure/machinery/newscaster.html b/obj/structure/machinery/newscaster.html new file mode 100644 index 000000000000..742407b4620b --- /dev/null +++ b/obj/structure/machinery/newscaster.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/machinery/newscaster - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

newscaster + + + +

+ + + +

Procs

newsAlertobj/structure/machinery/newscaster/process() //Was thinking of doing the icon update through process, but multiple iterations per second does not
scan_userhelper procs

Proc Details

newsAlert +

+

obj/structure/machinery/newscaster/process() //Was thinking of doing the icon update through process, but multiple iterations per second does not

scan_user +

+

helper procs

+ + + diff --git a/obj/structure/machinery/pipedispenser.html b/obj/structure/machinery/pipedispenser.html new file mode 100644 index 000000000000..99da37bd7d96 --- /dev/null +++ b/obj/structure/machinery/pipedispenser.html @@ -0,0 +1,37 @@ + + + + + + + /obj/structure/machinery/pipedispenser - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Pipe Dispenser + + + +

+ + +

Procs

TopicZ-Level stuff +Z-Level stuff

Proc Details

Topic +

+

Z-Level stuff +Z-Level stuff

+ + + diff --git a/obj/structure/machinery/pipedispenser/disposal.html b/obj/structure/machinery/pipedispenser/disposal.html new file mode 100644 index 000000000000..598ae451c998 --- /dev/null +++ b/obj/structure/machinery/pipedispenser/disposal.html @@ -0,0 +1,37 @@ + + + + + + + /obj/structure/machinery/pipedispenser/disposal - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

Disposal Pipe Dispenser + + + +

+ + +

Procs

TopicZ-Level stuff +Z-Level stuff

Proc Details

Topic +

+

Z-Level stuff +Z-Level stuff

+ + + diff --git a/obj/structure/machinery/power.html b/obj/structure/machinery/power.html new file mode 100644 index 000000000000..1f4575c1f825 --- /dev/null +++ b/obj/structure/machinery/power.html @@ -0,0 +1,37 @@ + + + + + + + /obj/structure/machinery/power - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/obj/structure/machinery/power + + + +

+ + +

Procs

get_connectionsZ-Level Stuff +Z-Level Stuff

Proc Details

get_connections +

+

Z-Level Stuff +Z-Level Stuff

+ + + diff --git a/obj/structure/machinery/prop/almayer/CICmap.html b/obj/structure/machinery/prop/almayer/CICmap.html new file mode 100644 index 000000000000..70d2ebd5c214 --- /dev/null +++ b/obj/structure/machinery/prop/almayer/CICmap.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/machinery/prop/almayer/CICmap - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

map table + + + +

+ + +

Vars

mapflags that we want to be shown when you interact with this table
+

Var Details

map + + + + +

+

flags that we want to be shown when you interact with this table

+ + + diff --git a/obj/structure/machinery/sensortower.html b/obj/structure/machinery/sensortower.html new file mode 100644 index 000000000000..02b2b8f4d925 --- /dev/null +++ b/obj/structure/machinery/sensortower.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/machinery/sensortower - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

experimental sensor tower + + + +

+ + +

Vars

minimap_addedweakrefs of xenos temporarily added to the marine minimap
+

Var Details

minimap_added + + + + +

+

weakrefs of xenos temporarily added to the marine minimap

+ + + diff --git a/obj/structure/machinery/vending.html b/obj/structure/machinery/vending.html new file mode 100644 index 000000000000..76695807a43e --- /dev/null +++ b/obj/structure/machinery/vending.html @@ -0,0 +1,169 @@ + + + + + + + /obj/structure/machinery/vending - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

Vendomat + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

activeif false, the vendor will not send sales pitches
check_accountsif true, checks the relevant account has enough money before vending
delay_product_spawnif set, uses sleep() in product spawn proc (mostly for seeds to retrieve correct names).
extended_inventorycan we access the hidden inventory?
hacking_safetyif true, will never shoot inventory or allow all access
icon_denyicon_state when failing to vend
icon_vendicon_state when vending
last_sloganwhen did we last pitch?
panel_openif the vendor is currently being hacked
product_adsstring of small ad messages in the vending screen - random chance
product_slogansstring of slogans separated by semicolons, optional
product_typeUsed to increase prices of a specific type of vendor.
seconds_electrifiedshock customers like an airlock.
shoot_inventoryfire items at customers! We're broken!
shut_upstop spouting those godawful pitches!
slogan_delayhow long until we can pitch again?
vend_delaytime delay between items can be vended
vend_readyif the vendor can vend an item
vend_replysent after vending an item

Procs

checking_idReturns TRUE if this vending machine is scanning for IDs.
+

Var Details

active + + + + +

+

if false, the vendor will not send sales pitches

check_accounts + + + + +

+

if true, checks the relevant account has enough money before vending

delay_product_spawn + + + + +

+

if set, uses sleep() in product spawn proc (mostly for seeds to retrieve correct names).

extended_inventory + + + + +

+

can we access the hidden inventory?

hacking_safety + + + + +

+

if true, will never shoot inventory or allow all access

icon_deny + + + + +

+

icon_state when failing to vend

icon_vend + + + + +

+

icon_state when vending

last_slogan + + + + +

+

when did we last pitch?

panel_open + + + + +

+

if the vendor is currently being hacked

product_ads + + + + +

+

string of small ad messages in the vending screen - random chance

product_slogans + + + + +

+

string of slogans separated by semicolons, optional

product_type + + + + +

+

Used to increase prices of a specific type of vendor.

seconds_electrified + + + + +

+

shock customers like an airlock.

shoot_inventory + + + + +

+

fire items at customers! We're broken!

shut_up + + + + +

+

stop spouting those godawful pitches!

slogan_delay + + + + +

+

how long until we can pitch again?

vend_delay + + + + +

+

time delay between items can be vended

vend_ready + + + + +

+

if the vendor can vend an item

vend_reply + + + + +

+

sent after vending an item

Proc Details

checking_id +

+

Returns TRUE if this vending machine is scanning for IDs.

+ + + diff --git a/obj/structure/mortar.html b/obj/structure/mortar.html new file mode 100644 index 000000000000..0a32d1c92b37 --- /dev/null +++ b/obj/structure/mortar.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/mortar - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

M402 mortar + + + +

+ + + + + +

Vars

firingUsed for deconstruction and aiming sanity
fixedIf set to 1, can't unanchor and move the mortar, used for map spawns and WO
offset_per_turfsNumber of turfs to offset from target by 1
travel_timeConstant, assuming perfect parabolic trajectory. ONLY THE DELAY BEFORE INCOMING WARNING WHICH ADDS 45 TICKS
+

Var Details

firing + + + + +

+

Used for deconstruction and aiming sanity

fixed + + + + +

+

If set to 1, can't unanchor and move the mortar, used for map spawns and WO

offset_per_turfs + + + + +

+

Number of turfs to offset from target by 1

travel_time + + + + +

+

Constant, assuming perfect parabolic trajectory. ONLY THE DELAY BEFORE INCOMING WARNING WHICH ADDS 45 TICKS

+ + + diff --git a/obj/structure/ob_ammo/warhead.html b/obj/structure/ob_ammo/warhead.html new file mode 100644 index 000000000000..4a44cc153420 --- /dev/null +++ b/obj/structure/ob_ammo/warhead.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/ob_ammo/warhead - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

theoretical orbital ammo + + + +

+ + +

Procs

handle_ob_shakeproc designed for handling ob camera shakes, takes the target location as input and calculates camera shake based off user location.

Proc Details

handle_ob_shake +

+

proc designed for handling ob camera shakes, takes the target location as input and calculates camera shake based off user location.

+ + + diff --git a/obj/structure/pipes.html b/obj/structure/pipes.html new file mode 100644 index 000000000000..b6d9a99ae1ea --- /dev/null +++ b/obj/structure/pipes.html @@ -0,0 +1,59 @@ + + + + + + + /obj/structure/pipes - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/obj/structure/pipes + + + +

+ + + + + +

Vars

explodeyWhether or not the pipe will explode (when on the Almayer) during hijack
exploding_typesThe grenade subtypes that pipes will use when they explode

Procs

kablooieMakes the pipe go boom.
warning_explodeMakes a warning telegraph appear and, after a certain duration, explodes.
+

Var Details

explodey + + + + +

+

Whether or not the pipe will explode (when on the Almayer) during hijack

exploding_types + + + + +

+

The grenade subtypes that pipes will use when they explode

Proc Details

kablooie +

+

Makes the pipe go boom.

warning_explode +

+

Makes a warning telegraph appear and, after a certain duration, explodes.

+

Params: +time_till: required, the time until the explosion occurs. The sound file lasts 5 seconds.

+ + + diff --git a/obj/structure/prop/wooden_cross.html b/obj/structure/prop/wooden_cross.html new file mode 100644 index 000000000000..ffea80973f0a --- /dev/null +++ b/obj/structure/prop/wooden_cross.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/prop/wooden_cross - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

wooden cross + + + +

+ + + +

Vars

engravedThis is for cross engraving/writing.
taggedThis is for cross dogtags.
+

Var Details

engraved + + + + +

+

This is for cross engraving/writing.

tagged + + + + +

+

This is for cross dogtags.

+ + + diff --git a/obj/structure/ship_ammo.html b/obj/structure/ship_ammo.html new file mode 100644 index 000000000000..2d5944cb8032 --- /dev/null +++ b/obj/structure/ship_ammo.html @@ -0,0 +1,127 @@ + + + + + + + /obj/structure/ship_ammo - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/obj/structure/ship_ammo + + + +

+ +

Dropship weaponry ammunition

+ + + + + + + + + + + + + +

Vars

accuracy_rangeHow many tiles the ammo can deviate from the laser target
ammo_countAmmunition count remaining
ammo_nameWhat to call the ammo in the ammo transfering message
ammo_used_per_firingAmmunition expended each time this is fired
equipment_typeType of equipment that accept this type of ammo.
fire_mission_delayDelay between firing steps
max_ammo_countMaximal ammunition count
max_inaccuracyMaximum deviation allowed when the ammo is not longer guided by a laser
point_costCost to build in the fabricator, zero means unbuildable
source_mobMob that fired this ammunition (the pilot pressing the trigger)
transferable_ammoWhether the ammo inside this magazine can be transfered to another magazine.
travelling_timeTime to impact in deciseconds
warning_soundSound played mere seconds before impact
warning_sound_volumeVolume of the sound played before impact
+

Var Details

accuracy_range + + + + +

+

How many tiles the ammo can deviate from the laser target

ammo_count + + + + +

+

Ammunition count remaining

ammo_name + + + + +

+

What to call the ammo in the ammo transfering message

ammo_used_per_firing + + + + +

+

Ammunition expended each time this is fired

equipment_type + + + + +

+

Type of equipment that accept this type of ammo.

fire_mission_delay + + + + +

+

Delay between firing steps

max_ammo_count + + + + +

+

Maximal ammunition count

max_inaccuracy + + + + +

+

Maximum deviation allowed when the ammo is not longer guided by a laser

point_cost + + + + +

+

Cost to build in the fabricator, zero means unbuildable

source_mob + + + + +

+

Mob that fired this ammunition (the pilot pressing the trigger)

transferable_ammo + + + + +

+

Whether the ammo inside this magazine can be transfered to another magazine.

travelling_time + + + + +

+

Time to impact in deciseconds

warning_sound + + + + +

+

Sound played mere seconds before impact

warning_sound_volume + + + + +

+

Volume of the sound played before impact

+ + + diff --git a/obj/structure/ship_ammo/sentry.html b/obj/structure/ship_ammo/sentry.html new file mode 100644 index 000000000000..cf97ee78bcc4 --- /dev/null +++ b/obj/structure/ship_ammo/sentry.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/ship_ammo/sentry - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

multi-purpose area denial sentry + + + +

+ + +

Vars

breakeable_structuresSpecial structures it needs to break with drop pod
+

Var Details

breakeable_structures + + + + +

+

Special structures it needs to break with drop pod

+ + + diff --git a/obj/structure/surface/table.html b/obj/structure/surface/table.html new file mode 100644 index 000000000000..6e514910e329 --- /dev/null +++ b/obj/structure/surface/table.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/surface/table - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

table + + + +

+ + + +

Procs

flipFlip a table along a certain direction. By default checks whether table is flippable along axis perpendicular to flip direction.
straight_table_checkChecks whether a table is a straight line along a given axis

Proc Details

flip +

+

Flip a table along a certain direction. By default checks whether table is flippable along axis perpendicular to flip direction.

straight_table_check +

+

Checks whether a table is a straight line along a given axis

+ + + diff --git a/obj/structure/tent.html b/obj/structure/tent.html new file mode 100644 index 000000000000..c7ec22e12423 --- /dev/null +++ b/obj/structure/tent.html @@ -0,0 +1,65 @@ + + + + + + + /obj/structure/tent - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

tent + + + +

+ +

Structures serving as landmarks and providing a buff to its users. +A notable code feature is that they use a separate roof image that phases out when you enter the tent.

+ + + + +

Vars

cold_protection_factorHow much cold protection to add to entering humans - Full body clothing means complete (1) protection
roof_imageRoof image displayed on the roof plane
roof_stateRoof display icon_state or null to disable
x_dimTurf dimensions along the X axis, beginning from left, at ground level
y_dimTurf dimensions along the Y axis, beginning from bottom, at ground level
+

Var Details

cold_protection_factor + + + + +

+

How much cold protection to add to entering humans - Full body clothing means complete (1) protection

roof_image + + + + +

+

Roof image displayed on the roof plane

roof_state + + + + +

+

Roof display icon_state or null to disable

x_dim + + + + +

+

Turf dimensions along the X axis, beginning from left, at ground level

y_dim + + + + +

+

Turf dimensions along the Y axis, beginning from bottom, at ground level

+ + + diff --git a/obj/structure/window.html b/obj/structure/window.html new file mode 100644 index 000000000000..881f081c4800 --- /dev/null +++ b/obj/structure/window.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/window - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

window + + + +

+ + +

Procs

Initializefixes up layering on northern and southern windows, breaks fulltile windows, those shouldn't be used in the first place regardless.

Proc Details

Initialize +

+

fixes up layering on northern and southern windows, breaks fulltile windows, those shouldn't be used in the first place regardless.

+ + + diff --git a/obj/vehicle/multitile/apc/command.html b/obj/vehicle/multitile/apc/command.html new file mode 100644 index 000000000000..6b4937978e31 --- /dev/null +++ b/obj/vehicle/multitile/apc/command.html @@ -0,0 +1,36 @@ + + + + + + + /obj/vehicle/multitile/apc/command - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

M577-CMD Armored Personnel Carrier + + + +

+ + +

Vars

minimap_addedweakrefs of xenos temporarily added to the marine minimap
+

Var Details

minimap_added + + + + +

+

weakrefs of xenos temporarily added to the marine minimap

+ + + diff --git a/particles.html b/particles.html new file mode 100644 index 000000000000..9086fbcde3db --- /dev/null +++ b/particles.html @@ -0,0 +1,35 @@ + + + + + + + /particles - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

/particles + + + +

+ + +

Procs

return_ui_representationreturns ui_data values for the particle editor

Proc Details

return_ui_representation +

+

returns ui_data values for the particle editor

+ + + diff --git a/procpath.html b/procpath.html new file mode 100644 index 000000000000..a2db798eee5b --- /dev/null +++ b/procpath.html @@ -0,0 +1,73 @@ + + + + + + + /procpath - byond + + +
+ byond - + Modules - + Types + — Var Details
+
+

/procpath + + + +

+ +

Represents a proc or verb path.

+

Despite having no DM-defined static type, proc paths have some variables, +listed below. These are not modifiable, but for a given procpath P, +new P(null, "Name", "Desc") can be used to create a new procpath with the +same code but new name and desc values. The other variables cannot be +changed in this way.

+

This type exists only to act as an annotation, providing reasonable static +typing for procpaths. Previously, types like /atom/verb were used, with +the name and desc vars of /atom thus being accessible. Proc and verb +paths will fail istype and ispath checks against /procpath.

+ + + + +

Vars

categoryThe category or tab the verb will appear in.
descThe verb's help text or description.
hiddenWhether or not the verb appears in statpanel and commandbar when you press space
invisibilityOnly clients/mobs with see_invisibility higher can use the verb.
nameA text string of the verb's name.
+

Var Details

category + + + + +

+

The category or tab the verb will appear in.

desc + + + + +

+

The verb's help text or description.

hidden + + + + +

+

Whether or not the verb appears in statpanel and commandbar when you press space

invisibility + + + + +

+

Only clients/mobs with see_invisibility higher can use the verb.

name + + + + +

+

A text string of the verb's name.

+ + + diff --git a/turf.html b/turf.html new file mode 100644 index 000000000000..5f18bbf886a2 --- /dev/null +++ b/turf.html @@ -0,0 +1,64 @@ + + + + + + + /turf - byond + + +
+ byond - + Modules - + Types + — Var Details - Proc Details
+
+

/turf + + + +

+ + + + + +

Vars

ceiling_debrisedWhether we've broken through the ceiling yet
cleanablesAssociative list of cleanable types (strings) mapped to +cleanable objects

Procs

GetAllTurfStrictContentsReturns list of contents of a turf recursively, much like GetAllContents +We only get containing atoms in the turf, excluding multitiles bordering on it
emptyRemove all atoms except observers, landmarks, docking ports - clearing up the turf contents
+

Var Details

ceiling_debrised + + + + +

+

Whether we've broken through the ceiling yet

cleanables + + + + +

+

Associative list of cleanable types (strings) mapped to +cleanable objects

+

The cleanable object does not necessarily need to be +on the turf, it can simply be for handling how the +overlays or placing new cleanables of the same type work

Proc Details

GetAllTurfStrictContents +

+

Returns list of contents of a turf recursively, much like GetAllContents +We only get containing atoms in the turf, excluding multitiles bordering on it

empty +

+

Remove all atoms except observers, landmarks, docking ports - clearing up the turf contents

+ + + diff --git a/world.html b/world.html new file mode 100644 index 000000000000..dbf1ca1ddbb4 --- /dev/null +++ b/world.html @@ -0,0 +1,38 @@ + + + + + + + /world - byond + + +
+ byond - + Modules - + Types + — Proc Details
+
+

byond + + + +

+ + +

Procs

prof_init

Proc Details

prof_init +

+
    +
  • For initializing and starting byond-tracy when BYOND_TRACY is defined
  • +
  • byond-tracy is a useful profiling tool that allows the user to view the CPU usage and execution time of procs as they run.
  • +
+ + +